@mintplayer/ng-bootstrap 17.1.2 → 17.2.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 (491) hide show
  1. package/accordion/src/accordion.module.d.ts +1 -1
  2. package/alert/src/alert.module.d.ts +1 -2
  3. package/async-host-binding/src/index.d.ts +1 -1
  4. package/async-host-binding/src/provide-async-host-bindings.d.ts +2 -0
  5. package/badge/src/badge.component.d.ts +1 -1
  6. package/badge/src/index.d.ts +0 -1
  7. package/breadcrumb/src/breadcrumb.module.d.ts +1 -2
  8. package/button-group/src/button-group/button-group.component.d.ts +2 -5
  9. package/button-group/src/index.d.ts +0 -1
  10. package/button-type/src/button-type/button-type.directive.d.ts +1 -1
  11. package/button-type/src/index.d.ts +0 -1
  12. package/calendar/src/calendar.component.d.ts +1 -1
  13. package/calendar/src/index.d.ts +0 -1
  14. package/calendar-month/src/pipes/index.d.ts +2 -2
  15. package/calendar-month/src/pipes/month-name/month-name.pipe.d.ts +3 -3
  16. package/calendar-month/src/pipes/weekday-name/weekday-name.pipe.d.ts +3 -3
  17. package/carousel/src/carousel.module.d.ts +2 -3
  18. package/close/src/close.component.d.ts +1 -1
  19. package/close/src/index.d.ts +0 -1
  20. package/code-snippet/src/code-snippet.component.d.ts +1 -1
  21. package/code-snippet/src/index.d.ts +0 -1
  22. package/color-picker/color-picker.module.d.ts +1 -1
  23. package/container/src/container/container.component.d.ts +1 -1
  24. package/container/src/index.d.ts +0 -1
  25. package/context-menu/src/context-menu.module.d.ts +1 -1
  26. package/copy/src/copy.directive.d.ts +1 -1
  27. package/copy/src/index.d.ts +0 -1
  28. package/datatable/src/datatable.module.d.ts +1 -1
  29. package/datepicker/src/datepicker.component.d.ts +1 -1
  30. package/datepicker/src/index.d.ts +0 -1
  31. package/dock/src/dock.module.d.ts +1 -1
  32. package/dropdown/src/dropdown/dropdown.directive.d.ts +3 -3
  33. package/dropdown/src/dropdown.module.d.ts +1 -1
  34. package/dropdown-divider/src/dropdown-divider.directive.d.ts +1 -1
  35. package/dropdown-divider/src/index.d.ts +0 -1
  36. package/dropdown-menu/src/dropdown-menu.module.d.ts +1 -1
  37. package/enhanced-paste/src/directive/enhanced-paste.directive.d.ts +1 -1
  38. package/enhanced-paste/src/index.d.ts +0 -1
  39. package/esm2022/accordion/src/accordion.module.mjs +8 -9
  40. package/esm2022/alert/src/alert/alert.component.mjs +3 -4
  41. package/esm2022/alert/src/alert.module.mjs +3 -5
  42. package/esm2022/async-host-binding/src/index.mjs +2 -2
  43. package/esm2022/async-host-binding/src/provide-async-host-bindings.mjs +10 -0
  44. package/esm2022/badge/src/badge.component.mjs +4 -4
  45. package/esm2022/badge/src/index.mjs +1 -2
  46. package/esm2022/breadcrumb/src/breadcrumb.module.mjs +3 -5
  47. package/esm2022/button-group/src/button-group/button-group.component.mjs +4 -6
  48. package/esm2022/button-group/src/index.mjs +1 -2
  49. package/esm2022/button-type/src/button-type/button-type.directive.mjs +4 -3
  50. package/esm2022/button-type/src/index.mjs +1 -2
  51. package/esm2022/calendar/src/calendar.component.mjs +7 -8
  52. package/esm2022/calendar/src/index.mjs +1 -2
  53. package/esm2022/calendar-month/src/pipes/index.mjs +3 -3
  54. package/esm2022/calendar-month/src/pipes/month-name/month-name.pipe.mjs +7 -6
  55. package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.pipe.mjs +7 -6
  56. package/esm2022/carousel/src/carousel/carousel.component.mjs +4 -5
  57. package/esm2022/carousel/src/carousel.module.mjs +13 -18
  58. package/esm2022/close/src/close.component.mjs +3 -3
  59. package/esm2022/close/src/index.mjs +1 -2
  60. package/esm2022/code-snippet/src/code-snippet.component.mjs +8 -6
  61. package/esm2022/code-snippet/src/index.mjs +1 -2
  62. package/esm2022/color-picker/color-picker.module.mjs +8 -10
  63. package/esm2022/color-picker/components/color-picker/color-picker.component.mjs +8 -8
  64. package/esm2022/color-picker/components/color-wheel/color-wheel.component.mjs +3 -3
  65. package/esm2022/container/src/container/container.component.mjs +3 -3
  66. package/esm2022/container/src/index.mjs +1 -2
  67. package/esm2022/context-menu/src/context-menu.module.mjs +8 -8
  68. package/esm2022/copy/src/copy.directive.mjs +3 -2
  69. package/esm2022/copy/src/index.mjs +1 -2
  70. package/esm2022/datatable/src/datatable/datatable.component.mjs +3 -3
  71. package/esm2022/datatable/src/datatable.module.mjs +15 -14
  72. package/esm2022/datepicker/src/datepicker.component.mjs +10 -8
  73. package/esm2022/datepicker/src/index.mjs +1 -2
  74. package/esm2022/dock/src/dock/dock.component.mjs +5 -5
  75. package/esm2022/dock/src/dock-pane-renderer/dock-pane-renderer.component.mjs +9 -9
  76. package/esm2022/dock/src/dock.module.mjs +5 -6
  77. package/esm2022/dropdown/src/dropdown/dropdown.directive.mjs +5 -3
  78. package/esm2022/dropdown/src/dropdown.module.mjs +8 -10
  79. package/esm2022/dropdown-divider/src/dropdown-divider.directive.mjs +4 -3
  80. package/esm2022/dropdown-divider/src/index.mjs +1 -2
  81. package/esm2022/dropdown-menu/src/dropdown-menu.module.mjs +5 -5
  82. package/esm2022/enhanced-paste/src/directive/enhanced-paste.directive.mjs +4 -3
  83. package/esm2022/enhanced-paste/src/index.mjs +1 -2
  84. package/esm2022/file-upload/src/component/file-upload.component.mjs +6 -7
  85. package/esm2022/file-upload/src/file-upload.module.mjs +12 -19
  86. package/esm2022/file-upload/src/pipes/format-bytes/format-bytes.pipe.mjs +2 -2
  87. package/esm2022/floating-labels/src/floating-label/floating-label.component.mjs +20 -0
  88. package/esm2022/floating-labels/src/index.mjs +2 -3
  89. package/esm2022/font-color/index.mjs +1 -2
  90. package/esm2022/font-color/src/font-color.pipe.mjs +4 -3
  91. package/esm2022/for/src/for.directive.mjs +4 -3
  92. package/esm2022/for/src/index.mjs +1 -2
  93. package/esm2022/grid/src/grid.module.mjs +5 -5
  94. package/esm2022/has-overlay/src/has-overlay/has-overlay.component.mjs +3 -3
  95. package/esm2022/has-overlay/src/index.mjs +1 -2
  96. package/esm2022/has-property/src/has-property.pipe.mjs +6 -5
  97. package/esm2022/has-property/src/index.mjs +1 -2
  98. package/esm2022/in-list/index.mjs +1 -2
  99. package/esm2022/in-list/src/in-list.pipe.mjs +4 -3
  100. package/esm2022/input-group/src/index.mjs +1 -2
  101. package/esm2022/input-group/src/input-group/input-group.component.mjs +3 -3
  102. package/esm2022/let/directive/let.directive.mjs +4 -3
  103. package/esm2022/let/index.mjs +1 -2
  104. package/esm2022/linify/index.mjs +1 -2
  105. package/esm2022/linify/src/linify.pipe.mjs +3 -2
  106. package/esm2022/markdown/index.mjs +1 -2
  107. package/esm2022/markdown/src/bold/bold.pipe.mjs +4 -3
  108. package/esm2022/markdown/src/italic/italic.pipe.mjs +4 -3
  109. package/esm2022/markdown/src/strikethrough/strikethrough.pipe.mjs +4 -3
  110. package/esm2022/markdown/src/underline/underline.pipe.mjs +4 -3
  111. package/esm2022/marquee/index.mjs +1 -2
  112. package/esm2022/marquee/src/marquee/marquee.component.mjs +3 -3
  113. package/esm2022/modal/src/components/modal/modal.component.mjs +3 -3
  114. package/esm2022/modal/src/modal.module.mjs +9 -10
  115. package/esm2022/multiselect/src/component/multiselect.component.mjs +3 -8
  116. package/esm2022/multiselect/src/multiselect.module.mjs +15 -18
  117. package/esm2022/navbar/src/navbar.module.mjs +30 -33
  118. package/esm2022/navbar-toggler/src/index.mjs +1 -2
  119. package/esm2022/navbar-toggler/src/navbar-toggler/navbar-toggler.component.mjs +4 -4
  120. package/esm2022/no-noscript/src/index.mjs +1 -2
  121. package/esm2022/no-noscript/src/no-noscript/no-noscript.directive.mjs +4 -3
  122. package/esm2022/offcanvas/src/components/offcanvas/offcanvas.component.mjs +3 -3
  123. package/esm2022/offcanvas/src/offcanvas.module.mjs +11 -10
  124. package/esm2022/ordinal-number/src/index.mjs +1 -2
  125. package/esm2022/ordinal-number/src/ordinal-number/ordinal-number.pipe.mjs +4 -3
  126. package/esm2022/pagination/src/component/pagination/pagination.component.mjs +4 -5
  127. package/esm2022/pagination/src/index.mjs +1 -2
  128. package/esm2022/playlist-toggler/src/index.mjs +1 -2
  129. package/esm2022/playlist-toggler/src/playlist-toggler/playlist-toggler.component.mjs +4 -4
  130. package/esm2022/popover/src/component/popover.component.mjs +3 -3
  131. package/esm2022/popover/src/popover.module.mjs +6 -6
  132. package/esm2022/progress-bar/src/progress/progress.component.mjs +3 -4
  133. package/esm2022/rating/src/component/rating.component.mjs +4 -4
  134. package/esm2022/rating/src/index.mjs +1 -2
  135. package/esm2022/scheduler/src/components/resource-group-presenter/resource-group-presenter.component.mjs +3 -3
  136. package/esm2022/scheduler/src/components/scheduler/scheduler.component.mjs +5 -5
  137. package/esm2022/scrollspy/src/component/scrollspy.component.mjs +3 -4
  138. package/esm2022/scrollspy/src/scrollspy.module.mjs +4 -7
  139. package/esm2022/searchbox/src/searchbox/searchbox.component.mjs +5 -5
  140. package/esm2022/searchbox/src/searchbox.module.mjs +21 -23
  141. package/esm2022/select2/src/component/select2.component.mjs +3 -3
  142. package/esm2022/select2/src/select2.module.mjs +12 -14
  143. package/esm2022/signature-pad/src/component/signature-pad.component.mjs +3 -3
  144. package/esm2022/signature-pad/src/index.mjs +1 -2
  145. package/esm2022/slugify/index.mjs +1 -2
  146. package/esm2022/slugify/src/slugify.pipe.mjs +4 -3
  147. package/esm2022/spinner/src/index.mjs +1 -2
  148. package/esm2022/spinner/src/spinner.component.mjs +4 -4
  149. package/esm2022/split-string/index.mjs +1 -2
  150. package/esm2022/split-string/src/split-string.pipe.mjs +4 -3
  151. package/esm2022/splitter/src/splitter/splitter.component.mjs +7 -7
  152. package/esm2022/splitter/src/splitter.module.mjs +7 -7
  153. package/esm2022/tab-control/src/tab-control/tab-control.component.mjs +4 -4
  154. package/esm2022/tab-control/src/tab-control.module.mjs +13 -14
  155. package/esm2022/table/src/component/table.component.mjs +4 -4
  156. package/esm2022/table/src/index.mjs +1 -2
  157. package/esm2022/timepicker/src/index.mjs +1 -2
  158. package/esm2022/timepicker/src/timepicker.component.mjs +17 -12
  159. package/esm2022/toast/src/components/toast-container/toast-container.component.mjs +3 -3
  160. package/esm2022/toast/src/toast.module.mjs +11 -10
  161. package/esm2022/tooltip/src/tooltip.module.mjs +5 -5
  162. package/esm2022/trust-html/index.mjs +1 -2
  163. package/esm2022/trust-html/src/trust-html.pipe.mjs +4 -3
  164. package/esm2022/typeahead/src/index.mjs +1 -2
  165. package/esm2022/typeahead/src/typeahead.component.mjs +16 -10
  166. package/esm2022/uc-first/index.mjs +1 -2
  167. package/esm2022/uc-first/src/uc-first.pipe.mjs +4 -3
  168. package/esm2022/user-agent/src/directive/user-agent.directive.mjs +4 -3
  169. package/esm2022/user-agent/src/index.mjs +1 -2
  170. package/esm2022/word-count/index.mjs +1 -2
  171. package/esm2022/word-count/src/word-count.pipe.mjs +4 -3
  172. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +8 -9
  173. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
  174. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs +4 -7
  175. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs.map +1 -1
  176. package/fesm2022/mintplayer-ng-bootstrap-async-host-binding.mjs +7 -29
  177. package/fesm2022/mintplayer-ng-bootstrap-async-host-binding.mjs.map +1 -1
  178. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs +5 -20
  179. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs.map +1 -1
  180. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs +2 -4
  181. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs.map +1 -1
  182. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs +4 -21
  183. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs.map +1 -1
  184. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs +5 -25
  185. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs.map +1 -1
  186. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs +14 -53
  187. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs.map +1 -1
  188. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +9 -49
  189. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
  190. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +15 -21
  191. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
  192. package/fesm2022/mintplayer-ng-bootstrap-close.mjs +4 -19
  193. package/fesm2022/mintplayer-ng-bootstrap-close.mjs.map +1 -1
  194. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +7 -38
  195. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs.map +1 -1
  196. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +13 -15
  197. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
  198. package/fesm2022/mintplayer-ng-bootstrap-container.mjs +4 -19
  199. package/fesm2022/mintplayer-ng-bootstrap-container.mjs.map +1 -1
  200. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs +7 -7
  201. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs.map +1 -1
  202. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs +5 -24
  203. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs.map +1 -1
  204. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +16 -15
  205. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
  206. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +10 -45
  207. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs.map +1 -1
  208. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +14 -15
  209. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
  210. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs +5 -19
  211. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs.map +1 -1
  212. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +4 -4
  213. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
  214. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +10 -10
  215. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
  216. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs +5 -25
  217. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
  218. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +16 -24
  219. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
  220. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs +4 -19
  221. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs.map +1 -1
  222. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs +5 -25
  223. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs.map +1 -1
  224. package/fesm2022/mintplayer-ng-bootstrap-for.mjs +5 -25
  225. package/fesm2022/mintplayer-ng-bootstrap-for.mjs.map +1 -1
  226. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs +4 -4
  227. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs.map +1 -1
  228. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs +4 -19
  229. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs.map +1 -1
  230. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs +7 -21
  231. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs.map +1 -1
  232. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs +5 -25
  233. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs.map +1 -1
  234. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs +4 -19
  235. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs.map +1 -1
  236. package/fesm2022/mintplayer-ng-bootstrap-let.mjs +5 -25
  237. package/fesm2022/mintplayer-ng-bootstrap-let.mjs.map +1 -1
  238. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs +4 -18
  239. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs.map +1 -1
  240. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs +28 -57
  241. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs.map +1 -1
  242. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs +4 -19
  243. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs.map +1 -1
  244. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +10 -11
  245. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
  246. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +16 -24
  247. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
  248. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs +5 -20
  249. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs.map +1 -1
  250. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +29 -32
  251. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
  252. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs +6 -19
  253. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs.map +1 -1
  254. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +12 -11
  255. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
  256. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs +5 -25
  257. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs.map +1 -1
  258. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +5 -31
  259. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
  260. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs +5 -20
  261. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs.map +1 -1
  262. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +7 -7
  263. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs.map +1 -1
  264. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +2 -3
  265. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs.map +1 -1
  266. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +5 -26
  267. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs.map +1 -1
  268. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +5 -5
  269. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
  270. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +6 -9
  271. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
  272. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +24 -26
  273. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
  274. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +13 -15
  275. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
  276. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +4 -19
  277. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs.map +1 -1
  278. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs +5 -19
  279. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs.map +1 -1
  280. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs +5 -20
  281. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs.map +1 -1
  282. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs +5 -19
  283. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs.map +1 -1
  284. package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs +12 -12
  285. package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs.map +1 -1
  286. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +15 -16
  287. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
  288. package/fesm2022/mintplayer-ng-bootstrap-table.mjs +5 -20
  289. package/fesm2022/mintplayer-ng-bootstrap-table.mjs.map +1 -1
  290. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +16 -64
  291. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
  292. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +12 -11
  293. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
  294. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +4 -4
  295. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs.map +1 -1
  296. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs +5 -19
  297. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs.map +1 -1
  298. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +14 -53
  299. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
  300. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs +5 -25
  301. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs.map +1 -1
  302. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs +6 -25
  303. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs.map +1 -1
  304. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs +5 -19
  305. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs.map +1 -1
  306. package/file-upload/src/file-upload.module.d.ts +4 -5
  307. package/floating-labels/src/{floating-labels/floating-label → floating-label}/floating-label.component.d.ts +1 -1
  308. package/floating-labels/src/index.d.ts +1 -2
  309. package/font-color/index.d.ts +0 -1
  310. package/font-color/src/font-color.pipe.d.ts +1 -1
  311. package/for/src/for.directive.d.ts +1 -1
  312. package/for/src/index.d.ts +0 -1
  313. package/grid/src/grid.module.d.ts +1 -1
  314. package/has-overlay/src/has-overlay/has-overlay.component.d.ts +1 -1
  315. package/has-overlay/src/index.d.ts +0 -1
  316. package/has-property/src/has-property.pipe.d.ts +3 -3
  317. package/has-property/src/index.d.ts +0 -1
  318. package/in-list/index.d.ts +0 -1
  319. package/in-list/src/in-list.pipe.d.ts +1 -1
  320. package/input-group/src/index.d.ts +0 -1
  321. package/input-group/src/input-group/input-group.component.d.ts +1 -1
  322. package/let/directive/let.directive.d.ts +1 -1
  323. package/let/index.d.ts +0 -1
  324. package/linify/index.d.ts +0 -1
  325. package/linify/src/linify.pipe.d.ts +1 -1
  326. package/markdown/index.d.ts +0 -1
  327. package/markdown/src/bold/bold.pipe.d.ts +1 -1
  328. package/markdown/src/italic/italic.pipe.d.ts +1 -1
  329. package/markdown/src/strikethrough/strikethrough.pipe.d.ts +1 -1
  330. package/markdown/src/underline/underline.pipe.d.ts +1 -1
  331. package/marquee/index.d.ts +0 -1
  332. package/marquee/src/marquee/marquee.component.d.ts +1 -1
  333. package/modal/src/modal.module.d.ts +1 -1
  334. package/multiselect/src/component/multiselect.component.d.ts +2 -4
  335. package/multiselect/src/multiselect.module.d.ts +1 -1
  336. package/navbar/src/navbar.module.d.ts +1 -1
  337. package/navbar-toggler/src/index.d.ts +0 -1
  338. package/navbar-toggler/src/navbar-toggler/navbar-toggler.component.d.ts +1 -1
  339. package/no-noscript/src/index.d.ts +0 -1
  340. package/no-noscript/src/no-noscript/no-noscript.directive.d.ts +1 -1
  341. package/offcanvas/src/offcanvas.module.d.ts +1 -1
  342. package/ordinal-number/src/index.d.ts +0 -1
  343. package/ordinal-number/src/ordinal-number/ordinal-number.pipe.d.ts +1 -1
  344. package/package.json +1 -13
  345. package/pagination/src/component/pagination/pagination.component.d.ts +1 -1
  346. package/pagination/src/index.d.ts +0 -1
  347. package/playlist-toggler/src/index.d.ts +0 -1
  348. package/playlist-toggler/src/playlist-toggler/playlist-toggler.component.d.ts +1 -1
  349. package/popover/src/popover.module.d.ts +1 -1
  350. package/rating/src/component/rating.component.d.ts +1 -1
  351. package/rating/src/index.d.ts +0 -1
  352. package/scrollspy/src/scrollspy.module.d.ts +1 -2
  353. package/searchbox/src/searchbox.module.d.ts +3 -3
  354. package/select2/src/select2.module.d.ts +1 -1
  355. package/signature-pad/src/component/signature-pad.component.d.ts +1 -1
  356. package/signature-pad/src/index.d.ts +0 -1
  357. package/slugify/index.d.ts +0 -1
  358. package/slugify/src/slugify.pipe.d.ts +1 -1
  359. package/spinner/src/index.d.ts +0 -1
  360. package/spinner/src/spinner.component.d.ts +1 -1
  361. package/split-string/index.d.ts +0 -1
  362. package/split-string/src/split-string.pipe.d.ts +1 -1
  363. package/splitter/src/splitter.module.d.ts +1 -1
  364. package/tab-control/src/tab-control.module.d.ts +1 -1
  365. package/table/src/component/table.component.d.ts +1 -1
  366. package/table/src/index.d.ts +0 -1
  367. package/timepicker/src/index.d.ts +0 -1
  368. package/timepicker/src/timepicker.component.d.ts +1 -1
  369. package/toast/src/toast.module.d.ts +1 -1
  370. package/tooltip/src/tooltip.module.d.ts +1 -1
  371. package/trust-html/index.d.ts +0 -1
  372. package/trust-html/src/trust-html.pipe.d.ts +1 -1
  373. package/typeahead/src/index.d.ts +0 -1
  374. package/typeahead/src/typeahead.component.d.ts +1 -1
  375. package/uc-first/index.d.ts +0 -1
  376. package/uc-first/src/uc-first.pipe.d.ts +1 -1
  377. package/user-agent/src/directive/user-agent.directive.d.ts +1 -1
  378. package/user-agent/src/index.d.ts +0 -1
  379. package/word-count/index.d.ts +0 -1
  380. package/word-count/src/word-count.pipe.d.ts +1 -1
  381. package/async-host-binding/src/async-host-binding.module.d.ts +0 -7
  382. package/badge/src/badge.module.d.ts +0 -8
  383. package/button-group/src/button-group.module.d.ts +0 -8
  384. package/button-type/src/button-type/button-type.module.d.ts +0 -8
  385. package/calendar/src/calendar.module.d.ts +0 -12
  386. package/calendar-month/src/pipes/month-name/index.d.ts +0 -2
  387. package/calendar-month/src/pipes/month-name/month-name.module.d.ts +0 -8
  388. package/calendar-month/src/pipes/weekday-name/index.d.ts +0 -2
  389. package/calendar-month/src/pipes/weekday-name/weekday-name.module.d.ts +0 -8
  390. package/close/src/close.module.d.ts +0 -8
  391. package/code-snippet/src/code-snippet.module.d.ts +0 -11
  392. package/container/src/container.module.d.ts +0 -8
  393. package/copy/src/copy.module.d.ts +0 -8
  394. package/datepicker/src/datepicker.module.d.ts +0 -12
  395. package/dropdown-divider/src/dropdown-divider.module.d.ts +0 -8
  396. package/enhanced-paste/src/enhanced-paste.module.d.ts +0 -8
  397. package/esm2022/async-host-binding/src/async-host-binding.module.mjs +0 -32
  398. package/esm2022/badge/src/badge.module.mjs +0 -18
  399. package/esm2022/button-group/src/button-group.module.mjs +0 -18
  400. package/esm2022/button-type/src/button-type/button-type.module.mjs +0 -24
  401. package/esm2022/calendar/src/calendar.module.mjs +0 -43
  402. package/esm2022/calendar-month/src/pipes/month-name/index.mjs +0 -3
  403. package/esm2022/calendar-month/src/pipes/month-name/month-name.module.mjs +0 -24
  404. package/esm2022/calendar-month/src/pipes/weekday-name/index.mjs +0 -3
  405. package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.module.mjs +0 -24
  406. package/esm2022/close/src/close.module.mjs +0 -18
  407. package/esm2022/code-snippet/src/code-snippet.module.mjs +0 -36
  408. package/esm2022/container/src/container.module.mjs +0 -18
  409. package/esm2022/copy/src/copy.module.mjs +0 -24
  410. package/esm2022/datepicker/src/datepicker.module.mjs +0 -40
  411. package/esm2022/dropdown-divider/src/dropdown-divider.module.mjs +0 -18
  412. package/esm2022/enhanced-paste/src/enhanced-paste.module.mjs +0 -24
  413. package/esm2022/floating-labels/src/floating-labels/floating-label/floating-label.component.mjs +0 -20
  414. package/esm2022/floating-labels/src/floating-labels/floating-labels.module.mjs +0 -18
  415. package/esm2022/font-color/src/font-color.module.mjs +0 -24
  416. package/esm2022/for/src/for.module.mjs +0 -24
  417. package/esm2022/has-overlay/src/has-overlay/has-overlay.module.mjs +0 -18
  418. package/esm2022/has-property/src/has-property.module.mjs +0 -18
  419. package/esm2022/in-list/src/in-list.module.mjs +0 -24
  420. package/esm2022/input-group/src/input-group.module.mjs +0 -18
  421. package/esm2022/lazy-loading/index.mjs +0 -2
  422. package/esm2022/lazy-loading/mintplayer-ng-bootstrap-lazy-loading.mjs +0 -5
  423. package/esm2022/lazy-loading/src/index.mjs +0 -3
  424. package/esm2022/lazy-loading/src/lazy-load/lazy-load.directive.mjs +0 -32
  425. package/esm2022/lazy-loading/src/lazy-loading.module.mjs +0 -24
  426. package/esm2022/let/let.module.mjs +0 -24
  427. package/esm2022/linify/src/linify.module.mjs +0 -18
  428. package/esm2022/markdown/src/markdown.module.mjs +0 -39
  429. package/esm2022/marquee/src/marquee.module.mjs +0 -18
  430. package/esm2022/navbar-toggler/src/navbar-toggler.module.mjs +0 -18
  431. package/esm2022/no-noscript/src/no-noscript.module.mjs +0 -18
  432. package/esm2022/ordinal-number/src/ordinal-number.module.mjs +0 -24
  433. package/esm2022/pagination/src/pagination.module.mjs +0 -28
  434. package/esm2022/playlist-toggler/src/playlist-toggler.module.mjs +0 -18
  435. package/esm2022/rating/src/rating.module.mjs +0 -24
  436. package/esm2022/signature-pad/src/signature-pad.module.mjs +0 -18
  437. package/esm2022/slugify/src/slugify.module.mjs +0 -18
  438. package/esm2022/spinner/src/spinner.module.mjs +0 -18
  439. package/esm2022/split-string/src/split-string.module.mjs +0 -18
  440. package/esm2022/table/src/table.module.mjs +0 -18
  441. package/esm2022/timepicker/src/timepicker.module.mjs +0 -56
  442. package/esm2022/track-by/index.mjs +0 -4
  443. package/esm2022/track-by/mintplayer-ng-bootstrap-track-by.mjs +0 -5
  444. package/esm2022/track-by/src/track-by-index.directive.mjs +0 -22
  445. package/esm2022/track-by/src/track-by.directive.mjs +0 -28
  446. package/esm2022/track-by/src/track-by.module.mjs +0 -19
  447. package/esm2022/trust-html/src/trust-html.module.mjs +0 -18
  448. package/esm2022/typeahead/src/typeahead.module.mjs +0 -48
  449. package/esm2022/uc-first/src/uc-first.module.mjs +0 -24
  450. package/esm2022/user-agent/src/user-agent.module.mjs +0 -24
  451. package/esm2022/word-count/src/word-count.module.mjs +0 -18
  452. package/fesm2022/mintplayer-ng-bootstrap-lazy-loading.mjs +0 -60
  453. package/fesm2022/mintplayer-ng-bootstrap-lazy-loading.mjs.map +0 -1
  454. package/fesm2022/mintplayer-ng-bootstrap-track-by.mjs +0 -67
  455. package/fesm2022/mintplayer-ng-bootstrap-track-by.mjs.map +0 -1
  456. package/floating-labels/src/floating-labels/floating-labels.module.d.ts +0 -8
  457. package/font-color/src/font-color.module.d.ts +0 -8
  458. package/for/src/for.module.d.ts +0 -8
  459. package/has-overlay/src/has-overlay/has-overlay.module.d.ts +0 -8
  460. package/has-property/src/has-property.module.d.ts +0 -8
  461. package/in-list/src/in-list.module.d.ts +0 -8
  462. package/input-group/src/input-group.module.d.ts +0 -8
  463. package/lazy-loading/index.d.ts +0 -1
  464. package/lazy-loading/src/index.d.ts +0 -2
  465. package/lazy-loading/src/lazy-load/lazy-load.directive.d.ts +0 -13
  466. package/lazy-loading/src/lazy-loading.module.d.ts +0 -8
  467. package/let/let.module.d.ts +0 -8
  468. package/linify/src/linify.module.d.ts +0 -8
  469. package/markdown/src/markdown.module.d.ts +0 -11
  470. package/marquee/src/marquee.module.d.ts +0 -8
  471. package/navbar-toggler/src/navbar-toggler.module.d.ts +0 -8
  472. package/no-noscript/src/no-noscript.module.d.ts +0 -8
  473. package/ordinal-number/src/ordinal-number.module.d.ts +0 -8
  474. package/pagination/src/pagination.module.d.ts +0 -9
  475. package/playlist-toggler/src/playlist-toggler.module.d.ts +0 -8
  476. package/rating/src/rating.module.d.ts +0 -8
  477. package/signature-pad/src/signature-pad.module.d.ts +0 -8
  478. package/slugify/src/slugify.module.d.ts +0 -8
  479. package/spinner/src/spinner.module.d.ts +0 -8
  480. package/split-string/src/split-string.module.d.ts +0 -8
  481. package/table/src/table.module.d.ts +0 -8
  482. package/timepicker/src/timepicker.module.d.ts +0 -16
  483. package/track-by/index.d.ts +0 -3
  484. package/track-by/src/track-by-index.directive.d.ts +0 -9
  485. package/track-by/src/track-by.directive.d.ts +0 -11
  486. package/track-by/src/track-by.module.d.ts +0 -9
  487. package/trust-html/src/trust-html.module.d.ts +0 -8
  488. package/typeahead/src/typeahead.module.d.ts +0 -14
  489. package/uc-first/src/uc-first.module.d.ts +0 -8
  490. package/user-agent/src/user-agent.module.d.ts +0 -8
  491. package/word-count/src/word-count.module.d.ts +0 -8
@@ -1,13 +1,11 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class BsButtonGroupComponent {
4
- constructor() { }
5
- ngOnInit() { }
6
4
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsButtonGroupComponent, selector: "bs-button-group", ngImport: i0, template: "<div class=\"btn-group\" role=\"group\" aria-label=\"Basic example\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .btn-group,:host ::ng-deep .btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}:host ::ng-deep .btn-group>.btn,:host ::ng-deep .btn-group-vertical>.btn{position:relative;flex:1 1 auto}:host ::ng-deep .btn-group>.btn-check:checked+.btn,:host ::ng-deep .btn-group>.btn-check:focus+.btn,:host ::ng-deep .btn-group>.btn:hover,:host ::ng-deep .btn-group>.btn:focus,:host ::ng-deep .btn-group>.btn:active,:host ::ng-deep .btn-group>.btn.active,:host ::ng-deep .btn-group-vertical>.btn-check:checked+.btn,:host ::ng-deep .btn-group-vertical>.btn-check:focus+.btn,:host ::ng-deep .btn-group-vertical>.btn:hover,:host ::ng-deep .btn-group-vertical>.btn:focus,:host ::ng-deep .btn-group-vertical>.btn:active,:host ::ng-deep .btn-group-vertical>.btn.active{z-index:1}:host ::ng-deep .btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}:host ::ng-deep .btn-toolbar .input-group{width:auto}:host ::ng-deep .btn-group{border-radius:var(--bs-border-radius)}:host ::ng-deep .btn-group>:not(.btn-check:first-child)+.btn,:host ::ng-deep .btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}:host ::ng-deep .btn-group>.btn:not(:last-child):not(.dropdown-toggle),:host ::ng-deep .btn-group>.btn.dropdown-toggle-split:first-child,:host ::ng-deep .btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .btn-group>.btn:nth-child(n+3),:host ::ng-deep .btn-group>:not(.btn-check)+.btn,:host ::ng-deep .btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}:host ::ng-deep .dropdown-toggle-split:after,.dropup :host ::ng-deep .dropdown-toggle-split:after,.dropend :host ::ng-deep .dropdown-toggle-split:after{margin-left:0}.dropstart :host ::ng-deep .dropdown-toggle-split:before{margin-right:0}:host ::ng-deep .btn-sm+.dropdown-toggle-split,:host ::ng-deep .btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}:host ::ng-deep .btn-lg+.dropdown-toggle-split,:host ::ng-deep .btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}:host ::ng-deep .btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}:host ::ng-deep .btn-group-vertical>.btn,:host ::ng-deep .btn-group-vertical>.btn-group{width:100%}:host ::ng-deep .btn-group-vertical>.btn:not(:first-child),:host ::ng-deep .btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}:host ::ng-deep .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),:host ::ng-deep .btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}:host ::ng-deep .btn-group-vertical>.btn~.btn,:host ::ng-deep .btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}\n"] }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsButtonGroupComponent, isStandalone: true, selector: "bs-button-group", ngImport: i0, template: "<div class=\"btn-group\" role=\"group\" aria-label=\"Basic example\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .btn-group,:host ::ng-deep .btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}:host ::ng-deep .btn-group>.btn,:host ::ng-deep .btn-group-vertical>.btn{position:relative;flex:1 1 auto}:host ::ng-deep .btn-group>.btn-check:checked+.btn,:host ::ng-deep .btn-group>.btn-check:focus+.btn,:host ::ng-deep .btn-group>.btn:hover,:host ::ng-deep .btn-group>.btn:focus,:host ::ng-deep .btn-group>.btn:active,:host ::ng-deep .btn-group>.btn.active,:host ::ng-deep .btn-group-vertical>.btn-check:checked+.btn,:host ::ng-deep .btn-group-vertical>.btn-check:focus+.btn,:host ::ng-deep .btn-group-vertical>.btn:hover,:host ::ng-deep .btn-group-vertical>.btn:focus,:host ::ng-deep .btn-group-vertical>.btn:active,:host ::ng-deep .btn-group-vertical>.btn.active{z-index:1}:host ::ng-deep .btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}:host ::ng-deep .btn-toolbar .input-group{width:auto}:host ::ng-deep .btn-group{border-radius:var(--bs-border-radius)}:host ::ng-deep .btn-group>:not(.btn-check:first-child)+.btn,:host ::ng-deep .btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}:host ::ng-deep .btn-group>.btn:not(:last-child):not(.dropdown-toggle),:host ::ng-deep .btn-group>.btn.dropdown-toggle-split:first-child,:host ::ng-deep .btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .btn-group>.btn:nth-child(n+3),:host ::ng-deep .btn-group>:not(.btn-check)+.btn,:host ::ng-deep .btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}:host ::ng-deep .dropdown-toggle-split:after,.dropup :host ::ng-deep .dropdown-toggle-split:after,.dropend :host ::ng-deep .dropdown-toggle-split:after{margin-left:0}.dropstart :host ::ng-deep .dropdown-toggle-split:before{margin-right:0}:host ::ng-deep .btn-sm+.dropdown-toggle-split,:host ::ng-deep .btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}:host ::ng-deep .btn-lg+.dropdown-toggle-split,:host ::ng-deep .btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}:host ::ng-deep .btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}:host ::ng-deep .btn-group-vertical>.btn,:host ::ng-deep .btn-group-vertical>.btn-group{width:100%}:host ::ng-deep .btn-group-vertical>.btn:not(:first-child),:host ::ng-deep .btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}:host ::ng-deep .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),:host ::ng-deep .btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}:host ::ng-deep .btn-group-vertical>.btn~.btn,:host ::ng-deep .btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}\n"] }); }
8
6
  }
9
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsButtonGroupComponent, decorators: [{
10
8
  type: Component,
11
- args: [{ selector: 'bs-button-group', template: "<div class=\"btn-group\" role=\"group\" aria-label=\"Basic example\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .btn-group,:host ::ng-deep .btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}:host ::ng-deep .btn-group>.btn,:host ::ng-deep .btn-group-vertical>.btn{position:relative;flex:1 1 auto}:host ::ng-deep .btn-group>.btn-check:checked+.btn,:host ::ng-deep .btn-group>.btn-check:focus+.btn,:host ::ng-deep .btn-group>.btn:hover,:host ::ng-deep .btn-group>.btn:focus,:host ::ng-deep .btn-group>.btn:active,:host ::ng-deep .btn-group>.btn.active,:host ::ng-deep .btn-group-vertical>.btn-check:checked+.btn,:host ::ng-deep .btn-group-vertical>.btn-check:focus+.btn,:host ::ng-deep .btn-group-vertical>.btn:hover,:host ::ng-deep .btn-group-vertical>.btn:focus,:host ::ng-deep .btn-group-vertical>.btn:active,:host ::ng-deep .btn-group-vertical>.btn.active{z-index:1}:host ::ng-deep .btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}:host ::ng-deep .btn-toolbar .input-group{width:auto}:host ::ng-deep .btn-group{border-radius:var(--bs-border-radius)}:host ::ng-deep .btn-group>:not(.btn-check:first-child)+.btn,:host ::ng-deep .btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}:host ::ng-deep .btn-group>.btn:not(:last-child):not(.dropdown-toggle),:host ::ng-deep .btn-group>.btn.dropdown-toggle-split:first-child,:host ::ng-deep .btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .btn-group>.btn:nth-child(n+3),:host ::ng-deep .btn-group>:not(.btn-check)+.btn,:host ::ng-deep .btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}:host ::ng-deep .dropdown-toggle-split:after,.dropup :host ::ng-deep .dropdown-toggle-split:after,.dropend :host ::ng-deep .dropdown-toggle-split:after{margin-left:0}.dropstart :host ::ng-deep .dropdown-toggle-split:before{margin-right:0}:host ::ng-deep .btn-sm+.dropdown-toggle-split,:host ::ng-deep .btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}:host ::ng-deep .btn-lg+.dropdown-toggle-split,:host ::ng-deep .btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}:host ::ng-deep .btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}:host ::ng-deep .btn-group-vertical>.btn,:host ::ng-deep .btn-group-vertical>.btn-group{width:100%}:host ::ng-deep .btn-group-vertical>.btn:not(:first-child),:host ::ng-deep .btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}:host ::ng-deep .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),:host ::ng-deep .btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}:host ::ng-deep .btn-group-vertical>.btn~.btn,:host ::ng-deep .btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}\n"] }]
12
- }], ctorParameters: () => [] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvYnV0dG9uLWdyb3VwL3NyYy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvYnV0dG9uLWdyb3VwL3NyYy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBT2xELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsZ0JBQWUsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQzs4R0FIUixzQkFBc0I7a0dBQXRCLHNCQUFzQix1RENQbkMsOEdBRU07OzJGREtPLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1idXR0b24tZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJzQnV0dG9uR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxufVxuIiwiPGRpdiBjbGFzcz1cImJ0bi1ncm91cFwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWw9XCJCYXNpYyBleGFtcGxlXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+Il19
9
+ args: [{ selector: 'bs-button-group', standalone: true, template: "<div class=\"btn-group\" role=\"group\" aria-label=\"Basic example\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .btn-group,:host ::ng-deep .btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}:host ::ng-deep .btn-group>.btn,:host ::ng-deep .btn-group-vertical>.btn{position:relative;flex:1 1 auto}:host ::ng-deep .btn-group>.btn-check:checked+.btn,:host ::ng-deep .btn-group>.btn-check:focus+.btn,:host ::ng-deep .btn-group>.btn:hover,:host ::ng-deep .btn-group>.btn:focus,:host ::ng-deep .btn-group>.btn:active,:host ::ng-deep .btn-group>.btn.active,:host ::ng-deep .btn-group-vertical>.btn-check:checked+.btn,:host ::ng-deep .btn-group-vertical>.btn-check:focus+.btn,:host ::ng-deep .btn-group-vertical>.btn:hover,:host ::ng-deep .btn-group-vertical>.btn:focus,:host ::ng-deep .btn-group-vertical>.btn:active,:host ::ng-deep .btn-group-vertical>.btn.active{z-index:1}:host ::ng-deep .btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}:host ::ng-deep .btn-toolbar .input-group{width:auto}:host ::ng-deep .btn-group{border-radius:var(--bs-border-radius)}:host ::ng-deep .btn-group>:not(.btn-check:first-child)+.btn,:host ::ng-deep .btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}:host ::ng-deep .btn-group>.btn:not(:last-child):not(.dropdown-toggle),:host ::ng-deep .btn-group>.btn.dropdown-toggle-split:first-child,:host ::ng-deep .btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .btn-group>.btn:nth-child(n+3),:host ::ng-deep .btn-group>:not(.btn-check)+.btn,:host ::ng-deep .btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}:host ::ng-deep .dropdown-toggle-split:after,.dropup :host ::ng-deep .dropdown-toggle-split:after,.dropend :host ::ng-deep .dropdown-toggle-split:after{margin-left:0}.dropstart :host ::ng-deep .dropdown-toggle-split:before{margin-right:0}:host ::ng-deep .btn-sm+.dropdown-toggle-split,:host ::ng-deep .btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}:host ::ng-deep .btn-lg+.dropdown-toggle-split,:host ::ng-deep .btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}:host ::ng-deep .btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}:host ::ng-deep .btn-group-vertical>.btn,:host ::ng-deep .btn-group-vertical>.btn-group{width:100%}:host ::ng-deep .btn-group-vertical>.btn:not(:first-child),:host ::ng-deep .btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}:host ::ng-deep .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),:host ::ng-deep .btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}:host ::ng-deep .btn-group-vertical>.btn~.btn,:host ::ng-deep .btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}\n"] }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvYnV0dG9uLWdyb3VwL3NyYy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvYnV0dG9uLWdyb3VwL3NyYy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyxzQkFBc0I7OEdBQXRCLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDJFQ1JuQyw4R0FFTTs7MkZETU8sc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLGlCQUFpQixjQUdmLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtYnV0dG9uLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJzQnV0dG9uR3JvdXBDb21wb25lbnQge31cbiIsIjxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiQmFzaWMgZXhhbXBsZVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PiJdfQ==
@@ -1,3 +1,2 @@
1
1
  export * from './button-group/button-group.component';
2
- export * from './button-group.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2J1dHRvbi1ncm91cC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbi1ncm91cC5tb2R1bGUnOyJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2J1dHRvbi1ncm91cC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQnOyJdfQ==
@@ -11,12 +11,13 @@ export class BsButtonTypeDirective {
11
11
  this.buttonClass = `btn-${name}`;
12
12
  }
13
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsButtonTypeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BsButtonTypeDirective, selector: "button[color],input[type=\"button\"][color],input[type=\"submit\"][color],a[color]", inputs: { color: "color" }, host: { properties: { "class.btn": "this.btnClass", "class": "this.buttonClass" } }, ngImport: i0 }); }
14
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BsButtonTypeDirective, isStandalone: true, selector: "button[color],input[type=\"button\"][color],input[type=\"submit\"][color],a[color]", inputs: { color: "color" }, host: { properties: { "class.btn": "this.btnClass", "class": "this.buttonClass" } }, ngImport: i0 }); }
15
15
  }
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsButtonTypeDirective, decorators: [{
17
17
  type: Directive,
18
18
  args: [{
19
- selector: 'button[color],input[type="button"][color],input[type="submit"][color],a[color]'
19
+ selector: 'button[color],input[type="button"][color],input[type="submit"][color],a[color]',
20
+ standalone: true
20
21
  }]
21
22
  }], propDecorators: { btnClass: [{
22
23
  type: HostBinding,
@@ -27,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
27
28
  }], color: [{
28
29
  type: Input
29
30
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXR5cGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9idXR0b24tdHlwZS9zcmMvYnV0dG9uLXR5cGUvYnV0dG9uLXR5cGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBS2pELE1BQU0sT0FBTyxxQkFBcUI7SUFIbEM7UUFJNEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNwQixnQkFBVyxHQUFHLGlCQUFpQixDQUFDO0tBS3ZEO0lBSkMsSUFBb0IsS0FBSyxDQUFDLEtBQVk7UUFDcEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzhHQU5VLHFCQUFxQjtrR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnRkFBZ0Y7aUJBQzNGOzhCQUUyQixRQUFRO3NCQUFqQyxXQUFXO3VCQUFDLFdBQVc7Z0JBQ0YsV0FBVztzQkFBaEMsV0FBVzt1QkFBQyxPQUFPO2dCQUNBLEtBQUs7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdidXR0b25bY29sb3JdLGlucHV0W3R5cGU9XCJidXR0b25cIl1bY29sb3JdLGlucHV0W3R5cGU9XCJzdWJtaXRcIl1bY29sb3JdLGFbY29sb3JdJ1xufSlcbmV4cG9ydCBjbGFzcyBCc0J1dHRvblR5cGVEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJ0bicpIGJ0bkNsYXNzID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGJ1dHRvbkNsYXNzID0gJ2J0bi10cmFuc3BhcmVudCc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgY29sb3IodmFsdWU6IENvbG9yKSB7XG4gICAgY29uc3QgbmFtZSA9IENvbG9yW3ZhbHVlXTtcbiAgICB0aGlzLmJ1dHRvbkNsYXNzID0gYGJ0bi0ke25hbWV9YDtcbiAgfVxufVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXR5cGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9idXR0b24tdHlwZS9zcmMvYnV0dG9uLXR5cGUvYnV0dG9uLXR5cGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBTWpELE1BQU0sT0FBTyxxQkFBcUI7SUFKbEM7UUFLNEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNwQixnQkFBVyxHQUFHLGlCQUFpQixDQUFDO0tBS3ZEO0lBSkMsSUFBb0IsS0FBSyxDQUFDLEtBQVk7UUFDcEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzhHQU5VLHFCQUFxQjtrR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnRkFBZ0Y7b0JBQzFGLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFFMkIsUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxXQUFXO2dCQUNGLFdBQVc7c0JBQWhDLFdBQVc7dUJBQUMsT0FBTztnQkFDQSxLQUFLO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbG9yIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnYnV0dG9uW2NvbG9yXSxpbnB1dFt0eXBlPVwiYnV0dG9uXCJdW2NvbG9yXSxpbnB1dFt0eXBlPVwic3VibWl0XCJdW2NvbG9yXSxhW2NvbG9yXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnNCdXR0b25UeXBlRGlyZWN0aXZlIHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5idG4nKSBidG5DbGFzcyA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBidXR0b25DbGFzcyA9ICdidG4tdHJhbnNwYXJlbnQnO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IGNvbG9yKHZhbHVlOiBDb2xvcikge1xuICAgIGNvbnN0IG5hbWUgPSBDb2xvclt2YWx1ZV07XG4gICAgdGhpcy5idXR0b25DbGFzcyA9IGBidG4tJHtuYW1lfWA7XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,2 @@
1
1
  export * from './button-type/button-type.directive';
2
- export * from './button-type/button-type.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2J1dHRvbi10eXBlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2J1dHRvbi10eXBlL2J1dHRvbi10eXBlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbi10eXBlL2J1dHRvbi10eXBlLm1vZHVsZSc7Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2J1dHRvbi10eXBlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idXR0b24tdHlwZS9idXR0b24tdHlwZS5kaXJlY3RpdmUnOyJdfQ==
@@ -1,17 +1,16 @@
1
1
  /// <reference types="./types" />
2
2
  /// <reference types="./types" />
3
+ import { AsyncPipe } from '@angular/common';
3
4
  import { Component, EventEmitter, Input, Output } from '@angular/core';
4
5
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
6
  import { BehaviorSubject, filter, map, take } from 'rxjs';
6
- import { BsCalendarMonthService } from '@mintplayer/ng-bootstrap/calendar-month';
7
+ import { BsCalendarMonthService, BsMonthNamePipe, BsWeekdayNamePipe } from '@mintplayer/ng-bootstrap/calendar-month';
7
8
  import { DomSanitizer } from '@angular/platform-browser';
9
+ import { BsLetDirective } from '@mintplayer/ng-bootstrap/let';
10
+ import { BsUcFirstPipe } from '@mintplayer/ng-bootstrap/uc-first';
8
11
  import * as i0 from "@angular/core";
9
12
  import * as i1 from "@angular/platform-browser";
10
13
  import * as i2 from "@mintplayer/ng-bootstrap/calendar-month";
11
- import * as i3 from "@angular/common";
12
- import * as i4 from "@mintplayer/ng-bootstrap/let";
13
- import * as i5 from "@mintplayer/ng-bootstrap/track-by";
14
- import * as i6 from "@mintplayer/ng-bootstrap/uc-first";
15
14
  export class BsCalendarComponent {
16
15
  constructor(sanitizer, calendarMonthService) {
17
16
  this.sanitizer = sanitizer;
@@ -93,11 +92,11 @@ export class BsCalendarComponent {
93
92
  }
94
93
  }
95
94
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCalendarComponent, deps: [{ token: i1.DomSanitizer }, { token: i2.BsCalendarMonthService }], target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsCalendarComponent, selector: "bs-calendar", inputs: { currentMonth: "currentMonth", selectedDate: "selectedDate", disableDateFn: "disableDateFn" }, outputs: { currentMonthChange: "currentMonthChange", selectedDateChange: "selectedDateChange" }, ngImport: i0, template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <span [innerHTML]=\"chevronLeft\" class=\"fw-bolder\"></span>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth$ | async | monthName | bsUcFirst }}\n {{ (currentMonth$ | async)?.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <span [innerHTML]=\"chevronRight\" class=\"fw-bolder\"></span>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n <th *ngFor=\"let dayOfWeek of shownDays$ | async; bsTrackBy: 'long'\" [title]=\"dayOfWeek.long\">\n {{ dayOfWeek.short }}\n </th>\n </tr>\n <tr *ngFor=\"let week of (weeks$ | async); bsTrackBy: 'number'\">\n <th>\n {{ week.number }}\n </th>\n <ng-container *ngFor=\"let day of week.days\">\n <ng-container *bsLet=\"((day !== null) && day.isInMonth) as showSpan\">\n <ng-container *bsLet=\"(disableDateFn && disableDateFn(day.date)) as disabled\">\n <td [class.selected]=\"day === null ? false : !day.isInMonth ? false : isSameDate(selectedDate$ | async, day.date)\" [class.cursor-pointer]=\"showSpan && !disabled\" (click)=\"goto(day)\">\n <span *ngIf=\"showSpan\" [class.text-muted]=\"disabled\">{{ day.dayOfMonth }}</span>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n </tr>\n</table>", styles: [".text-muted{color:#9ea7af!important}table{border-collapse:collapse;border:1px solid var(--bs-border-color);background:#fff}table td,table th{width:40px;height:40px;text-align:center;cursor:default}table td span,table th span{white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid var(--bs-border-color)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid var(--bs-border-color)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid var(--bs-border-color)}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i5.BsTrackByDirective, selector: "[ngForBsTrackBy]", inputs: ["ngForOf", "ngForBsTrackBy"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.BsUcFirstPipe, name: "bsUcFirst" }, { kind: "pipe", type: i2.MonthNamePipe, name: "monthName" }] }); }
95
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.1", type: BsCalendarComponent, isStandalone: true, selector: "bs-calendar", inputs: { currentMonth: "currentMonth", selectedDate: "selectedDate", disableDateFn: "disableDateFn" }, outputs: { currentMonthChange: "currentMonthChange", selectedDateChange: "selectedDateChange" }, ngImport: i0, template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <span [innerHTML]=\"chevronLeft\" class=\"fw-bolder\"></span>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth$ | async | monthName | bsUcFirst }}\n {{ (currentMonth$ | async)?.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <span [innerHTML]=\"chevronRight\" class=\"fw-bolder\"></span>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n @for (dayOfWeek of shownDays$ | async; track dayOfWeek.long) {\n <th [title]=\"dayOfWeek.long\">\n {{ dayOfWeek.short }}\n </th>\n }\n </tr>\n @for (week of (weeks$ | async); track week.number) {\n <tr>\n <th>\n {{ week.number }}\n </th>\n @for (day of week.days; track day?.date) {\n <ng-container *bsLet=\"((day !== null) && day.isInMonth) as showSpan\">\n <ng-container *bsLet=\"(disableDateFn && disableDateFn(day.date)) as disabled\">\n <td [class.selected]=\"day === null ? false : !day.isInMonth ? false : isSameDate(selectedDate$ | async, day.date)\" [class.cursor-pointer]=\"showSpan && !disabled\" (click)=\"goto(day)\">\n @if (showSpan) {\n <span [class.text-muted]=\"disabled\">{{ day.dayOfMonth }}</span>\n }\n </td>\n </ng-container>\n </ng-container>\n }\n </tr>\n }\n</table>", styles: [".text-muted{color:#9ea7af!important}table{border-collapse:collapse;border:1px solid var(--bs-border-color);background:#fff}table td,table th{width:40px;height:40px;text-align:center;cursor:default}table td span,table th span{white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid var(--bs-border-color)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid var(--bs-border-color)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid var(--bs-border-color)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "pipe", type: BsUcFirstPipe, name: "bsUcFirst" }, { kind: "pipe", type: BsMonthNamePipe, name: "monthName" }] }); }
97
96
  }
98
97
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCalendarComponent, decorators: [{
99
98
  type: Component,
100
- args: [{ selector: 'bs-calendar', template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <span [innerHTML]=\"chevronLeft\" class=\"fw-bolder\"></span>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth$ | async | monthName | bsUcFirst }}\n {{ (currentMonth$ | async)?.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <span [innerHTML]=\"chevronRight\" class=\"fw-bolder\"></span>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n <th *ngFor=\"let dayOfWeek of shownDays$ | async; bsTrackBy: 'long'\" [title]=\"dayOfWeek.long\">\n {{ dayOfWeek.short }}\n </th>\n </tr>\n <tr *ngFor=\"let week of (weeks$ | async); bsTrackBy: 'number'\">\n <th>\n {{ week.number }}\n </th>\n <ng-container *ngFor=\"let day of week.days\">\n <ng-container *bsLet=\"((day !== null) && day.isInMonth) as showSpan\">\n <ng-container *bsLet=\"(disableDateFn && disableDateFn(day.date)) as disabled\">\n <td [class.selected]=\"day === null ? false : !day.isInMonth ? false : isSameDate(selectedDate$ | async, day.date)\" [class.cursor-pointer]=\"showSpan && !disabled\" (click)=\"goto(day)\">\n <span *ngIf=\"showSpan\" [class.text-muted]=\"disabled\">{{ day.dayOfMonth }}</span>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n </tr>\n</table>", styles: [".text-muted{color:#9ea7af!important}table{border-collapse:collapse;border:1px solid var(--bs-border-color);background:#fff}table td,table th{width:40px;height:40px;text-align:center;cursor:default}table td span,table th span{white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid var(--bs-border-color)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid var(--bs-border-color)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid var(--bs-border-color)}\n"] }]
99
+ args: [{ selector: 'bs-calendar', standalone: true, imports: [AsyncPipe, BsLetDirective, BsUcFirstPipe, BsMonthNamePipe, BsWeekdayNamePipe], template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <span [innerHTML]=\"chevronLeft\" class=\"fw-bolder\"></span>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth$ | async | monthName | bsUcFirst }}\n {{ (currentMonth$ | async)?.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <span [innerHTML]=\"chevronRight\" class=\"fw-bolder\"></span>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n @for (dayOfWeek of shownDays$ | async; track dayOfWeek.long) {\n <th [title]=\"dayOfWeek.long\">\n {{ dayOfWeek.short }}\n </th>\n }\n </tr>\n @for (week of (weeks$ | async); track week.number) {\n <tr>\n <th>\n {{ week.number }}\n </th>\n @for (day of week.days; track day?.date) {\n <ng-container *bsLet=\"((day !== null) && day.isInMonth) as showSpan\">\n <ng-container *bsLet=\"(disableDateFn && disableDateFn(day.date)) as disabled\">\n <td [class.selected]=\"day === null ? false : !day.isInMonth ? false : isSameDate(selectedDate$ | async, day.date)\" [class.cursor-pointer]=\"showSpan && !disabled\" (click)=\"goto(day)\">\n @if (showSpan) {\n <span [class.text-muted]=\"disabled\">{{ day.dayOfMonth }}</span>\n }\n </td>\n </ng-container>\n </ng-container>\n }\n </tr>\n }\n</table>", styles: [".text-muted{color:#9ea7af!important}table{border-collapse:collapse;border:1px solid var(--bs-border-color);background:#fff}table td,table th{width:40px;height:40px;text-align:center;cursor:default}table td span,table th span{white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid var(--bs-border-color)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid var(--bs-border-color)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid var(--bs-border-color)}\n"] }]
101
100
  }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i2.BsCalendarMonthService }], propDecorators: { currentMonthChange: [{
102
101
  type: Output
103
102
  }], currentMonth: [{
@@ -109,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
109
108
  }], disableDateFn: [{
110
109
  type: Input
111
110
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQWpDLGlDQUFpQztBQUVqQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFpQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hILE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUFPbkUsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUFvQixTQUF1QixFQUFVLG9CQUE0QztRQUE3RSxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQVUseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF3QjtRQTJDakcsc0JBQXNCO1FBQ3RCLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFPL0QsWUFBWTtRQUNaLHNCQUFzQjtRQUN0QixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFPLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVks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QUssQ0FBQyxRQUFRLEVBQUU7WUFDckMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDcEMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLENBQUMsR0FBMEI7UUFDN0IsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7OEdBdEdVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDRQQ2JoQyw2cERBcUNROzsyRkR4QkssbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7c0hBa0ROLGtCQUFrQjtzQkFBbEMsTUFBTTtnQkFJTSxZQUFZO3NCQUF4QixLQUFLO2dCQU1XLGtCQUFrQjtzQkFBbEMsTUFBTTtnQkFJTSxZQUFZO3NCQUF4QixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cIi4vdHlwZXNcIiAvPlxuXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNDYWxlbmRhck1vbnRoU2VydmljZSwgRGF0ZURheU9mTW9udGgsIFdlZWssIFdlZWtEYXkgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvY2FsZW5kYXItbW9udGgnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJzQ2FsZW5kYXJDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIGNhbGVuZGFyTW9udGhTZXJ2aWNlOiBCc0NhbGVuZGFyTW9udGhTZXJ2aWNlKSB7XG4gICAgdGhpcy53ZWVrcyQgPSB0aGlzLmN1cnJlbnRNb250aCRcbiAgICAgIC5waXBlKG1hcCgobW9udGgpID0+IHRoaXMuY2FsZW5kYXJNb250aFNlcnZpY2UuZ2V0V2Vla3MobW9udGgpKSk7XG4gICAgdGhpcy5zaG93bkRheXMkID0gdGhpcy53ZWVrcyRcbiAgICAgIC5waXBlKGZpbHRlcigod2Vla3MpID0+IHdlZWtzLmxlbmd0aCA+IDEpKVxuICAgICAgLnBpcGUobWFwKCh3ZWVrcykgPT4gd2Vla3NbMV0uZGF5cykpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChkYXlzKSA9PiB7XG4gICAgICAgICAgY29uc3QgZmlyc3REYXkgPSBkYXlzWzBdO1xuICAgICAgICAgIGlmIChmaXJzdERheSkge1xuICAgICAgICAgICAgcmV0dXJuIGRheXMubWFwKChkKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShcbiAgICAgICAgICAgICAgICBmaXJzdERheS5kYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgICAgICAgZmlyc3REYXkuZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICAgICAgICAgIGQ/LmRheU9mTW9udGhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIDxXZWVrRGF5PntcbiAgICAgICAgICAgICAgICBzaG9ydDogZGF0ZS50b0xvY2FsZVN0cmluZygnZGVmYXVsdCcsIHsgd2Vla2RheTogJ3Nob3J0JyB9KSxcbiAgICAgICAgICAgICAgICBsb25nOiBkYXRlLnRvTG9jYWxlU3RyaW5nKCdkZWZhdWx0JywgeyB3ZWVrZGF5OiAnbG9uZycgfSlcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoZGF0ZSA9PiB0aGlzLnNlbGVjdGVkRGF0ZUNoYW5nZS5lbWl0KGRhdGUpKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aCQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUobW9udGggPT4gdGhpcy5jdXJyZW50TW9udGhDaGFuZ2UuZW1pdChtb250aCkpO1xuICAgIGltcG9ydCgnYm9vdHN0cmFwLWljb25zL2ljb25zL2NoZXZyb24tbGVmdC5zdmcnKS50aGVuKChpY29uKSA9PiB7XG4gICAgICB0aGlzLmNoZXZyb25MZWZ0ID0gc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGljb24uZGVmYXVsdCk7XG4gICAgfSk7XG4gICAgaW1wb3J0KCdib290c3RyYXAtaWNvbnMvaWNvbnMvY2hldnJvbi1yaWdodC5zdmcnKS50aGVuKChpY29uKSA9PiB7XG4gICAgICB0aGlzLmNoZXZyb25SaWdodCA9IHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChpY29uLmRlZmF1bHQpO1xuICAgIH0pO1xuICB9XG5cbiAgY2hldnJvbkxlZnQ/OiBTYWZlSHRtbDtcbiAgY2hldnJvblJpZ2h0PzogU2FmZUh0bWw7XG4gIHdlZWtzJDogT2JzZXJ2YWJsZTxXZWVrW10+O1xuICBzaG93bkRheXMkOiBPYnNlcnZhYmxlPFdlZWtEYXlbXT47XG5cbiAgLy8jcmVnaW9uIEN1cnJlbnRNb250aFxuICBjdXJyZW50TW9udGgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRlPihuZXcgRGF0ZSgpKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBjdXJyZW50TW9udGhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIGdldCBjdXJyZW50TW9udGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudE1vbnRoJC52YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBzZXQgY3VycmVudE1vbnRoKHZhbHVlOiBEYXRlKSB7XG4gICAgdGhpcy5jdXJyZW50TW9udGgkLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuICAvLyNyZWdpb24gU2VsZWN0ZWREYXRlXG4gIHNlbGVjdGVkRGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGU+KG5ldyBEYXRlKCkpO1xuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkRGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgZ2V0IHNlbGVjdGVkRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZERhdGUodmFsdWU6IERhdGUpIHtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgQElucHV0KCkgZGlzYWJsZURhdGVGbj86IChkYXRlOiBEYXRlKSA9PiBib29sZWFuO1xuXG4gIHByZXZpb3VzTW9udGgoKSB7XG4gICAgdGhpcy5jdXJyZW50TW9udGgkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChtb250aCkgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50TW9udGgkLm5leHQoXG4gICAgICAgIG5ldyBEYXRlKG1vbnRoLmdldEZ1bGxZZWFyKCksIG1vbnRoLmdldE1vbnRoKCkgLSAxLCAxKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG5leHRNb250aCgpIHtcbiAgICB0aGlzLmN1cnJlbnRNb250aCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKG1vbnRoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRNb250aCQubmV4dChcbiAgICAgICAgbmV3IERhdGUobW9udGguZ2V0RnVsbFllYXIoKSwgbW9udGguZ2V0TW9udGgoKSArIDEsIDEpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaXNTYW1lRGF0ZShkYXRlMTogRGF0ZSB8IG51bGwsIGRhdGUyOiBEYXRlIHwgbnVsbCkge1xuICAgIGlmIChkYXRlMSA9PT0gbnVsbCAmJiBkYXRlMiA9PT0gbnVsbCkgcmV0dXJuIHRydWU7XG4gICAgaWYgKGRhdGUxID09PSBudWxsIHx8IGRhdGUyID09PSBudWxsKSByZXR1cm4gZmFsc2U7XG5cbiAgICByZXR1cm4gKFxuICAgICAgZGF0ZTEuZ2V0RnVsbFllYXIoKSA9PT0gZGF0ZTIuZ2V0RnVsbFllYXIoKSAmJlxuICAgICAgZGF0ZTEuZ2V0TW9udGgoKSA9PT0gZGF0ZTIuZ2V0TW9udGgoKSAmJlxuICAgICAgZGF0ZTEuZ2V0RGF0ZSgpID09PSBkYXRlMi5nZXREYXRlKClcbiAgICApO1xuICB9XG5cbiAgZ290byhkYXk6IERhdGVEYXlPZk1vbnRoIHwgbnVsbCkge1xuICAgIGlmIChkYXkgJiYgZGF5LmlzSW5Nb250aCAmJiAoIXRoaXMuZGlzYWJsZURhdGVGbiB8fCAhdGhpcy5kaXNhYmxlRGF0ZUZuKGRheS5kYXRlKSkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlJC5uZXh0KGRheS5kYXRlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjx0YWJsZSBjbGFzcz1cInRhYmxlIHctYXV0byBtYi0wXCI+XG4gICAgPHRyPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCIgKGNsaWNrKT1cInByZXZpb3VzTW9udGgoKVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY2hldnJvbkxlZnRcIiBjbGFzcz1cImZ3LWJvbGRlclwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY29sc3Bhbj1cIjZcIiBjbGFzcz1cImZ3LWJvbGRlclwiPlxuICAgICAgICAgICAge3sgY3VycmVudE1vbnRoJCB8IGFzeW5jIHwgbW9udGhOYW1lIHwgYnNVY0ZpcnN0IH19XG4gICAgICAgICAgICB7eyAoY3VycmVudE1vbnRoJCB8IGFzeW5jKT8uZ2V0RnVsbFllYXIoKSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJvcmRlci1ib3R0b20tMFwiIChjbGljayk9XCJuZXh0TW9udGgoKVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY2hldnJvblJpZ2h0XCIgY2xhc3M9XCJmdy1ib2xkZXJcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICAgIDx0cj5cbiAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgZGF5T2ZXZWVrIG9mIHNob3duRGF5cyQgfCBhc3luYzsgYnNUcmFja0J5OiAnbG9uZydcIiBbdGl0bGVdPVwiZGF5T2ZXZWVrLmxvbmdcIj5cbiAgICAgICAgICAgIHt7IGRheU9mV2Vlay5zaG9ydCB9fVxuICAgICAgICA8L3RoPlxuICAgIDwvdHI+XG4gICAgPHRyICpuZ0Zvcj1cImxldCB3ZWVrIG9mICh3ZWVrcyQgfCBhc3luYyk7IGJzVHJhY2tCeTogJ251bWJlcidcIj5cbiAgICAgICAgPHRoPlxuICAgICAgICAgICAge3sgd2Vlay5udW1iZXIgfX1cbiAgICAgICAgPC90aD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWsuZGF5c1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqYnNMZXQ9XCIoKGRheSAhPT0gbnVsbCkgJiYgZGF5LmlzSW5Nb250aCkgYXMgc2hvd1NwYW5cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpic0xldD1cIihkaXNhYmxlRGF0ZUZuICYmIGRpc2FibGVEYXRlRm4oZGF5LmRhdGUpKSBhcyBkaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8dGQgW2NsYXNzLnNlbGVjdGVkXT1cImRheSA9PT0gbnVsbCA/IGZhbHNlIDogIWRheS5pc0luTW9udGggPyBmYWxzZSA6IGlzU2FtZURhdGUoc2VsZWN0ZWREYXRlJCB8IGFzeW5jLCBkYXkuZGF0ZSlcIiBbY2xhc3MuY3Vyc29yLXBvaW50ZXJdPVwic2hvd1NwYW4gJiYgIWRpc2FibGVkXCIgKGNsaWNrKT1cImdvdG8oZGF5KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93U3BhblwiIFtjbGFzcy50ZXh0LW11dGVkXT1cImRpc2FibGVkXCI+e3sgZGF5LmRheU9mTW9udGggfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90cj5cbjwvdGFibGU+Il19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQWpDLGlDQUFpQztBQUVqQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQWlDLE1BQU0seUNBQXlDLENBQUM7QUFDcEosT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFTbEUsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUFvQixTQUF1QixFQUFVLG9CQUE0QztRQUE3RSxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQVUseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF3QjtRQTJDakcsc0JBQXNCO1FBQ3RCLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFD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QUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUVuRCxPQUFPLENBQ0wsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDM0MsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDckMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDcEMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLENBQUMsR0FBMEI7UUFDN0IsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7OEdBdEdVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGdSQ2xCaEMsa3lEQTJDUSxncUJEM0JJLFNBQVMsOENBQUUsY0FBYyxrRUFBRSxhQUFhLDZDQUFFLGVBQWU7OzJGQUV4RCxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsYUFBYSxjQUdYLElBQUksV0FDUCxDQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQztzSEFnRHRFLGtCQUFrQjtzQkFBbEMsTUFBTTtnQkFJTSxZQUFZO3NCQUF4QixLQUFLO2dCQU1XLGtCQUFrQjtzQkFBbEMsTUFBTTtnQkFJTSxZQUFZO3NCQUF4QixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cIi4vdHlwZXNcIiAvPlxuXG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJzQ2FsZW5kYXJNb250aFNlcnZpY2UsIEJzTW9udGhOYW1lUGlwZSwgQnNXZWVrZGF5TmFtZVBpcGUsIERhdGVEYXlPZk1vbnRoLCBXZWVrLCBXZWVrRGF5IH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwL2NhbGVuZGFyLW1vbnRoJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEJzTGV0RGlyZWN0aXZlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwL2xldCc7XG5pbXBvcnQgeyBCc1VjRmlyc3RQaXBlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwL3VjLWZpcnN0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtY2FsZW5kYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBCc0xldERpcmVjdGl2ZSwgQnNVY0ZpcnN0UGlwZSwgQnNNb250aE5hbWVQaXBlLCBCc1dlZWtkYXlOYW1lUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgQnNDYWxlbmRhckNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsIHByaXZhdGUgY2FsZW5kYXJNb250aFNlcnZpY2U6IEJzQ2FsZW5kYXJNb250aFNlcnZpY2UpIHtcbiAgICB0aGlzLndlZWtzJCA9IHRoaXMuY3VycmVudE1vbnRoJFxuICAgICAgLnBpcGUobWFwKChtb250aCkgPT4gdGhpcy5jYWxlbmRhck1vbnRoU2VydmljZS5nZXRXZWVrcyhtb250aCkpKTtcbiAgICB0aGlzLnNob3duRGF5cyQgPSB0aGlzLndlZWtzJFxuICAgICAgLnBpcGUoZmlsdGVyKCh3ZWVrcykgPT4gd2Vla3MubGVuZ3RoID4gMSkpXG4gICAgICAucGlwZShtYXAoKHdlZWtzKSA9PiB3ZWVrc1sxXS5kYXlzKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGRheXMpID0+IHtcbiAgICAgICAgICBjb25zdCBmaXJzdERheSA9IGRheXNbMF07XG4gICAgICAgICAgaWYgKGZpcnN0RGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gZGF5cy5tYXAoKGQpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKFxuICAgICAgICAgICAgICAgIGZpcnN0RGF5LmRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgICAgICAgICBmaXJzdERheS5kYXRlLmdldE1vbnRoKCksXG4gICAgICAgICAgICAgICAgZD8uZGF5T2ZNb250aFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICByZXR1cm4gPFdlZWtEYXk+e1xuICAgICAgICAgICAgICAgIHNob3J0OiBkYXRlLnRvTG9jYWxlU3RyaW5nKCdkZWZhdWx0JywgeyB3ZWVrZGF5OiAnc2hvcnQnIH0pLFxuICAgICAgICAgICAgICAgIGxvbmc6IGRhdGUudG9Mb2NhbGVTdHJpbmcoJ2RlZmF1bHQnLCB7IHdlZWtkYXk6ICdsb25nJyB9KVxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZShkYXRlID0+IHRoaXMuc2VsZWN0ZWREYXRlQ2hhbmdlLmVtaXQoZGF0ZSkpO1xuICAgIHRoaXMuY3VycmVudE1vbnRoJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZShtb250aCA9PiB0aGlzLmN1cnJlbnRNb250aENoYW5nZS5lbWl0KG1vbnRoKSk7XG4gICAgaW1wb3J0KCdib290c3RyYXAtaWNvbnMvaWNvbnMvY2hldnJvbi1sZWZ0LnN2ZycpLnRoZW4oKGljb24pID0+IHtcbiAgICAgIHRoaXMuY2hldnJvbkxlZnQgPSBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoaWNvbi5kZWZhdWx0KTtcbiAgICB9KTtcbiAgICBpbXBvcnQoJ2Jvb3RzdHJhcC1pY29ucy9pY29ucy9jaGV2cm9uLXJpZ2h0LnN2ZycpLnRoZW4oKGljb24pID0+IHtcbiAgICAgIHRoaXMuY2hldnJvblJpZ2h0ID0gc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGljb24uZGVmYXVsdCk7XG4gICAgfSk7XG4gIH1cblxuICBjaGV2cm9uTGVmdD86IFNhZmVIdG1sO1xuICBjaGV2cm9uUmlnaHQ/OiBTYWZlSHRtbDtcbiAgd2Vla3MkOiBPYnNlcnZhYmxlPFdlZWtbXT47XG4gIHNob3duRGF5cyQ6IE9ic2VydmFibGU8V2Vla0RheVtdPjtcblxuICAvLyNyZWdpb24gQ3VycmVudE1vbnRoXG4gIGN1cnJlbnRNb250aCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGU+KG5ldyBEYXRlKCkpO1xuICBAT3V0cHV0KCkgcHVibGljIGN1cnJlbnRNb250aENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgZ2V0IGN1cnJlbnRNb250aCgpIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50TW9udGgkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHNldCBjdXJyZW50TW9udGgodmFsdWU6IERhdGUpIHtcbiAgICB0aGlzLmN1cnJlbnRNb250aCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG4gIC8vI3JlZ2lvbiBTZWxlY3RlZERhdGVcbiAgc2VsZWN0ZWREYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0ZT4obmV3IERhdGUoKSk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWREYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICBnZXQgc2VsZWN0ZWREYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRGF0ZSQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkRGF0ZSh2YWx1ZTogRGF0ZSkge1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBASW5wdXQoKSBkaXNhYmxlRGF0ZUZuPzogKGRhdGU6IERhdGUpID0+IGJvb2xlYW47XG5cbiAgcHJldmlvdXNNb250aCgpIHtcbiAgICB0aGlzLmN1cnJlbnRNb250aCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKG1vbnRoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRNb250aCQubmV4dChcbiAgICAgICAgbmV3IERhdGUobW9udGguZ2V0RnVsbFllYXIoKSwgbW9udGguZ2V0TW9udGgoKSAtIDEsIDEpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbmV4dE1vbnRoKCkge1xuICAgIHRoaXMuY3VycmVudE1vbnRoJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgobW9udGgpID0+IHtcbiAgICAgIHRoaXMuY3VycmVudE1vbnRoJC5uZXh0KFxuICAgICAgICBuZXcgRGF0ZShtb250aC5nZXRGdWxsWWVhcigpLCBtb250aC5nZXRNb250aCgpICsgMSwgMSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpc1NhbWVEYXRlKGRhdGUxOiBEYXRlIHwgbnVsbCwgZGF0ZTI6IERhdGUgfCBudWxsKSB7XG4gICAgaWYgKGRhdGUxID09PSBudWxsICYmIGRhdGUyID09PSBudWxsKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoZGF0ZTEgPT09IG51bGwgfHwgZGF0ZTIgPT09IG51bGwpIHJldHVybiBmYWxzZTtcblxuICAgIHJldHVybiAoXG4gICAgICBkYXRlMS5nZXRGdWxsWWVhcigpID09PSBkYXRlMi5nZXRGdWxsWWVhcigpICYmXG4gICAgICBkYXRlMS5nZXRNb250aCgpID09PSBkYXRlMi5nZXRNb250aCgpICYmXG4gICAgICBkYXRlMS5nZXREYXRlKCkgPT09IGRhdGUyLmdldERhdGUoKVxuICAgICk7XG4gIH1cblxuICBnb3RvKGRheTogRGF0ZURheU9mTW9udGggfCBudWxsKSB7XG4gICAgaWYgKGRheSAmJiBkYXkuaXNJbk1vbnRoICYmICghdGhpcy5kaXNhYmxlRGF0ZUZuIHx8ICF0aGlzLmRpc2FibGVEYXRlRm4oZGF5LmRhdGUpKSkge1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUkLm5leHQoZGF5LmRhdGUpO1xuICAgIH1cbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwidGFibGUgdy1hdXRvIG1iLTBcIj5cbiAgICA8dHI+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIiAoY2xpY2spPVwicHJldmlvdXNNb250aCgpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJjaGV2cm9uTGVmdFwiIGNsYXNzPVwiZnctYm9sZGVyXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjb2xzcGFuPVwiNlwiIGNsYXNzPVwiZnctYm9sZGVyXCI+XG4gICAgICAgICAgICB7eyBjdXJyZW50TW9udGgkIHwgYXN5bmMgfCBtb250aE5hbWUgfCBic1VjRmlyc3QgfX1cbiAgICAgICAgICAgIHt7IChjdXJyZW50TW9udGgkIHwgYXN5bmMpPy5nZXRGdWxsWWVhcigpIH19XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYm9yZGVyLWJvdHRvbS0wXCIgKGNsaWNrKT1cIm5leHRNb250aCgpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJjaGV2cm9uUmlnaHRcIiBjbGFzcz1cImZ3LWJvbGRlclwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyPlxuICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgQGZvciAoZGF5T2ZXZWVrIG9mIHNob3duRGF5cyQgfCBhc3luYzsgdHJhY2sgZGF5T2ZXZWVrLmxvbmcpIHtcbiAgICAgICAgICAgIDx0aCBbdGl0bGVdPVwiZGF5T2ZXZWVrLmxvbmdcIj5cbiAgICAgICAgICAgICAgICB7eyBkYXlPZldlZWsuc2hvcnQgfX1cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgIH1cbiAgICA8L3RyPlxuICAgIEBmb3IgKHdlZWsgb2YgKHdlZWtzJCB8IGFzeW5jKTsgdHJhY2sgd2Vlay5udW1iZXIpIHtcbiAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoPlxuICAgICAgICAgICAgICAgIHt7IHdlZWsubnVtYmVyIH19XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgQGZvciAoZGF5IG9mIHdlZWsuZGF5czsgdHJhY2sgZGF5Py5kYXRlKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqYnNMZXQ9XCIoKGRheSAhPT0gbnVsbCkgJiYgZGF5LmlzSW5Nb250aCkgYXMgc2hvd1NwYW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqYnNMZXQ9XCIoZGlzYWJsZURhdGVGbiAmJiBkaXNhYmxlRGF0ZUZuKGRheS5kYXRlKSkgYXMgZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBbY2xhc3Muc2VsZWN0ZWRdPVwiZGF5ID09PSBudWxsID8gZmFsc2UgOiAhZGF5LmlzSW5Nb250aCA/IGZhbHNlIDogaXNTYW1lRGF0ZShzZWxlY3RlZERhdGUkIHwgYXN5bmMsIGRheS5kYXRlKVwiIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09XCJzaG93U3BhbiAmJiAhZGlzYWJsZWRcIiAoY2xpY2spPVwiZ290byhkYXkpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG93U3Bhbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbY2xhc3MudGV4dC1tdXRlZF09XCJkaXNhYmxlZFwiPnt7IGRheS5kYXlPZk1vbnRoIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3RyPlxuICAgIH1cbjwvdGFibGU+Il19
@@ -1,3 +1,2 @@
1
- export * from './calendar.module';
2
1
  export * from './calendar.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2NhbGVuZGFyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyLmNvbXBvbmVudCc7Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2NhbGVuZGFyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci5jb21wb25lbnQnOyJdfQ==
@@ -1,3 +1,3 @@
1
- export * from './month-name';
2
- export * from './weekday-name';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2NhbGVuZGFyLW1vbnRoL3NyYy9waXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb250aC1uYW1lJztcbmV4cG9ydCAqIGZyb20gJy4vd2Vla2RheS1uYW1lJzsiXX0=
1
+ export * from './month-name/month-name.pipe';
2
+ export * from './weekday-name/weekday-name.pipe';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2NhbGVuZGFyLW1vbnRoL3NyYy9waXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vbnRoLW5hbWUvbW9udGgtbmFtZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vd2Vla2RheS1uYW1lL3dlZWtkYXktbmFtZS5waXBlJzsiXX0=
@@ -1,6 +1,6 @@
1
1
  import { Pipe } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export class MonthNamePipe {
3
+ export class BsMonthNamePipe {
4
4
  transform(date) {
5
5
  if (date) {
6
6
  return date.toLocaleString("default", { month: 'long' });
@@ -9,14 +9,15 @@ export class MonthNamePipe {
9
9
  return '';
10
10
  }
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: MonthNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: MonthNamePipe, name: "monthName" }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsMonthNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsMonthNamePipe, isStandalone: true, name: "monthName" }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: MonthNamePipe, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsMonthNamePipe, decorators: [{
16
16
  type: Pipe,
17
17
  args: [{
18
18
  name: 'monthName',
19
- pure: true
19
+ pure: true,
20
+ standalone: true
20
21
  }]
21
22
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtbmFtZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYWxlbmRhci1tb250aC9zcmMvcGlwZXMvbW9udGgtbmFtZS9tb250aC1uYW1lLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxhQUFhO0lBRXhCLFNBQVMsQ0FBQyxJQUFpQjtRQUN6QixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQzs4R0FSVSxhQUFhOzRHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBSnpCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLElBQUksRUFBRSxJQUFJO2lCQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdtb250aE5hbWUnLFxuICBwdXJlOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE1vbnRoTmFtZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0oZGF0ZTogRGF0ZSB8IG51bGwpIHtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgcmV0dXJuIGRhdGUudG9Mb2NhbGVTdHJpbmcoXCJkZWZhdWx0XCIsIHsgbW9udGg6ICdsb25nJyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtbmFtZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYWxlbmRhci1tb250aC9zcmMvcGlwZXMvbW9udGgtbmFtZS9tb250aC1uYW1lLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxlQUFlO0lBRTFCLFNBQVMsQ0FBQyxJQUFpQjtRQUN6QixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQzs4R0FSVSxlQUFlOzRHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBTDNCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLElBQUksRUFBRSxJQUFJO29CQUNWLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnbW9udGhOYW1lJyxcbiAgcHVyZTogdHJ1ZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCc01vbnRoTmFtZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0oZGF0ZTogRGF0ZSB8IG51bGwpIHtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgcmV0dXJuIGRhdGUudG9Mb2NhbGVTdHJpbmcoXCJkZWZhdWx0XCIsIHsgbW9udGg6ICdsb25nJyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
@@ -1,17 +1,18 @@
1
1
  import { Pipe } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export class WeekdayNamePipe {
3
+ export class BsWeekdayNamePipe {
4
4
  transform(date) {
5
5
  return date.toLocaleString("default", { weekday: 'short' });
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: WeekdayNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: WeekdayNamePipe, name: "weekdayName" }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsWeekdayNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsWeekdayNamePipe, isStandalone: true, name: "weekdayName" }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: WeekdayNamePipe, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsWeekdayNamePipe, decorators: [{
11
11
  type: Pipe,
12
12
  args: [{
13
13
  name: 'weekdayName',
14
- pure: true
14
+ pure: true,
15
+ standalone: true
15
16
  }]
16
17
  }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla2RheS1uYW1lLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2NhbGVuZGFyLW1vbnRoL3NyYy9waXBlcy93ZWVrZGF5LW5hbWUvd2Vla2RheS1uYW1lLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxlQUFlO0lBRTFCLFNBQVMsQ0FBQyxJQUFVO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDOzhHQUpVLGVBQWU7NEdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3dlZWtkYXlOYW1lJyxcbiAgcHVyZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBXZWVrZGF5TmFtZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0oZGF0ZTogRGF0ZSk6IHVua25vd24ge1xuICAgIHJldHVybiBkYXRlLnRvTG9jYWxlU3RyaW5nKFwiZGVmYXVsdFwiLCB7IHdlZWtkYXk6ICdzaG9ydCcgfSk7XG4gIH1cblxufVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla2RheS1uYW1lLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL2NhbGVuZGFyLW1vbnRoL3NyYy9waXBlcy93ZWVrZGF5LW5hbWUvd2Vla2RheS1uYW1lLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsU0FBUyxDQUFDLElBQVU7UUFDbEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7OEdBSlUsaUJBQWlCOzRHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBTDdCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGFBQWE7b0JBQ25CLElBQUksRUFBRSxJQUFJO29CQUNWLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnd2Vla2RheU5hbWUnLFxuICBwdXJlOiB0cnVlLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJzV2Vla2RheU5hbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGRhdGU6IERhdGUpOiB1bmtub3duIHtcbiAgICByZXR1cm4gZGF0ZS50b0xvY2FsZVN0cmluZyhcImRlZmF1bHRcIiwgeyB3ZWVrZGF5OiAnc2hvcnQnIH0pO1xuICB9XG5cbn1cbiJdfQ==
@@ -9,8 +9,7 @@ import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/common";
10
10
  import * as i2 from "@mintplayer/ng-bootstrap/let";
11
11
  import * as i3 from "@mintplayer/ng-swiper";
12
- import * as i4 from "@mintplayer/ng-bootstrap/track-by";
13
- import * as i5 from "@mintplayer/ng-bootstrap/no-noscript";
12
+ import * as i4 from "@mintplayer/ng-bootstrap/no-noscript";
14
13
  export class BsCarouselComponent {
15
14
  constructor(platformId, cdRef) {
16
15
  this.cdRef = cdRef;
@@ -116,11 +115,11 @@ export class BsCarouselComponent {
116
115
  this.resizeObserver?.disconnect();
117
116
  }
118
117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCarouselComponent, deps: [{ token: PLATFORM_ID }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsCarouselComponent, selector: "bs-carousel", inputs: { indicators: "indicators", keyboardEvents: "keyboardEvents", animation: "animation" }, host: { listeners: { "document:keydown.ArrowLeft": "onKeyPress($event)", "document:keydown.ArrowRight": "onKeyPress($event)" }, properties: { "@.disabled": "this.animationsDisabled" } }, queries: [{ propertyName: "images", predicate: i0.forwardRef(() => BsCarouselImageDirective) }], viewQueries: [{ propertyName: "innerElement", first: true, predicate: ["innerElement"], descendants: true }, { propertyName: "swipeContainer", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isServerSide\">\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n <ng-container *ngIf=\"(imageCount$ | async) as imageCount\">\n <ng-container *ngFor=\"let image of images; bsTrackBy: 'id'; let i = index\">\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <label *ngFor=\"let image of images; bsTrackBy: 'id'; let j = index\" [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n </div>\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!isServerSide\">\n <div *ngIf=\"animation === 'slide'\" class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n <div *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'\" class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n <div *ngIf=\"animation === 'fade'\" class=\"carousel fade mx-auto\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner\">\n <ng-container *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"currentImageIndex === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n</ng-container>", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i3.BsSwipeDirective, selector: "[bsSwipe]", inputs: ["offside"] }, { kind: "directive", type: i3.BsSwipeContainerDirective, selector: "[bsSwipeContainer]", inputs: ["minimumOffset", "imageIndex"], outputs: ["imageIndexChange"], exportAs: ["bsSwipeContainer"] }, { kind: "directive", type: i4.BsTrackByDirective, selector: "[ngForBsTrackBy]", inputs: ["ngForOf", "ngForBsTrackBy"] }, { kind: "directive", type: i5.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [FadeInOutAnimation] }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.1", type: BsCarouselComponent, selector: "bs-carousel", inputs: { indicators: "indicators", keyboardEvents: "keyboardEvents", animation: "animation" }, host: { listeners: { "document:keydown.ArrowLeft": "onKeyPress($event)", "document:keydown.ArrowRight": "onKeyPress($event)" }, properties: { "@.disabled": "this.animationsDisabled" } }, queries: [{ propertyName: "images", predicate: i0.forwardRef(() => BsCarouselImageDirective) }], viewQueries: [{ propertyName: "innerElement", first: true, predicate: ["innerElement"], descendants: true }, { propertyName: "swipeContainer", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "@if (isServerSide) {\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n @if (imageCount$ | async; as imageCount) {\n @for (image of images; track image.id; let i = $index) {\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of images; track image.id; let j = $index) {\n <label [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n }\n </div>\n }\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n }\n }\n </ng-container>\n </div>\n </div>\n} @else {\n @switch (animation) {\n @case ('slide') {\n <div class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n @for (image of (images$ | async); track image.id) {\n <div class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n }\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n @case ('fade') {\n <div class=\"carousel fade mx-auto\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n @if (currentImageIndex === i) {\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut>\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n }\n }\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n }\n}", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i3.BsSwipeDirective, selector: "[bsSwipe]", inputs: ["offside"] }, { kind: "directive", type: i3.BsSwipeContainerDirective, selector: "[bsSwipeContainer]", inputs: ["minimumOffset", "imageIndex"], outputs: ["imageIndexChange"], exportAs: ["bsSwipeContainer"] }, { kind: "directive", type: i4.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [FadeInOutAnimation] }); }
120
119
  }
121
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsCarouselComponent, decorators: [{
122
121
  type: Component,
123
- args: [{ selector: 'bs-carousel', animations: [FadeInOutAnimation], template: "<ng-container *ngIf=\"isServerSide\">\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n <ng-container *ngIf=\"(imageCount$ | async) as imageCount\">\n <ng-container *ngFor=\"let image of images; bsTrackBy: 'id'; let i = index\">\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <label *ngFor=\"let image of images; bsTrackBy: 'id'; let j = index\" [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n </div>\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!isServerSide\">\n <div *ngIf=\"animation === 'slide'\" class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n <div *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'\" class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n <div *ngIf=\"animation === 'fade'\" class=\"carousel fade mx-auto\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner\">\n <ng-container *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"currentImageIndex === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n</ng-container>", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"] }]
122
+ args: [{ selector: 'bs-carousel', animations: [FadeInOutAnimation], template: "@if (isServerSide) {\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n @if (imageCount$ | async; as imageCount) {\n @for (image of images; track image.id; let i = $index) {\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of images; track image.id; let j = $index) {\n <label [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n }\n </div>\n }\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n }\n }\n </ng-container>\n </div>\n </div>\n} @else {\n @switch (animation) {\n @case ('slide') {\n <div class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n @for (image of (images$ | async); track image.id) {\n <div class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n }\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n @case ('fade') {\n <div class=\"carousel fade mx-auto\">\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner\">\n @for (image of (images$ | async); track image.id; let i = $index) {\n @if (currentImageIndex === i) {\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut>\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n }\n }\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n }\n}", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"] }]
124
123
  }], ctorParameters: () => [{ type: undefined, decorators: [{
125
124
  type: Inject,
126
125
  args: [PLATFORM_ID]
@@ -149,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
149
148
  type: HostListener,
150
149
  args: ['document:keydown.ArrowRight', ['$event']]
151
150
  }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYXJvdXNlbC9zcmMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYXJvdXNlbC9zcmMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLFdBQVcsRUFBRSxTQUFTLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFOLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7OztBQVF0RixNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQWlDLFVBQWUsRUFBVSxLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQTZCbEYsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLHNCQUFpQixHQUFHLENBQUMsQ0FBQztRQUN0QixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQTZDLElBQUksQ0FBQyxDQUFD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LENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzNCLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUlELGVBQWU7UUFDYixJQUFJLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBdkhVLG1CQUFtQixrQkFFVixXQUFXO2tHQUZwQixtQkFBbUIseVhBNkNJLHdCQUF3QiwwT0MzRDVELHk5S0FtRmUsd3pORHZFRCxDQUFDLGtCQUFrQixDQUFDOzsyRkFFckIsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGFBQWEsY0FHWCxDQUFDLGtCQUFrQixDQUFDOzswQkFJbkIsTUFBTTsyQkFBQyxXQUFXO3lFQXNDdEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVxQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0QsY0FBYztzQkFBckMsU0FBUzt1QkFBQyxXQUFXO2dCQUMyQyxNQUFNO3NCQUF0RSxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztnQkFNekIsa0JBQWtCO3NCQUFuRCxXQUFXO3VCQUFDLFlBQVk7Z0JBRUwsU0FBUztzQkFBNUIsS0FBSztnQkFhTixVQUFVO3NCQUZULFlBQVk7dUJBQUMsNEJBQTRCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNyRCxZQUFZO3VCQUFDLDZCQUE2QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgUExBVEZPUk1fSUQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmFkZUluT3V0QW5pbWF0aW9uIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctc3dpcGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc0Nhcm91c2VsSW1hZ2VEaXJlY3RpdmUgfSBmcm9tICcuLi9jYXJvdXNlbC1pbWFnZS9jYXJvdXNlbC1pbWFnZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1jYXJvdXNlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nhcm91c2VsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtGYWRlSW5PdXRBbmltYXRpb25dXG59KVxuZXhwb3J0IGNsYXNzIEJzQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IGFueSwgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmlzU2VydmVyU2lkZSA9IGlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCk7XG4gICAgdGhpcy5pbWFnZUNvdW50JCA9IHRoaXMuaW1hZ2VzJC5waXBlKG1hcCgoaW1hZ2VzKSA9PiBpbWFnZXM/Lmxlbmd0aCA/PyAwKSk7XG4gICAgdGhpcy5maXJzdEltYWdlVGVtcGxhdGUkID0gdGhpcy5pbWFnZXMkLnBpcGUobWFwKChpbWFnZXMpID0+IHtcbiAgICAgIGlmICghaW1hZ2VzKSByZXR1cm4gbnVsbDtcbiAgICAgIGlmIChpbWFnZXMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcblxuICAgICAgY29uc3QgaW1nID0gaW1hZ2VzLmdldCgwKTtcbiAgICAgIGlmICghaW1nKSByZXR1cm4gbnVsbDtcblxuICAgICAgcmV0dXJuIGltZy5pdGVtVGVtcGxhdGU7XG4gICAgfSkpO1xuICAgIHRoaXMubGFzdEltYWdlVGVtcGxhdGUkID0gdGhpcy5pbWFnZXMkLnBpcGUobWFwKChpbWFnZXMpID0+IHtcbiAgICAgIGlmICghaW1hZ2VzKSByZXR1cm4gbnVsbDtcbiAgICAgIGlmIChpbWFnZXMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcbiAgICAgIFxuICAgICAgY29uc3QgaW1nID0gaW1hZ2VzLmdldChpbWFnZXMubGVuZ3RoIC0gMSk7XG4gICAgICBpZiAoIWltZykgcmV0dXJuIG51bGw7XG5cbiAgICAgIHJldHVybiBpbWcuaXRlbVRlbXBsYXRlO1xuICAgIH0pKTtcblxuICAgIGlmICghaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBcbiAgY29sb3JzID0gQ29sb3I7XG4gIGlzU2VydmVyU2lkZTogYm9vbGVhbjtcbiAgY3VycmVudEltYWdlSW5kZXggPSAwO1xuICBpbWFnZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdWVyeUxpc3Q8QnNDYXJvdXNlbEltYWdlRGlyZWN0aXZlPiB8IG51bGw+KG51bGwpO1xuICBpbWFnZUNvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBmaXJzdEltYWdlVGVtcGxhdGUkOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPjtcbiAgbGFzdEltYWdlVGVtcGxhdGUkOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPjtcbiAgcmVzaXplT2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcjtcblxuICBASW5wdXQoKSBpbmRpY2F0b3JzID0gZmFsc2U7XG4gIEBJbnB1dCgpIGtleWJvYXJkRXZlbnRzID0gdHJ1ZTtcblxuICBAVmlld0NoaWxkKCdpbm5lckVsZW1lbnQnKSBpbm5lckVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJykgc3dpcGVDb250YWluZXIhOiBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlO1xuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gQnNDYXJvdXNlbEltYWdlRGlyZWN0aXZlKSkgc2V0IGltYWdlcyh2YWx1ZTogUXVlcnlMaXN0PEJzQ2Fyb3VzZWxJbWFnZURpcmVjdGl2ZT4pIHtcbiAgICB0aGlzLmltYWdlcyQubmV4dCh2YWx1ZSk7XG4gICAgdmFsdWUuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IGl0ZW0uaXNGaXJzdCA9IChpbmRleCA9PT0gMCkpO1xuICB9XG5cbiAgLy8jcmVnaW9uIEFuaW1hdGlvblxuICBASG9zdEJpbmRpbmcoJ0AuZGlzYWJsZWQnKSBwdWJsaWMgYW5pbWF0aW9uc0Rpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2FuaW1hdGlvbjogJ2ZhZGUnIHwgJ3NsaWRlJyA9ICdzbGlkZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgYW5pbWF0aW9uKHZhbHVlOiAnZmFkZScgfCAnc2xpZGUnKSB7XG4gICAgdGhpcy5hbmltYXRpb25zRGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuX2FuaW1hdGlvbiA9IHZhbHVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hbmltYXRpb25zRGlzYWJsZWQgPSBmYWxzZSwgMjApO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCksIDUwKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGFuaW1hdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fYW5pbWF0aW9uO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uQXJyb3dMZWZ0JywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5BcnJvd1JpZ2h0JywgWyckZXZlbnQnXSlcbiAgb25LZXlQcmVzcyhldjogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmtleWJvYXJkRXZlbnRzKSB7XG4gICAgICBzd2l0Y2ggKGV2LmtleSkge1xuICAgICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICAgIHRoaXMucHJldmlvdXNJbWFnZSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICB0aGlzLm5leHRJbWFnZSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcmV2aW91c0ltYWdlKCkge1xuICAgIHN3aXRjaCAodGhpcy5hbmltYXRpb24pIHtcbiAgICAgIGNhc2UgJ2ZhZGUnOlxuICAgICAgICBpZiAodGhpcy5jdXJyZW50SW1hZ2VJbmRleCA+IDApIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRJbWFnZUluZGV4LS07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCA9IHRoaXMuaW1hZ2VzJC52YWx1ZSEubGVuZ3RoIC0gMTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NsaWRlJzpcbiAgICAgICAgdGhpcy5zd2lwZUNvbnRhaW5lci5wcmV2aW91cygpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBuZXh0SW1hZ2UoKSB7XG4gICAgc3dpdGNoICh0aGlzLmFuaW1hdGlvbikge1xuICAgICAgY2FzZSAnZmFkZSc6XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRJbWFnZUluZGV4IDwgdGhpcy5pbWFnZXMkLnZhbHVlIS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCsrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY3VycmVudEltYWdlSW5kZXggPSAwO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2xpZGUnOlxuICAgICAgICB0aGlzLnN3aXBlQ29udGFpbmVyLm5leHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaW1hZ2VDb3VudGVyID0gMTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlcj8ub2JzZXJ2ZSh0aGlzLmlubmVyRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXI/LnVub2JzZXJ2ZSh0aGlzLmlubmVyRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NlcnZlclNpZGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwgbXgtYXV0byBub3NjcmlwdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5uZXIgZC1ncmlkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpic0xldD1cIihpbWFnZXMkIHwgYXN5bmMpIGFzIGltYWdlc1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoaW1hZ2VDb3VudCQgfCBhc3luYykgYXMgaW1hZ2VDb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbWFnZSBvZiBpbWFnZXM7IGJzVHJhY2tCeTogJ2lkJzsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIFtpZF09XCInY2FyLScgKyBpXCIgW25hbWVdPVwiJ2NhcidcIiBjbGFzcz1cImNhci1yYWRpbyBkLW5vbmVcIiBic05vTm9zY3JpcHQgW2NoZWNrZWRdPVwiaSA9PT0gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW0gZmFkZSBkLWZsZXggZmxleC1yb3cgaC0xMDAgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHBvc2l0aW9uLXJlbGF0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW1hZ2UuaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpbmRpY2F0b3JzXCIgY2xhc3M9XCJjYXJvdXNlbC1pbmRpY2F0b3JzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgKm5nRm9yPVwibGV0IGltYWdlIG9mIGltYWdlczsgYnNUcmFja0J5OiAnaWQnOyBsZXQgaiA9IGluZGV4XCIgW2F0dHIuZm9yXT1cIidjYXItJyArIChqICUgaW1hZ2VDb3VudClcIiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGpcIiBkYXRhLWJzLXRhcmdldD48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLXByZXYgY3Vyc29yLXBvaW50ZXJcIiBbZm9yXT1cIidjYXItJyArICgoaSAtIDEgKyBpbWFnZUNvdW50KSAlIGltYWdlQ291bnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlByZXZpb3VzPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dCBjdXJzb3ItcG9pbnRlclwiIFtmb3JdPVwiJ2Nhci0nICsgKChpICsgMSkgJSBpbWFnZUNvdW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5OZXh0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNTZXJ2ZXJTaWRlXCI+XG4gICAgPGRpdiAqbmdJZj1cImFuaW1hdGlvbiA9PT0gJ3NsaWRlJ1wiIGNsYXNzPVwiY2Fyb3VzZWwgc2xpZGUgbXgtYXV0b1wiIFtzdHlsZS5oZWlnaHQucHhdPVwiY29udGFpbmVyLmN1cnJlbnRTbGlkZUhlaWdodCQgfCBhc3luY1wiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5kaWNhdG9yc1wiIGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9yc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2YgKGltYWdlcyQgfCBhc3luYyk7IGJzVHJhY2tCeTogJ2lkJzsgbGV0IGkgPSBpbmRleFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY29udGFpbmVyLmdvdG8oaSlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiKGNvbnRhaW5lci5pbWFnZUluZGV4JCB8IGFzeW5jKSA9PT0gaVwiIGRhdGEtYnMtdGFyZ2V0XG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIihjb250YWluZXIuaW1hZ2VJbmRleCQgfCBhc3luYykgPT09IGkgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU2xpZGUgJyArIGlcIj48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbm5lciBvdmVyZmxvdy1oaWRkZW4gdGV4dC1ub3dyYXAgcGUtbm9uZVwiICNpbm5lckVsZW1lbnQ+XG4gICAgICAgICAgICA8ZGl2IGJzU3dpcGVDb250YWluZXIgI2NvbnRhaW5lcj1cImJzU3dpcGVDb250YWluZXJcIiBbbWluaW11bU9mZnNldF09XCI1MFwiIFsoaW1hZ2VJbmRleCldPVwiY3VycmVudEltYWdlSW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbVwiIGJzU3dpcGUgW29mZnNpZGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFzdEltYWdlVGVtcGxhdGUkIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbWFnZSBvZiAoaW1hZ2VzJCB8IGFzeW5jKTsgYnNUcmFja0J5OiAnaWQnXCIgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCIgYnNTd2lwZT5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImltYWdlLml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgYnNTd2lwZSBbb2Zmc2lkZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaXJzdEltYWdlVGVtcGxhdGUkIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldlwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicHJldmlvdXNJbWFnZSgpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5QcmV2aW91czwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLW5leHRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm5leHRJbWFnZSgpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5OZXh0PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiYW5pbWF0aW9uID09PSAnZmFkZSdcIiBjbGFzcz1cImNhcm91c2VsIGZhZGUgbXgtYXV0b1wiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5kaWNhdG9yc1wiIGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9yc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2YgKGltYWdlcyQgfCBhc3luYyk7IGJzVHJhY2tCeTogJ2lkJzsgbGV0IGkgPSBpbmRleFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY3VycmVudEltYWdlSW5kZXggPSBpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRJbWFnZUluZGV4ID09PSBpXCIgZGF0YS1icy10YXJnZXRcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiY3VycmVudEltYWdlSW5kZXggPT09IGkgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU2xpZGUgJyArIGlcIj48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbm5lclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2YgKGltYWdlcyQgfCBhc3luYyk7IGJzVHJhY2tCeTogJ2lkJzsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCIgQGZhZGVJbk91dCAqbmdJZj1cImN1cnJlbnRJbWFnZUluZGV4ID09PSBpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW1hZ2UuaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+ICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJwcmV2aW91c0ltYWdlKClcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlByZXZpb3VzPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwibmV4dEltYWdlKClcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPk5leHQ8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYXJvdXNlbC9zcmMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYXJvdXNlbC9zcmMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLFdBQVcsRUFBRSxTQUFTLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFOLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7O0FBUXRGLE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsWUFBaUMsVUFBZSxFQUFVLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBNkJsRixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRWYsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBNkMsSUFBSSxDQUFDLENBQUM7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Q0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDM0IsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBSUQsZUFBZTtRQUNiLElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDcEMsQ0FBQzs4R0F2SFUsbUJBQW1CLGtCQUVWLFdBQVc7a0dBRnBCLG1CQUFtQix5WEE2Q0ksd0JBQXdCLDBPQzNENUQsMnZNQXdHQyw4OU1ENUZhLENBQUMsa0JBQWtCLENBQUM7OzJGQUVyQixtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsYUFBYSxjQUdYLENBQUMsa0JBQWtCLENBQUM7OzBCQUluQixNQUFNOzJCQUFDLFdBQVc7eUVBc0N0QixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRXFCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDRCxjQUFjO3NCQUFyQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQzJDLE1BQU07c0JBQXRFLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2dCQU16QixrQkFBa0I7c0JBQW5ELFdBQVc7dUJBQUMsWUFBWTtnQkFFTCxTQUFTO3NCQUE1QixLQUFLO2dCQWFOLFVBQVU7c0JBRlQsWUFBWTt1QkFBQyw0QkFBNEIsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3JELFlBQVk7dUJBQUMsNkJBQTZCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBQTEFURk9STV9JRCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGYWRlSW5PdXRBbmltYXRpb24gfSBmcm9tICdAbWludHBsYXllci9uZy1hbmltYXRpb25zJztcbmltcG9ydCB7IENvbG9yIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICdAbWludHBsYXllci9uZy1zd2lwZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJzQ2Fyb3VzZWxJbWFnZURpcmVjdGl2ZSB9IGZyb20gJy4uL2Nhcm91c2VsLWltYWdlL2Nhcm91c2VsLWltYWdlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLWNhcm91c2VsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2Fyb3VzZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW0ZhZGVJbk91dEFuaW1hdGlvbl1cbn0pXG5leHBvcnQgY2xhc3MgQnNDYXJvdXNlbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogYW55LCBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuaXNTZXJ2ZXJTaWRlID0gaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKTtcbiAgICB0aGlzLmltYWdlQ291bnQkID0gdGhpcy5pbWFnZXMkLnBpcGUobWFwKChpbWFnZXMpID0+IGltYWdlcz8ubGVuZ3RoID8/IDApKTtcbiAgICB0aGlzLmZpcnN0SW1hZ2VUZW1wbGF0ZSQgPSB0aGlzLmltYWdlcyQucGlwZShtYXAoKGltYWdlcykgPT4ge1xuICAgICAgaWYgKCFpbWFnZXMpIHJldHVybiBudWxsO1xuICAgICAgaWYgKGltYWdlcy5sZW5ndGggPT09IDApIHJldHVybiBudWxsO1xuXG4gICAgICBjb25zdCBpbWcgPSBpbWFnZXMuZ2V0KDApO1xuICAgICAgaWYgKCFpbWcpIHJldHVybiBudWxsO1xuXG4gICAgICByZXR1cm4gaW1nLml0ZW1UZW1wbGF0ZTtcbiAgICB9KSk7XG4gICAgdGhpcy5sYXN0SW1hZ2VUZW1wbGF0ZSQgPSB0aGlzLmltYWdlcyQucGlwZShtYXAoKGltYWdlcykgPT4ge1xuICAgICAgaWYgKCFpbWFnZXMpIHJldHVybiBudWxsO1xuICAgICAgaWYgKGltYWdlcy5sZW5ndGggPT09IDApIHJldHVybiBudWxsO1xuICAgICAgXG4gICAgICBjb25zdCBpbWcgPSBpbWFnZXMuZ2V0KGltYWdlcy5sZW5ndGggLSAxKTtcbiAgICAgIGlmICghaW1nKSByZXR1cm4gbnVsbDtcblxuICAgICAgcmV0dXJuIGltZy5pdGVtVGVtcGxhdGU7XG4gICAgfSkpO1xuXG4gICAgaWYgKCFpc1BsYXRmb3JtU2VydmVyKHBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKChlbnRyaWVzKSA9PiB7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIFxuICBjb2xvcnMgPSBDb2xvcjtcbiAgaXNTZXJ2ZXJTaWRlOiBib29sZWFuO1xuICBjdXJyZW50SW1hZ2VJbmRleCA9IDA7XG4gIGltYWdlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1ZXJ5TGlzdDxCc0Nhcm91c2VsSW1hZ2VEaXJlY3RpdmU+IHwgbnVsbD4obnVsbCk7XG4gIGltYWdlQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIGZpcnN0SW1hZ2VUZW1wbGF0ZSQ6IE9ic2VydmFibGU8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+O1xuICBsYXN0SW1hZ2VUZW1wbGF0ZSQ6IE9ic2VydmFibGU8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+O1xuICByZXNpemVPYnNlcnZlcj86IFJlc2l6ZU9ic2VydmVyO1xuXG4gIEBJbnB1dCgpIGluZGljYXRvcnMgPSBmYWxzZTtcbiAgQElucHV0KCkga2V5Ym9hcmRFdmVudHMgPSB0cnVlO1xuXG4gIEBWaWV3Q2hpbGQoJ2lubmVyRWxlbWVudCcpIGlubmVyRWxlbWVudCE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdjb250YWluZXInKSBzd2lwZUNvbnRhaW5lciE6IEJzU3dpcGVDb250YWluZXJEaXJlY3RpdmU7XG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBCc0Nhcm91c2VsSW1hZ2VEaXJlY3RpdmUpKSBzZXQgaW1hZ2VzKHZhbHVlOiBRdWVyeUxpc3Q8QnNDYXJvdXNlbEltYWdlRGlyZWN0aXZlPikge1xuICAgIHRoaXMuaW1hZ2VzJC5uZXh0KHZhbHVlKTtcbiAgICB2YWx1ZS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4gaXRlbS5pc0ZpcnN0ID0gKGluZGV4ID09PSAwKSk7XG4gIH1cblxuICAvLyNyZWdpb24gQW5pbWF0aW9uXG4gIEBIb3N0QmluZGluZygnQC5kaXNhYmxlZCcpIHB1YmxpYyBhbmltYXRpb25zRGlzYWJsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfYW5pbWF0aW9uOiAnZmFkZScgfCAnc2xpZGUnID0gJ3NsaWRlJztcbiAgQElucHV0KCkgcHVibGljIHNldCBhbmltYXRpb24odmFsdWU6ICdmYWRlJyB8ICdzbGlkZScpIHtcbiAgICB0aGlzLmFuaW1hdGlvbnNEaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5fYW5pbWF0aW9uID0gdmFsdWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFuaW1hdGlvbnNEaXNhYmxlZCA9IGZhbHNlLCAyMCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKSwgNTApO1xuICB9XG4gIHB1YmxpYyBnZXQgYW5pbWF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9hbmltYXRpb247XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5BcnJvd0xlZnQnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLkFycm93UmlnaHQnLCBbJyRldmVudCddKVxuICBvbktleVByZXNzKGV2OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMua2V5Ym9hcmRFdmVudHMpIHtcbiAgICAgIHN3aXRjaCAoZXYua2V5KSB7XG4gICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgdGhpcy5wcmV2aW91c0ltYWdlKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICAgIHRoaXMubmV4dEltYWdlKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByZXZpb3VzSW1hZ2UoKSB7XG4gICAgc3dpdGNoICh0aGlzLmFuaW1hdGlvbikge1xuICAgICAgY2FzZSAnZmFkZSc6XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRJbWFnZUluZGV4ID4gMCkge1xuICAgICAgICAgIHRoaXMuY3VycmVudEltYWdlSW5kZXgtLTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRJbWFnZUluZGV4ID0gdGhpcy5pbWFnZXMkLnZhbHVlIS5sZW5ndGggLSAxO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2xpZGUnOlxuICAgICAgICB0aGlzLnN3aXBlQ29udGFpbmVyLnByZXZpb3VzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIG5leHRJbWFnZSgpIHtcbiAgICBzd2l0Y2ggKHRoaXMuYW5pbWF0aW9uKSB7XG4gICAgICBjYXNlICdmYWRlJzpcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudEltYWdlSW5kZXggPCB0aGlzLmltYWdlcyQudmFsdWUhLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRJbWFnZUluZGV4Kys7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzbGlkZSc6XG4gICAgICAgIHRoaXMuc3dpcGVDb250YWluZXIubmV4dCgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpbWFnZUNvdW50ZXIgPSAxO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5vYnNlcnZlKHRoaXMuaW5uZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlcj8udW5vYnNlcnZlKHRoaXMuaW5uZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgfVxufVxuIiwiQGlmIChpc1NlcnZlclNpZGUpIHtcbiAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwgbXgtYXV0byBub3NjcmlwdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5uZXIgZC1ncmlkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpic0xldD1cIihpbWFnZXMkIHwgYXN5bmMpIGFzIGltYWdlc1wiPlxuICAgICAgICAgICAgICAgIEBpZiAoaW1hZ2VDb3VudCQgfCBhc3luYzsgYXMgaW1hZ2VDb3VudCkge1xuICAgICAgICAgICAgICAgICAgICBAZm9yIChpbWFnZSBvZiBpbWFnZXM7IHRyYWNrIGltYWdlLmlkOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIFtpZF09XCInY2FyLScgKyBpXCIgW25hbWVdPVwiJ2NhcidcIiBjbGFzcz1cImNhci1yYWRpbyBkLW5vbmVcIiBic05vTm9zY3JpcHQgW2NoZWNrZWRdPVwiaSA9PT0gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW0gZmFkZSBkLWZsZXggZmxleC1yb3cgaC0xMDAgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHBvc2l0aW9uLXJlbGF0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW1hZ2UuaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaW5kaWNhdG9ycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWluZGljYXRvcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpbWFnZSBvZiBpbWFnZXM7IHRyYWNrIGltYWdlLmlkOyBsZXQgaiA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgW2F0dHIuZm9yXT1cIidjYXItJyArIChqICUgaW1hZ2VDb3VudClcIiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGpcIiBkYXRhLWJzLXRhcmdldD48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2IGN1cnNvci1wb2ludGVyXCIgW2Zvcl09XCInY2FyLScgKyAoKGkgLSAxICsgaW1hZ2VDb3VudCkgJSBpbWFnZUNvdW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5QcmV2aW91czwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLW5leHQgY3Vyc29yLXBvaW50ZXJcIiBbZm9yXT1cIidjYXItJyArICgoaSArIDEpICUgaW1hZ2VDb3VudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+TmV4dDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG59IEBlbHNlIHtcbiAgICBAc3dpdGNoIChhbmltYXRpb24pIHtcbiAgICAgICAgQGNhc2UgKCdzbGlkZScpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbCBzbGlkZSBteC1hdXRvXCIgW3N0eWxlLmhlaWdodC5weF09XCJjb250YWluZXIuY3VycmVudFNsaWRlSGVpZ2h0JCB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgQGlmIChpbmRpY2F0b3JzKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbmRpY2F0b3JzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpbWFnZSBvZiAoaW1hZ2VzJCB8IGFzeW5jKTsgdHJhY2sgaW1hZ2UuaWQ7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNvbnRhaW5lci5nb3RvKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCIoY29udGFpbmVyLmltYWdlSW5kZXgkIHwgYXN5bmMpID09PSBpXCIgZGF0YS1icy10YXJnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIihjb250YWluZXIuaW1hZ2VJbmRleCQgfCBhc3luYykgPT09IGkgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NsaWRlICcgKyBpXCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5uZXIgb3ZlcmZsb3ctaGlkZGVuIHRleHQtbm93cmFwIHBlLW5vbmVcIiAjaW5uZXJFbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGJzU3dpcGVDb250YWluZXIgI2NvbnRhaW5lcj1cImJzU3dpcGVDb250YWluZXJcIiBbbWluaW11bU9mZnNldF09XCI1MFwiIFsoaW1hZ2VJbmRleCldPVwiY3VycmVudEltYWdlSW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgYnNTd2lwZSBbb2Zmc2lkZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhc3RJbWFnZVRlbXBsYXRlJCB8IGFzeW5jXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGltYWdlIG9mIChpbWFnZXMkIHwgYXN5bmMpOyB0cmFjayBpbWFnZS5pZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCIgYnNTd2lwZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImltYWdlLml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW1cIiBic1N3aXBlIFtvZmZzaWRlXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlyc3RJbWFnZVRlbXBsYXRlJCB8IGFzeW5jXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldlwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicHJldmlvdXNJbWFnZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+UHJldmlvdXM8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwibmV4dEltYWdlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5OZXh0PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCdmYWRlJykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsIGZhZGUgbXgtYXV0b1wiPlxuICAgICAgICAgICAgICAgIEBpZiAoaW5kaWNhdG9ycykge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9yc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaW1hZ2Ugb2YgKGltYWdlcyQgfCBhc3luYyk7IHRyYWNrIGltYWdlLmlkOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjdXJyZW50SW1hZ2VJbmRleCA9IGlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRJbWFnZUluZGV4ID09PSBpXCIgZGF0YS1icy10YXJnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImN1cnJlbnRJbWFnZUluZGV4ID09PSBpID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTbGlkZSAnICsgaVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWlubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGltYWdlIG9mIChpbWFnZXMkIHwgYXN5bmMpOyB0cmFjayBpbWFnZS5pZDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoY3VycmVudEltYWdlSW5kZXggPT09IGkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwidHJ1ZVwiIEBmYWRlSW5PdXQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW1hZ2UuaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+ICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldlwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicHJldmlvdXNJbWFnZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+UHJldmlvdXM8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwibmV4dEltYWdlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5OZXh0PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICB9XG59Il19