@sbb-esta/lyne-elements 3.6.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/a11y.css +1 -1
  2. package/alert/alert/alert.component.d.ts +2 -0
  3. package/alert/alert/alert.component.d.ts.map +1 -1
  4. package/alert/alert/alert.component.js +44 -39
  5. package/alert/alert-group/alert-group.component.js +12 -12
  6. package/autocomplete/autocomplete-base-element.d.ts +14 -0
  7. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  8. package/autocomplete/autocomplete-base-element.js +110 -77
  9. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  10. package/autocomplete/autocomplete.component.js +9 -9
  11. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  12. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +5 -5
  13. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +14 -14
  14. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  15. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +9 -9
  16. package/badge.css +2 -2
  17. package/breadcrumb/breadcrumb/breadcrumb.component.js +12 -12
  18. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +15 -15
  19. package/button/common.js +1 -1
  20. package/button/mini-button/mini-button.component.js +7 -7
  21. package/button/mini-button-group/mini-button-group.component.js +21 -21
  22. package/button.js +1 -1
  23. package/calendar/calendar.component.js +36 -36
  24. package/card/card/card.component.js +10 -10
  25. package/card/card-badge/card-badge.component.js +15 -15
  26. package/carousel/carousel/carousel.component.d.ts +33 -0
  27. package/carousel/carousel/carousel.component.d.ts.map +1 -0
  28. package/carousel/carousel/carousel.component.js +82 -0
  29. package/carousel/carousel-item/carousel-item.component.d.ts +29 -0
  30. package/carousel/carousel-item/carousel-item.component.d.ts.map +1 -0
  31. package/carousel/carousel-item/carousel-item.component.js +26 -0
  32. package/carousel/carousel-item.d.ts +5 -0
  33. package/carousel/carousel-item.d.ts.map +1 -0
  34. package/carousel/carousel-item.js +4 -0
  35. package/carousel/carousel-list/carousel-list.component.d.ts +30 -0
  36. package/carousel/carousel-list/carousel-list.component.d.ts.map +1 -0
  37. package/carousel/carousel-list/carousel-list.component.js +81 -0
  38. package/carousel/carousel-list.d.ts +5 -0
  39. package/carousel/carousel-list.d.ts.map +1 -0
  40. package/carousel/carousel-list.js +4 -0
  41. package/carousel/carousel.d.ts +5 -0
  42. package/carousel/carousel.d.ts.map +1 -0
  43. package/carousel/carousel.js +4 -0
  44. package/carousel.d.ts +7 -0
  45. package/carousel.d.ts.map +1 -0
  46. package/carousel.js +8 -0
  47. package/checkbox/common.js +1 -1
  48. package/checkbox-common-gjHkSAmN.js +5 -0
  49. package/checkbox.js +1 -1
  50. package/chip/chip/chip.component.js +23 -23
  51. package/chip-label/chip-label.component.js +22 -22
  52. package/clock/clock.component.js +29 -29
  53. package/container/container/container.component.js +21 -21
  54. package/container/sticky-bar/sticky-bar.component.js +13 -13
  55. package/core/config/config.d.ts +6 -0
  56. package/core/config/config.d.ts.map +1 -1
  57. package/core/controllers/media-matchers-controller.d.ts +29 -0
  58. package/core/controllers/media-matchers-controller.d.ts.map +1 -1
  59. package/core/controllers/media-matchers-controller.js +73 -23
  60. package/core/controllers.js +16 -14
  61. package/core/dom/contains-pierce-shadow-dom.d.ts +3 -0
  62. package/core/dom/contains-pierce-shadow-dom.d.ts.map +1 -0
  63. package/core/dom/contains-pierce-shadow-dom.js +12 -0
  64. package/core/dom/queue-dom-content-loaded.d.ts +5 -0
  65. package/core/dom/queue-dom-content-loaded.d.ts.map +1 -0
  66. package/core/dom/queue-dom-content-loaded.js +7 -0
  67. package/core/dom/set-or-remove-attribute.d.ts +14 -0
  68. package/core/dom/set-or-remove-attribute.d.ts.map +1 -1
  69. package/core/dom/set-or-remove-attribute.js +11 -3
  70. package/core/dom.d.ts +2 -0
  71. package/core/dom.d.ts.map +1 -1
  72. package/core/dom.js +28 -22
  73. package/core/i18n/i18n.d.ts +6 -0
  74. package/core/i18n/i18n.d.ts.map +1 -1
  75. package/core/i18n/i18n.js +196 -160
  76. package/core/i18n.js +94 -88
  77. package/core/images.d.ts +4 -0
  78. package/core/images.d.ts.map +1 -1
  79. package/core/images.js +12 -12
  80. package/core/mixins.js +10 -10
  81. package/core/overlay/overlay-outside-pointer-event-listener.d.ts +26 -0
  82. package/core/overlay/overlay-outside-pointer-event-listener.d.ts.map +1 -0
  83. package/core/overlay/overlay-outside-pointer-event-listener.js +37 -0
  84. package/core/overlay.d.ts +1 -0
  85. package/core/overlay.d.ts.map +1 -1
  86. package/core/overlay.js +14 -11
  87. package/core/styles/core.scss +40 -13
  88. package/core/styles/mixins/a11y.scss +1 -1
  89. package/core/styles/mixins/badge.scss +2 -2
  90. package/core/styles/mixins/buttons.scss +14 -14
  91. package/core/styles/mixins/card.scss +9 -6
  92. package/core/styles/mixins/chip.scss +8 -8
  93. package/core/styles/mixins/image.scss +3 -0
  94. package/core/styles/mixins/link.scss +12 -7
  95. package/core/styles/mixins/lists.scss +6 -4
  96. package/core/styles/mixins/overlay.scss +6 -3
  97. package/core/styles/mixins/panel.scss +3 -3
  98. package/core/styles/mixins/pearl-chain-bullet.scss +9 -5
  99. package/core/styles/mixins/scrollbar.scss +17 -9
  100. package/core/styles/mixins/shadows.scss +32 -64
  101. package/core/styles/mixins/table.scss +13 -10
  102. package/core/styles/mixins/timetable-form.scss +63 -0
  103. package/core/styles/mixins/typo.scss +4 -4
  104. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +49 -1
  105. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +203 -5
  106. package/core/styles/off-brand-theme.scss +3 -0
  107. package/core/styles/safety-theme.scss +3 -0
  108. package/core/styles/standard-theme.scss +3 -13
  109. package/core/styles/theme.scss +18 -0
  110. package/core/styles/timetable-form.scss +27 -0
  111. package/core.css +283 -51
  112. package/custom-elements.json +19396 -15212
  113. package/date-input/date-input.component.js +1 -1
  114. package/datepicker/datepicker/datepicker.component.js +1 -1
  115. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +4 -4
  116. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +6 -6
  117. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +7 -7
  118. package/development/alert/alert/alert.component.d.ts +2 -0
  119. package/development/alert/alert/alert.component.d.ts.map +1 -1
  120. package/development/alert/alert/alert.component.js +22 -8
  121. package/development/alert/alert-group/alert-group.component.js +1 -1
  122. package/development/autocomplete/autocomplete-base-element.d.ts +14 -0
  123. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  124. package/development/autocomplete/autocomplete-base-element.js +86 -19
  125. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  126. package/development/autocomplete/autocomplete.component.js +4 -1
  127. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  128. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +4 -1
  129. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +15 -14
  130. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +5 -4
  131. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +19 -11
  132. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +4 -1
  133. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +16 -8
  134. package/development/button/common.js +1 -1
  135. package/development/button/mini-button/mini-button.component.js +15 -14
  136. package/development/button/mini-button-group/mini-button-group.component.js +4 -4
  137. package/development/button.js +1 -1
  138. package/development/calendar/calendar.component.js +21 -11
  139. package/development/card/card/card.component.js +11 -6
  140. package/development/card/card-badge/card-badge.component.js +10 -9
  141. package/development/carousel/carousel/carousel.component.d.ts +33 -0
  142. package/development/carousel/carousel/carousel.component.d.ts.map +1 -0
  143. package/development/carousel/carousel/carousel.component.js +163 -0
  144. package/development/carousel/carousel-item/carousel-item.component.d.ts +29 -0
  145. package/development/carousel/carousel-item/carousel-item.component.d.ts.map +1 -0
  146. package/development/carousel/carousel-item/carousel-item.component.js +46 -0
  147. package/development/carousel/carousel-item.d.ts +5 -0
  148. package/development/carousel/carousel-item.d.ts.map +1 -0
  149. package/development/carousel/carousel-item.js +5 -0
  150. package/development/carousel/carousel-list/carousel-list.component.d.ts +30 -0
  151. package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -0
  152. package/development/carousel/carousel-list/carousel-list.component.js +151 -0
  153. package/development/carousel/carousel-list.d.ts +5 -0
  154. package/development/carousel/carousel-list.d.ts.map +1 -0
  155. package/development/carousel/carousel-list.js +5 -0
  156. package/development/carousel/carousel.d.ts +5 -0
  157. package/development/carousel/carousel.d.ts.map +1 -0
  158. package/development/carousel/carousel.js +5 -0
  159. package/development/carousel.d.ts +7 -0
  160. package/development/carousel.d.ts.map +1 -0
  161. package/development/carousel.js +9 -0
  162. package/development/checkbox/common.js +1 -1
  163. package/development/{checkbox-common-aMPOsPVA.js → checkbox-common-Dy_ofVhp.js} +4 -3
  164. package/development/checkbox.js +1 -1
  165. package/development/chip/chip/chip.component.js +15 -14
  166. package/development/chip-label/chip-label.component.js +12 -15
  167. package/development/clock/clock.component.js +11 -3
  168. package/development/container/container/container.component.js +6 -6
  169. package/development/container/sticky-bar/sticky-bar.component.js +6 -6
  170. package/development/core/config/config.d.ts +6 -0
  171. package/development/core/config/config.d.ts.map +1 -1
  172. package/development/core/config/config.js +1 -1
  173. package/development/core/controllers/media-matchers-controller.d.ts +29 -0
  174. package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
  175. package/development/core/controllers/media-matchers-controller.js +74 -1
  176. package/development/core/controllers.js +3 -1
  177. package/development/core/dom/contains-pierce-shadow-dom.d.ts +3 -0
  178. package/development/core/dom/contains-pierce-shadow-dom.d.ts.map +1 -0
  179. package/development/core/dom/contains-pierce-shadow-dom.js +14 -0
  180. package/development/core/dom/queue-dom-content-loaded.d.ts +5 -0
  181. package/development/core/dom/queue-dom-content-loaded.d.ts.map +1 -0
  182. package/development/core/dom/queue-dom-content-loaded.js +12 -0
  183. package/development/core/dom/set-or-remove-attribute.d.ts +14 -0
  184. package/development/core/dom/set-or-remove-attribute.d.ts.map +1 -1
  185. package/development/core/dom/set-or-remove-attribute.js +9 -1
  186. package/development/core/dom.d.ts +2 -0
  187. package/development/core/dom.d.ts.map +1 -1
  188. package/development/core/dom.js +8 -2
  189. package/development/core/i18n/i18n.d.ts +6 -0
  190. package/development/core/i18n/i18n.d.ts.map +1 -1
  191. package/development/core/i18n/i18n.js +43 -1
  192. package/development/core/i18n.js +7 -1
  193. package/development/core/images.d.ts +4 -0
  194. package/development/core/images.d.ts.map +1 -1
  195. package/development/core/images.js +11 -11
  196. package/development/core/mixins.js +7 -6
  197. package/development/core/overlay/overlay-outside-pointer-event-listener.d.ts +26 -0
  198. package/development/core/overlay/overlay-outside-pointer-event-listener.d.ts.map +1 -0
  199. package/development/core/overlay/overlay-outside-pointer-event-listener.js +61 -0
  200. package/development/core/overlay.d.ts +1 -0
  201. package/development/core/overlay.d.ts.map +1 -1
  202. package/development/core/overlay.js +4 -1
  203. package/development/date-input/date-input.component.js +2 -2
  204. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  205. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +15 -14
  206. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +15 -14
  207. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +15 -14
  208. package/development/dialog/dialog/dialog.component.d.ts +1 -0
  209. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  210. package/development/dialog/dialog/dialog.component.js +28 -14
  211. package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
  212. package/development/dialog/dialog-title/dialog-title.component.js +1 -1
  213. package/development/divider/divider.component.js +2 -2
  214. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +6 -6
  215. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +6 -2
  216. package/development/file-selector/common.js +1 -1
  217. package/development/{file-selector-common-B4I8rwJE.js → file-selector-common-CRNAWFM_.js} +9 -6
  218. package/development/file-selector.js +1 -1
  219. package/development/flip-card/flip-card/flip-card.component.js +8 -3
  220. package/development/footer/footer.component.js +6 -5
  221. package/development/form-error/form-error.component.js +2 -2
  222. package/development/form-field/form-field/form-field.component.d.ts +3 -0
  223. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  224. package/development/form-field/form-field/form-field.component.js +39 -23
  225. package/development/form-field/form-field-clear/form-field-clear.component.js +15 -14
  226. package/development/header/common/header-action-common.js +12 -12
  227. package/development/header/header/header.component.js +2 -2
  228. package/development/header/header-environment/header-environment.component.js +1 -1
  229. package/development/{icon-sidebar-button-common-CA_8TnFu.js → icon-sidebar-button-common-BGrKtvyM.js} +3 -2
  230. package/development/journey-header/journey-header.component.js +1 -1
  231. package/development/lead-container/lead-container.component.js +4 -2
  232. package/development/link/common/block-link-common.js +17 -5
  233. package/development/link/common/inline-link-common.js +9 -3
  234. package/development/link-list/link-list/link-list.component.js +8 -8
  235. package/development/link-list/link-list-anchor/link-list-anchor.component.js +11 -9
  236. package/development/loading-indicator/loading-indicator.component.js +1 -1
  237. package/development/loading-indicator-circle/loading-indicator-circle.component.js +2 -2
  238. package/development/logo/logo.component.js +3 -2
  239. package/development/map-container/map-container.component.js +14 -6
  240. package/development/menu/common/menu-action-common.js +4 -3
  241. package/development/menu/menu/menu.component.d.ts +2 -0
  242. package/development/menu/menu/menu.component.d.ts.map +1 -1
  243. package/development/menu/menu/menu.component.js +36 -13
  244. package/development/message/message.component.js +3 -1
  245. package/development/navigation/common/navigation-action-common.js +4 -4
  246. package/development/navigation/navigation/navigation.component.js +21 -19
  247. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  248. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  249. package/development/navigation/navigation-section/navigation-section.component.js +4 -4
  250. package/development/notification/notification.component.js +38 -18
  251. package/development/option/optgroup/optgroup-base-element.js +3 -2
  252. package/development/option/option/option.component.js +13 -11
  253. package/development/option/option-hint/option-hint.component.js +3 -2
  254. package/development/overlay/overlay.component.d.ts.map +1 -1
  255. package/development/overlay/overlay.component.js +28 -22
  256. package/development/paginator/compact-paginator/compact-paginator.component.js +3 -2
  257. package/development/paginator/paginator/paginator.component.js +19 -18
  258. package/development/popover/popover/popover.component.js +8 -6
  259. package/development/popover/popover-trigger/popover-trigger.component.js +20 -17
  260. package/development/radio-button/common.js +1 -1
  261. package/development/radio-button/radio-button/radio-button.component.js +3 -3
  262. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +3 -3
  263. package/development/{radio-button-common-BRyEhlYf.js → radio-button-common-CgM3kQSW.js} +10 -9
  264. package/development/radio-button.js +1 -1
  265. package/development/sbb-tokens-CVLcOi-S.js +1 -1
  266. package/development/screen-reader-only/screen-reader-only.component.js +1 -1
  267. package/development/select/select.component.js +31 -13
  268. package/development/selection-action-panel/selection-action-panel.component.js +9 -5
  269. package/development/selection-expansion-panel/selection-expansion-panel.component.js +10 -6
  270. package/development/sidebar/common.js +1 -1
  271. package/development/sidebar/icon-sidebar/icon-sidebar.component.js +2 -2
  272. package/development/sidebar/sidebar/sidebar.component.js +14 -6
  273. package/development/sidebar.js +1 -1
  274. package/development/signet/signet.component.js +2 -2
  275. package/development/skiplink-list/skiplink-list.component.d.ts +3 -1
  276. package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  277. package/development/skiplink-list/skiplink-list.component.js +27 -10
  278. package/development/slider/slider.component.js +15 -9
  279. package/development/status/status.component.js +7 -7
  280. package/development/stepper/step/step.component.js +1 -3
  281. package/development/stepper/step-label/step-label.component.js +7 -6
  282. package/development/stepper/stepper/stepper.component.js +5 -5
  283. package/development/tabs/tab-label/tab-label.component.js +7 -14
  284. package/development/tag/tag/tag.component.js +15 -9
  285. package/development/teaser/teaser.component.js +3 -2
  286. package/development/teaser-hero/teaser-hero.component.js +3 -3
  287. package/development/teaser-product/common.js +1 -1
  288. package/development/{teaser-product-common-D6fa6x3w.js → teaser-product-common-DvlBRkE_.js} +14 -6
  289. package/development/teaser-product.js +1 -1
  290. package/development/time-input/time-input.component.js +2 -2
  291. package/development/timetable-form/timetable-form/timetable-form.component.d.ts +17 -0
  292. package/development/timetable-form/timetable-form/timetable-form.component.d.ts.map +1 -0
  293. package/development/timetable-form/timetable-form/timetable-form.component.js +40 -0
  294. package/development/timetable-form/timetable-form-details/timetable-form-details.component.d.ts +16 -0
  295. package/development/timetable-form/timetable-form-details/timetable-form-details.component.d.ts.map +1 -0
  296. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +57 -0
  297. package/development/timetable-form/timetable-form-details.d.ts +5 -0
  298. package/development/timetable-form/timetable-form-details.d.ts.map +1 -0
  299. package/development/timetable-form/timetable-form-details.js +5 -0
  300. package/development/timetable-form/timetable-form-field/timetable-form-field.component.d.ts +18 -0
  301. package/development/timetable-form/timetable-form-field/timetable-form-field.component.d.ts.map +1 -0
  302. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +130 -0
  303. package/development/timetable-form/timetable-form-field.d.ts +5 -0
  304. package/development/timetable-form/timetable-form-field.d.ts.map +1 -0
  305. package/development/timetable-form/timetable-form-field.js +5 -0
  306. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +23 -0
  307. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -0
  308. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +80 -0
  309. package/development/timetable-form/timetable-form-swap-button.d.ts +5 -0
  310. package/development/timetable-form/timetable-form-swap-button.d.ts.map +1 -0
  311. package/development/timetable-form/timetable-form-swap-button.js +5 -0
  312. package/development/timetable-form/timetable-form.d.ts +5 -0
  313. package/development/timetable-form/timetable-form.d.ts.map +1 -0
  314. package/development/timetable-form/timetable-form.js +5 -0
  315. package/development/timetable-form.d.ts +8 -0
  316. package/development/timetable-form.d.ts.map +1 -0
  317. package/development/timetable-form.js +11 -0
  318. package/development/timetable-occupancy/timetable-occupancy.component.js +2 -2
  319. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts +1 -0
  320. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  321. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +4 -3
  322. package/development/title/title-base.js +2 -5
  323. package/development/title/title.component.js +1 -1
  324. package/development/toast/toast.component.d.ts +3 -1
  325. package/development/toast/toast.component.d.ts.map +1 -1
  326. package/development/toast/toast.component.js +31 -15
  327. package/development/toggle/toggle/toggle.component.js +8 -4
  328. package/development/toggle/toggle-option/toggle-option.component.js +5 -3
  329. package/development/toggle-check/toggle-check.component.js +13 -14
  330. package/development/tooltip/tooltip.component.d.ts +89 -0
  331. package/development/tooltip/tooltip.component.d.ts.map +1 -0
  332. package/development/tooltip/tooltip.component.js +466 -0
  333. package/development/tooltip.d.ts +5 -0
  334. package/development/tooltip.d.ts.map +1 -0
  335. package/development/tooltip.js +5 -0
  336. package/development/train/train/train.component.js +1 -1
  337. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  338. package/development/train/train-formation/train-formation.component.js +16 -4
  339. package/development/train/train-wagon/train-wagon.component.js +4 -13
  340. package/development/{transparent-button-COe-YB_U.js → transparent-button-DdSaBp_-.js} +141 -86
  341. package/development/visual-checkbox/visual-checkbox.component.js +12 -12
  342. package/dialog/dialog/dialog.component.d.ts +1 -0
  343. package/dialog/dialog/dialog.component.d.ts.map +1 -1
  344. package/dialog/dialog/dialog.component.js +37 -36
  345. package/dialog/dialog-actions/dialog-actions.component.js +6 -6
  346. package/dialog/dialog-title/dialog-title.component.js +4 -4
  347. package/divider/divider.component.js +16 -16
  348. package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  349. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +3 -3
  350. package/file-selector/common.js +1 -1
  351. package/file-selector-common-D88J9PEh.js +5 -0
  352. package/file-selector.js +1 -1
  353. package/flip-card/flip-card/flip-card.component.js +14 -14
  354. package/footer/footer.component.js +18 -18
  355. package/form-error/form-error.component.js +4 -4
  356. package/form-field/form-field/form-field.component.d.ts +3 -0
  357. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  358. package/form-field/form-field/form-field.component.js +1 -1
  359. package/form-field/form-field-clear/form-field-clear.component.js +9 -9
  360. package/header/common/header-action-common.js +5 -5
  361. package/header/header/header.component.js +19 -19
  362. package/header/header-environment/header-environment.component.js +1 -1
  363. package/icon-sidebar-button-common-BeRXvifI.js +7 -0
  364. package/index.d.ts +16 -0
  365. package/index.js +16 -0
  366. package/journey-header/journey-header.component.js +1 -1
  367. package/lead-container/lead-container.component.js +5 -5
  368. package/link/common/block-link-common.js +23 -23
  369. package/link/common/inline-link-common.js +7 -7
  370. package/link-list/link-list/link-list.component.js +8 -8
  371. package/link-list/link-list-anchor/link-list-anchor.component.js +11 -11
  372. package/lists.css +5 -3
  373. package/loading-indicator/loading-indicator.component.js +1 -1
  374. package/loading-indicator-circle/loading-indicator-circle.component.js +13 -13
  375. package/logo/logo.component.js +9 -9
  376. package/map-container/map-container.component.js +15 -15
  377. package/menu/common/menu-action-common.js +5 -5
  378. package/menu/menu/menu.component.d.ts +2 -0
  379. package/menu/menu/menu.component.d.ts.map +1 -1
  380. package/menu/menu/menu.component.js +45 -38
  381. package/message/message.component.js +9 -9
  382. package/navigation/common/navigation-action-common.js +6 -6
  383. package/navigation/navigation/navigation.component.js +19 -19
  384. package/navigation/navigation-list/navigation-list.component.js +1 -1
  385. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  386. package/navigation/navigation-section/navigation-section.component.js +1 -1
  387. package/notification/notification.component.js +8 -8
  388. package/off-brand-theme.css +3017 -0
  389. package/option/optgroup/optgroup-base-element.js +1 -1
  390. package/option/option/option.component.js +3 -3
  391. package/option/option-hint/option-hint.component.js +8 -8
  392. package/overlay/overlay.component.d.ts.map +1 -1
  393. package/overlay/overlay.component.js +47 -48
  394. package/package.json +63 -1
  395. package/paginator/compact-paginator/compact-paginator.component.js +4 -4
  396. package/paginator/paginator/paginator.component.js +10 -10
  397. package/popover/popover/popover.component.js +9 -9
  398. package/popover/popover-trigger/popover-trigger.component.js +5 -5
  399. package/radio-button/common.js +1 -1
  400. package/radio-button/radio-button/radio-button.component.js +13 -13
  401. package/radio-button/radio-button-panel/radio-button-panel.component.js +2 -2
  402. package/radio-button-common-Nm9ULjVb.js +5 -0
  403. package/radio-button.js +1 -1
  404. package/safety-theme.css +3017 -0
  405. package/screen-reader-only/screen-reader-only.component.js +1 -1
  406. package/scrollbar.css +52 -20
  407. package/select/select.component.js +45 -45
  408. package/selection-action-panel/selection-action-panel.component.js +6 -6
  409. package/selection-expansion-panel/selection-expansion-panel.component.js +11 -11
  410. package/sidebar/common.js +1 -1
  411. package/sidebar/icon-sidebar/icon-sidebar.component.js +12 -12
  412. package/sidebar/sidebar/sidebar.component.js +29 -29
  413. package/sidebar.js +1 -1
  414. package/signet/signet.component.js +1 -1
  415. package/skiplink-list/skiplink-list.component.d.ts +3 -1
  416. package/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  417. package/skiplink-list/skiplink-list.component.js +37 -30
  418. package/slider/slider.component.js +16 -16
  419. package/standard-theme.css +436 -86
  420. package/status/status.component.js +13 -13
  421. package/stepper/step/step.component.js +5 -5
  422. package/stepper/step-label/step-label.component.js +1 -1
  423. package/stepper/stepper/stepper.component.js +7 -7
  424. package/table.css +15 -9
  425. package/tabs/tab-label/tab-label.component.js +19 -19
  426. package/tag/tag/tag.component.js +14 -14
  427. package/teaser/teaser.component.js +1 -1
  428. package/teaser-hero/teaser-hero.component.js +12 -12
  429. package/teaser-product/common.js +1 -1
  430. package/teaser-product-common-DIra6aVg.js +5 -0
  431. package/teaser-product.js +1 -1
  432. package/time-input/time-input.component.js +1 -1
  433. package/timetable-form/timetable-form/timetable-form.component.d.ts +17 -0
  434. package/timetable-form/timetable-form/timetable-form.component.d.ts.map +1 -0
  435. package/timetable-form/timetable-form/timetable-form.component.js +19 -0
  436. package/timetable-form/timetable-form-details/timetable-form-details.component.d.ts +16 -0
  437. package/timetable-form/timetable-form-details/timetable-form-details.component.d.ts.map +1 -0
  438. package/timetable-form/timetable-form-details/timetable-form-details.component.js +19 -0
  439. package/timetable-form/timetable-form-details.d.ts +5 -0
  440. package/timetable-form/timetable-form-details.d.ts.map +1 -0
  441. package/timetable-form/timetable-form-details.js +4 -0
  442. package/timetable-form/timetable-form-field/timetable-form-field.component.d.ts +18 -0
  443. package/timetable-form/timetable-form-field/timetable-form-field.component.d.ts.map +1 -0
  444. package/timetable-form/timetable-form-field/timetable-form-field.component.js +32 -0
  445. package/timetable-form/timetable-form-field.d.ts +5 -0
  446. package/timetable-form/timetable-form-field.d.ts.map +1 -0
  447. package/timetable-form/timetable-form-field.js +4 -0
  448. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +23 -0
  449. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -0
  450. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +38 -0
  451. package/timetable-form/timetable-form-swap-button.d.ts +5 -0
  452. package/timetable-form/timetable-form-swap-button.d.ts.map +1 -0
  453. package/timetable-form/timetable-form-swap-button.js +4 -0
  454. package/timetable-form/timetable-form.d.ts +5 -0
  455. package/timetable-form/timetable-form.d.ts.map +1 -0
  456. package/timetable-form/timetable-form.js +4 -0
  457. package/timetable-form.css +73 -0
  458. package/timetable-form.d.ts +8 -0
  459. package/timetable-form.d.ts.map +1 -0
  460. package/timetable-form.js +10 -0
  461. package/timetable-occupancy/timetable-occupancy.component.js +7 -7
  462. package/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts +1 -0
  463. package/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  464. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +23 -23
  465. package/title/title-base.js +1 -1
  466. package/title/title.component.js +1 -1
  467. package/toast/toast.component.d.ts +3 -1
  468. package/toast/toast.component.d.ts.map +1 -1
  469. package/toast/toast.component.js +67 -59
  470. package/toggle/toggle/toggle.component.js +1 -1
  471. package/toggle/toggle-option/toggle-option.component.js +5 -5
  472. package/toggle-check/toggle-check.component.js +16 -16
  473. package/tooltip/tooltip.component.d.ts +89 -0
  474. package/tooltip/tooltip.component.d.ts.map +1 -0
  475. package/tooltip/tooltip.component.js +215 -0
  476. package/tooltip.d.ts +5 -0
  477. package/tooltip.d.ts.map +1 -0
  478. package/tooltip.js +4 -0
  479. package/train/train/train.component.js +1 -1
  480. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  481. package/train/train-formation/train-formation.component.js +16 -16
  482. package/train/train-wagon/train-wagon.component.js +1 -1
  483. package/transparent-button-Bg9fU_iZ.js +9 -0
  484. package/typography.css +1 -0
  485. package/visual-checkbox/visual-checkbox.component.js +14 -14
  486. package/checkbox-common-CDzcyq8p.js +0 -5
  487. package/file-selector-common-Cn6U8goV.js +0 -5
  488. package/icon-sidebar-button-common-CM-ueEhH.js +0 -7
  489. package/radio-button-common-DzALx3X7.js +0 -5
  490. package/teaser-product-common-C8oSkIxy.js +0 -5
  491. package/transparent-button-xudJxob_.js +0 -9
@@ -0,0 +1,151 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { IntersectionController } from "@lit-labs/observers/intersection-controller.js";
3
+ import { css, LitElement, html } from "lit";
4
+ import { customElement } from "lit/decorators.js";
5
+ import { isArrowKeyPressed } from "../../core/a11y.js";
6
+ import { SbbLanguageController } from "../../core/controllers.js";
7
+ import { i18nCarouselItemAriaLabel } from "../../core/i18n.js";
8
+ import { SbbElementInternalsMixin } from "../../core/mixins.js";
9
+ const style = css`*,
10
+ ::before,
11
+ ::after {
12
+ box-sizing: border-box;
13
+ }
14
+
15
+ :host {
16
+ --sbb-carousel-list-border-radius: var(--sbb-border-radius-4x);
17
+ display: flex;
18
+ height: var(--sbb-carousel-list-height);
19
+ width: var(--sbb-carousel-list-width);
20
+ overflow-x: auto;
21
+ scroll-snap-type: x mandatory;
22
+ scroll-behavior: smooth;
23
+ scrollbar-width: none;
24
+ outline: none;
25
+ border-radius: var(--sbb-carousel-inherit-border-radius);
26
+ }
27
+
28
+ :host(:focus-visible)::before {
29
+ outline-offset: var(--sbb-focus-outline-offset);
30
+ outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
31
+ content: "";
32
+ position: absolute;
33
+ height: var(--sbb-carousel-list-height);
34
+ width: var(--sbb-carousel-list-width);
35
+ border-start-start-radius: var(--sbb-carousel-list-border-radius);
36
+ border-start-end-radius: var(--sbb-carousel-list-border-radius);
37
+ border-end-start-radius: var(--sbb-carousel-inherit-border-radius);
38
+ border-end-end-radius: var(--sbb-carousel-inherit-border-radius);
39
+ }`;
40
+ let SbbCarouselListElement = (() => {
41
+ var _a;
42
+ let _classDecorators = [customElement("sbb-carousel-list")];
43
+ let _classDescriptor;
44
+ let _classExtraInitializers = [];
45
+ let _classThis;
46
+ let _classSuper = SbbElementInternalsMixin(LitElement);
47
+ _a = class extends _classSuper {
48
+ constructor() {
49
+ super();
50
+ this._currentIndex = 0;
51
+ this._language = new SbbLanguageController(this);
52
+ this._beforeShowObserver = new IntersectionController(this, {
53
+ callback: (entry) => {
54
+ const item = entry.filter((e) => e.isIntersecting && e.target !== this);
55
+ item.forEach((e) => {
56
+ const target = e.target;
57
+ target.dispatchEvent(new CustomEvent("beforeshow", {
58
+ detail: { index: this._carouselItems().findIndex((e2) => e2 === target) },
59
+ bubbles: true,
60
+ composed: true
61
+ }));
62
+ });
63
+ },
64
+ config: { threshold: 0.01, root: this, rootMargin: "100% 0% 100% 0%" }
65
+ });
66
+ this._showObserver = new IntersectionController(this, {
67
+ callback: (entryArr) => {
68
+ for (const entry of entryArr) {
69
+ if (entry.target === this) {
70
+ continue;
71
+ }
72
+ const target = entry.target;
73
+ if (entry.isIntersecting) {
74
+ target.ariaHidden = null;
75
+ this._currentIndex = this._carouselItems().findIndex((el) => el === target);
76
+ target.dispatchEvent(new CustomEvent("show", {
77
+ detail: { index: this._currentIndex },
78
+ bubbles: true,
79
+ composed: true
80
+ }));
81
+ } else {
82
+ target.ariaHidden = "true";
83
+ }
84
+ }
85
+ },
86
+ config: { threshold: 0.99, root: this, rootMargin: "100% 0% 100% 0%" }
87
+ });
88
+ this.addEventListener?.("keydown", (e) => this._onKeyDown(e));
89
+ }
90
+ /** Gets the slotted items. */
91
+ _carouselItems() {
92
+ return Array.from(this.querySelectorAll?.("sbb-carousel-item") ?? []);
93
+ }
94
+ _handleSlotchange() {
95
+ const children = Array.from(this.children);
96
+ const childrenLength = children.length;
97
+ children.forEach((item, index) => {
98
+ item.ariaLabel ||= i18nCarouselItemAriaLabel(index + 1, childrenLength)[this._language.current];
99
+ item.ariaHidden = index === this._currentIndex ? null : "true";
100
+ });
101
+ const firstItem = children.find((el) => el.localName === "sbb-carousel-item");
102
+ if (firstItem) {
103
+ this.style.setProperty("--sbb-carousel-list-height", `${firstItem.clientHeight}px`);
104
+ this.style.setProperty("--sbb-carousel-list-width", `${firstItem.clientWidth}px`);
105
+ }
106
+ }
107
+ _onKeyDown(evt) {
108
+ if (!isArrowKeyPressed(evt)) {
109
+ return;
110
+ }
111
+ evt.preventDefault();
112
+ let newIndex = this._currentIndex;
113
+ const isPrev = evt.key === "ArrowUp" || evt.key === "ArrowLeft";
114
+ const isNext = evt.key === "ArrowDown" || evt.key === "ArrowRight";
115
+ if (isPrev) {
116
+ newIndex = Math.max(0, this._currentIndex - 1);
117
+ } else if (isNext) {
118
+ newIndex = Math.min(this._carouselItems().length - 1, this._currentIndex + 1);
119
+ }
120
+ if (newIndex !== this._currentIndex) {
121
+ this._currentIndex = newIndex;
122
+ this.scrollTo({ left: this._carouselItems()[this._currentIndex].offsetLeft });
123
+ }
124
+ }
125
+ connectedCallback() {
126
+ super.connectedCallback();
127
+ this.internals.ariaLive = "polite";
128
+ this.internals.ariaAtomic = "true";
129
+ }
130
+ firstUpdated(_changedProperties) {
131
+ super.firstUpdated(_changedProperties);
132
+ this.querySelectorAll("sbb-carousel-item").forEach((item) => {
133
+ this._beforeShowObserver.observe(item);
134
+ this._showObserver.observe(item);
135
+ });
136
+ }
137
+ render() {
138
+ return html`<slot @slotchange=${this._handleSlotchange}></slot>`;
139
+ }
140
+ }, _classThis = _a, (() => {
141
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
142
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
143
+ _classThis = _classDescriptor.value;
144
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
145
+ })(), _a.styles = style, __runInitializers(_classThis, _classExtraInitializers), _a;
146
+ return _classThis;
147
+ })();
148
+ export {
149
+ SbbCarouselListElement
150
+ };
151
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC1saXN0L2Nhcm91c2VsLWxpc3QuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdAbGl0L3JlYWN0aXZlLWVsZW1lbnQnO1xuaW1wb3J0IHsgSW50ZXJzZWN0aW9uQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvaW50ZXJzZWN0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBpc0Fycm93S2V5UHJlc3NlZCB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGkxOG5DYXJvdXNlbEl0ZW1BcmlhTGFiZWwgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudEludGVybmFsc01peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUge1xuICBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50LFxuICBTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbCxcbn0gZnJvbSAnLi4vY2Fyb3VzZWwtaXRlbS9jYXJvdXNlbC1pdGVtLmNvbXBvbmVudC5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2Nhcm91c2VsLWxpc3Quc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGxpc3Qgb2YgYHNiYi1jYXJvdXNlbC1pdGVtYCBjb21wb25lbnRzLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItY2Fyb3VzZWwtaXRlbWAgZWxlbWVudHMuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1jYXJvdXNlbC1saXN0JylcbmNsYXNzIFNiYkNhcm91c2VsTGlzdEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcml2YXRlIF9jdXJyZW50SW5kZXggPSAwO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJpdmF0ZSBfYmVmb3JlU2hvd09ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIGNhbGxiYWNrOiAoZW50cnkpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW0gPSBlbnRyeS5maWx0ZXIoKGUpID0+IGUuaXNJbnRlcnNlY3RpbmcgJiYgZS50YXJnZXQgIT09IHRoaXMpO1xuICAgICAgaXRlbS5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIFNiYkNhcm91c2VsSXRlbUVsZW1lbnQ7XG4gICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbD4oJ2JlZm9yZXNob3cnLCB7XG4gICAgICAgICAgICBkZXRhaWw6IHsgaW5kZXg6IHRoaXMuX2Nhcm91c2VsSXRlbXMoKS5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRhcmdldCkgfSxcbiAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgY29uZmlnOiB7IHRocmVzaG9sZDogMC4wMSwgcm9vdDogdGhpcywgcm9vdE1hcmdpbjogJzEwMCUgMCUgMTAwJSAwJScgfSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfc2hvd09ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIGNhbGxiYWNrOiAoZW50cnlBcnIpID0+IHtcbiAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cnlBcnIpIHtcbiAgICAgICAgaWYgKGVudHJ5LnRhcmdldCA9PT0gdGhpcykge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGVudHJ5LnRhcmdldCBhcyBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50O1xuICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgICB0YXJnZXQuYXJpYUhpZGRlbiA9IG51bGw7XG4gICAgICAgICAgdGhpcy5fY3VycmVudEluZGV4ID0gdGhpcy5fY2Fyb3VzZWxJdGVtcygpLmZpbmRJbmRleCgoZWwpID0+IGVsID09PSB0YXJnZXQpO1xuICAgICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsPignc2hvdycsIHtcbiAgICAgICAgICAgICAgZGV0YWlsOiB7IGluZGV4OiB0aGlzLl9jdXJyZW50SW5kZXggfSxcbiAgICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldC5hcmlhSGlkZGVuID0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBjb25maWc6IHsgdGhyZXNob2xkOiAwLjk5LCByb290OiB0aGlzLCByb290TWFyZ2luOiAnMTAwJSAwJSAxMDAlIDAlJyB9LFxuICB9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX29uS2V5RG93bihlKSk7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgc2xvdHRlZCBpdGVtcy4gKi9cbiAgcHJpdmF0ZSBfY2Fyb3VzZWxJdGVtcygpOiBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2Fyb3VzZWwtaXRlbScpID8/IFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pIGFzIFNiYkNhcm91c2VsSXRlbUVsZW1lbnRbXTtcblxuICAgIC8vIFNldCB0aGUgYXJpYS1sYWJlbCBpZiBub3QgcHJvdmlkZWRcbiAgICBjb25zdCBjaGlsZHJlbkxlbmd0aCA9IGNoaWxkcmVuLmxlbmd0aDtcbiAgICBjaGlsZHJlbi5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgaXRlbS5hcmlhTGFiZWwgfHw9IGkxOG5DYXJvdXNlbEl0ZW1BcmlhTGFiZWwoaW5kZXggKyAxLCBjaGlsZHJlbkxlbmd0aClbXG4gICAgICAgIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnRcbiAgICAgIF07XG4gICAgICBpdGVtLmFyaWFIaWRkZW4gPSBpbmRleCA9PT0gdGhpcy5fY3VycmVudEluZGV4ID8gbnVsbCA6ICd0cnVlJztcbiAgICB9KTtcblxuICAgIC8vIFNldCB0aGUgY29tcG9uZW50IGRpbWVuc2lvbnNcbiAgICBjb25zdCBmaXJzdEl0ZW0gPSBjaGlsZHJlbi5maW5kKFxuICAgICAgKGVsKSA9PiBlbC5sb2NhbE5hbWUgPT09ICdzYmItY2Fyb3VzZWwtaXRlbScsXG4gICAgKSBhcyBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50O1xuICAgIGlmIChmaXJzdEl0ZW0pIHtcbiAgICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLWNhcm91c2VsLWxpc3QtaGVpZ2h0JywgYCR7Zmlyc3RJdGVtLmNsaWVudEhlaWdodH1weGApO1xuICAgICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItY2Fyb3VzZWwtbGlzdC13aWR0aCcsIGAke2ZpcnN0SXRlbS5jbGllbnRXaWR0aH1weGApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIWlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBsZXQgbmV3SW5kZXggPSB0aGlzLl9jdXJyZW50SW5kZXg7XG4gICAgY29uc3QgaXNQcmV2ID0gZXZ0LmtleSA9PT0gJ0Fycm93VXAnIHx8IGV2dC5rZXkgPT09ICdBcnJvd0xlZnQnO1xuICAgIGNvbnN0IGlzTmV4dCA9IGV2dC5rZXkgPT09ICdBcnJvd0Rvd24nIHx8IGV2dC5rZXkgPT09ICdBcnJvd1JpZ2h0JztcblxuICAgIGlmIChpc1ByZXYpIHtcbiAgICAgIG5ld0luZGV4ID0gTWF0aC5tYXgoMCwgdGhpcy5fY3VycmVudEluZGV4IC0gMSk7XG4gICAgfSBlbHNlIGlmIChpc05leHQpIHtcbiAgICAgIG5ld0luZGV4ID0gTWF0aC5taW4odGhpcy5fY2Fyb3VzZWxJdGVtcygpLmxlbmd0aCAtIDEsIHRoaXMuX2N1cnJlbnRJbmRleCArIDEpO1xuICAgIH1cblxuICAgIGlmIChuZXdJbmRleCAhPT0gdGhpcy5fY3VycmVudEluZGV4KSB7XG4gICAgICB0aGlzLl9jdXJyZW50SW5kZXggPSBuZXdJbmRleDtcbiAgICAgIHRoaXMuc2Nyb2xsVG8oeyBsZWZ0OiB0aGlzLl9jYXJvdXNlbEl0ZW1zKClbdGhpcy5fY3VycmVudEluZGV4XS5vZmZzZXRMZWZ0IH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxpdmUgPSAncG9saXRlJztcbiAgICB0aGlzLmludGVybmFscy5hcmlhQXRvbWljID0gJ3RydWUnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChfY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKF9jaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ3NiYi1jYXJvdXNlbC1pdGVtJykuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgdGhpcy5fYmVmb3JlU2hvd09ic2VydmVyLm9ic2VydmUoaXRlbSk7XG4gICAgICB0aGlzLl9zaG93T2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jYXJvdXNlbC1saXN0JzogU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudDtcbiAg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
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @entrypoint
3
+ */
4
+ export * from './carousel-list/carousel-list.component.js';
5
+ //# sourceMappingURL=carousel-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel-list.d.ts","sourceRoot":"","sources":["../../../../src/elements/carousel/carousel-list.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,4CAA4C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { SbbCarouselListElement } from "./carousel-list/carousel-list.component.js";
2
+ export {
3
+ SbbCarouselListElement
4
+ };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtbGlzdC5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7In0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @entrypoint
3
+ */
4
+ export * from './carousel/carousel.component.js';
5
+ //# sourceMappingURL=carousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../../../src/elements/carousel/carousel.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { SbbCarouselElement } from "./carousel/carousel.component.js";
2
+ export {
3
+ SbbCarouselElement
4
+ };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOyJ9
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @entrypoint
3
+ */
4
+ export * from './carousel/carousel.js';
5
+ export * from './carousel/carousel-item.js';
6
+ export * from './carousel/carousel-list.js';
7
+ //# sourceMappingURL=carousel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carousel.d.ts","sourceRoot":"","sources":["../../../src/elements/carousel.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { SbbCarouselElement } from "./carousel/carousel/carousel.component.js";
2
+ import { SbbCarouselItemElement } from "./carousel/carousel-item/carousel-item.component.js";
3
+ import { SbbCarouselListElement } from "./carousel/carousel-list/carousel-list.component.js";
4
+ export {
5
+ SbbCarouselElement,
6
+ SbbCarouselItemElement,
7
+ SbbCarouselListElement
8
+ };
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7In0=
@@ -1,5 +1,5 @@
1
1
  import { SbbCheckboxCommonElementMixin } from "./common/checkbox-common.js";
2
- import { c } from "../checkbox-common-aMPOsPVA.js";
2
+ import { c } from "../checkbox-common-Dy_ofVhp.js";
3
3
  export {
4
4
  SbbCheckboxCommonElementMixin,
5
5
  c as checkboxCommonStyle
@@ -8,14 +8,15 @@ const checkboxCommon = css`@charset "UTF-8";
8
8
 
9
9
  :host {
10
10
  --sbb-checkbox-dimension: var(--sbb-size-icon-ui-small);
11
- --sbb-checkbox-label-color: var(--sbb-color-charcoal);
12
- --sbb-checkbox-label-icon-color: var(--sbb-color-charcoal);
11
+ --sbb-checkbox-label-color: var(--sbb-color-color-3);
12
+ --sbb-checkbox-label-icon-color: var(--sbb-checkbox-label-color);
13
13
  --sbb-checkbox-cursor: pointer;
14
14
  }
15
15
 
16
16
  :host(:disabled) {
17
17
  --sbb-checkbox-cursor: default;
18
18
  --sbb-checkbox-label-color: var(--sbb-color-granite);
19
+ --sbb-checkbox-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-aluminium));
19
20
  }
20
21
 
21
22
  .sbb-checkbox-wrapper {
@@ -80,4 +81,4 @@ const checkboxCommon = css`@charset "UTF-8";
80
81
  export {
81
82
  checkboxCommon as c
82
83
  };
83
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtY29tbW9uLWFNUE9zUFZBLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsifQ==
84
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtY29tbW9uLUR5X29mVmhwLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7In0=
@@ -2,7 +2,7 @@ import { SbbCheckboxElement } from "./checkbox/checkbox/checkbox.component.js";
2
2
  import { SbbCheckboxGroupElement } from "./checkbox/checkbox-group/checkbox-group.component.js";
3
3
  import { SbbCheckboxPanelElement } from "./checkbox/checkbox-panel/checkbox-panel.component.js";
4
4
  import { SbbCheckboxCommonElementMixin } from "./checkbox/common/checkbox-common.js";
5
- import { c } from "./checkbox-common-aMPOsPVA.js";
5
+ import { c } from "./checkbox-common-Dy_ofVhp.js";
6
6
  export {
7
7
  SbbCheckboxCommonElementMixin,
8
8
  SbbCheckboxElement,
@@ -20,15 +20,16 @@ const style = css`*,
20
20
  }
21
21
 
22
22
  :host {
23
- --sbb-chip-background-color: var(--sbb-color-milk);
23
+ --sbb-chip-background-color: var(--sbb-background-color-3);
24
24
  --sbb-chip-border: var(--sbb-border-width-1x) solid var(--sbb-chip-border-color);
25
- --sbb-chip-border-color: var(--sbb-color-cloud);
25
+ --sbb-chip-border-color: var(--sbb-border-color-4-inverted);
26
26
  --sbb-chip-border-radius: var(--sbb-border-radius-2x);
27
27
  --sbb-chip-color: var(--sbb-color-granite);
28
- --sbb-chip-color-active: var(--sbb-color-charcoal);
29
- --sbb-chip-color-hover: var(--sbb-color-charcoal);
30
- --sbb-chip-background-color-active: var(--sbb-color-white);
31
- --sbb-chip-background-color-hover: var(--sbb-color-white);
28
+ --sbb-chip-color: light-dark(var(--sbb-color-granite), var(--sbb-color-cloud));
29
+ --sbb-chip-color-active: var(--sbb-color-2);
30
+ --sbb-chip-color-hover: var(--sbb-color-2);
31
+ --sbb-chip-background-color-active: var(--sbb-background-color-1);
32
+ --sbb-chip-background-color-hover: var(--sbb-background-color-1);
32
33
  --sbb-chip-height: 1.5rem;
33
34
  --sbb-chip-label-padding-inline: var(--sbb-spacing-fixed-2x);
34
35
  --sbb-chip-transition-duration: var(
@@ -40,13 +41,13 @@ const style = css`*,
40
41
  }
41
42
 
42
43
  :host([negative]) {
43
- --sbb-chip-border-color: var(--sbb-color-iron);
44
- --sbb-chip-background-color: var(--sbb-color-charcoal);
45
- --sbb-chip-color: var(--sbb-color-cloud);
46
- --sbb-chip-color-active: var(--sbb-color-white);
47
- --sbb-chip-color-hover: var(--sbb-color-white);
48
- --sbb-chip-background-color-active: var(--sbb-color-midnight);
49
- --sbb-chip-background-color-hover: var(--sbb-color-midnight);
44
+ --sbb-chip-border-color: var(--sbb-border-color-4-negative-inverted);
45
+ --sbb-chip-background-color: var(--sbb-background-color-3-negative);
46
+ --sbb-chip-color: var(--sbb-color-4-negative);
47
+ --sbb-chip-color-active: var(--sbb-color-2-negative);
48
+ --sbb-chip-color-hover: var(--sbb-color-2-negative);
49
+ --sbb-chip-background-color-active: var(--sbb-background-color-1-negative);
50
+ --sbb-chip-background-color-hover: var(--sbb-background-color-1-negative);
50
51
  --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);
51
52
  }
52
53
 
@@ -192,4 +193,4 @@ let SbbChipElement = (() => {
192
193
  export {
193
194
  SbbChipElement
194
195
  };
195
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGlwL2NoaXAvY2hpcC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGkxOG5DaGlwRGVsZXRlIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7XG4gIFNiYkRpc2FibGVkTWl4aW4sXG4gIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbixcbiAgU2JiTmVnYXRpdmVNaXhpbixcbiAgU2JiUmVhZG9ubHlNaXhpbixcbn0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuXG5pbXBvcnQgJy4uLy4uL2J1dHRvbi9taW5pLWJ1dHRvbi5qcyc7XG5pbXBvcnQgJy4uLy4uL3NjcmVlbi1yZWFkZXItb25seS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NoaXAuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGNoaXAuIFVzdWFsbHkgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGBzYmItY2hpcC1ncm91cGAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgdGhlIGRpc3BsYXkgdmFsdWUuIElmIG5vdCBwcm92aWRlZCwgdGhlICd2YWx1ZScgd2lsbCBiZSB1c2VkLlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWNoaXAnKVxuY2xhc3MgU2JiQ2hpcEVsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKFxuICBTYmJEaXNhYmxlZE1peGluKFNiYlJlYWRvbmx5TWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpKSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ29wdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICByZXF1ZXN0ZGVsZXRlOiAncmVxdWVzdGRlbGV0ZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFRoZSB2YWx1ZSBvZiBjaGlwLiBXaWxsIGJlIHVzZWQgYXMgbGFiZWwgaWYgbm90aGluZyBpcyBzbG90dGVkLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgdmFsdWU6IFQgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICctMScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoX2NoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChfY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgLy8gUmVtb3ZlIHRoZSBkZWxldGUgYnV0dG9uIGZyb20gdGhlIHRhYiBvcmRlci5cbiAgICAvLyBTZXRUaW1lb3V0IGlzIG5lZWRlZCB0byBvdmVycmlkZSB0aGUgYnV0dG9uIHRhYmluZGV4IGluaXRpYWxpemF0aW9uXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9kZWxldGVCdXR0b24oKS5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4JykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGVsZXRlQnV0dG9uKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCdzYmItbWluaS1idXR0b24nKSE7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVEZWxldGVCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgncmVxdWVzdGRlbGV0ZScsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWNoaXBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1jaGlwX19sYWJlbC13cmFwcGVyXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hpcF9fbGFiZWxcIj5cbiAgICAgICAgICAgIDxzbG90PiR7dGhpcy52YWx1ZSA/PyAnJ308L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNiYi1taW5pLWJ1dHRvblxuICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgY2xhc3M9XCJzYmItY2hpcF9fZGVsZXRlXCJcbiAgICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy10aW55LXNtYWxsXCJcbiAgICAgICAgICBAY2xpY2s9JHt0aGlzLl9oYW5kbGVEZWxldGVCdXR0b25DbGlja31cbiAgICAgICAgPlxuICAgICAgICA8L3NiYi1taW5pLWJ1dHRvbj5cbiAgICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHk+LCAke2kxOG5DaGlwRGVsZXRlW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfTwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jaGlwJzogU2JiQ2hpcEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUErQk0sa0JBQWMsTUFBQTs7MEJBRG5CLGNBQWMsVUFBVSxDQUFDOzs7O29CQUNlLGlCQUN2QyxpQkFBaUIsaUJBQWlCLHlCQUF5QixVQUFVLENBQUMsQ0FBQyxDQUFDOzs7O0FBRHpDLEVBQUEsbUJBQVEsWUFFeEM7QUFBQTs7QUFRYTtBQUFnQix5QkFBQSx5QkFBQSxrQkFBQSxNQUFBLHFCQUFrQixJQUFJO0FBRTFDLFdBQUEsZ0VBQVksSUFBSSxzQkFBc0IsSUFBSTtBQUFBLElBa0RwRDtBQUFBO0FBQUEsSUFwRGMsSUFBZ0IsUUFBSztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEseUJBQUEseUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFJZCxXQUFXLG1CQUF1QztBQUNuRSxZQUFNLFdBQVcsaUJBQWlCO0FBRWxDLFVBQUksa0JBQWtCLElBQUksVUFBVSxHQUFHO0FBQ3JDLFlBQUksS0FBSyxVQUFVO0FBQ2pCLGVBQUssZ0JBQWdCLFVBQVU7QUFBQSxRQUNqQyxPQUFPO0FBQ0wsZUFBSyxhQUFhLFlBQVksSUFBSTtBQUFBLFFBQ3BDO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxJQUVtQixhQUFhLG9CQUFrQztBQUNoRSxZQUFNLGFBQWEsa0JBQWtCO0FBSXJDLGlCQUFXLE1BQU0sS0FBSyxjQUFBLEVBQWdCLGdCQUFnQixVQUFVLENBQUM7QUFBQSxJQUNuRTtBQUFBLElBRVEsZ0JBQWE7QUFDbkIsYUFBTyxLQUFLLFdBQVksY0FBYyxpQkFBaUI7QUFBQSxJQUN6RDtBQUFBLElBRVEsMkJBQXdCO0FBRTlCLFdBQUssY0FBYyxJQUFJLE1BQU0saUJBQWlCLEVBQUUsU0FBUyxNQUFNLFVBQVUsS0FBQSxDQUFNLENBQUM7QUFBQSxJQUNsRjtBQUFBLElBRW1CLFNBQU07QUFDdkIsYUFBTztBQUFBO0FBQUE7QUFBQTtBQUFBLG9CQUlTLEtBQUssU0FBUyxFQUFFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsbUJBT2pCLEtBQUssd0JBQXdCO0FBQUE7QUFBQTtBQUFBLG9DQUdaLGVBQWUsS0FBSyxVQUFVLE9BQU8sQ0FBQztBQUFBO0FBQUE7QUFBQSxJQUd4RTtBQUFBLEtBbkRZOztBQUFYLHdCQUFBLENBQUEsVUFBVTtBQUFDLGlCQUFBLElBQUEsTUFBQSxtQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFNBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsV0FBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLE9BQUssS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUwsUUFBSztBQUFBLElBQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSxxQkFBQSx3QkFBQTtBQVZuQyxpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBR2tDLEdBQUEsT0FBTyxVQUNoQixHQUFBLFNBQXlCLE9BQ3pCLEdBQUEsU0FBUztBQUFBLElBQzlCLGVBQWU7QUFBQSxFQUFBLEdBTmIsa0JBQUEsWUFBQSx1QkFBQSxHQUEyQjs7OyJ9
196
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGlwL2NoaXAvY2hpcC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGkxOG5DaGlwRGVsZXRlIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7XG4gIFNiYkRpc2FibGVkTWl4aW4sXG4gIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbixcbiAgU2JiTmVnYXRpdmVNaXhpbixcbiAgU2JiUmVhZG9ubHlNaXhpbixcbn0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuXG5pbXBvcnQgJy4uLy4uL2J1dHRvbi9taW5pLWJ1dHRvbi5qcyc7XG5pbXBvcnQgJy4uLy4uL3NjcmVlbi1yZWFkZXItb25seS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NoaXAuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGNoaXAuIFVzdWFsbHkgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGBzYmItY2hpcC1ncm91cGAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgdGhlIGRpc3BsYXkgdmFsdWUuIElmIG5vdCBwcm92aWRlZCwgdGhlICd2YWx1ZScgd2lsbCBiZSB1c2VkLlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWNoaXAnKVxuY2xhc3MgU2JiQ2hpcEVsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKFxuICBTYmJEaXNhYmxlZE1peGluKFNiYlJlYWRvbmx5TWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpKSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ29wdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICByZXF1ZXN0ZGVsZXRlOiAncmVxdWVzdGRlbGV0ZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFRoZSB2YWx1ZSBvZiBjaGlwLiBXaWxsIGJlIHVzZWQgYXMgbGFiZWwgaWYgbm90aGluZyBpcyBzbG90dGVkLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3IgdmFsdWU6IFQgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICctMScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoX2NoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChfY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgLy8gUmVtb3ZlIHRoZSBkZWxldGUgYnV0dG9uIGZyb20gdGhlIHRhYiBvcmRlci5cbiAgICAvLyBTZXRUaW1lb3V0IGlzIG5lZWRlZCB0byBvdmVycmlkZSB0aGUgYnV0dG9uIHRhYmluZGV4IGluaXRpYWxpemF0aW9uXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9kZWxldGVCdXR0b24oKS5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4JykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGVsZXRlQnV0dG9uKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCdzYmItbWluaS1idXR0b24nKSE7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVEZWxldGVCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgncmVxdWVzdGRlbGV0ZScsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWNoaXBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1jaGlwX19sYWJlbC13cmFwcGVyXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hpcF9fbGFiZWxcIj5cbiAgICAgICAgICAgIDxzbG90PiR7dGhpcy52YWx1ZSA/PyAnJ308L3Nsb3Q+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNiYi1taW5pLWJ1dHRvblxuICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgY2xhc3M9XCJzYmItY2hpcF9fZGVsZXRlXCJcbiAgICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy10aW55LXNtYWxsXCJcbiAgICAgICAgICBAY2xpY2s9JHt0aGlzLl9oYW5kbGVEZWxldGVCdXR0b25DbGlja31cbiAgICAgICAgPlxuICAgICAgICA8L3NiYi1taW5pLWJ1dHRvbj5cbiAgICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHk+LCAke2kxOG5DaGlwRGVsZXRlW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfTwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jaGlwJzogU2JiQ2hpcEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBK0JNLGtCQUFjLE1BQUE7OzBCQURuQixjQUFjLFVBQVUsQ0FBQzs7OztvQkFDZSxpQkFDdkMsaUJBQWlCLGlCQUFpQix5QkFBeUIsVUFBVSxDQUFDLENBQUMsQ0FBQzs7OztBQUR6QyxFQUFBLG1CQUFRLFlBRXhDO0FBQUE7O0FBUWE7QUFBZ0IseUJBQUEseUJBQUEsa0JBQUEsTUFBQSxxQkFBa0IsSUFBSTtBQUUxQyxXQUFBLGdFQUFZLElBQUksc0JBQXNCLElBQUk7QUFBQSxJQWtEcEQ7QUFBQTtBQUFBLElBcERjLElBQWdCLFFBQUs7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXJCLElBQWdCLE1BQUssT0FBQTtBQUFBLHlCQUFBLHlCQUFBO0FBQUEsSUFBQTtBQUFBLElBSWQsV0FBVyxtQkFBdUM7QUFDbkUsWUFBTSxXQUFXLGlCQUFpQjtBQUVsQyxVQUFJLGtCQUFrQixJQUFJLFVBQVUsR0FBRztBQUNyQyxZQUFJLEtBQUssVUFBVTtBQUNqQixlQUFLLGdCQUFnQixVQUFVO0FBQUEsUUFDakMsT0FBTztBQUNMLGVBQUssYUFBYSxZQUFZLElBQUk7QUFBQSxRQUNwQztBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsSUFFbUIsYUFBYSxvQkFBa0M7QUFDaEUsWUFBTSxhQUFhLGtCQUFrQjtBQUlyQyxpQkFBVyxNQUFNLEtBQUssY0FBQSxFQUFnQixnQkFBZ0IsVUFBVSxDQUFDO0FBQUEsSUFDbkU7QUFBQSxJQUVRLGdCQUFhO0FBQ25CLGFBQU8sS0FBSyxXQUFZLGNBQWMsaUJBQWlCO0FBQUEsSUFDekQ7QUFBQSxJQUVRLDJCQUF3QjtBQUU5QixXQUFLLGNBQWMsSUFBSSxNQUFNLGlCQUFpQixFQUFFLFNBQVMsTUFBTSxVQUFVLEtBQUEsQ0FBTSxDQUFDO0FBQUEsSUFDbEY7QUFBQSxJQUVtQixTQUFNO0FBQ3ZCLGFBQU87QUFBQTtBQUFBO0FBQUE7QUFBQSxvQkFJUyxLQUFLLFNBQVMsRUFBRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQU9qQixLQUFLLHdCQUF3QjtBQUFBO0FBQUE7QUFBQSxvQ0FHWixlQUFlLEtBQUssVUFBVSxPQUFPLENBQUM7QUFBQTtBQUFBO0FBQUEsSUFHeEU7QUFBQSxLQW5EWTs7QUFBWCx3QkFBQSxDQUFBLFVBQVU7QUFBQyxpQkFBQSxJQUFBLE1BQUEsbUJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxTQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFdBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixPQUFLLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFMLFFBQUs7QUFBQSxJQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEscUJBQUEsd0JBQUE7QUFWbkMsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUdrQyxHQUFBLE9BQU8sVUFDaEIsR0FBQSxTQUF5QixPQUN6QixHQUFBLFNBQVM7QUFBQSxJQUM5QixlQUFlO0FBQUEsRUFBQSxHQU5iLGtCQUFBLFlBQUEsdUJBQUEsR0FBMkI7OzsifQ==
@@ -16,32 +16,29 @@ const style = css`*,
16
16
 
17
17
  :host {
18
18
  display: inline-block;
19
- }
20
-
21
- :host([color=milk]) {
22
19
  --sbb-chip-label-color: var(--sbb-color-granite);
23
- --sbb-chip-label-background-color: var(--sbb-color-milk);
20
+ --sbb-chip-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-cloud));
21
+ --sbb-chip-label-background-color: var(--sbb-background-color-3);
22
+ --sbb-chip-label-padding-block: 0em;
23
+ --sbb-chip-label-padding-inline: var(--sbb-spacing-fixed-2x);
24
+ --sbb-text-font-size: var(--sbb-font-size-text-xxs);
24
25
  }
25
26
 
26
27
  :host([color=charcoal]) {
27
- --sbb-chip-label-color: var(--sbb-color-white);
28
- --sbb-chip-label-background-color: var(--sbb-color-charcoal);
28
+ --sbb-chip-label-color: var(--sbb-color-2-inverted);
29
+ --sbb-chip-label-background-color: var(--sbb-background-color-2-inverted);
29
30
  }
30
31
 
31
32
  :host([color=white]) {
32
33
  --sbb-chip-label-color: var(--sbb-color-granite);
33
- --sbb-chip-label-background-color: var(--sbb-color-white);
34
+ --sbb-chip-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-cloud));
35
+ --sbb-chip-label-background-color: var(--sbb-background-color-1);
34
36
  }
35
37
 
36
38
  :host([color=granite]) {
37
- --sbb-chip-label-color: var(--sbb-color-white);
39
+ --sbb-chip-label-color: var(--sbb-color-2-inverted);
38
40
  --sbb-chip-label-background-color: var(--sbb-color-granite);
39
- }
40
-
41
- :host([size=xxs]) {
42
- --sbb-chip-label-padding-block: 0em;
43
- --sbb-chip-label-padding-inline: var(--sbb-spacing-fixed-2x);
44
- --sbb-text-font-size: var(--sbb-font-size-text-xxs);
41
+ --sbb-chip-label-background-color: light-dark(var(--sbb-color-granite), var(--sbb-color-storm));
45
42
  }
46
43
 
47
44
  :host([size=xs]) {
@@ -151,4 +148,4 @@ let SbbChipLabelElement = (() => {
151
148
  export {
152
149
  SbbChipLabelElement
153
150
  };
154
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGlwLWxhYmVsL2NoaXAtbGFiZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NoaXAtbGFiZWwuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBicmllZiBhbmQgY29tcGFjdCBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLWNoaXAtbGFiZWxgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY2hpcC1sYWJlbCcpXG5jbGFzcyBTYmJDaGlwTGFiZWxFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBTaXplIG9mIHRoZSBjaGlwLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAneHhzJyB8ICd4cycgfCAncycgPSAneHhzJztcblxuICAvKiogQ29sb3Igb2YgdGhlIGNoaXAuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvbG9yOiAnbWlsaycgfCAnY2hhcmNvYWwnIHwgJ3doaXRlJyB8ICdncmFuaXRlJyA9ICdtaWxrJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWNoaXAtbGFiZWxcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hpcF9fdGV4dC13cmFwcGVyXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNoaXAtbGFiZWwnOiBTYmJDaGlwTGFiZWxFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWFNLHVCQUFtQixNQUFBOzswQkFEeEIsY0FBYyxnQkFBZ0IsQ0FBQzs7OztvQkFDRTs7Ozs7OztBQUFSLEVBQUEsbUJBQVEsWUFBVTtBQUFBOztBQUsxQyxpREFBQSxrQkFBQSxNQUFBLG9CQUEyQyxLQUFLO0FBSWhELG1EQUFBLGtCQUFBLE1BQUEsdUJBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUFtRSxNQUFNOzs7O0lBSnpFLElBQWdCLE9BQUk7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXBCLElBQWdCLEtBQUksT0FBQTtBQUFBLHlCQUFBLHdCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFJcEIsSUFBZ0IsUUFBSztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEseUJBQUEseUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFFRixTQUFNO0FBQ3ZCLGFBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU9UO0FBQUEsS0FkQSx3Q0FJQTs7QUFMQyx1QkFBQSxDQUFBLFNBQVMsRUFBRSxTQUFTLEtBQUEsQ0FBTSxDQUFDO0FBSTNCLHdCQUFBLENBQUEsU0FBUyxFQUFFLFNBQVMsS0FBQSxDQUFNLENBQUM7QUFINUIsaUJBQUEsSUFBQSxNQUFBLGtCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsUUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxVQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsTUFBSSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBSixPQUFJO0FBQUEsSUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLG9CQUFBLHVCQUFBO0FBSXBCLGlCQUFBLElBQUEsTUFBQSxtQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFNBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsV0FBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLE9BQUssS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUwsUUFBSztBQUFBLElBQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSxxQkFBQSx3QkFBQTtBQVR2QixpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBQ3lCLEdBQUEsU0FBeUIsT0FENUMsa0JBQUEsWUFBQSx1QkFBQSxHQUFvQjs7OyJ9
151
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGlwLWxhYmVsL2NoaXAtbGFiZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NoaXAtbGFiZWwuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBicmllZiBhbmQgY29tcGFjdCBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLWNoaXAtbGFiZWxgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY2hpcC1sYWJlbCcpXG5jbGFzcyBTYmJDaGlwTGFiZWxFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBTaXplIG9mIHRoZSBjaGlwLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAneHhzJyB8ICd4cycgfCAncycgPSAneHhzJztcblxuICAvKiogQ29sb3Igb2YgdGhlIGNoaXAuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvbG9yOiAnbWlsaycgfCAnY2hhcmNvYWwnIHwgJ3doaXRlJyB8ICdncmFuaXRlJyA9ICdtaWxrJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWNoaXAtbGFiZWxcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hpcF9fdGV4dC13cmFwcGVyXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNoaXAtbGFiZWwnOiBTYmJDaGlwTGFiZWxFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWFNLHVCQUFtQixNQUFBOzswQkFEeEIsY0FBYyxnQkFBZ0IsQ0FBQzs7OztvQkFDRTs7Ozs7OztBQUFSLEVBQUEsbUJBQVEsWUFBVTtBQUFBOztBQUsxQyxpREFBQSxrQkFBQSxNQUFBLG9CQUEyQyxLQUFLO0FBSWhELG1EQUFBLGtCQUFBLE1BQUEsdUJBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUFtRSxNQUFNOzs7O0lBSnpFLElBQWdCLE9BQUk7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXBCLElBQWdCLEtBQUksT0FBQTtBQUFBLHlCQUFBLHdCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFJcEIsSUFBZ0IsUUFBSztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEseUJBQUEseUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFFRixTQUFNO0FBQ3ZCLGFBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU9UO0FBQUEsS0FkQSx3Q0FJQTs7QUFMQyx1QkFBQSxDQUFBLFNBQVMsRUFBRSxTQUFTLEtBQUEsQ0FBTSxDQUFDO0FBSTNCLHdCQUFBLENBQUEsU0FBUyxFQUFFLFNBQVMsS0FBQSxDQUFNLENBQUM7QUFINUIsaUJBQUEsSUFBQSxNQUFBLGtCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsUUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxVQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsTUFBSSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBSixPQUFJO0FBQUEsSUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLG9CQUFBLHVCQUFBO0FBSXBCLGlCQUFBLElBQUEsTUFBQSxtQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFNBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsV0FBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLE9BQUssS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUwsUUFBSztBQUFBLElBQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSxxQkFBQSx3QkFBQTtBQVR2QixpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBQ3lCLEdBQUEsU0FBeUIsT0FENUMsa0JBQUEsWUFBQSx1QkFBQSxHQUFvQjs7OyJ9
@@ -9,7 +9,7 @@ import { __runInitializers, __esDecorate } from "tslib";
9
9
  import { css, LitElement, isServer, html } from "lit";
10
10
  import { customElement, property } from "lit/decorators.js";
11
11
  import { ref } from "lit/directives/ref.js";
12
- const clockFaceSVG = '<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 105 105"><g class="face"><circle fill="#FFF" cx="52.5" cy="52.5" r="52.5"/><path d="M50.75 4h3.5v12h-3.5zM50.75 89h3.5v12h-3.5zM75.233 9.623l3.03 1.75-6 10.392-3.03-1.75zM32.734 83.233l3.03 1.75-6 10.392-3.03-1.75zM93.628 26.732l1.75 3.031-10.392 6-1.75-3.03zM20.017 69.234l1.75 3.031-10.392 6-1.75-3.03zM101 50.75v3.5H89v-3.5zM16 50.75v3.5H4v-3.5zM95.379 75.232l-1.75 3.031-10.392-6 1.75-3.03zM21.766 32.734l-1.75 3.031-10.392-6 1.75-3.03zM78.267 93.63l-3.03 1.75-6-10.393 3.03-1.75zM35.766 20.015l-3.03 1.75-6-10.392 3.03-1.75z"/><g><path d="M56.873 4.19l1.392.147-.366 3.48-1.392-.145zM47.101 97.177l1.393.146-.366 3.481-1.392-.146zM61.896 4.914l1.37.29-.728 3.424-1.37-.29zM42.458 96.366l1.37.29-.728 3.424-1.37-.291zM66.825 6.157l1.332.432-1.082 3.33-1.331-.434zM37.931 95.085l1.332.432-1.082 3.33-1.331-.433zM71.584 7.906l1.28.569-1.424 3.197-1.28-.57zM33.56 93.32l1.278.569-1.423 3.197-1.28-.57zM80.44 12.852l1.133.823-2.058 2.831-1.132-.823zM25.481 88.494l1.133.822-2.057 2.832-1.133-.823zM84.43 15.986l1.04.937-2.342 2.6-1.04-.936zM21.87 85.469l1.04.936-2.341 2.601-1.04-.937zM88.072 19.522l.937 1.04-2.6 2.343-.937-1.04zM18.593 82.088l.937 1.04-2.601 2.342-.937-1.04zM91.328 23.425l.823 1.133-2.832 2.057-.823-1.132zM15.684 78.385l.823 1.132-2.832 2.058-.822-1.133zM96.52 32.128l.57 1.279-3.198 1.423-.57-1.278zM11.109 70.161l.569 1.279-3.197 1.423-.57-1.279zM98.407 36.85l.433 1.332-3.33 1.081-.432-1.331zM9.483 65.74l.432 1.33-3.329 1.082-.432-1.331zM99.795 41.726l.291 1.37-3.423.727-.29-1.37zM8.34 61.17l.292 1.37-3.424.728-.29-1.37zM100.66 46.73l.146 1.393-3.48.366-.147-1.392zM7.674 56.506l.146 1.392-3.48.366-.147-1.392zM100.811 56.873l-.146 1.392-3.48-.365.145-1.393zM7.821 47.101l-.146 1.392-3.48-.365.145-1.393zM100.09 61.895l-.291 1.369-3.424-.728.291-1.369zM8.631 42.46l-.291 1.37-3.423-.728.29-1.37zM98.84 66.827l-.432 1.331-3.329-1.081.433-1.332zM9.918 37.93l-.433 1.331-3.329-1.082.433-1.331zM97.098 71.585l-.569 1.28-3.197-1.424.57-1.28zM11.677 33.558l-.57 1.28-3.197-1.424.57-1.279zM92.149 80.439l-.823 1.133-2.832-2.058.823-1.132zM16.506 25.482l-.823 1.133-2.831-2.057.823-1.133zM89.017 84.431l-.937 1.04-2.6-2.341.936-1.04zM19.528 21.869l-.936 1.04-2.601-2.342.936-1.04zM85.48 88.076l-1.041.936-2.342-2.6 1.04-.937zM22.91 18.59l-1.04.937-2.341-2.601 1.04-.937zM81.574 91.328l-1.133.823-2.057-2.831 1.132-.823zM26.617 15.684l-1.133.823-2.057-2.832 1.132-.823zM72.873 96.524l-1.279.57-1.423-3.198 1.278-.57zM34.838 11.105l-1.279.57-1.423-3.198 1.279-.57zM68.151 98.405l-1.331.432-1.082-3.329 1.332-.432zM39.259 9.485l-1.332.433-1.081-3.33 1.331-.432zM63.272 99.799l-1.369.29-.728-3.422 1.37-.291zM43.83 8.337l-1.369.291-.727-3.423 1.37-.291zM58.27 100.662l-1.393.146-.366-3.48 1.393-.147zM48.494 7.672l-1.392.147-.366-3.481 1.392-.147z"/></g></g></svg>\n';
12
+ const clockFaceSVG = '<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 105 105"><g class="face"><circle fill="var(--sbb-clock-background-color)" cx="52.5" cy="52.5" r="52.5"/><path d="M50.75 4h3.5v12h-3.5zM50.75 89h3.5v12h-3.5zM75.233 9.623l3.03 1.75-6 10.392-3.03-1.75zM32.734 83.233l3.03 1.75-6 10.392-3.03-1.75zM93.628 26.732l1.75 3.031-10.392 6-1.75-3.03zM20.017 69.234l1.75 3.031-10.392 6-1.75-3.03zM101 50.75v3.5H89v-3.5zM16 50.75v3.5H4v-3.5zM95.379 75.232l-1.75 3.031-10.392-6 1.75-3.03zM21.766 32.734l-1.75 3.031-10.392-6 1.75-3.03zM78.267 93.63l-3.03 1.75-6-10.393 3.03-1.75zM35.766 20.015l-3.03 1.75-6-10.392 3.03-1.75z"/><g><path d="M56.873 4.19l1.392.147-.366 3.48-1.392-.145zM47.101 97.177l1.393.146-.366 3.481-1.392-.146zM61.896 4.914l1.37.29-.728 3.424-1.37-.29zM42.458 96.366l1.37.29-.728 3.424-1.37-.291zM66.825 6.157l1.332.432-1.082 3.33-1.331-.434zM37.931 95.085l1.332.432-1.082 3.33-1.331-.433zM71.584 7.906l1.28.569-1.424 3.197-1.28-.57zM33.56 93.32l1.278.569-1.423 3.197-1.28-.57zM80.44 12.852l1.133.823-2.058 2.831-1.132-.823zM25.481 88.494l1.133.822-2.057 2.832-1.133-.823zM84.43 15.986l1.04.937-2.342 2.6-1.04-.936zM21.87 85.469l1.04.936-2.341 2.601-1.04-.937zM88.072 19.522l.937 1.04-2.6 2.343-.937-1.04zM18.593 82.088l.937 1.04-2.601 2.342-.937-1.04zM91.328 23.425l.823 1.133-2.832 2.057-.823-1.132zM15.684 78.385l.823 1.132-2.832 2.058-.822-1.133zM96.52 32.128l.57 1.279-3.198 1.423-.57-1.278zM11.109 70.161l.569 1.279-3.197 1.423-.57-1.279zM98.407 36.85l.433 1.332-3.33 1.081-.432-1.331zM9.483 65.74l.432 1.33-3.329 1.082-.432-1.331zM99.795 41.726l.291 1.37-3.423.727-.29-1.37zM8.34 61.17l.292 1.37-3.424.728-.29-1.37zM100.66 46.73l.146 1.393-3.48.366-.147-1.392zM7.674 56.506l.146 1.392-3.48.366-.147-1.392zM100.811 56.873l-.146 1.392-3.48-.365.145-1.393zM7.821 47.101l-.146 1.392-3.48-.365.145-1.393zM100.09 61.895l-.291 1.369-3.424-.728.291-1.369zM8.631 42.46l-.291 1.37-3.423-.728.29-1.37zM98.84 66.827l-.432 1.331-3.329-1.081.433-1.332zM9.918 37.93l-.433 1.331-3.329-1.082.433-1.331zM97.098 71.585l-.569 1.28-3.197-1.424.57-1.28zM11.677 33.558l-.57 1.28-3.197-1.424.57-1.279zM92.149 80.439l-.823 1.133-2.832-2.058.823-1.132zM16.506 25.482l-.823 1.133-2.831-2.057.823-1.133zM89.017 84.431l-.937 1.04-2.6-2.341.936-1.04zM19.528 21.869l-.936 1.04-2.601-2.342.936-1.04zM85.48 88.076l-1.041.936-2.342-2.6 1.04-.937zM22.91 18.59l-1.04.937-2.341-2.601 1.04-.937zM81.574 91.328l-1.133.823-2.057-2.831 1.132-.823zM26.617 15.684l-1.133.823-2.057-2.832 1.132-.823zM72.873 96.524l-1.279.57-1.423-3.198 1.278-.57zM34.838 11.105l-1.279.57-1.423-3.198 1.279-.57zM68.151 98.405l-1.331.432-1.082-3.329 1.332-.432zM39.259 9.485l-1.332.433-1.081-3.33 1.331-.432zM63.272 99.799l-1.369.29-.728-3.422 1.37-.291zM43.83 8.337l-1.369.291-.727-3.423 1.37-.291zM58.27 100.662l-1.393.146-.366-3.48 1.393-.147zM48.494 7.672l-1.392.147-.366-3.481 1.392-.147z"/></g></g></svg>\n';
13
13
  const clockHandleHoursSVG = '<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 105 105"><path id="mod_clock_svg_hours" d="M55.7 64.5h-6.4l.6-44h5.2z"/></svg>\n';
14
14
  const clockHandleMinutesSVG = '<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 105 105"><path d="M55.1,64.5h-5.2l0.8-58h3.6L55.1,64.5z"/></svg>\n';
15
15
  const clockHandleSecondsSVG = '<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 105 105"><path d="M57.8,21.3c0-2.9-2.4-5.2-5.2-5.2s-5.3,2.3-5.3,5.2c0,2.7,2,4.8,4.5,5.2V69h1.5V26.5C55.8,26.2,57.8,24,57.8,21.3z"/></svg>\n';
@@ -25,7 +25,9 @@ const style = css`*,
25
25
  --sbb-clock-hours-animation-duration: 0s;
26
26
  --sbb-clock-seconds-animation-duration: 0s;
27
27
  --sbb-clock-animation-play-state: paused;
28
- --sbb-clock-seconds-hand-color: var(--sbb-color-red);
28
+ --sbb-clock-seconds-hand-color: var(--sbb-color-brand);
29
+ --sbb-clock-face-color: var(--sbb-color-1);
30
+ --sbb-clock-background-color: var(--sbb-background-color-1);
29
31
  display: block;
30
32
  }
31
33
 
@@ -50,6 +52,12 @@ const style = css`*,
50
52
  backface-visibility: hidden;
51
53
  }
52
54
 
55
+ .sbb-clock__hand-hours,
56
+ .sbb-clock__hand-minutes,
57
+ .sbb-clock__face {
58
+ fill: var(--sbb-clock-face-color);
59
+ }
60
+
53
61
  .sbb-clock__hand-minutes {
54
62
  transition: transform var(--sbb-disable-animation-duration, 0.2s) cubic-bezier(0.4, 2.08, 0.55, 0.44);
55
63
  }
@@ -377,4 +385,4 @@ let SbbClockElement = (() => {
377
385
  export {
378
386
  SbbClockElement
379
387
  };
380
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvY2suY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY2xvY2svYXNzZXRzL3NiYl9jbG9ja19mYWNlLnN2Zz9yYXciLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY2xvY2svYXNzZXRzL3NiYl9jbG9ja19ob3Vycy5zdmc/cmF3IiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nsb2NrL2Fzc2V0cy9zYmJfY2xvY2tfbWludXRlcy5zdmc/cmF3IiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nsb2NrL2Fzc2V0cy9zYmJfY2xvY2tfc2Vjb25kcy5zdmc/cmF3IiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nsb2NrL2Nsb2NrLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcIjxzdmcgZm9jdXNhYmxlPVxcXCJmYWxzZVxcXCIgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB2aWV3Qm94PVxcXCIwIDAgMTA1IDEwNVxcXCI+PGcgY2xhc3M9XFxcImZhY2VcXFwiPjxjaXJjbGUgZmlsbD1cXFwiI0ZGRlxcXCIgY3g9XFxcIjUyLjVcXFwiIGN5PVxcXCI1Mi41XFxcIiByPVxcXCI1Mi41XFxcIi8+PHBhdGggZD1cXFwiTTUwLjc1IDRoMy41djEyaC0zLjV6TTUwLjc1IDg5aDMuNXYxMmgtMy41ek03NS4yMzMgOS42MjNsMy4wMyAxLjc1LTYgMTAuMzkyLTMuMDMtMS43NXpNMzIuNzM0IDgzLjIzM2wzLjAzIDEuNzUtNiAxMC4zOTItMy4wMy0xLjc1ek05My42MjggMjYuNzMybDEuNzUgMy4wMzEtMTAuMzkyIDYtMS43NS0zLjAzek0yMC4wMTcgNjkuMjM0bDEuNzUgMy4wMzEtMTAuMzkyIDYtMS43NS0zLjAzek0xMDEgNTAuNzV2My41SDg5di0zLjV6TTE2IDUwLjc1djMuNUg0di0zLjV6TTk1LjM3OSA3NS4yMzJsLTEuNzUgMy4wMzEtMTAuMzkyLTYgMS43NS0zLjAzek0yMS43NjYgMzIuNzM0bC0xLjc1IDMuMDMxLTEwLjM5Mi02IDEuNzUtMy4wM3pNNzguMjY3IDkzLjYzbC0zLjAzIDEuNzUtNi0xMC4zOTMgMy4wMy0xLjc1ek0zNS43NjYgMjAuMDE1bC0zLjAzIDEuNzUtNi0xMC4zOTIgMy4wMy0xLjc1elxcXCIvPjxnPjxwYXRoIGQ9XFxcIk01Ni44NzMgNC4xOWwxLjM5Mi4xNDctLjM2NiAzLjQ4LTEuMzkyLS4xNDV6TTQ3LjEwMSA5Ny4xNzdsMS4zOTMuMTQ2LS4zNjYgMy40ODEtMS4zOTItLjE0NnpNNjEuODk2IDQuOTE0bDEuMzcuMjktLjcyOCAzLjQyNC0xLjM3LS4yOXpNNDIuNDU4IDk2LjM2NmwxLjM3LjI5LS43MjggMy40MjQtMS4zNy0uMjkxek02Ni44MjUgNi4xNTdsMS4zMzIuNDMyLTEuMDgyIDMuMzMtMS4zMzEtLjQzNHpNMzcuOTMxIDk1LjA4NWwxLjMzMi40MzItMS4wODIgMy4zMy0xLjMzMS0uNDMzek03MS41ODQgNy45MDZsMS4yOC41NjktMS40MjQgMy4xOTctMS4yOC0uNTd6TTMzLjU2IDkzLjMybDEuMjc4LjU2OS0xLjQyMyAzLjE5Ny0xLjI4LS41N3pNODAuNDQgMTIuODUybDEuMTMzLjgyMy0yLjA1OCAyLjgzMS0xLjEzMi0uODIzek0yNS40ODEgODguNDk0bDEuMTMzLjgyMi0yLjA1NyAyLjgzMi0xLjEzMy0uODIzek04NC40MyAxNS45ODZsMS4wNC45MzctMi4zNDIgMi42LTEuMDQtLjkzNnpNMjEuODcgODUuNDY5bDEuMDQuOTM2LTIuMzQxIDIuNjAxLTEuMDQtLjkzN3pNODguMDcyIDE5LjUyMmwuOTM3IDEuMDQtMi42IDIuMzQzLS45MzctMS4wNHpNMTguNTkzIDgyLjA4OGwuOTM3IDEuMDQtMi42MDEgMi4zNDItLjkzNy0xLjA0ek05MS4zMjggMjMuNDI1bC44MjMgMS4xMzMtMi44MzIgMi4wNTctLjgyMy0xLjEzMnpNMTUuNjg0IDc4LjM4NWwuODIzIDEuMTMyLTIuODMyIDIuMDU4LS44MjItMS4xMzN6TTk2LjUyIDMyLjEyOGwuNTcgMS4yNzktMy4xOTggMS40MjMtLjU3LTEuMjc4ek0xMS4xMDkgNzAuMTYxbC41NjkgMS4yNzktMy4xOTcgMS40MjMtLjU3LTEuMjc5ek05OC40MDcgMzYuODVsLjQzMyAxLjMzMi0zLjMzIDEuMDgxLS40MzItMS4zMzF6TTkuNDgzIDY1Ljc0bC40MzIgMS4zMy0zLjMyOSAxLjA4Mi0uNDMyLTEuMzMxek05OS43OTUgNDEuNzI2bC4yOTEgMS4zNy0zLjQyMy43MjctLjI5LTEuMzd6TTguMzQgNjEuMTdsLjI5MiAxLjM3LTMuNDI0LjcyOC0uMjktMS4zN3pNMTAwLjY2IDQ2LjczbC4xNDYgMS4zOTMtMy40OC4zNjYtLjE0Ny0xLjM5MnpNNy42NzQgNTYuNTA2bC4xNDYgMS4zOTItMy40OC4zNjYtLjE0Ny0xLjM5MnpNMTAwLjgxMSA1Ni44NzNsLS4xNDYgMS4zOTItMy40OC0uMzY1LjE0NS0xLjM5M3pNNy44MjEgNDcuMTAxbC0uMTQ2IDEuMzkyLTMuNDgtLjM2NS4xNDUtMS4zOTN6TTEwMC4wOSA2MS44OTVsLS4yOTEgMS4zNjktMy40MjQtLjcyOC4yOTEtMS4zNjl6TTguNjMxIDQyLjQ2bC0uMjkxIDEuMzctMy40MjMtLjcyOC4yOS0xLjM3ek05OC44NCA2Ni44MjdsLS40MzIgMS4zMzEtMy4zMjktMS4wODEuNDMzLTEuMzMyek05LjkxOCAzNy45M2wtLjQzMyAxLjMzMS0zLjMyOS0xLjA4Mi40MzMtMS4zMzF6TTk3LjA5OCA3MS41ODVsLS41NjkgMS4yOC0zLjE5Ny0xLjQyNC41Ny0xLjI4ek0xMS42NzcgMzMuNTU4bC0uNTcgMS4yOC0zLjE5Ny0xLjQyNC41Ny0xLjI3OXpNOTIuMTQ5IDgwLjQzOWwtLjgyMyAxLjEzMy0yLjgzMi0yLjA1OC44MjMtMS4xMzJ6TTE2LjUwNiAyNS40ODJsLS44MjMgMS4xMzMtMi44MzEtMi4wNTcuODIzLTEuMTMzek04OS4wMTcgODQuNDMxbC0uOTM3IDEuMDQtMi42LTIuMzQxLjkzNi0xLjA0ek0xOS41MjggMjEuODY5bC0uOTM2IDEuMDQtMi42MDEtMi4zNDIuOTM2LTEuMDR6TTg1LjQ4IDg4LjA3NmwtMS4wNDEuOTM2LTIuMzQyLTIuNiAxLjA0LS45Mzd6TTIyLjkxIDE4LjU5bC0xLjA0LjkzNy0yLjM0MS0yLjYwMSAxLjA0LS45Mzd6TTgxLjU3NCA5MS4zMjhsLTEuMTMzLjgyMy0yLjA1Ny0yLjgzMSAxLjEzMi0uODIzek0yNi42MTcgMTUuNjg0bC0xLjEzMy44MjMtMi4wNTctMi44MzIgMS4xMzItLjgyM3pNNzIuODczIDk2LjUyNGwtMS4yNzkuNTctMS40MjMtMy4xOTggMS4yNzgtLjU3ek0zNC44MzggMTEuMTA1bC0xLjI3OS41Ny0xLjQyMy0zLjE5OCAxLjI3OS0uNTd6TTY4LjE1MSA5OC40MDVsLTEuMzMxLjQzMi0xLjA4Mi0zLjMyOSAxLjMzMi0uNDMyek0zOS4yNTkgOS40ODVsLTEuMzMyLjQzMy0xLjA4MS0zLjMzIDEuMzMxLS40MzJ6TTYzLjI3MiA5OS43OTlsLTEuMzY5LjI5LS43MjgtMy40MjIgMS4zNy0uMjkxek00My44MyA4LjMzN2wtMS4zNjkuMjkxLS43MjctMy40MjMgMS4zNy0uMjkxek01OC4yNyAxMDAuNjYybC0xLjM5My4xNDYtLjM2Ni0zLjQ4IDEuMzkzLS4xNDd6TTQ4LjQ5NCA3LjY3MmwtMS4zOTIuMTQ3LS4zNjYtMy40ODEgMS4zOTItLjE0N3pcXFwiLz48L2c+PC9nPjwvc3ZnPlxcblwiIiwiZXhwb3J0IGRlZmF1bHQgXCI8c3ZnIGZvY3VzYWJsZT1cXFwiZmFsc2VcXFwiIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDEwNSAxMDVcXFwiPjxwYXRoIGlkPVxcXCJtb2RfY2xvY2tfc3ZnX2hvdXJzXFxcIiBkPVxcXCJNNTUuNyA2NC41aC02LjRsLjYtNDRoNS4yelxcXCIvPjwvc3ZnPlxcblwiIiwiZXhwb3J0IGRlZmF1bHQgXCI8c3ZnIGZvY3VzYWJsZT1cXFwiZmFsc2VcXFwiIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDEwNSAxMDVcXFwiPjxwYXRoIGQ9XFxcIk01NS4xLDY0LjVoLTUuMmwwLjgtNThoMy42TDU1LjEsNjQuNXpcXFwiLz48L3N2Zz5cXG5cIiIsImV4cG9ydCBkZWZhdWx0IFwiPHN2ZyBmb2N1c2FibGU9XFxcImZhbHNlXFxcIiB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHZpZXdCb3g9XFxcIjAgMCAxMDUgMTA1XFxcIj48cGF0aCBkPVxcXCJNNTcuOCwyMS4zYzAtMi45LTIuNC01LjItNS4yLTUuMnMtNS4zLDIuMy01LjMsNS4yYzAsMi43LDIsNC44LDQuNSw1LjJWNjloMS41VjI2LjVDNTUuOCwyNi4yLDU3LjgsMjQsNTcuOCwyMS4zelxcXCIvPjwvc3ZnPlxcblwiIiwiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIGlzU2VydmVyLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJUaW1lIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcblxuaW1wb3J0IGNsb2NrRmFjZVNWRyBmcm9tICcuL2Fzc2V0cy9zYmJfY2xvY2tfZmFjZS5zdmc/cmF3JztcbmltcG9ydCBjbG9ja0hhbmRsZUhvdXJzU1ZHIGZyb20gJy4vYXNzZXRzL3NiYl9jbG9ja19ob3Vycy5zdmc/cmF3JztcbmltcG9ydCBjbG9ja0hhbmRsZU1pbnV0ZXNTVkcgZnJvbSAnLi9hc3NldHMvc2JiX2Nsb2NrX21pbnV0ZXMuc3ZnP3Jhdyc7XG5pbXBvcnQgY2xvY2tIYW5kbGVTZWNvbmRzU1ZHIGZyb20gJy4vYXNzZXRzL3NiYl9jbG9ja19zZWNvbmRzLnN2Zz9yYXcnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vY2xvY2suc2Nzcz9saXQmaW5saW5lJztcblxuLyoqIE51bWJlciBvZiBob3VycyBvbiB0aGUgY2xvY2sgZmFjZS4gKi9cbmNvbnN0IFRPVEFMX0hPVVJTX09OX0NMT0NLX0ZBQ0UgPSAxMjtcblxuLyoqIE51bWJlciBvZiBtaW51dGVzIG9uIHRoZSBjbG9jayBmYWNlLiAqL1xuY29uc3QgVE9UQUxfTUlOVVRFU19PTl9DTE9DS19GQUNFID0gNjA7XG5cbi8qKiBOdW1iZXIgb2Ygc2Vjb25kcyBvbiB0aGUgY2xvY2sgZmFjZS4gKi9cbmNvbnN0IFRPVEFMX1NFQ09ORFNfT05fQ0xPQ0tfRkFDRSA9IDYwO1xuXG4vKiogVGltZW91dCBmb3IgdGhlIGNsb2NrIHN0YXJ0LiAqL1xuY29uc3QgSU5JVElBTF9USU1FT1VUX0RVUkFUSU9OID0gNTA7XG5cbi8qKiBBbmdsZSBpbiBhIHNpbmdsZSByb3RhdGlvbi4gKi9cbmNvbnN0IEZVTExfQU5HTEUgPSAzNjA7XG5cbi8qKiBBbmdsZSBiZXR3ZWVuIHR3byBjb25zZWN1dGl2ZSBob3VyczogMzYwLzEyLCBtZWFucyBhIGZ1bGwgcm90YXRpb24gLyBudW1iZXIgb2YgaG91cnMgaW4gYSByb3RhdGlvbi4gKi9cbmNvbnN0IEhPVVJTX0FOR0xFID0gMzA7XG5cbi8qKiBBbmdsZSBiZXR3ZWVuIHR3byBjb25zZWN1dGl2ZSBtaW51dGVzOiAzNjAvNjAsIG1lYW5zIGEgZnVsbCByb3RhdGlvbiAvIG51bWJlciBvZiBtaW51dGVzIGluIG9uZSBob3VyLiAqL1xuY29uc3QgTUlOVVRFU19BTkdMRSA9IDY7XG5cbi8qKiBBbmdsZSBiZXR3ZWVuIHR3byBjb25zZWN1dGl2ZSBzZWNvbmRzIGZvciBTQkIgY2xvY2sgY3VzdG9tIGJlaGF2aW9yLiAqL1xuY29uc3QgU0JCX1NFQ09ORFNfQU5HTEUgPSAzNjAgLyA1OC41O1xuXG4vKiogTnVtYmVyIG9mIHNlY29uZHMgaW4gYSBtaW51dGUuICovXG5jb25zdCBTRUNPTkRTX0lOX0FfTUlOVVRFID0gNjA7XG5cbi8qKiBOdW1iZXIgb2Ygc2Vjb25kcyBpbiBhbiBob3VyLiAqL1xuY29uc3QgU0VDT05EU19JTl9BTl9IT1VSID0gMzYwMDtcblxuLyoqIEFzIGEgZmFsbGJhY2sgbWVhc3VyZSwgcmVzZXQgdGhlIGNsb2NrIGV2ZXJ5IGhhbGYgYW4gaG91ciAqL1xuY29uc3QgUkVTRVRfSU5URVJWQUwgPSBTRUNPTkRTX0lOX0FOX0hPVVIgLyAyO1xuXG5jb25zdCBBRERfRVZFTlRfTElTVEVORVJfT1BUSU9OUzogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7XG4gIG9uY2U6IHRydWUsXG4gIHBhc3NpdmU6IHRydWUsXG59O1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGFuYWxvZyBjbG9jayB3aXRoIHRoZSBjbGFzc2ljIFNCQiBmYWNlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY2xvY2snKVxuY2xhc3MgU2JiQ2xvY2tFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgYSBzcGVjaWZpYyB0aW1lIHdoaWNoIHRoZSBjbG9jayBzaG91bGQgc2hvdyBzdGF0aWNhbGx5LlxuICAgKiBAcGFyYW0gdmFsdWUgSEg6TU06c3NcbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhY2Nlc3NvciBub3c6IFNiYlRpbWUgfCBudWxsID0gbnVsbDtcblxuICAvKiogV2hldGhlciB0aGUgY2xvY2sgaXMgdGlja2luZyBvciBub3QgKi9cbiAgcHJpdmF0ZSBfc3RhdGU6ICdydW5uaW5nJyB8ICdwYXVzZWQnID0gJ3BhdXNlZCc7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgaG91ciBoYW5kLiAqL1xuICBwcml2YXRlIF9jbG9ja0hhbmRIb3VycyE6IEhUTUxFbGVtZW50O1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIG1pbnV0ZSBoYW5kLiAqL1xuICBwcml2YXRlIF9jbG9ja0hhbmRNaW51dGVzITogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgc2Vjb25kIGhhbmQuICovXG4gIHByaXZhdGUgX2Nsb2NrSGFuZFNlY29uZHMhOiBIVE1MRWxlbWVudDtcblxuICAvKiogSG91cnMgdmFsdWUgZm9yIHRoZSBjdXJyZW50IGRhdGUuICovXG4gIHByaXZhdGUgX2hvdXJzITogbnVtYmVyO1xuXG4gIC8qKiBNaW51dGVzIHZhbHVlIGZvciB0aGUgY3VycmVudCBkYXRlLiAqL1xuICBwcml2YXRlIF9taW51dGVzITogbnVtYmVyO1xuXG4gIC8qKiBTZWNvbmRzIHZhbHVlIGZvciB0aGUgY3VycmVudCBkYXRlLiAqL1xuICBwcml2YXRlIF9zZWNvbmRzITogbnVtYmVyO1xuXG4gIC8qKiBNb3ZlIHRoZSBtaW51dGVzIGhhbmQgZXZlcnkgbWludXRlLiAqL1xuICBwcml2YXRlIF9oYW5kTW92ZW1lbnQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG5cbiAgcHJpdmF0ZSBfcmVzZXRJbnRlcnZhbElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuXG4gIC8qKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgaG91cnMgaGFuZC4gKi9cbiAgcHJpdmF0ZSBfbW92ZUhvdXJzSGFuZEZuID0gKCk6IHZvaWQgPT4gdGhpcy5fbW92ZUhvdXJzSGFuZCgpO1xuXG4gIC8qKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgbWludXRlcyBoYW5kLiAqL1xuICBwcml2YXRlIF9tb3ZlTWludXRlc0hhbmRGbiA9ICgpOiB2b2lkID0+IHRoaXMuX21vdmVNaW51dGVzSGFuZCgpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgdGhpcy5fcmVzZXRJbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4gdGhpcy5fcmVzZXRDbG9jaygpLCBSRVNFVF9JTlRFUlZBTCAqIDEwMDApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoIWlzU2VydmVyICYmIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbm93JykpIHtcbiAgICAgIHRoaXMuX3N0YXJ0T3JDb25maWd1cmVDbG9jaygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCB0aGlzLl9oYW5kbGVQYWdlVmlzaWJpbGl0eUNoYW5nZSwgZmFsc2UpO1xuICAgICAgdGhpcy5fc3RhcnRPckNvbmZpZ3VyZUNsb2NrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fcmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICBjbGVhckludGVydmFsKHRoaXMuX3Jlc2V0SW50ZXJ2YWxJZCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVQYWdlVmlzaWJpbGl0eUNoYW5nZSA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBpZiAodGhpcy5ub3cpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlID09PSAnaGlkZGVuJykge1xuICAgICAgYXdhaXQgdGhpcy5fc3RvcENsb2NrKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHRoaXMuX3N0YXJ0Q2xvY2soKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBhc3luYyBfc3RhcnRPckNvbmZpZ3VyZUNsb2NrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLm5vdykge1xuICAgICAgYXdhaXQgdGhpcy5fc3RvcENsb2NrKCk7XG4gICAgICB0aGlzLl9yZXNldFNlY29uZHNIYW5kQW5pbWF0aW9uKCk7XG4gICAgICB0aGlzLl9zZXRIYW5kc1N0YXJ0aW5nUG9zaXRpb24oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy5fc3RhcnRDbG9jaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBTdGFydHMgdGhlIGNsb2NrIGJ5IGRlZmluaW5nIHRoZSBoYW5kcyBzdGFydGluZyBwb3NpdGlvbiB0aGVuIHN0YXJ0aW5nIHRoZSBhbmltYXRpb25zLiAqL1xuICBwcml2YXRlIGFzeW5jIF9zdGFydENsb2NrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX2Nsb2NrSGFuZEhvdXJzPy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2FuaW1hdGlvbmVuZCcsXG4gICAgICB0aGlzLl9tb3ZlSG91cnNIYW5kRm4sXG4gICAgICBBRERfRVZFTlRfTElTVEVORVJfT1BUSU9OUyxcbiAgICApO1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHM/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnYW5pbWF0aW9uZW5kJyxcbiAgICAgIHRoaXMuX21vdmVNaW51dGVzSGFuZEZuLFxuICAgICAgQUREX0VWRU5UX0xJU1RFTkVSX09QVElPTlMsXG4gICAgKTtcblxuICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3NldEhhbmRzU3RhcnRpbmdQb3NpdGlvbigpO1xuXG4gICAgICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1jbG9jay1hbmltYXRpb24tcGxheS1zdGF0ZScsICdydW5uaW5nJyk7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gJ3J1bm5pbmcnO1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9LCBJTklUSUFMX1RJTUVPVVRfRFVSQVRJT04pLFxuICAgICk7XG4gIH1cblxuICAvKiogU3RvcHMgdGhlIGNsb2NrIGJ5IHJlbW92aW5nIGFsbCB0aGUgYW5pbWF0aW9ucy4gKi9cbiAgcHJpdmF0ZSBhc3luYyBfc3RvcENsb2NrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5faGFuZE1vdmVtZW50KTtcblxuICAgIHRoaXMuX3JlbW92ZVNlY29uZHNBbmltYXRpb25TdHlsZXMoKTtcbiAgICB0aGlzLl9yZW1vdmVIb3Vyc0FuaW1hdGlvblN0eWxlcygpO1xuXG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHRoaXMuX21vdmVIb3Vyc0hhbmRGbik7XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignYW5pbWF0aW9uZW5kJywgdGhpcy5fbW92ZU1pbnV0ZXNIYW5kRm4pO1xuXG4gICAgdGhpcy5fY2xvY2tIYW5kTWludXRlcz8uY2xhc3NMaXN0LmFkZCgnc2JiLWNsb2NrX19oYW5kLW1pbnV0ZXMtLW5vLXRyYW5zaXRpb24nKTtcblxuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1jbG9jay1hbmltYXRpb24tcGxheS1zdGF0ZScsICdwYXVzZWQnKTtcbiAgICB0aGlzLl9zdGF0ZSA9ICdwYXVzZWQnO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzIGEgZmFsbGJhY2sgbWVhc3VyZSB0byBwcmV2ZW50IGRlLXN5bmMsIHJlc2V0IHRoZSBjbG9jayB0byB0aGUgc3lzdGVtIHRpbWUuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIF9yZXNldENsb2NrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ3J1bm5pbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuX3N0b3BDbG9jaygpO1xuICAgIGF3YWl0IHRoaXMuX3N0YXJ0Q2xvY2soKTtcbiAgfVxuXG4gIC8qKiBTZXQgdGhlIHN0YXJ0aW5nIHBvc2l0aW9uIGZvciB0aGUgdGhyZWUgaGFuZHMgb24gdGhlIGNsb2NrIGZhY2UuICovXG4gIHByaXZhdGUgX3NldEhhbmRzU3RhcnRpbmdQb3NpdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9hc3NpZ25DdXJyZW50VGltZSgpO1xuICAgIGNvbnN0IHJlbWFpbmluZ1NlY29uZHMgPSBUT1RBTF9TRUNPTkRTX09OX0NMT0NLX0ZBQ0UgLSB0aGlzLl9zZWNvbmRzO1xuICAgIGNvbnN0IHJlbWFpbmluZ01pbnV0ZXMgPSBUT1RBTF9NSU5VVEVTX09OX0NMT0NLX0ZBQ0UgLSB0aGlzLl9taW51dGVzO1xuICAgIGNvbnN0IHJlbWFpbmluZ0hvdXJzID0gVE9UQUxfSE9VUlNfT05fQ0xPQ0tfRkFDRSAtIHRoaXMuX2hvdXJzO1xuXG4gICAgbGV0IGhvdXJzQW5pbWF0aW9uRHVyYXRpb24gPSAwO1xuICAgIGxldCBoYXNSZW1haW5pbmdNaW51dGVzT3JTZWNvbmRzID0gMDtcblxuICAgIGlmIChyZW1haW5pbmdTZWNvbmRzID4gMCkge1xuICAgICAgaG91cnNBbmltYXRpb25EdXJhdGlvbiArPSByZW1haW5pbmdTZWNvbmRzO1xuICAgICAgaGFzUmVtYWluaW5nTWludXRlc09yU2Vjb25kcyA9IDE7XG4gICAgfVxuXG4gICAgaWYgKHJlbWFpbmluZ01pbnV0ZXMgPiAwKSB7XG4gICAgICBob3Vyc0FuaW1hdGlvbkR1cmF0aW9uICs9XG4gICAgICAgIChyZW1haW5pbmdNaW51dGVzIC0gaGFzUmVtYWluaW5nTWludXRlc09yU2Vjb25kcykgKiBTRUNPTkRTX0lOX0FfTUlOVVRFO1xuICAgICAgaGFzUmVtYWluaW5nTWludXRlc09yU2Vjb25kcyA9IDE7XG4gICAgfVxuXG4gICAgaWYgKHJlbWFpbmluZ0hvdXJzID4gMCkge1xuICAgICAgaG91cnNBbmltYXRpb25EdXJhdGlvbiArPVxuICAgICAgICAocmVtYWluaW5nSG91cnMgLSBoYXNSZW1haW5pbmdNaW51dGVzT3JTZWNvbmRzKSAqIFNFQ09ORFNfSU5fQU5fSE9VUjtcbiAgICB9XG5cbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eShcbiAgICAgICctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tc3RhcnQtYW5nbGUnLFxuICAgICAgYCR7TWF0aC5jZWlsKHRoaXMuX2hvdXJzICogSE9VUlNfQU5HTEUgKyB0aGlzLl9taW51dGVzIC8gMil9ZGVnYCxcbiAgICApO1xuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tZHVyYXRpb24nLCBgJHtob3Vyc0FuaW1hdGlvbkR1cmF0aW9ufXNgKTtcbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eShcbiAgICAgICctLXNiYi1jbG9jay1zZWNvbmRzLWFuaW1hdGlvbi1zdGFydC1hbmdsZScsXG4gICAgICBgJHtNYXRoLmNlaWwodGhpcy5fc2Vjb25kcyAqIFNCQl9TRUNPTkRTX0FOR0xFKX1kZWdgLFxuICAgICk7XG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLWNsb2NrLXNlY29uZHMtYW5pbWF0aW9uLWR1cmF0aW9uJywgYCR7cmVtYWluaW5nU2Vjb25kc31zYCk7XG5cbiAgICB0aGlzLl9zZXRNaW51dGVzSGFuZCgpO1xuXG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8uY2xhc3NMaXN0LmFkZCgnc2JiLWNsb2NrX19oYW5kLXNlY29uZHMtLWluaXRpYWwtbWludXRlJyk7XG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LmNsYXNzTGlzdC5hZGQoJ3NiYi1jbG9ja19faGFuZC1ob3Vycy0taW5pdGlhbC1ob3VyJyk7XG5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1pbml0aWFsaXplZCcsIHRydWUpO1xuICB9XG5cbiAgLyoqIEdpdmVuIHRoZSBjdXJyZW50IGRhdGUsIGNhbGN1bGF0ZXMgdGhlIGhoL21tL3NzIHZhbHVlcyBhbmQgdGhlIGhoL21tL3NzIGxlZnQgdG8gdGhlIG5leHQgbWlkbmlnaHQuICovXG4gIHByaXZhdGUgX2Fzc2lnbkN1cnJlbnRUaW1lKCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGUgPSB0aGlzLm5vdyA/IG51bGwgOiBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IFtob3VycywgbWludXRlcywgc2Vjb25kc10gPSBkYXRlXG4gICAgICA/IFtkYXRlLmdldEhvdXJzKCksIGRhdGUuZ2V0TWludXRlcygpLCBkYXRlLmdldFNlY29uZHMoKV1cbiAgICAgIDogdGhpcy5ub3chLnNwbGl0KCc6JykubWFwKChwKSA9PiArcCk7XG5cbiAgICB0aGlzLl9ob3VycyA9IGhvdXJzICUgMTI7XG4gICAgdGhpcy5fbWludXRlcyA9IG1pbnV0ZXM7XG4gICAgdGhpcy5fc2Vjb25kcyA9IHNlY29uZHM7XG4gIH1cblxuICAvKiogU2V0IHRoZSBzdGFydGluZyBwb3NpdGlvbiBmb3IgdGhlIG1pbnV0ZXMgaGFuZC4gKi9cbiAgcHJpdmF0ZSBfc2V0TWludXRlc0hhbmQoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvY2tIYW5kTWludXRlcz8uc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAndHJhbnNmb3JtJyxcbiAgICAgIGByb3RhdGVaKCR7TWF0aC5jZWlsKHRoaXMuX21pbnV0ZXMgKiBNSU5VVEVTX0FOR0xFKX1kZWcpYCxcbiAgICApO1xuICB9XG5cbiAgLyoqIE1vdmUgdGhlIGhvdXJzIGhhbmQgdG8gdGhlIG5leHQgdmFsdWUuICovXG4gIHByaXZhdGUgX21vdmVIb3Vyc0hhbmQoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVtb3ZlSG91cnNBbmltYXRpb25TdHlsZXMoKTtcblxuICAgIGxldCBob3Vyc0FuZ2xlID0gTWF0aC5jZWlsKHRoaXMuX2hvdXJzICogSE9VUlNfQU5HTEUgKyB0aGlzLl9taW51dGVzIC8gMik7XG5cbiAgICBpZiAoaG91cnNBbmdsZSA+PSBGVUxMX0FOR0xFKSB7XG4gICAgICBob3Vyc0FuZ2xlIC09IEZVTExfQU5HTEU7XG4gICAgfVxuXG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LnN0eWxlLnNldFByb3BlcnR5KCd0cmFuc2Zvcm0nLCBgcm90YXRlWigke2hvdXJzQW5nbGV9ZGVnKWApO1xuICB9XG5cbiAgLyoqIE1vdmUgdGhlIG1pbnV0ZXMgaGFuZCB0byB0aGUgbmV4dCB2YWx1ZS4gKi9cbiAgcHJpdmF0ZSBfbW92ZU1pbnV0ZXNIYW5kKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHRoaXMuX21vdmVNaW51dGVzSGFuZEZuKTtcblxuICAgIHRoaXMuX3JlbW92ZVNlY29uZHNBbmltYXRpb25TdHlsZXMoKTtcblxuICAgIHRoaXMuX2FkZE1pbnV0ZXNBbmRTZXRIYW5kcygpO1xuXG4gICAgdGhpcy5faGFuZE1vdmVtZW50ID0gc2V0SW50ZXJ2YWwoXG4gICAgICAoKSA9PiB0aGlzLl9hZGRNaW51dGVzQW5kU2V0SGFuZHMoKSxcbiAgICAgIFRPVEFMX1NFQ09ORFNfT05fQ0xPQ0tfRkFDRSAqIDEwMDAsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZE1pbnV0ZXNBbmRTZXRIYW5kcygpOiB2b2lkIHtcbiAgICB0aGlzLl9taW51dGVzKys7XG4gICAgdGhpcy5fc2V0TWludXRlc0hhbmQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmluZyBhbmltYXRpb24gYnkgb3ZlcnJpZGluZyB3aXRoIGVtcHR5IHN0cmluZyxcbiAgICogdGhlbiB0cmlnZ2VyaW5nIGEgcmVmbG93IGFuZCByZSBhZGQgb3JpZ2luYWwgYW5pbWF0aW9uIGJ5IHJlbW92aW5nIG92ZXJyaWRlLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfcmVzZXRTZWNvbmRzSGFuZEFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2Nsb2NrSGFuZFNlY29uZHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcy5zdHlsZS5hbmltYXRpb24gPSAnJztcbiAgICAvLyBIYWNrIHRvIHRyaWdnZXIgcmVmbG93XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtZXhwcmVzc2lvbnNcbiAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzLm9mZnNldEhlaWdodDtcbiAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCdhbmltYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZUV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgdGhpcy5faGFuZGxlUGFnZVZpc2liaWxpdHlDaGFuZ2UpO1xuICAgIHRoaXMuX2Nsb2NrSGFuZEhvdXJzPy5yZW1vdmVFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCB0aGlzLl9tb3ZlSG91cnNIYW5kRm4pO1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHRoaXMuX21vdmVNaW51dGVzSGFuZEZuKTtcbiAgICBjbGVhckludGVydmFsKHRoaXMuX2hhbmRNb3ZlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIF9yZW1vdmVIb3Vyc0FuaW1hdGlvblN0eWxlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9ja0hhbmRIb3Vycz8uY2xhc3NMaXN0LnJlbW92ZSgnc2JiLWNsb2NrX19oYW5kLWhvdXJzLS1pbml0aWFsLWhvdXInKTtcbiAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tc3RhcnQtYW5nbGUnKTtcbiAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZVNlY29uZHNBbmltYXRpb25TdHlsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8uY2xhc3NMaXN0LnJlbW92ZSgnc2JiLWNsb2NrX19oYW5kLXNlY29uZHMtLWluaXRpYWwtbWludXRlJyk7XG4gICAgdGhpcy5fY2xvY2tIYW5kTWludXRlcz8uY2xhc3NMaXN0LnJlbW92ZSgnc2JiLWNsb2NrX19oYW5kLW1pbnV0ZXMtLW5vLXRyYW5zaXRpb24nKTtcbiAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1jbG9jay1zZWNvbmRzLWFuaW1hdGlvbi1zdGFydC1hbmdsZScpO1xuICAgIHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLWNsb2NrLXNlY29uZHMtYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItY2xvY2tcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2xvY2tfX2ZhY2VcIiAuaW5uZXJIVE1MPSR7Y2xvY2tGYWNlU1ZHfT48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJzYmItY2xvY2tfX2hhbmQtaG91cnNcIlxuICAgICAgICAgIC5pbm5lckhUTUw9JHtjbG9ja0hhbmRsZUhvdXJzU1ZHfVxuICAgICAgICAgICR7cmVmKChlPzogRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2xvY2tIYW5kSG91cnMgPSBlIGFzIEhUTUxTcGFuRWxlbWVudDtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInNiYi1jbG9ja19faGFuZC1taW51dGVzIHNiYi1jbG9ja19faGFuZC1taW51dGVzLS1uby10cmFuc2l0aW9uXCJcbiAgICAgICAgICAuaW5uZXJIVE1MPSR7Y2xvY2tIYW5kbGVNaW51dGVzU1ZHfVxuICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb2NrSGFuZE1pbnV0ZXMgPSBlbCBhcyBIVE1MU3BhbkVsZW1lbnQ7XG4gICAgICAgICAgfSl9XG4gICAgICAgID48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJzYmItY2xvY2tfX2hhbmQtc2Vjb25kc1wiXG4gICAgICAgICAgLmlubmVySFRNTD0ke2Nsb2NrSGFuZGxlU2Vjb25kc1NWR31cbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzID0gZWwgYXMgSFRNTFNwYW5FbGVtZW50O1xuICAgICAgICAgIH0pfVxuICAgICAgICA+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNsb2NrJzogU2JiQ2xvY2tFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxNQUFBLGVBQWU7QUNBZixNQUFBLHNCQUFl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
388
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvY2suY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY2xvY2svYXNzZXRzL3NiYl9jbG9ja19mYWNlLnN2Zz9yYXciLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY2xvY2svYXNzZXRzL3NiYl9jbG9ja19ob3Vycy5zdmc/cmF3IiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nsb2NrL2Fzc2V0cy9zYmJfY2xvY2tfbWludXRlcy5zdmc/cmF3IiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nsb2NrL2Fzc2V0cy9zYmJfY2xvY2tfc2Vjb25kcy5zdmc/cmF3IiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nsb2NrL2Nsb2NrLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcIjxzdmcgZm9jdXNhYmxlPVxcXCJmYWxzZVxcXCIgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB2aWV3Qm94PVxcXCIwIDAgMTA1IDEwNVxcXCI+PGcgY2xhc3M9XFxcImZhY2VcXFwiPjxjaXJjbGUgZmlsbD1cXFwidmFyKC0tc2JiLWNsb2NrLWJhY2tncm91bmQtY29sb3IpXFxcIiBjeD1cXFwiNTIuNVxcXCIgY3k9XFxcIjUyLjVcXFwiIHI9XFxcIjUyLjVcXFwiLz48cGF0aCBkPVxcXCJNNTAuNzUgNGgzLjV2MTJoLTMuNXpNNTAuNzUgODloMy41djEyaC0zLjV6TTc1LjIzMyA5LjYyM2wzLjAzIDEuNzUtNiAxMC4zOTItMy4wMy0xLjc1ek0zMi43MzQgODMuMjMzbDMuMDMgMS43NS02IDEwLjM5Mi0zLjAzLTEuNzV6TTkzLjYyOCAyNi43MzJsMS43NSAzLjAzMS0xMC4zOTIgNi0xLjc1LTMuMDN6TTIwLjAxNyA2OS4yMzRsMS43NSAzLjAzMS0xMC4zOTIgNi0xLjc1LTMuMDN6TTEwMSA1MC43NXYzLjVIODl2LTMuNXpNMTYgNTAuNzV2My41SDR2LTMuNXpNOTUuMzc5IDc1LjIzMmwtMS43NSAzLjAzMS0xMC4zOTItNiAxLjc1LTMuMDN6TTIxLjc2NiAzMi43MzRsLTEuNzUgMy4wMzEtMTAuMzkyLTYgMS43NS0zLjAzek03OC4yNjcgOTMuNjNsLTMuMDMgMS43NS02LTEwLjM5MyAzLjAzLTEuNzV6TTM1Ljc2NiAyMC4wMTVsLTMuMDMgMS43NS02LTEwLjM5MiAzLjAzLTEuNzV6XFxcIi8+PGc+PHBhdGggZD1cXFwiTTU2Ljg3MyA0LjE5bDEuMzkyLjE0Ny0uMzY2IDMuNDgtMS4zOTItLjE0NXpNNDcuMTAxIDk3LjE3N2wxLjM5My4xNDYtLjM2NiAzLjQ4MS0xLjM5Mi0uMTQ2ek02MS44OTYgNC45MTRsMS4zNy4yOS0uNzI4IDMuNDI0LTEuMzctLjI5ek00Mi40NTggOTYuMzY2bDEuMzcuMjktLjcyOCAzLjQyNC0xLjM3LS4yOTF6TTY2LjgyNSA2LjE1N2wxLjMzMi40MzItMS4wODIgMy4zMy0xLjMzMS0uNDM0ek0zNy45MzEgOTUuMDg1bDEuMzMyLjQzMi0xLjA4MiAzLjMzLTEuMzMxLS40MzN6TTcxLjU4NCA3LjkwNmwxLjI4LjU2OS0xLjQyNCAzLjE5Ny0xLjI4LS41N3pNMzMuNTYgOTMuMzJsMS4yNzguNTY5LTEuNDIzIDMuMTk3LTEuMjgtLjU3ek04MC40NCAxMi44NTJsMS4xMzMuODIzLTIuMDU4IDIuODMxLTEuMTMyLS44MjN6TTI1LjQ4MSA4OC40OTRsMS4xMzMuODIyLTIuMDU3IDIuODMyLTEuMTMzLS44MjN6TTg0LjQzIDE1Ljk4NmwxLjA0LjkzNy0yLjM0MiAyLjYtMS4wNC0uOTM2ek0yMS44NyA4NS40NjlsMS4wNC45MzYtMi4zNDEgMi42MDEtMS4wNC0uOTM3ek04OC4wNzIgMTkuNTIybC45MzcgMS4wNC0yLjYgMi4zNDMtLjkzNy0xLjA0ek0xOC41OTMgODIuMDg4bC45MzcgMS4wNC0yLjYwMSAyLjM0Mi0uOTM3LTEuMDR6TTkxLjMyOCAyMy40MjVsLjgyMyAxLjEzMy0yLjgzMiAyLjA1Ny0uODIzLTEuMTMyek0xNS42ODQgNzguMzg1bC44MjMgMS4xMzItMi44MzIgMi4wNTgtLjgyMi0xLjEzM3pNOTYuNTIgMzIuMTI4bC41NyAxLjI3OS0zLjE5OCAxLjQyMy0uNTctMS4yNzh6TTExLjEwOSA3MC4xNjFsLjU2OSAxLjI3OS0zLjE5NyAxLjQyMy0uNTctMS4yNzl6TTk4LjQwNyAzNi44NWwuNDMzIDEuMzMyLTMuMzMgMS4wODEtLjQzMi0xLjMzMXpNOS40ODMgNjUuNzRsLjQzMiAxLjMzLTMuMzI5IDEuMDgyLS40MzItMS4zMzF6TTk5Ljc5NSA0MS43MjZsLjI5MSAxLjM3LTMuNDIzLjcyNy0uMjktMS4zN3pNOC4zNCA2MS4xN2wuMjkyIDEuMzctMy40MjQuNzI4LS4yOS0xLjM3ek0xMDAuNjYgNDYuNzNsLjE0NiAxLjM5My0zLjQ4LjM2Ni0uMTQ3LTEuMzkyek03LjY3NCA1Ni41MDZsLjE0NiAxLjM5Mi0zLjQ4LjM2Ni0uMTQ3LTEuMzkyek0xMDAuODExIDU2Ljg3M2wtLjE0NiAxLjM5Mi0zLjQ4LS4zNjUuMTQ1LTEuMzkzek03LjgyMSA0Ny4xMDFsLS4xNDYgMS4zOTItMy40OC0uMzY1LjE0NS0xLjM5M3pNMTAwLjA5IDYxLjg5NWwtLjI5MSAxLjM2OS0zLjQyNC0uNzI4LjI5MS0xLjM2OXpNOC42MzEgNDIuNDZsLS4yOTEgMS4zNy0zLjQyMy0uNzI4LjI5LTEuMzd6TTk4Ljg0IDY2LjgyN2wtLjQzMiAxLjMzMS0zLjMyOS0xLjA4MS40MzMtMS4zMzJ6TTkuOTE4IDM3LjkzbC0uNDMzIDEuMzMxLTMuMzI5LTEuMDgyLjQzMy0xLjMzMXpNOTcuMDk4IDcxLjU4NWwtLjU2OSAxLjI4LTMuMTk3LTEuNDI0LjU3LTEuMjh6TTExLjY3NyAzMy41NThsLS41NyAxLjI4LTMuMTk3LTEuNDI0LjU3LTEuMjc5ek05Mi4xNDkgODAuNDM5bC0uODIzIDEuMTMzLTIuODMyLTIuMDU4LjgyMy0xLjEzMnpNMTYuNTA2IDI1LjQ4MmwtLjgyMyAxLjEzMy0yLjgzMS0yLjA1Ny44MjMtMS4xMzN6TTg5LjAxNyA4NC40MzFsLS45MzcgMS4wNC0yLjYtMi4zNDEuOTM2LTEuMDR6TTE5LjUyOCAyMS44NjlsLS45MzYgMS4wNC0yLjYwMS0yLjM0Mi45MzYtMS4wNHpNODUuNDggODguMDc2bC0xLjA0MS45MzYtMi4zNDItMi42IDEuMDQtLjkzN3pNMjIuOTEgMTguNTlsLTEuMDQuOTM3LTIuMzQxLTIuNjAxIDEuMDQtLjkzN3pNODEuNTc0IDkxLjMyOGwtMS4xMzMuODIzLTIuMDU3LTIuODMxIDEuMTMyLS44MjN6TTI2LjYxNyAxNS42ODRsLTEuMTMzLjgyMy0yLjA1Ny0yLjgzMiAxLjEzMi0uODIzek03Mi44NzMgOTYuNTI0bC0xLjI3OS41Ny0xLjQyMy0zLjE5OCAxLjI3OC0uNTd6TTM0LjgzOCAxMS4xMDVsLTEuMjc5LjU3LTEuNDIzLTMuMTk4IDEuMjc5LS41N3pNNjguMTUxIDk4LjQwNWwtMS4zMzEuNDMyLTEuMDgyLTMuMzI5IDEuMzMyLS40MzJ6TTM5LjI1OSA5LjQ4NWwtMS4zMzIuNDMzLTEuMDgxLTMuMzMgMS4zMzEtLjQzMnpNNjMuMjcyIDk5Ljc5OWwtMS4zNjkuMjktLjcyOC0zLjQyMiAxLjM3LS4yOTF6TTQzLjgzIDguMzM3bC0xLjM2OS4yOTEtLjcyNy0zLjQyMyAxLjM3LS4yOTF6TTU4LjI3IDEwMC42NjJsLTEuMzkzLjE0Ni0uMzY2LTMuNDggMS4zOTMtLjE0N3pNNDguNDk0IDcuNjcybC0xLjM5Mi4xNDctLjM2Ni0zLjQ4MSAxLjM5Mi0uMTQ3elxcXCIvPjwvZz48L2c+PC9zdmc+XFxuXCIiLCJleHBvcnQgZGVmYXVsdCBcIjxzdmcgZm9jdXNhYmxlPVxcXCJmYWxzZVxcXCIgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB2aWV3Qm94PVxcXCIwIDAgMTA1IDEwNVxcXCI+PHBhdGggaWQ9XFxcIm1vZF9jbG9ja19zdmdfaG91cnNcXFwiIGQ9XFxcIk01NS43IDY0LjVoLTYuNGwuNi00NGg1LjJ6XFxcIi8+PC9zdmc+XFxuXCIiLCJleHBvcnQgZGVmYXVsdCBcIjxzdmcgZm9jdXNhYmxlPVxcXCJmYWxzZVxcXCIgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB2aWV3Qm94PVxcXCIwIDAgMTA1IDEwNVxcXCI+PHBhdGggZD1cXFwiTTU1LjEsNjQuNWgtNS4ybDAuOC01OGgzLjZMNTUuMSw2NC41elxcXCIvPjwvc3ZnPlxcblwiIiwiZXhwb3J0IGRlZmF1bHQgXCI8c3ZnIGZvY3VzYWJsZT1cXFwiZmFsc2VcXFwiIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDEwNSAxMDVcXFwiPjxwYXRoIGQ9XFxcIk01Ny44LDIxLjNjMC0yLjktMi40LTUuMi01LjItNS4ycy01LjMsMi4zLTUuMyw1LjJjMCwyLjcsMiw0LjgsNC41LDUuMlY2OWgxLjVWMjYuNUM1NS44LDI2LjIsNTcuOCwyNCw1Ny44LDIxLjN6XFxcIi8+PC9zdmc+XFxuXCIiLCJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgaXNTZXJ2ZXIsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYlRpbWUgfSBmcm9tICcuLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuXG5pbXBvcnQgY2xvY2tGYWNlU1ZHIGZyb20gJy4vYXNzZXRzL3NiYl9jbG9ja19mYWNlLnN2Zz9yYXcnO1xuaW1wb3J0IGNsb2NrSGFuZGxlSG91cnNTVkcgZnJvbSAnLi9hc3NldHMvc2JiX2Nsb2NrX2hvdXJzLnN2Zz9yYXcnO1xuaW1wb3J0IGNsb2NrSGFuZGxlTWludXRlc1NWRyBmcm9tICcuL2Fzc2V0cy9zYmJfY2xvY2tfbWludXRlcy5zdmc/cmF3JztcbmltcG9ydCBjbG9ja0hhbmRsZVNlY29uZHNTVkcgZnJvbSAnLi9hc3NldHMvc2JiX2Nsb2NrX3NlY29uZHMuc3ZnP3Jhdyc7XG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9jbG9jay5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKiogTnVtYmVyIG9mIGhvdXJzIG9uIHRoZSBjbG9jayBmYWNlLiAqL1xuY29uc3QgVE9UQUxfSE9VUlNfT05fQ0xPQ0tfRkFDRSA9IDEyO1xuXG4vKiogTnVtYmVyIG9mIG1pbnV0ZXMgb24gdGhlIGNsb2NrIGZhY2UuICovXG5jb25zdCBUT1RBTF9NSU5VVEVTX09OX0NMT0NLX0ZBQ0UgPSA2MDtcblxuLyoqIE51bWJlciBvZiBzZWNvbmRzIG9uIHRoZSBjbG9jayBmYWNlLiAqL1xuY29uc3QgVE9UQUxfU0VDT05EU19PTl9DTE9DS19GQUNFID0gNjA7XG5cbi8qKiBUaW1lb3V0IGZvciB0aGUgY2xvY2sgc3RhcnQuICovXG5jb25zdCBJTklUSUFMX1RJTUVPVVRfRFVSQVRJT04gPSA1MDtcblxuLyoqIEFuZ2xlIGluIGEgc2luZ2xlIHJvdGF0aW9uLiAqL1xuY29uc3QgRlVMTF9BTkdMRSA9IDM2MDtcblxuLyoqIEFuZ2xlIGJldHdlZW4gdHdvIGNvbnNlY3V0aXZlIGhvdXJzOiAzNjAvMTIsIG1lYW5zIGEgZnVsbCByb3RhdGlvbiAvIG51bWJlciBvZiBob3VycyBpbiBhIHJvdGF0aW9uLiAqL1xuY29uc3QgSE9VUlNfQU5HTEUgPSAzMDtcblxuLyoqIEFuZ2xlIGJldHdlZW4gdHdvIGNvbnNlY3V0aXZlIG1pbnV0ZXM6IDM2MC82MCwgbWVhbnMgYSBmdWxsIHJvdGF0aW9uIC8gbnVtYmVyIG9mIG1pbnV0ZXMgaW4gb25lIGhvdXIuICovXG5jb25zdCBNSU5VVEVTX0FOR0xFID0gNjtcblxuLyoqIEFuZ2xlIGJldHdlZW4gdHdvIGNvbnNlY3V0aXZlIHNlY29uZHMgZm9yIFNCQiBjbG9jayBjdXN0b20gYmVoYXZpb3IuICovXG5jb25zdCBTQkJfU0VDT05EU19BTkdMRSA9IDM2MCAvIDU4LjU7XG5cbi8qKiBOdW1iZXIgb2Ygc2Vjb25kcyBpbiBhIG1pbnV0ZS4gKi9cbmNvbnN0IFNFQ09ORFNfSU5fQV9NSU5VVEUgPSA2MDtcblxuLyoqIE51bWJlciBvZiBzZWNvbmRzIGluIGFuIGhvdXIuICovXG5jb25zdCBTRUNPTkRTX0lOX0FOX0hPVVIgPSAzNjAwO1xuXG4vKiogQXMgYSBmYWxsYmFjayBtZWFzdXJlLCByZXNldCB0aGUgY2xvY2sgZXZlcnkgaGFsZiBhbiBob3VyICovXG5jb25zdCBSRVNFVF9JTlRFUlZBTCA9IFNFQ09ORFNfSU5fQU5fSE9VUiAvIDI7XG5cbmNvbnN0IEFERF9FVkVOVF9MSVNURU5FUl9PUFRJT05TOiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA9IHtcbiAgb25jZTogdHJ1ZSxcbiAgcGFzc2l2ZTogdHJ1ZSxcbn07XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gYW5hbG9nIGNsb2NrIHdpdGggdGhlIGNsYXNzaWMgU0JCIGZhY2UuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1jbG9jaycpXG5jbGFzcyBTYmJDbG9ja0VsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqXG4gICAqIERlZmluZSBhIHNwZWNpZmljIHRpbWUgd2hpY2ggdGhlIGNsb2NrIHNob3VsZCBzaG93IHN0YXRpY2FsbHkuXG4gICAqIEBwYXJhbSB2YWx1ZSBISDpNTTpzc1xuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGFjY2Vzc29yIG5vdzogU2JiVGltZSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjbG9jayBpcyB0aWNraW5nIG9yIG5vdCAqL1xuICBwcml2YXRlIF9zdGF0ZTogJ3J1bm5pbmcnIHwgJ3BhdXNlZCcgPSAncGF1c2VkJztcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBob3VyIGhhbmQuICovXG4gIHByaXZhdGUgX2Nsb2NrSGFuZEhvdXJzITogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgbWludXRlIGhhbmQuICovXG4gIHByaXZhdGUgX2Nsb2NrSGFuZE1pbnV0ZXMhOiBIVE1MRWxlbWVudDtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBzZWNvbmQgaGFuZC4gKi9cbiAgcHJpdmF0ZSBfY2xvY2tIYW5kU2Vjb25kcyE6IEhUTUxFbGVtZW50O1xuXG4gIC8qKiBIb3VycyB2YWx1ZSBmb3IgdGhlIGN1cnJlbnQgZGF0ZS4gKi9cbiAgcHJpdmF0ZSBfaG91cnMhOiBudW1iZXI7XG5cbiAgLyoqIE1pbnV0ZXMgdmFsdWUgZm9yIHRoZSBjdXJyZW50IGRhdGUuICovXG4gIHByaXZhdGUgX21pbnV0ZXMhOiBudW1iZXI7XG5cbiAgLyoqIFNlY29uZHMgdmFsdWUgZm9yIHRoZSBjdXJyZW50IGRhdGUuICovXG4gIHByaXZhdGUgX3NlY29uZHMhOiBudW1iZXI7XG5cbiAgLyoqIE1vdmUgdGhlIG1pbnV0ZXMgaGFuZCBldmVyeSBtaW51dGUuICovXG4gIHByaXZhdGUgX2hhbmRNb3ZlbWVudD86IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPjtcblxuICBwcml2YXRlIF9yZXNldEludGVydmFsSWQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG5cbiAgLyoqIENhbGxiYWNrIGZ1bmN0aW9uIGZvciBob3VycyBoYW5kLiAqL1xuICBwcml2YXRlIF9tb3ZlSG91cnNIYW5kRm4gPSAoKTogdm9pZCA9PiB0aGlzLl9tb3ZlSG91cnNIYW5kKCk7XG5cbiAgLyoqIENhbGxiYWNrIGZ1bmN0aW9uIGZvciBtaW51dGVzIGhhbmQuICovXG4gIHByaXZhdGUgX21vdmVNaW51dGVzSGFuZEZuID0gKCk6IHZvaWQgPT4gdGhpcy5fbW92ZU1pbnV0ZXNIYW5kKCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLl9yZXNldEludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB0aGlzLl9yZXNldENsb2NrKCksIFJFU0VUX0lOVEVSVkFMICogMTAwMCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICghaXNTZXJ2ZXIgJiYgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdub3cnKSkge1xuICAgICAgdGhpcy5fc3RhcnRPckNvbmZpZ3VyZUNsb2NrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKCFpc1NlcnZlcikge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsIHRoaXMuX2hhbmRsZVBhZ2VWaXNpYmlsaXR5Q2hhbmdlLCBmYWxzZSk7XG4gICAgICB0aGlzLl9zdGFydE9yQ29uZmlndXJlQ2xvY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9yZW1vdmVFdmVudExpc3RlbmVycygpO1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fcmVzZXRJbnRlcnZhbElkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVBhZ2VWaXNpYmlsaXR5Q2hhbmdlID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGlmICh0aGlzLm5vdykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT09ICdoaWRkZW4nKSB7XG4gICAgICBhd2FpdCB0aGlzLl9zdG9wQ2xvY2soKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy5fc3RhcnRDbG9jaygpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIGFzeW5jIF9zdGFydE9yQ29uZmlndXJlQ2xvY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMubm93KSB7XG4gICAgICBhd2FpdCB0aGlzLl9zdG9wQ2xvY2soKTtcbiAgICAgIHRoaXMuX3Jlc2V0U2Vjb25kc0hhbmRBbmltYXRpb24oKTtcbiAgICAgIHRoaXMuX3NldEhhbmRzU3RhcnRpbmdQb3NpdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLl9zdGFydENsb2NrKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFN0YXJ0cyB0aGUgY2xvY2sgYnkgZGVmaW5pbmcgdGhlIGhhbmRzIHN0YXJ0aW5nIHBvc2l0aW9uIHRoZW4gc3RhcnRpbmcgdGhlIGFuaW1hdGlvbnMuICovXG4gIHByaXZhdGUgYXN5bmMgX3N0YXJ0Q2xvY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnYW5pbWF0aW9uZW5kJyxcbiAgICAgIHRoaXMuX21vdmVIb3Vyc0hhbmRGbixcbiAgICAgIEFERF9FVkVOVF9MSVNURU5FUl9PUFRJT05TLFxuICAgICk7XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdhbmltYXRpb25lbmQnLFxuICAgICAgdGhpcy5fbW92ZU1pbnV0ZXNIYW5kRm4sXG4gICAgICBBRERfRVZFTlRfTElTVEVORVJfT1BUSU9OUyxcbiAgICApO1xuXG4gICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5fc2V0SGFuZHNTdGFydGluZ1Bvc2l0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLWNsb2NrLWFuaW1hdGlvbi1wbGF5LXN0YXRlJywgJ3J1bm5pbmcnKTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSAncnVubmluZyc7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH0sIElOSVRJQUxfVElNRU9VVF9EVVJBVElPTiksXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBTdG9wcyB0aGUgY2xvY2sgYnkgcmVtb3ZpbmcgYWxsIHRoZSBhbmltYXRpb25zLiAqL1xuICBwcml2YXRlIGFzeW5jIF9zdG9wQ2xvY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9oYW5kTW92ZW1lbnQpO1xuXG4gICAgdGhpcy5fcmVtb3ZlU2Vjb25kc0FuaW1hdGlvblN0eWxlcygpO1xuICAgIHRoaXMuX3JlbW92ZUhvdXJzQW5pbWF0aW9uU3R5bGVzKCk7XG5cbiAgICB0aGlzLl9jbG9ja0hhbmRIb3Vycz8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignYW5pbWF0aW9uZW5kJywgdGhpcy5fbW92ZUhvdXJzSGFuZEZuKTtcbiAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzPy5yZW1vdmVFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCB0aGlzLl9tb3ZlTWludXRlc0hhbmRGbik7XG5cbiAgICB0aGlzLl9jbG9ja0hhbmRNaW51dGVzPy5jbGFzc0xpc3QuYWRkKCdzYmItY2xvY2tfX2hhbmQtbWludXRlcy0tbm8tdHJhbnNpdGlvbicpO1xuXG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLWNsb2NrLWFuaW1hdGlvbi1wbGF5LXN0YXRlJywgJ3BhdXNlZCcpO1xuICAgIHRoaXMuX3N0YXRlID0gJ3BhdXNlZCc7XG4gIH1cblxuICAvKipcbiAgICogQXMgYSBmYWxsYmFjayBtZWFzdXJlIHRvIHByZXZlbnQgZGUtc3luYywgcmVzZXQgdGhlIGNsb2NrIHRvIHRoZSBzeXN0ZW0gdGltZS5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgX3Jlc2V0Q2xvY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAncnVubmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5fc3RvcENsb2NrKCk7XG4gICAgYXdhaXQgdGhpcy5fc3RhcnRDbG9jaygpO1xuICB9XG5cbiAgLyoqIFNldCB0aGUgc3RhcnRpbmcgcG9zaXRpb24gZm9yIHRoZSB0aHJlZSBoYW5kcyBvbiB0aGUgY2xvY2sgZmFjZS4gKi9cbiAgcHJpdmF0ZSBfc2V0SGFuZHNTdGFydGluZ1Bvc2l0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX2Fzc2lnbkN1cnJlbnRUaW1lKCk7XG4gICAgY29uc3QgcmVtYWluaW5nU2Vjb25kcyA9IFRPVEFMX1NFQ09ORFNfT05fQ0xPQ0tfRkFDRSAtIHRoaXMuX3NlY29uZHM7XG4gICAgY29uc3QgcmVtYWluaW5nTWludXRlcyA9IFRPVEFMX01JTlVURVNfT05fQ0xPQ0tfRkFDRSAtIHRoaXMuX21pbnV0ZXM7XG4gICAgY29uc3QgcmVtYWluaW5nSG91cnMgPSBUT1RBTF9IT1VSU19PTl9DTE9DS19GQUNFIC0gdGhpcy5faG91cnM7XG5cbiAgICBsZXQgaG91cnNBbmltYXRpb25EdXJhdGlvbiA9IDA7XG4gICAgbGV0IGhhc1JlbWFpbmluZ01pbnV0ZXNPclNlY29uZHMgPSAwO1xuXG4gICAgaWYgKHJlbWFpbmluZ1NlY29uZHMgPiAwKSB7XG4gICAgICBob3Vyc0FuaW1hdGlvbkR1cmF0aW9uICs9IHJlbWFpbmluZ1NlY29uZHM7XG4gICAgICBoYXNSZW1haW5pbmdNaW51dGVzT3JTZWNvbmRzID0gMTtcbiAgICB9XG5cbiAgICBpZiAocmVtYWluaW5nTWludXRlcyA+IDApIHtcbiAgICAgIGhvdXJzQW5pbWF0aW9uRHVyYXRpb24gKz1cbiAgICAgICAgKHJlbWFpbmluZ01pbnV0ZXMgLSBoYXNSZW1haW5pbmdNaW51dGVzT3JTZWNvbmRzKSAqIFNFQ09ORFNfSU5fQV9NSU5VVEU7XG4gICAgICBoYXNSZW1haW5pbmdNaW51dGVzT3JTZWNvbmRzID0gMTtcbiAgICB9XG5cbiAgICBpZiAocmVtYWluaW5nSG91cnMgPiAwKSB7XG4gICAgICBob3Vyc0FuaW1hdGlvbkR1cmF0aW9uICs9XG4gICAgICAgIChyZW1haW5pbmdIb3VycyAtIGhhc1JlbWFpbmluZ01pbnV0ZXNPclNlY29uZHMpICogU0VDT05EU19JTl9BTl9IT1VSO1xuICAgIH1cblxuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgJy0tc2JiLWNsb2NrLWhvdXJzLWFuaW1hdGlvbi1zdGFydC1hbmdsZScsXG4gICAgICBgJHtNYXRoLmNlaWwodGhpcy5faG91cnMgKiBIT1VSU19BTkdMRSArIHRoaXMuX21pbnV0ZXMgLyAyKX1kZWdgLFxuICAgICk7XG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLWNsb2NrLWhvdXJzLWFuaW1hdGlvbi1kdXJhdGlvbicsIGAke2hvdXJzQW5pbWF0aW9uRHVyYXRpb259c2ApO1xuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KFxuICAgICAgJy0tc2JiLWNsb2NrLXNlY29uZHMtYW5pbWF0aW9uLXN0YXJ0LWFuZ2xlJyxcbiAgICAgIGAke01hdGguY2VpbCh0aGlzLl9zZWNvbmRzICogU0JCX1NFQ09ORFNfQU5HTEUpfWRlZ2AsXG4gICAgKTtcbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItY2xvY2stc2Vjb25kcy1hbmltYXRpb24tZHVyYXRpb24nLCBgJHtyZW1haW5pbmdTZWNvbmRzfXNgKTtcblxuICAgIHRoaXMuX3NldE1pbnV0ZXNIYW5kKCk7XG5cbiAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzPy5jbGFzc0xpc3QuYWRkKCdzYmItY2xvY2tfX2hhbmQtc2Vjb25kcy0taW5pdGlhbC1taW51dGUnKTtcbiAgICB0aGlzLl9jbG9ja0hhbmRIb3Vycz8uY2xhc3NMaXN0LmFkZCgnc2JiLWNsb2NrX19oYW5kLWhvdXJzLS1pbml0aWFsLWhvdXInKTtcblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWluaXRpYWxpemVkJywgdHJ1ZSk7XG4gIH1cblxuICAvKiogR2l2ZW4gdGhlIGN1cnJlbnQgZGF0ZSwgY2FsY3VsYXRlcyB0aGUgaGgvbW0vc3MgdmFsdWVzIGFuZCB0aGUgaGgvbW0vc3MgbGVmdCB0byB0aGUgbmV4dCBtaWRuaWdodC4gKi9cbiAgcHJpdmF0ZSBfYXNzaWduQ3VycmVudFRpbWUoKTogdm9pZCB7XG4gICAgY29uc3QgZGF0ZSA9IHRoaXMubm93ID8gbnVsbCA6IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgW2hvdXJzLCBtaW51dGVzLCBzZWNvbmRzXSA9IGRhdGVcbiAgICAgID8gW2RhdGUuZ2V0SG91cnMoKSwgZGF0ZS5nZXRNaW51dGVzKCksIGRhdGUuZ2V0U2Vjb25kcygpXVxuICAgICAgOiB0aGlzLm5vdyEuc3BsaXQoJzonKS5tYXAoKHApID0+ICtwKTtcblxuICAgIHRoaXMuX2hvdXJzID0gaG91cnMgJSAxMjtcbiAgICB0aGlzLl9taW51dGVzID0gbWludXRlcztcbiAgICB0aGlzLl9zZWNvbmRzID0gc2Vjb25kcztcbiAgfVxuXG4gIC8qKiBTZXQgdGhlIHN0YXJ0aW5nIHBvc2l0aW9uIGZvciB0aGUgbWludXRlcyBoYW5kLiAqL1xuICBwcml2YXRlIF9zZXRNaW51dGVzSGFuZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9ja0hhbmRNaW51dGVzPy5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICd0cmFuc2Zvcm0nLFxuICAgICAgYHJvdGF0ZVooJHtNYXRoLmNlaWwodGhpcy5fbWludXRlcyAqIE1JTlVURVNfQU5HTEUpfWRlZylgLFxuICAgICk7XG4gIH1cblxuICAvKiogTW92ZSB0aGUgaG91cnMgaGFuZCB0byB0aGUgbmV4dCB2YWx1ZS4gKi9cbiAgcHJpdmF0ZSBfbW92ZUhvdXJzSGFuZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZW1vdmVIb3Vyc0FuaW1hdGlvblN0eWxlcygpO1xuXG4gICAgbGV0IGhvdXJzQW5nbGUgPSBNYXRoLmNlaWwodGhpcy5faG91cnMgKiBIT1VSU19BTkdMRSArIHRoaXMuX21pbnV0ZXMgLyAyKTtcblxuICAgIGlmIChob3Vyc0FuZ2xlID49IEZVTExfQU5HTEUpIHtcbiAgICAgIGhvdXJzQW5nbGUgLT0gRlVMTF9BTkdMRTtcbiAgICB9XG5cbiAgICB0aGlzLl9jbG9ja0hhbmRIb3Vycz8uc3R5bGUuc2V0UHJvcGVydHkoJ3RyYW5zZm9ybScsIGByb3RhdGVaKCR7aG91cnNBbmdsZX1kZWcpYCk7XG4gIH1cblxuICAvKiogTW92ZSB0aGUgbWludXRlcyBoYW5kIHRvIHRoZSBuZXh0IHZhbHVlLiAqL1xuICBwcml2YXRlIF9tb3ZlTWludXRlc0hhbmQoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignYW5pbWF0aW9uZW5kJywgdGhpcy5fbW92ZU1pbnV0ZXNIYW5kRm4pO1xuXG4gICAgdGhpcy5fcmVtb3ZlU2Vjb25kc0FuaW1hdGlvblN0eWxlcygpO1xuXG4gICAgdGhpcy5fYWRkTWludXRlc0FuZFNldEhhbmRzKCk7XG5cbiAgICB0aGlzLl9oYW5kTW92ZW1lbnQgPSBzZXRJbnRlcnZhbChcbiAgICAgICgpID0+IHRoaXMuX2FkZE1pbnV0ZXNBbmRTZXRIYW5kcygpLFxuICAgICAgVE9UQUxfU0VDT05EU19PTl9DTE9DS19GQUNFICogMTAwMCxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkTWludXRlc0FuZFNldEhhbmRzKCk6IHZvaWQge1xuICAgIHRoaXMuX21pbnV0ZXMrKztcbiAgICB0aGlzLl9zZXRNaW51dGVzSGFuZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92aW5nIGFuaW1hdGlvbiBieSBvdmVycmlkaW5nIHdpdGggZW1wdHkgc3RyaW5nLFxuICAgKiB0aGVuIHRyaWdnZXJpbmcgYSByZWZsb3cgYW5kIHJlIGFkZCBvcmlnaW5hbCBhbmltYXRpb24gYnkgcmVtb3Zpbmcgb3ZlcnJpZGUuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIF9yZXNldFNlY29uZHNIYW5kQW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY2xvY2tIYW5kU2Vjb25kcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzLnN0eWxlLmFuaW1hdGlvbiA9ICcnO1xuICAgIC8vIEhhY2sgdG8gdHJpZ2dlciByZWZsb3dcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC1leHByZXNzaW9uc1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHMub2Zmc2V0SGVpZ2h0O1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHMuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2FuaW1hdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCB0aGlzLl9oYW5kbGVQYWdlVmlzaWJpbGl0eUNoYW5nZSk7XG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHRoaXMuX21vdmVIb3Vyc0hhbmRGbik7XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignYW5pbWF0aW9uZW5kJywgdGhpcy5fbW92ZU1pbnV0ZXNIYW5kRm4pO1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5faGFuZE1vdmVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZUhvdXJzQW5pbWF0aW9uU3R5bGVzKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nsb2NrSGFuZEhvdXJzPy5jbGFzc0xpc3QucmVtb3ZlKCdzYmItY2xvY2tfX2hhbmQtaG91cnMtLWluaXRpYWwtaG91cicpO1xuICAgIHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLWNsb2NrLWhvdXJzLWFuaW1hdGlvbi1zdGFydC1hbmdsZScpO1xuICAgIHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLWNsb2NrLWhvdXJzLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlU2Vjb25kc0FuaW1hdGlvblN0eWxlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzPy5jbGFzc0xpc3QucmVtb3ZlKCdzYmItY2xvY2tfX2hhbmQtc2Vjb25kcy0taW5pdGlhbC1taW51dGUnKTtcbiAgICB0aGlzLl9jbG9ja0hhbmRNaW51dGVzPy5jbGFzc0xpc3QucmVtb3ZlKCdzYmItY2xvY2tfX2hhbmQtbWludXRlcy0tbm8tdHJhbnNpdGlvbicpO1xuICAgIHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLWNsb2NrLXNlY29uZHMtYW5pbWF0aW9uLXN0YXJ0LWFuZ2xlJyk7XG4gICAgdGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1zYmItY2xvY2stc2Vjb25kcy1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1jbG9ja1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1jbG9ja19fZmFjZVwiIC5pbm5lckhUTUw9JHtjbG9ja0ZhY2VTVkd9Pjwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInNiYi1jbG9ja19faGFuZC1ob3Vyc1wiXG4gICAgICAgICAgLmlubmVySFRNTD0ke2Nsb2NrSGFuZGxlSG91cnNTVkd9XG4gICAgICAgICAgJHtyZWYoKGU/OiBFbGVtZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jbG9ja0hhbmRIb3VycyA9IGUgYXMgSFRNTFNwYW5FbGVtZW50O1xuICAgICAgICAgIH0pfVxuICAgICAgICA+PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2JiLWNsb2NrX19oYW5kLW1pbnV0ZXMgc2JiLWNsb2NrX19oYW5kLW1pbnV0ZXMtLW5vLXRyYW5zaXRpb25cIlxuICAgICAgICAgIC5pbm5lckhUTUw9JHtjbG9ja0hhbmRsZU1pbnV0ZXNTVkd9XG4gICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2xvY2tIYW5kTWludXRlcyA9IGVsIGFzIEhUTUxTcGFuRWxlbWVudDtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInNiYi1jbG9ja19faGFuZC1zZWNvbmRzXCJcbiAgICAgICAgICAuaW5uZXJIVE1MPSR7Y2xvY2tIYW5kbGVTZWNvbmRzU1ZHfVxuICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHMgPSBlbCBhcyBIVE1MU3BhbkVsZW1lbnQ7XG4gICAgICAgICAgfSl9XG4gICAgICAgID48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItY2xvY2snOiBTYmJDbG9ja0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztB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