@sbb-esta/lyne-elements 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. package/autocomplete/autocomplete-base-element.d.ts +93 -0
  2. package/autocomplete/autocomplete-base-element.d.ts.map +1 -0
  3. package/autocomplete/autocomplete.d.ts +13 -86
  4. package/autocomplete/autocomplete.d.ts.map +1 -1
  5. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +45 -0
  6. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
  7. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +33 -0
  8. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -0
  9. package/autocomplete-grid/autocomplete-grid-button.d.ts +2 -0
  10. package/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
  11. package/autocomplete-grid/autocomplete-grid-button.js +66 -0
  12. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts +17 -0
  13. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -0
  14. package/autocomplete-grid/autocomplete-grid-cell.d.ts +2 -0
  15. package/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
  16. package/autocomplete-grid/autocomplete-grid-cell.js +28 -0
  17. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +21 -0
  18. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -0
  19. package/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts +2 -0
  20. package/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts.map +1 -0
  21. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts +2 -0
  22. package/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
  23. package/autocomplete-grid/autocomplete-grid-optgroup.js +37 -0
  24. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +40 -0
  25. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -0
  26. package/autocomplete-grid/autocomplete-grid-option.d.ts +2 -0
  27. package/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
  28. package/autocomplete-grid/autocomplete-grid-option.js +67 -0
  29. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts +18 -0
  30. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -0
  31. package/autocomplete-grid/autocomplete-grid-row.d.ts +2 -0
  32. package/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
  33. package/autocomplete-grid/autocomplete-grid-row.js +31 -0
  34. package/autocomplete-grid/autocomplete-grid.d.ts +2 -0
  35. package/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
  36. package/autocomplete-grid/autocomplete-grid.js +139 -0
  37. package/autocomplete-grid.d.ts +7 -0
  38. package/autocomplete-grid.d.ts.map +1 -0
  39. package/autocomplete-grid.js +6 -0
  40. package/autocomplete.d.ts +1 -0
  41. package/autocomplete.d.ts.map +1 -1
  42. package/autocomplete.js +162 -145
  43. package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  44. package/button/mini-button/mini-button-base-element.d.ts +9 -0
  45. package/button/mini-button/mini-button-base-element.d.ts.map +1 -0
  46. package/button/mini-button/mini-button.d.ts +3 -4
  47. package/button/mini-button/mini-button.d.ts.map +1 -1
  48. package/button/mini-button.d.ts +1 -0
  49. package/button/mini-button.d.ts.map +1 -1
  50. package/button/mini-button.js +23 -13
  51. package/checkbox/checkbox/checkbox.d.ts +5 -0
  52. package/checkbox/checkbox/checkbox.d.ts.map +1 -1
  53. package/checkbox/checkbox-panel/checkbox-panel.d.ts +5 -0
  54. package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  55. package/checkbox/checkbox-panel.js +28 -18
  56. package/checkbox/checkbox.js +30 -19
  57. package/checkbox/common/checkbox-common.d.ts +1 -3
  58. package/checkbox/common/checkbox-common.d.ts.map +1 -1
  59. package/checkbox/common.js +16 -25
  60. package/container/container.js +3 -3
  61. package/core/i18n/i18n.d.ts +2 -0
  62. package/core/i18n/i18n.d.ts.map +1 -1
  63. package/core/i18n.js +61 -49
  64. package/core/mixins/form-associated-mixin.d.ts.map +1 -1
  65. package/core/mixins/panel-mixin.d.ts +1 -0
  66. package/core/mixins/panel-mixin.d.ts.map +1 -1
  67. package/core/mixins.js +3 -1
  68. package/core/overlay/overlay-trigger-attributes.d.ts +1 -1
  69. package/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  70. package/core/overlay.js +2 -2
  71. package/core/styles/core.scss +1 -0
  72. package/core/styles/mixins/buttons.scss +13 -8
  73. package/core/styles/mixins/helpers.scss +1 -0
  74. package/core/styles/mixins/pearl-chain-bullet.scss +1 -1
  75. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +1 -0
  76. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +2 -1
  77. package/core.css +3 -1
  78. package/custom-elements.json +14325 -9229
  79. package/datepicker/datepicker-next-day.js +12 -12
  80. package/datepicker/datepicker-previous-day.js +1 -1
  81. package/development/autocomplete/autocomplete-base-element.d.ts +93 -0
  82. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -0
  83. package/development/autocomplete/autocomplete.d.ts +13 -86
  84. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  85. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +45 -0
  86. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
  87. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +33 -0
  88. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -0
  89. package/development/autocomplete-grid/autocomplete-grid-button.d.ts +2 -0
  90. package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
  91. package/development/autocomplete-grid/autocomplete-grid-button.js +224 -0
  92. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts +17 -0
  93. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -0
  94. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +2 -0
  95. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
  96. package/development/autocomplete-grid/autocomplete-grid-cell.js +67 -0
  97. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +21 -0
  98. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -0
  99. package/development/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts +2 -0
  100. package/development/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts.map +1 -0
  101. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +2 -0
  102. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
  103. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +45 -0
  104. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +40 -0
  105. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -0
  106. package/development/autocomplete-grid/autocomplete-grid-option.d.ts +2 -0
  107. package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
  108. package/development/autocomplete-grid/autocomplete-grid-option.js +174 -0
  109. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts +18 -0
  110. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -0
  111. package/development/autocomplete-grid/autocomplete-grid-row.d.ts +2 -0
  112. package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
  113. package/development/autocomplete-grid/autocomplete-grid-row.js +143 -0
  114. package/development/autocomplete-grid/autocomplete-grid.d.ts +2 -0
  115. package/development/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
  116. package/development/autocomplete-grid/autocomplete-grid.js +185 -0
  117. package/development/autocomplete-grid.d.ts +7 -0
  118. package/development/autocomplete-grid.d.ts.map +1 -0
  119. package/development/autocomplete-grid.js +7 -0
  120. package/development/autocomplete.d.ts +1 -0
  121. package/development/autocomplete.d.ts.map +1 -1
  122. package/development/autocomplete.js +168 -143
  123. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  124. package/development/breadcrumb/breadcrumb-group.js +1 -1
  125. package/development/button/mini-button/mini-button-base-element.d.ts +9 -0
  126. package/development/button/mini-button/mini-button-base-element.d.ts.map +1 -0
  127. package/development/button/mini-button/mini-button.d.ts +3 -4
  128. package/development/button/mini-button/mini-button.d.ts.map +1 -1
  129. package/development/button/mini-button.d.ts +1 -0
  130. package/development/button/mini-button.d.ts.map +1 -1
  131. package/development/button/mini-button.js +32 -16
  132. package/development/checkbox/checkbox/checkbox.d.ts +5 -0
  133. package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
  134. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +5 -0
  135. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  136. package/development/checkbox/checkbox-panel.js +13 -2
  137. package/development/checkbox/checkbox.js +19 -1
  138. package/development/checkbox/common/checkbox-common.d.ts +1 -3
  139. package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
  140. package/development/checkbox/common.js +13 -19
  141. package/development/container/container.js +2 -1
  142. package/development/core/i18n/i18n.d.ts +2 -0
  143. package/development/core/i18n/i18n.d.ts.map +1 -1
  144. package/development/core/i18n.js +15 -1
  145. package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
  146. package/development/core/mixins/panel-mixin.d.ts +1 -0
  147. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  148. package/development/core/mixins.js +4 -2
  149. package/development/core/overlay/overlay-trigger-attributes.d.ts +1 -1
  150. package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  151. package/development/core/overlay.js +3 -3
  152. package/development/datepicker/datepicker-next-day.js +8 -7
  153. package/development/datepicker/datepicker-previous-day.js +8 -7
  154. package/development/flip-card/flip-card/flip-card.d.ts +32 -0
  155. package/development/flip-card/flip-card/flip-card.d.ts.map +1 -0
  156. package/development/flip-card/flip-card/index.d.ts +2 -0
  157. package/development/flip-card/flip-card/index.d.ts.map +1 -0
  158. package/development/flip-card/flip-card-details/flip-card-details.d.ts +22 -0
  159. package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -0
  160. package/development/flip-card/flip-card-details/index.d.ts +2 -0
  161. package/development/flip-card/flip-card-details/index.d.ts.map +1 -0
  162. package/development/flip-card/flip-card-details.d.ts +2 -0
  163. package/development/flip-card/flip-card-details.d.ts.map +1 -0
  164. package/development/flip-card/flip-card-details.js +105 -0
  165. package/development/flip-card/flip-card-summary/flip-card-summary.d.ts +22 -0
  166. package/development/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -0
  167. package/development/flip-card/flip-card-summary/index.d.ts +2 -0
  168. package/development/flip-card/flip-card-summary/index.d.ts.map +1 -0
  169. package/development/flip-card/flip-card-summary.d.ts +2 -0
  170. package/development/flip-card/flip-card-summary.d.ts.map +1 -0
  171. package/development/flip-card/flip-card-summary.js +151 -0
  172. package/development/flip-card/flip-card.d.ts +2 -0
  173. package/development/flip-card/flip-card.d.ts.map +1 -0
  174. package/development/flip-card/flip-card.js +187 -0
  175. package/development/flip-card.d.ts +4 -0
  176. package/development/flip-card.d.ts.map +1 -0
  177. package/development/flip-card.js +4 -0
  178. package/development/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
  179. package/development/form-field/form-field-clear.js +8 -7
  180. package/development/form-field/form-field.js +3 -3
  181. package/development/icon/icon-base.d.ts.map +1 -1
  182. package/development/icon/icon.d.ts.map +1 -1
  183. package/development/icon.js +1 -1
  184. package/development/image/image.d.ts +1 -0
  185. package/development/image/image.d.ts.map +1 -1
  186. package/development/image.js +10 -4
  187. package/development/map-container.js +12 -14
  188. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  189. package/development/navigation/navigation-marker.js +1 -1
  190. package/development/option/optgroup/optgroup-base-element.d.ts +28 -0
  191. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -0
  192. package/development/option/optgroup/optgroup.d.ts +7 -20
  193. package/development/option/optgroup/optgroup.d.ts.map +1 -1
  194. package/development/option/optgroup.d.ts +1 -0
  195. package/development/option/optgroup.d.ts.map +1 -1
  196. package/development/option/optgroup.js +74 -49
  197. package/development/option/option/option-base-element.d.ts +69 -0
  198. package/development/option/option/option-base-element.d.ts.map +1 -0
  199. package/development/option/option/option.d.ts +14 -57
  200. package/development/option/option/option.d.ts.map +1 -1
  201. package/development/option/option.d.ts +1 -0
  202. package/development/option/option.d.ts.map +1 -1
  203. package/development/option/option.js +267 -220
  204. package/development/radio-button/common/radio-button-common.d.ts +1 -1
  205. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  206. package/development/radio-button/common.js +13 -12
  207. package/development/radio-button/radio-button/radio-button.d.ts +7 -0
  208. package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
  209. package/development/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
  210. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  211. package/development/radio-button/radio-button-group.js +1 -1
  212. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +7 -0
  213. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  214. package/development/radio-button/radio-button-panel.js +16 -2
  215. package/development/radio-button/radio-button.js +16 -2
  216. package/development/skiplink-list/skiplink-list.d.ts +1 -0
  217. package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
  218. package/development/skiplink-list.js +1 -1
  219. package/development/status/status.d.ts +1 -1
  220. package/development/status/status.d.ts.map +1 -1
  221. package/development/status.js +39 -2
  222. package/development/tabs/tab-group.js +2 -9
  223. package/development/tabs/tab.js +10 -2
  224. package/development/tag/tag-group.js +1 -1
  225. package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
  226. package/development/timetable-occupancy-icon.js +3 -6
  227. package/development/toggle/toggle.js +1 -1
  228. package/development/visual-checkbox/visual-checkbox.d.ts +3 -0
  229. package/development/visual-checkbox/visual-checkbox.d.ts.map +1 -1
  230. package/development/visual-checkbox.js +11 -3
  231. package/flip-card/flip-card/flip-card.d.ts +32 -0
  232. package/flip-card/flip-card/flip-card.d.ts.map +1 -0
  233. package/flip-card/flip-card/index.d.ts +2 -0
  234. package/flip-card/flip-card/index.d.ts.map +1 -0
  235. package/flip-card/flip-card-details/flip-card-details.d.ts +22 -0
  236. package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -0
  237. package/flip-card/flip-card-details/index.d.ts +2 -0
  238. package/flip-card/flip-card-details/index.d.ts.map +1 -0
  239. package/flip-card/flip-card-details.d.ts +2 -0
  240. package/flip-card/flip-card-details.d.ts.map +1 -0
  241. package/flip-card/flip-card-details.js +52 -0
  242. package/flip-card/flip-card-summary/flip-card-summary.d.ts +22 -0
  243. package/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -0
  244. package/flip-card/flip-card-summary/index.d.ts +2 -0
  245. package/flip-card/flip-card-summary/index.d.ts.map +1 -0
  246. package/flip-card/flip-card-summary.d.ts +2 -0
  247. package/flip-card/flip-card-summary.d.ts.map +1 -0
  248. package/flip-card/flip-card-summary.js +41 -0
  249. package/flip-card/flip-card.d.ts +2 -0
  250. package/flip-card/flip-card.d.ts.map +1 -0
  251. package/flip-card/flip-card.js +58 -0
  252. package/flip-card.d.ts +4 -0
  253. package/flip-card.d.ts.map +1 -0
  254. package/flip-card.js +3 -0
  255. package/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
  256. package/form-field/form-field-clear.js +11 -11
  257. package/form-field/form-field.js +2 -2
  258. package/icon/icon-base.d.ts.map +1 -1
  259. package/icon/icon.d.ts.map +1 -1
  260. package/image/image.d.ts +1 -0
  261. package/image/image.d.ts.map +1 -1
  262. package/image.js +24 -24
  263. package/index.d.ts +18 -0
  264. package/index.js +18 -0
  265. package/map-container.js +8 -8
  266. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  267. package/option/optgroup/optgroup-base-element.d.ts +28 -0
  268. package/option/optgroup/optgroup-base-element.d.ts.map +1 -0
  269. package/option/optgroup/optgroup.d.ts +7 -20
  270. package/option/optgroup/optgroup.d.ts.map +1 -1
  271. package/option/optgroup.d.ts +1 -0
  272. package/option/optgroup.d.ts.map +1 -1
  273. package/option/optgroup.js +80 -60
  274. package/option/option/option-base-element.d.ts +69 -0
  275. package/option/option/option-base-element.d.ts.map +1 -0
  276. package/option/option/option.d.ts +14 -57
  277. package/option/option/option.d.ts.map +1 -1
  278. package/option/option.d.ts +1 -0
  279. package/option/option.d.ts.map +1 -1
  280. package/option/option.js +186 -145
  281. package/package.json +56 -1
  282. package/radio-button/common/radio-button-common.d.ts +1 -1
  283. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  284. package/radio-button/common.js +6 -15
  285. package/radio-button/radio-button/radio-button.d.ts +7 -0
  286. package/radio-button/radio-button/radio-button.d.ts.map +1 -1
  287. package/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
  288. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  289. package/radio-button/radio-button-panel/radio-button-panel.d.ts +7 -0
  290. package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  291. package/radio-button/radio-button-panel.js +35 -22
  292. package/radio-button/radio-button.js +32 -19
  293. package/skiplink-list/skiplink-list.d.ts +1 -0
  294. package/skiplink-list/skiplink-list.d.ts.map +1 -1
  295. package/standard-theme.css +3 -1
  296. package/status/status.d.ts +1 -1
  297. package/status/status.d.ts.map +1 -1
  298. package/status.js +17 -13
  299. package/tabs/tab-group.js +19 -19
  300. package/tabs/tab.js +10 -10
  301. package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
  302. package/timetable-occupancy-icon.js +22 -24
  303. package/visual-checkbox/visual-checkbox.d.ts +3 -0
  304. package/visual-checkbox/visual-checkbox.d.ts.map +1 -1
  305. package/visual-checkbox.js +23 -20
@@ -0,0 +1,151 @@
1
+ import { css, LitElement, html } from "lit";
2
+ import { property, customElement } from "lit/decorators.js";
3
+ import { hostAttributes } from "../core/decorators.js";
4
+ const style = css`/**
5
+ * Better font rendering (on OS X)
6
+ * http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
7
+ *
8
+ * Usage:
9
+ *
10
+ * .var_dark_on_light {
11
+ * @include font-smoothing;
12
+ * }
13
+ * .var_light_on_dark {
14
+ * @include font-smoothing-reset;
15
+ * }
16
+ */
17
+ /** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
18
+ /*
19
+ * SBB table mixin
20
+ * Notes:
21
+ * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
22
+ * Therefore, we have to build the grid avoiding double borders.
23
+ */
24
+ *,
25
+ ::before,
26
+ ::after {
27
+ box-sizing: border-box;
28
+ }
29
+
30
+ :host {
31
+ --sbb-flip-card-summary-opacity: 1;
32
+ --sbb-flip-card-summary-pointer-events: all;
33
+ display: contents;
34
+ }
35
+
36
+ .sbb-flip-card-summary {
37
+ display: grid;
38
+ position: absolute;
39
+ pointer-events: var(--sbb-flip-card-summary-pointer-events);
40
+ opacity: var(--sbb-flip-card-summary-opacity);
41
+ border-radius: var(--sbb-flip-card-border-radius);
42
+ overflow: hidden;
43
+ grid-template-columns: 1fr;
44
+ grid-template-rows: auto 1fr;
45
+ width: 100%;
46
+ height: 100%;
47
+ transition: all var(--sbb-flip-card-summary-transition-duration) ease-out;
48
+ transition-delay: var(--sbb-flip-card-summary-transition-delay);
49
+ }
50
+ @media (min-width: calc(37.5rem)) {
51
+ :host([image-alignment=after]) .sbb-flip-card-summary {
52
+ grid-template-columns: repeat(3, 1fr);
53
+ grid-template-rows: 1fr;
54
+ }
55
+ }
56
+ @media (min-width: calc(52.5rem)) {
57
+ :host([image-alignment=after]) .sbb-flip-card-summary {
58
+ grid-template-columns: repeat(2, 1fr);
59
+ grid-template-rows: 1fr;
60
+ }
61
+ }
62
+
63
+ ::slotted(sbb-title) {
64
+ padding-inline: var(--sbb-spacing-responsive-s);
65
+ padding-block: var(--sbb-spacing-responsive-s) var(--sbb-spacing-responsive-xs);
66
+ margin: 0;
67
+ grid-area: 1/1/2/2;
68
+ }
69
+ @media (min-width: calc(37.5rem)) {
70
+ :host([image-alignment=after]) ::slotted(sbb-title) {
71
+ grid-area: 1/1/2/3;
72
+ }
73
+ }
74
+ @media (min-width: calc(52.5rem)) {
75
+ :host([image-alignment=after]) ::slotted(sbb-title) {
76
+ grid-area: 1/1/2/2;
77
+ }
78
+ }
79
+
80
+ .sbb-flip-card-summary--image-wrapper {
81
+ max-height: var(--sbb-flip-card-min-height);
82
+ grid-area: 2/1/3/2;
83
+ }
84
+ @media (min-width: calc(37.5rem)) {
85
+ :host([image-alignment=after]) .sbb-flip-card-summary--image-wrapper {
86
+ grid-area: 1/3/2/4;
87
+ }
88
+ }
89
+ @media (min-width: calc(52.5rem)) {
90
+ :host([image-alignment=after]) .sbb-flip-card-summary--image-wrapper {
91
+ grid-area: 1/2/2/3;
92
+ }
93
+ }
94
+
95
+ ::slotted(img) {
96
+ object-fit: cover;
97
+ width: 100%;
98
+ height: 100%;
99
+ }
100
+
101
+ ::slotted(sbb-image) {
102
+ width: 100%;
103
+ height: 100%;
104
+ }`;
105
+ var __defProp = Object.defineProperty;
106
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
107
+ var __decorateClass = (decorators, target, key, kind) => {
108
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
109
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
110
+ if (decorator = decorators[i])
111
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
112
+ if (kind && result) __defProp(target, key, result);
113
+ return result;
114
+ };
115
+ let SbbFlipCardSummaryElement = class extends LitElement {
116
+ constructor() {
117
+ super(...arguments);
118
+ this.imageAlignment = "after";
119
+ }
120
+ willUpdate(_changedProperties) {
121
+ var _a, _b;
122
+ super.willUpdate(_changedProperties);
123
+ if (_changedProperties.has("imageAlignment")) {
124
+ (_b = (_a = this.closest) == null ? void 0 : _a.call(this, "sbb-flip-card")) == null ? void 0 : _b.setAttribute("data-image-alignment", this.imageAlignment);
125
+ }
126
+ }
127
+ render() {
128
+ return html`
129
+ <div class="sbb-flip-card-summary">
130
+ <slot></slot>
131
+ <div class="sbb-flip-card-summary--image-wrapper">
132
+ <slot name="image"></slot>
133
+ </div>
134
+ </div>
135
+ `;
136
+ }
137
+ };
138
+ SbbFlipCardSummaryElement.styles = style;
139
+ __decorateClass([
140
+ property({ attribute: "image-alignment", reflect: true })
141
+ ], SbbFlipCardSummaryElement.prototype, "imageAlignment", 2);
142
+ SbbFlipCardSummaryElement = __decorateClass([
143
+ customElement("sbb-flip-card-summary"),
144
+ hostAttributes({
145
+ slot: "summary"
146
+ })
147
+ ], SbbFlipCardSummaryElement);
148
+ export {
149
+ SbbFlipCardSummaryElement
150
+ };
151
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxpcC1jYXJkLXN1bW1hcnkuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9mbGlwLWNhcmQvZmxpcC1jYXJkLXN1bW1hcnkvZmxpcC1jYXJkLXN1bW1hcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZmxpcC1jYXJkLXN1bW1hcnkuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IHR5cGUgU2JiRmxpcENhcmRJbWFnZUFsaWdubWVudCA9ICdhZnRlcicgfCAnYmVsb3cnO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBgc2JiLWZsaXAtY2FyZGAsIGl0IGRpc3BsYXlzIGl0cyBjb250ZW50IHdoZW4gdGhlIGNhcmQgaXMgbm90IGZsaXBwZWQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgdGl0bGUgZm9yIHRoZSBgc2JiLWZsaXAtY2FyZC1zdW1tYXJ5YC5cbiAqIEBzbG90IGltYWdlIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGltYWdlIGZvciB0aGUgYHNiYi1mbGlwLWNhcmQtc3VtbWFyeWAuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItZmxpcC1jYXJkLXN1bW1hcnknKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgc2xvdDogJ3N1bW1hcnknLFxufSlcbmV4cG9ydCBjbGFzcyBTYmJGbGlwQ2FyZFN1bW1hcnlFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBUaGUgcG9zaXRpb24gd2hlcmUgdG8gcmVuZGVyIHRoZSBpbWFnZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaW1hZ2UtYWxpZ25tZW50JywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgaW1hZ2VBbGlnbm1lbnQ6IFNiYkZsaXBDYXJkSW1hZ2VBbGlnbm1lbnQgPSAnYWZ0ZXInO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKF9jaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXMpOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKF9jaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoX2NoYW5nZWRQcm9wZXJ0aWVzLmhhcygnaW1hZ2VBbGlnbm1lbnQnKSkge1xuICAgICAgdGhpcy5jbG9zZXN0Py4oJ3NiYi1mbGlwLWNhcmQnKT8uc2V0QXR0cmlidXRlKCdkYXRhLWltYWdlLWFsaWdubWVudCcsIHRoaXMuaW1hZ2VBbGlnbm1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1mbGlwLWNhcmQtc3VtbWFyeVwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZmxpcC1jYXJkLXN1bW1hcnktLWltYWdlLXdyYXBwZXJcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwiaW1hZ2VcIj48L3Nsb3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWZsaXAtY2FyZC1zdW1tYXJ5JzogU2JiRmxpcENhcmRTdW1tYXJ5RWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CYSxJQUFBLDRCQUFOLGNBQXdDLFdBQVc7QUFBQSxFQUFuRCxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFLTCxTQUFPLGlCQUE0QztBQUFBLEVBQUE7QUFBQSxFQUVoQyxXQUFXLG9CQUEwQzs7QUFDdEUsVUFBTSxXQUFXLGtCQUFrQjtBQUUvQixRQUFBLG1CQUFtQixJQUFJLGdCQUFnQixHQUFHO0FBQzVDLHVCQUFLLFlBQUwsOEJBQWUscUJBQWYsbUJBQWlDLGFBQWEsd0JBQXdCLEtBQUs7QUFBQSxJQUM3RTtBQUFBLEVBQ0Y7QUFBQSxFQUVtQixTQUF5QjtBQUNuQyxXQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFUO0FBQ0Y7QUF6QmEsMEJBQ1ksU0FBeUI7QUFJekMsZ0JBQUE7QUFBQSxFQUROLFNBQVMsRUFBRSxXQUFXLG1CQUFtQixTQUFTLE1BQU07QUFBQSxHQUo5QywwQkFLSixXQUFBLGtCQUFBLENBQUE7QUFMSSw0QkFBTixnQkFBQTtBQUFBLEVBSk4sY0FBYyx1QkFBdUI7QUFBQSxFQUNyQyxlQUFlO0FBQUEsSUFDZCxNQUFNO0FBQUEsRUFBQSxDQUNQO0FBQUEsR0FDWSx5QkFBQTsifQ==
@@ -0,0 +1,2 @@
1
+ export * from './flip-card/flip-card.js';
2
+ //# sourceMappingURL=flip-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flip-card.d.ts","sourceRoot":"","sources":["../../../../src/elements/flip-card/flip-card.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,187 @@
1
+ import { css, LitElement, html } from "lit";
2
+ import { state, customElement } from "lit/decorators.js";
3
+ import { SbbLanguageController } from "../core/controllers.js";
4
+ import { i18nFlipCard, i18nReverseCard } from "../core/i18n.js";
5
+ import { SbbHydrationMixin } from "../core/mixins.js";
6
+ import "../button/secondary-button.js";
7
+ const style = css`/**
8
+ * Better font rendering (on OS X)
9
+ * http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
10
+ *
11
+ * Usage:
12
+ *
13
+ * .var_dark_on_light {
14
+ * @include font-smoothing;
15
+ * }
16
+ * .var_light_on_dark {
17
+ * @include font-smoothing-reset;
18
+ * }
19
+ */
20
+ /** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
21
+ /*
22
+ * SBB table mixin
23
+ * Notes:
24
+ * We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
25
+ * Therefore, we have to build the grid avoiding double borders.
26
+ */
27
+ *,
28
+ ::before,
29
+ ::after {
30
+ box-sizing: border-box;
31
+ }
32
+
33
+ :host {
34
+ --sbb-flip-card-background-color: var(--sbb-color-cloud);
35
+ --sbb-flip-card-border-radius: var(--sbb-border-radius-4x);
36
+ --sbb-flip-card-min-height: 17.5rem;
37
+ --sbb-flip-card-details-min-height: var(--sbb-flip-card-min-height);
38
+ --sbb-flip-card-summary-transition-duration: var(--sbb-animation-duration-5x);
39
+ --sbb-flip-card-summary-transition-delay: var(--sbb-animation-duration-2x);
40
+ --sbb-flip-card-details-transition-duration: var(--sbb-animation-duration-4x);
41
+ --sbb-flip-card-details-transition-delay: var(--sbb-disable-animation-zero-time);
42
+ position: relative;
43
+ display: block;
44
+ }
45
+ @media (min-width: calc(52.5rem)) {
46
+ :host {
47
+ --sbb-flip-card-min-height: 20rem;
48
+ }
49
+ }
50
+
51
+ :host(:hover) {
52
+ --sbb-flip-card-background-color: var(--sbb-color-cloud-alpha-80);
53
+ }
54
+
55
+ :host([data-flipped]) {
56
+ --sbb-flip-card-background-color: var(--sbb-color-midnight);
57
+ --sbb-flip-card-details-transition-duration: var(--sbb-animation-duration-2x);
58
+ --sbb-flip-card-details-transition-delay: var(--sbb-animation-duration-5x);
59
+ --sbb-flip-card-summary-transition-delay: var(--sbb-disable-animation-zero-time);
60
+ --sbb-flip-card-details-min-height: fit-content;
61
+ }
62
+ :host([data-flipped]) ::slotted(sbb-flip-card-summary) {
63
+ --sbb-flip-card-summary-opacity: 0;
64
+ --sbb-flip-card-summary-pointer-events: none;
65
+ }
66
+ :host([data-flipped]) ::slotted(sbb-flip-card-details) {
67
+ --sbb-flip-card-details-opacity: 1;
68
+ --sbb-flip-card-details-translate-y: 0;
69
+ }
70
+
71
+ @media (min-width: calc(37.5rem)) and (max-width: calc(52.4375rem)) {
72
+ :host([data-image-alignment=after]) {
73
+ --sbb-flip-card-min-height: 15rem;
74
+ }
75
+ }
76
+ @media (min-width: calc(80rem)) {
77
+ :host([data-image-alignment=after]) {
78
+ --sbb-flip-card-min-height: 25rem;
79
+ }
80
+ }
81
+
82
+ .sbb-flip-card {
83
+ position: relative;
84
+ display: flex;
85
+ height: 100%;
86
+ flex-flow: wrap;
87
+ flex-direction: column;
88
+ gap: var(--sbb-spacing-responsive-xs);
89
+ min-height: var(--sbb-flip-card-min-height);
90
+ background-color: var(--sbb-flip-card-background-color);
91
+ border-radius: var(--sbb-flip-card-border-radius);
92
+ transition: var(--sbb-flip-card-summary-transition-duration) ease-out;
93
+ transition-delay: var(--sbb-flip-card-summary-transition-delay);
94
+ }
95
+
96
+ .sbb-flip-card--toggle-button {
97
+ position: absolute;
98
+ inset-inline-start: var(--sbb-spacing-responsive-s);
99
+ inset-block-end: var(--sbb-spacing-responsive-s);
100
+ }
101
+ :host([data-flipped]) .sbb-flip-card--toggle-button {
102
+ --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);
103
+ }
104
+
105
+ button {
106
+ -webkit-appearance: none;
107
+ -moz-appearance: none;
108
+ box-sizing: border-box;
109
+ margin: 0;
110
+ outline: none;
111
+ border: none;
112
+ border-radius: 0;
113
+ padding: 0;
114
+ background: none;
115
+ -webkit-tap-highlight-color: transparent;
116
+ color: inherit;
117
+ cursor: pointer;
118
+ position: absolute;
119
+ inset: 0;
120
+ border-radius: var(--sbb-flip-card-border-radius);
121
+ }
122
+ button:not([data-focus-origin=mouse], [data-focus-origin=touch]):focus-visible {
123
+ outline-offset: var(--sbb-focus-outline-offset);
124
+ outline: var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);
125
+ }`;
126
+ var __defProp = Object.defineProperty;
127
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
128
+ var __decorateClass = (decorators, target, key, kind) => {
129
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
130
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
131
+ if (decorator = decorators[i])
132
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
133
+ if (kind && result) __defProp(target, key, result);
134
+ return result;
135
+ };
136
+ let SbbFlipCardElement = class extends SbbHydrationMixin(LitElement) {
137
+ constructor() {
138
+ super(...arguments);
139
+ this._flipped = false;
140
+ this._language = new SbbLanguageController(this);
141
+ }
142
+ /** Returns the slotted sbb-flip-card-summary. */
143
+ get summary() {
144
+ return this.querySelector("sbb-flip-card-summary");
145
+ }
146
+ /** Returns the slotted sbb-flip-card-details. */
147
+ get details() {
148
+ return this.querySelector("sbb-flip-card-details");
149
+ }
150
+ /** Toggles the state of the sbb-flip-card. */
151
+ toggle() {
152
+ this._flipped = !this._flipped;
153
+ this.toggleAttribute("data-flipped", this._flipped);
154
+ this.summary.inert = this._flipped;
155
+ this.details.inert = !this._flipped;
156
+ }
157
+ render() {
158
+ return html`
159
+ <div class="sbb-flip-card">
160
+ <slot name="summary" @slotchange=${() => this.summary.inert = this._flipped}></slot>
161
+ <button
162
+ @click=${() => this.toggle()}
163
+ aria-label=${!this._flipped ? i18nFlipCard[this._language.current] : i18nReverseCard[this._language.current]}
164
+ aria-expanded=${this._flipped.toString()}
165
+ ></button>
166
+ <slot name="details" @slotchange=${() => this.details.inert = !this._flipped}></slot>
167
+ <sbb-secondary-button
168
+ class="sbb-flip-card--toggle-button"
169
+ icon-name=${this._flipped ? "cross-small" : "plus-small"}
170
+ @click=${() => this.toggle()}
171
+ size="s"
172
+ ></sbb-secondary-button>
173
+ </div>
174
+ `;
175
+ }
176
+ };
177
+ SbbFlipCardElement.styles = style;
178
+ __decorateClass([
179
+ state()
180
+ ], SbbFlipCardElement.prototype, "_flipped", 2);
181
+ SbbFlipCardElement = __decorateClass([
182
+ customElement("sbb-flip-card")
183
+ ], SbbFlipCardElement);
184
+ export {
185
+ SbbFlipCardElement
186
+ };
187
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxpcC1jYXJkLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZmxpcC1jYXJkL2ZsaXAtY2FyZC9mbGlwLWNhcmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBpMThuRmxpcENhcmQsIGkxOG5SZXZlcnNlQ2FyZCB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJIeWRyYXRpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRmxpcENhcmREZXRhaWxzRWxlbWVudCB9IGZyb20gJy4uL2ZsaXAtY2FyZC1kZXRhaWxzLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRmxpcENhcmRTdW1tYXJ5RWxlbWVudCB9IGZyb20gJy4uL2ZsaXAtY2FyZC1zdW1tYXJ5LmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZmxpcC1jYXJkLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vYnV0dG9uL3NlY29uZGFyeS1idXR0b24uanMnO1xuXG4vKipcbiAqIERpc3BsYXlzIGFuIGluZm9ybWF0aXZlIGNhcmQgdGhhdCByZXZlYWxzIG1vcmUgaW5mb3JtYXRpb25zIHVwb24gYmVpbmcgY2xpY2tlZC5cbiAqXG4gKiBAc2xvdCBzdW1tYXJ5IC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGEgc2JiLWZsaXAtY2FyZC1zdW1tYXJ5IGNvbXBvbmVudC5cbiAqIEBzbG90IGRldGFpbHMgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYSBzYmItZmxpcC1jYXJkLWRldGFpbHMgY29tcG9uZW50LlxuICpcbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1mbGlwLWNhcmQnKVxuZXhwb3J0IGNsYXNzIFNiYkZsaXBDYXJkRWxlbWVudCBleHRlbmRzIFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIFJldHVybnMgdGhlIHNsb3R0ZWQgc2JiLWZsaXAtY2FyZC1zdW1tYXJ5LiAqL1xuICBwdWJsaWMgZ2V0IHN1bW1hcnkoKTogU2JiRmxpcENhcmRTdW1tYXJ5RWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWZsaXAtY2FyZC1zdW1tYXJ5JykhO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIHNsb3R0ZWQgc2JiLWZsaXAtY2FyZC1kZXRhaWxzLiAqL1xuICBwdWJsaWMgZ2V0IGRldGFpbHMoKTogU2JiRmxpcENhcmREZXRhaWxzRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWZsaXAtY2FyZC1kZXRhaWxzJykhO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNhcmQgaXMgZmxpcHBlZCBvciBub3QuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgX2ZsaXBwZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgLyoqIFRvZ2dsZXMgdGhlIHN0YXRlIG9mIHRoZSBzYmItZmxpcC1jYXJkLiAqL1xuICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZsaXBwZWQgPSAhdGhpcy5fZmxpcHBlZDtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1mbGlwcGVkJywgdGhpcy5fZmxpcHBlZCk7XG4gICAgdGhpcy5zdW1tYXJ5LmluZXJ0ID0gdGhpcy5fZmxpcHBlZDtcbiAgICB0aGlzLmRldGFpbHMuaW5lcnQgPSAhdGhpcy5fZmxpcHBlZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1mbGlwLWNhcmRcIj5cbiAgICAgICAgPHNsb3QgbmFtZT1cInN1bW1hcnlcIiBAc2xvdGNoYW5nZT0keygpID0+ICh0aGlzLnN1bW1hcnkuaW5lcnQgPSB0aGlzLl9mbGlwcGVkKX0+PC9zbG90PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgQGNsaWNrPSR7KCkgPT4gdGhpcy50b2dnbGUoKX1cbiAgICAgICAgICBhcmlhLWxhYmVsPSR7IXRoaXMuX2ZsaXBwZWRcbiAgICAgICAgICAgID8gaTE4bkZsaXBDYXJkW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdXG4gICAgICAgICAgICA6IGkxOG5SZXZlcnNlQ2FyZFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICBhcmlhLWV4cGFuZGVkPSR7dGhpcy5fZmxpcHBlZC50b1N0cmluZygpfVxuICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDxzbG90IG5hbWU9XCJkZXRhaWxzXCIgQHNsb3RjaGFuZ2U9JHsoKSA9PiAodGhpcy5kZXRhaWxzLmluZXJ0ID0gIXRoaXMuX2ZsaXBwZWQpfT48L3Nsb3Q+XG4gICAgICAgIDxzYmItc2Vjb25kYXJ5LWJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwic2JiLWZsaXAtY2FyZC0tdG9nZ2xlLWJ1dHRvblwiXG4gICAgICAgICAgaWNvbi1uYW1lPSR7dGhpcy5fZmxpcHBlZCA/ICdjcm9zcy1zbWFsbCcgOiAncGx1cy1zbWFsbCd9XG4gICAgICAgICAgQGNsaWNrPSR7KCkgPT4gdGhpcy50b2dnbGUoKX1cbiAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgID48L3NiYi1zZWNvbmRhcnktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWZsaXAtY2FyZCc6IFNiYkZsaXBDYXJkRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNCTyxJQUFNLHFCQUFOLGNBQWlDLGtCQUFrQixVQUFVLEVBQUU7QUFBQSxFQUEvRCxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFjSSxTQUFRLFdBQVc7QUFFcEIsU0FBQSxZQUFZLElBQUksc0JBQXNCLElBQUk7QUFBQSxFQUFBO0FBQUE7QUFBQSxFQVpsRCxJQUFXLFVBQXFDO0FBQ3ZDLFdBQUEsS0FBSyxjQUFjLHVCQUF1QjtBQUFBLEVBQ25EO0FBQUE7QUFBQSxFQUdBLElBQVcsVUFBcUM7QUFDdkMsV0FBQSxLQUFLLGNBQWMsdUJBQXVCO0FBQUEsRUFDbkQ7QUFBQTtBQUFBLEVBUU8sU0FBZTtBQUNmLFNBQUEsV0FBVyxDQUFDLEtBQUs7QUFDakIsU0FBQSxnQkFBZ0IsZ0JBQWdCLEtBQUssUUFBUTtBQUM3QyxTQUFBLFFBQVEsUUFBUSxLQUFLO0FBQ3JCLFNBQUEsUUFBUSxRQUFRLENBQUMsS0FBSztBQUFBLEVBQzdCO0FBQUEsRUFFbUIsU0FBeUI7QUFDbkMsV0FBQTtBQUFBO0FBQUEsMkNBRWdDLE1BQU8sS0FBSyxRQUFRLFFBQVEsS0FBSyxRQUFTO0FBQUE7QUFBQSxtQkFFbEUsTUFBTSxLQUFLLFFBQVE7QUFBQSx1QkFDZixDQUFDLEtBQUssV0FDZixhQUFhLEtBQUssVUFBVSxPQUFPLElBQ25DLGdCQUFnQixLQUFLLFVBQVUsT0FBTyxDQUFDO0FBQUEsMEJBQzNCLEtBQUssU0FBUyxVQUFVO0FBQUE7QUFBQSwyQ0FFUCxNQUFPLEtBQUssUUFBUSxRQUFRLENBQUMsS0FBSyxRQUFTO0FBQUE7QUFBQTtBQUFBLHNCQUdoRSxLQUFLLFdBQVcsZ0JBQWdCLFlBQVk7QUFBQSxtQkFDL0MsTUFBTSxLQUFLLFFBQVE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS3BDO0FBQ0Y7QUEvQ2EsbUJBQ1ksU0FBeUI7QUFhL0IsZ0JBQUE7QUFBQSxFQUFoQixNQUFNO0FBQUEsR0FkSSxtQkFjTSxXQUFBLFlBQUEsQ0FBQTtBQWROLHFCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLGVBQWU7QUFBQSxHQUNqQixrQkFBQTsifQ==
@@ -0,0 +1,4 @@
1
+ export * from './flip-card/flip-card.js';
2
+ export * from './flip-card/flip-card-summary.js';
3
+ export * from './flip-card/flip-card-details.js';
4
+ //# sourceMappingURL=flip-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flip-card.d.ts","sourceRoot":"","sources":["../../../src/elements/flip-card.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./flip-card/flip-card.js";
2
+ export * from "./flip-card/flip-card-summary.js";
3
+ export * from "./flip-card/flip-card-details.js";
4
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxpcC1jYXJkLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"form-field-clear.d.ts","sourceRoot":"","sources":["../../../../../src/elements/form-field/form-field-clear/form-field-clear.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AASnE,OAAO,eAAe,CAAC;;AAEvB;;GAEG;AACH,qBAIa,wBAAyB,SAAQ,6BAAsC;IAClF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAAmC;IAEpC,iBAAiB,IAAI,IAAI;YAW3B,YAAY;cAWP,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAKzD,cAAc,IAAI,cAAc;CAGpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,wBAAwB,CAAC;KAClD;CACF"}
1
+ {"version":3,"file":"form-field-clear.d.ts","sourceRoot":"","sources":["../../../../../src/elements/form-field/form-field-clear/form-field-clear.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AASnE,OAAO,eAAe,CAAC;;AAEvB;;GAEG;AACH,qBAIa,wBAAyB,SAAQ,6BAAsC;IAClF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAAmC;IAEpC,iBAAiB,IAAI,IAAI;YAW3B,YAAY;cAWP,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAMzD,cAAc,IAAI,cAAc;CAGpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,wBAAwB,CAAC;KAClD;CACF"}
@@ -106,33 +106,34 @@ sbb-icon {
106
106
  --sbb-button-color-disabled-text: var(--sbb-color-smoke);
107
107
  }
108
108
 
109
- :host(:is([disabled], [data-disabled])) .sbb-form-field-clear {
109
+ :host(:is([disabled], [data-disabled], [data-group-disabled])) .sbb-form-field-clear {
110
110
  color: var(--sbb-button-color-disabled-text);
111
111
  cursor: default;
112
112
  pointer-events: none;
113
113
  }
114
- :host(:is([disabled], [data-disabled])) .sbb-form-field-clear::before {
114
+ :host(:is([disabled], [data-disabled], [data-group-disabled])) .sbb-form-field-clear::before {
115
115
  background-color: var(--sbb-button-color-disabled-background);
116
116
  border: var(--sbb-button-border-disabled-width) var(--sbb-button-border-disabled-style) var(--sbb-button-color-disabled-border);
117
117
  }
118
118
 
119
- :host(:focus-visible:not([data-focus-origin=mouse], [data-focus-origin=touch])) .sbb-form-field-clear::before {
119
+ :host(:is([data-focus-visible],
120
+ :focus-visible:not([data-focus-origin=mouse], [data-focus-origin=touch]))) .sbb-form-field-clear::before {
120
121
  outline-offset: var(--sbb-focus-outline-offset);
121
122
  outline: var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);
122
123
  }
123
124
 
124
125
  @media (any-hover: hover) {
125
- :host(:not([disabled], [data-disabled], :active, [data-active]):hover) {
126
+ :host(:not([disabled], [data-disabled], [data-group-disabled], :active, [data-active]):hover) {
126
127
  --sbb-button-translate-y-content-hover: -0.0625rem;
127
128
  }
128
129
  }
129
130
  @media (any-hover: hover) {
130
- :host(:not([disabled], [data-disabled], :active, [data-active]):hover) .sbb-form-field-clear::before {
131
+ :host(:not([disabled], [data-disabled], [data-group-disabled], :active, [data-active]):hover) .sbb-form-field-clear::before {
131
132
  background-color: var(--sbb-button-color-hover-background);
132
133
  }
133
134
  }
134
135
 
135
- :host(:not([disabled], [data-disabled]):is(:active, [data-active])) .sbb-form-field-clear::before {
136
+ :host(:not([disabled], [data-disabled], [data-group-disabled]):is(:active, [data-active])) .sbb-form-field-clear::before {
136
137
  background-color: var(--sbb-button-color-active-background);
137
138
  }`;
138
139
  var __defProp = Object.defineProperty;
@@ -189,4 +190,4 @@ SbbFormFieldClearElement = __decorateClass([
189
190
  export {
190
191
  SbbFormFieldClearElement
191
192
  };
192
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1jbGVhci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC1jbGVhci9mb3JtLWZpZWxkLWNsZWFyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkJ1dHRvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciwgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpMThuQ2xlYXJJbnB1dCB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJGb3JtRmllbGRFbGVtZW50IH0gZnJvbSAnLi4vZm9ybS1maWVsZC5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2Zvcm0tZmllbGQtY2xlYXIuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9pY29uLmpzJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGBzYmItZm9ybS1maWVsZGAsIGl0IGRpc3BsYXlzIGEgYnV0dG9uIHdoaWNoIGNsZWFycyB0aGUgaW5wdXQgdmFsdWUuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItZm9ybS1maWVsZC1jbGVhcicpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICBzbG90OiAnc3VmZml4Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2JiRm9ybUZpZWxkQ2xlYXJFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcml2YXRlIF9mb3JtRmllbGQ/OiBTYmJGb3JtRmllbGRFbGVtZW50IHwgbnVsbDtcbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3Qgc2lnbmFsID0gdGhpcy5fYWJvcnQuc2lnbmFsO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLl9oYW5kbGVDbGljaygpLCB7IHNpZ25hbCB9KTtcbiAgICB0aGlzLl9mb3JtRmllbGQgPSB0aGlzLmNsb3Nlc3Q8U2JiRm9ybUZpZWxkRWxlbWVudD4oJ3NiYi1mb3JtLWZpZWxkLCBbZGF0YS1mb3JtLWZpZWxkXScpO1xuXG4gICAgaWYgKHRoaXMuX2Zvcm1GaWVsZCkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IHRoaXMuX2Zvcm1GaWVsZC5oYXNBdHRyaWJ1dGUoJ25lZ2F0aXZlJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLl9mb3JtRmllbGQ/LmlucHV0RWxlbWVudDtcbiAgICBpZiAoIWlucHV0IHx8IGlucHV0LmxvY2FsTmFtZSAhPT0gJ2lucHV0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9mb3JtRmllbGQ/LmNsZWFyKCk7XG4gICAgaW5wdXQuZm9jdXMoKTtcbiAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIGlucHV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCBpMThuQ2xlYXJJbnB1dFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYCA8c2JiLWljb24gbmFtZT1cImNyb3NzLXNtYWxsXCI+PC9zYmItaWNvbj4gYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWZvcm0tZmllbGQtY2xlYXInOiBTYmJGb3JtRmllbGRDbGVhckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzQk8sSUFBTSwyQkFBTixjQUF1QyxpQkFBaUIsb0JBQW9CLEVBQUU7QUFBQSxFQUE5RSxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFJRyxTQUFBLFNBQVMsSUFBSSw0QkFBNEIsSUFBSTtBQUM3QyxTQUFBLFlBQVksSUFBSSxzQkFBc0IsSUFBSTtBQUFBLEVBQUE7QUFBQSxFQUVsQyxvQkFBMEI7QUFDeEMsVUFBTSxrQkFBa0I7QUFDbEIsVUFBQSxTQUFTLEtBQUssT0FBTztBQUN0QixTQUFBLGlCQUFpQixTQUFTLE1BQU0sS0FBSyxnQkFBZ0IsRUFBRSxRQUFRO0FBQy9ELFNBQUEsYUFBYSxLQUFLLFFBQTZCLG1DQUFtQztBQUV2RixRQUFJLEtBQUssWUFBWTtBQUNuQixXQUFLLFdBQVcsS0FBSyxXQUFXLGFBQWEsVUFBVTtBQUFBLElBQ3pEO0FBQUEsRUFDRjtBQUFBLEVBRUEsTUFBYyxlQUE4Qjs7QUFDcEMsVUFBQSxTQUFRLFVBQUssZUFBTCxtQkFBaUI7QUFDL0IsUUFBSSxDQUFDLFNBQVMsTUFBTSxjQUFjLFNBQVM7QUFDekM7QUFBQSxJQUNGO0FBQ0EsZUFBSyxlQUFMLG1CQUFpQjtBQUNqQixVQUFNLE1BQU07QUFDTixVQUFBLGNBQWMsSUFBSSxXQUFXLFNBQVMsRUFBRSxTQUFTLE1BQU0sVUFBVSxLQUFNLENBQUEsQ0FBQztBQUN4RSxVQUFBLGNBQWMsSUFBSSxNQUFNLFVBQVUsRUFBRSxTQUFTLEtBQU0sQ0FBQSxDQUFDO0FBQUEsRUFDNUQ7QUFBQSxFQUVtQixXQUFXLG1CQUErQztBQUMzRSxVQUFNLFdBQVcsaUJBQWlCO0FBQ2xDLFNBQUssYUFBYSxjQUFjLGVBQWUsS0FBSyxVQUFVLE9BQU8sQ0FBQztBQUFBLEVBQ3hFO0FBQUEsRUFFbUIsaUJBQWlDO0FBQzNDLFdBQUE7QUFBQSxFQUNUO0FBQ0Y7QUFyQ2EseUJBQ1ksU0FBeUI7QUFEckMsMkJBQU4sZ0JBQUE7QUFBQSxFQUpOLGNBQWMsc0JBQXNCO0FBQUEsRUFDcEMsZUFBZTtBQUFBLElBQ2QsTUFBTTtBQUFBLEVBQUEsQ0FDUDtBQUFBLEdBQ1ksd0JBQUE7In0=
193
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1jbGVhci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC1jbGVhci9mb3JtLWZpZWxkLWNsZWFyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkJ1dHRvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciwgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpMThuQ2xlYXJJbnB1dCB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJGb3JtRmllbGRFbGVtZW50IH0gZnJvbSAnLi4vZm9ybS1maWVsZC5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2Zvcm0tZmllbGQtY2xlYXIuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9pY29uLmpzJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGBzYmItZm9ybS1maWVsZGAsIGl0IGRpc3BsYXlzIGEgYnV0dG9uIHdoaWNoIGNsZWFycyB0aGUgaW5wdXQgdmFsdWUuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItZm9ybS1maWVsZC1jbGVhcicpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICBzbG90OiAnc3VmZml4Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2JiRm9ybUZpZWxkQ2xlYXJFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcml2YXRlIF9mb3JtRmllbGQ/OiBTYmJGb3JtRmllbGRFbGVtZW50IHwgbnVsbDtcbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3Qgc2lnbmFsID0gdGhpcy5fYWJvcnQuc2lnbmFsO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLl9oYW5kbGVDbGljaygpLCB7IHNpZ25hbCB9KTtcbiAgICB0aGlzLl9mb3JtRmllbGQgPSB0aGlzLmNsb3Nlc3Q8U2JiRm9ybUZpZWxkRWxlbWVudD4oJ3NiYi1mb3JtLWZpZWxkLCBbZGF0YS1mb3JtLWZpZWxkXScpO1xuXG4gICAgaWYgKHRoaXMuX2Zvcm1GaWVsZCkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IHRoaXMuX2Zvcm1GaWVsZC5oYXNBdHRyaWJ1dGUoJ25lZ2F0aXZlJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLl9mb3JtRmllbGQ/LmlucHV0RWxlbWVudDtcbiAgICBpZiAoIWlucHV0IHx8IGlucHV0LmxvY2FsTmFtZSAhPT0gJ2lucHV0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9mb3JtRmllbGQ/LmNsZWFyKCk7XG4gICAgaW5wdXQuZm9jdXMoKTtcbiAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIGlucHV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsIGkxOG5DbGVhcklucHV0W3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgIDxzYmItaWNvbiBuYW1lPVwiY3Jvc3Mtc21hbGxcIj48L3NiYi1pY29uPiBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZm9ybS1maWVsZC1jbGVhcic6IFNiYkZvcm1GaWVsZENsZWFyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzQk8sSUFBTSwyQkFBTixjQUF1QyxpQkFBaUIsb0JBQW9CLEVBQUU7QUFBQSxFQUE5RSxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFJRyxTQUFBLFNBQVMsSUFBSSw0QkFBNEIsSUFBSTtBQUM3QyxTQUFBLFlBQVksSUFBSSxzQkFBc0IsSUFBSTtBQUFBLEVBQUE7QUFBQSxFQUVsQyxvQkFBMEI7QUFDeEMsVUFBTSxrQkFBa0I7QUFDbEIsVUFBQSxTQUFTLEtBQUssT0FBTztBQUN0QixTQUFBLGlCQUFpQixTQUFTLE1BQU0sS0FBSyxnQkFBZ0IsRUFBRSxRQUFRO0FBQy9ELFNBQUEsYUFBYSxLQUFLLFFBQTZCLG1DQUFtQztBQUV2RixRQUFJLEtBQUssWUFBWTtBQUNuQixXQUFLLFdBQVcsS0FBSyxXQUFXLGFBQWEsVUFBVTtBQUFBLElBQ3pEO0FBQUEsRUFDRjtBQUFBLEVBRUEsTUFBYyxlQUE4Qjs7QUFDcEMsVUFBQSxTQUFRLFVBQUssZUFBTCxtQkFBaUI7QUFDL0IsUUFBSSxDQUFDLFNBQVMsTUFBTSxjQUFjLFNBQVM7QUFDekM7QUFBQSxJQUNGO0FBQ0EsZUFBSyxlQUFMLG1CQUFpQjtBQUNqQixVQUFNLE1BQU07QUFDTixVQUFBLGNBQWMsSUFBSSxXQUFXLFNBQVMsRUFBRSxTQUFTLE1BQU0sVUFBVSxLQUFNLENBQUEsQ0FBQztBQUN4RSxVQUFBLGNBQWMsSUFBSSxNQUFNLFVBQVUsRUFBRSxTQUFTLEtBQU0sQ0FBQSxDQUFDO0FBQUEsRUFDNUQ7QUFBQSxFQUVtQixXQUFXLG1CQUErQztBQUMzRSxVQUFNLFdBQVcsaUJBQWlCO0FBRWxDLFNBQUssYUFBYSxjQUFjLGVBQWUsS0FBSyxVQUFVLE9BQU8sQ0FBQztBQUFBLEVBQ3hFO0FBQUEsRUFFbUIsaUJBQWlDO0FBQzNDLFdBQUE7QUFBQSxFQUNUO0FBQ0Y7QUF0Q2EseUJBQ1ksU0FBeUI7QUFEckMsMkJBQU4sZ0JBQUE7QUFBQSxFQUpOLGNBQWMsc0JBQXNCO0FBQUEsRUFDcEMsZUFBZTtBQUFBLElBQ2QsTUFBTTtBQUFBLEVBQUEsQ0FDUDtBQUFBLEdBQ1ksd0JBQUE7In0=
@@ -518,7 +518,7 @@ var __decorateClass = (decorators, target, key, kind) => {
518
518
  };
519
519
  let nextId = 0;
520
520
  let nextFormFieldErrorId = 0;
521
- const supportedPopupTagNames = ["sbb-autocomplete", "sbb-select"];
521
+ const supportedPopupTagNames = ["sbb-autocomplete", "sbb-autocomplete-grid", "sbb-select"];
522
522
  let SbbFormFieldElement = class extends SbbNegativeMixin(SbbHydrationMixin(LitElement)) {
523
523
  constructor() {
524
524
  super(...arguments);
@@ -813,7 +813,7 @@ let SbbFormFieldElement = class extends SbbNegativeMixin(SbbHydrationMixin(LitEl
813
813
  var _a;
814
814
  (_a = this.querySelectorAll) == null ? void 0 : _a.call(
815
815
  this,
816
- "sbb-form-error,sbb-mini-button,sbb-popover-trigger,sbb-form-field-clear,sbb-datepicker-next-day,sbb-datepicker-previous-day,sbb-datepicker-toggle,sbb-select,sbb-autocomplete"
816
+ "sbb-form-error,sbb-mini-button,sbb-popover-trigger,sbb-form-field-clear,sbb-datepicker-next-day,sbb-datepicker-previous-day,sbb-datepicker-toggle,sbb-select,sbb-autocomplete,sbb-autocomplete-grid"
817
817
  ).forEach((element) => element.toggleAttribute("negative", this.negative));
818
818
  }
819
819
  render() {
@@ -888,4 +888,4 @@ SbbFormFieldElement = __decorateClass([
888
888
  export {
889
889
  SbbFormFieldElement
890
890
  };
891
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJJbnB1dE1vZGFsaXR5IH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIsIFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzRmlyZWZveCwgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuT3B0aW9uYWwgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4sIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBBZ25vc3RpY011dGF0aW9uT2JzZXJ2ZXIgfSBmcm9tICcuLi8uLi9jb3JlL29ic2VydmVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlNlbGVjdEVsZW1lbnQgfSBmcm9tICcuLi8uLi9zZWxlY3QuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9mb3JtLWZpZWxkLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vaWNvbi5qcyc7XG5cbmxldCBuZXh0SWQgPSAwO1xubGV0IG5leHRGb3JtRmllbGRFcnJvcklkID0gMDtcblxuY29uc3Qgc3VwcG9ydGVkUG9wdXBUYWdOYW1lcyA9IFsnc2JiLWF1dG9jb21wbGV0ZScsICdzYmItc2VsZWN0J107XG5cbi8qKlxuICogSXQgd3JhcHMgYW4gaW5wdXQgZWxlbWVudCBhZGRpbmcgbGFiZWwsIGVycm9ycywgaWNvbiwgZXRjLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gaW5wdXQvc2VsZWN0IG9yIGEgc3VwcG9ydGVkIG5vbi1uYXRpdmUgZWxlbWVudC5cbiAqIEBzbG90IGxhYmVsIC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYSBsYWJlbC5cbiAqIEBzbG90IHByZWZpeCAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGFuIGljb24gb24gdGhlIGxlZnQgc2lkZSBvZiB0aGUgaW5wdXQuXG4gKiBAc2xvdCBzdWZmaXggLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBpY29uIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBpbnB1dC5cbiAqIEBzbG90IGVycm9yIC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gZXJyb3IuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItZm9ybS1maWVsZCcpXG5Ac2xvdFN0YXRlKClcbmV4cG9ydCBjbGFzcyBTYmJGb3JtRmllbGRFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJIeWRyYXRpb25NaXhpbihMaXRFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdXBwb3J0ZWROYXRpdmVJbnB1dEVsZW1lbnRzID0gWydpbnB1dCcsICdzZWxlY3QnLCAndGV4dGFyZWEnXTtcbiAgLy8gTGlzdCBvZiBzdXBwb3J0ZWQgZWxlbWVudCBzZWxlY3RvcnMgaW4gdW5uYW1lZCBzbG90XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1cHBvcnRlZElucHV0RWxlbWVudHMgPSBbXG4gICAgLi4udGhpcy5fc3VwcG9ydGVkTmF0aXZlSW5wdXRFbGVtZW50cyxcbiAgICAnc2JiLXNlbGVjdCcsXG4gICAgJ3NiYi1zbGlkZXInLFxuICBdO1xuICAvLyBMaXN0IG9mIGVsZW1lbnRzIHRoYXQgc2hvdWxkIG5vdCBmb2N1cyBpbnB1dCBvbiBjbGlja1xuICBwcml2YXRlIHJlYWRvbmx5IF9leGNsdWRlZEZvY3VzRWxlbWVudHMgPSBbJ2J1dHRvbicsICdzYmItcG9wb3ZlciddO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dEVsZW1lbnRzID0gW1xuICAgICdpbnB1dCcsXG4gICAgJ3NlbGVjdCcsXG4gICAgJ3NiYi1zZWxlY3QnLFxuICAgICd0ZXh0YXJlYScsXG4gIF07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZmxvYXRpbmdMYWJlbFN1cHBvcnRlZElucHV0VHlwZXMgPSBbXG4gICAgJ2VtYWlsJyxcbiAgICAnbnVtYmVyJyxcbiAgICAncGFzc3dvcmQnLFxuICAgICdzZWFyY2gnLFxuICAgICd0ZWwnLFxuICAgICd0ZXh0JyxcbiAgICAndXJsJyxcbiAgXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXNlcnZlIHNwYWNlIGZvciBhbiBlcnJvciBtZXNzYWdlLlxuICAgKiBgbm9uZWAgZG9lcyBub3QgcmVzZXJ2ZSBhbnkgc3BhY2UuXG4gICAqIGByZXNlcnZlYCBkb2VzIHJlc2VydmUgb25lIHJvdyBmb3IgYW4gZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Vycm9yLXNwYWNlJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgZXJyb3JTcGFjZT86ICdub25lJyB8ICdyZXNlcnZlJyA9ICdub25lJztcblxuICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGlucHV0IGlzIG9wdGlvbmFsLiAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBvcHRpb25hbD86IGJvb2xlYW47XG5cbiAgLyoqIFNpemUgdmFyaWFudCwgZWl0aGVyIGwgb3IgbS4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgc2l6ZT86ICdsJyB8ICdtJyA9ICdtJztcblxuICAvKiogV2hldGhlciB0byBkaXNwbGF5IHRoZSBmb3JtIGZpZWxkIHdpdGhvdXQgYSBib3JkZXIuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIGJvcmRlcmxlc3MgPSBmYWxzZTtcblxuICAvKiogRGVmaW5lcyB0aGUgd2lkdGggb2YgdGhlIGNvbXBvbmVudDpcbiAgICogLSBgZGVmYXVsdGA6IHRoZSBjb21wb25lbnQgaGFzIGRlZmluZWQgd2lkdGggYW5kIG1pbi13aWR0aDtcbiAgICogLSBgY29sbGFwc2VgOiB0aGUgY29tcG9uZW50IGFkYXB0cyBpdHNlbGYgdG8gaXRzIGlubmVyIGlucHV0IGNvbnRlbnQuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIHdpZHRoOiAnZGVmYXVsdCcgfCAnY29sbGFwc2UnID0gJ2RlZmF1bHQnO1xuXG4gIC8qKiBXaGV0aGVyIHRvIHZpc3VhbGx5IGhpZGUgdGhlIGxhYmVsLiBJZiBoaWRkZW4sIHNjcmVlbiByZWFkZXJzIHdpbGwgc3RpbGwgcmVhZCBpdC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaGlkZGVuLWxhYmVsJywgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgaGlkZGVuTGFiZWwgPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgbGFiZWwgc2hvdWxkIGZsb2F0LiBJZiBhY3RpdmF0ZWQsIHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgaW5wdXQgaXMgaGlkZGVuLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdmbG9hdGluZy1sYWJlbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIGZsb2F0aW5nTGFiZWwgPVxuICAgIGZhbHNlO1xuXG4gIC8qKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gZ2V0IHRoZSBgZXJyb3JgIHNsb3QuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgX2Vycm9yRWxlbWVudHM6IEVsZW1lbnRbXSA9IFtdO1xuXG4gIC8qKiBPcmlnaW5hbCBhcmlhLWRlc2NyaWJlZGJ5IHZhbHVlIG9mIHRoZSBzbG90dGVkIGlucHV0IGVsZW1lbnQuICovXG4gIHByaXZhdGUgX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnk/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIHNsb3R0ZWQgaW5wdXQgZWxlbWVudC4gKi9cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfaW5wdXQ/OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudDtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBzbG90dGVkIGxhYmVsIGVsZW1lbnRzLiAqL1xuICBAc3RhdGUoKSBwcml2YXRlIF9sYWJlbD86IEhUTUxMYWJlbEVsZW1lbnQ7XG5cbiAgLyoqIFJldHVybnMgdGhlIGlucHV0IGVsZW1lbnQuICovXG4gIHB1YmxpYyBnZXQgaW5wdXRFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MU2VsZWN0RWxlbWVudCB8IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXQ7XG4gIH1cblxuICBwcml2YXRlIF9hYm9ydCA9IG5ldyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICAvKipcbiAgICogTGlzdGVucyB0byB0aGUgY2hhbmdlcyBvbiBgcmVhZG9ubHlgIGFuZCBgZGlzYWJsZWRgIGF0dHJpYnV0ZXMgb2YgYDxpbnB1dD5gLlxuICAgKi9cbiAgcHJpdmF0ZSBfZm9ybUZpZWxkQXR0cmlidXRlT2JzZXJ2ZXIgPSBuZXcgQWdub3N0aWNNdXRhdGlvbk9ic2VydmVyKFxuICAgIChtdXRhdGlvbnM6IE11dGF0aW9uUmVjb3JkW10pID0+IHtcbiAgICAgIGlmIChtdXRhdGlvbnMuc29tZSgobSkgPT4gbS50eXBlID09PSAnYXR0cmlidXRlcycpKSB7XG4gICAgICAgIHRoaXMuX3JlYWRJbnB1dFN0YXRlKCk7XG4gICAgICB9XG4gICAgfSxcbiAgKTtcblxuICBwcml2YXRlIF9pbnB1dEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLl9hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCd3aWxsT3BlbicsIChlOiBDdXN0b21FdmVudDx2b2lkPikgPT4gdGhpcy5fb25Qb3B1cE9wZW4oZSksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignZGlkQ2xvc2UnLCAoZTogQ3VzdG9tRXZlbnQ8dm9pZD4pID0+IHRoaXMuX29uUG9wdXBDbG9zZShlKSwgeyBzaWduYWwgfSk7XG4gICAgdGhpcy5fcmVnaXN0ZXJJbnB1dExpc3RlbmVyKCk7XG4gICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuX3N5bmNOZWdhdGl2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Qb3B1cE9wZW4oeyB0YXJnZXQgfTogQ3VzdG9tRXZlbnQ8dm9pZD4pOiB2b2lkIHtcbiAgICBpZiAoc3VwcG9ydGVkUG9wdXBUYWdOYW1lcy5pbmNsdWRlcygodGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5sb2NhbE5hbWUpKSB7XG4gICAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtcG9wdXAtb3BlbicsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uUG9wdXBDbG9zZSh7IHRhcmdldCB9OiBDdXN0b21FdmVudDx2b2lkPik6IHZvaWQge1xuICAgIGlmIChzdXBwb3J0ZWRQb3B1cFRhZ05hbWVzLmluY2x1ZGVzKCh0YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmxvY2FsTmFtZSkpIHtcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWhhcy1wb3B1cC1vcGVuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlV3JhcHBlckNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc0J1dHRvbk9yUG9wdXAoZXZlbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgPT09ICdzYmItc2VsZWN0Jykge1xuICAgICAgdGhpcy5faW5wdXQuY2xpY2soKTtcbiAgICAgIHRoaXMuX2lucHV0LmZvY3VzKCk7XG4gICAgfSBlbHNlIGlmICgoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLmxvY2FsTmFtZSAhPT0gJ2xhYmVsJykge1xuICAgICAgdGhpcy5faW5wdXQ/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNCdXR0b25PclBvcHVwKGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuc29tZShcbiAgICAgICAgKGVsKSA9PlxuICAgICAgICAgIChlbCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MRWxlbWVudCAmJiBlbC5nZXRBdHRyaWJ1dGUoJ3JvbGUnKSA9PT0gJ2J1dHRvbicpIHx8XG4gICAgICAgICAgdGhpcy5fZXhjbHVkZWRGb2N1c0VsZW1lbnRzLmluY2x1ZGVzKChlbCBhcyBIVE1MRWxlbWVudCkubG9jYWxOYW1lKSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vblNsb3RMYWJlbENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBsYWJlbHMgPSBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbCgnbGFiZWwnKSk7XG4gICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgbGFiZWxzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYERldGVjdGVkIG1vcmUgdGhhbiBvbmUgbGFiZWwgaW4gc2JiLWZvcm0tZmllbGQjJHt0aGlzLmlkfS4gT25seSBvbmUgbGFiZWwgaXMgc3VwcG9ydGVkLmAsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9sYWJlbCA9IGxhYmVsc1swXTtcbiAgICB0aGlzLl9zeW5jTGFiZWxJbnB1dFJlZmVyZW5jZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBpcyB1c2VkIGludGVybmFsbHkgdG8gYXNzaWduIHRoZSBhdHRyaWJ1dGVzIG9mIGA8aW5wdXQ+YCB0byBgX2lkYCBhbmQgYF9pbnB1dGAgYW5kIHRvIG9ic2VydmUgdGhlIG5hdGl2ZSByZWFkb25seSBhbmQgZGlzYWJsZWQgYXR0cmlidXRlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdElucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0ID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpXG4gICAgICAuYXNzaWduZWRFbGVtZW50cygpXG4gICAgICAuZmluZCgoZSk6IGUgaXMgSFRNTEVsZW1lbnQgPT4gdGhpcy5fc3VwcG9ydGVkSW5wdXRFbGVtZW50cy5pbmNsdWRlcyhlLmxvY2FsTmFtZSkpO1xuICAgIHRoaXMuX2Fzc2lnblNsb3RzKCk7XG5cbiAgICBpZiAoIXRoaXMuX2lucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fb3JpZ2luYWxJbnB1dEFyaWFEZXNjcmliZWRieSA9IHRoaXMuX2lucHV0LmdldEF0dHJpYnV0ZSgnYXJpYS1kZXNjcmliZWRieScpO1xuICAgIHRoaXMuX2FwcGx5QXJpYURlc2NyaWJlZGJ5KCk7XG4gICAgdGhpcy5fcmVhZElucHV0U3RhdGUoKTtcbiAgICB0aGlzLl9yZWdpc3RlcklucHV0TGlzdGVuZXIoKTtcblxuICAgIGlmICh0aGlzLl9pbnB1dC5sb2NhbE5hbWUgPT09ICd0ZXh0YXJlYScpIHtcbiAgICAgIHRoaXMuX2lucHV0LnNldEF0dHJpYnV0ZSgncm93cycsIHRoaXMuX2lucHV0LmdldEF0dHJpYnV0ZSgncm93cycpIHx8ICczJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fZm9ybUZpZWxkQXR0cmlidXRlT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyLm9ic2VydmUodGhpcy5faW5wdXQsIHtcbiAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnLCAnY2xhc3MnLCAnZGF0YS1zYmItaW52YWxpZCddLFxuICAgIH0pO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLWlucHV0LXR5cGUnLCB0aGlzLl9pbnB1dC5sb2NhbE5hbWUpO1xuICAgIHRoaXMuX3N5bmNMYWJlbElucHV0UmVmZXJlbmNlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY0xhYmVsSW5wdXRSZWZlcmVuY2VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXQgfHwgIXRoaXMuX2xhYmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3N1cHBvcnRlZE5hdGl2ZUlucHV0RWxlbWVudHMuaW5jbHVkZXModGhpcy5faW5wdXQubG9jYWxOYW1lKSkge1xuICAgICAgLy8gRm9yIG5hdGl2ZSBpbnB1dCBlbGVtZW50cyB3ZSB1c2UgdGhlIGBmb3JgIGF0dHJpYnV0ZSBvbiB0aGUgbGFiZWwgdG8gcmVmZXJlbmNlIHRoZSBpbnB1dFxuICAgICAgLy8gdmlhIGlkIHJlZmVyZW5jZS5cbiAgICAgIGlmICghdGhpcy5faW5wdXQuaWQpIHtcbiAgICAgICAgdGhpcy5faW5wdXQuaWQgPSBgc2JiLWZvcm0tZmllbGQtaW5wdXQtJHtuZXh0SWQrK31gO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9sYWJlbC5odG1sRm9yID0gdGhpcy5faW5wdXQuaWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZvciBub24tbmF0aXZlIGlucHV0IGVsZW1lbnRzLCB0aGF0IGRvIG5vdCBzdXBwb3J0IHJlZmVyZW5jZXMgdmlhIHRoZSBsYWJlbCBmb3IgYXR0cmlidXRlLFxuICAgICAgLy8gd2UgdXNlIGFyaWEtbGFiZWxsZWRieSBvbiB0aGUgaW5wdXQgZWxlbWVudCB0byByZWZlcmVuY2UgdGhlIGxhYmVsIGVsZW1lbnQgdmlhIGlkLlxuICAgICAgaWYgKCF0aGlzLl9sYWJlbC5pZCkge1xuICAgICAgICB0aGlzLl9sYWJlbC5pZCA9IGBzYmItZm9ybS1maWVsZC1sYWJlbC0ke25leHRJZCsrfWA7XG4gICAgICB9XG4gICAgICBjb25zdCBsYWJlbGxlZGJ5ID1cbiAgICAgICAgdGhpcy5faW5wdXRcbiAgICAgICAgICAuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKVxuICAgICAgICAgID8uc3BsaXQoJyAnKVxuICAgICAgICAgIC5maWx0ZXIoKGwpID0+ICEhbCAmJiBsICE9PSB0aGlzLl9sYWJlbCEuaWQpID8/IFtdO1xuICAgICAgdGhpcy5faW5wdXQuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknLCBbLi4ubGFiZWxsZWRieSwgdGhpcy5fbGFiZWwuaWRdLmpvaW4oJyAnKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJJbnB1dExpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcblxuICAgIC8vIFRpbWVvdXQgbmVlZGVkIHRvIGhhdmUgdmFsdWUgdXBkYXRlZFxuICAgIHRoaXMuX2dldElucHV0Rm9ybSgpPy5hZGRFdmVudExpc3RlbmVyKCdyZXNldCcsICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZXNldCgpKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICB0aGlzLl9pbnB1dC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcblxuICAgIHRoaXMuX2lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICBsZXQgaW5wdXRGb2N1c0VsZW1lbnQgPSB0aGlzLl9pbnB1dDtcblxuICAgIGlmICh0aGlzLl9pbnB1dC5sb2NhbE5hbWUgPT09ICdzYmItc2VsZWN0Jykge1xuICAgICAgdGhpcy5faW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignc3RhdGVDaGFuZ2UnLCAoKSA9PiB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKSwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuXG4gICAgICBpbnB1dEZvY3VzRWxlbWVudCA9ICh0aGlzLl9pbnB1dCBhcyBTYmJTZWxlY3RFbGVtZW50KS5pbnB1dEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgaW5wdXRGb2N1c0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdmb2N1c2luJyxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaW5wdXQtZm9jdXNlZCcsIHRydWUpO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAnZGF0YS1mb2N1cy1vcmlnaW4nLFxuICAgICAgICAgIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5IGFzIFNiYklucHV0TW9kYWxpdHkpID8/ICcnLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpbnB1dEZvY3VzRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2ZvY3Vzb3V0JyxcbiAgICAgICgpID0+XG4gICAgICAgIFsnZGF0YS1mb2N1cy1vcmlnaW4nLCAnZGF0YS1pbnB1dC1mb2N1c2VkJ10uZm9yRWFjaCgobmFtZSkgPT4gdGhpcy5yZW1vdmVBdHRyaWJ1dGUobmFtZSkpLFxuICAgICAge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldElucHV0Rm9ybSgpOiBIVE1MRm9ybUVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8IHRoaXMuX2lucHV0IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9pbnB1dC5mb3JtO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faW5wdXQ/LmNsb3Nlc3QoJ2Zvcm0nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICdkYXRhLWlucHV0LWVtcHR5JyxcbiAgICAgIHRoaXMuX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dEVsZW1lbnRzLmluY2x1ZGVzKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgYXMgc3RyaW5nKSAmJlxuICAgICAgICB0aGlzLl9pc0lucHV0RW1wdHkoKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnB1dEVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9pbnB1dCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dFR5cGVzLmluY2x1ZGVzKHRoaXMuX2lucHV0LnR5cGUpICYmXG4gICAgICAgIHRoaXMuX2lzSW5wdXRWYWx1ZUVtcHR5KClcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pbnB1dCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5faW5wdXQuc2VsZWN0ZWRPcHRpb25zPy5pdGVtKDApPy5sYWJlbD8udHJpbSgpID09PSAnJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgPT09ICdzYmItc2VsZWN0Jykge1xuICAgICAgcmV0dXJuICh0aGlzLl9pbnB1dCBhcyBTYmJTZWxlY3RFbGVtZW50KS5nZXREaXNwbGF5VmFsdWUoKT8udHJpbSgpID09PSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuX2lzSW5wdXRWYWx1ZUVtcHR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnB1dFZhbHVlRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdmFsdWUgPSAodGhpcy5faW5wdXQgYXMgeyB2YWx1ZTogc3RyaW5nIH0pLnZhbHVlO1xuICAgIHJldHVybiBbJycsIHVuZGVmaW5lZCwgbnVsbF0uaW5jbHVkZXModmFsdWUpIHx8IChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXNzaWduU2xvdHMoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKCdsYWJlbDpub3QoW3Nsb3RdKScpLmZvckVhY2goKGUpID0+IGUuc2V0QXR0cmlidXRlKCdzbG90JywgJ2xhYmVsJykpO1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnc2JiLWZvcm0tZXJyb3I6bm90KFtzbG90XSknKS5mb3JFYWNoKChlKSA9PlxuICAgICAgZS5zZXRBdHRyaWJ1dGUoJ3Nsb3QnLCAnZXJyb3InKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVhZElucHV0U3RhdGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1yZWFkb25seScsIHRoaXMuX2lucHV0Lmhhc0F0dHJpYnV0ZSgncmVhZG9ubHknKSk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZGlzYWJsZWQnLCB0aGlzLl9pbnB1dC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKFxuICAgICAgJ2RhdGEtaW52YWxpZCcsXG4gICAgICB0aGlzLl9pbnB1dC5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2JiLWludmFsaWQnKSB8fFxuICAgICAgICB0aGlzLl9pbnB1dC5jbGFzc0xpc3QuY29udGFpbnMoJ3NiYi1pbnZhbGlkJykgfHxcbiAgICAgICAgKHRoaXMuX2lucHV0LmNsYXNzTGlzdC5jb250YWlucygnbmctdG91Y2hlZCcpICYmXG4gICAgICAgICAgdGhpcy5faW5wdXQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy1pbnZhbGlkJykpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSXQgaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHNldCB0aGUgYXJpYS1kZXNjcmliZWRieSBhdHRyaWJ1dGUgZm9yIHRoZSBzbG90dGVkIGlucHV0IHJlZmVyZW5jaW5nIGF2YWlsYWJsZSA8c2JiLWZvcm0tZXJyb3I+IGluc3RhbmNlcy5cbiAgICovXG4gIHByaXZhdGUgX29uU2xvdEVycm9yQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2Vycm9yRWxlbWVudHMgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudCkuYXNzaWduZWRFbGVtZW50cygpO1xuXG4gICAgZm9yIChjb25zdCBlbCBvZiB0aGlzLl9lcnJvckVsZW1lbnRzKSB7XG4gICAgICAvLyBBbHRob3VnaCBhIGZvcm0gZXJyb3IgYXNzaWducyBhbiBpZCBpdHNlbGYsIHdlIG5lZWQgdG8gYmUgZWFybGllciBieSBjcmVhdGluZyBvbmUgaGVyZVxuICAgICAgaWYgKCFlbC5pZCkge1xuICAgICAgICBlbC5pZCA9IGBzYmItZm9ybS1maWVsZC1lcnJvci0keysrbmV4dEZvcm1GaWVsZEVycm9ySWR9YDtcbiAgICAgIH1cbiAgICAgIGlmICghZWwucm9sZSkge1xuICAgICAgICAvLyBJbnN0ZWFkIG9mIGRlZmluaW5nIGEgY29udGFpbmVyIHdpdGggYW4gYXJpYS1saXZlIHJlZ2lvbiBhcyBleHBlY3RlZCwgd2UgaGFkIHRvIGNoYW5nZVxuICAgICAgICAvLyBzZXR0aW5nIGl0IGZvciBldmVyeSBzbG90dGVkIGVsZW1lbnQgdG8gcHJvcGVybHkgd29yayBpbiBhbGwgYnJvd3NlcnMgYW5kIHNjcmVlbiByZWFkZXIgY29tYmluYXRpb25zLlxuICAgICAgICBlbC5yb2xlID0gJ3N0YXR1cyc7XG4gICAgICAgIGlmIChpc0ZpcmVmb3gpIHtcbiAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnc3RhdHVzJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fYXBwbHlBcmlhRGVzY3JpYmVkYnkoKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtZXJyb3InLCAhIXRoaXMuX2Vycm9yRWxlbWVudHMubGVuZ3RoKTtcbiAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5QXJpYURlc2NyaWJlZGJ5KCk6IHZvaWQge1xuICAgIGNvbnN0IGlkcyA9IFtdO1xuXG4gICAgaWYgKHRoaXMuX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnkpIHtcbiAgICAgIGlkcy5wdXNoKHRoaXMuX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9lcnJvckVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgdGhpcy5fZXJyb3JFbGVtZW50cy5mb3JFYWNoKChlKSA9PiBpZHMucHVzaChlLmlkKSk7XG4gICAgfVxuXG4gICAgY29uc3QgYXJpYURlc2NyaWJlZGJ5ID0gaWRzLmpvaW4oJyAnKTtcbiAgICBpZiAodGhpcy5faW5wdXQpIHtcbiAgICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlKHRoaXMuX2lucHV0LCAnYXJpYS1kZXNjcmliZWRieScsIGFyaWFEZXNjcmliZWRieSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIE1hbnVhbGx5IHJlc2V0IHRoZSBmb3JtIGZpZWxkLiBDdXJyZW50bHksIHRoaXMgb25seSByZXNldHMgdGhlIGZsb2F0aW5nIGxhYmVsLiAqL1xuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCk7XG4gIH1cblxuICAvKiogTWFudWFsbHkgY2xlYXJzIHRoZSBpbnB1dCB2YWx1ZS4gSXQgb25seSB3b3JrcyBmb3IgaW5wdXRzLCBzZWxlY3RzIGFyZSBub3Qgc3VwcG9ydGVkLiAqL1xuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgaWYgKCh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lIGFzIHN0cmluZykgIT09ICdpbnB1dCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgKHRoaXMuX2lucHV0IGFzIHsgdmFsdWU6IHN0cmluZyB9KS52YWx1ZSA9ICcnO1xuICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIEBkZXByZWNhdGVkIFVzZSB0aGUgJ2lucHV0RWxlbWVudCcgcHJvcGVydHkgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIGdldElucHV0RWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0O1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY05lZ2F0aXZlKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKFxuICAgICAgJ3NiYi1mb3JtLWVycm9yLHNiYi1taW5pLWJ1dHRvbixzYmItcG9wb3Zlci10cmlnZ2VyLHNiYi1mb3JtLWZpZWxkLWNsZWFyLHNiYi1kYXRlcGlja2VyLW5leHQtZGF5LHNiYi1kYXRlcGlja2VyLXByZXZpb3VzLWRheSxzYmItZGF0ZXBpY2tlci10b2dnbGUsc2JiLXNlbGVjdCxzYmItYXV0b2NvbXBsZXRlJyxcbiAgICApLmZvckVhY2goKGVsZW1lbnQpID0+IGVsZW1lbnQudG9nZ2xlQXR0cmlidXRlKCduZWdhdGl2ZScsIHRoaXMubmVnYXRpdmUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19zcGFjZS13cmFwcGVyXCI+XG4gICAgICAgICR7LyogUXVlcmllZCBieSBpZCBmcm9tIHRoZSBhdXRvY29tcGxldGUvc2VsZWN0IHRvIGJlIHVzZWQgYXMgdGhlIGFuY2hvciBlbGVtZW50ICovICcnfVxuICAgICAgICA8ZGl2IEBjbGljaz0ke3RoaXMuX2hhbmRsZVdyYXBwZXJDbGlja30gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fd3JhcHBlclwiIGlkPVwib3ZlcmxheS1hbmNob3JcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwicHJlZml4XCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9zeW5jTmVnYXRpdmV9Pjwvc2xvdD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2lucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWwtc3BhY2VyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fbGFiZWwtZWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwibGFiZWxcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX29uU2xvdExhYmVsQ2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICAgICAgJHt0aGlzLm9wdGlvbmFsXG4gICAgICAgICAgICAgICAgICA/IGh0bWxgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiAke2kxOG5PcHRpb25hbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gPC9zcGFuPmBcbiAgICAgICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19pbnB1dFwiPlxuICAgICAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX29uU2xvdElucHV0Q2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICR7WydzZWxlY3QnLCAnc2JiLXNlbGVjdCddLmluY2x1ZGVzKHRoaXMuX2lucHV0Py5sb2NhbE5hbWUgYXMgc3RyaW5nKVxuICAgICAgICAgICAgICA/IGh0bWxgPHNiYi1pY29uXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiY2hldnJvbi1zbWFsbC1kb3duLXNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX3NlbGVjdC1pbnB1dC1pY29uXCJcbiAgICAgICAgICAgICAgICA+PC9zYmItaWNvbj5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwic3VmZml4XCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9zeW5jTmVnYXRpdmV9Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19lcnJvclwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJlcnJvclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25TbG90RXJyb3JDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZm9ybS1maWVsZCc6IFNiYkZvcm1GaWVsZEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
891
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJJbnB1dE1vZGFsaXR5IH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJDb25uZWN0ZWRBYm9ydENvbnRyb2xsZXIsIFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzRmlyZWZveCwgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuT3B0aW9uYWwgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4sIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBBZ25vc3RpY011dGF0aW9uT2JzZXJ2ZXIgfSBmcm9tICcuLi8uLi9jb3JlL29ic2VydmVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlNlbGVjdEVsZW1lbnQgfSBmcm9tICcuLi8uLi9zZWxlY3QuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9mb3JtLWZpZWxkLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vaWNvbi5qcyc7XG5cbmxldCBuZXh0SWQgPSAwO1xubGV0IG5leHRGb3JtRmllbGRFcnJvcklkID0gMDtcblxuY29uc3Qgc3VwcG9ydGVkUG9wdXBUYWdOYW1lcyA9IFsnc2JiLWF1dG9jb21wbGV0ZScsICdzYmItYXV0b2NvbXBsZXRlLWdyaWQnLCAnc2JiLXNlbGVjdCddO1xuXG4vKipcbiAqIEl0IHdyYXBzIGFuIGlucHV0IGVsZW1lbnQgYWRkaW5nIGxhYmVsLCBlcnJvcnMsIGljb24sIGV0Yy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGFuIGlucHV0L3NlbGVjdCBvciBhIHN1cHBvcnRlZCBub24tbmF0aXZlIGVsZW1lbnQuXG4gKiBAc2xvdCBsYWJlbCAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGEgbGFiZWwuXG4gKiBAc2xvdCBwcmVmaXggLSBVc2UgdGhpcyBzbG90IHRvIHJlbmRlciBhbiBpY29uIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIGlucHV0LlxuICogQHNsb3Qgc3VmZml4IC0gVXNlIHRoaXMgc2xvdCB0byByZW5kZXIgYW4gaWNvbiBvbiB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgaW5wdXQuXG4gKiBAc2xvdCBlcnJvciAtIFVzZSB0aGlzIHNsb3QgdG8gcmVuZGVyIGFuIGVycm9yLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWZvcm0tZmllbGQnKVxuQHNsb3RTdGF0ZSgpXG5leHBvcnQgY2xhc3MgU2JiRm9ybUZpZWxkRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiSHlkcmF0aW9uTWl4aW4oTGl0RWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3VwcG9ydGVkTmF0aXZlSW5wdXRFbGVtZW50cyA9IFsnaW5wdXQnLCAnc2VsZWN0JywgJ3RleHRhcmVhJ107XG4gIC8vIExpc3Qgb2Ygc3VwcG9ydGVkIGVsZW1lbnQgc2VsZWN0b3JzIGluIHVubmFtZWQgc2xvdFxuICBwcml2YXRlIHJlYWRvbmx5IF9zdXBwb3J0ZWRJbnB1dEVsZW1lbnRzID0gW1xuICAgIC4uLnRoaXMuX3N1cHBvcnRlZE5hdGl2ZUlucHV0RWxlbWVudHMsXG4gICAgJ3NiYi1zZWxlY3QnLFxuICAgICdzYmItc2xpZGVyJyxcbiAgXTtcbiAgLy8gTGlzdCBvZiBlbGVtZW50cyB0aGF0IHNob3VsZCBub3QgZm9jdXMgaW5wdXQgb24gY2xpY2tcbiAgcHJpdmF0ZSByZWFkb25seSBfZXhjbHVkZWRGb2N1c0VsZW1lbnRzID0gWydidXR0b24nLCAnc2JiLXBvcG92ZXInXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mbG9hdGluZ0xhYmVsU3VwcG9ydGVkSW5wdXRFbGVtZW50cyA9IFtcbiAgICAnaW5wdXQnLFxuICAgICdzZWxlY3QnLFxuICAgICdzYmItc2VsZWN0JyxcbiAgICAndGV4dGFyZWEnLFxuICBdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zsb2F0aW5nTGFiZWxTdXBwb3J0ZWRJbnB1dFR5cGVzID0gW1xuICAgICdlbWFpbCcsXG4gICAgJ251bWJlcicsXG4gICAgJ3Bhc3N3b3JkJyxcbiAgICAnc2VhcmNoJyxcbiAgICAndGVsJyxcbiAgICAndGV4dCcsXG4gICAgJ3VybCcsXG4gIF07XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgYW4gZXJyb3IgbWVzc2FnZS5cbiAgICogYG5vbmVgIGRvZXMgbm90IHJlc2VydmUgYW55IHNwYWNlLlxuICAgKiBgcmVzZXJ2ZWAgZG9lcyByZXNlcnZlIG9uZSByb3cgZm9yIGFuIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdlcnJvci1zcGFjZScsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGVycm9yU3BhY2U/OiAnbm9uZScgfCAncmVzZXJ2ZScgPSAnbm9uZSc7XG5cbiAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBpbnB1dCBpcyBvcHRpb25hbC4gKi9cbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgb3B0aW9uYWw/OiBib29sZWFuO1xuXG4gIC8qKiBTaXplIHZhcmlhbnQsIGVpdGhlciBsIG9yIG0uICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIHNpemU/OiAnbCcgfCAnbScgPSAnbSc7XG5cbiAgLyoqIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgZm9ybSBmaWVsZCB3aXRob3V0IGEgYm9yZGVyLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBib3JkZXJsZXNzID0gZmFsc2U7XG5cbiAgLyoqIERlZmluZXMgdGhlIHdpZHRoIG9mIHRoZSBjb21wb25lbnQ6XG4gICAqIC0gYGRlZmF1bHRgOiB0aGUgY29tcG9uZW50IGhhcyBkZWZpbmVkIHdpZHRoIGFuZCBtaW4td2lkdGg7XG4gICAqIC0gYGNvbGxhcHNlYDogdGhlIGNvbXBvbmVudCBhZGFwdHMgaXRzZWxmIHRvIGl0cyBpbm5lciBpbnB1dCBjb250ZW50LiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyB3aWR0aDogJ2RlZmF1bHQnIHwgJ2NvbGxhcHNlJyA9ICdkZWZhdWx0JztcblxuICAvKiogV2hldGhlciB0byB2aXN1YWxseSBoaWRlIHRoZSBsYWJlbC4gSWYgaGlkZGVuLCBzY3JlZW4gcmVhZGVycyB3aWxsIHN0aWxsIHJlYWQgaXQuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hpZGRlbi1sYWJlbCcsIHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIGhpZGRlbkxhYmVsID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGxhYmVsIHNob3VsZCBmbG9hdC4gSWYgYWN0aXZhdGVkLCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGlucHV0IGlzIGhpZGRlbi4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZmxvYXRpbmctbGFiZWwnLCByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBmbG9hdGluZ0xhYmVsID1cbiAgICBmYWxzZTtcblxuICAvKiogSXQgaXMgdXNlZCBpbnRlcm5hbGx5IHRvIGdldCB0aGUgYGVycm9yYCBzbG90LiAqL1xuICBAc3RhdGUoKSBwcml2YXRlIF9lcnJvckVsZW1lbnRzOiBFbGVtZW50W10gPSBbXTtcblxuICAvKiogT3JpZ2luYWwgYXJpYS1kZXNjcmliZWRieSB2YWx1ZSBvZiB0aGUgc2xvdHRlZCBpbnB1dCBlbGVtZW50LiAqL1xuICBwcml2YXRlIF9vcmlnaW5hbElucHV0QXJpYURlc2NyaWJlZGJ5Pzogc3RyaW5nIHwgbnVsbDtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBzbG90dGVkIGlucHV0IGVsZW1lbnQuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgX2lucHV0PzogSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTEVsZW1lbnQ7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgc2xvdHRlZCBsYWJlbCBlbGVtZW50cy4gKi9cbiAgQHN0YXRlKCkgcHJpdmF0ZSBfbGFiZWw/OiBIVE1MTGFiZWxFbGVtZW50O1xuXG4gIC8qKiBSZXR1cm5zIHRoZSBpbnB1dCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IGlucHV0RWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0O1xuICB9XG5cbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgLyoqXG4gICAqIExpc3RlbnMgdG8gdGhlIGNoYW5nZXMgb24gYHJlYWRvbmx5YCBhbmQgYGRpc2FibGVkYCBhdHRyaWJ1dGVzIG9mIGA8aW5wdXQ+YC5cbiAgICovXG4gIHByaXZhdGUgX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyID0gbmV3IEFnbm9zdGljTXV0YXRpb25PYnNlcnZlcihcbiAgICAobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiB7XG4gICAgICBpZiAobXV0YXRpb25zLnNvbWUoKG0pID0+IG0udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnKSkge1xuICAgICAgICB0aGlzLl9yZWFkSW5wdXRTdGF0ZSgpO1xuICAgICAgfVxuICAgIH0sXG4gICk7XG5cbiAgcHJpdmF0ZSBfaW5wdXRBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3Qgc2lnbmFsID0gdGhpcy5fYWJvcnQuc2lnbmFsO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignd2lsbE9wZW4nLCAoZTogQ3VzdG9tRXZlbnQ8dm9pZD4pID0+IHRoaXMuX29uUG9wdXBPcGVuKGUpLCB7IHNpZ25hbCB9KTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2RpZENsb3NlJywgKGU6IEN1c3RvbUV2ZW50PHZvaWQ+KSA9PiB0aGlzLl9vblBvcHVwQ2xvc2UoZSksIHsgc2lnbmFsIH0pO1xuICAgIHRoaXMuX3JlZ2lzdGVySW5wdXRMaXN0ZW5lcigpO1xuICAgIHRoaXMuX3N5bmNOZWdhdGl2ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduZWdhdGl2ZScpKSB7XG4gICAgICB0aGlzLl9zeW5jTmVnYXRpdmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uUG9wdXBPcGVuKHsgdGFyZ2V0IH06IEN1c3RvbUV2ZW50PHZvaWQ+KTogdm9pZCB7XG4gICAgaWYgKHN1cHBvcnRlZFBvcHVwVGFnTmFtZXMuaW5jbHVkZXMoKHRhcmdldCBhcyBIVE1MRWxlbWVudCkubG9jYWxOYW1lKSkge1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaGFzLXBvcHVwLW9wZW4nLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblBvcHVwQ2xvc2UoeyB0YXJnZXQgfTogQ3VzdG9tRXZlbnQ8dm9pZD4pOiB2b2lkIHtcbiAgICBpZiAoc3VwcG9ydGVkUG9wdXBUYWdOYW1lcy5pbmNsdWRlcygodGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5sb2NhbE5hbWUpKSB7XG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1oYXMtcG9wdXAtb3BlbicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVdyYXBwZXJDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faXNCdXR0b25PclBvcHVwKGV2ZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lID09PSAnc2JiLXNlbGVjdCcpIHtcbiAgICAgIHRoaXMuX2lucHV0LmNsaWNrKCk7XG4gICAgICB0aGlzLl9pbnB1dC5mb2N1cygpO1xuICAgIH0gZWxzZSBpZiAoKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KS5sb2NhbE5hbWUgIT09ICdsYWJlbCcpIHtcbiAgICAgIHRoaXMuX2lucHV0Py5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzQnV0dG9uT3JQb3B1cChldmVudDogRXZlbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZXZlbnRcbiAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgLnNvbWUoXG4gICAgICAgIChlbCkgPT5cbiAgICAgICAgICAoZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQgJiYgZWwuZ2V0QXR0cmlidXRlKCdyb2xlJykgPT09ICdidXR0b24nKSB8fFxuICAgICAgICAgIHRoaXMuX2V4Y2x1ZGVkRm9jdXNFbGVtZW50cy5pbmNsdWRlcygoZWwgYXMgSFRNTEVsZW1lbnQpLmxvY2FsTmFtZSksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25TbG90TGFiZWxDaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgbGFiZWxzID0gQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ2xhYmVsJykpO1xuICAgIGlmIChpbXBvcnQubWV0YS5lbnYuREVWICYmIGxhYmVscy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBEZXRlY3RlZCBtb3JlIHRoYW4gb25lIGxhYmVsIGluIHNiYi1mb3JtLWZpZWxkIyR7dGhpcy5pZH0uIE9ubHkgb25lIGxhYmVsIGlzIHN1cHBvcnRlZC5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5fbGFiZWwgPSBsYWJlbHNbMF07XG4gICAgdGhpcy5fc3luY0xhYmVsSW5wdXRSZWZlcmVuY2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogSXQgaXMgdXNlZCBpbnRlcm5hbGx5IHRvIGFzc2lnbiB0aGUgYXR0cmlidXRlcyBvZiBgPGlucHV0PmAgdG8gYF9pZGAgYW5kIGBfaW5wdXRgIGFuZCB0byBvYnNlcnZlIHRoZSBuYXRpdmUgcmVhZG9ubHkgYW5kIGRpc2FibGVkIGF0dHJpYnV0ZXMuXG4gICAqL1xuICBwcml2YXRlIF9vblNsb3RJbnB1dENoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnB1dCA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KVxuICAgICAgLmFzc2lnbmVkRWxlbWVudHMoKVxuICAgICAgLmZpbmQoKGUpOiBlIGlzIEhUTUxFbGVtZW50ID0+IHRoaXMuX3N1cHBvcnRlZElucHV0RWxlbWVudHMuaW5jbHVkZXMoZS5sb2NhbE5hbWUpKTtcbiAgICB0aGlzLl9hc3NpZ25TbG90cygpO1xuXG4gICAgaWYgKCF0aGlzLl9pbnB1dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX29yaWdpbmFsSW5wdXRBcmlhRGVzY3JpYmVkYnkgPSB0aGlzLl9pbnB1dC5nZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKTtcbiAgICB0aGlzLl9hcHBseUFyaWFEZXNjcmliZWRieSgpO1xuICAgIHRoaXMuX3JlYWRJbnB1dFN0YXRlKCk7XG4gICAgdGhpcy5fcmVnaXN0ZXJJbnB1dExpc3RlbmVyKCk7XG5cbiAgICBpZiAodGhpcy5faW5wdXQubG9jYWxOYW1lID09PSAndGV4dGFyZWEnKSB7XG4gICAgICB0aGlzLl9pbnB1dC5zZXRBdHRyaWJ1dGUoJ3Jvd3MnLCB0aGlzLl9pbnB1dC5nZXRBdHRyaWJ1dGUoJ3Jvd3MnKSB8fCAnMycpO1xuICAgIH1cblxuICAgIHRoaXMuX2Zvcm1GaWVsZEF0dHJpYnV0ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2lucHV0LCB7XG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ3JlYWRvbmx5JywgJ2Rpc2FibGVkJywgJ2NsYXNzJywgJ2RhdGEtc2JiLWludmFsaWQnXSxcbiAgICB9KTtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS1pbnB1dC10eXBlJywgdGhpcy5faW5wdXQubG9jYWxOYW1lKTtcbiAgICB0aGlzLl9zeW5jTGFiZWxJbnB1dFJlZmVyZW5jZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNMYWJlbElucHV0UmVmZXJlbmNlcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lucHV0IHx8ICF0aGlzLl9sYWJlbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9zdXBwb3J0ZWROYXRpdmVJbnB1dEVsZW1lbnRzLmluY2x1ZGVzKHRoaXMuX2lucHV0LmxvY2FsTmFtZSkpIHtcbiAgICAgIC8vIEZvciBuYXRpdmUgaW5wdXQgZWxlbWVudHMgd2UgdXNlIHRoZSBgZm9yYCBhdHRyaWJ1dGUgb24gdGhlIGxhYmVsIHRvIHJlZmVyZW5jZSB0aGUgaW5wdXRcbiAgICAgIC8vIHZpYSBpZCByZWZlcmVuY2UuXG4gICAgICBpZiAoIXRoaXMuX2lucHV0LmlkKSB7XG4gICAgICAgIHRoaXMuX2lucHV0LmlkID0gYHNiYi1mb3JtLWZpZWxkLWlucHV0LSR7bmV4dElkKyt9YDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fbGFiZWwuaHRtbEZvciA9IHRoaXMuX2lucHV0LmlkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGb3Igbm9uLW5hdGl2ZSBpbnB1dCBlbGVtZW50cywgdGhhdCBkbyBub3Qgc3VwcG9ydCByZWZlcmVuY2VzIHZpYSB0aGUgbGFiZWwgZm9yIGF0dHJpYnV0ZSxcbiAgICAgIC8vIHdlIHVzZSBhcmlhLWxhYmVsbGVkYnkgb24gdGhlIGlucHV0IGVsZW1lbnQgdG8gcmVmZXJlbmNlIHRoZSBsYWJlbCBlbGVtZW50IHZpYSBpZC5cbiAgICAgIGlmICghdGhpcy5fbGFiZWwuaWQpIHtcbiAgICAgICAgdGhpcy5fbGFiZWwuaWQgPSBgc2JiLWZvcm0tZmllbGQtbGFiZWwtJHtuZXh0SWQrK31gO1xuICAgICAgfVxuICAgICAgY29uc3QgbGFiZWxsZWRieSA9XG4gICAgICAgIHRoaXMuX2lucHV0XG4gICAgICAgICAgLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5JylcbiAgICAgICAgICA/LnNwbGl0KCcgJylcbiAgICAgICAgICAuZmlsdGVyKChsKSA9PiAhIWwgJiYgbCAhPT0gdGhpcy5fbGFiZWwhLmlkKSA/PyBbXTtcbiAgICAgIHRoaXMuX2lucHV0LnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5JywgWy4uLmxhYmVsbGVkYnksIHRoaXMuX2xhYmVsLmlkXS5qb2luKCcgJykpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlZ2lzdGVySW5wdXRMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lucHV0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gICAgdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCk7XG5cbiAgICAvLyBUaW1lb3V0IG5lZWRlZCB0byBoYXZlIHZhbHVlIHVwZGF0ZWRcbiAgICB0aGlzLl9nZXRJbnB1dEZvcm0oKT8uYWRkRXZlbnRMaXN0ZW5lcigncmVzZXQnLCAoKSA9PiBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVzZXQoKSksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgdGhpcy5faW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCAoKSA9PiB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICB0aGlzLl9pbnB1dC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgKCkgPT4gdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgbGV0IGlucHV0Rm9jdXNFbGVtZW50ID0gdGhpcy5faW5wdXQ7XG5cbiAgICBpZiAodGhpcy5faW5wdXQubG9jYWxOYW1lID09PSAnc2JiLXNlbGVjdCcpIHtcbiAgICAgIHRoaXMuX2lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ3N0YXRlQ2hhbmdlJywgKCkgPT4gdGhpcy5fY2hlY2tBbmRVcGRhdGVJbnB1dEVtcHR5KCksIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9KTtcblxuICAgICAgaW5wdXRGb2N1c0VsZW1lbnQgPSAodGhpcy5faW5wdXQgYXMgU2JiU2VsZWN0RWxlbWVudCkuaW5wdXRFbGVtZW50O1xuICAgIH1cblxuICAgIGlucHV0Rm9jdXNFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnZm9jdXNpbicsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWlucHV0LWZvY3VzZWQnLCB0cnVlKTtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgJ2RhdGEtZm9jdXMtb3JpZ2luJyxcbiAgICAgICAgICAoc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSBhcyBTYmJJbnB1dE1vZGFsaXR5KSA/PyAnJyxcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgaW5wdXRGb2N1c0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdmb2N1c291dCcsXG4gICAgICAoKSA9PlxuICAgICAgICBbJ2RhdGEtZm9jdXMtb3JpZ2luJywgJ2RhdGEtaW5wdXQtZm9jdXNlZCddLmZvckVhY2goKG5hbWUpID0+IHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpKSxcbiAgICAgIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnB1dEZvcm0oKTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuX2lucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCB8fCB0aGlzLl9pbnB1dCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5faW5wdXQuZm9ybTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0Py5jbG9zZXN0KCdmb3JtJyk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1pbnB1dC1lbXB0eScsXG4gICAgICB0aGlzLl9mbG9hdGluZ0xhYmVsU3VwcG9ydGVkSW5wdXRFbGVtZW50cy5pbmNsdWRlcyh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lIGFzIHN0cmluZykgJiZcbiAgICAgICAgdGhpcy5faXNJbnB1dEVtcHR5KCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzSW5wdXRFbXB0eSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLl9mbG9hdGluZ0xhYmVsU3VwcG9ydGVkSW5wdXRUeXBlcy5pbmNsdWRlcyh0aGlzLl9pbnB1dC50eXBlKSAmJlxuICAgICAgICB0aGlzLl9pc0lucHV0VmFsdWVFbXB0eSgpXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faW5wdXQgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2lucHV0LnNlbGVjdGVkT3B0aW9ucz8uaXRlbSgwKT8ubGFiZWw/LnRyaW0oKSA9PT0gJyc7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9pbnB1dD8ubG9jYWxOYW1lID09PSAnc2JiLXNlbGVjdCcpIHtcbiAgICAgIHJldHVybiAodGhpcy5faW5wdXQgYXMgU2JiU2VsZWN0RWxlbWVudCkuZ2V0RGlzcGxheVZhbHVlKCk/LnRyaW0oKSA9PT0gJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLl9pc0lucHV0VmFsdWVFbXB0eSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzSW5wdXRWYWx1ZUVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHZhbHVlID0gKHRoaXMuX2lucHV0IGFzIHsgdmFsdWU6IHN0cmluZyB9KS52YWx1ZTtcbiAgICByZXR1cm4gWycnLCB1bmRlZmluZWQsIG51bGxdLmluY2x1ZGVzKHZhbHVlKSB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Fzc2lnblNsb3RzKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbCgnbGFiZWw6bm90KFtzbG90XSknKS5mb3JFYWNoKChlKSA9PiBlLnNldEF0dHJpYnV0ZSgnc2xvdCcsICdsYWJlbCcpKTtcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ3NiYi1mb3JtLWVycm9yOm5vdChbc2xvdF0pJykuZm9yRWFjaCgoZSkgPT5cbiAgICAgIGUuc2V0QXR0cmlidXRlKCdzbG90JywgJ2Vycm9yJyksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlYWRJbnB1dFN0YXRlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faW5wdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtcmVhZG9ubHknLCB0aGlzLl9pbnB1dC5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5JykpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGVkJywgdGhpcy5faW5wdXQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICdkYXRhLWludmFsaWQnLFxuICAgICAgdGhpcy5faW5wdXQuaGFzQXR0cmlidXRlKCdkYXRhLXNiYi1pbnZhbGlkJykgfHxcbiAgICAgICAgdGhpcy5faW5wdXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdzYmItaW52YWxpZCcpIHx8XG4gICAgICAgICh0aGlzLl9pbnB1dC5jbGFzc0xpc3QuY29udGFpbnMoJ25nLXRvdWNoZWQnKSAmJlxuICAgICAgICAgIHRoaXMuX2lucHV0LmNsYXNzTGlzdC5jb250YWlucygnbmctaW52YWxpZCcpKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0IGlzIHVzZWQgaW50ZXJuYWxseSB0byBzZXQgdGhlIGFyaWEtZGVzY3JpYmVkYnkgYXR0cmlidXRlIGZvciB0aGUgc2xvdHRlZCBpbnB1dCByZWZlcmVuY2luZyBhdmFpbGFibGUgPHNiYi1mb3JtLWVycm9yPiBpbnN0YW5jZXMuXG4gICAqL1xuICBwcml2YXRlIF9vblNsb3RFcnJvckNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9lcnJvckVsZW1lbnRzID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpLmFzc2lnbmVkRWxlbWVudHMoKTtcblxuICAgIGZvciAoY29uc3QgZWwgb2YgdGhpcy5fZXJyb3JFbGVtZW50cykge1xuICAgICAgLy8gQWx0aG91Z2ggYSBmb3JtIGVycm9yIGFzc2lnbnMgYW4gaWQgaXRzZWxmLCB3ZSBuZWVkIHRvIGJlIGVhcmxpZXIgYnkgY3JlYXRpbmcgb25lIGhlcmVcbiAgICAgIGlmICghZWwuaWQpIHtcbiAgICAgICAgZWwuaWQgPSBgc2JiLWZvcm0tZmllbGQtZXJyb3ItJHsrK25leHRGb3JtRmllbGRFcnJvcklkfWA7XG4gICAgICB9XG4gICAgICBpZiAoIWVsLnJvbGUpIHtcbiAgICAgICAgLy8gSW5zdGVhZCBvZiBkZWZpbmluZyBhIGNvbnRhaW5lciB3aXRoIGFuIGFyaWEtbGl2ZSByZWdpb24gYXMgZXhwZWN0ZWQsIHdlIGhhZCB0byBjaGFuZ2VcbiAgICAgICAgLy8gc2V0dGluZyBpdCBmb3IgZXZlcnkgc2xvdHRlZCBlbGVtZW50IHRvIHByb3Blcmx5IHdvcmsgaW4gYWxsIGJyb3dzZXJzIGFuZCBzY3JlZW4gcmVhZGVyIGNvbWJpbmF0aW9ucy5cbiAgICAgICAgZWwucm9sZSA9ICdzdGF0dXMnO1xuICAgICAgICBpZiAoaXNGaXJlZm94KSB7XG4gICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdyb2xlJywgJ3N0YXR1cycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX2FwcGx5QXJpYURlc2NyaWJlZGJ5KCk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaGFzLWVycm9yJywgISF0aGlzLl9lcnJvckVsZW1lbnRzLmxlbmd0aCk7XG4gICAgdGhpcy5fc3luY05lZ2F0aXZlKCk7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUFyaWFEZXNjcmliZWRieSgpOiB2b2lkIHtcbiAgICBjb25zdCBpZHMgPSBbXTtcblxuICAgIGlmICh0aGlzLl9vcmlnaW5hbElucHV0QXJpYURlc2NyaWJlZGJ5KSB7XG4gICAgICBpZHMucHVzaCh0aGlzLl9vcmlnaW5hbElucHV0QXJpYURlc2NyaWJlZGJ5KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZXJyb3JFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2Vycm9yRWxlbWVudHMuZm9yRWFjaCgoZSkgPT4gaWRzLnB1c2goZS5pZCkpO1xuICAgIH1cblxuICAgIGNvbnN0IGFyaWFEZXNjcmliZWRieSA9IGlkcy5qb2luKCcgJyk7XG4gICAgaWYgKHRoaXMuX2lucHV0KSB7XG4gICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZSh0aGlzLl9pbnB1dCwgJ2FyaWEtZGVzY3JpYmVkYnknLCBhcmlhRGVzY3JpYmVkYnkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBNYW51YWxseSByZXNldCB0aGUgZm9ybSBmaWVsZC4gQ3VycmVudGx5LCB0aGlzIG9ubHkgcmVzZXRzIHRoZSBmbG9hdGluZyBsYWJlbC4gKi9cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuX2NoZWNrQW5kVXBkYXRlSW5wdXRFbXB0eSgpO1xuICB9XG5cbiAgLyoqIE1hbnVhbGx5IGNsZWFycyB0aGUgaW5wdXQgdmFsdWUuIEl0IG9ubHkgd29ya3MgZm9yIGlucHV0cywgc2VsZWN0cyBhcmUgbm90IHN1cHBvcnRlZC4gKi9cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIGlmICgodGhpcy5faW5wdXQ/LmxvY2FsTmFtZSBhcyBzdHJpbmcpICE9PSAnaW5wdXQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgICh0aGlzLl9pbnB1dCBhcyB7IHZhbHVlOiBzdHJpbmcgfSkudmFsdWUgPSAnJztcbiAgICB0aGlzLl9jaGVja0FuZFVwZGF0ZUlucHV0RW1wdHkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgdGhlICdpbnB1dEVsZW1lbnQnIHByb3BlcnR5IGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyBnZXRJbnB1dEVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dDtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNOZWdhdGl2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LihcbiAgICAgICdzYmItZm9ybS1lcnJvcixzYmItbWluaS1idXR0b24sc2JiLXBvcG92ZXItdHJpZ2dlcixzYmItZm9ybS1maWVsZC1jbGVhcixzYmItZGF0ZXBpY2tlci1uZXh0LWRheSxzYmItZGF0ZXBpY2tlci1wcmV2aW91cy1kYXksc2JiLWRhdGVwaWNrZXItdG9nZ2xlLHNiYi1zZWxlY3Qsc2JiLWF1dG9jb21wbGV0ZSxzYmItYXV0b2NvbXBsZXRlLWdyaWQnLFxuICAgICkuZm9yRWFjaCgoZWxlbWVudCkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ25lZ2F0aXZlJywgdGhpcy5uZWdhdGl2ZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX3NwYWNlLXdyYXBwZXJcIj5cbiAgICAgICAgJHsvKiBRdWVyaWVkIGJ5IGlkIGZyb20gdGhlIGF1dG9jb21wbGV0ZS9zZWxlY3QgdG8gYmUgdXNlZCBhcyB0aGUgYW5jaG9yIGVsZW1lbnQgKi8gJyd9XG4gICAgICAgIDxkaXYgQGNsaWNrPSR7dGhpcy5faGFuZGxlV3JhcHBlckNsaWNrfSBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX193cmFwcGVyXCIgaWQ9XCJvdmVybGF5LWFuY2hvclwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJwcmVmaXhcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX3N5bmNOZWdhdGl2ZX0+PC9zbG90PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZm9ybS1maWVsZF9faW5wdXQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19sYWJlbC1zcGFjZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19sYWJlbFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1mb3JtLWZpZWxkX19sYWJlbC1lbGxpcHNpc1wiPlxuICAgICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJsYWJlbFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fb25TbG90TGFiZWxDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgICAgICAgICAke3RoaXMub3B0aW9uYWxcbiAgICAgICAgICAgICAgICAgID8gaHRtbGAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+ICR7aTE4bk9wdGlvbmFsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSA8L3NwYW4+YFxuICAgICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2lucHV0XCI+XG4gICAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fb25TbG90SW5wdXRDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgJHtbJ3NlbGVjdCcsICdzYmItc2VsZWN0J10uaW5jbHVkZXModGhpcy5faW5wdXQ/LmxvY2FsTmFtZSBhcyBzdHJpbmcpXG4gICAgICAgICAgICAgID8gaHRtbGA8c2JiLWljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLWRvd24tc21hbGxcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItZm9ybS1maWVsZF9fc2VsZWN0LWlucHV0LWljb25cIlxuICAgICAgICAgICAgICAgID48L3NiYi1pY29uPmBcbiAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJzdWZmaXhcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX3N5bmNOZWdhdGl2ZX0+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZvcm0tZmllbGRfX2Vycm9yXCI+XG4gICAgICAgICAgPHNsb3QgbmFtZT1cImVycm9yXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9vblNsb3RFcnJvckNoYW5nZX0+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1mb3JtLWZpZWxkJzogU2JiRm9ybUZpZWxkRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -1 +1 @@
1
- {"version":3,"file":"icon-base.d.ts","sourceRoot":"","sources":["../../../../src/elements/icon/icon-base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAYvC;;;GAGG;AACH,8BAIsB,WAAY,SAAQ,UAAU;IAClD,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAa;IAE7C,OAAO,CAAC,aAAa,CAAiC;IAE/D;;OAEG;IACM,OAAO,CAAC,QAAQ,CAAC,CAAuD;IAEjF;;;;;OAKG;IAC2D,UAAU,UAAS;cAEjE,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAkB5C,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9E,OAAO,CAAC,cAAc;cAgBH,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAK3D,MAAM,IAAI,cAAc;CAS5C"}
1
+ {"version":3,"file":"icon-base.d.ts","sourceRoot":"","sources":["../../../../src/elements/icon/icon-base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAYvC;;;GAGG;AACH,8BAIsB,WAAY,SAAQ,UAAU;IAClD,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAa;IAE7C,OAAO,CAAC,aAAa,CAAiC;IAE/D;;OAEG;IACM,OAAO,CAAC,QAAQ,CAAC,CAAuD;IAEjF;;;;;OAKG;IAC2D,UAAU,UAAS;cAEjE,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAkB5C,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9E,OAAO,CAAC,cAAc;cAgBH,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAM3D,MAAM,IAAI,cAAc;CAS5C"}