@sbb-esta/lyne-elements 4.10.0 → 4.12.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 (576) hide show
  1. package/autocomplete/autocomplete-base-element.js +1 -1
  2. package/autocomplete/autocomplete.component.js +3 -2
  3. package/{autocomplete-base-element-DarHnnYC.js → autocomplete-base-element-De2O5Wx-.js} +14 -9
  4. package/autocomplete.js +1 -1
  5. package/autocomplete.pure.js +1 -1
  6. package/{block-link-common-DzGY49Xc.js → block-link-common-1kRa_czx.js} +1 -1
  7. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  8. package/breadcrumb/breadcrumb-group.js +1 -1
  9. package/{breadcrumb-group.component-Cc6CHbVy.js → breadcrumb-group.component-CKNsaUqs.js} +1 -1
  10. package/breadcrumb.js +1 -1
  11. package/breadcrumb.pure.js +1 -1
  12. package/button/common/button-common.js +1 -1
  13. package/button/common.js +1 -1
  14. package/button-common-BMEhm-dn.js +87 -0
  15. package/button.js +1 -1
  16. package/button.pure.js +1 -1
  17. package/calendar/calendar/calendar.component.js +1 -1
  18. package/calendar/calendar.js +1 -1
  19. package/{calendar.component-DhmaJt2k.js → calendar.component-C1jk_uE0.js} +5 -5
  20. package/calendar.js +1 -1
  21. package/calendar.pure.js +1 -1
  22. package/card/card-badge/card-badge.component.js +1 -1
  23. package/card/card-badge.js +1 -1
  24. package/{card-badge.component-BSOEYrN4.js → card-badge.component-D0r2iixU.js} +1 -1
  25. package/card.js +1 -1
  26. package/card.pure.js +1 -1
  27. package/checkbox/checkbox.component.js +1 -1
  28. package/checkbox/checkbox.js +1 -1
  29. package/checkbox/common/checkbox-common.js +1 -1
  30. package/checkbox/common.js +1 -1
  31. package/{checkbox-common-DdieysTG.js → checkbox-common-BpW4_bbi.js} +1 -1
  32. package/{checkbox.component-ROzxEnPh.js → checkbox.component-DS48CA_v.js} +1 -1
  33. package/checkbox.js +2 -2
  34. package/checkbox.pure.js +2 -2
  35. package/chip/chip-group/chip-group.component.js +1 -1
  36. package/chip/chip-group.js +1 -1
  37. package/{chip-group.component-DJzUToem.js → chip-group.component-BqBYzfXA.js} +1 -1
  38. package/chip.js +1 -1
  39. package/chip.pure.js +1 -1
  40. package/{compact-paginator.component-Cyi-t_YD.js → compact-paginator.component-BIAPutro.js} +1 -1
  41. package/core/base-elements/element.js +1 -1
  42. package/core/controllers/overlay-position-controller.js +4 -1
  43. package/core/mixins/named-slot-list-mixin.js +4 -1
  44. package/core/styles/core.scss +62 -77
  45. package/core/styles/mixins/helpers.scss +3 -3
  46. package/core/styles/mixins/overlay.scss +2 -2
  47. package/core/styles/mixins/table.scss +18 -19
  48. package/core/styles/mixins/typo.scss +2 -2
  49. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss +8 -0
  50. package/core/styles/theme.scss +3 -1
  51. package/core.css +177 -73
  52. package/custom-elements.json +1387 -1092
  53. package/development/autocomplete/autocomplete-base-element.d.ts +8 -1
  54. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  55. package/development/autocomplete/autocomplete-base-element.js +1 -1
  56. package/development/autocomplete/autocomplete.component.js +4 -3
  57. package/development/autocomplete-base-element-BpCpYcX9.js +692 -0
  58. package/development/autocomplete.js +1 -1
  59. package/development/autocomplete.pure.js +1 -1
  60. package/development/{block-link-common-GckvjULA.js → block-link-common-COY1RI1I.js} +2 -2
  61. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  62. package/development/breadcrumb/breadcrumb-group.js +1 -1
  63. package/development/breadcrumb-group.component-DZslNBlB.js +195 -0
  64. package/development/breadcrumb.js +1 -1
  65. package/development/breadcrumb.pure.js +1 -1
  66. package/development/button/common/button-common.js +1 -1
  67. package/development/button/common.js +1 -1
  68. package/development/{button-common-CAu09Yim.js → button-common-7dmrUx4A.js} +3 -3
  69. package/development/button.js +1 -1
  70. package/development/button.pure.js +1 -1
  71. package/development/calendar/calendar/calendar.component.js +1 -1
  72. package/development/calendar/calendar.js +1 -1
  73. package/development/calendar-cell-base-element-BXohfDSl.js +1 -1
  74. package/development/calendar.component-Dg3D2A7k.js +1453 -0
  75. package/development/calendar.js +1 -1
  76. package/development/calendar.pure.js +1 -1
  77. package/development/card/card-badge/card-badge.component.js +1 -1
  78. package/development/card/card-badge.js +1 -1
  79. package/development/card-action-common-1FDHbfeR.js +1 -1
  80. package/development/card-badge.component-CUZIoVbL.js +84 -0
  81. package/development/card.js +1 -1
  82. package/development/card.pure.js +1 -1
  83. package/development/carousel-list.component-L-nYpHcN.js +1 -1
  84. package/development/carousel.component-Dl48ROSf.js +1 -1
  85. package/development/checkbox/checkbox.component.js +1 -1
  86. package/development/checkbox/checkbox.js +1 -1
  87. package/development/checkbox/common/checkbox-common.js +1 -1
  88. package/development/checkbox/common.js +1 -1
  89. package/development/checkbox-common-Dd5uup8K.js +86 -0
  90. package/development/checkbox-group/checkbox-group.component.js +1 -1
  91. package/development/{checkbox.component-D3_FFSys.js → checkbox.component-CFZrwUTA.js} +2 -2
  92. package/development/checkbox.js +2 -2
  93. package/development/checkbox.pure.js +2 -2
  94. package/development/chip/chip-group/chip-group.component.js +1 -1
  95. package/development/chip/chip-group.js +1 -1
  96. package/development/chip-group.component-BVfHWX2-.js +409 -0
  97. package/development/chip.js +1 -1
  98. package/development/chip.pure.js +1 -1
  99. package/development/clock.component-CVPv4mCp.js +1 -1
  100. package/development/compact-paginator.component-5_Q2Reul.js +51 -0
  101. package/development/core/a11y/input-modality-detector.js +1 -1
  102. package/development/core/base-elements/element.d.ts.map +1 -1
  103. package/development/core/base-elements/element.js +2 -5
  104. package/development/core/controllers/media-matchers-controller.js +1 -1
  105. package/development/core/controllers/overlay-position-controller.js +3 -2
  106. package/development/core/datetime/date-adapter.js +1 -1
  107. package/development/core/datetime/native-date-adapter.js +1 -1
  108. package/development/core/datetime/temporal-date-adapter.js +1 -1
  109. package/development/core/eventing/throttle.d.ts +1 -0
  110. package/development/core/eventing/throttle.d.ts.map +1 -1
  111. package/development/core/eventing/throttle.js +2 -1
  112. package/development/core/mixins/disabled-mixin.js +1 -1
  113. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  114. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  115. package/development/core/mixins/form-associated-mixin.js +1 -1
  116. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  117. package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
  118. package/development/core/mixins/named-slot-list-mixin.js +5 -2
  119. package/development/core/mixins/negative-mixin.js +1 -1
  120. package/development/core/mixins/readonly-mixin.js +1 -1
  121. package/development/core/mixins/required-mixin.js +1 -1
  122. package/development/core/testing/event-spy.js +1 -1
  123. package/development/datepicker/common/datepicker-button.d.ts +6 -0
  124. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  125. package/development/datepicker/common/datepicker-button.js +1 -1
  126. package/development/datepicker/common.js +1 -1
  127. package/development/datepicker/datepicker/datepicker.component.d.ts +3 -0
  128. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  129. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  130. package/development/datepicker/datepicker.js +1 -1
  131. package/development/datepicker-button-CUPeoQgH.js +169 -0
  132. package/development/datepicker.component-D2DxFng_.js +216 -0
  133. package/development/datepicker.js +2 -2
  134. package/development/datepicker.pure.js +2 -2
  135. package/development/dialog/dialog/dialog.component.js +1 -1
  136. package/development/dialog/dialog.js +1 -1
  137. package/development/{dialog.component-TBiL0Sdq.js → dialog.component-DKuR4u-y.js} +2 -2
  138. package/development/dialog.js +1 -1
  139. package/development/dialog.pure.js +1 -1
  140. package/development/error.component-OBpWoVRL.js +55 -0
  141. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  142. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  143. package/development/expansion-panel/expansion-panel-header.js +1 -1
  144. package/development/expansion-panel/expansion-panel.js +1 -1
  145. package/development/expansion-panel-header.component-BEAabEE0.js +85 -0
  146. package/development/{expansion-panel.component-PDUmZe7w.js → expansion-panel.component-CV_IuWZA.js} +2 -2
  147. package/development/expansion-panel.js +2 -2
  148. package/development/expansion-panel.pure.js +2 -2
  149. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  150. package/development/file-selector/common/file-selector-common.js +1 -1
  151. package/development/file-selector/common.js +1 -1
  152. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  153. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  154. package/development/file-selector/file-selector-dropzone.js +1 -1
  155. package/development/file-selector-common-C7xIEiV4.js +416 -0
  156. package/development/file-selector-dropzone.component-BAWMZW4F.js +111 -0
  157. package/development/file-selector.js +2 -2
  158. package/development/file-selector.pure.js +2 -2
  159. package/development/footer/footer.component.js +1 -1
  160. package/development/footer.component-BmDkxYW9.js +172 -0
  161. package/development/footer.js +1 -1
  162. package/development/footer.pure.js +1 -1
  163. package/development/form-field/error/error.component.js +1 -1
  164. package/development/form-field/error.js +1 -1
  165. package/development/form-field/form-field/form-field.component.d.ts +6 -0
  166. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  167. package/development/form-field/form-field/form-field.component.js +1 -1
  168. package/development/form-field/form-field-clear/form-field-clear.component.d.ts +3 -0
  169. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  170. package/development/form-field/form-field-clear/form-field-clear.component.js +4 -1
  171. package/development/form-field/form-field.js +1 -1
  172. package/development/form-field/hint/hint.component.js +1 -1
  173. package/development/form-field.component-BU3Sv2mD.js +707 -0
  174. package/development/form-field.js +3 -3
  175. package/development/form-field.pure.js +3 -3
  176. package/development/header/header/header.component.js +1 -1
  177. package/development/header/header.js +1 -1
  178. package/development/header-action-common-MTYV0dqA.js +1 -1
  179. package/development/header.component-CWJ36jF0.js +340 -0
  180. package/development/header.js +1 -1
  181. package/development/header.pure.js +1 -1
  182. package/development/hint.component-DUtL0RS3.js +38 -0
  183. package/development/icon/icon-name-mixin.js +1 -1
  184. package/development/image.component-BD0jc-u-.js +1 -1
  185. package/development/link/common/block-link-common.js +1 -1
  186. package/development/link/common.js +1 -1
  187. package/development/link-common-DJ2FfG_Q.js +1 -1
  188. package/development/link-list-base-CKMNz30d.js +1 -1
  189. package/development/link.js +1 -1
  190. package/development/link.pure.js +1 -1
  191. package/development/message/message.component.js +1 -1
  192. package/development/message.component-Dlf5V5ba.js +44 -0
  193. package/development/message.js +1 -1
  194. package/development/message.pure.js +1 -1
  195. package/development/mini-calendar.component-BufzKw74.js +1 -1
  196. package/development/navigation/common/navigation-action-common.js +1 -1
  197. package/development/navigation/common.js +1 -1
  198. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  199. package/development/navigation/navigation-marker.js +1 -1
  200. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  201. package/development/navigation/navigation-section.js +1 -1
  202. package/development/{navigation-action-common-DpBp7-eZ.js → navigation-action-common-Hjr4dI9J.js} +2 -2
  203. package/development/{navigation-marker.component-BpZdT4xz.js → navigation-marker.component-GOv42emC.js} +2 -2
  204. package/development/{navigation-section.component-CtZtuacK.js → navigation-section.component-CnVrRETN.js} +2 -2
  205. package/development/navigation.component-CTNQ1dix.js +1 -1
  206. package/development/navigation.js +3 -3
  207. package/development/navigation.pure.js +3 -3
  208. package/development/notification/notification.component.js +1 -1
  209. package/development/notification.component-Cvq_uViC.js +274 -0
  210. package/development/notification.js +1 -1
  211. package/development/notification.pure.js +1 -1
  212. package/development/option/option/option-base-element.d.ts.map +1 -1
  213. package/development/option/option/option-base-element.js +3 -1
  214. package/development/option/option/option.component.js +1 -1
  215. package/development/option/option.js +1 -1
  216. package/development/option.component-CRVr0PfV.js +130 -0
  217. package/development/option.js +1 -1
  218. package/development/option.pure.js +1 -1
  219. package/development/paginator/common/paginator-common.js +1 -1
  220. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  221. package/development/paginator/compact-paginator.js +1 -1
  222. package/development/paginator/paginator/paginator.component.js +1 -1
  223. package/development/paginator/paginator.js +1 -1
  224. package/development/paginator.component-Bn5tK0FK.js +259 -0
  225. package/development/paginator.js +2 -2
  226. package/development/paginator.pure.js +2 -2
  227. package/development/panel-mixin-Dj_rsgL9.js +1 -1
  228. package/development/popover/popover.component.d.ts +1 -0
  229. package/development/popover/popover.component.d.ts.map +1 -1
  230. package/development/popover/popover.component.js +1 -1
  231. package/development/popover.component-rZb6B9uW.js +546 -0
  232. package/development/popover.js +1 -1
  233. package/development/popover.pure.js +1 -1
  234. package/development/radio-button/common/radio-button-common.js +1 -1
  235. package/development/radio-button/common.js +1 -1
  236. package/development/radio-button/radio-button.component.js +1 -1
  237. package/development/radio-button/radio-button.js +1 -1
  238. package/development/radio-button-common--d3WX-ZM.js +126 -0
  239. package/development/radio-button-panel/radio-button-panel.component.js +1 -1
  240. package/development/{radio-button.component-BrQF2FfA.js → radio-button.component-BauLEeCV.js} +2 -2
  241. package/development/radio-button.js +2 -2
  242. package/development/radio-button.pure.js +2 -2
  243. package/development/select/select.component.d.ts.map +1 -1
  244. package/development/select/select.component.js +1 -1
  245. package/development/select.component-D9SFG7Lk.js +814 -0
  246. package/development/select.js +1 -1
  247. package/development/select.pure.js +1 -1
  248. package/development/sidebar/sidebar/sidebar.component.d.ts +1 -0
  249. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  250. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  251. package/development/sidebar/sidebar.js +1 -1
  252. package/development/sidebar-container.component-BDSoDAym.js +1 -1
  253. package/development/{sidebar.component-DvRTyNry.js → sidebar.component-BLqO52nH.js} +8 -1
  254. package/development/sidebar.js +1 -1
  255. package/development/sidebar.pure.js +1 -1
  256. package/development/slider/slider.component.js +1 -1
  257. package/development/{slider.component-BjfLnUvP.js → slider.component-C3qZB6ar.js} +2 -2
  258. package/development/slider.js +1 -1
  259. package/development/slider.pure.js +1 -1
  260. package/development/status/status.component.js +1 -1
  261. package/development/status.component-CPi1cPN0.js +111 -0
  262. package/development/status.js +1 -1
  263. package/development/status.pure.js +1 -1
  264. package/development/step-label.component-BJ9eainz.js +131 -0
  265. package/development/stepper/step-label/step-label.component.js +1 -1
  266. package/development/stepper/step-label.js +1 -1
  267. package/development/stepper.component-CxOBayI1.js +1 -1
  268. package/development/stepper.js +1 -1
  269. package/development/stepper.pure.js +1 -1
  270. package/development/sticky-bar.component-Dzrdsnxu.js +1 -1
  271. package/development/styles-D8-q-irv.js +1 -1
  272. package/development/styles-Jlhoev1S.js +14 -0
  273. package/development/tab-group.component-DldBA45K.js +275 -0
  274. package/development/{tab-label.component-14j2eh4Z.js → tab-label.component-B9e9kgVf.js} +2 -2
  275. package/development/tabs/common/styles.js +1 -1
  276. package/development/tabs/common.js +1 -1
  277. package/development/tabs/tab-group/tab-group.component.d.ts +1 -0
  278. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  279. package/development/tabs/tab-group/tab-group.component.js +1 -1
  280. package/development/tabs/tab-group.js +1 -1
  281. package/development/tabs/tab-label/tab-label.component.js +1 -1
  282. package/development/tabs/tab-label.js +1 -1
  283. package/development/tabs.js +3 -3
  284. package/development/tabs.pure.js +3 -3
  285. package/development/tag/tag/tag.component.js +1 -1
  286. package/development/tag/tag.js +1 -1
  287. package/development/tag.component-Bl1nlIXQ.js +245 -0
  288. package/development/tag.js +1 -1
  289. package/development/tag.pure.js +1 -1
  290. package/development/teaser-hero/teaser-hero.component.js +1 -1
  291. package/development/{teaser-hero.component-DNlc8Tbl.js → teaser-hero.component-BIOpoGME.js} +2 -2
  292. package/development/teaser-hero.js +1 -1
  293. package/development/teaser-hero.pure.js +1 -1
  294. package/development/teaser-product-common-DYX370pm.js +1 -1
  295. package/development/time-input.component-BtdSR8kB.js +1 -1
  296. package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
  297. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  298. package/development/timetable-form/timetable-form-details.js +1 -1
  299. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  300. package/development/timetable-form/timetable-form-field.js +1 -1
  301. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +3 -0
  302. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -1
  303. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  304. package/development/timetable-form/timetable-form-swap-button.js +1 -1
  305. package/development/timetable-form/timetable-form.js +1 -1
  306. package/development/timetable-form-details.component-DJl5Qt9y.js +26 -0
  307. package/development/timetable-form-field.component-DQ_TzcF4.js +44 -0
  308. package/development/{timetable-form-swap-button.component-BUKUjrpl.js → timetable-form-swap-button.component-Bh9aPmdn.js} +4 -1
  309. package/development/timetable-form.component-N8h4JBlH.js +27 -0
  310. package/development/timetable-form.js +4 -4
  311. package/development/timetable-form.pure.js +4 -4
  312. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  313. package/development/timetable-occupancy.component-BBcznUh0.js +124 -0
  314. package/development/timetable-occupancy.js +1 -1
  315. package/development/timetable-occupancy.pure.js +1 -1
  316. package/development/title/title-base.js +1 -1
  317. package/development/title/title.component.js +1 -1
  318. package/development/{title-base-CBE_2Hkb.js → title-base-BdYKwj3-.js} +2 -2
  319. package/development/{title.component-Dk23JVct.js → title.component-DSXVkddh.js} +2 -2
  320. package/development/title.js +2 -2
  321. package/development/title.pure.js +2 -2
  322. package/development/toast/toast.component.js +1 -1
  323. package/development/toast.component-IhHx0Qt3.js +275 -0
  324. package/development/toast.js +1 -1
  325. package/development/toast.pure.js +1 -1
  326. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  327. package/development/toggle/toggle/toggle.component.js +1 -1
  328. package/development/toggle/toggle-option/toggle-option.component.d.ts +1 -0
  329. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  330. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  331. package/development/toggle/toggle-option.js +1 -1
  332. package/development/toggle/toggle.js +1 -1
  333. package/development/toggle-check/toggle-check.component.js +1 -1
  334. package/development/toggle-check.component-_fDAuLob.js +159 -0
  335. package/development/toggle-check.js +1 -1
  336. package/development/toggle-check.pure.js +1 -1
  337. package/development/toggle-option.component-DTS3a603.js +167 -0
  338. package/development/toggle.component-BJpD1b9H.js +249 -0
  339. package/development/toggle.js +2 -2
  340. package/development/toggle.pure.js +2 -2
  341. package/development/tooltip/tooltip.component.js +1 -1
  342. package/development/tooltip.component-YaUQA-Id.js +378 -0
  343. package/development/tooltip.js +1 -1
  344. package/development/tooltip.pure.js +1 -1
  345. package/development/train/train-wagon/train-wagon.component.js +1 -1
  346. package/development/train/train-wagon.js +1 -1
  347. package/development/{train-wagon.component-BzA8-S_6.js → train-wagon.component-CNxkffOO.js} +2 -2
  348. package/development/train.js +1 -1
  349. package/development/train.pure.js +1 -1
  350. package/dialog/dialog/dialog.component.js +1 -1
  351. package/dialog/dialog.js +1 -1
  352. package/{dialog.component-B3oQbMki.js → dialog.component-Dv5ch5mh.js} +1 -1
  353. package/dialog.js +1 -1
  354. package/dialog.pure.js +1 -1
  355. package/{error.component-B_D8WUP5.js → error.component-DH9Obd7a.js} +1 -1
  356. package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  357. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  358. package/expansion-panel/expansion-panel-header.js +1 -1
  359. package/expansion-panel/expansion-panel.js +1 -1
  360. package/{expansion-panel-header.component-B_dQ3ZWT.js → expansion-panel-header.component-FPoEEoZR.js} +1 -1
  361. package/{expansion-panel.component-BJCjwcoj.js → expansion-panel.component-DBnZ6IgB.js} +1 -1
  362. package/expansion-panel.js +2 -2
  363. package/expansion-panel.pure.js +2 -2
  364. package/file-selector/common/file-selector-common.js +1 -1
  365. package/file-selector/common.js +1 -1
  366. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  367. package/file-selector/file-selector-dropzone.js +1 -1
  368. package/{file-selector-common-DN4vHMpP.js → file-selector-common-BL9mM4SZ.js} +38 -40
  369. package/{file-selector-dropzone.component-CBKsZsC2.js → file-selector-dropzone.component-Ctar2kEw.js} +3 -4
  370. package/file-selector.js +2 -2
  371. package/file-selector.pure.js +2 -2
  372. package/footer/footer.component.js +1 -1
  373. package/{footer.component-BM91Utiz.js → footer.component-b2docCY_.js} +1 -1
  374. package/footer.js +1 -1
  375. package/footer.pure.js +1 -1
  376. package/form-field/error/error.component.js +1 -1
  377. package/form-field/error.js +1 -1
  378. package/form-field/form-field/form-field.component.js +1 -1
  379. package/form-field/form-field.js +1 -1
  380. package/form-field/hint/hint.component.js +1 -1
  381. package/{form-field.component-D50q1wC0.js → form-field.component-BwZDRKbQ.js} +17 -16
  382. package/form-field.js +3 -3
  383. package/form-field.pure.js +3 -3
  384. package/header/header/header.component.js +1 -1
  385. package/header/header.js +1 -1
  386. package/{header.component-hZqs06Yh.js → header.component-UQUFcMOD.js} +1 -1
  387. package/header.js +1 -1
  388. package/header.pure.js +1 -1
  389. package/{hint.component-BVUUrSSu.js → hint.component-CE2D2TLU.js} +1 -1
  390. package/link/common/block-link-common.js +1 -1
  391. package/link/common.js +1 -1
  392. package/link.js +1 -1
  393. package/link.pure.js +1 -1
  394. package/message/message.component.js +1 -1
  395. package/message.component-DhN-aFms.js +27 -0
  396. package/message.js +1 -1
  397. package/message.pure.js +1 -1
  398. package/navigation/common/navigation-action-common.js +1 -1
  399. package/navigation/common.js +1 -1
  400. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  401. package/navigation/navigation-marker.js +1 -1
  402. package/navigation/navigation-section/navigation-section.component.js +1 -1
  403. package/navigation/navigation-section.js +1 -1
  404. package/{navigation-action-common-2ix0xrBs.js → navigation-action-common-AzRltwrb.js} +1 -1
  405. package/{navigation-marker.component-DKxK16IU.js → navigation-marker.component-BzbbKlfT.js} +1 -1
  406. package/{navigation-section.component-CvjXVn5r.js → navigation-section.component-DQxCi3O_.js} +1 -1
  407. package/navigation.js +3 -3
  408. package/navigation.pure.js +3 -3
  409. package/notification/notification.component.js +1 -1
  410. package/{notification.component-DjXJFh1G.js → notification.component-D80Wl5xM.js} +1 -1
  411. package/notification.js +1 -1
  412. package/notification.pure.js +1 -1
  413. package/off-brand-theme.css +209 -110
  414. package/option/option/option-base-element.js +1 -1
  415. package/option/option/option.component.js +1 -1
  416. package/option/option.js +1 -1
  417. package/{option.component-M-V_tdSC.js → option.component-2Xf1hz7y.js} +1 -1
  418. package/option.js +1 -1
  419. package/option.pure.js +1 -1
  420. package/package.json +1 -1
  421. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  422. package/paginator/compact-paginator.js +1 -1
  423. package/paginator/paginator/paginator.component.js +1 -1
  424. package/paginator/paginator.js +1 -1
  425. package/{paginator.component-CZt7Epaf.js → paginator.component-BEr0qU0m.js} +1 -1
  426. package/paginator.js +2 -2
  427. package/paginator.pure.js +2 -2
  428. package/popover/popover.component.js +1 -1
  429. package/{popover.component-DWNuW4wM.js → popover.component-DAgwBcBW.js} +32 -28
  430. package/popover.js +1 -1
  431. package/popover.pure.js +1 -1
  432. package/radio-button/common/radio-button-common.js +1 -1
  433. package/radio-button/common.js +1 -1
  434. package/radio-button/radio-button.component.js +1 -1
  435. package/radio-button/radio-button.js +1 -1
  436. package/{radio-button-common-DP4Izwwf.js → radio-button-common-C1mIf9KY.js} +1 -1
  437. package/{radio-button.component-BiGeOI5L.js → radio-button.component-Bae-yK_U.js} +1 -1
  438. package/radio-button.js +2 -2
  439. package/radio-button.pure.js +2 -2
  440. package/safety-theme.css +209 -110
  441. package/select/select.component.js +1 -1
  442. package/{select.component-DWLdApt_.js → select.component-BT6RbERH.js} +3 -3
  443. package/select.js +1 -1
  444. package/select.pure.js +1 -1
  445. package/sidebar/sidebar/sidebar.component.js +1 -1
  446. package/sidebar/sidebar.js +1 -1
  447. package/{sidebar.component-DxOx02l6.js → sidebar.component-Dsx1FAg0.js} +5 -3
  448. package/sidebar.js +1 -1
  449. package/sidebar.pure.js +1 -1
  450. package/slider/slider.component.js +1 -1
  451. package/{slider.component-CoqCppCq.js → slider.component-BlRVR6iU.js} +1 -1
  452. package/slider.js +1 -1
  453. package/slider.pure.js +1 -1
  454. package/standard-theme.css +209 -110
  455. package/status/status.component.js +1 -1
  456. package/{status.component-BFyXTFXH.js → status.component-lw_WDs7W.js} +1 -1
  457. package/status.js +1 -1
  458. package/status.pure.js +1 -1
  459. package/step-label.component-Dqis4FAN.js +80 -0
  460. package/stepper/step-label/step-label.component.js +1 -1
  461. package/stepper/step-label.js +1 -1
  462. package/stepper.js +1 -1
  463. package/stepper.pure.js +1 -1
  464. package/styles-BNu0Fjw5.js +5 -0
  465. package/{tab-group.component-Doy39cEh.js → tab-group.component-CHQlrhUy.js} +36 -33
  466. package/{tab-label.component-CD56RH1Z.js → tab-label.component-CpdUyfiq.js} +1 -1
  467. package/table.css +32 -37
  468. package/tabs/common/styles.js +1 -1
  469. package/tabs/common.js +1 -1
  470. package/tabs/tab-group/tab-group.component.js +1 -1
  471. package/tabs/tab-group.js +1 -1
  472. package/tabs/tab-label/tab-label.component.js +1 -1
  473. package/tabs/tab-label.js +1 -1
  474. package/tabs.js +3 -3
  475. package/tabs.pure.js +3 -3
  476. package/tag/tag/tag.component.js +1 -1
  477. package/tag/tag.js +1 -1
  478. package/{tag.component-CzYJZuFT.js → tag.component-CsNszQvB.js} +1 -1
  479. package/tag.js +1 -1
  480. package/tag.pure.js +1 -1
  481. package/teaser-hero/teaser-hero.component.js +1 -1
  482. package/{teaser-hero.component-CHy82SKQ.js → teaser-hero.component-D8yj-N5n.js} +1 -1
  483. package/teaser-hero.js +1 -1
  484. package/teaser-hero.pure.js +1 -1
  485. package/timetable-form/timetable-form/timetable-form.component.js +1 -1
  486. package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  487. package/timetable-form/timetable-form-details.js +1 -1
  488. package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  489. package/timetable-form/timetable-form-field.js +1 -1
  490. package/timetable-form/timetable-form.js +1 -1
  491. package/timetable-form-details.component-mWKaBW_9.js +16 -0
  492. package/timetable-form-field.component-Cv_lv8vf.js +32 -0
  493. package/{timetable-form.component-CU1FXAZH.js → timetable-form.component-YcvKAlfz.js} +1 -1
  494. package/timetable-form.js +3 -3
  495. package/timetable-form.pure.js +3 -3
  496. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  497. package/{timetable-occupancy.component-Db9SfiyD.js → timetable-occupancy.component-BCXPxz68.js} +1 -1
  498. package/timetable-occupancy.js +1 -1
  499. package/timetable-occupancy.pure.js +1 -1
  500. package/title/title-base.js +1 -1
  501. package/title/title.component.js +1 -1
  502. package/{title-base-D72Xo2SW.js → title-base-DV0qhfG9.js} +1 -1
  503. package/{title.component-CoMa84Sz.js → title.component-DAGyXwDm.js} +1 -1
  504. package/title.js +2 -2
  505. package/title.pure.js +2 -2
  506. package/toast/toast.component.js +1 -1
  507. package/{toast.component-BDE1vYLS.js → toast.component-CORnf2Tl.js} +3 -3
  508. package/toast.js +1 -1
  509. package/toast.pure.js +1 -1
  510. package/toggle/toggle/toggle.component.js +1 -1
  511. package/toggle/toggle-option/toggle-option.component.js +1 -1
  512. package/toggle/toggle-option.js +1 -1
  513. package/toggle/toggle.js +1 -1
  514. package/toggle-check/toggle-check.component.js +1 -1
  515. package/toggle-check.component-DvoslSRr.js +119 -0
  516. package/toggle-check.js +1 -1
  517. package/toggle-check.pure.js +1 -1
  518. package/{toggle-option.component-Bw-GXUQK.js → toggle-option.component-pX3tNwjE.js} +5 -7
  519. package/{toggle.component-BPpsMMPG.js → toggle.component-B20xAw1V.js} +6 -10
  520. package/toggle.js +2 -2
  521. package/toggle.pure.js +2 -2
  522. package/tooltip/tooltip.component.js +1 -1
  523. package/{tooltip.component-BY9mV5Sw.js → tooltip.component-ocVpJogs.js} +1 -1
  524. package/tooltip.js +1 -1
  525. package/tooltip.pure.js +1 -1
  526. package/train/train-wagon/train-wagon.component.js +1 -1
  527. package/train/train-wagon.js +1 -1
  528. package/{train-wagon.component-BwCcF4GD.js → train-wagon.component-BT4Xnzxr.js} +1 -1
  529. package/train.js +1 -1
  530. package/train.pure.js +1 -1
  531. package/button-common-yFVzAoGy.js +0 -87
  532. package/core/styles/table.scss +0 -156
  533. package/development/autocomplete-base-element-YwfObJzm.js +0 -678
  534. package/development/breadcrumb-group.component-B3Shlng3.js +0 -195
  535. package/development/calendar.component-6p9vsp-V.js +0 -1452
  536. package/development/card-badge.component-D4Mes-Gw.js +0 -84
  537. package/development/checkbox-common-DiTlHvFJ.js +0 -86
  538. package/development/chip-group.component-CvpUdzu1.js +0 -409
  539. package/development/compact-paginator.component-TfDVt_ST.js +0 -51
  540. package/development/datepicker-button-CANzGO5m.js +0 -163
  541. package/development/datepicker.component-C8XQVo45.js +0 -213
  542. package/development/error.component-xD_c9IBA.js +0 -55
  543. package/development/expansion-panel-header.component-Bw4uROTe.js +0 -85
  544. package/development/file-selector-common-C82QR3zb.js +0 -418
  545. package/development/file-selector-dropzone.component-B-cBO4bf.js +0 -112
  546. package/development/footer.component-BblB5218.js +0 -172
  547. package/development/form-field.component-BEXX0OcL.js +0 -702
  548. package/development/header.component-Cg0ZcA1s.js +0 -340
  549. package/development/hint.component-BsIzdUOV.js +0 -38
  550. package/development/message.component-CeJhYXSC.js +0 -44
  551. package/development/notification.component-Co9QChXc.js +0 -274
  552. package/development/option.component-CdL7fdzZ.js +0 -130
  553. package/development/paginator.component-DAdS2mMm.js +0 -259
  554. package/development/popover.component-BCMdJBUR.js +0 -537
  555. package/development/radio-button-common-C3-xuY78.js +0 -126
  556. package/development/select.component-CGNEhqzl.js +0 -812
  557. package/development/status.component-CHC2pBa-.js +0 -111
  558. package/development/step-label.component-CJFPHIZa.js +0 -131
  559. package/development/styles-DCQBzC2C.js +0 -14
  560. package/development/tab-group.component-DRipdAyc.js +0 -272
  561. package/development/tag.component-CnNPL6aI.js +0 -245
  562. package/development/timetable-form-details.component-C8awcdP5.js +0 -26
  563. package/development/timetable-form-field.component-BI24VjkC.js +0 -44
  564. package/development/timetable-form.component-CUG86CSN.js +0 -27
  565. package/development/timetable-occupancy.component-D_PXXvI9.js +0 -124
  566. package/development/toast.component-BnbpuU9L.js +0 -274
  567. package/development/toggle-check.component-BG4w_sE8.js +0 -159
  568. package/development/toggle-option.component-D-F7Fh7i.js +0 -168
  569. package/development/toggle.component-BFYLRN8o.js +0 -254
  570. package/development/tooltip.component-DzSd9VjW.js +0 -378
  571. package/message.component-BQjnZ5Z3.js +0 -27
  572. package/step-label.component-DnQBwnL8.js +0 -80
  573. package/styles-BUpK1iP2.js +0 -5
  574. package/timetable-form-details.component-CBZ7QSAx.js +0 -16
  575. package/timetable-form-field.component-BKxQQqt7.js +0 -32
  576. package/toggle-check.component-B6Ww5pLD.js +0 -119
@@ -0,0 +1,216 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { html, isServer, nothing, unsafeCSS } from "lit";
3
+ import { property } from "lit/decorators.js";
4
+ import { forceType, idReference } from "./core/decorators.js";
5
+ import { SbbUpdateSchedulerMixin } from "./core/mixins.js";
6
+ import { SbbLanguageController } from "./core/controllers.js";
7
+ import { i18nDateChangedTo } from "./core/i18n.js";
8
+ import { readConfig } from "./core/config.js";
9
+ import { defaultDateAdapter } from "./core/datetime.js";
10
+ import { SbbDateInputElement } from "./date-input.js";
11
+ import { SbbPopoverBaseElement } from "./popover.js";
12
+ import "./calendar.js";
13
+ //#region src/elements/datepicker/datepicker/datepicker.scss?inline
14
+ var datepicker_default = "#status-container {\n border: 0;\n clip-path: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}";
15
+ //#endregion
16
+ //#region src/elements/datepicker/datepicker/datepicker.component.ts
17
+ var nextId = 0;
18
+ /**
19
+ * A datepicker component that allows users to select a date from a calendar view.
20
+ *
21
+ * @event {CustomEvent<T>} dateselected - Event emitted on date selection.
22
+ * @event {Event} change - The change event is fired on the datepicker's input when the user modifies the element's value. Unlike the input event, the change event is not necessarily fired for each alteration to an element's value.
23
+ * @event {InputEvent} input - The input event fires on the datepicker's input when the value has been changed as a direct result of a user action.
24
+ */
25
+ var SbbDatepickerElement = (() => {
26
+ let _classSuper = SbbUpdateSchedulerMixin(SbbPopoverBaseElement);
27
+ let _wide_decorators;
28
+ let _wide_initializers = [];
29
+ let _wide_extraInitializers = [];
30
+ let _input_decorators;
31
+ let _input_initializers = [];
32
+ let _input_extraInitializers = [];
33
+ let _view_decorators;
34
+ let _view_initializers = [];
35
+ let _view_extraInitializers = [];
36
+ return class SbbDatepickerElement extends _classSuper {
37
+ static {
38
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
39
+ _wide_decorators = [forceType(), property({ type: Boolean })];
40
+ _input_decorators = [idReference(), property()];
41
+ _view_decorators = [property()];
42
+ __esDecorate(this, null, _wide_decorators, {
43
+ kind: "accessor",
44
+ name: "wide",
45
+ static: false,
46
+ private: false,
47
+ access: {
48
+ has: (obj) => "wide" in obj,
49
+ get: (obj) => obj.wide,
50
+ set: (obj, value) => {
51
+ obj.wide = value;
52
+ }
53
+ },
54
+ metadata: _metadata
55
+ }, _wide_initializers, _wide_extraInitializers);
56
+ __esDecorate(this, null, _input_decorators, {
57
+ kind: "accessor",
58
+ name: "input",
59
+ static: false,
60
+ private: false,
61
+ access: {
62
+ has: (obj) => "input" in obj,
63
+ get: (obj) => obj.input,
64
+ set: (obj, value) => {
65
+ obj.input = value;
66
+ }
67
+ },
68
+ metadata: _metadata
69
+ }, _input_initializers, _input_extraInitializers);
70
+ __esDecorate(this, null, _view_decorators, {
71
+ kind: "accessor",
72
+ name: "view",
73
+ static: false,
74
+ private: false,
75
+ access: {
76
+ has: (obj) => "view" in obj,
77
+ get: (obj) => obj.view,
78
+ set: (obj, value) => {
79
+ obj.view = value;
80
+ }
81
+ },
82
+ metadata: _metadata
83
+ }, _view_initializers, _view_extraInitializers);
84
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
85
+ enumerable: true,
86
+ configurable: true,
87
+ writable: true,
88
+ value: _metadata
89
+ });
90
+ }
91
+ static {
92
+ this.elementName = "sbb-datepicker";
93
+ }
94
+ static {
95
+ this.styles = [SbbPopoverBaseElement.styles, unsafeCSS(datepicker_default)];
96
+ }
97
+ static {
98
+ this.sbbDateInputAssociated = true;
99
+ }
100
+ #wide_accessor_storage;
101
+ /** If set to true, two months are displayed. */
102
+ get wide() {
103
+ return this.#wide_accessor_storage;
104
+ }
105
+ set wide(value) {
106
+ this.#wide_accessor_storage = value;
107
+ }
108
+ #input_accessor_storage;
109
+ /**
110
+ * Reference to the sbb-date-input instance or the native input connected to the datepicker.
111
+ *
112
+ * For attribute usage, provide an id reference.
113
+ */
114
+ get input() {
115
+ return this.#input_accessor_storage;
116
+ }
117
+ set input(value) {
118
+ this.#input_accessor_storage = value;
119
+ }
120
+ #view_accessor_storage;
121
+ /** The initial view of calendar which should be displayed on opening. */
122
+ get view() {
123
+ return this.#view_accessor_storage;
124
+ }
125
+ set view(value) {
126
+ this.#view_accessor_storage = value;
127
+ }
128
+ constructor() {
129
+ super();
130
+ this.#wide_accessor_storage = __runInitializers(this, _wide_initializers, false);
131
+ this.#input_accessor_storage = (__runInitializers(this, _wide_extraInitializers), __runInitializers(this, _input_initializers, null));
132
+ this.#view_accessor_storage = (__runInitializers(this, _input_extraInitializers), __runInitializers(this, _view_initializers, "day"));
133
+ this._inputAbortController = __runInitializers(this, _view_extraInitializers);
134
+ this._dateAdapter = readConfig().datetime?.dateAdapter ?? defaultDateAdapter;
135
+ this._language = new SbbLanguageController(this);
136
+ this._ready = false;
137
+ this.startUpdate();
138
+ this.addEventListener(SbbPopoverBaseElement.events.beforeopen, () => {
139
+ this.shadowRoot?.querySelector("sbb-calendar")?.resetPosition?.();
140
+ });
141
+ if (!isServer && this.hydrationRequired) this.hydrationComplete.then(() => this.requestUpdate());
142
+ }
143
+ connectedCallback() {
144
+ this.id ||= `sbb-datepicker-${++nextId}`;
145
+ super.connectedCallback();
146
+ const formField = this.closest?.("sbb-form-field");
147
+ if (formField) {
148
+ SbbDateInputElement.resolveAssociation(this);
149
+ const toggle = formField.querySelector("sbb-datepicker-toggle");
150
+ if (toggle && !toggle.hasAttribute("datepicker")) toggle.datepicker ??= this;
151
+ }
152
+ }
153
+ requestUpdate(name, oldValue, options) {
154
+ super.requestUpdate(name, oldValue, options);
155
+ if (name === "input" && this.input !== oldValue) {
156
+ this._inputAbortController?.abort();
157
+ if (this.input) {
158
+ const { signal } = this._inputAbortController = new AbortController();
159
+ this.input?.addEventListener("ɵchange", () => {
160
+ super.requestUpdate();
161
+ this._updateStatus();
162
+ }, { signal });
163
+ }
164
+ }
165
+ }
166
+ firstUpdated(changedProperties) {
167
+ super.firstUpdated(changedProperties);
168
+ setTimeout(() => {
169
+ this._ready = true;
170
+ this.requestUpdate();
171
+ this.completeUpdate();
172
+ });
173
+ }
174
+ _updateStatus() {
175
+ const status = this.shadowRoot?.getElementById("status-container");
176
+ if (!status) return;
177
+ const text = this._dateAdapter.isValid(this.input?.valueAsDate) ? `${i18nDateChangedTo[this._language.current]} ${this._dateAdapter.format(this.input.valueAsDate, { weekdayStyle: "long" })}` : "";
178
+ if (status.textContent !== text) status.textContent = text;
179
+ }
180
+ renderContent() {
181
+ return html`
182
+ <p id="status-container" role="status"></p>
183
+ <sbb-calendar
184
+ .view=${this.view}
185
+ .min=${this.input?.min ?? null}
186
+ .max=${this.input?.max ?? null}
187
+ .dateFilter=${this.input?.dateFilter ?? null}
188
+ .selected=${this.input?.valueAsDate ?? null}
189
+ ?wide=${this.wide}
190
+ @dateselected=${(d) => {
191
+ if (this.input) {
192
+ this.input.valueAsDate = d.detail;
193
+ this.input.dispatchEvent(new InputEvent("input", {
194
+ bubbles: true,
195
+ composed: true
196
+ }));
197
+ this.input.dispatchEvent(new Event("change", {
198
+ bubbles: true,
199
+ composed: true
200
+ }));
201
+ this.input.dispatchEvent(new Event("blur", { composed: true }));
202
+ this.close();
203
+ }
204
+ }}
205
+ ></sbb-calendar>
206
+ `;
207
+ }
208
+ render() {
209
+ return isServer || this.hydrationRequired || !this._ready ? html`${nothing}` : super.render();
210
+ }
211
+ };
212
+ })();
213
+ //#endregion
214
+ export { SbbDatepickerElement as t };
215
+
216
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQtRDJEeEZuZ18uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG4jc3RhdHVzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHNiYi5zY3JlZW4tcmVhZGVyLW9ubHk7XG59XG4iLCJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBpc1NlcnZlcixcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBDYWxlbmRhclZpZXcgfSBmcm9tICcuLi8uLi9jYWxlbmRhci50cyc7XG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWcudHMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyB0eXBlIERhdGVBZGFwdGVyLCBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGV0aW1lLnRzJztcbmltcG9ydCB7IGZvcmNlVHlwZSwgaWRSZWZlcmVuY2UgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgaTE4bkRhdGVDaGFuZ2VkVG8gfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4udHMnO1xuaW1wb3J0IHsgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyB0eXBlIFNiYkRhdGVJbnB1dEFzc29jaWF0ZWQsIFNiYkRhdGVJbnB1dEVsZW1lbnQgfSBmcm9tICcuLi8uLi9kYXRlLWlucHV0LnRzJztcbmltcG9ydCB7IFNiYlBvcG92ZXJCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL3BvcG92ZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEYXRlcGlja2VyVG9nZ2xlRWxlbWVudCB9IGZyb20gJy4uL2RhdGVwaWNrZXItdG9nZ2xlL2RhdGVwaWNrZXItdG9nZ2xlLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RhdGVwaWNrZXIuc2Nzcz9pbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2NhbGVuZGFyLnRzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQSBkYXRlcGlja2VyIGNvbXBvbmVudCB0aGF0IGFsbG93cyB1c2VycyB0byBzZWxlY3QgYSBkYXRlIGZyb20gYSBjYWxlbmRhciB2aWV3LlxuICpcbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8VD59IGRhdGVzZWxlY3RlZCAtIEV2ZW50IGVtaXR0ZWQgb24gZGF0ZSBzZWxlY3Rpb24uXG4gKiBAZXZlbnQge0V2ZW50fSBjaGFuZ2UgLSBUaGUgY2hhbmdlIGV2ZW50IGlzIGZpcmVkIG9uIHRoZSBkYXRlcGlja2VyJ3MgaW5wdXQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLiBVbmxpa2UgdGhlIGlucHV0IGV2ZW50LCB0aGUgY2hhbmdlIGV2ZW50IGlzIG5vdCBuZWNlc3NhcmlseSBmaXJlZCBmb3IgZWFjaCBhbHRlcmF0aW9uIHRvIGFuIGVsZW1lbnQncyB2YWx1ZS5cbiAqIEBldmVudCB7SW5wdXRFdmVudH0gaW5wdXQgLSBUaGUgaW5wdXQgZXZlbnQgZmlyZXMgIG9uIHRoZSBkYXRlcGlja2VyJ3MgaW5wdXQgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkRhdGVwaWNrZXJFbGVtZW50PFQgPSBEYXRlPlxuICBleHRlbmRzIFNiYlVwZGF0ZVNjaGVkdWxlck1peGluKFNiYlBvcG92ZXJCYXNlRWxlbWVudClcbiAgaW1wbGVtZW50cyBTYmJEYXRlSW5wdXRBc3NvY2lhdGVkPFQ+XG57XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZGF0ZXBpY2tlcic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtTYmJQb3BvdmVyQmFzZUVsZW1lbnQuc3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBzYmJEYXRlSW5wdXRBc3NvY2lhdGVkID0gdHJ1ZTtcblxuICAvKiogSWYgc2V0IHRvIHRydWUsIHR3byBtb250aHMgYXJlIGRpc3BsYXllZC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIHdpZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBzYmItZGF0ZS1pbnB1dCBpbnN0YW5jZSBvciB0aGUgbmF0aXZlIGlucHV0IGNvbm5lY3RlZCB0byB0aGUgZGF0ZXBpY2tlci5cbiAgICpcbiAgICogRm9yIGF0dHJpYnV0ZSB1c2FnZSwgcHJvdmlkZSBhbiBpZCByZWZlcmVuY2UuXG4gICAqL1xuICBAaWRSZWZlcmVuY2UoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgaW5wdXQ6IFNiYkRhdGVJbnB1dEVsZW1lbnQ8VD4gfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGluaXRpYWwgdmlldyBvZiBjYWxlbmRhciB3aGljaCBzaG91bGQgYmUgZGlzcGxheWVkIG9uIG9wZW5pbmcuICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhY2Nlc3NvciB2aWV3OiBDYWxlbmRhclZpZXcgPSAnZGF5JztcblxuICBwcml2YXRlIF9pbnB1dEFib3J0Q29udHJvbGxlcj86IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPFQ+ID0gcmVhZENvbmZpZygpLmRhdGV0aW1lPy5kYXRlQWRhcHRlciA/PyBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfcmVhZHkgPSBmYWxzZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnN0YXJ0VXBkYXRlKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKFNiYlBvcG92ZXJCYXNlRWxlbWVudC5ldmVudHMuYmVmb3Jlb3BlbiwgKCkgPT4ge1xuICAgICAgdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCdzYmItY2FsZW5kYXInKT8ucmVzZXRQb3NpdGlvbj8uKCk7XG4gICAgfSk7XG4gICAgaWYgKCFpc1NlcnZlciAmJiB0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gdGhpcy5yZXF1ZXN0VXBkYXRlKCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLWRhdGVwaWNrZXItJHsrK25leHRJZH1gO1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICBjb25zdCBmb3JtRmllbGQgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLWZvcm0tZmllbGQnKTtcbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICBTYmJEYXRlSW5wdXRFbGVtZW50LnJlc29sdmVBc3NvY2lhdGlvbih0aGlzKTtcbiAgICAgIGNvbnN0IHRvZ2dsZSA9XG4gICAgICAgIGZvcm1GaWVsZC5xdWVyeVNlbGVjdG9yPFNiYkRhdGVwaWNrZXJUb2dnbGVFbGVtZW50PFQ+Pignc2JiLWRhdGVwaWNrZXItdG9nZ2xlJyk7XG4gICAgICBpZiAodG9nZ2xlICYmICF0b2dnbGUuaGFzQXR0cmlidXRlKCdkYXRlcGlja2VyJykpIHtcbiAgICAgICAgdG9nZ2xlLmRhdGVwaWNrZXIgPz89IHRoaXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgaWYgKG5hbWUgPT09ICdpbnB1dCcgJiYgdGhpcy5pbnB1dCAhPT0gb2xkVmFsdWUpIHtcbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgaWYgKHRoaXMuaW5wdXQpIHtcbiAgICAgICAgY29uc3QgeyBzaWduYWwgfSA9ICh0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKSk7XG4gICAgICAgIHRoaXMuaW5wdXQ/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgJ8m1Y2hhbmdlJyxcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKCk7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVTdGF0dXMoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgc2lnbmFsIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLy8gV2Ugd2FudCB0byBkZWxheSB0aGUgcmVuZGVyaW5nIG9mIHRoZSBjYWxlbmRhciB0byBhdm9pZCBhIHNsb3cgaW5pdGlhbCByZW5kZXIuXG4gICAgICAvLyBUaGUgc2xvdyByZW5kZXIgY2FuIGJlIGEgcHJvYmxlbSBpZiBhIGxhcmdlIGFtb3VudCBvZiBkYXRlcGlja2VycyBhcmUgcmVuZGVyZWQgYXQgb25jZS5cbiAgICAgIHRoaXMuX3JlYWR5ID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVxdWVzdFVwZGF0ZSgpO1xuICAgICAgdGhpcy5jb21wbGV0ZVVwZGF0ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlU3RhdHVzKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXR1cyA9IHRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoJ3N0YXR1cy1jb250YWluZXInKTtcbiAgICBpZiAoIXN0YXR1cykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRleHQgPSB0aGlzLl9kYXRlQWRhcHRlci5pc1ZhbGlkKHRoaXMuaW5wdXQ/LnZhbHVlQXNEYXRlKVxuICAgICAgPyBgJHtpMThuRGF0ZUNoYW5nZWRUb1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gJHt0aGlzLl9kYXRlQWRhcHRlci5mb3JtYXQoXG4gICAgICAgICAgdGhpcy5pbnB1dCEudmFsdWVBc0RhdGUsXG4gICAgICAgICAge1xuICAgICAgICAgICAgd2Vla2RheVN0eWxlOiAnbG9uZycsXG4gICAgICAgICAgfSxcbiAgICAgICAgKX1gXG4gICAgICA6ICcnO1xuICAgIGlmIChzdGF0dXMudGV4dENvbnRlbnQgIT09IHRleHQpIHtcbiAgICAgIHN0YXR1cy50ZXh0Q29udGVudCA9IHRleHQ7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlckNvbnRlbnQoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHAgaWQ9XCJzdGF0dXMtY29udGFpbmVyXCIgcm9sZT1cInN0YXR1c1wiPjwvcD5cbiAgICAgIDxzYmItY2FsZW5kYXJcbiAgICAgICAgLnZpZXc9JHt0aGlzLnZpZXd9XG4gICAgICAgIC5taW49JHt0aGlzLmlucHV0Py5taW4gPz8gbnVsbH1cbiAgICAgICAgLm1heD0ke3RoaXMuaW5wdXQ/Lm1heCA/PyBudWxsfVxuICAgICAgICAuZGF0ZUZpbHRlcj0ke3RoaXMuaW5wdXQ/LmRhdGVGaWx0ZXIgPz8gbnVsbH1cbiAgICAgICAgLnNlbGVjdGVkPSR7dGhpcy5pbnB1dD8udmFsdWVBc0RhdGUgPz8gbnVsbH1cbiAgICAgICAgP3dpZGU9JHt0aGlzLndpZGV9XG4gICAgICAgIEBkYXRlc2VsZWN0ZWQ9JHsoZDogQ3VzdG9tRXZlbnQ8VD4pID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5pbnB1dCkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dC52YWx1ZUFzRGF0ZSA9IGQuZGV0YWlsO1xuICAgICAgICAgICAgdGhpcy5pbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgICAgICAgdGhpcy5pbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgICAgICAgICAvLyBFbWl0IGJsdXIgZXZlbnQgd2hlbiB2YWx1ZSBpcyBjaGFuZ2VkIHByb2dyYW1tYXRpY2FsbHkgdG8gbm90aWZ5XG4gICAgICAgICAgICAvLyBmcmFtZXdvcmtzIHRoYXQgcmVseSBvbiB0aGF0IGV2ZW50IHRvIHVwZGF0ZSBmb3JtIHN0YXR1cy5cbiAgICAgICAgICAgIHRoaXMuaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JsdXInLCB7IGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICA+PC9zYmItY2FsZW5kYXI+XG4gICAgYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBpc1NlcnZlciB8fCB0aGlzLmh5ZHJhdGlvblJlcXVpcmVkIHx8ICF0aGlzLl9yZWFkeSA/IGh0bWxgJHtub3RoaW5nfWAgOiBzdXBlci5yZW5kZXIoKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWRhdGVwaWNrZXInOiBTYmJEYXRlcGlja2VyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FDMkJBLElBQUksU0FBUzs7Ozs7Ozs7SUFTQSw4QkFBb0I7bUJBQ3ZCLHdCQUF3QixzQkFBc0I7Ozs7Ozs7Ozs7Y0FEM0MsNkJBQ0gsWUFBOEM7Ozt1QkFRckQsV0FBVyxFQUNYLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQyxDQUFBO3dCQVEzQixhQUFhLEVBQ2IsVUFBVSxDQUFBO3VCQUlWLFVBQVUsQ0FBQTtBQVpYLGdCQUFBLE1BQUEsTUFBQSxrQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFVBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FB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
@@ -1,8 +1,8 @@
1
- import { n as SbbDatepickerButtonBase, r as datepickerButtonStyle, t as SbbDatepickerButton } from "./datepicker-button-CANzGO5m.js";
1
+ import { n as SbbDatepickerButtonBase, r as datepickerButtonStyle, t as SbbDatepickerButton } from "./datepicker-button-CUPeoQgH.js";
2
2
  import { SbbDatepickerNextDayElement } from "./datepicker/datepicker-next-day/datepicker-next-day.component.js";
3
3
  import { SbbDatepickerPreviousDayElement } from "./datepicker/datepicker-previous-day/datepicker-previous-day.component.js";
4
4
  import { SbbDatepickerToggleElement } from "./datepicker/datepicker-toggle/datepicker-toggle.component.js";
5
- import { t as SbbDatepickerElement } from "./datepicker.component-C8XQVo45.js";
5
+ import { t as SbbDatepickerElement } from "./datepicker.component-D2DxFng_.js";
6
6
  import "./datepicker.pure.js";
7
7
  //#region src/elements/datepicker.ts
8
8
  /** @entrypoint */
@@ -1,6 +1,6 @@
1
- import { n as SbbDatepickerButtonBase, r as datepickerButtonStyle, t as SbbDatepickerButton } from "./datepicker-button-CANzGO5m.js";
1
+ import { n as SbbDatepickerButtonBase, r as datepickerButtonStyle, t as SbbDatepickerButton } from "./datepicker-button-CUPeoQgH.js";
2
2
  import { SbbDatepickerNextDayElement } from "./datepicker/datepicker-next-day/datepicker-next-day.component.js";
3
3
  import { SbbDatepickerPreviousDayElement } from "./datepicker/datepicker-previous-day/datepicker-previous-day.component.js";
4
4
  import { SbbDatepickerToggleElement } from "./datepicker/datepicker-toggle/datepicker-toggle.component.js";
5
- import { t as SbbDatepickerElement } from "./datepicker.component-C8XQVo45.js";
5
+ import { t as SbbDatepickerElement } from "./datepicker.component-D2DxFng_.js";
6
6
  export { SbbDatepickerButton, SbbDatepickerButtonBase, SbbDatepickerElement, SbbDatepickerNextDayElement, SbbDatepickerPreviousDayElement, SbbDatepickerToggleElement, datepickerButtonStyle };
@@ -1,2 +1,2 @@
1
- import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "../../dialog.component-TBiL0Sdq.js";
1
+ import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "../../dialog.component-DKuR4u-y.js";
2
2
  export { SbbDialogCloseEvent, SbbDialogElement, assignDialogResult };
@@ -1,4 +1,4 @@
1
- import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "../dialog.component-TBiL0Sdq.js";
1
+ import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "../dialog.component-DKuR4u-y.js";
2
2
  //#region src/elements/dialog/dialog.ts
3
3
  /** @entrypoint */
4
4
  SbbDialogElement.define();
@@ -129,7 +129,7 @@ var SbbDialogElement = (() => {
129
129
  }
130
130
  /** Announce the accessibility label or dialog title for screen readers. */
131
131
  announceTitle() {
132
- this.setAriaLiveRefContent(this.accessibilityLabel || this.querySelector("sbb-dialog-title")?.innerText.trim());
132
+ this.setAriaLiveRefContent(this.accessibilityLabel || this.querySelector("sbb-dialog-title")?.textContent.trim());
133
133
  }
134
134
  isZeroAnimationDuration() {
135
135
  return isZeroAnimationDuration(this, "--sbb-dialog-animation-duration");
@@ -234,4 +234,4 @@ var SbbDialogElement = (() => {
234
234
  //#endregion
235
235
  export { SbbDialogElement as n, assignDialogResult as r, SbbDialogCloseEvent as t };
236
236
 
237
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC1UQmlMMFNkcS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICk7XG4gIC0tc2JiLWRpYWxvZy1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXhzKTtcbiAgLS1zYmItZGlhbG9nLXNoYWRvdy1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1kaWFsb2ctaW5zZXQpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItZGlhbG9nLXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAtLXNiYi1kaWFsb2ctbWF4LXdpZHRoOiBtaW4oXG4gICAgICBjYWxjKDEwMHZ3IC0gdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMzB4KSAqIDIpLFxuICAgICAgdmFyKC0tc2JiLWRpYWxvZy1tYXgtd2lkdGgtZGVmYXVsdClcbiAgICApO1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZSh0b3Atc2hhZG93KSkge1xuICAtLXNiYi1kaWFsb2ctYmxvY2stc3RhcnQtYm94LXNoYWRvdzogdmFyKC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93KTtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpKSkge1xuICAtLXNiYi1kaWFsb2ctcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgLS1zYmItZGlhbG9nLWJhY2tkcm9wLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgLS1zYmItZGlhbG9nLWJhY2tkcm9wLXZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgLS1zYmItZGlhbG9nLWJhY2tkcm9wLXBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbn1cblxuOmhvc3QoW2JhY2tkcm9wPSd0cmFuc2x1Y2VudCddOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1jb2xvci1ibGFjaykgNTAlLCB0cmFuc3BhcmVudCk7XG59XG5cbjpob3N0KFtiYWNrZHJvcD0nb3BhcXVlJ106bm90KFtuZWdhdGl2ZV0pOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG59XG5cbjpob3N0KDpub3QoW25lZ2F0aXZlXSkpIHtcbiAgLS1fc2JiLWRpYWxvZy1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1jb2xvcik7XG4gIC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93OiB2YXIoLS1zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG4gIC0tc2JiLWRpYWxvZy1hY3Rpb25zLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNCk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xKTtcbn1cblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICAtLV9zYmItZGlhbG9nLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWNvbG9yLW5lZ2F0aXZlKTtcbiAgLS1fc2JiLWRpYWxvZy1ibG9jay1zaGFkb3c6IHZhcigtLXNiYi1kaWFsb2ctYmxvY2stc2hhZG93LW5lZ2F0aXZlKTtcbiAgLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYWN0aW9ucy1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbn1cblxuOmhvc3QoOnN0YXRlKGJvdHRvbS1zaGFkb3cpKSB7XG4gIC0tc2JiLWRpYWxvZy1ibG9jay1lbmQtYm94LXNoYWRvdzogdmFyKC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93KTtcbiAgLS1zYmItZGlhbG9nLWFjdGlvbnMtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc3RhdGUtY2xvc2VkKSkpIHtcbiAgLS1zYmItZGlhbG9nLWluc2V0OiAwO1xufVxuXG4uc2JiLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctcG9pbnRlci1ldmVudHMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiB2YXIoLS1zYmItZGlhbG9nLWluc2V0KTtcblxuICAvLyBEaWFsb2cgYmFja2Ryb3AgKG5vdCB2aXNpYmxlIG9uIG1vYmlsZSlcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB2aXNpYmlsaXR5OiB2YXIoLS1zYmItZGlhbG9nLWJhY2tkcm9wLXZpc2liaWxpdHkpO1xuICAgIHBvaW50ZXItZXZlbnRzOiB2YXIoLS1zYmItZGlhbG9nLWJhY2tkcm9wLXBvaW50ZXItZXZlbnRzKTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IHZhcigtLXNiYi1kaWFsb2ctaW5zZXQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtY29sb3IpO1xuICAgIHRyYW5zaXRpb246IHtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1kaWFsb2ctYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgICBwcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdmlzaWJpbGl0eTtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi1kaWFsb2cge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWlubGluZTogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIHdpZHRoOiB2YXIoLS1zYmItZGlhbG9nLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLWhlaWdodCk7XG4gIG1heC13aWR0aDogdmFyKC0tc2JiLWRpYWxvZy1tYXgtd2lkdGgpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLW1heC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tX3NiYi1kaWFsb2ctY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3IpO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogb3BlbjtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgb3V0bGluZTogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItZGlhbG9nLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShoYXMtaW50ZXJtZWRpYXRlLWVsZW1lbnQpKSA6OnNsb3R0ZWQoOmZpcnN0LWNoaWxkKSxcbi5zYmItZGlhbG9nX193cmFwcGVyIHtcbiAgd2lkdGg6IHZhcigtLXNiYi1kaWFsb2ctd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctaGVpZ2h0KTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1zYmItZGlhbG9nLW1heC13aWR0aCk7XG4gIG1heC1oZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctbWF4LWhlaWdodCk7XG59XG5cbjpob3N0KDpzdGF0ZShoYXMtaW50ZXJtZWRpYXRlLWVsZW1lbnQpKSA6OnNsb3R0ZWQoOmZpcnN0LWNoaWxkKSxcbjpob3N0KDpub3QoOnN0YXRlKGhhcy1pbnRlcm1lZGlhdGUtZWxlbWVudCkpKSAuc2JiLWRpYWxvZ19fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGU6XG4gICAgJ3RpdGxlIGNsb3NlLWJ1dHRvbicgYXV0b1xuICAgICdjb250ZW50IGNvbnRlbnQnIDFmclxuICAgICdhY3Rpb25zIGFjdGlvbnMnIGF1dG8gLyAxZnIgYXV0bztcbiAgZ2FwOiAwO1xufVxuXG4vLyBJdCBpcyBuZWNlc3NhcnkgdG8gdXNlIGFuaW1hdGlvbnMgd2l0aCBrZXlmcmFtZXMgaW5zdGVhZCBvZiB0cmFuc2l0aW9ucyBpbiBvcmRlciBub3QgdG8gYWx0ZXJcbi8vIHRoZSBkZWZhdWx0IGBkaXNwbGF5OiBibG9ja2Agb2YgdGhlIG1vZGFsIG90aGVyd2lzZSBpdCBjYXVzZXMgc2V2ZXJhbCBwcm9ibGVtcyxcbi8vIGVzcGVjaWFsbHkgZm9yIGFjY2Vzc2liaWxpdHkuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogMCB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNsYXRlOiAwIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFByb3BlcnR5VmFsdWVzLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBpc1plcm9BbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzL292ZXJsYXktY2xvc2UtZGV0YWlscy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQge1xuICBvdmVybGF5UmVmcyxcbiAgU2JiT3ZlcmxheUJhc2VFbGVtZW50LFxuICBTYmJPdmVybGF5Q2xvc2VFdmVudCBhcyBTYmJEaWFsb2dDbG9zZUV2ZW50LFxufSBmcm9tICcuLi8uLi9vdmVybGF5LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiRGlhbG9nQ29udGVudEVsZW1lbnQgfSBmcm9tICcuLi9kaWFsb2ctY29udGVudC9kaWFsb2ctY29udGVudC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2cuc2Nzcz9pbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL3NjcmVlbi1yZWFkZXItb25seS50cyc7XG5cbmV4cG9ydCB7XG4gIGFzc2lnbk92ZXJsYXlSZXN1bHQgYXMgYXNzaWduRGlhbG9nUmVzdWx0LFxuICBTYmJPdmVybGF5Q2xvc2VFdmVudCBhcyBTYmJEaWFsb2dDbG9zZUV2ZW50LFxufSBmcm9tICcuLi8uLi9vdmVybGF5L292ZXJsYXktYmFzZS1lbGVtZW50LnRzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaW50ZXJhY3RpdmUgb3ZlcmxheSBlbGVtZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBhIGBzYmItZGlhbG9nLXRpdGxlYCwgYHNiYi1kaWFsb2ctY29udGVudGAgYW5kIGFuIG9wdGlvbmFsIGBzYmItZGlhbG9nLWFjdGlvbnNgLlxuICogQGNzc3Byb3AgWy0tc2JiLWRpYWxvZy16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJEaWFsb2dFbGVtZW50IGV4dGVuZHMgU2JiT3ZlcmxheUJhc2VFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1kaWFsb2cnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogQmFja2Ryb3AgY2xpY2sgYWN0aW9uLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdiYWNrZHJvcC1hY3Rpb24nIH0pIHB1YmxpYyBhY2Nlc3NvciBiYWNrZHJvcEFjdGlvbjogJ2Nsb3NlJyB8ICdub25lJyA9XG4gICAgJ2Nsb3NlJztcblxuICAvKiogQmFja2Ryb3AgZGVuc2l0eS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYmFja2Ryb3AnLCByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBiYWNrZHJvcDpcbiAgICB8ICdvcGFxdWUnXG4gICAgfCAndHJhbnNsdWNlbnQnID0gJ29wYXF1ZSc7XG5cbiAgLy8gV2UgdXNlIGEgdGltZW91dCBhcyBhIHdvcmthcm91bmQgdG8gdGhlIFwiUmVzaXplT2JzZXJ2ZXIgbG9vcCBjb21wbGV0ZWQgd2l0aCB1bmRlbGl2ZXJlZCBub3RpZmljYXRpb25zXCIgZXJyb3IuXG4gIC8vIEZvciBtb3JlIGRldGFpbHM6XG4gIC8vIC0gaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvcmVzaXplLW9ic2VydmVyL2lzc3Vlcy8zOCNpc3N1ZWNvbW1lbnQtNDIyMTI2MDA2XG4gIC8vIC0gaHR0cHM6Ly9naXRodWIuY29tL2p1Z2dsZS9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzEwMyNpc3N1ZWNvbW1lbnQtMTcxMTE0ODI4NVxuICBwcml2YXRlIF9kaWFsb2dDb250ZW50UmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3VwZGF0ZU92ZXJmbG93U3RhdGUoKSksXG4gIH0pO1xuXG4gIHByaXZhdGUgX2RpYWxvZ0VsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfaXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGNsb3NlQXR0cmlidXRlOiBzdHJpbmcgPSAnc2JiLWRpYWxvZy1jbG9zZSc7XG4gIHByb3RlY3RlZCBvdmVycmlkZSBjbG9zZVRhZzogc3RyaW5nID0gJ3NiYi1kaWFsb2ctY2xvc2UtYnV0dG9uJztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICAvLyBDbG9zZSBkaWFsb2cgb24gYmFja2Ryb3AgY2xpY2tcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncG9pbnRlcmRvd24nLCB0aGlzLl9wb2ludGVyRG93bkxpc3RlbmVyKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncG9pbnRlcnVwJywgdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2spO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgKCkgPT4gdGhpcy5fdXBkYXRlT3ZlcmZsb3dTdGF0ZSgpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLWRpYWxvZy0ke25leHRJZCsrfWA7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgfVxuXG4gIC8qKiBBbm5vdW5jZSB0aGUgYWNjZXNzaWJpbGl0eSBsYWJlbCBvciBkaWFsb2cgdGl0bGUgZm9yIHNjcmVlbiByZWFkZXJzLiAqL1xuICBwdWJsaWMgYW5ub3VuY2VUaXRsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEFyaWFMaXZlUmVmQ29udGVudChcbiAgICAgIHRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsIHx8IHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWRpYWxvZy10aXRsZScpPy5pbm5lclRleHQudHJpbSgpLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1kaWFsb2ctYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZW50RWxlbWVudCA9IHRoaXMuX2NvbnRlbnRFbGVtZW50KCk7XG5cbiAgICBjb250ZW50RWxlbWVudD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuXG4gICAgdGhpcy5pbmVydENvbnRyb2xsZXIuZGVhY3RpdmF0ZSgpO1xuICAgIGlmICghdGhpcy5za2lwRm9jdXNSZXN0b3JhdGlvbikge1xuICAgICAgLy8gTWFudWFsbHkgZm9jdXMgbGFzdCBmb2N1c2VkIGVsZW1lbnRcbiAgICAgIHRoaXMubGFzdEZvY3VzZWRFbGVtZW50Py5mb2N1cygpO1xuICAgIH1cbiAgICB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLmZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IGZhbHNlO1xuICAgIGlmIChjb250ZW50RWxlbWVudCkge1xuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyLmhvc3REaXNjb25uZWN0ZWQoKTtcbiAgICB9XG4gICAgdGhpcy5yZW1vdmVJbnN0YW5jZUZyb21HbG9iYWxDb2xsZWN0aW9uKCk7XG4gICAgLy8gRW5hYmxlIHNjcm9sbGluZyBmb3IgY29udGVudCBiZWxvdyB0aGUgZGlhbG9nIGlmIG5vIGRpYWxvZyBpcyBvcGVuXG4gICAgaWYgKCFvdmVybGF5UmVmcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgICB9XG4gICAgdGhpcy5lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoe1xuICAgICAgcmV0dXJuVmFsdWU6IHRoaXMucmV0dXJuVmFsdWUsXG4gICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuaW5lcnRDb250cm9sbGVyLmFjdGl2YXRlKCk7XG4gICAgdGhpcy5mb2N1c1RyYXBDb250cm9sbGVyLmZvY3VzSW5pdGlhbEVsZW1lbnQoKTtcbiAgICB0aGlzLmZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IHRydWU7XG4gICAgLy8gVXNlIHRpbWVvdXQgdG8gcmVhZCBsYWJlbCBhZnRlciBmb2N1c2VkIGVsZW1lbnRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuYW5ub3VuY2VUaXRsZSgpKTtcblxuICAgIGNvbnN0IGNvbnRlbnRFbGVtZW50ID0gdGhpcy5fY29udGVudEVsZW1lbnQoKTtcbiAgICBpZiAoY29udGVudEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlci5vYnNlcnZlKGNvbnRlbnRFbGVtZW50KTtcbiAgICB9XG4gICAgdGhpcy5kaXNwYXRjaE9wZW5FdmVudCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgLy8gSWYgdGhlIGNvbXBvbmVudCBpcyBhbHJlYWR5IG9wZW4gb24gZmlyc3RVcGRhdGUsIGFubm91bmNlIHRoZSB0aXRsZVxuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5hbm5vdW5jZVRpdGxlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3luY1RpdGxlTmVnYXRpdmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbmVnYXRpdmUnKSkge1xuICAgICAgdGhpcy5fc3luY1RpdGxlTmVnYXRpdmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Q2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuX3N5bmNUaXRsZU5lZ2F0aXZlKCk7XG4gICAgdGhpcy5fZGV0ZWN0SW50ZXJtZWRpYXRlRWxlbWVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY1RpdGxlTmVnYXRpdmUoKTogdm9pZCB7XG4gICAgY29uc3QgZGlhbG9nVGl0bGUgPSB0aGlzLnF1ZXJ5U2VsZWN0b3I/Lignc2JiLWRpYWxvZy10aXRsZScpO1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gdGhpcy5xdWVyeVNlbGVjdG9yPy4oJ3NiYi1kaWFsb2ctY2xvc2UtYnV0dG9uJyk7XG5cbiAgICBpZiAoZGlhbG9nVGl0bGUpIHtcbiAgICAgIGRpYWxvZ1RpdGxlLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZTtcbiAgICB9XG5cbiAgICBpZiAoY2xvc2VCdXR0b24pIHtcbiAgICAgIGNsb3NlQnV0dG9uLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kZXRlY3RJbnRlcm1lZGlhdGVFbGVtZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IGhhc05vRXhwZWN0ZWREaXJlY3RDaGlsZHJlbiA9XG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICc6c2NvcGUgPiA6aXMoc2JiLWRpYWxvZy10aXRsZSwgc2JiLWRpYWxvZy1jbG9zZS1idXR0b24sIHNiYi1kaWFsb2ctY29udGVudCwgc2JiLWRpYWxvZy1hY3Rpb25zKScsXG4gICAgICApID09PSBudWxsO1xuXG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnaGFzLWludGVybWVkaWF0ZS1lbGVtZW50JywgaGFzTm9FeHBlY3RlZERpcmVjdENoaWxkcmVuKTtcbiAgfVxuXG4gIC8qKiBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgZGlhbG9nLiAqL1xuICBwcml2YXRlIF9wb2ludGVyRG93bkxpc3RlbmVyID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5iYWNrZHJvcEFjdGlvbiAhPT0gJ2Nsb3NlJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nID1cbiAgICAgICEhdGhpcy5fZGlhbG9nRWxlbWVudCAmJiBldmVudC5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyh0aGlzLl9kaWFsb2dFbGVtZW50KTtcbiAgfTtcblxuICAvKiogQ2xvc2UgZGlhbG9nIG9uIGJhY2tkcm9wIGNsaWNrLiAqL1xuICBwcml2YXRlIF9jbG9zZU9uQmFja2Ryb3BDbGljayA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5iYWNrZHJvcEFjdGlvbiA9PT0gJ2Nsb3NlJyAmJlxuICAgICAgIXRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nICYmXG4gICAgICB0aGlzLl9kaWFsb2dFbGVtZW50ICYmXG4gICAgICAhZXZlbnQuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXModGhpcy5fZGlhbG9nRWxlbWVudClcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfdXBkYXRlT3ZlcmZsb3dTdGF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZW50RWxlbWVudCA9IHRoaXMuX2NvbnRlbnRFbGVtZW50KCk7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgndG9wLXNoYWRvdycsIChjb250ZW50RWxlbWVudD8uc2Nyb2xsVG9wID8/IDApID4gMCk7XG4gICAgdGhpcy50b2dnbGVTdGF0ZShcbiAgICAgICdib3R0b20tc2hhZG93JyxcbiAgICAgIChjb250ZW50RWxlbWVudD8uc2Nyb2xsVG9wID8/IDApICsgKGNvbnRlbnRFbGVtZW50Py5vZmZzZXRIZWlnaHQgPz8gMCkgPFxuICAgICAgICAoY29udGVudEVsZW1lbnQ/LnNjcm9sbEhlaWdodCA/PyAwKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29udGVudEVsZW1lbnQoKTogU2JiRGlhbG9nQ29udGVudEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLWNvbnRlbnQnKTtcbiAgfVxuXG4gIC8vIFRPRE86IHJlbW92ZSBwYXJhbWV0ZXIgYGRldGFpbGBcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudChfZGV0YWlsPzogU2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzKTogYm9vbGVhbiB7XG4gICAgLyoqIEB0eXBlIHtTYmJEaWFsb2dDbG9zZUV2ZW50fSBFbWl0cyB3aGVuZXZlciB0aGUgY29tcG9uZW50IGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuICovXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBTYmJEaWFsb2dDbG9zZUV2ZW50KCdiZWZvcmVjbG9zZScsIHtcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgY2xvc2VBdHRyaWJ1dGU6IHRoaXMuY2xvc2VBdHRyaWJ1dGUsXG4gICAgICAgIGNsb3NlVGFyZ2V0OiB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQsXG4gICAgICAgIHJlc3VsdDogdGhpcy5yZXR1cm5WYWx1ZSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvLyBUT0RPOiByZW1vdmUgcGFyYW1ldGVyIGBkZXRhaWxgXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaENsb3NlRXZlbnQoX2RldGFpbD86IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyk6IGJvb2xlYW4ge1xuICAgIC8qKiBAdHlwZSB7U2JiRGlhbG9nQ2xvc2VFdmVudH0gRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBpcyBjbG9zZWQuICovXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBTYmJEaWFsb2dDbG9zZUV2ZW50KCdjbG9zZScsIHtcbiAgICAgICAgY2xvc2VBdHRyaWJ1dGU6IHRoaXMuY2xvc2VBdHRyaWJ1dGUsXG4gICAgICAgIGNsb3NlVGFyZ2V0OiB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQsXG4gICAgICAgIHJlc3VsdDogdGhpcy5yZXR1cm5WYWx1ZSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZGlhbG9nX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIEBhbmltYXRpb25lbmQ9JHt0aGlzLm9uT3ZlcmxheUFuaW1hdGlvbkVuZH1cbiAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dcIlxuICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl9kaWFsb2dFbGVtZW50ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBjbGljaz0keyhldmVudDogRXZlbnQpID0+IHRoaXMuY2xvc2VPblNiYk92ZXJsYXlDbG9zZUNsaWNrKGV2ZW50KX1cbiAgICAgICAgICAgIGNsYXNzPVwic2JiLWRpYWxvZ19fd3JhcHBlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHsoKSA9PiB0aGlzLl9oYW5kbGVTbG90Q2hhbmdlKCl9Pjwvc2xvdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzYmItc2NyZWVuLXJlYWRlci1vbmx5IGFyaWEtbGl2ZT1cInBvbGl0ZVwiPjwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGlhbG9nJzogU2JiRGlhbG9nRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUN5QkEsSUFBSSxTQUFTOzs7Ozs7Ozs7SUFVQSwwQkFBZ0I7bUJBQVM7Ozs7Ozs7Y0FBekIseUJBQXlCLFlBQXFCOzs7aUNBS3hELFNBQVMsRUFBRSxXQUFXLG1CQUFtQixDQUFDLENBQUE7MkJBSTFDLFNBQVM7SUFBRSxXQUFXO0lBQVksU0FBUztJQUFNLENBQUMsQ0FBQTtBQUpQLGdCQUFBLE1BQUEsTUFBQSw0QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLG9CQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQWMsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFkLGlCQUFjOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsOEJBQUEsa0NBQUE7QUFJdEIsZ0JBQUEsTUFBQSxNQUFBLHNCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsY0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFRLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBUixXQUFROztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsd0JBQUEsNEJBQUE7Ozs7Ozs7OztBQVI1QyxRQUFBLGNBQXNCOzs7QUFDL0IsUUFBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLGVBQU0sQ0FBQzs7RUFHdkM7O0VBQUEsSUFBZ0IsaUJBQWM7QUFBQSxVQUFBLE1BQUE7O0VBQTlCLElBQWdCLGVBQWMsT0FBQTtBQUFBLFNBQUEsa0NBQUE7O0VBSXRCOztFQUFBLElBQWdCLFdBQVE7QUFBQSxVQUFBLE1BQUE7O0VBQXhCLElBQWdCLFNBQVEsT0FBQTtBQUFBLFNBQUEsNEJBQUE7O0VBbUI1RSxjQUFBO0FBQ0UsVUFBTztBQXhCbUQsU0FBQSxrQ0FBQSxrQkFBQSxNQUFBLDhCQUMxRCxRQUFPO0FBRzJELFNBQUEsNkJBQUEsa0JBQUEsTUFBQSxrQ0FBQSxFQUFBLGtCQUFBLE1BQUEsd0JBRWhELFNBQVE7QUFNcEIsUUFBQSxnQ0FBNEIsa0JBQUEsTUFBQSw0QkFBQSxFQUFHLElBQUksaUJBQWlCLE1BQU07SUFDaEUsUUFBUTtJQUNSLGFBQWE7SUFDYixnQkFBZ0IsaUJBQWlCLEtBQUssc0JBQXNCLENBQUE7SUFDN0QsQ0FBQztBQUdNLFFBQUEsOEJBQXVDO0FBQ3JDLFFBQUEsaUJBQXlCO0FBQ2hCLFFBQUEsV0FBbUI7O0FBd0g5QixRQUFBLHdCQUF3QixVQUE2QjtBQUMzRCxRQUFJLEtBQUssbUJBQW1CLFFBQzFCO0FBR0YsU0FBSyw4QkFDSCxDQUFDLENBQUMsS0FBSyxrQkFBa0IsTUFBTSxjQUFjLENBQUMsU0FBUyxLQUFLLGVBQWU7OztBQUl2RSxRQUFBLHlCQUF5QixVQUE2QjtBQUM1RCxRQUNFLEtBQUssbUJBQW1CLFdBQ3hCLENBQUMsS0FBSywrQkFDTixLQUFLLGtCQUNMLENBQUMsTUFBTSxjQUFjLENBQUMsU0FBUyxLQUFLLGVBQWUsQ0FFbkQsTUFBSyxPQUFPOztBQXBJZCxRQUFLLG1CQUFtQixlQUFlLEtBQUsscUJBQXFCO0FBQ2pFLFFBQUssbUJBQW1CLGFBQWEsS0FBSyxzQkFBc0I7QUFDaEUsUUFBSyxpQkFBaUIsZ0JBQWdCLEtBQUssc0JBQXNCLEVBQUU7SUFDakUsU0FBUztJQUNULFNBQVM7SUFDVixDQUFDOztFQUdZLG9CQUFpQjtBQUMvQixRQUFLLE9BQU8sY0FBYztBQUMxQixTQUFNLG1CQUFtQjs7O0VBSXBCLGdCQUFhO0FBQ2xCLFFBQUssc0JBQ0gsS0FBSyxzQkFBc0IsS0FBSyxjQUFjLG1CQUFtQixFQUFFLFVBQVUsTUFBTSxDQUNwRjs7RUFHTywwQkFBdUI7QUFDL0IsVUFBTyx3QkFBd0IsTUFBTSxrQ0FBa0M7O0VBRy9ELGdCQUFhO0dBQ3JCLE1BQU0saUJBQWlCLEtBQUssaUJBQWlCO0FBRTdDLG1CQUFnQixTQUFTLEdBQUcsRUFBRTtBQUM5QixRQUFLLFFBQVE7QUFDYixRQUFLLGVBQWU7QUFFcEIsUUFBSyxnQkFBZ0IsWUFBWTtBQUNqQyxPQUFJLENBQUMsS0FBSyxxQkFFUixNQUFLLG9CQUFvQixPQUFPO0FBRWxDLFFBQUssdUJBQXVCLE9BQU87QUFDbkMsUUFBSyxvQkFBb0IsVUFBVTtBQUNuQyxPQUFJLGVBQ0YsTUFBSyw2QkFBNkIsa0JBQWtCO0FBRXRELFFBQUssb0NBQW9DO0FBRXpDLE9BQUksQ0FBQyxZQUFZLE9BQ2YsTUFBSyxjQUFjLGNBQWM7QUFFbkMsUUFBSywyQkFBMkIsWUFBWTtBQUM1QyxRQUFLLG1CQUFtQjtJQUN0QixhQUFhLEtBQUs7SUFDbEIsYUFBYSxLQUFLO0lBQ25CLENBQUM7O0VBR00sZ0JBQWE7QUFDckIsUUFBSyxRQUFRO0FBQ2IsUUFBSyxnQkFBZ0IsVUFBVTtBQUMvQixRQUFLLG9CQUFvQixxQkFBcUI7QUFDOUMsUUFBSyxvQkFBb0IsVUFBVTtBQUVuQyxvQkFBaUIsS0FBSyxlQUFlLENBQUM7R0FFdEMsTUFBTSxpQkFBaUIsS0FBSyxpQkFBaUI7QUFDN0MsT0FBSSxlQUNGLE1BQUssNkJBQTZCLFFBQVEsZUFBZTtBQUUzRCxRQUFLLG1CQUFtQjs7RUFHUCxhQUFhLG1CQUF1QztBQUNyRSxTQUFNLGFBQWEsa0JBQWtCO0FBR3JDLE9BQUksS0FBSyxPQUNQLE1BQUssZUFBZTtBQUd0QixRQUFLLG9CQUFvQjs7RUFHUixXQUFXLG1CQUF1QztBQUNuRSxTQUFNLFdBQVcsa0JBQWtCO0FBRW5DLE9BQUksa0JBQWtCLElBQUksV0FBVyxDQUNuQyxNQUFLLG9CQUFvQjs7RUFJckIsb0JBQWlCO0FBQ3ZCLFFBQUssb0JBQW9CO0FBQ3pCLFFBQUssNEJBQTRCOztFQUczQixxQkFBa0I7R0FDeEIsTUFBTSxjQUFjLEtBQUssZ0JBQWdCLG1CQUFtQjtHQUM1RCxNQUFNLGNBQWMsS0FBSyxnQkFBZ0IsMEJBQTBCO0FBRW5FLE9BQUksWUFDRixhQUFZLFdBQVcsS0FBSztBQUc5QixPQUFJLFlBQ0YsYUFBWSxXQUFXLEtBQUs7O0VBSXhCLDZCQUEwQjtHQUNoQyxNQUFNLDhCQUNKLEtBQUssY0FDSCxrR0FDRCxLQUFLO0FBRVIsUUFBSyxZQUFZLDRCQUE0Qiw0QkFBNEI7O0VBeUJuRSx1QkFBb0I7R0FDMUIsTUFBTSxpQkFBaUIsS0FBSyxpQkFBaUI7QUFDN0MsUUFBSyxZQUFZLGVBQWUsZ0JBQWdCLGFBQWEsS0FBSyxFQUFFO0FBQ3BFLFFBQUssWUFDSCxrQkFDQyxnQkFBZ0IsYUFBYSxNQUFNLGdCQUFnQixnQkFBZ0IsTUFDakUsZ0JBQWdCLGdCQUFnQixHQUNwQzs7RUFHSyxrQkFBZTtBQUNyQixVQUFPLEtBQUssY0FBYyxxQkFBcUI7O0VBSTlCLHlCQUF5QixTQUFxQzs7QUFFL0UsVUFBTyxLQUFLLGNBQ1YsSUFBSSxxQkFBb0IsZUFBZTtJQUNyQyxZQUFZO0lBQ1osZ0JBQWdCLEtBQUs7SUFDckIsYUFBYSxLQUFLO0lBQ2xCLFFBQVEsS0FBSztJQUNkLENBQUMsQ0FDSDs7RUFJZ0IsbUJBQW1CLFNBQXFDOztBQUV6RSxVQUFPLEtBQUssY0FDVixJQUFJLHFCQUFvQixTQUFTO0lBQy9CLGdCQUFnQixLQUFLO0lBQ3JCLGFBQWEsS0FBSztJQUNsQixRQUFRLEtBQUs7SUFDZCxDQUFDLENBQ0g7O0VBR2dCLFNBQU07QUFDdkIsVUFBTyxNQUFJOzs7MEJBR1csS0FBSyxzQkFBQTs7WUFFbkIsS0FBSyxPQUFrQixLQUFLLGlCQUFpQixHQUFzQixDQUFBOzs7c0JBR3pELFVBQWlCLEtBQUssNEJBQTRCLE1BQU0sQ0FBQTs7O3NDQUd4QyxLQUFLLG1CQUFtQixDQUFBIn0=
237
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC1ES3VSNHUteS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICk7XG4gIC0tc2JiLWRpYWxvZy1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXhzKTtcbiAgLS1zYmItZGlhbG9nLXNoYWRvdy1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1kaWFsb2ctaW5zZXQpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItZGlhbG9nLXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAtLXNiYi1kaWFsb2ctbWF4LXdpZHRoOiBtaW4oXG4gICAgICBjYWxjKDEwMHZ3IC0gdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMzB4KSAqIDIpLFxuICAgICAgdmFyKC0tc2JiLWRpYWxvZy1tYXgtd2lkdGgtZGVmYXVsdClcbiAgICApO1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZSh0b3Atc2hhZG93KSkge1xuICAtLXNiYi1kaWFsb2ctYmxvY2stc3RhcnQtYm94LXNoYWRvdzogdmFyKC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93KTtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpKSkge1xuICAtLXNiYi1kaWFsb2ctcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgLS1zYmItZGlhbG9nLWJhY2tkcm9wLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgLS1zYmItZGlhbG9nLWJhY2tkcm9wLXZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgLS1zYmItZGlhbG9nLWJhY2tkcm9wLXBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbn1cblxuOmhvc3QoW2JhY2tkcm9wPSd0cmFuc2x1Y2VudCddOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1jb2xvci1ibGFjaykgNTAlLCB0cmFuc3BhcmVudCk7XG59XG5cbjpob3N0KFtiYWNrZHJvcD0nb3BhcXVlJ106bm90KFtuZWdhdGl2ZV0pOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG59XG5cbjpob3N0KDpub3QoW25lZ2F0aXZlXSkpIHtcbiAgLS1fc2JiLWRpYWxvZy1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1jb2xvcik7XG4gIC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93OiB2YXIoLS1zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG4gIC0tc2JiLWRpYWxvZy1hY3Rpb25zLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNCk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xKTtcbn1cblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICAtLV9zYmItZGlhbG9nLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWNvbG9yLW5lZ2F0aXZlKTtcbiAgLS1fc2JiLWRpYWxvZy1ibG9jay1zaGFkb3c6IHZhcigtLXNiYi1kaWFsb2ctYmxvY2stc2hhZG93LW5lZ2F0aXZlKTtcbiAgLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYWN0aW9ucy1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbn1cblxuOmhvc3QoOnN0YXRlKGJvdHRvbS1zaGFkb3cpKSB7XG4gIC0tc2JiLWRpYWxvZy1ibG9jay1lbmQtYm94LXNoYWRvdzogdmFyKC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93KTtcbiAgLS1zYmItZGlhbG9nLWFjdGlvbnMtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc3RhdGUtY2xvc2VkKSkpIHtcbiAgLS1zYmItZGlhbG9nLWluc2V0OiAwO1xufVxuXG4uc2JiLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctcG9pbnRlci1ldmVudHMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiB2YXIoLS1zYmItZGlhbG9nLWluc2V0KTtcblxuICAvLyBEaWFsb2cgYmFja2Ryb3AgKG5vdCB2aXNpYmxlIG9uIG1vYmlsZSlcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB2aXNpYmlsaXR5OiB2YXIoLS1zYmItZGlhbG9nLWJhY2tkcm9wLXZpc2liaWxpdHkpO1xuICAgIHBvaW50ZXItZXZlbnRzOiB2YXIoLS1zYmItZGlhbG9nLWJhY2tkcm9wLXBvaW50ZXItZXZlbnRzKTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IHZhcigtLXNiYi1kaWFsb2ctaW5zZXQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtY29sb3IpO1xuICAgIHRyYW5zaXRpb246IHtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1kaWFsb2ctYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgICBwcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdmlzaWJpbGl0eTtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi1kaWFsb2cge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWlubGluZTogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIHdpZHRoOiB2YXIoLS1zYmItZGlhbG9nLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLWhlaWdodCk7XG4gIG1heC13aWR0aDogdmFyKC0tc2JiLWRpYWxvZy1tYXgtd2lkdGgpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLW1heC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tX3NiYi1kaWFsb2ctY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3IpO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogb3BlbjtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgb3V0bGluZTogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItZGlhbG9nLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShoYXMtaW50ZXJtZWRpYXRlLWVsZW1lbnQpKSA6OnNsb3R0ZWQoOmZpcnN0LWNoaWxkKSxcbi5zYmItZGlhbG9nX193cmFwcGVyIHtcbiAgd2lkdGg6IHZhcigtLXNiYi1kaWFsb2ctd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctaGVpZ2h0KTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1zYmItZGlhbG9nLW1heC13aWR0aCk7XG4gIG1heC1oZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctbWF4LWhlaWdodCk7XG59XG5cbjpob3N0KDpzdGF0ZShoYXMtaW50ZXJtZWRpYXRlLWVsZW1lbnQpKSA6OnNsb3R0ZWQoOmZpcnN0LWNoaWxkKSxcbjpob3N0KDpub3QoOnN0YXRlKGhhcy1pbnRlcm1lZGlhdGUtZWxlbWVudCkpKSAuc2JiLWRpYWxvZ19fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGU6XG4gICAgJ3RpdGxlIGNsb3NlLWJ1dHRvbicgYXV0b1xuICAgICdjb250ZW50IGNvbnRlbnQnIDFmclxuICAgICdhY3Rpb25zIGFjdGlvbnMnIGF1dG8gLyAxZnIgYXV0bztcbiAgZ2FwOiAwO1xufVxuXG4vLyBJdCBpcyBuZWNlc3NhcnkgdG8gdXNlIGFuaW1hdGlvbnMgd2l0aCBrZXlmcmFtZXMgaW5zdGVhZCBvZiB0cmFuc2l0aW9ucyBpbiBvcmRlciBub3QgdG8gYWx0ZXJcbi8vIHRoZSBkZWZhdWx0IGBkaXNwbGF5OiBibG9ja2Agb2YgdGhlIG1vZGFsIG90aGVyd2lzZSBpdCBjYXVzZXMgc2V2ZXJhbCBwcm9ibGVtcyxcbi8vIGVzcGVjaWFsbHkgZm9yIGFjY2Vzc2liaWxpdHkuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogMCB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNsYXRlOiAwIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFByb3BlcnR5VmFsdWVzLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBpc1plcm9BbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzL292ZXJsYXktY2xvc2UtZGV0YWlscy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQge1xuICBvdmVybGF5UmVmcyxcbiAgU2JiT3ZlcmxheUJhc2VFbGVtZW50LFxuICBTYmJPdmVybGF5Q2xvc2VFdmVudCBhcyBTYmJEaWFsb2dDbG9zZUV2ZW50LFxufSBmcm9tICcuLi8uLi9vdmVybGF5LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiRGlhbG9nQ29udGVudEVsZW1lbnQgfSBmcm9tICcuLi9kaWFsb2ctY29udGVudC9kaWFsb2ctY29udGVudC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9kaWFsb2cuc2Nzcz9pbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL3NjcmVlbi1yZWFkZXItb25seS50cyc7XG5cbmV4cG9ydCB7XG4gIGFzc2lnbk92ZXJsYXlSZXN1bHQgYXMgYXNzaWduRGlhbG9nUmVzdWx0LFxuICBTYmJPdmVybGF5Q2xvc2VFdmVudCBhcyBTYmJEaWFsb2dDbG9zZUV2ZW50LFxufSBmcm9tICcuLi8uLi9vdmVybGF5L292ZXJsYXktYmFzZS1lbGVtZW50LnRzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaW50ZXJhY3RpdmUgb3ZlcmxheSBlbGVtZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBhIGBzYmItZGlhbG9nLXRpdGxlYCwgYHNiYi1kaWFsb2ctY29udGVudGAgYW5kIGFuIG9wdGlvbmFsIGBzYmItZGlhbG9nLWFjdGlvbnNgLlxuICogQGNzc3Byb3AgWy0tc2JiLWRpYWxvZy16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJEaWFsb2dFbGVtZW50IGV4dGVuZHMgU2JiT3ZlcmxheUJhc2VFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1kaWFsb2cnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogQmFja2Ryb3AgY2xpY2sgYWN0aW9uLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdiYWNrZHJvcC1hY3Rpb24nIH0pIHB1YmxpYyBhY2Nlc3NvciBiYWNrZHJvcEFjdGlvbjogJ2Nsb3NlJyB8ICdub25lJyA9XG4gICAgJ2Nsb3NlJztcblxuICAvKiogQmFja2Ryb3AgZGVuc2l0eS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYmFja2Ryb3AnLCByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBiYWNrZHJvcDpcbiAgICB8ICdvcGFxdWUnXG4gICAgfCAndHJhbnNsdWNlbnQnID0gJ29wYXF1ZSc7XG5cbiAgLy8gV2UgdXNlIGEgdGltZW91dCBhcyBhIHdvcmthcm91bmQgdG8gdGhlIFwiUmVzaXplT2JzZXJ2ZXIgbG9vcCBjb21wbGV0ZWQgd2l0aCB1bmRlbGl2ZXJlZCBub3RpZmljYXRpb25zXCIgZXJyb3IuXG4gIC8vIEZvciBtb3JlIGRldGFpbHM6XG4gIC8vIC0gaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvcmVzaXplLW9ic2VydmVyL2lzc3Vlcy8zOCNpc3N1ZWNvbW1lbnQtNDIyMTI2MDA2XG4gIC8vIC0gaHR0cHM6Ly9naXRodWIuY29tL2p1Z2dsZS9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzEwMyNpc3N1ZWNvbW1lbnQtMTcxMTE0ODI4NVxuICBwcml2YXRlIF9kaWFsb2dDb250ZW50UmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIHNraXBJbml0aWFsOiB0cnVlLFxuICAgIGNhbGxiYWNrOiAoKSA9PiBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3VwZGF0ZU92ZXJmbG93U3RhdGUoKSksXG4gIH0pO1xuXG4gIHByaXZhdGUgX2RpYWxvZ0VsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfaXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGNsb3NlQXR0cmlidXRlOiBzdHJpbmcgPSAnc2JiLWRpYWxvZy1jbG9zZSc7XG4gIHByb3RlY3RlZCBvdmVycmlkZSBjbG9zZVRhZzogc3RyaW5nID0gJ3NiYi1kaWFsb2ctY2xvc2UtYnV0dG9uJztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICAvLyBDbG9zZSBkaWFsb2cgb24gYmFja2Ryb3AgY2xpY2tcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncG9pbnRlcmRvd24nLCB0aGlzLl9wb2ludGVyRG93bkxpc3RlbmVyKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncG9pbnRlcnVwJywgdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2spO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgKCkgPT4gdGhpcy5fdXBkYXRlT3ZlcmZsb3dTdGF0ZSgpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLWRpYWxvZy0ke25leHRJZCsrfWA7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgfVxuXG4gIC8qKiBBbm5vdW5jZSB0aGUgYWNjZXNzaWJpbGl0eSBsYWJlbCBvciBkaWFsb2cgdGl0bGUgZm9yIHNjcmVlbiByZWFkZXJzLiAqL1xuICBwdWJsaWMgYW5ub3VuY2VUaXRsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEFyaWFMaXZlUmVmQ29udGVudChcbiAgICAgIHRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsIHx8IHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWRpYWxvZy10aXRsZScpPy50ZXh0Q29udGVudC50cmltKCksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLWRpYWxvZy1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRlbnRFbGVtZW50ID0gdGhpcy5fY29udGVudEVsZW1lbnQoKTtcblxuICAgIGNvbnRlbnRFbGVtZW50Py5zY3JvbGxUbygwLCAwKTtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG5cbiAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5kZWFjdGl2YXRlKCk7XG4gICAgaWYgKCF0aGlzLnNraXBGb2N1c1Jlc3RvcmF0aW9uKSB7XG4gICAgICAvLyBNYW51YWxseSBmb2N1cyBsYXN0IGZvY3VzZWQgZWxlbWVudFxuICAgICAgdGhpcy5sYXN0Rm9jdXNlZEVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gZmFsc2U7XG4gICAgaWYgKGNvbnRlbnRFbGVtZW50KSB7XG4gICAgICB0aGlzLl9kaWFsb2dDb250ZW50UmVzaXplT2JzZXJ2ZXIuaG9zdERpc2Nvbm5lY3RlZCgpO1xuICAgIH1cbiAgICB0aGlzLnJlbW92ZUluc3RhbmNlRnJvbUdsb2JhbENvbGxlY3Rpb24oKTtcbiAgICAvLyBFbmFibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBkaWFsb2cgaWYgbm8gZGlhbG9nIGlzIG9wZW5cbiAgICBpZiAoIW92ZXJsYXlSZWZzLmxlbmd0aCkge1xuICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyLmVuYWJsZVNjcm9sbCgpO1xuICAgIH1cbiAgICB0aGlzLmVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VFdmVudCh7XG4gICAgICByZXR1cm5WYWx1ZTogdGhpcy5yZXR1cm5WYWx1ZSxcbiAgICAgIGNsb3NlVGFyZ2V0OiB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5pbmVydENvbnRyb2xsZXIuYWN0aXZhdGUoKTtcbiAgICB0aGlzLmZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICAvLyBVc2UgdGltZW91dCB0byByZWFkIGxhYmVsIGFmdGVyIGZvY3VzZWQgZWxlbWVudFxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hbm5vdW5jZVRpdGxlKCkpO1xuXG4gICAgY29uc3QgY29udGVudEVsZW1lbnQgPSB0aGlzLl9jb250ZW50RWxlbWVudCgpO1xuICAgIGlmIChjb250ZW50RWxlbWVudCkge1xuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUoY29udGVudEVsZW1lbnQpO1xuICAgIH1cbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvLyBJZiB0aGUgY29tcG9uZW50IGlzIGFscmVhZHkgb3BlbiBvbiBmaXJzdFVwZGF0ZSwgYW5ub3VuY2UgdGhlIHRpdGxlXG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLmFubm91bmNlVGl0bGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduZWdhdGl2ZScpKSB7XG4gICAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5fc3luY1RpdGxlTmVnYXRpdmUoKTtcbiAgICB0aGlzLl9kZXRlY3RJbnRlcm1lZGlhdGVFbGVtZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9zeW5jVGl0bGVOZWdhdGl2ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBkaWFsb2dUaXRsZSA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdzYmItZGlhbG9nLXRpdGxlJyk7XG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3I/Lignc2JiLWRpYWxvZy1jbG9zZS1idXR0b24nKTtcblxuICAgIGlmIChkaWFsb2dUaXRsZSkge1xuICAgICAgZGlhbG9nVGl0bGUubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xuICAgIH1cblxuICAgIGlmIChjbG9zZUJ1dHRvbikge1xuICAgICAgY2xvc2VCdXR0b24ubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RldGVjdEludGVybWVkaWF0ZUVsZW1lbnQoKTogdm9pZCB7XG4gICAgY29uc3QgaGFzTm9FeHBlY3RlZERpcmVjdENoaWxkcmVuID1cbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJzpzY29wZSA+IDppcyhzYmItZGlhbG9nLXRpdGxlLCBzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbiwgc2JiLWRpYWxvZy1jb250ZW50LCBzYmItZGlhbG9nLWFjdGlvbnMpJyxcbiAgICAgICkgPT09IG51bGw7XG5cbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdoYXMtaW50ZXJtZWRpYXRlLWVsZW1lbnQnLCBoYXNOb0V4cGVjdGVkRGlyZWN0Q2hpbGRyZW4pO1xuICB9XG5cbiAgLyoqIENoZWNrIGlmIHRoZSBwb2ludGVyZG93biBldmVudCB0YXJnZXQgaXMgdHJpZ2dlcmVkIG9uIHRoZSBkaWFsb2cuICovXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLmJhY2tkcm9wQWN0aW9uICE9PSAnY2xvc2UnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2cgPVxuICAgICAgISF0aGlzLl9kaWFsb2dFbGVtZW50ICYmIGV2ZW50LmNvbXBvc2VkUGF0aCgpLmluY2x1ZGVzKHRoaXMuX2RpYWxvZ0VsZW1lbnQpO1xuICB9O1xuXG4gIC8qKiBDbG9zZSBkaWFsb2cgb24gYmFja2Ryb3AgY2xpY2suICovXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmJhY2tkcm9wQWN0aW9uID09PSAnY2xvc2UnICYmXG4gICAgICAhdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2cgJiZcbiAgICAgIHRoaXMuX2RpYWxvZ0VsZW1lbnQgJiZcbiAgICAgICFldmVudC5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyh0aGlzLl9kaWFsb2dFbGVtZW50KVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF91cGRhdGVPdmVyZmxvd1N0YXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRlbnRFbGVtZW50ID0gdGhpcy5fY29udGVudEVsZW1lbnQoKTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCd0b3Atc2hhZG93JywgKGNvbnRlbnRFbGVtZW50Py5zY3JvbGxUb3AgPz8gMCkgPiAwKTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKFxuICAgICAgJ2JvdHRvbS1zaGFkb3cnLFxuICAgICAgKGNvbnRlbnRFbGVtZW50Py5zY3JvbGxUb3AgPz8gMCkgKyAoY29udGVudEVsZW1lbnQ/Lm9mZnNldEhlaWdodCA/PyAwKSA8XG4gICAgICAgIChjb250ZW50RWxlbWVudD8uc2Nyb2xsSGVpZ2h0ID8/IDApLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9jb250ZW50RWxlbWVudCgpOiBTYmJEaWFsb2dDb250ZW50RWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3NiYi1kaWFsb2ctY29udGVudCcpO1xuICB9XG5cbiAgLy8gVE9ETzogcmVtb3ZlIHBhcmFtZXRlciBgZGV0YWlsYFxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KF9kZXRhaWw/OiBTYmJPdmVybGF5Q2xvc2VFdmVudERldGFpbHMpOiBib29sZWFuIHtcbiAgICAvKiogQHR5cGUge1NiYkRpYWxvZ0Nsb3NlRXZlbnR9IEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IFNiYkRpYWxvZ0Nsb3NlRXZlbnQoJ2JlZm9yZWNsb3NlJywge1xuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICBjbG9zZUF0dHJpYnV0ZTogdGhpcy5jbG9zZUF0dHJpYnV0ZSxcbiAgICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMub3ZlcmxheUNsb3NlRWxlbWVudCxcbiAgICAgICAgcmVzdWx0OiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8vIFRPRE86IHJlbW92ZSBwYXJhbWV0ZXIgYGRldGFpbGBcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpc3BhdGNoQ2xvc2VFdmVudChfZGV0YWlsPzogU2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzKTogYm9vbGVhbiB7XG4gICAgLyoqIEB0eXBlIHtTYmJEaWFsb2dDbG9zZUV2ZW50fSBFbWl0cyB3aGVuZXZlciB0aGUgY29tcG9uZW50IGlzIGNsb3NlZC4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IFNiYkRpYWxvZ0Nsb3NlRXZlbnQoJ2Nsb3NlJywge1xuICAgICAgICBjbG9zZUF0dHJpYnV0ZTogdGhpcy5jbG9zZUF0dHJpYnV0ZSxcbiAgICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMub3ZlcmxheUNsb3NlRWxlbWVudCxcbiAgICAgICAgcmVzdWx0OiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1kaWFsb2dfX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0ke3RoaXMub25PdmVybGF5QW5pbWF0aW9uRW5kfVxuICAgICAgICAgIGNsYXNzPVwic2JiLWRpYWxvZ1wiXG4gICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCkgPT4gKHRoaXMuX2RpYWxvZ0VsZW1lbnQgPSBlbCBhcyBIVE1MRGl2RWxlbWVudCkpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgQGNsaWNrPSR7KGV2ZW50OiBFdmVudCkgPT4gdGhpcy5jbG9zZU9uU2JiT3ZlcmxheUNsb3NlQ2xpY2soZXZlbnQpfVxuICAgICAgICAgICAgY2xhc3M9XCJzYmItZGlhbG9nX193cmFwcGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0keygpID0+IHRoaXMuX2hhbmRsZVNsb3RDaGFuZ2UoKX0+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHkgYXJpYS1saXZlPVwicG9saXRlXCI+PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1kaWFsb2cnOiBTYmJEaWFsb2dFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQ3lCQSxJQUFJLFNBQVM7Ozs7Ozs7OztJQVVBLDBCQUFnQjttQkFBUzs7Ozs7OztjQUF6Qix5QkFBeUIsWUFBcUI7OztpQ0FLeEQsU0FBUyxFQUFFLFdBQVcsbUJBQW1CLENBQUMsQ0FBQTsyQkFJMUMsU0FBUztJQUFFLFdBQVc7SUFBWSxTQUFTO0lBQU0sQ0FBQyxDQUFBO0FBSlAsZ0JBQUEsTUFBQSxNQUFBLDRCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsb0JBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBYyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQWQsaUJBQWM7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSw4QkFBQSxrQ0FBQTtBQUl0QixnQkFBQSxNQUFBLE1BQUEsc0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxjQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVEsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFSLFdB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
@@ -2,7 +2,7 @@ import { t as SbbDialogActionsElement } from "./dialog-actions.component-CegGvLG
2
2
  import { t as SbbDialogCloseButtonElement } from "./dialog-close-button.component-C4P-8J8j.js";
3
3
  import { t as SbbDialogContentElement } from "./dialog-content.component-bm8piC0O.js";
4
4
  import { t as SbbDialogTitleElement } from "./dialog-title.component-CUAbFzCr.js";
5
- import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-TBiL0Sdq.js";
5
+ import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-DKuR4u-y.js";
6
6
  import "./dialog.pure.js";
7
7
  //#region src/elements/dialog.ts
8
8
  /** @entrypoint */
@@ -2,5 +2,5 @@ import { t as SbbDialogActionsElement } from "./dialog-actions.component-CegGvLG
2
2
  import { t as SbbDialogCloseButtonElement } from "./dialog-close-button.component-C4P-8J8j.js";
3
3
  import { t as SbbDialogContentElement } from "./dialog-content.component-bm8piC0O.js";
4
4
  import { t as SbbDialogTitleElement } from "./dialog-title.component-CUAbFzCr.js";
5
- import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-TBiL0Sdq.js";
5
+ import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-DKuR4u-y.js";
6
6
  export { SbbDialogActionsElement, SbbDialogCloseButtonElement, SbbDialogCloseEvent, SbbDialogContentElement, SbbDialogElement, SbbDialogTitleElement, assignDialogResult };
@@ -0,0 +1,55 @@
1
+ import { html, unsafeCSS } from "lit";
2
+ import { SbbElement } from "./core/base-elements.js";
3
+ import { SbbNegativeMixin } from "./core/mixins.js";
4
+ import { boxSizingStyles } from "./core/styles.js";
5
+ //#region src/elements/form-field/error/error.scss?inline
6
+ var error_default = ":host {\n --_sbb-error-height: calc(var(--sbb-typo-line-height-text) * 1em);\n --sbb-icon-svg-width: var(--sbb-error-icon-size);\n --sbb-icon-svg-height: var(--sbb-error-icon-size);\n display: flex;\n align-items: flex-start;\n color: var(--sbb-error-color);\n min-height: var(--_sbb-error-height);\n font-size: var(--sbb-error-font-size);\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n}\n@media (forced-colors: active) {\n :host {\n --sbb-error-color: LinkText !important;\n }\n}\n\n:host([negative]) {\n --sbb-error-color: var(--sbb-color-red85);\n}\n\n.error__icon {\n display: flex;\n align-items: center;\n height: var(--_sbb-error-height);\n margin-inline-end: var(--sbb-spacing-fixed-1x);\n}\n\n.error-content {\n line-height: var(--sbb-typo-line-height-text);\n vertical-align: text-top;\n}\n\n.error__icon-svg {\n stroke: currentcolor;\n height: var(--_sbb-error-height);\n}";
7
+ //#endregion
8
+ //#region src/elements/form-field/error/error.component.ts
9
+ /**
10
+ * It displays an error message in the `sbb-form-field`.
11
+ *
12
+ * @slot - Use this slot to display the error message.
13
+ * @slot icon - Use this slot to override the default error icon.
14
+ */
15
+ var SbbErrorElement = class extends SbbNegativeMixin(SbbElement) {
16
+ static {
17
+ this.elementName = "sbb-error";
18
+ }
19
+ static {
20
+ this.styles = [boxSizingStyles, unsafeCSS(error_default)];
21
+ }
22
+ connectedCallback() {
23
+ super.connectedCallback();
24
+ const formField = this.closest?.("sbb-form-field");
25
+ if (formField) this.negative = formField.hasAttribute("negative");
26
+ }
27
+ render() {
28
+ return html`
29
+ <span class="error__icon">
30
+ <slot name="icon">
31
+ <svg
32
+ class="error__icon-svg"
33
+ aria-hidden="true"
34
+ width="14"
35
+ height="14"
36
+ viewBox="0 0 14 14"
37
+ fill="none"
38
+ xmlns="http://www.w3.org/2000/svg"
39
+ >
40
+ <line x1="7" y1="3" x2="7" y2="8.5" />
41
+ <line x1="7" y1="10" x2="7" y2="11" />
42
+ <circle cx="7" cy="7" r="6.5" />
43
+ </svg>
44
+ </slot>
45
+ </span>
46
+ <span class="error-content">
47
+ <slot></slot>
48
+ </span>
49
+ `;
50
+ }
51
+ };
52
+ //#endregion
53
+ export { SbbErrorElement as t };
54
+
55
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LU9CcFdvVlJMLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9mb3JtLWZpZWxkL2Vycm9yL2Vycm9yLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZXJyb3IvZXJyb3IuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1fc2JiLWVycm9yLWhlaWdodDogY2FsYyh2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSAqIDFlbSk7XG5cbiAgLy8gT3ZlcnJpZGVzIHNiYiBpY29uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgY29sb3I6IHZhcigtLXNiYi1lcnJvci1jb2xvcik7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItZXJyb3ItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLWVycm9yLWNvbG9yOiBMaW5rVGV4dCAhaW1wb3J0YW50O1xuICB9XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgLS1zYmItZXJyb3ItY29sb3I6IHZhcigtLXNiYi1jb2xvci1yZWQ4NSk7XG59XG5cbi5lcnJvcl9faWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogdmFyKC0tX3NiYi1lcnJvci1oZWlnaHQpO1xuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xufVxuXG4uZXJyb3ItY29udGVudCB7XG4gIC8vIEZpeCBmb3IgbGluZS1oZWlnaHQgdGFraW5nIG1vcmUgdGhhbiByZXNlcnZlZCBzcGFjZVxuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCk7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbn1cblxuLmVycm9yX19pY29uLXN2ZyB7XG4gIHN0cm9rZTogY3VycmVudGNvbG9yO1xuICBoZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbn1cbiIsImltcG9ydCB7IGh0bWwsIHVuc2FmZUNTUywgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgU2JiTmVnYXRpdmVNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZXJyb3Iuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGVycm9yIG1lc3NhZ2UgaW4gdGhlIGBzYmItZm9ybS1maWVsZGAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgdGhlIGVycm9yIG1lc3NhZ2UuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBlcnJvciBpY29uLlxuICovXG5leHBvcnQgY2xhc3MgU2JiRXJyb3JFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZXJyb3InO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBmb3JtRmllbGQgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLWZvcm0tZmllbGQnKTtcbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gZm9ybUZpZWxkLmhhc0F0dHJpYnV0ZSgnbmVnYXRpdmUnKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3JfX2ljb25cIj5cbiAgICAgICAgPHNsb3QgbmFtZT1cImljb25cIj5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICBjbGFzcz1cImVycm9yX19pY29uLXN2Z1wiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgd2lkdGg9XCIxNFwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIxNFwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE0IDE0XCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxsaW5lIHgxPVwiN1wiIHkxPVwiM1wiIHgyPVwiN1wiIHkyPVwiOC41XCIgLz5cbiAgICAgICAgICAgIDxsaW5lIHgxPVwiN1wiIHkxPVwiMTBcIiB4Mj1cIjdcIiB5Mj1cIjExXCIgLz5cbiAgICAgICAgICAgIDxjaXJjbGUgY3g9XCI3XCIgY3k9XCI3XCIgcj1cIjYuNVwiIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItY29udGVudFwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWVycm9yJzogU2JiRXJyb3JFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FDY0EsSUFBYSxrQkFBYixjQUFxQyxpQkFBaUIsV0FBVyxDQUFBOztBQUMvQixPQUFBLGNBQXNCOzs7QUFDL0IsT0FBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLGNBQU0sQ0FBQzs7Q0FFbkUsb0JBQWlCO0FBQy9CLFFBQU0sbUJBQW1CO0VBQ3pCLE1BQU0sWUFBWSxLQUFLLFVBQVUsaUJBQWlCO0FBQ2xELE1BQUksVUFDRixNQUFLLFdBQVcsVUFBVSxhQUFhLFdBQVc7O0NBSW5DLFNBQU07QUFDdkIsU0FBTyxJQUFJIn0=
@@ -1,2 +1,2 @@
1
- import { t as SbbExpansionPanelElement } from "../../expansion-panel.component-PDUmZe7w.js";
1
+ import { t as SbbExpansionPanelElement } from "../../expansion-panel.component-CV_IuWZA.js";
2
2
  export { SbbExpansionPanelElement };
@@ -1,2 +1,2 @@
1
- import { t as SbbExpansionPanelHeaderElement } from "../../expansion-panel-header.component-Bw4uROTe.js";
1
+ import { t as SbbExpansionPanelHeaderElement } from "../../expansion-panel-header.component-BEAabEE0.js";
2
2
  export { SbbExpansionPanelHeaderElement };
@@ -1,4 +1,4 @@
1
- import { t as SbbExpansionPanelHeaderElement } from "../expansion-panel-header.component-Bw4uROTe.js";
1
+ import { t as SbbExpansionPanelHeaderElement } from "../expansion-panel-header.component-BEAabEE0.js";
2
2
  //#region src/elements/expansion-panel/expansion-panel-header.ts
3
3
  /** @entrypoint */
4
4
  SbbExpansionPanelHeaderElement.define();
@@ -1,4 +1,4 @@
1
- import { t as SbbExpansionPanelElement } from "../expansion-panel.component-PDUmZe7w.js";
1
+ import { t as SbbExpansionPanelElement } from "../expansion-panel.component-CV_IuWZA.js";
2
2
  //#region src/elements/expansion-panel/expansion-panel.ts
3
3
  /** @entrypoint */
4
4
  SbbExpansionPanelElement.define();
@@ -0,0 +1,85 @@
1
+ import { html, nothing, unsafeCSS } from "lit";
2
+ import { SbbButtonBaseElement } from "./core/base-elements.js";
3
+ import { SbbDisabledTabIndexActionMixin, ɵstateController } from "./core/mixins.js";
4
+ import { boxSizingStyles } from "./core/styles.js";
5
+ import { SbbMediaMatcherController, SbbMediaQueryHover, SbbPropertyWatcherController } from "./core/controllers.js";
6
+ import { SbbIconNameMixin } from "./icon.js";
7
+ //#region src/elements/expansion-panel/expansion-panel-header/expansion-panel-header.scss?inline
8
+ var expansion_panel_header_default = ":host {\n display: block;\n}\n\n:host(:is(:state(size-s),[state--size-s])) {\n --sbb-expansion-panel-header-gap: var(--sbb-expansion-panel-header-gap-s);\n --sbb-expansion-panel-header-padding-block: var(--sbb-expansion-panel-header-padding-block-s);\n --sbb-expansion-panel-header-padding-inline: var(--sbb-expansion-panel-header-padding-inline-s);\n}\n\n:host(:is(:state(size-l),[state--size-l])) {\n --sbb-expansion-panel-header-gap: var(--sbb-expansion-panel-header-gap-l);\n --sbb-expansion-panel-header-padding-block: var(--sbb-expansion-panel-header-padding-block-l);\n --sbb-expansion-panel-header-padding-inline: var(--sbb-expansion-panel-header-padding-inline-l);\n}\n\n:host(:not(:is(:state(size-s),[state--size-s]), :is(:state(size-l),[state--size-l]))) {\n --sbb-expansion-panel-header-gap: var(--sbb-expansion-panel-header-gap-default);\n --sbb-expansion-panel-header-padding-block: var(\n --sbb-expansion-panel-header-padding-block-default\n );\n --sbb-expansion-panel-header-padding-inline: var(\n --sbb-expansion-panel-header-padding-inline-default\n );\n}\n\n:host(:is(:disabled, [disabled-interactive])) {\n --sbb-expansion-panel-header-cursor: var(--sbb-cursor-default);\n --sbb-expansion-panel-header-text-color: var(--sbb-color-granite);\n --sbb-expansion-panel-header-text-color: light-dark(\n var(--sbb-color-granite),\n var(--sbb-color-storm)\n );\n}\n@media (forced-colors: active) {\n :host(:is(:disabled, [disabled-interactive])) {\n --sbb-expansion-panel-header-text-color: GrayText;\n }\n}\n\n:host(:focus-visible) {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n outline-offset: var(--sbb-spacing-fixed-1x);\n border-radius: var(--sbb-expansion-panel-border-radius);\n}\n\n.sbb-expansion-panel-header {\n display: flex;\n justify-content: var(--sbb-expansion-panel-header-justify-content);\n align-items: center;\n gap: var(--sbb-expansion-panel-header-gap);\n width: 100%;\n padding: var(--sbb-expansion-panel-header-padding-block) var(--sbb-expansion-panel-header-padding-inline);\n text-align: start;\n cursor: var(--sbb-expansion-panel-header-cursor);\n color: var(--sbb-expansion-panel-header-text-color);\n font-size: var(--sbb-expansion-panel-header-font-size);\n font-weight: normal;\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n line-height: var(--sbb-typo-line-height-text);\n -webkit-tap-highlight-color: transparent;\n}\n\n.sbb-expansion-panel-header__title,\n.sbb-expansion-panel-header__toggle,\n.sbb-expansion-panel-header__icon {\n display: flex;\n}\n\n.sbb-expansion-panel-header__icon {\n width: var(--sbb-expansion-panel-icon-size);\n --sbb-icon-svg-width: var(--sbb-expansion-panel-icon-size);\n --sbb-icon-svg-height: var(--sbb-expansion-panel-icon-size);\n}\n:host(:not(:is(:state(slotted-icon),[state--slotted-icon]), :is(:state(has-icon-name),[state--has-icon-name]))) .sbb-expansion-panel-header__icon {\n display: none;\n}\n\n.sbb-expansion-panel-header__title {\n align-items: center;\n gap: var(--sbb-expansion-panel-title-gap);\n overflow: hidden;\n min-height: var(--sbb-size-icon-ui-medium);\n}\n\n.sbb-expansion-panel-header__toggle-icon {\n transition: transform var(--sbb-disable-animation-duration, var(--sbb-animation-duration-4x));\n}\n:host([aria-expanded]:not([aria-expanded=false])) .sbb-expansion-panel-header__toggle-icon {\n transform: rotate(-180deg);\n}";
9
+ //#endregion
10
+ //#region src/elements/expansion-panel/expansion-panel-header/expansion-panel-header.component.ts
11
+ /**
12
+ * It acts as a native `summary` tag for the `sbb-expansion-panel` component.
13
+ *
14
+ * @slot - Use the unnamed slot to add content to the `sbb-expansion-panel-header`.
15
+ * @slot icon - Slot used to render the `sbb-expansion-panel-header` icon.
16
+ */
17
+ var SbbExpansionPanelHeaderElement = class extends SbbDisabledTabIndexActionMixin(SbbIconNameMixin(SbbButtonBaseElement)) {
18
+ static {
19
+ this.elementName = "sbb-expansion-panel-header";
20
+ }
21
+ static {
22
+ this.styles = [boxSizingStyles, unsafeCSS(expansion_panel_header_default)];
23
+ }
24
+ static {
25
+ this.events = { toggleexpanded: "toggleexpanded" };
26
+ }
27
+ constructor() {
28
+ super();
29
+ this._mediaMatcher = new SbbMediaMatcherController(this, { [SbbMediaQueryHover]: (m) => this._isHover = m });
30
+ this._isHover = this._mediaMatcher.matches(SbbMediaQueryHover) ?? false;
31
+ this.addEventListener?.("click", () => this._emitExpandedEvent());
32
+ this.addEventListener?.("mouseenter", () => this._onMouseMovement(true));
33
+ this.addEventListener?.("mouseleave", () => this._onMouseMovement(false));
34
+ this.addEventListener?.("slottedchange", () => this._setIconState());
35
+ this.addController(new SbbPropertyWatcherController(this, () => this.closest("sbb-expansion-panel"), { size: (s) => {
36
+ if (this._previousSize) this.internals.states.delete(`size-${this._previousSize}`);
37
+ this._previousSize = s.size;
38
+ if (this._previousSize) this.internals.states.add(`size-${this._previousSize}`);
39
+ } }));
40
+ }
41
+ connectedCallback() {
42
+ super.connectedCallback();
43
+ this.slot ||= "header";
44
+ }
45
+ _emitExpandedEvent() {
46
+ if (!this.disabled)
47
+ /** Notifies that the `sbb-expansion-panel` is about to expand/shrink. */
48
+ this.dispatchEvent(new Event("toggleexpanded", {
49
+ bubbles: true,
50
+ composed: true
51
+ }));
52
+ }
53
+ _onMouseMovement(toggleDataAttribute) {
54
+ const parent = this.closest("sbb-expansion-panel");
55
+ if (!toggleDataAttribute || parent && this._isHover) ɵstateController(parent).toggle("toggle-hover", toggleDataAttribute);
56
+ }
57
+ /**
58
+ * The :is(:state(icon),[state--icon]) is used by the 'sbb-expansion-panel'.
59
+ * It needs to be set before the @slotchange event bubbles to the 'expansion-panel'
60
+ * but after the 'SbbSlotStateController' has run.
61
+ */
62
+ _setIconState() {
63
+ this.toggleState("icon", !!(this.iconName || this.internals.states.has("icon")));
64
+ }
65
+ renderTemplate() {
66
+ this._setIconState();
67
+ return html`
68
+ <span class="sbb-expansion-panel-header__title">
69
+ <span class="sbb-expansion-panel-header__icon"> ${this.renderIconSlot()} </span>
70
+ <slot></slot>
71
+ </span>
72
+ ${!this.disabled ? html`<span class="sbb-expansion-panel-header__toggle">
73
+ <sbb-icon
74
+ name="chevron-small-down-medium"
75
+ class="sbb-expansion-panel-header__toggle-icon"
76
+ >
77
+ </sbb-icon>
78
+ </span>` : nothing}
79
+ `;
80
+ }
81
+ };
82
+ //#endregion
83
+ export { SbbExpansionPanelHeaderElement as t };
84
+
85
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jb21wb25lbnQtQkVBYWJFRTAuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwtaGVhZGVyL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIvZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcykpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXA6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWdhcC1zKTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrLXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWlubGluZS1zKTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtbCkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXA6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWdhcC1sKTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrLWwpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWlubGluZS1sKTtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc2l6ZS1zKSwgOnN0YXRlKHNpemUtbCkpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXAtZGVmYXVsdCk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1ibG9jazogdmFyKFxuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1ibG9jay1kZWZhdWx0XG4gICk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1pbmxpbmU6IHZhcihcbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lLWRlZmF1bHRcbiAgKTtcbn1cblxuOmhvc3QoOmlzKDpkaXNhYmxlZCwgW2Rpc2FibGVkLWludGVyYWN0aXZlXSkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItZGVmYXVsdCk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGV4dC1jb2xvcjogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXN0b3JtKVxuICApO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRleHQtY29sb3I6IEdyYXlUZXh0O1xuICB9XG59XG5cbjpob3N0KDpmb2N1cy12aXNpYmxlKSB7XG4gIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gIG91dGxpbmUtb2Zmc2V0OiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xeCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItanVzdGlmeS1jb250ZW50KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXApO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1ibG9jaylcbiAgICB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWlubGluZSk7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICBjdXJzb3I6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWN1cnNvcik7XG4gIGNvbG9yOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10ZXh0LWNvbG9yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX190aXRsZSxcbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdG9nZ2xlLFxuLnNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX19pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX19pY29uIHtcbiAgd2lkdGg6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaWNvbi1zaXplKTtcblxuICAtLXNiYi1pY29uLXN2Zy13aWR0aDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1pY29uLXNpemUpO1xuICAtLXNiYi1pY29uLXN2Zy1oZWlnaHQ6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaWNvbi1zaXplKTtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkLWljb24pLCA6c3RhdGUoaGFzLWljb24tbmFtZSkpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdGl0bGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtdGl0bGUtZ2FwKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBBbGlnbiB3aXRoIHRvZ2dsZSBpY29uXG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWljb24tdWktbWVkaXVtKTtcbn1cblxuLnNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX190b2dnbGUtaWNvbiB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNHgpKTtcblxuICA6aG9zdChbYXJpYS1leHBhbmRlZF06bm90KFthcmlhLWV4cGFuZGVkPSdmYWxzZSddKSkgJiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gIH1cbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIG5vdGhpbmcsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IFNiYkJ1dHRvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7XG4gIFNiYk1lZGlhUXVlcnlIb3ZlcixcbiAgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlcixcbiAgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZFRhYkluZGV4QWN0aW9uTWl4aW4sIMm1c3RhdGVDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24udHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnQgfSBmcm9tICcuLi9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGFjdHMgYXMgYSBuYXRpdmUgYHN1bW1hcnlgIHRhZyBmb3IgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyYC5cbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gcmVuZGVyIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJgIGljb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZFRhYkluZGV4QWN0aW9uTWl4aW4oXG4gIFNiYkljb25OYW1lTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB0b2dnbGVleHBhbmRlZDogJ3RvZ2dsZWV4cGFuZGVkJyxcbiAgfSBhcyBjb25zdDtcblxuICBwcml2YXRlIF9tZWRpYU1hdGNoZXIgPSBuZXcgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlcih0aGlzLCB7XG4gICAgW1NiYk1lZGlhUXVlcnlIb3Zlcl06IChtKSA9PiAodGhpcy5faXNIb3ZlciA9IG0pLFxuICB9KTtcblxuICBwcml2YXRlIF9pc0hvdmVyOiBib29sZWFuID0gdGhpcy5fbWVkaWFNYXRjaGVyLm1hdGNoZXMoU2JiTWVkaWFRdWVyeUhvdmVyKSA/PyBmYWxzZTtcbiAgcHJpdmF0ZSBfcHJldmlvdXNTaXplPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHRoaXMuX2VtaXRFeHBhbmRlZEV2ZW50KCkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdtb3VzZWVudGVyJywgKCkgPT4gdGhpcy5fb25Nb3VzZU1vdmVtZW50KHRydWUpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignbW91c2VsZWF2ZScsICgpID0+IHRoaXMuX29uTW91c2VNb3ZlbWVudChmYWxzZSkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdzbG90dGVkY2hhbmdlJywgKCkgPT4gdGhpcy5fc2V0SWNvblN0YXRlKCkpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuY2xvc2VzdCgnc2JiLWV4cGFuc2lvbi1wYW5lbCcpLCB7XG4gICAgICAgIHNpemU6IChzKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcHJldmlvdXNTaXplID0gcy5zaXplO1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ2hlYWRlcic7XG4gIH1cblxuICBwcml2YXRlIF9lbWl0RXhwYW5kZWRFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIC8qKiBOb3RpZmllcyB0aGF0IHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAgaXMgYWJvdXQgdG8gZXhwYW5kL3Nocmluay4gKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3RvZ2dsZWV4cGFuZGVkJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25Nb3VzZU1vdmVtZW50KHRvZ2dsZURhdGFBdHRyaWJ1dGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBwYXJlbnQ6IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudCA9IHRoaXMuY2xvc2VzdCgnc2JiLWV4cGFuc2lvbi1wYW5lbCcpITtcbiAgICAvLyBUaGUgYHNiYi5ob3Zlci1tcWAgbG9naWMgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHNjc3MsIGJ1dCBpdCBtdXN0IGJlIHJlcGxpY2F0ZWQgdG8gaGF2ZSB0aGUgY29ycmVjdCBiZWhhdmlvciBvbiBtb2JpbGUuXG4gICAgaWYgKCF0b2dnbGVEYXRhQXR0cmlidXRlIHx8IChwYXJlbnQgJiYgdGhpcy5faXNIb3ZlcikpIHtcbiAgICAgIMm1c3RhdGVDb250cm9sbGVyKHBhcmVudCkudG9nZ2xlKCd0b2dnbGUtaG92ZXInLCB0b2dnbGVEYXRhQXR0cmlidXRlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIDpzdGF0ZShpY29uKSBpcyB1c2VkIGJ5IHRoZSAnc2JiLWV4cGFuc2lvbi1wYW5lbCcuXG4gICAqIEl0IG5lZWRzIHRvIGJlIHNldCBiZWZvcmUgdGhlIEBzbG90Y2hhbmdlIGV2ZW50IGJ1YmJsZXMgdG8gdGhlICdleHBhbnNpb24tcGFuZWwnXG4gICAqIGJ1dCBhZnRlciB0aGUgJ1NiYlNsb3RTdGF0ZUNvbnRyb2xsZXInIGhhcyBydW4uXG4gICAqL1xuICBwcml2YXRlIF9zZXRJY29uU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnaWNvbicsICEhKHRoaXMuaWNvbk5hbWUgfHwgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcygnaWNvbicpKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIC8vIFRPRE86IFN0aWxsIG5lY2Vzc2FyeT9cbiAgICB0aGlzLl9zZXRJY29uU3RhdGUoKTtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJfX3RpdGxlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJfX2ljb25cIj4gJHt0aGlzLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgICAgJHshdGhpcy5kaXNhYmxlZFxuICAgICAgICA/IGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdG9nZ2xlXCI+XG4gICAgICAgICAgICA8c2JiLWljb25cbiAgICAgICAgICAgICAgbmFtZT1cImNoZXZyb24tc21hbGwtZG93bi1tZWRpdW1cIlxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX190b2dnbGUtaWNvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3NiYi1pY29uPlxuICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgIDogbm90aGluZ31cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcic6IFNiYkV4cGFuc2lvblBhbmVsSGVhZGVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FDcUJBLElBQWEsaUNBQWIsY0FBb0QsK0JBQ2xELGlCQUFpQixxQkFBcUIsQ0FDdkMsQ0FBQTs7QUFDaUMsT0FBQSxjQUFzQjs7O0FBQy9CLE9BQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSwrQkFBTSxDQUFDOzs7QUFDNUQsT0FBQSxTQUFTLEVBQzlCLGdCQUFnQixrQkFDUjs7Q0FTVixjQUFBO0FBQ0UsU0FBTztBQVJELE9BQUEsZ0JBQWdCLElBQUksMEJBQTBCLE1BQU0sR0FDekQsc0JBQXNCLE1BQU8sS0FBSyxXQUFXLEdBQy9DLENBQUM7QUFFTSxPQUFBLFdBQW9CLEtBQUssY0FBYyxRQUFRLG1CQUFtQixJQUFJO0FBSzVFLE9BQUssbUJBQW1CLGVBQWUsS0FBSyxvQkFBb0IsQ0FBQztBQUNqRSxPQUFLLG1CQUFtQixvQkFBb0IsS0FBSyxpQkFBaUIsS0FBSyxDQUFDO0FBQ3hFLE9BQUssbUJBQW1CLG9CQUFvQixLQUFLLGlCQUFpQixNQUFNLENBQUM7QUFDekUsT0FBSyxtQkFBbUIsdUJBQXVCLEtBQUssZUFBZSxDQUFDO0FBQ3BFLE9BQUssY0FDSCxJQUFJLDZCQUE2QixZQUFZLEtBQUssUUFBUSxzQkFBc0IsRUFBRSxFQUNoRixPQUFPLE1BQUs7QUFDVixPQUFJLEtBQUssY0FDUCxNQUFLLFVBQVUsT0FBTyxPQUFPLFFBQVEsS0FBSyxnQkFBZ0I7QUFFNUQsUUFBSyxnQkFBZ0IsRUFBRTtBQUN2QixPQUFJLEtBQUssY0FDUCxNQUFLLFVBQVUsT0FBTyxJQUFJLFFBQVEsS0FBSyxnQkFBZ0I7S0FHNUQsQ0FBQyxDQUNIOztDQUdhLG9CQUFpQjtBQUMvQixRQUFNLG1CQUFtQjtBQUN6QixPQUFLLFNBQVM7O0NBR1IscUJBQWtCO0FBQ3hCLE1BQUksQ0FBQyxLQUFLOztBQUVSLE9BQUssY0FBYyxJQUFJLE1BQU0sa0JBQWtCO0dBQUUsU0FBUztHQUFNLFVBQVU7R0FBTSxDQUFDLENBQUM7O0NBSTlFLGlCQUFpQixxQkFBNEI7RUFDbkQsTUFBTSxTQUFtQyxLQUFLLFFBQVEsc0JBQXVCO0FBRTdFLE1BQUksQ0FBQyx1QkFBd0IsVUFBVSxLQUFLLFNBQzFDLGtCQUFpQixPQUFPLENBQUMsT0FBTyxnQkFBZ0Isb0JBQW9COzs7Ozs7O0NBU2hFLGdCQUFhO0FBQ25CLE9BQUssWUFBWSxRQUFRLENBQUMsRUFBRSxLQUFLLFlBQVksS0FBSyxVQUFVLE9BQU8sSUFBSSxPQUFPLEVBQUU7O0NBRy9ELGlCQUFjO0FBRS9CLE9BQUssZUFBZTtBQUNwQixTQUFPLElBQUk7OzBEQUUyQyxLQUFLLGdCQUFnQixDQUFBOzs7UUFHdkUsQ0FBQyxLQUFLLFdBQ0osSUFBSTs7Ozs7O3FCQU9KLFFBQUEifQ==