@sbb-esta/lyne-elements 5.0.0-next → 5.0.0-next.1

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 (984) hide show
  1. package/action-group/action-group.component.js +1 -1
  2. package/{action-group.component-L7G0Vv-N.js → action-group.component-B6X5FjkQ.js} +25 -25
  3. package/action-group.js +1 -1
  4. package/action-group.pure.js +1 -1
  5. package/alert/alert/alert.component.js +1 -1
  6. package/alert/alert-group/alert-group.component.js +1 -1
  7. package/{alert-group.component-CAjj3FtE.js → alert-group.component-BCYOVicl.js} +5 -7
  8. package/alert.component-BQsF0R1M.js +161 -0
  9. package/alert.js +2 -2
  10. package/alert.pure.js +2 -2
  11. package/autocomplete/autocomplete-base-element.js +1 -1
  12. package/autocomplete/autocomplete.component.js +3 -2
  13. package/{autocomplete-base-element-BysEZecQ.js → autocomplete-base-element-CSCv_WVh.js} +14 -9
  14. package/autocomplete.js +1 -1
  15. package/autocomplete.pure.js +1 -1
  16. package/{block-link-common-CDrCAdGP.js → block-link-common-BiM6tnUZ.js} +1 -1
  17. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  18. package/{breadcrumb-group.component-Bfm4RZu7.js → breadcrumb-group.component-De3Lu3lx.js} +1 -1
  19. package/breadcrumb.js +1 -1
  20. package/breadcrumb.pure.js +1 -1
  21. package/button/common/button-common.js +1 -1
  22. package/button-common-U0ZsZMjC.js +85 -0
  23. package/button.js +1 -1
  24. package/button.pure.js +1 -1
  25. package/calendar/calendar/calendar.component.js +1 -1
  26. package/{calendar.component-D6mdi1Q3.js → calendar.component-nWdtZYqg.js} +3 -3
  27. package/calendar.js +1 -1
  28. package/calendar.pure.js +1 -1
  29. package/card/card-badge/card-badge.component.js +1 -1
  30. package/{card-badge.component-CsEpGTHm.js → card-badge.component-CEqox6TU.js} +1 -1
  31. package/card.js +1 -1
  32. package/card.pure.js +1 -1
  33. package/checkbox/checkbox.component.js +1 -1
  34. package/checkbox/common/checkbox-common.js +1 -1
  35. package/{checkbox-common-Bo4u1RXX.js → checkbox-common-DSmxKbmR.js} +1 -1
  36. package/{checkbox.component-vjqZh2aC.js → checkbox.component-CR2aIgjA.js} +1 -1
  37. package/checkbox.js +2 -2
  38. package/checkbox.pure.js +2 -2
  39. package/chip/chip-group/chip-group.component.js +1 -1
  40. package/{chip-group.component-DPzfaV_H.js → chip-group.component-DbNctvjy.js} +1 -1
  41. package/chip-label/chip-label.component.js +1 -1
  42. package/chip-label.component-zRiHSxbn.js +77 -0
  43. package/chip-label.js +1 -1
  44. package/chip-label.pure.js +1 -1
  45. package/chip.js +1 -1
  46. package/chip.pure.js +1 -1
  47. package/{compact-paginator.component-DEEhXiMm.js → compact-paginator.component-Dyu9bezr.js} +1 -1
  48. package/core/controllers/overlay-position-controller.js +4 -1
  49. package/core/mixins/named-slot-list-mixin.js +4 -1
  50. package/core/overlay/overlay-trigger-attributes.js +3 -3
  51. package/core/styles/_index.scss +0 -1
  52. package/core/styles/core.scss +81 -78
  53. package/core/styles/host-scrollbar.scss +6 -0
  54. package/core/styles/mixins/helpers.scss +3 -3
  55. package/core/styles/mixins/overlay.scss +2 -2
  56. package/core/styles/mixins/panel.scss +5 -1
  57. package/core/styles/mixins/scrollbar.scss +5 -8
  58. package/core/styles/mixins/typo.scss +2 -2
  59. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss +8 -0
  60. package/core/styles/scrollbar.scss +10 -8
  61. package/core/styles/styles.js +2 -2
  62. package/core.css +266 -85
  63. package/core.js +3 -3
  64. package/custom-elements.json +1359 -740
  65. package/datepicker/datepicker/datepicker.component.js +1 -1
  66. package/{datepicker.component-BBmEvmW3.js → datepicker.component-CNQGkdr-.js} +11 -11
  67. package/datepicker.js +1 -1
  68. package/datepicker.pure.js +1 -1
  69. package/development/accordion/accordion.component.d.ts.map +1 -1
  70. package/development/accordion.component-DGUoG6p2.js +1 -1
  71. package/development/action-group/action-group.component.d.ts +2 -4
  72. package/development/action-group/action-group.component.d.ts.map +1 -1
  73. package/development/action-group/action-group.component.js +1 -1
  74. package/development/{action-group.component-CJT4RArG.js → action-group.component-9Bkne2tt.js} +6 -6
  75. package/development/action-group.js +1 -1
  76. package/development/action-group.pure.js +1 -1
  77. package/development/alert/alert/alert.component.d.ts +2 -1
  78. package/development/alert/alert/alert.component.d.ts.map +1 -1
  79. package/development/alert/alert/alert.component.js +1 -1
  80. package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
  81. package/development/alert/alert-group/alert-group.component.js +1 -1
  82. package/development/alert-group.component-D4KxKTd2.js +186 -0
  83. package/development/alert.component-Pv-Ol6XU.js +213 -0
  84. package/development/alert.js +2 -2
  85. package/development/alert.pure.js +2 -2
  86. package/development/autocomplete/autocomplete-base-element.d.ts +8 -1
  87. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  88. package/development/autocomplete/autocomplete-base-element.js +1 -1
  89. package/development/autocomplete/autocomplete.component.js +4 -3
  90. package/development/autocomplete-base-element-Bwkns3IL.js +686 -0
  91. package/development/autocomplete.js +1 -1
  92. package/development/autocomplete.pure.js +1 -1
  93. package/development/{block-link-common-CwurjMj1.js → block-link-common-qMULXu4g.js} +2 -2
  94. package/development/breadcrumb/breadcrumb/breadcrumb.component.d.ts.map +1 -1
  95. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  96. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  97. package/development/breadcrumb-group.component-BC1mWiQE.js +193 -0
  98. package/development/breadcrumb.component-BLxRIaje.js +1 -1
  99. package/development/breadcrumb.js +1 -1
  100. package/development/breadcrumb.pure.js +1 -1
  101. package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
  102. package/development/button/accent-button/accent-button.component.js +1 -1
  103. package/development/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
  104. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  105. package/development/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
  106. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  107. package/development/button/button/button.component.d.ts.map +1 -1
  108. package/development/button/button/button.component.js +1 -1
  109. package/development/button/button-link/button-link.component.d.ts.map +1 -1
  110. package/development/button/button-link/button-link.component.js +1 -1
  111. package/development/button/button-static/button-static.component.d.ts.map +1 -1
  112. package/development/button/button-static/button-static.component.js +1 -1
  113. package/development/button/common/button-common.d.ts +1 -1
  114. package/development/button/common/button-common.d.ts.map +1 -1
  115. package/development/button/common/button-common.js +1 -1
  116. package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
  117. package/development/button/mini-button/mini-button.component.js +1 -1
  118. package/development/button/mini-button-group/mini-button-group.component.d.ts.map +1 -1
  119. package/development/button/mini-button-link/mini-button-link.component.d.ts.map +1 -1
  120. package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  121. package/development/button/secondary-button/secondary-button.component.js +1 -1
  122. package/development/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
  123. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  124. package/development/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
  125. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  126. package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  127. package/development/button/transparent-button/transparent-button.component.js +1 -1
  128. package/development/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
  129. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  130. package/development/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
  131. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  132. package/development/{button-common-jaQVRdwS.js → button-common-BdW88MAX.js} +5 -5
  133. package/development/button.js +1 -1
  134. package/development/button.pure.js +1 -1
  135. package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
  136. package/development/calendar/calendar/calendar.component.js +1 -1
  137. package/development/calendar/calendar-day/calendar-day.component.d.ts.map +1 -1
  138. package/development/calendar/calendar-month/calendar-month.component.d.ts.map +1 -1
  139. package/development/calendar/calendar-month/calendar-month.component.js +1 -1
  140. package/development/calendar/calendar-weekday/calendar-weekday.component.d.ts.map +1 -1
  141. package/development/calendar/calendar-weekday/calendar-weekday.component.js +1 -1
  142. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.d.ts.map +1 -1
  143. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.js +1 -1
  144. package/development/calendar/calendar-year/calendar-year.component.d.ts.map +1 -1
  145. package/development/calendar/calendar-year/calendar-year.component.js +1 -1
  146. package/development/calendar/common/calendar-cell-base-element.d.ts +1 -1
  147. package/development/calendar/common/calendar-cell-base-element.d.ts.map +1 -1
  148. package/development/calendar-cell-base-element-DDNYX7UQ.js +1 -1
  149. package/development/calendar-day.component-CnNml44_.js +1 -1
  150. package/development/calendar.component-B5dz7mau.js +1451 -0
  151. package/development/calendar.js +2 -2
  152. package/development/calendar.pure.js +1 -1
  153. package/development/card/card/card.component.d.ts.map +1 -1
  154. package/development/card/card-badge/card-badge.component.d.ts.map +1 -1
  155. package/development/card/card-badge/card-badge.component.js +1 -1
  156. package/development/card/common/card-action-common.d.ts.map +1 -1
  157. package/development/card-action-common-HYrFMTkA.js +1 -1
  158. package/development/card-badge.component-CQBLpmpo.js +83 -0
  159. package/development/card.component-B2cQYSCD.js +1 -1
  160. package/development/card.js +2 -2
  161. package/development/card.pure.js +1 -1
  162. package/development/carousel/carousel/carousel.component.d.ts.map +1 -1
  163. package/development/carousel/carousel-item/carousel-item.component.d.ts.map +1 -1
  164. package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
  165. package/development/carousel-item.component-MZIypyNR.js +1 -1
  166. package/development/carousel-list.component-z40-4ANn.js +1 -1
  167. package/development/carousel.component-BHYBvOm7.js +1 -1
  168. package/development/checkbox/checkbox.component.d.ts +1 -1
  169. package/development/checkbox/checkbox.component.d.ts.map +1 -1
  170. package/development/checkbox/checkbox.component.js +1 -1
  171. package/development/checkbox/common/checkbox-common.d.ts +1 -1
  172. package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
  173. package/development/checkbox/common/checkbox-common.js +1 -1
  174. package/development/checkbox-common-DOoEKgML.js +84 -0
  175. package/development/checkbox-group/checkbox-group.component.js +1 -1
  176. package/development/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  177. package/development/checkbox-panel/checkbox-panel.component.js +1 -1
  178. package/development/{checkbox.component-DgrfkdyZ.js → checkbox.component-DZjhQhbB.js} +2 -2
  179. package/development/checkbox.js +2 -2
  180. package/development/checkbox.pure.js +2 -2
  181. package/development/chip/chip/chip.component.d.ts.map +1 -1
  182. package/development/chip/chip-group/chip-group.component.d.ts +1 -1
  183. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  184. package/development/chip/chip-group/chip-group.component.js +1 -1
  185. package/development/chip-group.component-B4Mjcep2.js +402 -0
  186. package/development/chip-label/chip-label.component.d.ts +1 -1
  187. package/development/chip-label/chip-label.component.d.ts.map +1 -1
  188. package/development/chip-label/chip-label.component.js +1 -1
  189. package/development/chip-label.component-Cx8mfi0y.js +100 -0
  190. package/development/chip-label.js +1 -1
  191. package/development/chip-label.pure.js +1 -1
  192. package/development/chip.component-zwTaIBf2.js +1 -1
  193. package/development/chip.js +1 -1
  194. package/development/chip.pure.js +1 -1
  195. package/development/clock/clock.component.d.ts.map +1 -1
  196. package/development/clock.component-EqFTxYod.js +1 -1
  197. package/development/compact-paginator.component-CRojCci5.js +51 -0
  198. package/development/container/container/container.component.d.ts.map +1 -1
  199. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  200. package/development/container.component-CM10qyHy.js +1 -1
  201. package/development/core/a11y/input-modality-detector.js +1 -1
  202. package/development/core/base-elements/button-base-element.d.ts +1 -1
  203. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  204. package/development/core/base-elements/button-base-element.js +1 -1
  205. package/development/core/base-elements/element.js +1 -1
  206. package/development/core/base-elements/selection-group-base-element.d.ts.map +1 -1
  207. package/development/core/controllers/media-matchers-controller.js +1 -1
  208. package/development/core/controllers/overlay-position-controller.js +3 -2
  209. package/development/core/controllers/property-watcher-controller.d.ts +1 -1
  210. package/development/core/controllers/property-watcher-controller.d.ts.map +1 -1
  211. package/development/core/controllers/property-watcher-controller.js +1 -1
  212. package/development/core/datetime/date-adapter.js +1 -1
  213. package/development/core/datetime/native-date-adapter.js +1 -1
  214. package/development/core/datetime/temporal-date-adapter.js +1 -1
  215. package/development/core/decorators/omit-empty-converter.d.ts.map +1 -1
  216. package/development/core/decorators/omit-empty-converter.js +1 -1
  217. package/development/core/eventing/throttle.d.ts +1 -0
  218. package/development/core/eventing/throttle.d.ts.map +1 -1
  219. package/development/core/eventing/throttle.js +2 -1
  220. package/development/core/mixins/disabled-mixin.js +1 -1
  221. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  222. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  223. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  224. package/development/core/mixins/form-associated-mixin.js +1 -1
  225. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  226. package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
  227. package/development/core/mixins/named-slot-list-mixin.js +5 -2
  228. package/development/core/mixins/negative-mixin.js +1 -1
  229. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  230. package/development/core/mixins/readonly-mixin.js +1 -1
  231. package/development/core/mixins/required-mixin.js +1 -1
  232. package/development/core/overlay/overlay-trigger-attributes.d.ts +4 -4
  233. package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  234. package/development/core/overlay/overlay-trigger-attributes.js +12 -12
  235. package/development/core/screen-reader-only/screen-reader-only.component.d.ts.map +1 -1
  236. package/development/core/styles/styles.d.ts +1 -0
  237. package/development/core/styles/styles.d.ts.map +1 -1
  238. package/development/core/styles/styles.js +2 -2
  239. package/development/core/testing/event-spy.js +1 -1
  240. package/development/core.js +3 -3
  241. package/development/date-input/date-input.component.d.ts.map +1 -1
  242. package/development/date-input.component-osVJFOS-.js +1 -1
  243. package/development/datepicker/common/datepicker-button.d.ts +8 -2
  244. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  245. package/development/datepicker/common/datepicker-button.js +1 -1
  246. package/development/datepicker/datepicker/datepicker.component.d.ts +3 -0
  247. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  248. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  249. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  250. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  251. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  252. package/development/datepicker-button-BI5R118p.js +166 -0
  253. package/development/datepicker.component-Chnvwnp7.js +212 -0
  254. package/development/datepicker.js +2 -2
  255. package/development/datepicker.pure.js +2 -2
  256. package/development/dialog/dialog/dialog.component.d.ts +0 -1
  257. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  258. package/development/dialog/dialog/dialog.component.js +1 -1
  259. package/development/dialog/dialog-actions/dialog-actions.component.d.ts +0 -1
  260. package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  261. package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
  262. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -1
  263. package/development/dialog/dialog-content/dialog-content.component.d.ts +1 -0
  264. package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  265. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  266. package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  267. package/development/{dialog-actions.component-DErVa4WR.js → dialog-actions.component-Bu950dM-.js} +1 -9
  268. package/development/dialog-close-button.component-CxtWzXR4.js +1 -1
  269. package/development/dialog-content.component-DlSxpY_e.js +34 -0
  270. package/development/dialog-title.component-CNMzIUB2.js +1 -1
  271. package/development/dialog.component-BTXyWi17.js +233 -0
  272. package/development/dialog.js +4 -4
  273. package/development/dialog.pure.js +3 -3
  274. package/development/divider/divider.component.d.ts.map +1 -1
  275. package/development/divider.component-BvmLUhzD.js +1 -1
  276. package/development/error.component-TvgLhaZh.js +53 -0
  277. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  278. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  279. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  280. package/development/expansion-panel-content.component-B-SV6ier.js +1 -1
  281. package/development/expansion-panel-header.component-Ok8Qmq5K.js +82 -0
  282. package/development/expansion-panel.component-q7cJOmUs.js +1 -1
  283. package/development/expansion-panel.js +2 -2
  284. package/development/expansion-panel.pure.js +1 -1
  285. package/development/file-selector/common/file-selector-common.d.ts +1 -1
  286. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  287. package/development/file-selector/common/file-selector-common.js +1 -1
  288. package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  289. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  290. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  291. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  292. package/development/file-selector-common-BX5f18cJ.js +409 -0
  293. package/development/file-selector-dropzone.component-DMNom2OW.js +110 -0
  294. package/development/file-selector.js +3 -3
  295. package/development/file-selector.pure.js +2 -2
  296. package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  297. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  298. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  299. package/development/flip-card-details.component-CKRovHqO.js +1 -1
  300. package/development/flip-card-summary.component-THvJF3Cl.js +1 -1
  301. package/development/flip-card.component-qnodzif2.js +1 -1
  302. package/development/flip-card.js +1 -1
  303. package/development/footer/footer.component.d.ts.map +1 -1
  304. package/development/footer/footer.component.js +1 -1
  305. package/development/footer.component-kFeZqO-Q.js +169 -0
  306. package/development/footer.js +1 -1
  307. package/development/footer.pure.js +1 -1
  308. package/development/form-field/error/error.component.d.ts.map +1 -1
  309. package/development/form-field/error/error.component.js +1 -1
  310. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  311. package/development/form-field/form-field/form-field.component.js +1 -1
  312. package/development/form-field/form-field-clear/form-field-clear.component.d.ts +3 -0
  313. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  314. package/development/form-field/form-field-clear/form-field-clear.component.js +4 -1
  315. package/development/form-field/form-field-text-counter/form-field-text-counter.component.d.ts.map +1 -1
  316. package/development/form-field/form-field-text-counter/form-field-text-counter.component.js +1 -1
  317. package/development/form-field/hint/hint.component.d.ts.map +1 -1
  318. package/development/form-field/hint/hint.component.js +1 -1
  319. package/development/form-field.component-CdTnOAi2.js +703 -0
  320. package/development/form-field.js +3 -3
  321. package/development/form-field.pure.js +3 -3
  322. package/development/header/common/header-action-common.d.ts +1 -1
  323. package/development/header/common/header-action-common.d.ts.map +1 -1
  324. package/development/header/header/header.component.d.ts.map +1 -1
  325. package/development/header/header/header.component.js +1 -1
  326. package/development/header/header-environment/header-environment.component.d.ts.map +1 -1
  327. package/development/header-action-common-BEnsweEr.js +1 -1
  328. package/development/header-environment.component-D-SLP3CC.js +1 -1
  329. package/development/header.component-BmZkCs9m.js +335 -0
  330. package/development/header.js +2 -2
  331. package/development/header.pure.js +1 -1
  332. package/development/hint.component-D5rTFJ-O.js +36 -0
  333. package/development/icon/icon-base.d.ts.map +1 -1
  334. package/development/icon/icon-name-mixin.d.ts +1 -1
  335. package/development/icon/icon-name-mixin.d.ts.map +1 -1
  336. package/development/icon/icon-name-mixin.js +1 -1
  337. package/development/icon-base-VYmbZT1-.js +1 -1
  338. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +1 -1
  339. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  340. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  341. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  342. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.d.ts.map +1 -1
  343. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  344. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
  345. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  346. package/development/icon-sidebar-content.component-CfkM9k--.js +35 -0
  347. package/development/{icon-sidebar.component-xzwoc_4y.js → icon-sidebar.component-Cgvuxg4k.js} +3 -3
  348. package/development/icon-sidebar.js +3 -3
  349. package/development/icon-sidebar.pure.js +2 -2
  350. package/development/image/image.component.d.ts.map +1 -1
  351. package/development/image.component-BuAPmhIt.js +1 -1
  352. package/development/inline-link-common-CONiCeR9.js +1 -1
  353. package/development/journey-header/journey-header.component.d.ts.map +1 -1
  354. package/development/journey-header.component-BKX1K6cf.js +1 -1
  355. package/development/lead-container/lead-container.component.d.ts.map +1 -1
  356. package/development/lead-container.component-B1eW6Xgb.js +1 -1
  357. package/development/link/block-link/block-link.component.d.ts.map +1 -1
  358. package/development/link/block-link/block-link.component.js +1 -1
  359. package/development/link/common/block-link-common.d.ts +1 -1
  360. package/development/link/common/block-link-common.d.ts.map +1 -1
  361. package/development/link/common/block-link-common.js +1 -1
  362. package/development/link/common/inline-link-common.d.ts +1 -1
  363. package/development/link/common/inline-link-common.d.ts.map +1 -1
  364. package/development/link/common/link-common.d.ts +1 -1
  365. package/development/link/common/link-common.d.ts.map +1 -1
  366. package/development/link/link/link.component.d.ts.map +1 -1
  367. package/development/link/link/link.component.js +1 -1
  368. package/development/link-common-4Ag6Mio-.js +1 -1
  369. package/development/link-list/common/link-list-base.d.ts.map +1 -1
  370. package/development/link-list/link-list.component.d.ts.map +1 -1
  371. package/development/link-list-anchor/link-list-anchor.component.d.ts.map +1 -1
  372. package/development/link-list-anchor.component-Cotg5LDT.js +1 -1
  373. package/development/link-list-base-B7vidwUW.js +1 -1
  374. package/development/link-list.component-BFbrLjs0.js +1 -1
  375. package/development/link.js +1 -1
  376. package/development/link.pure.js +1 -1
  377. package/development/loading-indicator/loading-indicator.component.d.ts.map +1 -1
  378. package/development/loading-indicator-circle/loading-indicator-circle.component.d.ts.map +1 -1
  379. package/development/loading-indicator-circle.component-nc-RH0jT.js +1 -1
  380. package/development/loading-indicator.component-DNCUlh6S.js +1 -1
  381. package/development/logo/logo.component.d.ts.map +1 -1
  382. package/development/logo.component-tFe_T36e.js +1 -1
  383. package/development/map-container/map-container.component.d.ts.map +1 -1
  384. package/development/map-container/map-container.component.js +1 -1
  385. package/development/{map-container.component-mzZ_K_fR.js → map-container.component-DvHVJZEZ.js} +2 -3
  386. package/development/map-container.js +1 -1
  387. package/development/map-container.pure.js +1 -1
  388. package/development/menu/common/menu-action-common.d.ts +1 -1
  389. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  390. package/development/menu/common/menu-action-common.js +1 -1
  391. package/development/menu/menu/menu.component.d.ts +1 -1
  392. package/development/menu/menu/menu.component.d.ts.map +1 -1
  393. package/development/menu/menu/menu.component.js +1 -1
  394. package/development/menu/menu-link/menu-link.component.d.ts.map +1 -1
  395. package/development/menu/menu-link/menu-link.component.js +1 -1
  396. package/development/menu-action-common-CEnwq60Z.js +32 -0
  397. package/development/menu.component-DbNRrGYy.js +365 -0
  398. package/development/menu.js +3 -3
  399. package/development/menu.pure.js +2 -2
  400. package/development/message/message.component.d.ts.map +1 -1
  401. package/development/message/message.component.js +1 -1
  402. package/development/message.component-Dzah9lXK.js +43 -0
  403. package/development/message.js +1 -1
  404. package/development/message.pure.js +1 -1
  405. package/development/mini-button-group.component-DNFyLMg_.js +1 -1
  406. package/development/mini-button-link.component-DflgG59S.js +1 -1
  407. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts +1 -1
  408. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  409. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts.map +1 -1
  410. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -1
  411. package/development/mini-calendar-day.component-Bmx2GYGZ.js +1 -1
  412. package/development/mini-calendar-month.component-CdIsxUAx.js +1 -1
  413. package/development/mini-calendar.component-Ddxgy4Tj.js +1 -1
  414. package/development/mini-calendar.js +1 -1
  415. package/development/navigation/common/navigation-action-common.d.ts +1 -1
  416. package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
  417. package/development/navigation/common/navigation-action-common.js +1 -1
  418. package/development/navigation/navigation/navigation.component.d.ts +1 -1
  419. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  420. package/development/navigation/navigation/navigation.component.js +1 -1
  421. package/development/navigation/navigation-list/navigation-list.component.d.ts.map +1 -1
  422. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  423. package/development/navigation/navigation-marker/navigation-marker.component.d.ts +0 -1
  424. package/development/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
  425. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  426. package/development/navigation/navigation-section/navigation-section.component.d.ts +1 -1
  427. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  428. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  429. package/development/navigation-action-common-Cv1AOqUk.js +92 -0
  430. package/development/navigation-list.component-CQ4q671G.js +90 -0
  431. package/development/navigation-marker.component-D7ks8vbC.js +121 -0
  432. package/development/navigation-section.component-t36xyaq4.js +346 -0
  433. package/development/navigation.component-Djm0PFOA.js +315 -0
  434. package/development/navigation.js +6 -6
  435. package/development/navigation.pure.js +5 -5
  436. package/development/notification/notification.component.d.ts.map +1 -1
  437. package/development/notification/notification.component.js +1 -1
  438. package/development/notification.component-BgF5aGrn.js +271 -0
  439. package/development/notification.js +1 -1
  440. package/development/notification.pure.js +1 -1
  441. package/development/optgroup-base-element-er7EBllh.js +1 -1
  442. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  443. package/development/option/option/option-base-element.d.ts.map +1 -1
  444. package/development/option/option/option-base-element.js +3 -1
  445. package/development/option/option/option.component.d.ts +1 -1
  446. package/development/option/option/option.component.d.ts.map +1 -1
  447. package/development/option/option/option.component.js +1 -1
  448. package/development/option/option-hint/option-hint.component.d.ts.map +1 -1
  449. package/development/option-hint.component-DLp9rQrk.js +1 -1
  450. package/development/option.component-B2EO4N0R.js +132 -0
  451. package/development/option.js +1 -1
  452. package/development/option.pure.js +1 -1
  453. package/development/overlay/overlay-base-element.d.ts +1 -1
  454. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  455. package/development/overlay/overlay-base-element.js +6 -6
  456. package/development/overlay/overlay.component.d.ts +0 -1
  457. package/development/overlay/overlay.component.d.ts.map +1 -1
  458. package/development/overlay/overlay.component.js +1 -1
  459. package/development/overlay.component-BcOBxY6k.js +210 -0
  460. package/development/overlay.js +1 -1
  461. package/development/overlay.pure.js +1 -1
  462. package/development/paginator/common/paginator-common.d.ts +1 -1
  463. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  464. package/development/paginator/common/paginator-common.js +1 -1
  465. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  466. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  467. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  468. package/development/paginator/paginator/paginator.component.js +1 -1
  469. package/development/paginator.component-BlyTYIs0.js +261 -0
  470. package/development/paginator.js +2 -2
  471. package/development/paginator.pure.js +2 -2
  472. package/development/panel-mixin-CKHxLmjh.js +1 -1
  473. package/development/popover/popover.component.d.ts +2 -1
  474. package/development/popover/popover.component.d.ts.map +1 -1
  475. package/development/popover/popover.component.js +1 -1
  476. package/development/popover.component-DM9Bn8xl.js +535 -0
  477. package/development/popover.js +1 -1
  478. package/development/popover.pure.js +1 -1
  479. package/development/radio-button/common/radio-button-common.d.ts +1 -1
  480. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  481. package/development/radio-button/common/radio-button-common.js +1 -1
  482. package/development/radio-button/radio-button.component.d.ts.map +1 -1
  483. package/development/radio-button/radio-button.component.js +1 -1
  484. package/development/radio-button-common-ZMs5IFm2.js +125 -0
  485. package/development/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  486. package/development/radio-button-group/radio-button-group.component.js +1 -1
  487. package/development/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  488. package/development/radio-button-panel/radio-button-panel.component.js +1 -1
  489. package/development/{radio-button.component-DAgH41z0.js → radio-button.component-DggZ7RZD.js} +2 -2
  490. package/development/radio-button.js +2 -2
  491. package/development/radio-button.pure.js +2 -2
  492. package/development/screen-reader-only.component-D60AmiFy.js +1 -1
  493. package/development/select/select.component.d.ts +1 -1
  494. package/development/select/select.component.d.ts.map +1 -1
  495. package/development/select/select.component.js +1 -1
  496. package/development/select.component-BnHx3v3c.js +806 -0
  497. package/development/select.js +1 -1
  498. package/development/select.pure.js +1 -1
  499. package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  500. package/development/selection-action-panel.component-DvhL5Z_Q.js +1 -1
  501. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  502. package/development/selection-expansion-panel.component-D_HF9lzq.js +1 -1
  503. package/development/selection-group-base-element-rKKX4OAJ.js +1 -1
  504. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  505. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  506. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  507. package/development/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
  508. package/development/sidebar/sidebar-content/sidebar-content.component.d.ts +1 -2
  509. package/development/sidebar/sidebar-content/sidebar-content.component.d.ts.map +1 -1
  510. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  511. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  512. package/development/sidebar-close-button.component-DYE0tK-I.js +1 -1
  513. package/development/sidebar-container.component-CC9TtB6I.js +1 -1
  514. package/development/{sidebar-content.component-Os9gd7zB.js → sidebar-content.component-DbcREBUa.js} +8 -5
  515. package/development/sidebar-title.component-DBb5MfIC.js +1 -1
  516. package/development/{sidebar.component-CwuT6dno.js → sidebar.component-zMWbdz0h.js} +2 -2
  517. package/development/sidebar.js +3 -3
  518. package/development/sidebar.pure.js +2 -2
  519. package/development/signet/signet.component.d.ts.map +1 -1
  520. package/development/signet.component-DO73qKor.js +1 -1
  521. package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  522. package/development/skiplink-list.component-DqYT2mmv.js +1 -1
  523. package/development/slider/slider.component.d.ts +1 -1
  524. package/development/slider/slider.component.d.ts.map +1 -1
  525. package/development/slider/slider.component.js +1 -1
  526. package/development/slider.component-CXrGIpkh.js +346 -0
  527. package/development/slider.js +1 -1
  528. package/development/slider.pure.js +1 -1
  529. package/development/status/status.component.d.ts.map +1 -1
  530. package/development/status/status.component.js +1 -1
  531. package/development/status.component-BtJ8ri61.js +110 -0
  532. package/development/status.js +1 -1
  533. package/development/status.pure.js +1 -1
  534. package/development/step-label.component-Dfx9rLcN.js +126 -0
  535. package/development/step.component-D1Gq0VRW.js +146 -0
  536. package/development/stepper/step/step.component.d.ts.map +1 -1
  537. package/development/stepper/step/step.component.js +1 -1
  538. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  539. package/development/stepper/step-label/step-label.component.js +1 -1
  540. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  541. package/development/stepper.component-BTwJttZt.js +1 -1
  542. package/development/stepper.js +2 -2
  543. package/development/stepper.pure.js +2 -2
  544. package/development/sticky-bar.component-MMBSPa2B.js +1 -1
  545. package/development/styles-DcuJgwEt.js +14 -0
  546. package/development/styles-WppEBrlW.js +14 -0
  547. package/development/tab-group.component-DX7BY7Xy.js +270 -0
  548. package/development/{tab-label.component-Du1W0dxN.js → tab-label.component-Ggx6qaIk.js} +2 -2
  549. package/development/tab-nav-bar.component-BTPTHy2C.js +1 -1
  550. package/development/tab.component-BVhYPy5Y.js +68 -0
  551. package/development/table/table-wrapper/table-wrapper.component.d.ts.map +1 -1
  552. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  553. package/development/table-wrapper.component-DcLwEDzr.js +119 -0
  554. package/development/table.js +1 -1
  555. package/development/table.pure.js +1 -1
  556. package/development/tabs/common/styles.js +1 -1
  557. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  558. package/development/tabs/tab/tab.component.js +1 -1
  559. package/development/tabs/tab-group/tab-group.component.d.ts +1 -0
  560. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  561. package/development/tabs/tab-group/tab-group.component.js +1 -1
  562. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  563. package/development/tabs/tab-label/tab-label.component.js +1 -1
  564. package/development/tabs/tab-nav-bar/tab-nav-bar.component.d.ts.map +1 -1
  565. package/development/tabs.js +4 -4
  566. package/development/tabs.pure.js +4 -4
  567. package/development/tag/tag/tag.component.d.ts +1 -1
  568. package/development/tag/tag/tag.component.d.ts.map +1 -1
  569. package/development/tag/tag/tag.component.js +1 -1
  570. package/development/tag/tag-group/tag-group.component.d.ts.map +1 -1
  571. package/development/tag-group.component-SEbOfnip.js +1 -1
  572. package/development/tag.component-Davxisfj.js +241 -0
  573. package/development/tag.js +1 -1
  574. package/development/tag.pure.js +1 -1
  575. package/development/teaser/teaser.component.d.ts.map +1 -1
  576. package/development/teaser/teaser.component.js +1 -1
  577. package/development/teaser-hero/teaser-hero.component.d.ts +1 -1
  578. package/development/teaser-hero/teaser-hero.component.d.ts.map +1 -1
  579. package/development/teaser-hero/teaser-hero.component.js +1 -1
  580. package/development/teaser-hero.component-bp9IsVmY.js +100 -0
  581. package/development/teaser-hero.js +1 -1
  582. package/development/teaser-hero.pure.js +1 -1
  583. package/development/teaser-panel/teaser-panel.component.d.ts +19 -0
  584. package/development/teaser-panel/teaser-panel.component.d.ts.map +1 -0
  585. package/development/teaser-panel/teaser-panel.component.js +2 -0
  586. package/development/teaser-panel.component-CjSrfJYG.js +32 -0
  587. package/development/teaser-panel.d.ts +2 -0
  588. package/development/teaser-panel.d.ts.map +1 -0
  589. package/development/teaser-panel.js +9 -0
  590. package/development/teaser-panel.pure.d.ts +3 -0
  591. package/development/teaser-panel.pure.d.ts.map +1 -0
  592. package/development/teaser-panel.pure.js +2 -0
  593. package/development/teaser-product/common/teaser-product-common.d.ts +1 -1
  594. package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  595. package/development/teaser-product/common/teaser-product-common.js +1 -1
  596. package/development/teaser-product/teaser-product/teaser-product.component.d.ts +1 -1
  597. package/development/teaser-product/teaser-product/teaser-product.component.d.ts.map +1 -1
  598. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  599. package/development/teaser-product/teaser-product-static/teaser-product-static.component.d.ts.map +1 -1
  600. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  601. package/development/{teaser-product-common-DhbAGnQN.js → teaser-product-common-DasV_SDa.js} +1 -1
  602. package/development/{teaser-product.component-C3PZbA5W.js → teaser-product.component-CB6fOX7T.js} +1 -1
  603. package/development/teaser-product.js +2 -2
  604. package/development/teaser-product.pure.js +2 -2
  605. package/development/{teaser.component-BJso_6lz.js → teaser.component-C7uXEaPK.js} +2 -2
  606. package/development/teaser.js +1 -1
  607. package/development/teaser.pure.js +1 -1
  608. package/development/time-input/time-input.component.d.ts.map +1 -1
  609. package/development/time-input/time-input.component.js +1 -1
  610. package/development/{time-input.component-BWMBV6fm.js → time-input.component-x-QOtbwE.js} +1 -1
  611. package/development/time-input.js +1 -1
  612. package/development/time-input.pure.js +1 -1
  613. package/development/timetable-form/timetable-form/timetable-form.component.d.ts.map +1 -1
  614. package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
  615. package/development/timetable-form/timetable-form-details/timetable-form-details.component.d.ts.map +1 -1
  616. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  617. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  618. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +3 -0
  619. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -1
  620. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  621. package/development/{timetable-form-details.component-C8EdT4rZ.js → timetable-form-details.component-B7mwIQoz.js} +1 -1
  622. package/development/{timetable-form-field.component-CoANLGWk.js → timetable-form-field.component-BIpoMaJW.js} +1 -1
  623. package/development/{timetable-form-swap-button.component-BGziVzB8.js → timetable-form-swap-button.component-CyHdctws.js} +5 -1
  624. package/development/{timetable-form.component-DLjBbFRv.js → timetable-form.component-BBkeono7.js} +1 -1
  625. package/development/timetable-form.js +5 -5
  626. package/development/timetable-form.pure.js +4 -4
  627. package/development/timetable-occupancy/timetable-occupancy.component.d.ts +1 -1
  628. package/development/timetable-occupancy/timetable-occupancy.component.d.ts.map +1 -1
  629. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  630. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  631. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  632. package/development/{timetable-occupancy-icon.component-DXFUx67a.js → timetable-occupancy-icon.component-CRayfWIo.js} +1 -1
  633. package/development/timetable-occupancy-icon.js +1 -1
  634. package/development/timetable-occupancy-icon.pure.js +1 -1
  635. package/development/{timetable-occupancy.component-By7X3Sj2.js → timetable-occupancy.component-B-uVA9KC.js} +2 -2
  636. package/development/timetable-occupancy.js +1 -1
  637. package/development/timetable-occupancy.pure.js +1 -1
  638. package/development/title/title-base.d.ts.map +1 -1
  639. package/development/title/title-base.js +1 -1
  640. package/development/title/title.component.d.ts.map +1 -1
  641. package/development/title/title.component.js +1 -1
  642. package/development/{title-base-Bc3biGfy.js → title-base-DKVyL7TQ.js} +2 -2
  643. package/development/{title.component-B7rIqG0N.js → title.component-BEEzA9cF.js} +2 -2
  644. package/development/title.js +2 -2
  645. package/development/title.pure.js +2 -2
  646. package/development/toast/toast.component.d.ts +1 -1
  647. package/development/toast/toast.component.d.ts.map +1 -1
  648. package/development/toast/toast.component.js +1 -1
  649. package/development/toast.component-DvVY7zpe.js +268 -0
  650. package/development/toast.js +1 -1
  651. package/development/toast.pure.js +1 -1
  652. package/development/toggle/toggle/toggle.component.d.ts +1 -1
  653. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  654. package/development/toggle/toggle/toggle.component.js +1 -1
  655. package/development/toggle/toggle-option/toggle-option.component.d.ts +1 -0
  656. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  657. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  658. package/development/toggle-check/toggle-check.component.d.ts.map +1 -1
  659. package/development/toggle-check/toggle-check.component.js +1 -1
  660. package/development/toggle-check.component-LYr7DJj1.js +156 -0
  661. package/development/toggle-check.js +1 -1
  662. package/development/toggle-check.pure.js +1 -1
  663. package/development/toggle-option.component-DRAJ11fp.js +164 -0
  664. package/development/toggle.component-CQYpVyvs.js +244 -0
  665. package/development/toggle.js +2 -2
  666. package/development/toggle.pure.js +2 -2
  667. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  668. package/development/tooltip/tooltip.component.js +1 -1
  669. package/development/tooltip.component-Br7aDPFn.js +369 -0
  670. package/development/tooltip.js +1 -1
  671. package/development/tooltip.pure.js +1 -1
  672. package/development/train/train/train.component.d.ts.map +1 -1
  673. package/development/train/train/train.component.js +1 -1
  674. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  675. package/development/train/train-formation/train-formation.component.js +1 -1
  676. package/development/train/train-wagon/train-wagon.component.js +1 -1
  677. package/development/{train-blocked-passage.component-C6XmqBo_.js → train-blocked-passage.component-Bh2dR1gn.js} +1 -1
  678. package/development/{train-formation.component-CfdHRBsd.js → train-formation.component-Dm0t9N_h.js} +2 -2
  679. package/development/{train-wagon.component-zQVbqhIL.js → train-wagon.component-B6V4dPKn.js} +2 -2
  680. package/development/{train.component-D5Z4vgej.js → train.component-BvbNBkZF.js} +1 -1
  681. package/development/train.js +5 -5
  682. package/development/train.pure.js +4 -4
  683. package/development/visual-checkbox/visual-checkbox.component.d.ts.map +1 -1
  684. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  685. package/development/{visual-checkbox.component-jRksxrOu.js → visual-checkbox.component-DJ30EugM.js} +1 -1
  686. package/development/visual-checkbox.js +1 -1
  687. package/development/visual-checkbox.pure.js +1 -1
  688. package/dialog/dialog/dialog.component.js +1 -1
  689. package/dialog/dialog-actions/dialog-actions.component.js +1 -1
  690. package/dialog/dialog-content/dialog-content.component.js +1 -1
  691. package/{dialog-actions.component-ConxJ3VW.js → dialog-actions.component-DjBJ65tV.js} +4 -8
  692. package/dialog-content.component-C_Gr8BNL.js +22 -0
  693. package/{dialog.component-ca14M0hZ.js → dialog.component-ChB9gCyY.js} +7 -10
  694. package/dialog.js +3 -3
  695. package/dialog.pure.js +3 -3
  696. package/{error.component-BLChP2fE.js → error.component-D3JgDJfN.js} +1 -1
  697. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  698. package/{expansion-panel-header.component-DdRIlyms.js → expansion-panel-header.component-DYvq-uUi.js} +1 -1
  699. package/expansion-panel.js +1 -1
  700. package/expansion-panel.pure.js +1 -1
  701. package/file-selector/common/file-selector-common.js +1 -1
  702. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  703. package/{file-selector-common-DpccuOQ4.js → file-selector-common-CMLaHuDP.js} +38 -40
  704. package/{file-selector-dropzone.component-Bz3Wpl0X.js → file-selector-dropzone.component-CWwpvAVD.js} +3 -4
  705. package/file-selector.js +2 -2
  706. package/file-selector.pure.js +2 -2
  707. package/footer/footer.component.js +1 -1
  708. package/{footer.component-Don15vOd.js → footer.component-CdTEaV6u.js} +1 -1
  709. package/footer.js +1 -1
  710. package/footer.pure.js +1 -1
  711. package/form-field/error/error.component.js +1 -1
  712. package/form-field/form-field/form-field.component.js +1 -1
  713. package/form-field/hint/hint.component.js +1 -1
  714. package/{form-field.component-Do5eratI.js → form-field.component-Dtzbp6-e.js} +3 -2
  715. package/form-field.js +3 -3
  716. package/form-field.pure.js +3 -3
  717. package/header/header/header.component.js +1 -1
  718. package/{header.component-BxizSy1O.js → header.component-DoAFSXgO.js} +3 -3
  719. package/header.js +1 -1
  720. package/header.pure.js +1 -1
  721. package/{hint.component-CaF6CBCN.js → hint.component-BB_h0G6v.js} +1 -1
  722. package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  723. package/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  724. package/{icon-sidebar-content.component-DlUqWEAX.js → icon-sidebar-content.component-lFstg91Y.js} +9 -5
  725. package/{icon-sidebar.component-DbA4omxc.js → icon-sidebar.component-D0TtF-kR.js} +11 -11
  726. package/icon-sidebar.js +2 -2
  727. package/icon-sidebar.pure.js +2 -2
  728. package/index.d.ts +2 -0
  729. package/index.js +2 -0
  730. package/link/common/block-link-common.js +1 -1
  731. package/link.js +1 -1
  732. package/link.pure.js +1 -1
  733. package/map-container/map-container.component.js +1 -1
  734. package/{map-container.component-Cqn9mKoo.js → map-container.component-BlrPWANi.js} +1 -2
  735. package/map-container.js +1 -1
  736. package/map-container.pure.js +1 -1
  737. package/menu/common/menu-action-common.js +1 -1
  738. package/menu/menu/menu.component.js +1 -1
  739. package/{menu-action-common-DY4RrfCy.js → menu-action-common-krzD_Ca2.js} +1 -1
  740. package/{menu.component-XvtyRok7.js → menu.component-KdXwqe55.js} +15 -15
  741. package/menu.js +2 -2
  742. package/menu.pure.js +2 -2
  743. package/message/message.component.js +1 -1
  744. package/message.component-CF-_MD7m.js +26 -0
  745. package/message.js +1 -1
  746. package/message.pure.js +1 -1
  747. package/navigation/common/navigation-action-common.js +1 -1
  748. package/navigation/navigation/navigation.component.js +1 -1
  749. package/navigation/navigation-list/navigation-list.component.js +1 -1
  750. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  751. package/navigation/navigation-section/navigation-section.component.js +1 -1
  752. package/navigation-action-common-BKI1MS1v.js +66 -0
  753. package/{navigation-list.component-DQeyXtOA.js → navigation-list.component-BX-kv06z.js} +13 -13
  754. package/navigation-marker.component-iSodFQRj.js +85 -0
  755. package/navigation-section.component-K4Pa53K7.js +230 -0
  756. package/navigation.component-BFejmwjr.js +202 -0
  757. package/navigation.js +5 -5
  758. package/navigation.pure.js +5 -5
  759. package/notification/notification.component.js +1 -1
  760. package/{notification.component-IsSZe3Ul.js → notification.component-D9oxjMJs.js} +1 -1
  761. package/notification.js +1 -1
  762. package/notification.pure.js +1 -1
  763. package/off-brand-theme.css +317 -138
  764. package/option/option/option-base-element.js +1 -1
  765. package/option/option/option.component.js +1 -1
  766. package/{option.component-C1Mm3ZFh.js → option.component-B8PivDHD.js} +1 -1
  767. package/option.js +1 -1
  768. package/option.pure.js +1 -1
  769. package/overlay/overlay-base-element.js +4 -4
  770. package/overlay/overlay.component.js +1 -1
  771. package/overlay.component-C6i5RA4B.js +160 -0
  772. package/overlay.js +1 -1
  773. package/overlay.pure.js +1 -1
  774. package/package.json +11 -1
  775. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  776. package/paginator/paginator/paginator.component.js +1 -1
  777. package/{paginator.component-BkECB-iV.js → paginator.component-DA_wUypF.js} +1 -1
  778. package/paginator.js +2 -2
  779. package/paginator.pure.js +2 -2
  780. package/popover/popover.component.js +1 -1
  781. package/{popover.component-BfSXNxKK.js → popover.component-BkhmysoH.js} +18 -15
  782. package/popover.js +1 -1
  783. package/popover.pure.js +1 -1
  784. package/radio-button/common/radio-button-common.js +1 -1
  785. package/radio-button/radio-button.component.js +1 -1
  786. package/{radio-button-common-CQyKqDLJ.js → radio-button-common-iNYco_B8.js} +1 -1
  787. package/{radio-button.component-Cenb6FL5.js → radio-button.component-v5czJYC3.js} +1 -1
  788. package/radio-button.js +2 -2
  789. package/radio-button.pure.js +2 -2
  790. package/safety-theme.css +317 -138
  791. package/scrollbar.css +51 -53
  792. package/select/select.component.js +1 -1
  793. package/{select.component-Cu3ewc4i.js → select.component-De-aDcuf.js} +3 -3
  794. package/select.js +1 -1
  795. package/select.pure.js +1 -1
  796. package/sidebar/sidebar/sidebar.component.js +1 -1
  797. package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  798. package/{sidebar-content.component-DEgmt4BB.js → sidebar-content.component-CYupfsq_.js} +9 -5
  799. package/{sidebar.component-Bxt8pWMf.js → sidebar.component-Sw06otwx.js} +1 -1
  800. package/sidebar.js +2 -2
  801. package/sidebar.pure.js +2 -2
  802. package/slider/slider.component.js +1 -1
  803. package/{slider.component-B3V7sjSF.js → slider.component-DfMkuXac.js} +1 -1
  804. package/slider.js +1 -1
  805. package/slider.pure.js +1 -1
  806. package/standard-theme.css +317 -138
  807. package/status/status.component.js +1 -1
  808. package/{status.component-CgMvY4Pe.js → status.component-5SKEusnj.js} +1 -1
  809. package/status.js +1 -1
  810. package/status.pure.js +1 -1
  811. package/step-label.component-DM7lQw8b.js +77 -0
  812. package/{step.component-aBAfTJyO.js → step.component-DuLOqjZk.js} +5 -7
  813. package/stepper/step/step.component.js +1 -1
  814. package/stepper/step-label/step-label.component.js +1 -1
  815. package/stepper.js +2 -2
  816. package/stepper.pure.js +2 -2
  817. package/styles-DisU4TWi.js +5 -0
  818. package/styles-swTeDfst.js +5 -0
  819. package/{tab-group.component-sdbLQtoj.js → tab-group.component-B3uz-8FA.js} +31 -27
  820. package/{tab-label.component-CH24fqmB.js → tab-label.component-JjktN30A.js} +1 -1
  821. package/{tab.component-DGzqld4u.js → tab.component-D6hfhlZw.js} +6 -6
  822. package/table/table-wrapper/table-wrapper.component.js +1 -1
  823. package/{table-wrapper.component-C36NdMWS.js → table-wrapper.component-Dxb8kzV3.js} +13 -13
  824. package/table.js +1 -1
  825. package/table.pure.js +1 -1
  826. package/tabs/common/styles.js +1 -1
  827. package/tabs/tab/tab.component.js +1 -1
  828. package/tabs/tab-group/tab-group.component.js +1 -1
  829. package/tabs/tab-label/tab-label.component.js +1 -1
  830. package/tabs.js +4 -4
  831. package/tabs.pure.js +4 -4
  832. package/tag/tag/tag.component.js +1 -1
  833. package/{tag.component-B7YExnbA.js → tag.component-BGYVbfUx.js} +1 -1
  834. package/tag.js +1 -1
  835. package/tag.pure.js +1 -1
  836. package/teaser/teaser.component.js +1 -1
  837. package/teaser-hero/teaser-hero.component.js +1 -1
  838. package/teaser-hero.component-By1HInfz.js +80 -0
  839. package/teaser-hero.js +1 -1
  840. package/teaser-hero.pure.js +1 -1
  841. package/teaser-panel/teaser-panel.component.js +2 -0
  842. package/teaser-panel.component-C4auDYCc.js +21 -0
  843. package/teaser-panel.js +6 -0
  844. package/teaser-panel.pure.js +2 -0
  845. package/teaser-product/common/teaser-product-common.js +1 -1
  846. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  847. package/teaser-product.js +2 -2
  848. package/teaser-product.pure.js +2 -2
  849. package/{teaser.component-BaxumXCl.js → teaser.component-B2y2AlAx.js} +1 -1
  850. package/teaser.js +1 -1
  851. package/teaser.pure.js +1 -1
  852. package/time-input/time-input.component.js +1 -1
  853. package/time-input.js +1 -1
  854. package/time-input.pure.js +1 -1
  855. package/timetable-form/timetable-form/timetable-form.component.js +1 -1
  856. package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  857. package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  858. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  859. package/{timetable-form-swap-button.component-BT36u2L9.js → timetable-form-swap-button.component-D9wBQQkG.js} +1 -1
  860. package/timetable-form.js +4 -4
  861. package/timetable-form.pure.js +4 -4
  862. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  863. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  864. package/timetable-occupancy-icon.js +1 -1
  865. package/timetable-occupancy-icon.pure.js +1 -1
  866. package/{timetable-occupancy.component-BbHtiw_F.js → timetable-occupancy.component-Dq9RM6qS.js} +1 -1
  867. package/timetable-occupancy.js +1 -1
  868. package/timetable-occupancy.pure.js +1 -1
  869. package/title/title-base.js +1 -1
  870. package/title/title.component.js +1 -1
  871. package/{title-base-Cbe4eNS1.js → title-base-B43-Q_7r.js} +1 -1
  872. package/{title.component-7zqQqbRJ.js → title.component-DXJHJ6p6.js} +1 -1
  873. package/title.js +2 -2
  874. package/title.pure.js +2 -2
  875. package/toast/toast.component.js +1 -1
  876. package/toast.component-2hmfUgsX.js +184 -0
  877. package/toast.js +1 -1
  878. package/toast.pure.js +1 -1
  879. package/toggle/toggle/toggle.component.js +1 -1
  880. package/toggle/toggle-option/toggle-option.component.js +1 -1
  881. package/toggle-check/toggle-check.component.js +1 -1
  882. package/toggle-check.component-WVQ4NM-R.js +116 -0
  883. package/toggle-check.js +1 -1
  884. package/toggle-check.pure.js +1 -1
  885. package/{toggle-option.component-BF95HWOF.js → toggle-option.component-DeePQ-NW.js} +5 -7
  886. package/{toggle.component-2e_7FeR4.js → toggle.component-BGgAnHau.js} +6 -10
  887. package/toggle.js +2 -2
  888. package/toggle.pure.js +2 -2
  889. package/tooltip/tooltip.component.js +1 -1
  890. package/{tooltip.component-C5y6zCtF.js → tooltip.component-Bp-8vRoA.js} +12 -12
  891. package/tooltip.js +1 -1
  892. package/tooltip.pure.js +1 -1
  893. package/train/train/train.component.js +1 -1
  894. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  895. package/train/train-formation/train-formation.component.js +1 -1
  896. package/train/train-wagon/train-wagon.component.js +1 -1
  897. package/{train-formation.component-5AASBGSX.js → train-formation.component-DS4EDwPY.js} +1 -1
  898. package/{train-wagon.component-CLMLEf6I.js → train-wagon.component-LwKwwuta.js} +1 -1
  899. package/train.js +4 -4
  900. package/train.pure.js +4 -4
  901. package/visual-checkbox/visual-checkbox.component.js +1 -1
  902. package/visual-checkbox.js +1 -1
  903. package/visual-checkbox.pure.js +1 -1
  904. package/alert.component-C42LwoGa.js +0 -163
  905. package/button-common-C3wYY-UK.js +0 -85
  906. package/chip-label.component-CUJTTb1-.js +0 -79
  907. package/core/styles/mixins/chip.scss +0 -95
  908. package/development/alert-group.component-DeI6kuwn.js +0 -188
  909. package/development/alert.component-Cn36k_Hf.js +0 -214
  910. package/development/autocomplete-base-element-B5n-eCMO.js +0 -672
  911. package/development/breadcrumb-group.component-DP9X9qV1.js +0 -193
  912. package/development/calendar.component-CByyksy8.js +0 -1450
  913. package/development/card-badge.component-Be4gXazr.js +0 -83
  914. package/development/checkbox-common-DpE48IrV.js +0 -84
  915. package/development/chip-group.component-CxM8l839.js +0 -402
  916. package/development/chip-label.component-C1CGL8zb.js +0 -102
  917. package/development/compact-paginator.component-DiMeNNTc.js +0 -51
  918. package/development/datepicker-button-CIvIHG8k.js +0 -160
  919. package/development/datepicker.component-BEiMYEc-.js +0 -211
  920. package/development/dialog-content.component-B3VB2ptp.js +0 -30
  921. package/development/dialog.component-BYVTZAUU.js +0 -238
  922. package/development/error.component-C8JQQqSB.js +0 -53
  923. package/development/expansion-panel-header.component-CWojFAB-.js +0 -82
  924. package/development/file-selector-common-DE_jT1fa.js +0 -411
  925. package/development/file-selector-dropzone.component-dyv_u-Ga.js +0 -111
  926. package/development/footer.component-Dbc5xFqr.js +0 -169
  927. package/development/form-field.component-DGOrnYkc.js +0 -702
  928. package/development/header.component-Hfgz9sSb.js +0 -336
  929. package/development/hint.component-hKw1TLvO.js +0 -36
  930. package/development/icon-sidebar-content.component-CMzp1ewD.js +0 -31
  931. package/development/menu-action-common-Crx-dDgH.js +0 -32
  932. package/development/menu.component-DOv7PKIi.js +0 -367
  933. package/development/message.component-CrXtMprr.js +0 -43
  934. package/development/navigation-action-common-ZBiv0Xiw.js +0 -93
  935. package/development/navigation-list.component-DilKlDwx.js +0 -90
  936. package/development/navigation-marker.component-BsfPR_uk.js +0 -122
  937. package/development/navigation-section.component-C_9myQKr.js +0 -349
  938. package/development/navigation.component-C8MhqBLY.js +0 -318
  939. package/development/notification.component-CKyNdgbx.js +0 -271
  940. package/development/option.component-Dod6JgbH.js +0 -132
  941. package/development/overlay.component-BuCkqG6Q.js +0 -216
  942. package/development/paginator.component-Cqm7MuRD.js +0 -261
  943. package/development/popover.component-B15jFLe9.js +0 -529
  944. package/development/radio-button-common-u7NYOI2p.js +0 -125
  945. package/development/select.component-CqwBdtsN.js +0 -804
  946. package/development/slider.component-ZBdkbZei.js +0 -346
  947. package/development/status.component-p-egQ_U4.js +0 -110
  948. package/development/step-label.component-CxqPgbzK.js +0 -128
  949. package/development/step.component-B2qbHl0l.js +0 -150
  950. package/development/styles-CcYw6JtZ.js +0 -8
  951. package/development/styles-D_8dMc_0.js +0 -14
  952. package/development/tab-group.component-C3R8ZTbg.js +0 -266
  953. package/development/tab.component-DteuwiHv.js +0 -70
  954. package/development/table-wrapper.component-iSeT-FPH.js +0 -119
  955. package/development/tag.component-CWL9jJTW.js +0 -241
  956. package/development/teaser-hero.component-7KeR7bPf.js +0 -101
  957. package/development/toast.component-Cy13egVy.js +0 -269
  958. package/development/toggle-check.component-CuODx4cx.js +0 -156
  959. package/development/toggle-option.component-BWT4kEZo.js +0 -165
  960. package/development/toggle.component-DjLnSv3R.js +0 -249
  961. package/development/tooltip.component-BtWTK2R0.js +0 -371
  962. package/dialog-content.component-DvJiuDJI.js +0 -19
  963. package/message.component-DgTPvDym.js +0 -26
  964. package/navigation-action-common-Dm47M2BG.js +0 -66
  965. package/navigation-marker.component-1VHe19c9.js +0 -85
  966. package/navigation-section.component-CLcdmPV3.js +0 -231
  967. package/navigation.component-Cnyb5_4R.js +0 -203
  968. package/overlay.component-OzDUV8t1.js +0 -164
  969. package/step-label.component-qdfunibJ.js +0 -77
  970. package/styles-DMLyYaea.js +0 -5
  971. package/styles-x5HG0xjp.js +0 -6
  972. package/teaser-hero.component-CLuVP2ba.js +0 -81
  973. package/toast.component-BY72fOXh.js +0 -185
  974. package/toggle-check.component-DkOBgRQM.js +0 -116
  975. /package/{teaser-product-common-B8NakRRV.js → teaser-product-common-Kz3ApcVE.js} +0 -0
  976. /package/{teaser-product.component-Dqapk40c.js → teaser-product.component-C7KoSqcP.js} +0 -0
  977. /package/{time-input.component-N0DexLd9.js → time-input.component-BVoO7JLV.js} +0 -0
  978. /package/{timetable-form-details.component-CIY5ZAQJ.js → timetable-form-details.component-BQmF3WLu.js} +0 -0
  979. /package/{timetable-form-field.component-LuzgeDdh.js → timetable-form-field.component-DrQuTOJr.js} +0 -0
  980. /package/{timetable-form.component-YNDnJnkX.js → timetable-form.component-AbZF15Tg.js} +0 -0
  981. /package/{timetable-occupancy-icon.component-DPNwMhLs.js → timetable-occupancy-icon.component-B6pF-j0D.js} +0 -0
  982. /package/{train-blocked-passage.component-EET0Kobk.js → train-blocked-passage.component-DIh8dbU9.js} +0 -0
  983. /package/{train.component-D_ysGCwu.js → train.component-DuFi_iBX.js} +0 -0
  984. /package/{visual-checkbox.component-CdqoYyEe.js → visual-checkbox.component-BsjmJgcn.js} +0 -0
@@ -1,318 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { html, isServer, unsafeCSS } from "lit";
3
- import { property, state } from "lit/decorators.js";
4
- import { SbbEscapableOverlayController, SbbFocusTrapController, SbbInertController, SbbLanguageController, SbbOpenCloseBaseElement, SbbScrollHandler, SbbUpdateSchedulerMixin, boxSizingStyles, forceType, i18nCloseNavigation, idReference, isEventOnElement, isZeroAnimationDuration, removeAriaOverlayTriggerAttributes, setAriaOverlayTriggerAttributes } from "./core.js";
5
- import { SbbTransparentButtonElement } from "./button.pure.js";
6
- import { ResizeController } from "@lit-labs/observers/resize-controller.js";
7
- import { ref } from "lit/directives/ref.js";
8
- //#region src/elements/navigation/navigation/navigation.scss?inline
9
- var navigation_default = ":host {\n --sbb-navigation-grid-column: 1 / -1;\n --sbb-navigation-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-3x)\n );\n --sbb-navigation-animation-easing: ease-in;\n --sbb-navigation-padding-inline: var(--sbb-layout-base-offset-responsive);\n --sbb-navigation-padding-block-start: var(--sbb-spacing-responsive-l);\n --sbb-navigation-padding-block-end: var(--sbb-spacing-responsive-xl);\n --sbb-navigation-backdrop-visibility: hidden;\n --sbb-navigation-backdrop-pointer-events: none;\n --sbb-navigation-backdrop-color: color-mix(in srgb, var(--sbb-color-black) 70%, transparent);\n --sbb-navigation-backdrop-animation-name: backdrop-open;\n --sbb-navigation-background-color: var(--sbb-background-color-1-negative);\n --sbb-navigation-color: var(--sbb-color-1-negative);\n --sbb-navigation-list-margin-block-start: var(--sbb-spacing-responsive-xxl);\n --sbb-navigation-inline-start: 0;\n --sbb-navigation-expanded-width: 100%;\n --sbb-navigation-inset: 0 auto auto 0;\n --sbb-navigation-translate: -100% 0;\n --sbb-navigation-content-translate: 0;\n --sbb-navigation-width: 100%;\n --sbb-navigation-height: 100dvh;\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);\n display: none;\n position: fixed;\n inset: var(--sbb-navigation-inset);\n z-index: var(--sbb-navigation-z-index, var(--sbb-overlay-default-z-index));\n overflow: hidden;\n}\n@media (min-width: calc(64rem)) {\n :host {\n --sbb-navigation-grid-column: 1 / 5;\n --sbb-navigation-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-6x)\n );\n --sbb-navigation-padding-block-start: var(--sbb-spacing-responsive-xl);\n --sbb-navigation-padding-inline: var(--sbb-layout-base-offset-responsive) 0;\n --sbb-navigation-list-margin-block-start: var(--sbb-spacing-fixed-1x);\n --sbb-navigation-inline-start: calc(var(--sbb-layout-base-offset-responsive) * -1);\n --sbb-navigation-width: calc(100% + var(--sbb-layout-base-offset-responsive));\n }\n}\n@media (min-width: calc(90rem)) {\n :host {\n --sbb-navigation-grid-column: 1 / 6;\n --sbb-navigation-padding-block-start: var(--sbb-spacing-responsive-xxl);\n }\n}\n\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) {\n display: block;\n}\n\n:host(:is(:state(state-opened),[state--state-opened])) {\n --sbb-navigation-animation-easing: ease-out;\n}\n\n:host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-opening),[state--state-opening]))) {\n --sbb-navigation-backdrop-visibility: visible;\n --sbb-navigation-backdrop-pointer-events: all;\n}\n\n:host(:not(:is(:state(state-closed),[state--state-closed]))) {\n --sbb-navigation-inset: 0;\n --sbb-navigation-translate: ;\n}\n\n:host(:is(:state(state-closing),[state--state-closing])) {\n --sbb-navigation-backdrop-animation-name: backdrop-close;\n}\n\n:host(:is(:state(has-open-navigation-section),[state--has-open-navigation-section])) {\n --sbb-navigation-content-translate: -100% 0;\n}\n@media (min-width: calc(64rem)) {\n :host(:is(:state(has-open-navigation-section),[state--has-open-navigation-section])) {\n --sbb-navigation-expanded-width: 100dvw;\n --sbb-navigation-content-translate: 0;\n }\n}\n\n:host(:is(:state(resize-disable-animation),[state--resize-disable-animation])) {\n --sbb-disable-animation-duration: 0s;\n}\n\n.sbb-navigation__container {\n display: grid;\n gap: var(--sbb-grid-base-gutter-responsive);\n grid-template-columns: repeat(var(--sbb-grid-base-columns), 1fr);\n padding-inline: 0;\n pointer-events: none;\n translate: var(--sbb-navigation-translate);\n}\n@media (min-width: calc(64rem)) {\n .sbb-navigation__container {\n padding-inline: var(--sbb-layout-base-offset-responsive);\n }\n .sbb-navigation__container::before {\n transition-duration: var(--sbb-navigation-animation-duration);\n transition-timing-function: var(--sbb-navigation-animation-easing);\n transition-property: visibility;\n animation-name: var(--sbb-navigation-backdrop-animation-name);\n animation-duration: var(--sbb-navigation-animation-duration);\n animation-timing-function: var(--sbb-navigation-animation-easing);\n content: \"\";\n visibility: var(--sbb-navigation-backdrop-visibility);\n pointer-events: var(--sbb-navigation-backdrop-pointer-events);\n position: fixed;\n inset: var(--sbb-navigation-inset);\n background-color: var(--sbb-navigation-backdrop-color);\n }\n}\n\n.sbb-navigation {\n transition-duration: var(--sbb-navigation-animation-duration);\n transition-timing-function: var(--sbb-navigation-animation-easing);\n transition-property: width;\n display: none;\n width: var(--sbb-navigation-width);\n grid-column: var(--sbb-navigation-grid-column);\n padding: 0;\n margin: 0;\n position: relative;\n inset-inline-start: var(--sbb-navigation-inline-start);\n inset-block-start: 0;\n border: none;\n pointer-events: none;\n height: var(--sbb-navigation-height);\n color: var(--sbb-navigation-color);\n background-color: var(--sbb-navigation-background-color);\n}\n.sbb-navigation::before {\n transition-duration: var(--sbb-navigation-animation-duration);\n transition-timing-function: var(--sbb-navigation-animation-easing);\n transition-property: width;\n content: \"\";\n position: absolute;\n width: var(--sbb-navigation-expanded-width);\n height: var(--sbb-navigation-height);\n background: var(--sbb-navigation-background-color);\n}\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) .sbb-navigation {\n display: block;\n pointer-events: all;\n animation-name: open;\n animation-duration: var(--sbb-navigation-animation-duration);\n animation-timing-function: var(--sbb-navigation-animation-easing);\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-navigation {\n pointer-events: none;\n animation-name: close;\n}\n@media (forced-colors: active) {\n .sbb-navigation {\n outline: var(--sbb-border-width-1x) solid CanvasText;\n }\n}\n\n.sbb-navigation__wrapper {\n outline: none;\n}\n\n.sbb-navigation__header {\n transition-duration: var(--sbb-navigation-animation-duration);\n transition-timing-function: var(--sbb-navigation-animation-easing);\n transition-property: width;\n display: flex;\n justify-content: flex-end;\n position: absolute;\n width: var(--sbb-navigation-expanded-width);\n pointer-events: none;\n padding: var(--sbb-spacing-responsive-xs);\n z-index: calc(var(--sbb-navigation-z-index, var(--sbb-overlay-default-z-index)) + 1);\n}\n\n.sbb-navigation__close {\n pointer-events: all;\n}\n\n.sbb-navigation__content {\n transition-duration: var(--sbb-navigation-animation-duration);\n transition-timing-function: var(--sbb-navigation-animation-easing);\n transition-property: translate;\n --sbb-scrollbar-thumb-width: 0.125rem;\n --sbb-scrollbar-thumb-width-hover: 0.25rem;\n --sbb-scrollbar-width-firefox: thin;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-white) 30%, transparent);\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-white) 60%, transparent);\n --sbb-scrollbar-track-color: transparent;\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n}\n.sbb-navigation__content::-webkit-scrollbar {\n width: var(--sbb-scrollbar-width);\n height: var(--sbb-scrollbar-width);\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-navigation__content::-webkit-scrollbar-corner {\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-navigation__content::-webkit-scrollbar-thumb {\n background-color: var(--sbb-scrollbar-color, currentcolor);\n border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;\n border-radius: var(--sbb-border-radius-4x);\n background-clip: padding-box;\n}\n.sbb-navigation__content::-webkit-scrollbar-thumb:hover {\n background-color: var(--sbb-scrollbar-color-hover, currentcolor);\n border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));\n}\n.sbb-navigation__content::-webkit-scrollbar-button, .sbb-navigation__content::-webkit-scrollbar-corner {\n display: none;\n}\n@supports not selector(::-webkit-scrollbar) {\n .sbb-navigation__content {\n scrollbar-width: var(--sbb-scrollbar-width-firefox);\n scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);\n }\n}\n.sbb-navigation__content {\n display: flex;\n flex-direction: column;\n gap: var(--sbb-spacing-responsive-xxl);\n position: relative;\n height: var(--sbb-navigation-height);\n padding-inline: var(--sbb-navigation-padding-inline);\n padding-block: var(--sbb-navigation-padding-block-start) var(--sbb-navigation-padding-block-end);\n overflow-y: auto;\n translate: var(--sbb-navigation-content-translate);\n}\n\n::slotted(:first-child) {\n margin-block-start: var(--sbb-navigation-list-margin-block-start);\n}\n\n@keyframes open {\n from {\n translate: -100% 0;\n }\n to {\n translate: 0;\n }\n}\n@keyframes close {\n from {\n translate: 0;\n }\n to {\n translate: -100% 0;\n }\n}\n@keyframes backdrop-open {\n from {\n background-color: transparent;\n }\n}\n@keyframes backdrop-close {\n to {\n background-color: transparent;\n }\n}";
10
- //#endregion
11
- //#region src/elements/navigation/navigation/navigation.component.ts
12
- var nextId = 0;
13
- var DEBOUNCE_TIME = 150;
14
- /**
15
- * It displays a navigation menu, wrapping one or more `sbb-navigation-*` components.
16
- *
17
- * @slot - Use the unnamed slot to add `sbb-navigation-button`/`sbb-navigation-link` elements into the sbb-navigation menu.
18
- * @cssprop [--sbb-navigation-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
19
- * the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
20
- * component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
21
- */
22
- var SbbNavigationElement = (() => {
23
- let _classSuper = SbbUpdateSchedulerMixin(SbbOpenCloseBaseElement);
24
- let _trigger_decorators;
25
- let _trigger_initializers = [];
26
- let _trigger_extraInitializers = [];
27
- let _accessibilityCloseLabel_decorators;
28
- let _accessibilityCloseLabel_initializers = [];
29
- let _accessibilityCloseLabel_extraInitializers = [];
30
- let __activeNavigationSection_decorators;
31
- let __activeNavigationSection_initializers = [];
32
- let __activeNavigationSection_extraInitializers = [];
33
- return class SbbNavigationElement extends _classSuper {
34
- static {
35
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
36
- _trigger_decorators = [idReference(), property()];
37
- _accessibilityCloseLabel_decorators = [forceType(), property({ attribute: "accessibility-close-label" })];
38
- __activeNavigationSection_decorators = [state()];
39
- __esDecorate(this, null, _trigger_decorators, {
40
- kind: "accessor",
41
- name: "trigger",
42
- static: false,
43
- private: false,
44
- access: {
45
- has: (obj) => "trigger" in obj,
46
- get: (obj) => obj.trigger,
47
- set: (obj, value) => {
48
- obj.trigger = value;
49
- }
50
- },
51
- metadata: _metadata
52
- }, _trigger_initializers, _trigger_extraInitializers);
53
- __esDecorate(this, null, _accessibilityCloseLabel_decorators, {
54
- kind: "accessor",
55
- name: "accessibilityCloseLabel",
56
- static: false,
57
- private: false,
58
- access: {
59
- has: (obj) => "accessibilityCloseLabel" in obj,
60
- get: (obj) => obj.accessibilityCloseLabel,
61
- set: (obj, value) => {
62
- obj.accessibilityCloseLabel = value;
63
- }
64
- },
65
- metadata: _metadata
66
- }, _accessibilityCloseLabel_initializers, _accessibilityCloseLabel_extraInitializers);
67
- __esDecorate(this, null, __activeNavigationSection_decorators, {
68
- kind: "accessor",
69
- name: "_activeNavigationSection",
70
- static: false,
71
- private: false,
72
- access: {
73
- has: (obj) => "_activeNavigationSection" in obj,
74
- get: (obj) => obj._activeNavigationSection,
75
- set: (obj, value) => {
76
- obj._activeNavigationSection = value;
77
- }
78
- },
79
- metadata: _metadata
80
- }, __activeNavigationSection_initializers, __activeNavigationSection_extraInitializers);
81
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
82
- enumerable: true,
83
- configurable: true,
84
- writable: true,
85
- value: _metadata
86
- });
87
- }
88
- static {
89
- this.elementName = "sbb-navigation";
90
- }
91
- static {
92
- this.elementDependencies = [SbbTransparentButtonElement];
93
- }
94
- static {
95
- this.role = "navigation";
96
- }
97
- static {
98
- this.styles = [boxSizingStyles, unsafeCSS(navigation_default)];
99
- }
100
- #trigger_accessor_storage;
101
- /**
102
- * The element that will trigger the navigation.
103
- *
104
- * For attribute usage, provide an id reference.
105
- */
106
- get trigger() {
107
- return this.#trigger_accessor_storage;
108
- }
109
- set trigger(value) {
110
- this.#trigger_accessor_storage = value;
111
- }
112
- #accessibilityCloseLabel_accessor_storage;
113
- /** This will be forwarded as aria-label to the close button element. */
114
- get accessibilityCloseLabel() {
115
- return this.#accessibilityCloseLabel_accessor_storage;
116
- }
117
- set accessibilityCloseLabel(value) {
118
- this.#accessibilityCloseLabel_accessor_storage = value;
119
- }
120
- #_activeNavigationSection_accessor_storage;
121
- /** Whether a navigation section is displayed. */
122
- get _activeNavigationSection() {
123
- return this.#_activeNavigationSection_accessor_storage;
124
- }
125
- set _activeNavigationSection(value) {
126
- this.#_activeNavigationSection_accessor_storage = value;
127
- }
128
- /** Returns the active navigation section element. */
129
- get activeNavigationSection() {
130
- return this._activeNavigationSection;
131
- }
132
- /** Returns the close button element. */
133
- get closeButton() {
134
- return this.shadowRoot?.querySelector("#sbb-navigation-close-button") ?? null;
135
- }
136
- /** Returns the navigation content element. */
137
- get navigationContent() {
138
- return this.shadowRoot?.querySelector(".sbb-navigation__content") ?? null;
139
- }
140
- constructor() {
141
- super();
142
- this.#trigger_accessor_storage = __runInitializers(this, _trigger_initializers, null);
143
- this.#accessibilityCloseLabel_accessor_storage = (__runInitializers(this, _trigger_extraInitializers), __runInitializers(this, _accessibilityCloseLabel_initializers, ""));
144
- this.#_activeNavigationSection_accessor_storage = (__runInitializers(this, _accessibilityCloseLabel_extraInitializers), __runInitializers(this, __activeNavigationSection_initializers, null));
145
- this._navigation = __runInitializers(this, __activeNavigationSection_extraInitializers);
146
- this._triggerElement = null;
147
- this._language = new SbbLanguageController(this);
148
- this._inertController = new SbbInertController(this);
149
- this._escapableOverlayController = new SbbEscapableOverlayController(this);
150
- this._focusTrapController = new SbbFocusTrapController(this);
151
- this._scrollHandler = new SbbScrollHandler();
152
- this._isPointerDownEventOnNavigation = false;
153
- this._resizeObserverTimeout = null;
154
- this._navigationResizeObserver = new ResizeController(this, {
155
- skipInitial: true,
156
- callback: () => this._onNavigationResize()
157
- });
158
- this._pointerDownListener = (event) => {
159
- this._isPointerDownEventOnNavigation = isEventOnElement(this._navigation, event) || isEventOnElement(this.querySelector("sbb-navigation-section:is(:state(state-opened),[state--state-opened])")?.shadowRoot?.querySelector("nav.sbb-navigation-section"), event);
160
- };
161
- this._closeOnBackdropClick = (event) => {
162
- if (!this._isPointerDownEventOnNavigation && !isEventOnElement(this._navigation, event)) this.close();
163
- };
164
- this.addEventListener?.("click", (event) => this._handleNavigationClose(event));
165
- this.addEventListener?.("pointerup", (event) => this._closeOnBackdropClick(event));
166
- this.addEventListener?.("pointerdown", (event) => this._pointerDownListener(event));
167
- this.addEventListener?.("ɵnavigationsectionopening", (event) => {
168
- this._activeNavigationSection = event.target;
169
- this.toggleState("has-open-navigation-section", !!this._activeNavigationSection);
170
- }, { capture: true });
171
- this.addEventListener?.("ɵnavigationsectionclosing", (event) => {
172
- if (this._activeNavigationSection === event.target) {
173
- this._activeNavigationSection = null;
174
- this.internals.states.delete("has-open-navigation-section");
175
- }
176
- }, { capture: true });
177
- }
178
- /** Opens the navigation. */
179
- open() {
180
- if (this.state !== "closed" || !this.hasUpdated || !this.dispatchBeforeOpenEvent()) return;
181
- this.showPopover?.();
182
- this.state = "opening";
183
- this._checkActiveActions();
184
- this._checkActiveSection();
185
- this.startUpdate();
186
- this._scrollHandler.disableScroll();
187
- this._triggerElement?.setAttribute("aria-expanded", "true");
188
- if (this._isZeroAnimationDuration()) this._handleOpening();
189
- }
190
- _checkActiveSection() {
191
- this.querySelector("sbb-navigation-button.sbb-active")?.connectedSection?.open();
192
- }
193
- _checkActiveActions() {
194
- Array.from(this.querySelectorAll(":is(sbb-navigation-button, sbb-navigation-link).sbb-active"))?.forEach((action) => action.marker?.select(action));
195
- }
196
- /** Closes the navigation. */
197
- close() {
198
- if (this.state !== "opened" || !this.dispatchBeforeCloseEvent()) return;
199
- this.state = "closing";
200
- this.startUpdate();
201
- this._triggerElement?.setAttribute("aria-expanded", "false");
202
- if (this._isZeroAnimationDuration()) this._handleClosing();
203
- }
204
- _isZeroAnimationDuration() {
205
- return isZeroAnimationDuration(this, "--sbb-navigation-animation-duration");
206
- }
207
- _handleClosing() {
208
- this.state = "closed";
209
- this.hidePopover?.();
210
- this.navigationContent?.scrollTo(0, 0);
211
- this._inertController.deactivate();
212
- this._triggerElement?.focus();
213
- this._escapableOverlayController.disconnect();
214
- this.dispatchCloseEvent();
215
- this._navigationResizeObserver.unobserve(this);
216
- this._resetMarkers();
217
- this._focusTrapController.enabled = false;
218
- this._scrollHandler.enableScroll();
219
- this.completeUpdate();
220
- }
221
- _handleOpening() {
222
- this.state = "opened";
223
- this._navigationResizeObserver.observe(this);
224
- this._inertController.activate();
225
- this._escapableOverlayController.connect();
226
- this._focusTrapController.focusInitialElement();
227
- this._focusTrapController.enabled = true;
228
- this.completeUpdate();
229
- this.dispatchOpenEvent();
230
- }
231
- _configureTrigger() {
232
- if (this.trigger === this._triggerElement) return;
233
- this._triggerAbortController?.abort();
234
- removeAriaOverlayTriggerAttributes(this._triggerElement);
235
- this._triggerElement = this.trigger;
236
- if (!this._triggerElement) return;
237
- setAriaOverlayTriggerAttributes(this._triggerElement, "menu", this.id, this.state);
238
- this._triggerAbortController = new AbortController();
239
- this._triggerElement.addEventListener("click", () => this.open(), { signal: this._triggerAbortController.signal });
240
- }
241
- _onAnimationEnd(event) {
242
- if (event.animationName === "open" && this.state === "opening") this._handleOpening();
243
- else if (event.animationName === "close" && this.state === "closing") this._handleClosing();
244
- }
245
- _resetMarkers() {
246
- Array.from(this.querySelectorAll(":is(sbb-navigation-button, sbb-navigation-link):is(:state(action-active),[state--action-active]):not(.sbb-active)"))?.forEach((action) => action.marker?.reset());
247
- }
248
- _handleNavigationClose(event) {
249
- if (event.composedPath().filter((el) => el instanceof window.HTMLElement).some((el) => this._isCloseElement(el))) this.close();
250
- }
251
- _isCloseElement(element) {
252
- return element.nodeName === "A" || element.hasAttribute("sbb-navigation-close") && !element.hasAttribute("disabled");
253
- }
254
- _onNavigationResize() {
255
- if (this.state !== "opened") return;
256
- if (this._resizeObserverTimeout) clearTimeout(this._resizeObserverTimeout);
257
- this.internals.states.add("resize-disable-animation");
258
- this._resizeObserverTimeout = setTimeout(() => this.internals.states.delete("resize-disable-animation"), DEBOUNCE_TIME);
259
- }
260
- connectedCallback() {
261
- super.connectedCallback();
262
- this.popover = "manual";
263
- this.id ||= `sbb-navigation-${nextId++}`;
264
- if (this.hasUpdated) this._configureTrigger();
265
- }
266
- disconnectedCallback() {
267
- super.disconnectedCallback();
268
- this._triggerElement = null;
269
- this._triggerAbortController?.abort();
270
- this._scrollHandler.enableScroll();
271
- }
272
- requestUpdate(name, oldValue, options) {
273
- super.requestUpdate(name, oldValue, options);
274
- if (!isServer && (!name || name === "trigger") && this.hasUpdated) this._configureTrigger();
275
- }
276
- firstUpdated(changedProperties) {
277
- super.firstUpdated(changedProperties);
278
- this._configureTrigger();
279
- }
280
- render() {
281
- const closeButton = html`
282
- <sbb-transparent-button
283
- id="sbb-navigation-close-button"
284
- class="sbb-navigation__close"
285
- aria-label=${this.accessibilityCloseLabel || i18nCloseNavigation[this._language.current]}
286
- aria-controls="sbb-navigation-overlay"
287
- negative
288
- size="m"
289
- type="button"
290
- icon-name="cross-small"
291
- sbb-navigation-close
292
- ></sbb-transparent-button>
293
- `;
294
- return html`
295
- <div class="sbb-navigation__container">
296
- <div
297
- id="sbb-navigation-overlay"
298
- @animationend=${this._onAnimationEnd}
299
- class="sbb-navigation"
300
- ${ref((navigationRef) => this._navigation = navigationRef)}
301
- >
302
- <div class="sbb-navigation__header">${closeButton}</div>
303
- <div class="sbb-navigation__wrapper">
304
- <div class="sbb-navigation__content">
305
- <slot></slot>
306
- </div>
307
- </div>
308
- </div>
309
- <slot name="navigation-section"></slot>
310
- </div>
311
- `;
312
- }
313
- };
314
- })();
315
- //#endregion
316
- export { SbbNavigationElement as t };
317
-
318
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQtQzhNaHFCTFkuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydGllcy4uLikge1xuICB0cmFuc2l0aW9uOiB7XG4gICAgZHVyYXRpb246IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZWFzaW5nKTtcbiAgICBwcm9wZXJ0eTogJHByb3BlcnRpZXM7XG4gIH1cbn1cblxuOmhvc3Qge1xuICAtLXNiYi1uYXZpZ2F0aW9uLWdyaWQtY29sdW1uOiAxIC8gLTE7XG4gIC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0zeClcbiAgKTtcbiAgLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZWFzaW5nOiBlYXNlLWluO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItbGF5b3V0LWJhc2Utb2Zmc2V0LXJlc3BvbnNpdmUpO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbCk7XG4gIC0tc2JiLW5hdmlnYXRpb24tcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteGwpO1xuICAtLXNiYi1uYXZpZ2F0aW9uLWJhY2tkcm9wLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1jb2xvci1ibGFjaykgNzAlLCB0cmFuc3BhcmVudCk7XG4gIC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtYW5pbWF0aW9uLW5hbWU6IGJhY2tkcm9wLW9wZW47XG4gIC0tc2JiLW5hdmlnYXRpb24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMS1uZWdhdGl2ZSk7XG4gIC0tc2JiLW5hdmlnYXRpb24tY29sb3I6IHZhcigtLXNiYi1jb2xvci0xLW5lZ2F0aXZlKTtcbiAgLS1zYmItbmF2aWdhdGlvbi1saXN0LW1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eGwpO1xuICAtLXNiYi1uYXZpZ2F0aW9uLWlubGluZS1zdGFydDogMDtcbiAgLS1zYmItbmF2aWdhdGlvbi1leHBhbmRlZC13aWR0aDogMTAwJTtcbiAgLS1zYmItbmF2aWdhdGlvbi1pbnNldDogMCBhdXRvIGF1dG8gMDtcbiAgLS1zYmItbmF2aWdhdGlvbi10cmFuc2xhdGU6IC0xMDAlIDA7XG4gIC0tc2JiLW5hdmlnYXRpb24tY29udGVudC10cmFuc2xhdGU6IDA7XG4gIC0tc2JiLW5hdmlnYXRpb24td2lkdGg6IDEwMCU7XG4gIC0tc2JiLW5hdmlnYXRpb24taGVpZ2h0OiAxMDBkdmg7XG4gIC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWluc2V0KTtcbiAgei1pbmRleDogdmFyKC0tc2JiLW5hdmlnYXRpb24tei1pbmRleCwgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLW5hdmlnYXRpb24tZ3JpZC1jb2x1bW46IDEgLyA1O1xuICAgIC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICAgKTtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteGwpO1xuICAgIC0tc2JiLW5hdmlnYXRpb24tcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1sYXlvdXQtYmFzZS1vZmZzZXQtcmVzcG9uc2l2ZSkgMDtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLWxpc3QtbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xeCk7XG4gICAgLS1zYmItbmF2aWdhdGlvbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tc2JiLWxheW91dC1iYXNlLW9mZnNldC1yZXNwb25zaXZlKSAqIC0xKTtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1zYmItbGF5b3V0LWJhc2Utb2Zmc2V0LXJlc3BvbnNpdmUpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogdWx0cmEpIHtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLWdyaWQtY29sdW1uOiAxIC8gNjtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHhsKTtcbiAgfVxufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSwgOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5lZCkpIHtcbiAgLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZWFzaW5nOiBlYXNlLW91dDtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtb3BlbmluZykpKSB7XG4gIC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1wb2ludGVyLWV2ZW50czogYWxsO1xufVxuXG46aG9zdCg6bm90KDpzdGF0ZShzdGF0ZS1jbG9zZWQpKSkge1xuICAtLXNiYi1uYXZpZ2F0aW9uLWluc2V0OiAwO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXRyYW5zbGF0ZTogO1xufVxuXG46aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZykpIHtcbiAgLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1hbmltYXRpb24tbmFtZTogYmFja2Ryb3AtY2xvc2U7XG59XG5cbjpob3N0KDpzdGF0ZShoYXMtb3Blbi1uYXZpZ2F0aW9uLXNlY3Rpb24pKSB7XG4gIC0tc2JiLW5hdmlnYXRpb24tY29udGVudC10cmFuc2xhdGU6IC0xMDAlIDA7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiAnbGFyZ2UnKSB7XG4gICAgLS1zYmItbmF2aWdhdGlvbi1leHBhbmRlZC13aWR0aDogMTAwZHZ3O1xuICAgIC0tc2JiLW5hdmlnYXRpb24tY29udGVudC10cmFuc2xhdGU6IDA7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKHJlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbikpIHtcbiAgQGluY2x1ZGUgc2JiLmRpc2FibGUtYW5pbWF0aW9uO1xufVxuXG4uc2JiLW5hdmlnYXRpb25fX2NvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHNiYi5ncmlkLWJhc2U7XG5cbiAgcGFkZGluZy1pbmxpbmU6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2xhdGU6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXRyYW5zbGF0ZSk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItbGF5b3V0LWJhc2Utb2Zmc2V0LXJlc3BvbnNpdmUpO1xuXG4gICAgLy8gTmF2aWdhdGlvbiBiYWNrZHJvcCAobm90IHZpc2libGUgb24gbW9iaWxlKVxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZpc2liaWxpdHkpO1xuXG4gICAgICBhbmltYXRpb246IHtcbiAgICAgICAgbmFtZTogdmFyKC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtYW5pbWF0aW9uLW5hbWUpO1xuICAgICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZWFzaW5nKTtcbiAgICAgIH1cblxuICAgICAgY29udGVudDogJyc7XG4gICAgICB2aXNpYmlsaXR5OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC12aXNpYmlsaXR5KTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1wb2ludGVyLWV2ZW50cyk7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBpbnNldDogdmFyKC0tc2JiLW5hdmlnYXRpb24taW5zZXQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLW5hdmlnYXRpb24ge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoKTtcblxuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogdmFyKC0tc2JiLW5hdmlnYXRpb24td2lkdGgpO1xuICBncmlkLWNvbHVtbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tZ3JpZC1jb2x1bW4pO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1pbmxpbmUtc3RhcnQpO1xuICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgYm9yZGVyOiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tc2JiLW5hdmlnYXRpb24tY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGgpO1xuXG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1leHBhbmRlZC13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1oZWlnaHQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWJhY2tncm91bmQtY29sb3IpO1xuICB9XG5cbiAgOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgb3V0bGluZTogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgfVxufVxuXG4uc2JiLW5hdmlnYXRpb25fX3dyYXBwZXIge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uc2JiLW5hdmlnYXRpb25fX2hlYWRlciB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGgpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWV4cGFuZGVkLXdpZHRoKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBhZGRpbmc6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHMpO1xuICB6LWluZGV4OiBjYWxjKHZhcigtLXNiYi1uYXZpZ2F0aW9uLXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpICsgMSk7XG59XG5cbi5zYmItbmF2aWdhdGlvbl9fY2xvc2Uge1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xufVxuXG4uc2JiLW5hdmlnYXRpb25fX2NvbnRlbnQge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zbGF0ZSk7XG4gIEBpbmNsdWRlIHNiYi5zY3JvbGxiYXIoJG5lZ2F0aXZlOiB0cnVlKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHhsKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWhlaWdodCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1wYWRkaW5nLWlubGluZSk7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stc3RhcnQpIHZhcigtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stZW5kKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNsYXRlOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1jb250ZW50LXRyYW5zbGF0ZSk7XG59XG5cbjo6c2xvdHRlZCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1saXN0LW1hcmdpbi1ibG9jay1zdGFydCk7XG59XG5cbkBrZXlmcmFtZXMgb3BlbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zbGF0ZTogLTEwMCUgMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zbGF0ZTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2xhdGU6IC0xMDAlIDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBiYWNrZHJvcC1vcGVuIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBiYWNrZHJvcC1jbG9zZSB7XG4gIHRvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgU2JiVHJhbnNwYXJlbnRCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uLnB1cmUudHMnO1xuaW1wb3J0IHtcbiAgU2JiRm9jdXNUcmFwQ29udHJvbGxlcixcbiAgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIsXG4gIFNiYkluZXJ0Q29udHJvbGxlcixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBmb3JjZVR5cGUsXG4gIGlkUmVmZXJlbmNlLFxuICBpc1plcm9BbmltYXRpb25EdXJhdGlvbixcbiAgU2JiU2Nyb2xsSGFuZGxlcixcbiAgaTE4bkNsb3NlTmF2aWdhdGlvbixcbiAgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4sXG4gIGlzRXZlbnRPbkVsZW1lbnQsXG4gIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG4gIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG4gIGJveFNpemluZ1N0eWxlcyxcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCwgdHlwZSBTYmJFbGVtZW50VHlwZSB9IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tYnV0dG9uL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tbGluay9uYXZpZ2F0aW9uLWxpbmsuY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1zZWN0aW9uL25hdmlnYXRpb24tc2VjdGlvbi5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9uYXZpZ2F0aW9uLnNjc3M/aW5saW5lJztcblxubGV0IG5leHRJZCA9IDA7XG5jb25zdCBERUJPVU5DRV9USU1FID0gMTUwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgbmF2aWdhdGlvbiBtZW51LCB3cmFwcGluZyBvbmUgb3IgbW9yZSBgc2JiLW5hdmlnYXRpb24tKmAgY29tcG9uZW50cy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLW5hdmlnYXRpb24tYnV0dG9uYC9gc2JiLW5hdmlnYXRpb24tbGlua2AgZWxlbWVudHMgaW50byB0aGUgc2JiLW5hdmlnYXRpb24gbWVudS5cbiAqIEBjc3Nwcm9wIFstLXNiYi1uYXZpZ2F0aW9uLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYk5hdmlnYXRpb25FbGVtZW50IGV4dGVuZHMgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1uYXZpZ2F0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBlbGVtZW50RGVwZW5kZW5jaWVzOiBTYmJFbGVtZW50VHlwZVtdID0gW1NiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudF07XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICduYXZpZ2F0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBuYXZpZ2F0aW9uLlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGNsb3NlIGJ1dHRvbiBlbGVtZW50LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1jbG9zZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKiogV2hldGhlciBhIG5hdmlnYXRpb24gc2VjdGlvbiBpcyBkaXNwbGF5ZWQuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uOiBTYmJOYXZpZ2F0aW9uU2VjdGlvbkVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogUmV0dXJucyB0aGUgYWN0aXZlIG5hdmlnYXRpb24gc2VjdGlvbiBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IGFjdGl2ZU5hdmlnYXRpb25TZWN0aW9uKCk6IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbjtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBjbG9zZSBidXR0b24gZWxlbWVudC4gKi9cbiAgcHVibGljIGdldCBjbG9zZUJ1dHRvbigpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoJyNzYmItbmF2aWdhdGlvbi1jbG9zZS1idXR0b24nKSA/PyBudWxsO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIG5hdmlnYXRpb24gY29udGVudCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IG5hdmlnYXRpb25Db250ZW50KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignLnNiYi1uYXZpZ2F0aW9uX19jb250ZW50JykgPz8gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX25hdmlnYXRpb24hOiBIVE1MRGl2RWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfaW5lcnRDb250cm9sbGVyID0gbmV3IFNiYkluZXJ0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2ZvY3VzVHJhcENvbnRyb2xsZXIgPSBuZXcgU2JiRm9jdXNUcmFwQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfc2Nyb2xsSGFuZGxlciA9IG5ldyBTYmJTY3JvbGxIYW5kbGVyKCk7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uTmF2aWdhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlclRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX25hdmlnYXRpb25SZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fb25OYXZpZ2F0aW9uUmVzaXplKCksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChldmVudCkgPT4gdGhpcy5faGFuZGxlTmF2aWdhdGlvbkNsb3NlKGV2ZW50KSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJ1cCcsIChldmVudCkgPT4gdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2soZXZlbnQpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncG9pbnRlcmRvd24nLCAoZXZlbnQpID0+IHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIoZXZlbnQpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LihcbiAgICAgICfJtW5hdmlnYXRpb25zZWN0aW9ub3BlbmluZycsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24gPSBldmVudC50YXJnZXQgYXMgU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50O1xuICAgICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdoYXMtb3Blbi1uYXZpZ2F0aW9uLXNlY3Rpb24nLCAhIXRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uKTtcbiAgICAgIH0sXG4gICAgICB7IGNhcHR1cmU6IHRydWUgfSxcbiAgICApO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgJ8m1bmF2aWdhdGlvbnNlY3Rpb25jbG9zaW5nJyxcbiAgICAgIChldmVudCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24gPT09IGV2ZW50LnRhcmdldCkge1xuICAgICAgICAgIHRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uID0gbnVsbDtcbiAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdoYXMtb3Blbi1uYXZpZ2F0aW9uLXNlY3Rpb24nKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgY2FwdHVyZTogdHJ1ZSB9LFxuICAgICk7XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIG5hdmlnYXRpb24uICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJyB8fCAhdGhpcy5oYXNVcGRhdGVkIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlQWN0aW9ucygpO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlU2VjdGlvbigpO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcblxuICAgIC8vIERpc2FibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBuYXZpZ2F0aW9uXG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5kaXNhYmxlU2Nyb2xsKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlU2VjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnc2JiLW5hdmlnYXRpb24tYnV0dG9uLnNiYi1hY3RpdmUnLFxuICAgICkgYXMgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQ7XG4gICAgYWN0aXZlQWN0aW9uPy5jb25uZWN0ZWRTZWN0aW9uPy5vcGVuKCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FjdGl2ZUFjdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlQWN0aW9ucyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspLnNiYi1hY3RpdmUnKSxcbiAgICApIGFzIChTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudClbXTtcbiAgICBhY3RpdmVBY3Rpb25zPy5mb3JFYWNoKChhY3Rpb24pID0+IGFjdGlvbi5tYXJrZXI/LnNlbGVjdChhY3Rpb24pKTtcbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIG5hdmlnYXRpb24uICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcgfHwgIXRoaXMuZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuICAgIHRoaXMubmF2aWdhdGlvbkNvbnRlbnQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5kZWFjdGl2YXRlKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gICAgdGhpcy5fbmF2aWdhdGlvblJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzKTtcbiAgICB0aGlzLl9yZXNldE1hcmtlcnMoKTtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcblxuICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIG5hdmlnYXRpb25cbiAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmVuYWJsZVNjcm9sbCgpO1xuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuX25hdmlnYXRpb25SZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMpO1xuICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmNvbm5lY3QoKTtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmZvY3VzSW5pdGlhbEVsZW1lbnQoKTtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICAvLyBSZW1vdmVzIHRyaWdnZXIgY2xpY2sgbGlzdGVuZXIgb24gdHJpZ2dlciBjaGFuZ2UuXG4gIC8vIENoZWNrIGlmIHRoZSB0cmlnZ2VyIGlzIHZhbGlkIGFuZCBhdHRhY2ggY2xpY2sgZXZlbnQgbGlzdGVuZXJzLlxuICBwcml2YXRlIF9jb25maWd1cmVUcmlnZ2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09IHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnbWVudScsIHRoaXMuaWQsIHRoaXMuc3RhdGUpO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW4oKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEluIHJhcmUgY2FzZXMgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJpdmF0ZSBfb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXRNYXJrZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZUFjdGlvbnMgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAnOmlzKHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbiwgc2JiLW5hdmlnYXRpb24tbGluayk6c3RhdGUoYWN0aW9uLWFjdGl2ZSk6bm90KC5zYmItYWN0aXZlKScsXG4gICAgICApLFxuICAgICkgYXMgKFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50KVtdO1xuICAgIGFjdGl2ZUFjdGlvbnM/LmZvckVhY2goKGFjdGlvbikgPT4gYWN0aW9uLm1hcmtlcj8ucmVzZXQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVOYXZpZ2F0aW9uQ2xvc2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY29tcG9zZWRQYXRoRWxlbWVudHMgPSBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpO1xuICAgIGlmIChjb21wb3NlZFBhdGhFbGVtZW50cy5zb21lKChlbCkgPT4gdGhpcy5faXNDbG9zZUVsZW1lbnQoZWwgYXMgSFRNTEVsZW1lbnQpKSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzQ2xvc2VFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGVsZW1lbnQubm9kZU5hbWUgPT09ICdBJyB8fFxuICAgICAgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItbmF2aWdhdGlvbi1jbG9zZScpICYmICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSlcbiAgICApO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIG5hdmlnYXRpb24uXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uTmF2aWdhdGlvbiA9XG4gICAgICBpc0V2ZW50T25FbGVtZW50KHRoaXMuX25hdmlnYXRpb24sIGV2ZW50KSB8fFxuICAgICAgaXNFdmVudE9uRWxlbWVudChcbiAgICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItbmF2aWdhdGlvbi1zZWN0aW9uOnN0YXRlKHN0YXRlLW9wZW5lZCknKT8uc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAnbmF2LnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24nLFxuICAgICAgICApIGFzIEhUTUxFbGVtZW50LFxuICAgICAgICBldmVudCxcbiAgICAgICk7XG4gIH07XG5cbiAgLy8gQ2xvc2UgbmF2aWdhdGlvbiBvbiBiYWNrZHJvcCBjbGljay5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25OYXZpZ2F0aW9uICYmICFpc0V2ZW50T25FbGVtZW50KHRoaXMuX25hdmlnYXRpb24sIGV2ZW50KSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vbk5hdmlnYXRpb25SZXNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCk7XG4gICAgfVxuXG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgncmVzaXplLWRpc2FibGUtYW5pbWF0aW9uJyk7XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBhbmltYXRpb24gd2hlbiByZXNpemluZyB0aGUgbmF2aWdhdGlvbiB0byBhdm9pZCBzdHJhbmdlIGhlaWdodCB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ3Jlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicpLFxuICAgICAgREVCT1VOQ0VfVElNRSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1uYXZpZ2F0aW9uLSR7bmV4dElkKyt9YDtcbiAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSBodG1sYFxuICAgICAgPHNiYi10cmFuc3BhcmVudC1idXR0b25cbiAgICAgICAgaWQ9XCJzYmItbmF2aWdhdGlvbi1jbG9zZS1idXR0b25cIlxuICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19jbG9zZVwiXG4gICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsIHx8IGkxOG5DbG9zZU5hdmlnYXRpb25bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgIGFyaWEtY29udHJvbHM9XCJzYmItbmF2aWdhdGlvbi1vdmVybGF5XCJcbiAgICAgICAgbmVnYXRpdmVcbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICBzYmItbmF2aWdhdGlvbi1jbG9zZVxuICAgICAgPjwvc2JiLXRyYW5zcGFyZW50LWJ1dHRvbj5cbiAgICBgO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb25fX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgaWQ9XCJzYmItbmF2aWdhdGlvbi1vdmVybGF5XCJcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25BbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvblwiXG4gICAgICAgICAgJHtyZWYoKG5hdmlnYXRpb25SZWY/OiBFbGVtZW50KSA9PiAodGhpcy5fbmF2aWdhdGlvbiA9IG5hdmlnYXRpb25SZWYgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9faGVhZGVyXCI+JHtjbG9zZUJ1dHRvbn08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb25fX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9fY29udGVudFwiPlxuICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzbG90IG5hbWU9XCJuYXZpZ2F0aW9uLXNlY3Rpb25cIj48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbic6IFNiYk5hdmlnYXRpb25FbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FDcUNBLElBQUksU0FBUztBQUNiLElBQU0sZ0JBQWdCOzs7Ozs7Ozs7SUFVVCw4QkFBb0I7bUJBQVMsd0JBQXdCLHdCQUF3Qjs7Ozs7Ozs7Oztj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