@sbb-esta/lyne-elements-experimental 4.10.0 → 5.0.0-next

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 (246) hide show
  1. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +15 -18
  2. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +6 -11
  3. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  4. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +1 -1
  5. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  6. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  7. package/{autocomplete-grid-cell.component-DkD9aFKc.js → autocomplete-grid-cell.component-BFzREPWp.js} +1 -2
  8. package/{autocomplete-grid-option.component-CtATJy7n.js → autocomplete-grid-option.component-DhmoLeEw.js} +5 -7
  9. package/{autocomplete-grid-row.component-6nJv5PMj.js → autocomplete-grid-row.component-BQxCxOI6.js} +1 -2
  10. package/autocomplete-grid.js +3 -3
  11. package/autocomplete-grid.pure.js +3 -3
  12. package/core/datetime/date-helper.js +1 -1
  13. package/core/timetable/access-leg-helper.js +27 -27
  14. package/core.js +5 -0
  15. package/custom-elements.json +226 -453
  16. package/{date-helper-CGproP5d.js → date-helper-CuMnZCsr.js} +1 -1
  17. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +1 -1
  18. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  19. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +3 -6
  20. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +2 -2
  21. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  22. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +3 -8
  23. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts +1 -1
  24. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -1
  25. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  26. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts +1 -1
  27. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.d.ts.map +1 -1
  28. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +2 -2
  29. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +1 -1
  30. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  31. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  32. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts +1 -1
  33. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -1
  34. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  35. package/development/autocomplete-grid-cell.component-Buvsof-Y.js +33 -0
  36. package/development/{autocomplete-grid-option.component-5mPGswUO.js → autocomplete-grid-option.component-B4SXR9_v.js} +3 -5
  37. package/development/{autocomplete-grid-row.component-DEm6zyHZ.js → autocomplete-grid-row.component-CY4UDuuj.js} +2 -3
  38. package/development/autocomplete-grid.js +3 -3
  39. package/development/autocomplete-grid.pure.js +3 -3
  40. package/development/core/datetime/date-helper.js +1 -1
  41. package/development/core/timetable/access-leg-helper.d.ts.map +1 -1
  42. package/development/core/timetable/access-leg-helper.js +3 -3
  43. package/development/core.d.ts +6 -0
  44. package/development/core.d.ts.map +1 -0
  45. package/development/core.js +5 -0
  46. package/development/{date-helper-qNdwgC9O.js → date-helper-DGz-ztQM.js} +2 -2
  47. package/development/journey-summary/journey-summary.component.d.ts +4 -3
  48. package/development/journey-summary/journey-summary.component.d.ts.map +1 -1
  49. package/development/journey-summary/journey-summary.component.js +1 -1
  50. package/development/{journey-summary.component-BZwgD4im.js → journey-summary.component-B9P1PAJv.js} +14 -12
  51. package/development/journey-summary.js +1 -1
  52. package/development/journey-summary.pure.js +1 -1
  53. package/development/pearl-chain/pearl-chain.component.d.ts +2 -2
  54. package/development/pearl-chain/pearl-chain.component.d.ts.map +1 -1
  55. package/development/pearl-chain/pearl-chain.component.js +1 -1
  56. package/development/pearl-chain-time/pearl-chain-time.component.d.ts +3 -2
  57. package/development/pearl-chain-time/pearl-chain-time.component.d.ts.map +1 -1
  58. package/development/pearl-chain-time/pearl-chain-time.component.js +1 -1
  59. package/development/{pearl-chain-time.component-B2_BI6E_.js → pearl-chain-time.component-DDnGnI77.js} +8 -10
  60. package/development/pearl-chain-time.js +1 -1
  61. package/development/pearl-chain-time.pure.js +1 -1
  62. package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts +1 -1
  63. package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts.map +1 -1
  64. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  65. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts +1 -1
  66. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +1 -1
  67. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  68. package/development/{pearl-chain-vertical-item.component-DcmH13Vb.js → pearl-chain-vertical-item.component-CRh0l20F.js} +2 -4
  69. package/development/pearl-chain-vertical-item.js +1 -1
  70. package/development/pearl-chain-vertical-item.pure.js +1 -1
  71. package/development/pearl-chain-vertical.component-Cmc3QXgd.js +30 -0
  72. package/development/pearl-chain-vertical.js +1 -1
  73. package/development/pearl-chain-vertical.pure.js +1 -1
  74. package/development/{pearl-chain.component-oQZUzsyW.js → pearl-chain.component-Dl2RvtJo.js} +3 -7
  75. package/development/pearl-chain.js +1 -1
  76. package/development/pearl-chain.pure.js +1 -1
  77. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +1 -1
  78. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  79. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +2 -4
  80. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +2 -0
  81. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  82. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  83. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts +1 -1
  84. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +1 -1
  85. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  86. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts +2 -1
  87. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -1
  88. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  89. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +2 -1
  90. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
  91. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
  92. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts +2 -1
  93. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -1
  94. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  95. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +2 -1
  96. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
  97. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +1 -1
  98. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts +1 -1
  99. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +1 -1
  100. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  101. package/development/{seat-reservation-area.component-DbeuTnXT.js → seat-reservation-area.component-BQEtJhk0.js} +2 -4
  102. package/development/{seat-reservation-graphic.component-DlrHtlia.js → seat-reservation-graphic.component-XpqxL5nq.js} +7 -7
  103. package/development/{seat-reservation-navigation-coach.component-CjoDkcVU.js → seat-reservation-navigation-coach.component-DRCcI2ss.js} +5 -7
  104. package/development/{seat-reservation-navigation-services.component-CGel7__P.js → seat-reservation-navigation-services.component-ZNm77ZG-.js} +5 -7
  105. package/development/{seat-reservation-place-control.component-CM9efId7.js → seat-reservation-place-control.component-QF_px_in.js} +5 -6
  106. package/development/{seat-reservation-scoped.component-CFA_bJ3o.js → seat-reservation-scoped.component-X-Kq0-w5.js} +2 -3
  107. package/development/seat-reservation.component-C-ttTPW5.js +515 -0
  108. package/development/seat-reservation.js +9 -10
  109. package/development/seat-reservation.pure.d.ts +0 -1
  110. package/development/seat-reservation.pure.d.ts.map +1 -1
  111. package/development/seat-reservation.pure.js +8 -9
  112. package/development/timetable-duration/timetable-duration.component.d.ts +1 -1
  113. package/development/timetable-duration/timetable-duration.component.d.ts.map +1 -1
  114. package/development/timetable-duration/timetable-duration.component.js +1 -1
  115. package/development/timetable-duration.component-2JBYobDt.js +96 -0
  116. package/development/timetable-duration.js +1 -1
  117. package/development/timetable-duration.pure.js +1 -1
  118. package/development/timetable-row/timetable-row.component.d.ts +3 -2
  119. package/development/timetable-row/timetable-row.component.d.ts.map +1 -1
  120. package/development/timetable-row/timetable-row.component.js +1 -1
  121. package/development/timetable-row.component-Binmks-o.js +732 -0
  122. package/development/timetable-row.js +1 -1
  123. package/development/timetable-row.pure.js +1 -1
  124. package/{format-CM5exOsN.js → format-DbUuNYFU.js} +1 -1
  125. package/journey-summary/journey-summary.component.js +1 -1
  126. package/{journey-summary.component-DC7-qPHY.js → journey-summary.component-C7WPKx8k.js} +57 -55
  127. package/journey-summary.js +1 -1
  128. package/journey-summary.pure.js +1 -1
  129. package/{mapper-DkiDDseD.js → mapper-Cqie5ivY.js} +1 -1
  130. package/package.json +6 -81
  131. package/pearl-chain/pearl-chain.component.js +1 -1
  132. package/pearl-chain-time/pearl-chain-time.component.js +1 -1
  133. package/{pearl-chain-time.component-CkKsrbgQ.js → pearl-chain-time.component-awU4lFdO.js} +42 -44
  134. package/pearl-chain-time.js +1 -1
  135. package/pearl-chain-time.pure.js +1 -1
  136. package/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  137. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  138. package/{pearl-chain-vertical-item.component-BUqZ-3Ay.js → pearl-chain-vertical-item.component-BynmUBXa.js} +3 -5
  139. package/pearl-chain-vertical-item.js +1 -1
  140. package/pearl-chain-vertical-item.pure.js +1 -1
  141. package/{pearl-chain-vertical.component-Df9CvRxo.js → pearl-chain-vertical.component-Lx47SlJU.js} +1 -2
  142. package/pearl-chain-vertical.js +1 -1
  143. package/pearl-chain-vertical.pure.js +1 -1
  144. package/{pearl-chain.component-CpISVoAu.js → pearl-chain.component-BAtmfmpA.js} +22 -26
  145. package/pearl-chain.js +1 -1
  146. package/pearl-chain.pure.js +1 -1
  147. package/seat-reservation/common/mapper/mapper.js +1 -1
  148. package/seat-reservation/common/mapper.js +1 -1
  149. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +5 -7
  150. package/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  151. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  152. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  153. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
  154. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  155. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +1 -1
  156. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  157. package/{seat-reservation-area.component-CtYawDjE.js → seat-reservation-area.component-CVc6uuMG.js} +3 -5
  158. package/{seat-reservation-graphic.component-Cm_pVxaB.js → seat-reservation-graphic.component-Dzkv9tyR.js} +26 -26
  159. package/{seat-reservation-navigation-coach.component-sug9IBTH.js → seat-reservation-navigation-coach.component-CGfmiQJq.js} +51 -56
  160. package/{seat-reservation-navigation-services.component-C9dDYD_M.js → seat-reservation-navigation-services.component-DQviLWvy.js} +28 -33
  161. package/{seat-reservation-place-control.component-CE7d9M2b.js → seat-reservation-place-control.component-BYJi6aYS.js} +43 -47
  162. package/{seat-reservation-scoped.component-DVyP2JGE.js → seat-reservation-scoped.component-CdB7HYzl.js} +1 -2
  163. package/{seat-reservation.component-DajC6fqU.js → seat-reservation.component-DBtJhrR_.js} +115 -107
  164. package/seat-reservation.js +11 -12
  165. package/seat-reservation.pure.js +10 -11
  166. package/timetable-duration/timetable-duration.component.js +1 -1
  167. package/{timetable-duration.component-BnJA8wSb.js → timetable-duration.component-PmvoOKVw.js} +6 -10
  168. package/timetable-duration.js +1 -1
  169. package/timetable-duration.pure.js +1 -1
  170. package/timetable-row/timetable-row.component.js +1 -1
  171. package/{timetable-row.component-DbzBCpKR.js → timetable-row.component-BnmrhD2d.js} +120 -117
  172. package/timetable-row.js +1 -1
  173. package/timetable-row.pure.js +1 -1
  174. package/autocomplete-grid/autocomplete-grid-button.js +0 -4
  175. package/autocomplete-grid/autocomplete-grid-cell.js +0 -4
  176. package/autocomplete-grid/autocomplete-grid-optgroup.js +0 -4
  177. package/autocomplete-grid/autocomplete-grid-option.js +0 -4
  178. package/autocomplete-grid/autocomplete-grid-row.js +0 -4
  179. package/autocomplete-grid/autocomplete-grid.js +0 -4
  180. package/core/datetime.js +0 -2
  181. package/core/timetable.js +0 -4
  182. package/development/autocomplete-grid/autocomplete-grid-button.d.ts +0 -2
  183. package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +0 -1
  184. package/development/autocomplete-grid/autocomplete-grid-button.js +0 -10
  185. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +0 -2
  186. package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +0 -1
  187. package/development/autocomplete-grid/autocomplete-grid-cell.js +0 -10
  188. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +0 -2
  189. package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +0 -1
  190. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +0 -10
  191. package/development/autocomplete-grid/autocomplete-grid-option.d.ts +0 -2
  192. package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +0 -1
  193. package/development/autocomplete-grid/autocomplete-grid-option.js +0 -10
  194. package/development/autocomplete-grid/autocomplete-grid-row.d.ts +0 -2
  195. package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +0 -1
  196. package/development/autocomplete-grid/autocomplete-grid-row.js +0 -10
  197. package/development/autocomplete-grid/autocomplete-grid.d.ts +0 -2
  198. package/development/autocomplete-grid/autocomplete-grid.d.ts.map +0 -1
  199. package/development/autocomplete-grid/autocomplete-grid.js +0 -10
  200. package/development/autocomplete-grid-cell.component-BxkWGaX0.js +0 -34
  201. package/development/core/datetime.d.ts +0 -3
  202. package/development/core/datetime.d.ts.map +0 -1
  203. package/development/core/datetime.js +0 -2
  204. package/development/core/timetable.d.ts +0 -5
  205. package/development/core/timetable.d.ts.map +0 -1
  206. package/development/core/timetable.js +0 -4
  207. package/development/pearl-chain-vertical.component-CpcNFl-x.js +0 -31
  208. package/development/seat-reservation/common.d.ts +0 -6
  209. package/development/seat-reservation/common.d.ts.map +0 -1
  210. package/development/seat-reservation/common.js +0 -12
  211. package/development/seat-reservation/seat-reservation-area.d.ts +0 -2
  212. package/development/seat-reservation/seat-reservation-area.d.ts.map +0 -1
  213. package/development/seat-reservation/seat-reservation-area.js +0 -10
  214. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts +0 -9
  215. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.d.ts.map +0 -1
  216. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +0 -306
  217. package/development/seat-reservation/seat-reservation-graphic.d.ts +0 -2
  218. package/development/seat-reservation/seat-reservation-graphic.d.ts.map +0 -1
  219. package/development/seat-reservation/seat-reservation-graphic.js +0 -10
  220. package/development/seat-reservation/seat-reservation-navigation-coach.d.ts +0 -2
  221. package/development/seat-reservation/seat-reservation-navigation-coach.d.ts.map +0 -1
  222. package/development/seat-reservation/seat-reservation-navigation-coach.js +0 -10
  223. package/development/seat-reservation/seat-reservation-navigation-services.d.ts +0 -2
  224. package/development/seat-reservation/seat-reservation-navigation-services.d.ts.map +0 -1
  225. package/development/seat-reservation/seat-reservation-navigation-services.js +0 -10
  226. package/development/seat-reservation/seat-reservation-place-control.d.ts +0 -2
  227. package/development/seat-reservation/seat-reservation-place-control.d.ts.map +0 -1
  228. package/development/seat-reservation/seat-reservation-place-control.js +0 -10
  229. package/development/seat-reservation/seat-reservation-scoped.d.ts +0 -2
  230. package/development/seat-reservation/seat-reservation-scoped.d.ts.map +0 -1
  231. package/development/seat-reservation/seat-reservation-scoped.js +0 -10
  232. package/development/seat-reservation/seat-reservation.d.ts +0 -3
  233. package/development/seat-reservation/seat-reservation.d.ts.map +0 -1
  234. package/development/seat-reservation/seat-reservation.js +0 -11
  235. package/development/seat-reservation.component-DFJVFmrI.js +0 -510
  236. package/development/timetable-duration.component-BhFlqYbV.js +0 -100
  237. package/development/timetable-row.component-Dko8laRT.js +0 -729
  238. package/seat-reservation/common.js +0 -9
  239. package/seat-reservation/seat-reservation-area.js +0 -4
  240. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +0 -291
  241. package/seat-reservation/seat-reservation-graphic.js +0 -4
  242. package/seat-reservation/seat-reservation-navigation-coach.js +0 -4
  243. package/seat-reservation/seat-reservation-navigation-services.js +0 -4
  244. package/seat-reservation/seat-reservation-place-control.js +0 -4
  245. package/seat-reservation/seat-reservation-scoped.js +0 -4
  246. package/seat-reservation/seat-reservation.js +0 -5
@@ -1,7 +1,7 @@
1
1
  import { a as millisecondsInMinute, i as millisecondsInHour, n as constructFrom, t as toDate } from "./toDate-DOFAOjP-.js";
2
2
  import { n as differenceInCalendarDays, r as normalizeDates, t as isValid } from "./isValid-JpZ7FphI.js";
3
3
  import { n as getRoundingMethod, r as addMinutes, t as differenceInMinutes } from "./differenceInMinutes-B7_GTDq7.js";
4
- import { i18nDurationDay, i18nDurationHour, i18nDurationMinute } from "@sbb-esta/lyne-elements/core/i18n.js";
4
+ import { i18nDurationDay, i18nDurationHour, i18nDurationMinute } from "@sbb-esta/lyne-elements/core.js";
5
5
  //#region node_modules/date-fns/addDays.js
6
6
  /**
7
7
  * The {@link addDays} function options.
@@ -517,4 +517,4 @@ var durationToTime = (duration, currentLanguage) => {
517
517
  //#endregion
518
518
  export { removeTimezoneFromISOTimeString as n, durationToTime as t };
519
519
 
520
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1oZWxwZXItcU5kd2dDOU8uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2FkZERheXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvYWRkTWlsbGlzZWNvbmRzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2FkZEhvdXJzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2RpZmZlcmVuY2VJbkRheXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZGlmZmVyZW5jZUluSG91cnMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvc3ViRGF5cy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9wYXJzZUlTTy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9zdWJIb3Vycy5qcyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvY29yZS9kYXRldGltZS9kYXRlLWhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zdHJ1Y3RGcm9tIH0gZnJvbSBcIi4vY29uc3RydWN0RnJvbS5qc1wiO1xuaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBhZGREYXlzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgYWRkRGF5c1xuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgZGF5cyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBkYXlzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIGRheXMgdG8gYmUgYWRkZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFuIG9iamVjdCB3aXRoIG9wdGlvbnNcbiAqXG4gKiBAcmV0dXJucyBUaGUgbmV3IGRhdGUgd2l0aCB0aGUgZGF5cyBhZGRlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgMTAgZGF5cyB0byAxIFNlcHRlbWJlciAyMDE0OlxuICogY29uc3QgcmVzdWx0ID0gYWRkRGF5cyhuZXcgRGF0ZSgyMDE0LCA4LCAxKSwgMTApXG4gKiAvLz0+IFRodSBTZXAgMTEgMjAxNCAwMDowMDowMFxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkRGF5cyhkYXRlLCBhbW91bnQsIG9wdGlvbnMpIHtcbiAgY29uc3QgX2RhdGUgPSB0b0RhdGUoZGF0ZSwgb3B0aW9ucz8uaW4pO1xuICBpZiAoaXNOYU4oYW1vdW50KSkgcmV0dXJuIGNvbnN0cnVjdEZyb20ob3B0aW9ucz8uaW4gfHwgZGF0ZSwgTmFOKTtcblxuICAvLyBJZiAwIGRheXMsIG5vLW9wIHRvIGF2b2lkIGNoYW5naW5nIHRpbWVzIGluIHRoZSBob3VyIGJlZm9yZSBlbmQgb2YgRFNUXG4gIGlmICghYW1vdW50KSByZXR1cm4gX2RhdGU7XG5cbiAgX2RhdGUuc2V0RGF0ZShfZGF0ZS5nZXREYXRlKCkgKyBhbW91bnQpO1xuICByZXR1cm4gX2RhdGU7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgYWRkRGF5cztcbiIsImltcG9ydCB7IGNvbnN0cnVjdEZyb20gfSBmcm9tIFwiLi9jb25zdHJ1Y3RGcm9tLmpzXCI7XG5pbXBvcnQgeyB0b0RhdGUgfSBmcm9tIFwiLi90b0RhdGUuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIGFkZE1pbGxpc2Vjb25kc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGFkZE1pbGxpc2Vjb25kc1xuICogQGNhdGVnb3J5IE1pbGxpc2Vjb25kIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIG1pbGxpc2Vjb25kcyB0byBiZSBhZGRlZC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgb2JqZWN0XG4gKlxuICogQHJldHVybnMgVGhlIG5ldyBkYXRlIHdpdGggdGhlIG1pbGxpc2Vjb25kcyBhZGRlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgNzUwIG1pbGxpc2Vjb25kcyB0byAxMCBKdWx5IDIwMTQgMTI6NDU6MzAuMDAwOlxuICogY29uc3QgcmVzdWx0ID0gYWRkTWlsbGlzZWNvbmRzKG5ldyBEYXRlKDIwMTQsIDYsIDEwLCAxMiwgNDUsIDMwLCAwKSwgNzUwKVxuICogLy89PiBUaHUgSnVsIDEwIDIwMTQgMTI6NDU6MzAuNzUwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRNaWxsaXNlY29uZHMoZGF0ZSwgYW1vdW50LCBvcHRpb25zKSB7XG4gIHJldHVybiBjb25zdHJ1Y3RGcm9tKG9wdGlvbnM/LmluIHx8IGRhdGUsICt0b0RhdGUoZGF0ZSkgKyBhbW91bnQpO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IGFkZE1pbGxpc2Vjb25kcztcbiIsImltcG9ydCB7IGFkZE1pbGxpc2Vjb25kcyB9IGZyb20gXCIuL2FkZE1pbGxpc2Vjb25kcy5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5Ib3VyIH0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBhZGRIb3Vyc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGFkZEhvdXJzXG4gKiBAY2F0ZWdvcnkgSG91ciBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgaG91cnMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgaG91cnMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQHR5cGVQYXJhbSBEYXRlVHlwZSAtIFRoZSBgRGF0ZWAgdHlwZSwgdGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uLiBHZXRzIGluZmVycmVkIGZyb20gcGFzc2VkIGFyZ3VtZW50cy4gQWxsb3dzIHRvIHVzZSBleHRlbnNpb25zIGxpa2UgW2BVVENEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3V0YykuXG4gKiBAdHlwZVBhcmFtIFJlc3VsdERhdGUgLSBUaGUgcmVzdWx0IGBEYXRlYCB0eXBlLCBpdCBpcyB0aGUgdHlwZSByZXR1cm5lZCBmcm9tIHRoZSBjb250ZXh0IGZ1bmN0aW9uIGlmIGl0IGlzIHBhc3NlZCwgb3IgaW5mZXJyZWQgZnJvbSB0aGUgYXJndW1lbnRzLlxuICpcbiAqIEBwYXJhbSBkYXRlIC0gVGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIGFtb3VudCAtIFRoZSBhbW91bnQgb2YgaG91cnMgdG8gYmUgYWRkZWRcbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IHdpdGggb3B0aW9uc1xuICpcbiAqIEByZXR1cm5zIFRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBob3VycyBhZGRlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgMiBob3VycyB0byAxMCBKdWx5IDIwMTQgMjM6MDA6MDA6XG4gKiBjb25zdCByZXN1bHQgPSBhZGRIb3VycyhuZXcgRGF0ZSgyMDE0LCA2LCAxMCwgMjMsIDApLCAyKVxuICogLy89PiBGcmkgSnVsIDExIDIwMTQgMDE6MDA6MDBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZEhvdXJzKGRhdGUsIGFtb3VudCwgb3B0aW9ucykge1xuICByZXR1cm4gYWRkTWlsbGlzZWNvbmRzKGRhdGUsIGFtb3VudCAqIG1pbGxpc2Vjb25kc0luSG91ciwgb3B0aW9ucyk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgYWRkSG91cnM7XG4iLCJpbXBvcnQgeyBub3JtYWxpemVEYXRlcyB9IGZyb20gXCIuL19saWIvbm9ybWFsaXplRGF0ZXMuanNcIjtcbmltcG9ydCB7IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyB9IGZyb20gXCIuL2RpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cy5qc1wiO1xuXG4vKipcbiAqIFRoZSB7QGxpbmsgZGlmZmVyZW5jZUluRGF5c30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbkRheXNcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgZnVsbCBkYXlzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBudW1iZXIgb2YgZnVsbCBkYXkgcGVyaW9kcyBiZXR3ZWVuIHR3byBkYXRlcy4gRnJhY3Rpb25hbCBkYXlzIGFyZVxuICogdHJ1bmNhdGVkIHRvd2FyZHMgemVyby5cbiAqXG4gKiBPbmUgXCJmdWxsIGRheVwiIGlzIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIGEgbG9jYWwgdGltZSBpbiBvbmUgZGF5IHRvIHRoZSBzYW1lXG4gKiBsb2NhbCB0aW1lIG9uIHRoZSBuZXh0IG9yIHByZXZpb3VzIGRheS4gQSBmdWxsIGRheSBjYW4gc29tZXRpbWVzIGJlIGxlc3MgdGhhblxuICogb3IgbW9yZSB0aGFuIDI0IGhvdXJzIGlmIGEgZGF5bGlnaHQgc2F2aW5ncyBjaGFuZ2UgaGFwcGVucyBiZXR3ZWVuIHR3byBkYXRlcy5cbiAqXG4gKiBUbyBpZ25vcmUgRFNUIGFuZCBvbmx5IG1lYXN1cmUgZXhhY3QgMjQtaG91ciBwZXJpb2RzLCB1c2UgdGhpcyBpbnN0ZWFkOlxuICogYE1hdGgudHJ1bmMoZGlmZmVyZW5jZUluSG91cnMoZGF0ZUxlZnQsIGRhdGVSaWdodCkvMjQpfDBgLlxuICpcbiAqIEBwYXJhbSBsYXRlckRhdGUgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGVhcmxpZXJEYXRlIC0gVGhlIGVhcmxpZXIgZGF0ZVxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvYmplY3Qgd2l0aCBvcHRpb25zXG4gKlxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBmdWxsIGRheXMgYWNjb3JkaW5nIHRvIHRoZSBsb2NhbCB0aW1lem9uZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBmdWxsIGRheXMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDExIDIzOjAwOjAwIGFuZCAyIEp1bHkgMjAxMiAwMDowMDowMD9cbiAqIGNvbnN0IHJlc3VsdCA9IGRpZmZlcmVuY2VJbkRheXMoXG4gKiAgIG5ldyBEYXRlKDIwMTIsIDYsIDIsIDAsIDApLFxuICogICBuZXcgRGF0ZSgyMDExLCA2LCAyLCAyMywgMClcbiAqIClcbiAqIC8vPT4gMzY1XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IGZ1bGwgZGF5cyBhcmUgYmV0d2VlblxuICogLy8gMiBKdWx5IDIwMTEgMjM6NTk6MDAgYW5kIDMgSnVseSAyMDExIDAwOjAxOjAwP1xuICogY29uc3QgcmVzdWx0ID0gZGlmZmVyZW5jZUluRGF5cyhcbiAqICAgbmV3IERhdGUoMjAxMSwgNiwgMywgMCwgMSksXG4gKiAgIG5ldyBEYXRlKDIwMTEsIDYsIDIsIDIzLCA1OSlcbiAqIClcbiAqIC8vPT4gMFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBmdWxsIGRheXMgYXJlIGJldHdlZW5cbiAqIC8vIDEgTWFyY2ggMjAyMCAwOjAwIGFuZCAxIEp1bmUgMjAyMCAwOjAwID9cbiAqIC8vIE5vdGU6IGJlY2F1c2UgbG9jYWwgdGltZSBpcyB1c2VkLCB0aGVcbiAqIC8vIHJlc3VsdCB3aWxsIGFsd2F5cyBiZSA5MiBkYXlzLCBldmVuIGluXG4gKiAvLyB0aW1lIHpvbmVzIHdoZXJlIERTVCBzdGFydHMgYW5kIHRoZVxuICogLy8gcGVyaW9kIGhhcyBvbmx5IDkyKjI0LTEgaG91cnMuXG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5EYXlzKFxuICogICBuZXcgRGF0ZSgyMDIwLCA1LCAxKSxcbiAqICAgbmV3IERhdGUoMjAyMCwgMiwgMSlcbiAqIClcbiAqIC8vPT4gOTJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbkRheXMobGF0ZXJEYXRlLCBlYXJsaWVyRGF0ZSwgb3B0aW9ucykge1xuICBjb25zdCBbbGF0ZXJEYXRlXywgZWFybGllckRhdGVfXSA9IG5vcm1hbGl6ZURhdGVzKFxuICAgIG9wdGlvbnM/LmluLFxuICAgIGxhdGVyRGF0ZSxcbiAgICBlYXJsaWVyRGF0ZSxcbiAgKTtcblxuICBjb25zdCBzaWduID0gY29tcGFyZUxvY2FsQXNjKGxhdGVyRGF0ZV8sIGVhcmxpZXJEYXRlXyk7XG4gIGNvbnN0IGRpZmZlcmVuY2UgPSBNYXRoLmFicyhcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMobGF0ZXJEYXRlXywgZWFybGllckRhdGVfKSxcbiAgKTtcblxuICBsYXRlckRhdGVfLnNldERhdGUobGF0ZXJEYXRlXy5nZXREYXRlKCkgLSBzaWduICogZGlmZmVyZW5jZSk7XG5cbiAgLy8gTWF0aC5hYnMoZGlmZiBpbiBmdWxsIGRheXMgLSBkaWZmIGluIGNhbGVuZGFyIGRheXMpID09PSAxIGlmIGxhc3QgY2FsZW5kYXIgZGF5IGlzIG5vdCBmdWxsXG4gIC8vIElmIHNvLCByZXN1bHQgbXVzdCBiZSBkZWNyZWFzZWQgYnkgMSBpbiBhYnNvbHV0ZSB2YWx1ZVxuICBjb25zdCBpc0xhc3REYXlOb3RGdWxsID0gTnVtYmVyKFxuICAgIGNvbXBhcmVMb2NhbEFzYyhsYXRlckRhdGVfLCBlYXJsaWVyRGF0ZV8pID09PSAtc2lnbixcbiAgKTtcblxuICBjb25zdCByZXN1bHQgPSBzaWduICogKGRpZmZlcmVuY2UgLSBpc0xhc3REYXlOb3RGdWxsKTtcbiAgLy8gUHJldmVudCBuZWdhdGl2ZSB6ZXJvXG4gIHJldHVybiByZXN1bHQgPT09IDAgPyAwIDogcmVzdWx0O1xufVxuXG4vLyBMaWtlIGBjb21wYXJlQXNjYCBidXQgdXNlcyBsb2NhbCB0aW1lIG5vdCBVVEMsIHdoaWNoIGlzIG5lZWRlZFxuLy8gZm9yIGFjY3VyYXRlIGVxdWFsaXR5IGNvbXBhcmlzb25zIG9mIFVUQyB0aW1lc3RhbXBzIHRoYXQgZW5kIHVwXG4vLyBoYXZpbmcgdGhlIHNhbWUgcmVwcmVzZW50YXRpb24gaW4gbG9jYWwgdGltZSwgZS5nLiBvbmUgaG91ciBiZWZvcmVcbi8vIERTVCBlbmRzIHZzLiB0aGUgaW5zdGFudCB0aGF0IERTVCBlbmRzLlxuZnVuY3Rpb24gY29tcGFyZUxvY2FsQXNjKGxhdGVyRGF0ZSwgZWFybGllckRhdGUpIHtcbiAgY29uc3QgZGlmZiA9XG4gICAgbGF0ZXJEYXRlLmdldEZ1bGxZZWFyKCkgLSBlYXJsaWVyRGF0ZS5nZXRGdWxsWWVhcigpIHx8XG4gICAgbGF0ZXJEYXRlLmdldE1vbnRoKCkgLSBlYXJsaWVyRGF0ZS5nZXRNb250aCgpIHx8XG4gICAgbGF0ZXJEYXRlLmdldERhdGUoKSAtIGVhcmxpZXJEYXRlLmdldERhdGUoKSB8fFxuICAgIGxhdGVyRGF0ZS5nZXRIb3VycygpIC0gZWFybGllckRhdGUuZ2V0SG91cnMoKSB8fFxuICAgIGxhdGVyRGF0ZS5nZXRNaW51dGVzKCkgLSBlYXJsaWVyRGF0ZS5nZXRNaW51dGVzKCkgfHxcbiAgICBsYXRlckRhdGUuZ2V0U2Vjb25kcygpIC0gZWFybGllckRhdGUuZ2V0U2Vjb25kcygpIHx8XG4gICAgbGF0ZXJEYXRlLmdldE1pbGxpc2Vjb25kcygpIC0gZWFybGllckRhdGUuZ2V0TWlsbGlzZWNvbmRzKCk7XG5cbiAgaWYgKGRpZmYgPCAwKSByZXR1cm4gLTE7XG4gIGlmIChkaWZmID4gMCkgcmV0dXJuIDE7XG5cbiAgLy8gUmV0dXJuIDAgaWYgZGlmZiBpcyAwOyByZXR1cm4gTmFOIGlmIGRpZmYgaXMgTmFOXG4gIHJldHVybiBkaWZmO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IGRpZmZlcmVuY2VJbkRheXM7XG4iLCJpbXBvcnQgeyBnZXRSb3VuZGluZ01ldGhvZCB9IGZyb20gXCIuL19saWIvZ2V0Um91bmRpbmdNZXRob2QuanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZURhdGVzIH0gZnJvbSBcIi4vX2xpYi9ub3JtYWxpemVEYXRlcy5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5Ib3VyIH0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBkaWZmZXJlbmNlSW5Ib3Vyc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbkhvdXJzXG4gKiBAY2F0ZWdvcnkgSG91ciBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG51bWJlciBvZiBob3VycyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIGhvdXJzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBwYXJhbSBsYXRlckRhdGUgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGVhcmxpZXJEYXRlIC0gVGhlIGVhcmxpZXIgZGF0ZVxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvYmplY3Qgd2l0aCBvcHRpb25zLlxuICpcbiAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgaG91cnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgaG91cnMgYXJlIGJldHdlZW4gMiBKdWx5IDIwMTQgMDY6NTA6MDAgYW5kIDIgSnVseSAyMDE0IDE5OjAwOjAwP1xuICogY29uc3QgcmVzdWx0ID0gZGlmZmVyZW5jZUluSG91cnMoXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIsIDE5LCAwKSxcbiAqICAgbmV3IERhdGUoMjAxNCwgNiwgMiwgNiwgNTApXG4gKiApXG4gKiAvLz0+IDEyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5Ib3VycyhsYXRlckRhdGUsIGVhcmxpZXJEYXRlLCBvcHRpb25zKSB7XG4gIGNvbnN0IFtsYXRlckRhdGVfLCBlYXJsaWVyRGF0ZV9dID0gbm9ybWFsaXplRGF0ZXMoXG4gICAgb3B0aW9ucz8uaW4sXG4gICAgbGF0ZXJEYXRlLFxuICAgIGVhcmxpZXJEYXRlLFxuICApO1xuICBjb25zdCBkaWZmID0gKCtsYXRlckRhdGVfIC0gK2VhcmxpZXJEYXRlXykgLyBtaWxsaXNlY29uZHNJbkhvdXI7XG4gIHJldHVybiBnZXRSb3VuZGluZ01ldGhvZChvcHRpb25zPy5yb3VuZGluZ01ldGhvZCkoZGlmZik7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgZGlmZmVyZW5jZUluSG91cnM7XG4iLCJpbXBvcnQgeyBhZGREYXlzIH0gZnJvbSBcIi4vYWRkRGF5cy5qc1wiO1xuXG4vKipcbiAqIFRoZSB7QGxpbmsgc3ViRGF5c30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIHN1YkRheXNcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgU3VidHJhY3QgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgZGF5cyBmcm9tIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIGRheXMgdG8gYmUgc3VidHJhY3RlZC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IHdpdGggb3B0aW9uc1xuICpcbiAqIEByZXR1cm5zIFRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBkYXlzIHN1YnRyYWN0ZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3VidHJhY3QgMTAgZGF5cyBmcm9tIDEgU2VwdGVtYmVyIDIwMTQ6XG4gKiBjb25zdCByZXN1bHQgPSBzdWJEYXlzKG5ldyBEYXRlKDIwMTQsIDgsIDEpLCAxMClcbiAqIC8vPT4gRnJpIEF1ZyAyMiAyMDE0IDAwOjAwOjAwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJEYXlzKGRhdGUsIGFtb3VudCwgb3B0aW9ucykge1xuICByZXR1cm4gYWRkRGF5cyhkYXRlLCAtYW1vdW50LCBvcHRpb25zKTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBzdWJEYXlzO1xuIiwiaW1wb3J0IHtcbiAgbWlsbGlzZWNvbmRzSW5Ib3VyLFxuICBtaWxsaXNlY29uZHNJbk1pbnV0ZSxcbn0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBjb25zdHJ1Y3RGcm9tIH0gZnJvbSBcIi4vY29uc3RydWN0RnJvbS5qc1wiO1xuaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBwYXJzZUlTT30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIHBhcnNlSVNPXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFBhcnNlIElTTyBzdHJpbmdcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFBhcnNlIHRoZSBnaXZlbiBzdHJpbmcgaW4gSVNPIDg2MDEgZm9ybWF0IGFuZCByZXR1cm4gYW4gaW5zdGFuY2Ugb2YgRGF0ZS5cbiAqXG4gKiBGdW5jdGlvbiBhY2NlcHRzIGNvbXBsZXRlIElTTyA4NjAxIGZvcm1hdHMgYXMgd2VsbCBhcyBwYXJ0aWFsIGltcGxlbWVudGF0aW9ucy5cbiAqIElTTyA4NjAxOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxXG4gKlxuICogSWYgdGhlIGFyZ3VtZW50IGlzbid0IGEgc3RyaW5nLCB0aGUgZnVuY3Rpb24gY2Fubm90IHBhcnNlIHRoZSBzdHJpbmcgb3JcbiAqIHRoZSB2YWx1ZXMgYXJlIGludmFsaWQsIGl0IHJldHVybnMgSW52YWxpZCBEYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gYXJndW1lbnQgLSBUaGUgdmFsdWUgdG8gY29udmVydFxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvYmplY3Qgd2l0aCBvcHRpb25zXG4gKlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBkYXRlIGluIHRoZSBsb2NhbCB0aW1lIHpvbmVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ29udmVydCBzdHJpbmcgJzIwMTQtMDItMTFUMTE6MzA6MzAnIHRvIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSBwYXJzZUlTTygnMjAxNC0wMi0xMVQxMTozMDozMCcpXG4gKiAvLz0+IFR1ZSBGZWIgMTEgMjAxNCAxMTozMDozMFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBDb252ZXJ0IHN0cmluZyAnKzAyMDE0MTAxJyB0byBkYXRlLFxuICogLy8gaWYgdGhlIGFkZGl0aW9uYWwgbnVtYmVyIG9mIGRpZ2l0cyBpbiB0aGUgZXh0ZW5kZWQgeWVhciBmb3JtYXQgaXMgMTpcbiAqIGNvbnN0IHJlc3VsdCA9IHBhcnNlSVNPKCcrMDIwMTQxMDEnLCB7IGFkZGl0aW9uYWxEaWdpdHM6IDEgfSlcbiAqIC8vPT4gRnJpIEFwciAxMSAyMDE0IDAwOjAwOjAwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUlTTyhhcmd1bWVudCwgb3B0aW9ucykge1xuICBjb25zdCBpbnZhbGlkRGF0ZSA9ICgpID0+IGNvbnN0cnVjdEZyb20ob3B0aW9ucz8uaW4sIE5hTik7XG5cbiAgY29uc3QgYWRkaXRpb25hbERpZ2l0cyA9IG9wdGlvbnM/LmFkZGl0aW9uYWxEaWdpdHMgPz8gMjtcbiAgY29uc3QgZGF0ZVN0cmluZ3MgPSBzcGxpdERhdGVTdHJpbmcoYXJndW1lbnQpO1xuXG4gIGxldCBkYXRlO1xuICBpZiAoZGF0ZVN0cmluZ3MuZGF0ZSkge1xuICAgIGNvbnN0IHBhcnNlWWVhclJlc3VsdCA9IHBhcnNlWWVhcihkYXRlU3RyaW5ncy5kYXRlLCBhZGRpdGlvbmFsRGlnaXRzKTtcbiAgICBkYXRlID0gcGFyc2VEYXRlKHBhcnNlWWVhclJlc3VsdC5yZXN0RGF0ZVN0cmluZywgcGFyc2VZZWFyUmVzdWx0LnllYXIpO1xuICB9XG5cbiAgaWYgKCFkYXRlIHx8IGlzTmFOKCtkYXRlKSkgcmV0dXJuIGludmFsaWREYXRlKCk7XG5cbiAgY29uc3QgdGltZXN0YW1wID0gK2RhdGU7XG4gIGxldCB0aW1lID0gMDtcbiAgbGV0IG9mZnNldDtcblxuICBpZiAoZGF0ZVN0cmluZ3MudGltZSkge1xuICAgIHRpbWUgPSBwYXJzZVRpbWUoZGF0ZVN0cmluZ3MudGltZSk7XG4gICAgaWYgKGlzTmFOKHRpbWUpKSByZXR1cm4gaW52YWxpZERhdGUoKTtcbiAgfVxuXG4gIGlmIChkYXRlU3RyaW5ncy50aW1lem9uZSkge1xuICAgIG9mZnNldCA9IHBhcnNlVGltZXpvbmUoZGF0ZVN0cmluZ3MudGltZXpvbmUpO1xuICAgIGlmIChpc05hTihvZmZzZXQpKSByZXR1cm4gaW52YWxpZERhdGUoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0bXBEYXRlID0gbmV3IERhdGUodGltZXN0YW1wICsgdGltZSk7XG4gICAgY29uc3QgcmVzdWx0ID0gdG9EYXRlKDAsIG9wdGlvbnM/LmluKTtcbiAgICByZXN1bHQuc2V0RnVsbFllYXIoXG4gICAgICB0bXBEYXRlLmdldFVUQ0Z1bGxZZWFyKCksXG4gICAgICB0bXBEYXRlLmdldFVUQ01vbnRoKCksXG4gICAgICB0bXBEYXRlLmdldFVUQ0RhdGUoKSxcbiAgICApO1xuICAgIHJlc3VsdC5zZXRIb3VycyhcbiAgICAgIHRtcERhdGUuZ2V0VVRDSG91cnMoKSxcbiAgICAgIHRtcERhdGUuZ2V0VVRDTWludXRlcygpLFxuICAgICAgdG1wRGF0ZS5nZXRVVENTZWNvbmRzKCksXG4gICAgICB0bXBEYXRlLmdldFVUQ01pbGxpc2Vjb25kcygpLFxuICAgICk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHJldHVybiB0b0RhdGUodGltZXN0YW1wICsgdGltZSArIG9mZnNldCwgb3B0aW9ucz8uaW4pO1xufVxuXG5jb25zdCBwYXR0ZXJucyA9IHtcbiAgZGF0ZVRpbWVEZWxpbWl0ZXI6IC9bVCBdLyxcbiAgdGltZVpvbmVEZWxpbWl0ZXI6IC9bWiBdL2ksXG4gIHRpbWV6b25lOiAvKFtaKy1dLiopJC8sXG59O1xuXG5jb25zdCBkYXRlUmVnZXggPVxuICAvXi0/KD86KFxcZHszfSl8KFxcZHsyfSkoPzotPyhcXGR7Mn0pKT98VyhcXGR7Mn0pKD86LT8oXFxkezF9KSk/fCkkLztcbmNvbnN0IHRpbWVSZWdleCA9XG4gIC9eKFxcZHsyfSg/OlsuLF1cXGQqKT8pKD86Oj8oXFxkezJ9KD86Wy4sXVxcZCopPykpPyg/Ojo/KFxcZHsyfSg/OlsuLF1cXGQqKT8pKT8kLztcbmNvbnN0IHRpbWV6b25lUmVnZXggPSAvXihbKy1dKShcXGR7Mn0pKD86Oj8oXFxkezJ9KSk/JC87XG5cbmZ1bmN0aW9uIHNwbGl0RGF0ZVN0cmluZyhkYXRlU3RyaW5nKSB7XG4gIGNvbnN0IGRhdGVTdHJpbmdzID0ge307XG4gIGNvbnN0IGFycmF5ID0gZGF0ZVN0cmluZy5zcGxpdChwYXR0ZXJucy5kYXRlVGltZURlbGltaXRlcik7XG4gIGxldCB0aW1lU3RyaW5nO1xuXG4gIC8vIFRoZSByZWdleCBtYXRjaCBzaG91bGQgb25seSByZXR1cm4gYXQgbWF4aW11bSB0d28gYXJyYXkgZWxlbWVudHMuXG4gIC8vIFtkYXRlXSwgW3RpbWVdLCBvciBbZGF0ZSwgdGltZV0uXG4gIGlmIChhcnJheS5sZW5ndGggPiAyKSB7XG4gICAgcmV0dXJuIGRhdGVTdHJpbmdzO1xuICB9XG5cbiAgaWYgKC86Ly50ZXN0KGFycmF5WzBdKSkge1xuICAgIHRpbWVTdHJpbmcgPSBhcnJheVswXTtcbiAgfSBlbHNlIHtcbiAgICBkYXRlU3RyaW5ncy5kYXRlID0gYXJyYXlbMF07XG4gICAgdGltZVN0cmluZyA9IGFycmF5WzFdO1xuICAgIGlmIChwYXR0ZXJucy50aW1lWm9uZURlbGltaXRlci50ZXN0KGRhdGVTdHJpbmdzLmRhdGUpKSB7XG4gICAgICBkYXRlU3RyaW5ncy5kYXRlID0gZGF0ZVN0cmluZy5zcGxpdChwYXR0ZXJucy50aW1lWm9uZURlbGltaXRlcilbMF07XG4gICAgICB0aW1lU3RyaW5nID0gZGF0ZVN0cmluZy5zdWJzdHIoXG4gICAgICAgIGRhdGVTdHJpbmdzLmRhdGUubGVuZ3RoLFxuICAgICAgICBkYXRlU3RyaW5nLmxlbmd0aCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHRpbWVTdHJpbmcpIHtcbiAgICBjb25zdCB0b2tlbiA9IHBhdHRlcm5zLnRpbWV6b25lLmV4ZWModGltZVN0cmluZyk7XG4gICAgaWYgKHRva2VuKSB7XG4gICAgICBkYXRlU3RyaW5ncy50aW1lID0gdGltZVN0cmluZy5yZXBsYWNlKHRva2VuWzFdLCBcIlwiKTtcbiAgICAgIGRhdGVTdHJpbmdzLnRpbWV6b25lID0gdG9rZW5bMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGRhdGVTdHJpbmdzLnRpbWUgPSB0aW1lU3RyaW5nO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkYXRlU3RyaW5ncztcbn1cblxuZnVuY3Rpb24gcGFyc2VZZWFyKGRhdGVTdHJpbmcsIGFkZGl0aW9uYWxEaWdpdHMpIHtcbiAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKFxuICAgIFwiXig/OihcXFxcZHs0fXxbKy1dXFxcXGR7XCIgK1xuICAgICAgKDQgKyBhZGRpdGlvbmFsRGlnaXRzKSArXG4gICAgICBcIn0pfChcXFxcZHsyfXxbKy1dXFxcXGR7XCIgK1xuICAgICAgKDIgKyBhZGRpdGlvbmFsRGlnaXRzKSArXG4gICAgICBcIn0pJClcIixcbiAgKTtcblxuICBjb25zdCBjYXB0dXJlcyA9IGRhdGVTdHJpbmcubWF0Y2gocmVnZXgpO1xuICAvLyBJbnZhbGlkIElTTy1mb3JtYXR0ZWQgeWVhclxuICBpZiAoIWNhcHR1cmVzKSByZXR1cm4geyB5ZWFyOiBOYU4sIHJlc3REYXRlU3RyaW5nOiBcIlwiIH07XG5cbiAgY29uc3QgeWVhciA9IGNhcHR1cmVzWzFdID8gcGFyc2VJbnQoY2FwdHVyZXNbMV0pIDogbnVsbDtcbiAgY29uc3QgY2VudHVyeSA9IGNhcHR1cmVzWzJdID8gcGFyc2VJbnQoY2FwdHVyZXNbMl0pIDogbnVsbDtcblxuICAvLyBlaXRoZXIgeWVhciBvciBjZW50dXJ5IGlzIG51bGwsIG5vdCBib3RoXG4gIHJldHVybiB7XG4gICAgeWVhcjogY2VudHVyeSA9PT0gbnVsbCA/IHllYXIgOiBjZW50dXJ5ICogMTAwLFxuICAgIHJlc3REYXRlU3RyaW5nOiBkYXRlU3RyaW5nLnNsaWNlKChjYXB0dXJlc1sxXSB8fCBjYXB0dXJlc1syXSkubGVuZ3RoKSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gcGFyc2VEYXRlKGRhdGVTdHJpbmcsIHllYXIpIHtcbiAgLy8gSW52YWxpZCBJU08tZm9ybWF0dGVkIHllYXJcbiAgaWYgKHllYXIgPT09IG51bGwpIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuXG4gIGNvbnN0IGNhcHR1cmVzID0gZGF0ZVN0cmluZy5tYXRjaChkYXRlUmVnZXgpO1xuICAvLyBJbnZhbGlkIElTTy1mb3JtYXR0ZWQgc3RyaW5nXG4gIGlmICghY2FwdHVyZXMpIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuXG4gIGNvbnN0IGlzV2Vla0RhdGUgPSAhIWNhcHR1cmVzWzRdO1xuICBjb25zdCBkYXlPZlllYXIgPSBwYXJzZURhdGVVbml0KGNhcHR1cmVzWzFdKTtcbiAgY29uc3QgbW9udGggPSBwYXJzZURhdGVVbml0KGNhcHR1cmVzWzJdKSAtIDE7XG4gIGNvbnN0IGRheSA9IHBhcnNlRGF0ZVVuaXQoY2FwdHVyZXNbM10pO1xuICBjb25zdCB3ZWVrID0gcGFyc2VEYXRlVW5pdChjYXB0dXJlc1s0XSk7XG4gIGNvbnN0IGRheU9mV2VlayA9IHBhcnNlRGF0ZVVuaXQoY2FwdHVyZXNbNV0pIC0gMTtcblxuICBpZiAoaXNXZWVrRGF0ZSkge1xuICAgIGlmICghdmFsaWRhdGVXZWVrRGF0ZSh5ZWFyLCB3ZWVrLCBkYXlPZldlZWspKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoTmFOKTtcbiAgICB9XG4gICAgcmV0dXJuIGRheU9mSVNPV2Vla1llYXIoeWVhciwgd2VlaywgZGF5T2ZXZWVrKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoMCk7XG4gICAgaWYgKFxuICAgICAgIXZhbGlkYXRlRGF0ZSh5ZWFyLCBtb250aCwgZGF5KSB8fFxuICAgICAgIXZhbGlkYXRlRGF5T2ZZZWFyRGF0ZSh5ZWFyLCBkYXlPZlllYXIpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoTmFOKTtcbiAgICB9XG4gICAgZGF0ZS5zZXRVVENGdWxsWWVhcih5ZWFyLCBtb250aCwgTWF0aC5tYXgoZGF5T2ZZZWFyLCBkYXkpKTtcbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZURhdGVVbml0KHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA/IHBhcnNlSW50KHZhbHVlKSA6IDE7XG59XG5cbmZ1bmN0aW9uIHBhcnNlVGltZSh0aW1lU3RyaW5nKSB7XG4gIGNvbnN0IGNhcHR1cmVzID0gdGltZVN0cmluZy5tYXRjaCh0aW1lUmVnZXgpO1xuICBpZiAoIWNhcHR1cmVzKSByZXR1cm4gTmFOOyAvLyBJbnZhbGlkIElTTy1mb3JtYXR0ZWQgdGltZVxuXG4gIGNvbnN0IGhvdXJzID0gcGFyc2VUaW1lVW5pdChjYXB0dXJlc1sxXSk7XG4gIGNvbnN0IG1pbnV0ZXMgPSBwYXJzZVRpbWVVbml0KGNhcHR1cmVzWzJdKTtcbiAgY29uc3Qgc2Vjb25kcyA9IHBhcnNlVGltZVVuaXQoY2FwdHVyZXNbM10pO1xuXG4gIGlmICghdmFsaWRhdGVUaW1lKGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKSkge1xuICAgIHJldHVybiBOYU47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIGhvdXJzICogbWlsbGlzZWNvbmRzSW5Ib3VyICsgbWludXRlcyAqIG1pbGxpc2Vjb25kc0luTWludXRlICsgc2Vjb25kcyAqIDEwMDBcbiAgKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VUaW1lVW5pdCh2YWx1ZSkge1xuICByZXR1cm4gKHZhbHVlICYmIHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZShcIixcIiwgXCIuXCIpKSkgfHwgMDtcbn1cblxuZnVuY3Rpb24gcGFyc2VUaW1lem9uZSh0aW1lem9uZVN0cmluZykge1xuICBpZiAodGltZXpvbmVTdHJpbmcgPT09IFwiWlwiKSByZXR1cm4gMDtcblxuICBjb25zdCBjYXB0dXJlcyA9IHRpbWV6b25lU3RyaW5nLm1hdGNoKHRpbWV6b25lUmVnZXgpO1xuICBpZiAoIWNhcHR1cmVzKSByZXR1cm4gMDtcblxuICBjb25zdCBzaWduID0gY2FwdHVyZXNbMV0gPT09IFwiK1wiID8gLTEgOiAxO1xuICBjb25zdCBob3VycyA9IHBhcnNlSW50KGNhcHR1cmVzWzJdKTtcbiAgY29uc3QgbWludXRlcyA9IChjYXB0dXJlc1szXSAmJiBwYXJzZUludChjYXB0dXJlc1szXSkpIHx8IDA7XG5cbiAgaWYgKCF2YWxpZGF0ZVRpbWV6b25lKGhvdXJzLCBtaW51dGVzKSkge1xuICAgIHJldHVybiBOYU47XG4gIH1cblxuICByZXR1cm4gc2lnbiAqIChob3VycyAqIG1pbGxpc2Vjb25kc0luSG91ciArIG1pbnV0ZXMgKiBtaWxsaXNlY29uZHNJbk1pbnV0ZSk7XG59XG5cbmZ1bmN0aW9uIGRheU9mSVNPV2Vla1llYXIoaXNvV2Vla1llYXIsIHdlZWssIGRheSkge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoMCk7XG4gIGRhdGUuc2V0VVRDRnVsbFllYXIoaXNvV2Vla1llYXIsIDAsIDQpO1xuICBjb25zdCBmb3VydGhPZkphbnVhcnlEYXkgPSBkYXRlLmdldFVUQ0RheSgpIHx8IDc7XG4gIGNvbnN0IGRpZmYgPSAod2VlayAtIDEpICogNyArIGRheSArIDEgLSBmb3VydGhPZkphbnVhcnlEYXk7XG4gIGRhdGUuc2V0VVRDRGF0ZShkYXRlLmdldFVUQ0RhdGUoKSArIGRpZmYpO1xuICByZXR1cm4gZGF0ZTtcbn1cblxuLy8gVmFsaWRhdGlvbiBmdW5jdGlvbnNcblxuLy8gRmVicnVhcnkgaXMgbnVsbCB0byBoYW5kbGUgdGhlIGxlYXAgeWVhciAodXNpbmcgfHwpXG5jb25zdCBkYXlzSW5Nb250aHMgPSBbMzEsIG51bGwsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxXTtcblxuZnVuY3Rpb24gaXNMZWFwWWVhckluZGV4KHllYXIpIHtcbiAgcmV0dXJuIHllYXIgJSA0MDAgPT09IDAgfHwgKHllYXIgJSA0ID09PSAwICYmIHllYXIgJSAxMDAgIT09IDApO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZURhdGUoeWVhciwgbW9udGgsIGRhdGUpIHtcbiAgcmV0dXJuIChcbiAgICBtb250aCA+PSAwICYmXG4gICAgbW9udGggPD0gMTEgJiZcbiAgICBkYXRlID49IDEgJiZcbiAgICBkYXRlIDw9IChkYXlzSW5Nb250aHNbbW9udGhdIHx8IChpc0xlYXBZZWFySW5kZXgoeWVhcikgPyAyOSA6IDI4KSlcbiAgKTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVEYXlPZlllYXJEYXRlKHllYXIsIGRheU9mWWVhcikge1xuICByZXR1cm4gZGF5T2ZZZWFyID49IDEgJiYgZGF5T2ZZZWFyIDw9IChpc0xlYXBZZWFySW5kZXgoeWVhcikgPyAzNjYgOiAzNjUpO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVdlZWtEYXRlKF95ZWFyLCB3ZWVrLCBkYXkpIHtcbiAgcmV0dXJuIHdlZWsgPj0gMSAmJiB3ZWVrIDw9IDUzICYmIGRheSA+PSAwICYmIGRheSA8PSA2O1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVRpbWUoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpIHtcbiAgaWYgKGhvdXJzID09PSAyNCkge1xuICAgIHJldHVybiBtaW51dGVzID09PSAwICYmIHNlY29uZHMgPT09IDA7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIHNlY29uZHMgPj0gMCAmJlxuICAgIHNlY29uZHMgPCA2MCAmJlxuICAgIG1pbnV0ZXMgPj0gMCAmJlxuICAgIG1pbnV0ZXMgPCA2MCAmJlxuICAgIGhvdXJzID49IDAgJiZcbiAgICBob3VycyA8IDI1XG4gICk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlVGltZXpvbmUoX2hvdXJzLCBtaW51dGVzKSB7XG4gIHJldHVybiBtaW51dGVzID49IDAgJiYgbWludXRlcyA8PSA1OTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBwYXJzZUlTTztcbiIsImltcG9ydCB7IGFkZEhvdXJzIH0gZnJvbSBcIi4vYWRkSG91cnMuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIHN1YkhvdXJzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgc3ViSG91cnNcbiAqIEBjYXRlZ29yeSBIb3VyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGhvdXJzIGZyb20gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBTdWJ0cmFjdCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBob3VycyBmcm9tIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIGhvdXJzIHRvIGJlIHN1YnRyYWN0ZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zXG4gKlxuICogQHJldHVybnMgVGhlIG5ldyBkYXRlIHdpdGggdGhlIGhvdXJzIHN1YnRyYWN0ZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3VidHJhY3QgMiBob3VycyBmcm9tIDExIEp1bHkgMjAxNCAwMTowMDowMDpcbiAqIGNvbnN0IHJlc3VsdCA9IHN1YkhvdXJzKG5ldyBEYXRlKDIwMTQsIDYsIDExLCAxLCAwKSwgMilcbiAqIC8vPT4gVGh1IEp1bCAxMCAyMDE0IDIzOjAwOjAwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJIb3VycyhkYXRlLCBhbW91bnQsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGFkZEhvdXJzKGRhdGUsIC1hbW91bnQsIG9wdGlvbnMpO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IHN1YkhvdXJzO1xuIiwiaW1wb3J0IHtcbiAgaTE4bkR1cmF0aW9uSG91cixcbiAgaTE4bkR1cmF0aW9uTWludXRlLFxuICBpMThuRHVyYXRpb25EYXksXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQge1xuICBpc1ZhbGlkLFxuICBwYXJzZUlTTyxcbiAgZGlmZmVyZW5jZUluRGF5cyxcbiAgZGlmZmVyZW5jZUluSG91cnMsXG4gIGRpZmZlcmVuY2VJbk1pbnV0ZXMsXG4gIGFkZE1pbnV0ZXMsXG4gIHN1YkhvdXJzLFxuICBzdWJEYXlzLFxufSBmcm9tICdkYXRlLWZucyc7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiByZW1vdmVzIHRoZSBvZmZzZXQgb2YgYSBJU08gZGF0ZSBzdHJpbmcuIFRoaXMgbmVlZHMgdG8gYmUgZG9uZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgb2Zmc2V0IGlzIGlnbm9yZWQuXG4gKiBJZiBpdCBpcyBub3QgcmVtb3ZlZCB0aGUgdGltZSB3b3VsZCBiZSBjb252ZXJ0ZWQgdG8gdGhlIGJyb3dzZXJzIGxvY2FsIHRpbWUuXG4gKiBFeGFtcGxlOiBcIjIwMjItMDgtMjlUMDk6MzA6MDArMDM6MDBcIiB3b3VsZCBiZSBjaGFuZ2VkIHRvIFwiMjAyMi0wOC0yOVQwODozMDowMCswMjowMFwiIC0tPiBub3QgdGhlIGRlc2lyZWQgb3V0Y29tZSwgYXMgd2Ugd2FudCB0byB1c2UgdGhlIHRpbWUgaW4gdGhlIHRpbWV6b25lIGFuZCBub3QgdGhlIGxvY2FsIHRpbWUuXG4gKlxuICogQWZ0ZXIgdGhlIG9mZnNldCBpcyByZW1vdmVkIGEgbmV3IGRhdGUgaXMgY3JlYXRlZCBpbiB0aGUgYnJvd3NlcnMgbG9jYWwgdGltZS4gVGhpcyBlbnN1cmVzIHRoYXQgdGhlIHRpbWUgb2YgdGhlIElTTyBkYXRlIHN0cmluZyBpcyBkaXNwbGF5ZWQgYW5kIG5vdCBhIGNvbnZlcnRlZCB0aW1lLlxuICogRXhhbXBsZTogXCIyMDIyLTA4LTI5VDA5OjMwOjAwKzAzOjAwXCIgd291bGQgYmUgY2hhbmdlZCB0byBcIjIwMjItMDgtMjlUMDk6MzA6MDArMDI6MDBcIiAtLT4gZGVzaXJlZCBvdXRjb21lXG4gKiBBdHRlbnRpb246IFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgY29udmVydCB0aGUgdGltZSB0byB0aGUgY29ycmVjdCB0aW1lIGluIHRoZSBsb2NhbCB0aW1lem9uZS4gSXQgaXMgYSB3b3JrYXJvdW5kIHRvIG1ha2Ugc3VyZSwgdGhhdCB0aGUgZ2l2ZW4gdGltZSBpcyBkaXNwbGF5ZWQgd2l0aG91dCBiZWluZyBjb252ZXJ0ZWQuXG4gKlxuICogT2Zmc2V0OiBEaWZmZXJlbmNlIGJldHdlZW4gdGhlIHRpbWV6b25lIGFuZCBDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZS5cbiAqXG4gKiBAcGFyYW0gaXNvVGltZSAtIHRoZSBpc28gdGltZSB3aXRoIHRoZSB0aW1lem9uZSBvZmZzZXRcbiAqIEByZXR1cm5zIGEgbmV3IGRhdGUgd2l0aCB0aGUgbG9jYWwgdGltZXpvbmUgd2l0aCB0aGUgbG9jYWwgb2Zmc2V0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGlzb1RpbWU/OiBzdHJpbmcpOiBEYXRlIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFpc29UaW1lKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCBwYXJzZWREYXRlID0gcGFyc2VJU08oaXNvVGltZSk7XG5cbiAgaWYgKCFpc1ZhbGlkKHBhcnNlZERhdGUpKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmIChpc29UaW1lLmluY2x1ZGVzKCdaJykpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoaXNvVGltZS5yZXBsYWNlKCdaJywgJycpKTtcbiAgfVxuXG4gIGlmIChpc29UaW1lLmluY2x1ZGVzKCdUJykpIHtcbiAgICBjb25zdCBkYXRlVGltZSA9IGlzb1RpbWUuc3BsaXQoJ1QnKTtcblxuICAgIGlmIChkYXRlVGltZVsxXSAmJiAoZGF0ZVRpbWVbMV0uaW5jbHVkZXMoJysnKSB8fCBkYXRlVGltZVsxXS5pbmNsdWRlcygnLScpKSkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKGAke2RhdGVUaW1lWzBdfVQke2RhdGVUaW1lWzFdLnNwbGl0KC9bKy1dLylbMF19YCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBuZXcgRGF0ZShpc29UaW1lKTtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRzIGEgZHVyYXRpb24gbnVtYmVyIHRvIGRhdGUgc3RyaW5nIHdpdGggc3BlY2lmaWMgZm9ybWF0XG4gKlxuICogQHBhcmFtIGR1cmF0aW9uIC0gZHVyYXRpb24gaW4gbWludXRlc1xuICogQHBhcmFtIGN1cnJlbnRMYW5ndWFnZSAtIGN1cnJlbnRMYW5ndWFnZVxuICogQHJldHVybnMgYW4gT2JqZWN0IHdpdGggdHdvIHN0cmluZ3MgaW4gdGhlIGZvcm1hdCBcImRkIGhoIG1tXCIgKHNob3J0KSBhbiBcInggRGF5KHMpIHggSG91cihzKSB4IE1pbnV0ZShzKSAobG9uZylcIlxuICogKi9cblxuZXhwb3J0IGNvbnN0IGR1cmF0aW9uVG9UaW1lID0gKFxuICBkdXJhdGlvbjogbnVtYmVyLFxuICBjdXJyZW50TGFuZ3VhZ2U/OiBzdHJpbmcsXG4pOiB7IHNob3J0OiBzdHJpbmc7IGxvbmc6IHN0cmluZyB9ID0+IHtcbiAgY29uc3Qgc2hvcnQgPSBbXTtcbiAgY29uc3QgbG9uZyA9IFtdO1xuXG4gIGNvbnN0IG5vdyA9IDA7XG4gIGxldCBmdXR1cmUgPSBhZGRNaW51dGVzKG5vdywgZHVyYXRpb24pO1xuXG4gIGNvbnN0IGRheXMgPSBkaWZmZXJlbmNlSW5EYXlzKGZ1dHVyZSwgbm93KTtcbiAgaWYgKGRheXMgPiAwKSB7XG4gICAgc2hvcnQucHVzaChgJHtkYXlzfSBkYCk7XG4gICAgaWYgKGN1cnJlbnRMYW5ndWFnZSkge1xuICAgICAgbG9uZy5wdXNoKFxuICAgICAgICBgJHtkYXlzfSAke1xuICAgICAgICAgIGRheXMgPiAxXG4gICAgICAgICAgICA/IGkxOG5EdXJhdGlvbkRheS5tdWx0aXBsZS5sb25nW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgICAgIDogaTE4bkR1cmF0aW9uRGF5LnNpbmdsZS5sb25nW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgfWAsXG4gICAgICApO1xuICAgIH1cbiAgICBmdXR1cmUgPSBzdWJEYXlzKGZ1dHVyZSwgZGF5cyk7XG4gIH1cblxuICBjb25zdCBob3VycyA9IGRpZmZlcmVuY2VJbkhvdXJzKGZ1dHVyZSwgbm93KTtcbiAgaWYgKGhvdXJzID4gMCkge1xuICAgIHNob3J0LnB1c2goYCR7aG91cnN9IGhgKTtcbiAgICBpZiAoY3VycmVudExhbmd1YWdlKSB7XG4gICAgICBsb25nLnB1c2goXG4gICAgICAgIGAke2hvdXJzfSAke1xuICAgICAgICAgIGhvdXJzID4gMVxuICAgICAgICAgICAgPyBpMThuRHVyYXRpb25Ib3VyLm11bHRpcGxlLmxvbmdbY3VycmVudExhbmd1YWdlXVxuICAgICAgICAgICAgOiBpMThuRHVyYXRpb25Ib3VyLnNpbmdsZS5sb25nW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgfWAsXG4gICAgICApO1xuICAgIH1cbiAgICBmdXR1cmUgPSBzdWJIb3VycyhmdXR1cmUsIGhvdXJzKTtcbiAgfVxuXG4gIGNvbnN0IG1pbnV0ZXMgPSBkaWZmZXJlbmNlSW5NaW51dGVzKGZ1dHVyZSwgbm93KTtcbiAgaWYgKG1pbnV0ZXMgPiAwKSB7XG4gICAgc2hvcnQucHVzaChgJHttaW51dGVzfSBtaW5gKTtcbiAgICBpZiAoY3VycmVudExhbmd1YWdlKSB7XG4gICAgICBsb25nLnB1c2goXG4gICAgICAgIGAke21pbnV0ZXN9ICR7XG4gICAgICAgICAgbWludXRlcyA+IDFcbiAgICAgICAgICAgID8gaTE4bkR1cmF0aW9uTWludXRlLm11bHRpcGxlLmxvbmdbY3VycmVudExhbmd1YWdlXVxuICAgICAgICAgICAgOiBpMThuRHVyYXRpb25NaW51dGUuc2luZ2xlLmxvbmdbY3VycmVudExhbmd1YWdlXVxuICAgICAgICB9YCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzaG9ydDogc2hvcnQuam9pbignICcpLFxuICAgIGxvbmc6IGxvbmcuam9pbignICcpLFxuICB9O1xufTtcbiJdLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMCwxLDIsMyw0LDUsNiw3XSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTZCQSxTQUFnQixRQUFRLE1BQU0sUUFBUSxTQUFTO0NBQzdDLE1BQU0sUUFBUSxPQUFPLE1BQU0sU0FBUyxHQUFHO0FBQ3ZDLEtBQUksTUFBTSxPQUFPLENBQUUsUUFBTyxjQUFjLFNBQVMsTUFBTSxNQUFNLElBQUk7QUFHakUsS0FBSSxDQUFDLE9BQVEsUUFBTztBQUVwQixPQUFNLFFBQVEsTUFBTSxTQUFTLEdBQUcsT0FBTztBQUN2QyxRQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ1JULFNBQWdCLGdCQUFnQixNQUFNLFFBQVEsU0FBUztBQUNyRCxRQUFPLGNBQWMsU0FBUyxNQUFNLE1BQU0sQ0FBQyxPQUFPLEtBQUssR0FBRyxPQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ0RuRSxTQUFnQixTQUFTLE1BQU0sUUFBUSxTQUFTO0FBQzlDLFFBQU8sZ0JBQWdCLE1BQU0sU0FBUyxvQkFBb0IsUUFBUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDOEJwRSxTQUFnQixpQkFBaUIsV0FBVyxhQUFhLFNBQVM7Q0FDaEUsTUFBTSxDQUFDLFlBQVksZ0JBQWdCLGVBQ2pDLFNBQVMsSUFDVCxXQUNBLFlBQ0Q7Q0FFRCxNQUFNLE9BQU8sZ0JBQWdCLFlBQVksYUFBYTtDQUN0RCxNQUFNLGFBQWEsS0FBSyxJQUN0Qix5QkFBeUIsWUFBWSxhQUFhLENBQ25EO0FBRUQsWUFBVyxRQUFRLFdBQVcsU0FBUyxHQUFHLE9BQU8sV0FBVztDQVE1RCxNQUFNLFNBQVMsUUFBUSxhQUpFLE9BQ3ZCLGdCQUFnQixZQUFZLGFBQWEsS0FBSyxDQUFDLEtBQ2hEO0FBSUQsUUFBTyxXQUFXLElBQUksSUFBSTs7QUFPNUIsU0FBUyxnQkFBZ0IsV0FBVyxhQUFhO0NBQy9DLE1BQU0sT0FDSixVQUFVLGFBQWEsR0FBRyxZQUFZLGFBQWEsSUFDbkQsVUFBVSxVQUFVLEdBQUcsWUFBWSxVQUFVLElBQzdDLFVBQVUsU0FBUyxHQUFHLFlBQVksU0FBUyxJQUMzQyxVQUFVLFVBQVUsR0FBRyxZQUFZLFVBQVUsSUFDN0MsVUFBVSxZQUFZLEdBQUcsWUFBWSxZQUFZLElBQ2pELFVBQVUsWUFBWSxHQUFHLFlBQVksWUFBWSxJQUNqRCxVQUFVLGlCQUFpQixHQUFHLFlBQVksaUJBQWlCO0FBRTdELEtBQUksT0FBTyxFQUFHLFFBQU87QUFDckIsS0FBSSxPQUFPLEVBQUcsUUFBTztBQUdyQixRQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3pFVCxTQUFnQixrQkFBa0IsV0FBVyxhQUFhLFNBQVM7Q0FDakUsTUFBTSxDQUFDLFlBQVksZ0JBQWdCLGVBQ2pDLFNBQVMsSUFDVCxXQUNBLFlBQ0Q7Q0FDRCxNQUFNLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCO0FBQzdDLFFBQU8sa0JBQWtCLFNBQVMsZUFBZSxDQUFDLEtBQUs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDWnpELFNBQWdCLFFBQVEsTUFBTSxRQUFRLFNBQVM7QUFDN0MsUUFBTyxRQUFRLE1BQU0sQ0FBQyxRQUFRLFFBQVE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNrQnhDLFNBQWdCLFNBQVMsVUFBVSxTQUFTO0NBQzFDLE1BQU0sb0JBQW9CLGNBQWMsU0FBUyxJQUFJLElBQUk7Q0FFekQsTUFBTSxtQkFBbUIsU0FBUyxvQkFBb0I7Q0FDdEQsTUFBTSxjQUFjLGdCQUFnQixTQUFTO0NBRTdDLElBQUk7QUFDSixLQUFJLFlBQVksTUFBTTtFQUNwQixNQUFNLGtCQUFrQixVQUFVLFlBQVksTUFBTSxpQkFBaUI7QUFDckUsU0FBTyxVQUFVLGdCQUFnQixnQkFBZ0IsZ0JBQWdCLEtBQUs7O0FBR3hFLEtBQUksQ0FBQyxRQUFRLE1BQU0sQ0FBQyxLQUFLLENBQUUsUUFBTyxhQUFhO0NBRS9DLE1BQU0sWUFBWSxDQUFDO0NBQ25CLElBQUksT0FBTztDQUNYLElBQUk7QUFFSixLQUFJLFlBQVksTUFBTTtBQUNwQixTQUFPLFVBQVUsWUFBWSxLQUFLO0FBQ2xDLE1BQUksTUFBTSxLQUFLLENBQUUsUUFBTyxhQUFhOztBQUd2QyxLQUFJLFlBQVksVUFBVTtBQUN4QixXQUFTLGNBQWMsWUFBWSxTQUFTO0FBQzVDLE1BQUksTUFBTSxPQUFPLENBQUUsUUFBTyxhQUFhO1FBQ2xDO0VBQ0wsTUFBTSxVQUFVLElBQUksS0FBSyxZQUFZLEtBQUs7RUFDMUMsTUFBTSxTQUFTLE9BQU8sR0FBRyxTQUFTLEdBQUc7QUFDckMsU0FBTyxZQUNMLFFBQVEsZ0JBQWdCLEVBQ3hCLFFBQVEsYUFBYSxFQUNyQixRQUFRLFlBQVksQ0FDckI7QUFDRCxTQUFPLFNBQ0wsUUFBUSxhQUFhLEVBQ3JCLFFBQVEsZUFBZSxFQUN2QixRQUFRLGVBQWUsRUFDdkIsUUFBUSxvQkFBb0IsQ0FDN0I7QUFDRCxTQUFPOztBQUdULFFBQU8sT0FBTyxZQUFZLE9BQU8sUUFBUSxTQUFTLEdBQUc7O0FBR3ZELElBQU0sV0FBVztDQUNmLG1CQUFtQjtDQUNuQixtQkFBbUI7Q0FDbkIsVUFBVTtDQUNYO0FBRUQsSUFBTSxZQUNKO0FBQ0YsSUFBTSxZQUNKO0FBQ0YsSUFBTSxnQkFBZ0I7QUFFdEIsU0FBUyxnQkFBZ0IsWUFBWTtDQUNuQyxNQUFNLGNBQWMsRUFBRTtDQUN0QixNQUFNLFFBQVEsV0FBVyxNQUFNLFNBQVMsa0JBQWtCO0NBQzFELElBQUk7QUFJSixLQUFJLE1BQU0sU0FBUyxFQUNqQixRQUFPO0FBR1QsS0FBSSxJQUFJLEtBQUssTUFBTSxHQUFHLENBQ3BCLGNBQWEsTUFBTTtNQUNkO0FBQ0wsY0FBWSxPQUFPLE1BQU07QUFDekIsZUFBYSxNQUFNO0FBQ25CLE1BQUksU0FBUyxrQkFBa0IsS0FBSyxZQUFZLEtBQUssRUFBRTtBQUNyRCxlQUFZLE9BQU8sV0FBVyxNQUFNLFNBQVMsa0JBQWtCLENBQUM7QUFDaEUsZ0JBQWEsV0FBVyxPQUN0QixZQUFZLEtBQUssUUFDakIsV0FBVyxPQUNaOzs7QUFJTCxLQUFJLFlBQVk7RUFDZCxNQUFNLFFBQVEsU0FBUyxTQUFTLEtBQUssV0FBVztBQUNoRCxNQUFJLE9BQU87QUFDVCxlQUFZLE9BQU8sV0FBVyxRQUFRLE1BQU0sSUFBSSxHQUFHO0FBQ25ELGVBQVksV0FBVyxNQUFNO1FBRTdCLGFBQVksT0FBTzs7QUFJdkIsUUFBTzs7QUFHVCxTQUFTLFVBQVUsWUFBWSxrQkFBa0I7Q0FDL0MsTUFBTSxRQUFRLElBQUksT0FDaEIsMEJBQ0csSUFBSSxvQkFDTCx5QkFDQyxJQUFJLG9CQUNMLE9BQ0g7Q0FFRCxNQUFNLFdBQVcsV0FBVyxNQUFNLE1BQU07QUFFeEMsS0FBSSxDQUFDLFNBQVUsUUFBTztFQUFFLE1BQU07RUFBSyxnQkFBZ0I7RUFBSTtDQUV2RCxNQUFNLE9BQU8sU0FBUyxLQUFLLFNBQVMsU0FBUyxHQUFHLEdBQUc7Q0FDbkQsTUFBTSxVQUFVLFNBQVMsS0FBSyxTQUFTLFNBQVMsR0FBRyxHQUFHO0FBR3RELFFBQU87RUFDTCxNQUFNLFlBQVksT0FBTyxPQUFPLFVBQVU7RUFDMUMsZ0JBQWdCLFdBQVcsT0FBTyxTQUFTLE1BQU0sU0FBUyxJQUFJLE9BQU87RUFDdEU7O0FBR0gsU0FBUyxVQUFVLFlBQVksTUFBTTtBQUVuQyxLQUFJLFNBQVMsS0FBTSx3QkFBTyxJQUFJLEtBQUssSUFBSTtDQUV2QyxNQUFNLFdBQVcsV0FBVyxNQUFNLFVBQVU7QUFFNUMsS0FBSSxDQUFDLFNBQVUsd0JBQU8sSUFBSSxLQUFLLElBQUk7Q0FFbkMsTUFBTSxhQUFhLENBQUMsQ0FBQyxTQUFTO0NBQzlCLE1BQU0sWUFBWSxjQUFjLFNBQVMsR0FBRztDQUM1QyxNQUFNLFFBQVEsY0FBYyxTQUFTLEdBQUcsR0FBRztDQUMzQyxNQUFNLE1BQU0sY0FBYyxTQUFTLEdBQUc7Q0FDdEMsTUFBTSxPQUFPLGNBQWMsU0FBUyxHQUFHO0NBQ3ZDLE1BQU0sWUFBWSxjQUFjLFNBQVMsR0FBRyxHQUFHO0FBRS9DLEtBQUksWUFBWTtBQUNkLE1BQUksQ0FBQyxpQkFBaUIsTUFBTSxNQUFNLFVBQVUsQ0FDMUMsd0JBQU8sSUFBSSxLQUFLLElBQUk7QUFFdEIsU0FBTyxpQkFBaUIsTUFBTSxNQUFNLFVBQVU7UUFDekM7RUFDTCxNQUFNLHVCQUFPLElBQUksS0FBSyxFQUFFO0FBQ3hCLE1BQ0UsQ0FBQyxhQUFhLE1BQU0sT0FBTyxJQUFJLElBQy9CLENBQUMsc0JBQXNCLE1BQU0sVUFBUyxDQUV0Qyx3QkFBTyxJQUFJLEtBQUssSUFBSTtBQUV0QixPQUFLLGVBQWUsTUFBTSxPQUFPLEtBQUssSUFBSSxXQUFXLElBQUksQ0FBQztBQUMxRCxTQUFPOzs7QUFJWCxTQUFTLGNBQWMsT0FBTztBQUM1QixRQUFPLFFBQVEsU0FBUyxNQUFNLEdBQUc7O0FBR25DLFNBQVMsVUFBVSxZQUFZO0NBQzdCLE1BQU0sV0FBVyxXQUFXLE1BQU0sVUFBVTtBQUM1QyxLQUFJLENBQUMsU0FBVSxRQUFPO0NBRXRCLE1BQU0sUUFBUSxjQUFjLFNBQVMsR0FBRztDQUN4QyxNQUFNLFVBQVUsY0FBYyxTQUFTLEdBQUc7Q0FDMUMsTUFBTSxVQUFVLGNBQWMsU0FBUyxHQUFHO0FBRTFDLEtBQUksQ0FBQyxhQUFhLE9BQU8sU0FBUyxRQUFRLENBQ3hDLFFBQU87QUFHVCxRQUNFLFFBQVEscUJBQXFCLFVBQVUsdUJBQXVCLFVBQVU7O0FBSTVFLFNBQVMsY0FBYyxPQUFPO0FBQzVCLFFBQVEsU0FBUyxXQUFXLE1BQU0sUUFBUSxLQUFLLElBQUksQ0FBQyxJQUFLOztBQUczRCxTQUFTLGNBQWMsZ0JBQWdCO0FBQ3JDLEtBQUksbUJBQW1CLElBQUssUUFBTztDQUVuQyxNQUFNLFdBQVcsZUFBZSxNQUFNLGNBQWM7QUFDcEQsS0FBSSxDQUFDLFNBQVUsUUFBTztDQUV0QixNQUFNLE9BQU8sU0FBUyxPQUFPLE1BQU0sS0FBSztDQUN4QyxNQUFNLFFBQVEsU0FBUyxTQUFTLEdBQUc7Q0FDbkMsTUFBTSxVQUFXLFNBQVMsTUFBTSxTQUFTLFNBQVMsR0FBRyxJQUFLO0FBRTFELEtBQUksQ0FBQyxpQkFBaUIsT0FBTyxRQUFRLENBQ25DLFFBQU87QUFHVCxRQUFPLFFBQVEsUUFBUSxxQkFBcUIsVUFBVTs7QUFHeEQsU0FBUyxpQkFBaUIsYUFBYSxNQUFNLEtBQUs7Q0FDaEQsTUFBTSx1QkFBTyxJQUFJLEtBQUssRUFBRTtBQUN4QixNQUFLLGVBQWUsYUFBYSxHQUFHLEVBQUU7Q0FDdEMsTUFBTSxxQkFBcUIsS0FBSyxXQUFXLElBQUk7Q0FDL0MsTUFBTSxRQUFRLE9BQU8sS0FBSyxJQUFJLE1BQU0sSUFBSTtBQUN4QyxNQUFLLFdBQVcsS0FBSyxZQUFZLEdBQUcsS0FBSztBQUN6QyxRQUFPOztBQU1ULElBQU0sZUFBZTtDQUFDO0NBQUk7Q0FBTTtDQUFJO0NBQUk7Q0FBSTtDQUFJO0NBQUk7Q0FBSTtDQUFJO0NBQUk7Q0FBSTtDQUFHO0FBRXZFLFNBQVMsZ0JBQWdCLE1BQU07QUFDN0IsUUFBTyxPQUFPLFFBQVEsS0FBTSxPQUFPLE1BQU0sS0FBSyxPQUFPLFFBQVE7O0FBRy9ELFNBQVMsYUFBYSxNQUFNLE9BQU8sTUFBTTtBQUN2QyxRQUNFLFNBQVMsS0FDVCxTQUFTLE1BQ1QsUUFBUSxLQUNSLFNBQVMsYUFBYSxXQUFXLGdCQUFnQixLQUFLLEdBQUcsS0FBSzs7QUFJbEUsU0FBUyxzQkFBc0IsTUFBTSxXQUFXO0FBQzlDLFFBQU8sYUFBYSxLQUFLLGNBQWMsZ0JBQWdCLEtBQUssR0FBRyxNQUFNOztBQUd2RSxTQUFTLGlCQUFpQixPQUFPLE1BQU0sS0FBSztBQUMxQyxRQUFPLFFBQVEsS0FBSyxRQUFRLE1BQU0sT0FBTyxLQUFLLE9BQU87O0FBR3ZELFNBQVMsYUFBYSxPQUFPLFNBQVMsU0FBUztBQUM3QyxLQUFJLFVBQVUsR0FDWixRQUFPLFlBQVksS0FBSyxZQUFZO0FBR3RDLFFBQ0UsV0FBVyxLQUNYLFVBQVUsTUFDVixXQUFXLEtBQ1gsVUFBVSxNQUNWLFNBQVMsS0FDVCxRQUFROztBQUlaLFNBQVMsaUJBQWlCLFFBQVEsU0FBUztBQUN6QyxRQUFPLFdBQVcsS0FBSyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3JRcEMsU0FBZ0IsU0FBUyxNQUFNLFFBQVEsU0FBUztBQUM5QyxRQUFPLFNBQVMsTUFBTSxDQUFDLFFBQVEsUUFBUTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDQ3pDLFNBQWdCLGdDQUFnQyxTQUFnQjtBQUM5RCxLQUFJLENBQUMsUUFDSDtBQUlGLEtBQUksQ0FBQyxRQUZjLFNBQVMsUUFBUSxDQUVaLENBQ3RCO0FBR0YsS0FBSSxRQUFRLFNBQVMsSUFBSSxDQUN2QixRQUFPLElBQUksS0FBSyxRQUFRLFFBQVEsS0FBSyxHQUFHLENBQUM7QUFHM0MsS0FBSSxRQUFRLFNBQVMsSUFBSSxFQUFFO0VBQ3pCLE1BQU0sV0FBVyxRQUFRLE1BQU0sSUFBSTtBQUVuQyxNQUFJLFNBQVMsT0FBTyxTQUFTLEdBQUcsU0FBUyxJQUFJLElBQUksU0FBUyxHQUFHLFNBQVMsSUFBSSxFQUN4RSx3QkFBTyxJQUFJLEtBQUssR0FBRyxTQUFTLEdBQUUsR0FBSSxTQUFTLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSzs7QUFHckUsUUFBTyxJQUFJLEtBQUssUUFBUTs7Ozs7Ozs7O0FBVzFCLElBQWEsa0JBQ1gsVUFDQSxvQkFDbUM7Q0FDbkMsTUFBTSxRQUFRLEVBQUU7Q0FDaEIsTUFBTSxPQUFPLEVBQUU7Q0FFZixNQUFNLE1BQU07Q0FDWixJQUFJLFNBQVMsV0FBVyxLQUFLLFNBQVM7Q0FFdEMsTUFBTSxPQUFPLGlCQUFpQixRQUFRLElBQUk7QUFDMUMsS0FBSSxPQUFPLEdBQUc7QUFDWixRQUFNLEtBQUssR0FBRyxLQUFJLElBQUs7QUFDdkIsTUFBSSxnQkFDRixNQUFLLEtBQ0gsR0FBRyxLQUFJLEdBQ0wsT0FBTyxJQUNILGdCQUFnQixTQUFTLEtBQUssbUJBQzlCLGdCQUFnQixPQUFPLEtBQUssbUJBRW5DO0FBRUgsV0FBUyxRQUFRLFFBQVEsS0FBSzs7Q0FHaEMsTUFBTSxRQUFRLGtCQUFrQixRQUFRLElBQUk7QUFDNUMsS0FBSSxRQUFRLEdBQUc7QUFDYixRQUFNLEtBQUssR0FBRyxNQUFLLElBQUs7QUFDeEIsTUFBSSxnQkFDRixNQUFLLEtBQ0gsR0FBRyxNQUFLLEdBQ04sUUFBUSxJQUNKLGlCQUFpQixTQUFTLEtBQUssbUJBQy9CLGlCQUFpQixPQUFPLEtBQUssbUJBRXBDO0FBRUgsV0FBUyxTQUFTLFFBQVEsTUFBTTs7Q0FHbEMsTUFBTSxVQUFVLG9CQUFvQixRQUFRLElBQUk7QUFDaEQsS0FBSSxVQUFVLEdBQUc7QUFDZixRQUFNLEtBQUssR0FBRyxRQUFPLE1BQU87QUFDNUIsTUFBSSxnQkFDRixNQUFLLEtBQ0gsR0FBRyxRQUFPLEdBQ1IsVUFBVSxJQUNOLG1CQUFtQixTQUFTLEtBQUssbUJBQ2pDLG1CQUFtQixPQUFPLEtBQUssbUJBRXRDOztBQUlMLFFBQU87RUFDTCxPQUFPLE1BQU0sS0FBSyxJQUFJO0VBQ3RCLE1BQU0sS0FBSyxLQUFLLElBQUE7RUFDakIifQ==
520
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1oZWxwZXItREd6LXp0UU0uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2FkZERheXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvYWRkTWlsbGlzZWNvbmRzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2FkZEhvdXJzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2RpZmZlcmVuY2VJbkRheXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZGlmZmVyZW5jZUluSG91cnMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvc3ViRGF5cy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9wYXJzZUlTTy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9zdWJIb3Vycy5qcyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvY29yZS9kYXRldGltZS9kYXRlLWhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zdHJ1Y3RGcm9tIH0gZnJvbSBcIi4vY29uc3RydWN0RnJvbS5qc1wiO1xuaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBhZGREYXlzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgYWRkRGF5c1xuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgZGF5cyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBkYXlzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIGRheXMgdG8gYmUgYWRkZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFuIG9iamVjdCB3aXRoIG9wdGlvbnNcbiAqXG4gKiBAcmV0dXJucyBUaGUgbmV3IGRhdGUgd2l0aCB0aGUgZGF5cyBhZGRlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgMTAgZGF5cyB0byAxIFNlcHRlbWJlciAyMDE0OlxuICogY29uc3QgcmVzdWx0ID0gYWRkRGF5cyhuZXcgRGF0ZSgyMDE0LCA4LCAxKSwgMTApXG4gKiAvLz0+IFRodSBTZXAgMTEgMjAxNCAwMDowMDowMFxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkRGF5cyhkYXRlLCBhbW91bnQsIG9wdGlvbnMpIHtcbiAgY29uc3QgX2RhdGUgPSB0b0RhdGUoZGF0ZSwgb3B0aW9ucz8uaW4pO1xuICBpZiAoaXNOYU4oYW1vdW50KSkgcmV0dXJuIGNvbnN0cnVjdEZyb20ob3B0aW9ucz8uaW4gfHwgZGF0ZSwgTmFOKTtcblxuICAvLyBJZiAwIGRheXMsIG5vLW9wIHRvIGF2b2lkIGNoYW5naW5nIHRpbWVzIGluIHRoZSBob3VyIGJlZm9yZSBlbmQgb2YgRFNUXG4gIGlmICghYW1vdW50KSByZXR1cm4gX2RhdGU7XG5cbiAgX2RhdGUuc2V0RGF0ZShfZGF0ZS5nZXREYXRlKCkgKyBhbW91bnQpO1xuICByZXR1cm4gX2RhdGU7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgYWRkRGF5cztcbiIsImltcG9ydCB7IGNvbnN0cnVjdEZyb20gfSBmcm9tIFwiLi9jb25zdHJ1Y3RGcm9tLmpzXCI7XG5pbXBvcnQgeyB0b0RhdGUgfSBmcm9tIFwiLi90b0RhdGUuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIGFkZE1pbGxpc2Vjb25kc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGFkZE1pbGxpc2Vjb25kc1xuICogQGNhdGVnb3J5IE1pbGxpc2Vjb25kIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIG1pbGxpc2Vjb25kcyB0byBiZSBhZGRlZC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgb2JqZWN0XG4gKlxuICogQHJldHVybnMgVGhlIG5ldyBkYXRlIHdpdGggdGhlIG1pbGxpc2Vjb25kcyBhZGRlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgNzUwIG1pbGxpc2Vjb25kcyB0byAxMCBKdWx5IDIwMTQgMTI6NDU6MzAuMDAwOlxuICogY29uc3QgcmVzdWx0ID0gYWRkTWlsbGlzZWNvbmRzKG5ldyBEYXRlKDIwMTQsIDYsIDEwLCAxMiwgNDUsIDMwLCAwKSwgNzUwKVxuICogLy89PiBUaHUgSnVsIDEwIDIwMTQgMTI6NDU6MzAuNzUwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRNaWxsaXNlY29uZHMoZGF0ZSwgYW1vdW50LCBvcHRpb25zKSB7XG4gIHJldHVybiBjb25zdHJ1Y3RGcm9tKG9wdGlvbnM/LmluIHx8IGRhdGUsICt0b0RhdGUoZGF0ZSkgKyBhbW91bnQpO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IGFkZE1pbGxpc2Vjb25kcztcbiIsImltcG9ydCB7IGFkZE1pbGxpc2Vjb25kcyB9IGZyb20gXCIuL2FkZE1pbGxpc2Vjb25kcy5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5Ib3VyIH0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBhZGRIb3Vyc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGFkZEhvdXJzXG4gKiBAY2F0ZWdvcnkgSG91ciBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgaG91cnMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgaG91cnMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQHR5cGVQYXJhbSBEYXRlVHlwZSAtIFRoZSBgRGF0ZWAgdHlwZSwgdGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uLiBHZXRzIGluZmVycmVkIGZyb20gcGFzc2VkIGFyZ3VtZW50cy4gQWxsb3dzIHRvIHVzZSBleHRlbnNpb25zIGxpa2UgW2BVVENEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3V0YykuXG4gKiBAdHlwZVBhcmFtIFJlc3VsdERhdGUgLSBUaGUgcmVzdWx0IGBEYXRlYCB0eXBlLCBpdCBpcyB0aGUgdHlwZSByZXR1cm5lZCBmcm9tIHRoZSBjb250ZXh0IGZ1bmN0aW9uIGlmIGl0IGlzIHBhc3NlZCwgb3IgaW5mZXJyZWQgZnJvbSB0aGUgYXJndW1lbnRzLlxuICpcbiAqIEBwYXJhbSBkYXRlIC0gVGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIGFtb3VudCAtIFRoZSBhbW91bnQgb2YgaG91cnMgdG8gYmUgYWRkZWRcbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IHdpdGggb3B0aW9uc1xuICpcbiAqIEByZXR1cm5zIFRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBob3VycyBhZGRlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgMiBob3VycyB0byAxMCBKdWx5IDIwMTQgMjM6MDA6MDA6XG4gKiBjb25zdCByZXN1bHQgPSBhZGRIb3VycyhuZXcgRGF0ZSgyMDE0LCA2LCAxMCwgMjMsIDApLCAyKVxuICogLy89PiBGcmkgSnVsIDExIDIwMTQgMDE6MDA6MDBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZEhvdXJzKGRhdGUsIGFtb3VudCwgb3B0aW9ucykge1xuICByZXR1cm4gYWRkTWlsbGlzZWNvbmRzKGRhdGUsIGFtb3VudCAqIG1pbGxpc2Vjb25kc0luSG91ciwgb3B0aW9ucyk7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgYWRkSG91cnM7XG4iLCJpbXBvcnQgeyBub3JtYWxpemVEYXRlcyB9IGZyb20gXCIuL19saWIvbm9ybWFsaXplRGF0ZXMuanNcIjtcbmltcG9ydCB7IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyB9IGZyb20gXCIuL2RpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cy5qc1wiO1xuXG4vKipcbiAqIFRoZSB7QGxpbmsgZGlmZmVyZW5jZUluRGF5c30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbkRheXNcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgZnVsbCBkYXlzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBudW1iZXIgb2YgZnVsbCBkYXkgcGVyaW9kcyBiZXR3ZWVuIHR3byBkYXRlcy4gRnJhY3Rpb25hbCBkYXlzIGFyZVxuICogdHJ1bmNhdGVkIHRvd2FyZHMgemVyby5cbiAqXG4gKiBPbmUgXCJmdWxsIGRheVwiIGlzIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIGEgbG9jYWwgdGltZSBpbiBvbmUgZGF5IHRvIHRoZSBzYW1lXG4gKiBsb2NhbCB0aW1lIG9uIHRoZSBuZXh0IG9yIHByZXZpb3VzIGRheS4gQSBmdWxsIGRheSBjYW4gc29tZXRpbWVzIGJlIGxlc3MgdGhhblxuICogb3IgbW9yZSB0aGFuIDI0IGhvdXJzIGlmIGEgZGF5bGlnaHQgc2F2aW5ncyBjaGFuZ2UgaGFwcGVucyBiZXR3ZWVuIHR3byBkYXRlcy5cbiAqXG4gKiBUbyBpZ25vcmUgRFNUIGFuZCBvbmx5IG1lYXN1cmUgZXhhY3QgMjQtaG91ciBwZXJpb2RzLCB1c2UgdGhpcyBpbnN0ZWFkOlxuICogYE1hdGgudHJ1bmMoZGlmZmVyZW5jZUluSG91cnMoZGF0ZUxlZnQsIGRhdGVSaWdodCkvMjQpfDBgLlxuICpcbiAqIEBwYXJhbSBsYXRlckRhdGUgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGVhcmxpZXJEYXRlIC0gVGhlIGVhcmxpZXIgZGF0ZVxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvYmplY3Qgd2l0aCBvcHRpb25zXG4gKlxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBmdWxsIGRheXMgYWNjb3JkaW5nIHRvIHRoZSBsb2NhbCB0aW1lem9uZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBmdWxsIGRheXMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDExIDIzOjAwOjAwIGFuZCAyIEp1bHkgMjAxMiAwMDowMDowMD9cbiAqIGNvbnN0IHJlc3VsdCA9IGRpZmZlcmVuY2VJbkRheXMoXG4gKiAgIG5ldyBEYXRlKDIwMTIsIDYsIDIsIDAsIDApLFxuICogICBuZXcgRGF0ZSgyMDExLCA2LCAyLCAyMywgMClcbiAqIClcbiAqIC8vPT4gMzY1XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IGZ1bGwgZGF5cyBhcmUgYmV0d2VlblxuICogLy8gMiBKdWx5IDIwMTEgMjM6NTk6MDAgYW5kIDMgSnVseSAyMDExIDAwOjAxOjAwP1xuICogY29uc3QgcmVzdWx0ID0gZGlmZmVyZW5jZUluRGF5cyhcbiAqICAgbmV3IERhdGUoMjAxMSwgNiwgMywgMCwgMSksXG4gKiAgIG5ldyBEYXRlKDIwMTEsIDYsIDIsIDIzLCA1OSlcbiAqIClcbiAqIC8vPT4gMFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBmdWxsIGRheXMgYXJlIGJldHdlZW5cbiAqIC8vIDEgTWFyY2ggMjAyMCAwOjAwIGFuZCAxIEp1bmUgMjAyMCAwOjAwID9cbiAqIC8vIE5vdGU6IGJlY2F1c2UgbG9jYWwgdGltZSBpcyB1c2VkLCB0aGVcbiAqIC8vIHJlc3VsdCB3aWxsIGFsd2F5cyBiZSA5MiBkYXlzLCBldmVuIGluXG4gKiAvLyB0aW1lIHpvbmVzIHdoZXJlIERTVCBzdGFydHMgYW5kIHRoZVxuICogLy8gcGVyaW9kIGhhcyBvbmx5IDkyKjI0LTEgaG91cnMuXG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5EYXlzKFxuICogICBuZXcgRGF0ZSgyMDIwLCA1LCAxKSxcbiAqICAgbmV3IERhdGUoMjAyMCwgMiwgMSlcbiAqIClcbiAqIC8vPT4gOTJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbkRheXMobGF0ZXJEYXRlLCBlYXJsaWVyRGF0ZSwgb3B0aW9ucykge1xuICBjb25zdCBbbGF0ZXJEYXRlXywgZWFybGllckRhdGVfXSA9IG5vcm1hbGl6ZURhdGVzKFxuICAgIG9wdGlvbnM/LmluLFxuICAgIGxhdGVyRGF0ZSxcbiAgICBlYXJsaWVyRGF0ZSxcbiAgKTtcblxuICBjb25zdCBzaWduID0gY29tcGFyZUxvY2FsQXNjKGxhdGVyRGF0ZV8sIGVhcmxpZXJEYXRlXyk7XG4gIGNvbnN0IGRpZmZlcmVuY2UgPSBNYXRoLmFicyhcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMobGF0ZXJEYXRlXywgZWFybGllckRhdGVfKSxcbiAgKTtcblxuICBsYXRlckRhdGVfLnNldERhdGUobGF0ZXJEYXRlXy5nZXREYXRlKCkgLSBzaWduICogZGlmZmVyZW5jZSk7XG5cbiAgLy8gTWF0aC5hYnMoZGlmZiBpbiBmdWxsIGRheXMgLSBkaWZmIGluIGNhbGVuZGFyIGRheXMpID09PSAxIGlmIGxhc3QgY2FsZW5kYXIgZGF5IGlzIG5vdCBmdWxsXG4gIC8vIElmIHNvLCByZXN1bHQgbXVzdCBiZSBkZWNyZWFzZWQgYnkgMSBpbiBhYnNvbHV0ZSB2YWx1ZVxuICBjb25zdCBpc0xhc3REYXlOb3RGdWxsID0gTnVtYmVyKFxuICAgIGNvbXBhcmVMb2NhbEFzYyhsYXRlckRhdGVfLCBlYXJsaWVyRGF0ZV8pID09PSAtc2lnbixcbiAgKTtcblxuICBjb25zdCByZXN1bHQgPSBzaWduICogKGRpZmZlcmVuY2UgLSBpc0xhc3REYXlOb3RGdWxsKTtcbiAgLy8gUHJldmVudCBuZWdhdGl2ZSB6ZXJvXG4gIHJldHVybiByZXN1bHQgPT09IDAgPyAwIDogcmVzdWx0O1xufVxuXG4vLyBMaWtlIGBjb21wYXJlQXNjYCBidXQgdXNlcyBsb2NhbCB0aW1lIG5vdCBVVEMsIHdoaWNoIGlzIG5lZWRlZFxuLy8gZm9yIGFjY3VyYXRlIGVxdWFsaXR5IGNvbXBhcmlzb25zIG9mIFVUQyB0aW1lc3RhbXBzIHRoYXQgZW5kIHVwXG4vLyBoYXZpbmcgdGhlIHNhbWUgcmVwcmVzZW50YXRpb24gaW4gbG9jYWwgdGltZSwgZS5nLiBvbmUgaG91ciBiZWZvcmVcbi8vIERTVCBlbmRzIHZzLiB0aGUgaW5zdGFudCB0aGF0IERTVCBlbmRzLlxuZnVuY3Rpb24gY29tcGFyZUxvY2FsQXNjKGxhdGVyRGF0ZSwgZWFybGllckRhdGUpIHtcbiAgY29uc3QgZGlmZiA9XG4gICAgbGF0ZXJEYXRlLmdldEZ1bGxZZWFyKCkgLSBlYXJsaWVyRGF0ZS5nZXRGdWxsWWVhcigpIHx8XG4gICAgbGF0ZXJEYXRlLmdldE1vbnRoKCkgLSBlYXJsaWVyRGF0ZS5nZXRNb250aCgpIHx8XG4gICAgbGF0ZXJEYXRlLmdldERhdGUoKSAtIGVhcmxpZXJEYXRlLmdldERhdGUoKSB8fFxuICAgIGxhdGVyRGF0ZS5nZXRIb3VycygpIC0gZWFybGllckRhdGUuZ2V0SG91cnMoKSB8fFxuICAgIGxhdGVyRGF0ZS5nZXRNaW51dGVzKCkgLSBlYXJsaWVyRGF0ZS5nZXRNaW51dGVzKCkgfHxcbiAgICBsYXRlckRhdGUuZ2V0U2Vjb25kcygpIC0gZWFybGllckRhdGUuZ2V0U2Vjb25kcygpIHx8XG4gICAgbGF0ZXJEYXRlLmdldE1pbGxpc2Vjb25kcygpIC0gZWFybGllckRhdGUuZ2V0TWlsbGlzZWNvbmRzKCk7XG5cbiAgaWYgKGRpZmYgPCAwKSByZXR1cm4gLTE7XG4gIGlmIChkaWZmID4gMCkgcmV0dXJuIDE7XG5cbiAgLy8gUmV0dXJuIDAgaWYgZGlmZiBpcyAwOyByZXR1cm4gTmFOIGlmIGRpZmYgaXMgTmFOXG4gIHJldHVybiBkaWZmO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IGRpZmZlcmVuY2VJbkRheXM7XG4iLCJpbXBvcnQgeyBnZXRSb3VuZGluZ01ldGhvZCB9IGZyb20gXCIuL19saWIvZ2V0Um91bmRpbmdNZXRob2QuanNcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZURhdGVzIH0gZnJvbSBcIi4vX2xpYi9ub3JtYWxpemVEYXRlcy5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5Ib3VyIH0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBkaWZmZXJlbmNlSW5Ib3Vyc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbkhvdXJzXG4gKiBAY2F0ZWdvcnkgSG91ciBIZWxwZXJzXG4gKiBAc3VtbWFyeSBHZXQgdGhlIG51bWJlciBvZiBob3VycyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIGhvdXJzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBwYXJhbSBsYXRlckRhdGUgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGVhcmxpZXJEYXRlIC0gVGhlIGVhcmxpZXIgZGF0ZVxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvYmplY3Qgd2l0aCBvcHRpb25zLlxuICpcbiAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgaG91cnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgaG91cnMgYXJlIGJldHdlZW4gMiBKdWx5IDIwMTQgMDY6NTA6MDAgYW5kIDIgSnVseSAyMDE0IDE5OjAwOjAwP1xuICogY29uc3QgcmVzdWx0ID0gZGlmZmVyZW5jZUluSG91cnMoXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIsIDE5LCAwKSxcbiAqICAgbmV3IERhdGUoMjAxNCwgNiwgMiwgNiwgNTApXG4gKiApXG4gKiAvLz0+IDEyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5Ib3VycyhsYXRlckRhdGUsIGVhcmxpZXJEYXRlLCBvcHRpb25zKSB7XG4gIGNvbnN0IFtsYXRlckRhdGVfLCBlYXJsaWVyRGF0ZV9dID0gbm9ybWFsaXplRGF0ZXMoXG4gICAgb3B0aW9ucz8uaW4sXG4gICAgbGF0ZXJEYXRlLFxuICAgIGVhcmxpZXJEYXRlLFxuICApO1xuICBjb25zdCBkaWZmID0gKCtsYXRlckRhdGVfIC0gK2VhcmxpZXJEYXRlXykgLyBtaWxsaXNlY29uZHNJbkhvdXI7XG4gIHJldHVybiBnZXRSb3VuZGluZ01ldGhvZChvcHRpb25zPy5yb3VuZGluZ01ldGhvZCkoZGlmZik7XG59XG5cbi8vIEZhbGxiYWNrIGZvciBtb2R1bGFyaXplZCBpbXBvcnRzOlxuZXhwb3J0IGRlZmF1bHQgZGlmZmVyZW5jZUluSG91cnM7XG4iLCJpbXBvcnQgeyBhZGREYXlzIH0gZnJvbSBcIi4vYWRkRGF5cy5qc1wiO1xuXG4vKipcbiAqIFRoZSB7QGxpbmsgc3ViRGF5c30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIHN1YkRheXNcbiAqIEBjYXRlZ29yeSBEYXkgSGVscGVyc1xuICogQHN1bW1hcnkgU3VidHJhY3QgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgZGF5cyBmcm9tIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIGRheXMgdG8gYmUgc3VidHJhY3RlZC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IHdpdGggb3B0aW9uc1xuICpcbiAqIEByZXR1cm5zIFRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBkYXlzIHN1YnRyYWN0ZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3VidHJhY3QgMTAgZGF5cyBmcm9tIDEgU2VwdGVtYmVyIDIwMTQ6XG4gKiBjb25zdCByZXN1bHQgPSBzdWJEYXlzKG5ldyBEYXRlKDIwMTQsIDgsIDEpLCAxMClcbiAqIC8vPT4gRnJpIEF1ZyAyMiAyMDE0IDAwOjAwOjAwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJEYXlzKGRhdGUsIGFtb3VudCwgb3B0aW9ucykge1xuICByZXR1cm4gYWRkRGF5cyhkYXRlLCAtYW1vdW50LCBvcHRpb25zKTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBzdWJEYXlzO1xuIiwiaW1wb3J0IHtcbiAgbWlsbGlzZWNvbmRzSW5Ib3VyLFxuICBtaWxsaXNlY29uZHNJbk1pbnV0ZSxcbn0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBjb25zdHJ1Y3RGcm9tIH0gZnJvbSBcIi4vY29uc3RydWN0RnJvbS5qc1wiO1xuaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBwYXJzZUlTT30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIHBhcnNlSVNPXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFBhcnNlIElTTyBzdHJpbmdcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFBhcnNlIHRoZSBnaXZlbiBzdHJpbmcgaW4gSVNPIDg2MDEgZm9ybWF0IGFuZCByZXR1cm4gYW4gaW5zdGFuY2Ugb2YgRGF0ZS5cbiAqXG4gKiBGdW5jdGlvbiBhY2NlcHRzIGNvbXBsZXRlIElTTyA4NjAxIGZvcm1hdHMgYXMgd2VsbCBhcyBwYXJ0aWFsIGltcGxlbWVudGF0aW9ucy5cbiAqIElTTyA4NjAxOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxXG4gKlxuICogSWYgdGhlIGFyZ3VtZW50IGlzbid0IGEgc3RyaW5nLCB0aGUgZnVuY3Rpb24gY2Fubm90IHBhcnNlIHRoZSBzdHJpbmcgb3JcbiAqIHRoZSB2YWx1ZXMgYXJlIGludmFsaWQsIGl0IHJldHVybnMgSW52YWxpZCBEYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gYXJndW1lbnQgLSBUaGUgdmFsdWUgdG8gY29udmVydFxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvYmplY3Qgd2l0aCBvcHRpb25zXG4gKlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBkYXRlIGluIHRoZSBsb2NhbCB0aW1lIHpvbmVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ29udmVydCBzdHJpbmcgJzIwMTQtMDItMTFUMTE6MzA6MzAnIHRvIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSBwYXJzZUlTTygnMjAxNC0wMi0xMVQxMTozMDozMCcpXG4gKiAvLz0+IFR1ZSBGZWIgMTEgMjAxNCAxMTozMDozMFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBDb252ZXJ0IHN0cmluZyAnKzAyMDE0MTAxJyB0byBkYXRlLFxuICogLy8gaWYgdGhlIGFkZGl0aW9uYWwgbnVtYmVyIG9mIGRpZ2l0cyBpbiB0aGUgZXh0ZW5kZWQgeWVhciBmb3JtYXQgaXMgMTpcbiAqIGNvbnN0IHJlc3VsdCA9IHBhcnNlSVNPKCcrMDIwMTQxMDEnLCB7IGFkZGl0aW9uYWxEaWdpdHM6IDEgfSlcbiAqIC8vPT4gRnJpIEFwciAxMSAyMDE0IDAwOjAwOjAwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUlTTyhhcmd1bWVudCwgb3B0aW9ucykge1xuICBjb25zdCBpbnZhbGlkRGF0ZSA9ICgpID0+IGNvbnN0cnVjdEZyb20ob3B0aW9ucz8uaW4sIE5hTik7XG5cbiAgY29uc3QgYWRkaXRpb25hbERpZ2l0cyA9IG9wdGlvbnM/LmFkZGl0aW9uYWxEaWdpdHMgPz8gMjtcbiAgY29uc3QgZGF0ZVN0cmluZ3MgPSBzcGxpdERhdGVTdHJpbmcoYXJndW1lbnQpO1xuXG4gIGxldCBkYXRlO1xuICBpZiAoZGF0ZVN0cmluZ3MuZGF0ZSkge1xuICAgIGNvbnN0IHBhcnNlWWVhclJlc3VsdCA9IHBhcnNlWWVhcihkYXRlU3RyaW5ncy5kYXRlLCBhZGRpdGlvbmFsRGlnaXRzKTtcbiAgICBkYXRlID0gcGFyc2VEYXRlKHBhcnNlWWVhclJlc3VsdC5yZXN0RGF0ZVN0cmluZywgcGFyc2VZZWFyUmVzdWx0LnllYXIpO1xuICB9XG5cbiAgaWYgKCFkYXRlIHx8IGlzTmFOKCtkYXRlKSkgcmV0dXJuIGludmFsaWREYXRlKCk7XG5cbiAgY29uc3QgdGltZXN0YW1wID0gK2RhdGU7XG4gIGxldCB0aW1lID0gMDtcbiAgbGV0IG9mZnNldDtcblxuICBpZiAoZGF0ZVN0cmluZ3MudGltZSkge1xuICAgIHRpbWUgPSBwYXJzZVRpbWUoZGF0ZVN0cmluZ3MudGltZSk7XG4gICAgaWYgKGlzTmFOKHRpbWUpKSByZXR1cm4gaW52YWxpZERhdGUoKTtcbiAgfVxuXG4gIGlmIChkYXRlU3RyaW5ncy50aW1lem9uZSkge1xuICAgIG9mZnNldCA9IHBhcnNlVGltZXpvbmUoZGF0ZVN0cmluZ3MudGltZXpvbmUpO1xuICAgIGlmIChpc05hTihvZmZzZXQpKSByZXR1cm4gaW52YWxpZERhdGUoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0bXBEYXRlID0gbmV3IERhdGUodGltZXN0YW1wICsgdGltZSk7XG4gICAgY29uc3QgcmVzdWx0ID0gdG9EYXRlKDAsIG9wdGlvbnM/LmluKTtcbiAgICByZXN1bHQuc2V0RnVsbFllYXIoXG4gICAgICB0bXBEYXRlLmdldFVUQ0Z1bGxZZWFyKCksXG4gICAgICB0bXBEYXRlLmdldFVUQ01vbnRoKCksXG4gICAgICB0bXBEYXRlLmdldFVUQ0RhdGUoKSxcbiAgICApO1xuICAgIHJlc3VsdC5zZXRIb3VycyhcbiAgICAgIHRtcERhdGUuZ2V0VVRDSG91cnMoKSxcbiAgICAgIHRtcERhdGUuZ2V0VVRDTWludXRlcygpLFxuICAgICAgdG1wRGF0ZS5nZXRVVENTZWNvbmRzKCksXG4gICAgICB0bXBEYXRlLmdldFVUQ01pbGxpc2Vjb25kcygpLFxuICAgICk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHJldHVybiB0b0RhdGUodGltZXN0YW1wICsgdGltZSArIG9mZnNldCwgb3B0aW9ucz8uaW4pO1xufVxuXG5jb25zdCBwYXR0ZXJucyA9IHtcbiAgZGF0ZVRpbWVEZWxpbWl0ZXI6IC9bVCBdLyxcbiAgdGltZVpvbmVEZWxpbWl0ZXI6IC9bWiBdL2ksXG4gIHRpbWV6b25lOiAvKFtaKy1dLiopJC8sXG59O1xuXG5jb25zdCBkYXRlUmVnZXggPVxuICAvXi0/KD86KFxcZHszfSl8KFxcZHsyfSkoPzotPyhcXGR7Mn0pKT98VyhcXGR7Mn0pKD86LT8oXFxkezF9KSk/fCkkLztcbmNvbnN0IHRpbWVSZWdleCA9XG4gIC9eKFxcZHsyfSg/OlsuLF1cXGQqKT8pKD86Oj8oXFxkezJ9KD86Wy4sXVxcZCopPykpPyg/Ojo/KFxcZHsyfSg/OlsuLF1cXGQqKT8pKT8kLztcbmNvbnN0IHRpbWV6b25lUmVnZXggPSAvXihbKy1dKShcXGR7Mn0pKD86Oj8oXFxkezJ9KSk/JC87XG5cbmZ1bmN0aW9uIHNwbGl0RGF0ZVN0cmluZyhkYXRlU3RyaW5nKSB7XG4gIGNvbnN0IGRhdGVTdHJpbmdzID0ge307XG4gIGNvbnN0IGFycmF5ID0gZGF0ZVN0cmluZy5zcGxpdChwYXR0ZXJucy5kYXRlVGltZURlbGltaXRlcik7XG4gIGxldCB0aW1lU3RyaW5nO1xuXG4gIC8vIFRoZSByZWdleCBtYXRjaCBzaG91bGQgb25seSByZXR1cm4gYXQgbWF4aW11bSB0d28gYXJyYXkgZWxlbWVudHMuXG4gIC8vIFtkYXRlXSwgW3RpbWVdLCBvciBbZGF0ZSwgdGltZV0uXG4gIGlmIChhcnJheS5sZW5ndGggPiAyKSB7XG4gICAgcmV0dXJuIGRhdGVTdHJpbmdzO1xuICB9XG5cbiAgaWYgKC86Ly50ZXN0KGFycmF5WzBdKSkge1xuICAgIHRpbWVTdHJpbmcgPSBhcnJheVswXTtcbiAgfSBlbHNlIHtcbiAgICBkYXRlU3RyaW5ncy5kYXRlID0gYXJyYXlbMF07XG4gICAgdGltZVN0cmluZyA9IGFycmF5WzFdO1xuICAgIGlmIChwYXR0ZXJucy50aW1lWm9uZURlbGltaXRlci50ZXN0KGRhdGVTdHJpbmdzLmRhdGUpKSB7XG4gICAgICBkYXRlU3RyaW5ncy5kYXRlID0gZGF0ZVN0cmluZy5zcGxpdChwYXR0ZXJucy50aW1lWm9uZURlbGltaXRlcilbMF07XG4gICAgICB0aW1lU3RyaW5nID0gZGF0ZVN0cmluZy5zdWJzdHIoXG4gICAgICAgIGRhdGVTdHJpbmdzLmRhdGUubGVuZ3RoLFxuICAgICAgICBkYXRlU3RyaW5nLmxlbmd0aCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHRpbWVTdHJpbmcpIHtcbiAgICBjb25zdCB0b2tlbiA9IHBhdHRlcm5zLnRpbWV6b25lLmV4ZWModGltZVN0cmluZyk7XG4gICAgaWYgKHRva2VuKSB7XG4gICAgICBkYXRlU3RyaW5ncy50aW1lID0gdGltZVN0cmluZy5yZXBsYWNlKHRva2VuWzFdLCBcIlwiKTtcbiAgICAgIGRhdGVTdHJpbmdzLnRpbWV6b25lID0gdG9rZW5bMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGRhdGVTdHJpbmdzLnRpbWUgPSB0aW1lU3RyaW5nO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkYXRlU3RyaW5ncztcbn1cblxuZnVuY3Rpb24gcGFyc2VZZWFyKGRhdGVTdHJpbmcsIGFkZGl0aW9uYWxEaWdpdHMpIHtcbiAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKFxuICAgIFwiXig/OihcXFxcZHs0fXxbKy1dXFxcXGR7XCIgK1xuICAgICAgKDQgKyBhZGRpdGlvbmFsRGlnaXRzKSArXG4gICAgICBcIn0pfChcXFxcZHsyfXxbKy1dXFxcXGR7XCIgK1xuICAgICAgKDIgKyBhZGRpdGlvbmFsRGlnaXRzKSArXG4gICAgICBcIn0pJClcIixcbiAgKTtcblxuICBjb25zdCBjYXB0dXJlcyA9IGRhdGVTdHJpbmcubWF0Y2gocmVnZXgpO1xuICAvLyBJbnZhbGlkIElTTy1mb3JtYXR0ZWQgeWVhclxuICBpZiAoIWNhcHR1cmVzKSByZXR1cm4geyB5ZWFyOiBOYU4sIHJlc3REYXRlU3RyaW5nOiBcIlwiIH07XG5cbiAgY29uc3QgeWVhciA9IGNhcHR1cmVzWzFdID8gcGFyc2VJbnQoY2FwdHVyZXNbMV0pIDogbnVsbDtcbiAgY29uc3QgY2VudHVyeSA9IGNhcHR1cmVzWzJdID8gcGFyc2VJbnQoY2FwdHVyZXNbMl0pIDogbnVsbDtcblxuICAvLyBlaXRoZXIgeWVhciBvciBjZW50dXJ5IGlzIG51bGwsIG5vdCBib3RoXG4gIHJldHVybiB7XG4gICAgeWVhcjogY2VudHVyeSA9PT0gbnVsbCA/IHllYXIgOiBjZW50dXJ5ICogMTAwLFxuICAgIHJlc3REYXRlU3RyaW5nOiBkYXRlU3RyaW5nLnNsaWNlKChjYXB0dXJlc1sxXSB8fCBjYXB0dXJlc1syXSkubGVuZ3RoKSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gcGFyc2VEYXRlKGRhdGVTdHJpbmcsIHllYXIpIHtcbiAgLy8gSW52YWxpZCBJU08tZm9ybWF0dGVkIHllYXJcbiAgaWYgKHllYXIgPT09IG51bGwpIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuXG4gIGNvbnN0IGNhcHR1cmVzID0gZGF0ZVN0cmluZy5tYXRjaChkYXRlUmVnZXgpO1xuICAvLyBJbnZhbGlkIElTTy1mb3JtYXR0ZWQgc3RyaW5nXG4gIGlmICghY2FwdHVyZXMpIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuXG4gIGNvbnN0IGlzV2Vla0RhdGUgPSAhIWNhcHR1cmVzWzRdO1xuICBjb25zdCBkYXlPZlllYXIgPSBwYXJzZURhdGVVbml0KGNhcHR1cmVzWzFdKTtcbiAgY29uc3QgbW9udGggPSBwYXJzZURhdGVVbml0KGNhcHR1cmVzWzJdKSAtIDE7XG4gIGNvbnN0IGRheSA9IHBhcnNlRGF0ZVVuaXQoY2FwdHVyZXNbM10pO1xuICBjb25zdCB3ZWVrID0gcGFyc2VEYXRlVW5pdChjYXB0dXJlc1s0XSk7XG4gIGNvbnN0IGRheU9mV2VlayA9IHBhcnNlRGF0ZVVuaXQoY2FwdHVyZXNbNV0pIC0gMTtcblxuICBpZiAoaXNXZWVrRGF0ZSkge1xuICAgIGlmICghdmFsaWRhdGVXZWVrRGF0ZSh5ZWFyLCB3ZWVrLCBkYXlPZldlZWspKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoTmFOKTtcbiAgICB9XG4gICAgcmV0dXJuIGRheU9mSVNPV2Vla1llYXIoeWVhciwgd2VlaywgZGF5T2ZXZWVrKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoMCk7XG4gICAgaWYgKFxuICAgICAgIXZhbGlkYXRlRGF0ZSh5ZWFyLCBtb250aCwgZGF5KSB8fFxuICAgICAgIXZhbGlkYXRlRGF5T2ZZZWFyRGF0ZSh5ZWFyLCBkYXlPZlllYXIpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoTmFOKTtcbiAgICB9XG4gICAgZGF0ZS5zZXRVVENGdWxsWWVhcih5ZWFyLCBtb250aCwgTWF0aC5tYXgoZGF5T2ZZZWFyLCBkYXkpKTtcbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZURhdGVVbml0KHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA/IHBhcnNlSW50KHZhbHVlKSA6IDE7XG59XG5cbmZ1bmN0aW9uIHBhcnNlVGltZSh0aW1lU3RyaW5nKSB7XG4gIGNvbnN0IGNhcHR1cmVzID0gdGltZVN0cmluZy5tYXRjaCh0aW1lUmVnZXgpO1xuICBpZiAoIWNhcHR1cmVzKSByZXR1cm4gTmFOOyAvLyBJbnZhbGlkIElTTy1mb3JtYXR0ZWQgdGltZVxuXG4gIGNvbnN0IGhvdXJzID0gcGFyc2VUaW1lVW5pdChjYXB0dXJlc1sxXSk7XG4gIGNvbnN0IG1pbnV0ZXMgPSBwYXJzZVRpbWVVbml0KGNhcHR1cmVzWzJdKTtcbiAgY29uc3Qgc2Vjb25kcyA9IHBhcnNlVGltZVVuaXQoY2FwdHVyZXNbM10pO1xuXG4gIGlmICghdmFsaWRhdGVUaW1lKGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKSkge1xuICAgIHJldHVybiBOYU47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIGhvdXJzICogbWlsbGlzZWNvbmRzSW5Ib3VyICsgbWludXRlcyAqIG1pbGxpc2Vjb25kc0luTWludXRlICsgc2Vjb25kcyAqIDEwMDBcbiAgKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VUaW1lVW5pdCh2YWx1ZSkge1xuICByZXR1cm4gKHZhbHVlICYmIHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZShcIixcIiwgXCIuXCIpKSkgfHwgMDtcbn1cblxuZnVuY3Rpb24gcGFyc2VUaW1lem9uZSh0aW1lem9uZVN0cmluZykge1xuICBpZiAodGltZXpvbmVTdHJpbmcgPT09IFwiWlwiKSByZXR1cm4gMDtcblxuICBjb25zdCBjYXB0dXJlcyA9IHRpbWV6b25lU3RyaW5nLm1hdGNoKHRpbWV6b25lUmVnZXgpO1xuICBpZiAoIWNhcHR1cmVzKSByZXR1cm4gMDtcblxuICBjb25zdCBzaWduID0gY2FwdHVyZXNbMV0gPT09IFwiK1wiID8gLTEgOiAxO1xuICBjb25zdCBob3VycyA9IHBhcnNlSW50KGNhcHR1cmVzWzJdKTtcbiAgY29uc3QgbWludXRlcyA9IChjYXB0dXJlc1szXSAmJiBwYXJzZUludChjYXB0dXJlc1szXSkpIHx8IDA7XG5cbiAgaWYgKCF2YWxpZGF0ZVRpbWV6b25lKGhvdXJzLCBtaW51dGVzKSkge1xuICAgIHJldHVybiBOYU47XG4gIH1cblxuICByZXR1cm4gc2lnbiAqIChob3VycyAqIG1pbGxpc2Vjb25kc0luSG91ciArIG1pbnV0ZXMgKiBtaWxsaXNlY29uZHNJbk1pbnV0ZSk7XG59XG5cbmZ1bmN0aW9uIGRheU9mSVNPV2Vla1llYXIoaXNvV2Vla1llYXIsIHdlZWssIGRheSkge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoMCk7XG4gIGRhdGUuc2V0VVRDRnVsbFllYXIoaXNvV2Vla1llYXIsIDAsIDQpO1xuICBjb25zdCBmb3VydGhPZkphbnVhcnlEYXkgPSBkYXRlLmdldFVUQ0RheSgpIHx8IDc7XG4gIGNvbnN0IGRpZmYgPSAod2VlayAtIDEpICogNyArIGRheSArIDEgLSBmb3VydGhPZkphbnVhcnlEYXk7XG4gIGRhdGUuc2V0VVRDRGF0ZShkYXRlLmdldFVUQ0RhdGUoKSArIGRpZmYpO1xuICByZXR1cm4gZGF0ZTtcbn1cblxuLy8gVmFsaWRhdGlvbiBmdW5jdGlvbnNcblxuLy8gRmVicnVhcnkgaXMgbnVsbCB0byBoYW5kbGUgdGhlIGxlYXAgeWVhciAodXNpbmcgfHwpXG5jb25zdCBkYXlzSW5Nb250aHMgPSBbMzEsIG51bGwsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxXTtcblxuZnVuY3Rpb24gaXNMZWFwWWVhckluZGV4KHllYXIpIHtcbiAgcmV0dXJuIHllYXIgJSA0MDAgPT09IDAgfHwgKHllYXIgJSA0ID09PSAwICYmIHllYXIgJSAxMDAgIT09IDApO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZURhdGUoeWVhciwgbW9udGgsIGRhdGUpIHtcbiAgcmV0dXJuIChcbiAgICBtb250aCA+PSAwICYmXG4gICAgbW9udGggPD0gMTEgJiZcbiAgICBkYXRlID49IDEgJiZcbiAgICBkYXRlIDw9IChkYXlzSW5Nb250aHNbbW9udGhdIHx8IChpc0xlYXBZZWFySW5kZXgoeWVhcikgPyAyOSA6IDI4KSlcbiAgKTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVEYXlPZlllYXJEYXRlKHllYXIsIGRheU9mWWVhcikge1xuICByZXR1cm4gZGF5T2ZZZWFyID49IDEgJiYgZGF5T2ZZZWFyIDw9IChpc0xlYXBZZWFySW5kZXgoeWVhcikgPyAzNjYgOiAzNjUpO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVdlZWtEYXRlKF95ZWFyLCB3ZWVrLCBkYXkpIHtcbiAgcmV0dXJuIHdlZWsgPj0gMSAmJiB3ZWVrIDw9IDUzICYmIGRheSA+PSAwICYmIGRheSA8PSA2O1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVRpbWUoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpIHtcbiAgaWYgKGhvdXJzID09PSAyNCkge1xuICAgIHJldHVybiBtaW51dGVzID09PSAwICYmIHNlY29uZHMgPT09IDA7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIHNlY29uZHMgPj0gMCAmJlxuICAgIHNlY29uZHMgPCA2MCAmJlxuICAgIG1pbnV0ZXMgPj0gMCAmJlxuICAgIG1pbnV0ZXMgPCA2MCAmJlxuICAgIGhvdXJzID49IDAgJiZcbiAgICBob3VycyA8IDI1XG4gICk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlVGltZXpvbmUoX2hvdXJzLCBtaW51dGVzKSB7XG4gIHJldHVybiBtaW51dGVzID49IDAgJiYgbWludXRlcyA8PSA1OTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBwYXJzZUlTTztcbiIsImltcG9ydCB7IGFkZEhvdXJzIH0gZnJvbSBcIi4vYWRkSG91cnMuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIHN1YkhvdXJzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgc3ViSG91cnNcbiAqIEBjYXRlZ29yeSBIb3VyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGhvdXJzIGZyb20gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBTdWJ0cmFjdCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBob3VycyBmcm9tIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIGhvdXJzIHRvIGJlIHN1YnRyYWN0ZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zXG4gKlxuICogQHJldHVybnMgVGhlIG5ldyBkYXRlIHdpdGggdGhlIGhvdXJzIHN1YnRyYWN0ZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3VidHJhY3QgMiBob3VycyBmcm9tIDExIEp1bHkgMjAxNCAwMTowMDowMDpcbiAqIGNvbnN0IHJlc3VsdCA9IHN1YkhvdXJzKG5ldyBEYXRlKDIwMTQsIDYsIDExLCAxLCAwKSwgMilcbiAqIC8vPT4gVGh1IEp1bCAxMCAyMDE0IDIzOjAwOjAwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJIb3VycyhkYXRlLCBhbW91bnQsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGFkZEhvdXJzKGRhdGUsIC1hbW91bnQsIG9wdGlvbnMpO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IHN1YkhvdXJzO1xuIiwiaW1wb3J0IHtcbiAgaTE4bkR1cmF0aW9uSG91cixcbiAgaTE4bkR1cmF0aW9uTWludXRlLFxuICBpMThuRHVyYXRpb25EYXksXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUuanMnO1xuaW1wb3J0IHtcbiAgaXNWYWxpZCxcbiAgcGFyc2VJU08sXG4gIGRpZmZlcmVuY2VJbkRheXMsXG4gIGRpZmZlcmVuY2VJbkhvdXJzLFxuICBkaWZmZXJlbmNlSW5NaW51dGVzLFxuICBhZGRNaW51dGVzLFxuICBzdWJIb3VycyxcbiAgc3ViRGF5cyxcbn0gZnJvbSAnZGF0ZS1mbnMnO1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gcmVtb3ZlcyB0aGUgb2Zmc2V0IG9mIGEgSVNPIGRhdGUgc3RyaW5nLiBUaGlzIG5lZWRzIHRvIGJlIGRvbmUgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG9mZnNldCBpcyBpZ25vcmVkLlxuICogSWYgaXQgaXMgbm90IHJlbW92ZWQgdGhlIHRpbWUgd291bGQgYmUgY29udmVydGVkIHRvIHRoZSBicm93c2VycyBsb2NhbCB0aW1lLlxuICogRXhhbXBsZTogXCIyMDIyLTA4LTI5VDA5OjMwOjAwKzAzOjAwXCIgd291bGQgYmUgY2hhbmdlZCB0byBcIjIwMjItMDgtMjlUMDg6MzA6MDArMDI6MDBcIiAtLT4gbm90IHRoZSBkZXNpcmVkIG91dGNvbWUsIGFzIHdlIHdhbnQgdG8gdXNlIHRoZSB0aW1lIGluIHRoZSB0aW1lem9uZSBhbmQgbm90IHRoZSBsb2NhbCB0aW1lLlxuICpcbiAqIEFmdGVyIHRoZSBvZmZzZXQgaXMgcmVtb3ZlZCBhIG5ldyBkYXRlIGlzIGNyZWF0ZWQgaW4gdGhlIGJyb3dzZXJzIGxvY2FsIHRpbWUuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSB0aW1lIG9mIHRoZSBJU08gZGF0ZSBzdHJpbmcgaXMgZGlzcGxheWVkIGFuZCBub3QgYSBjb252ZXJ0ZWQgdGltZS5cbiAqIEV4YW1wbGU6IFwiMjAyMi0wOC0yOVQwOTozMDowMCswMzowMFwiIHdvdWxkIGJlIGNoYW5nZWQgdG8gXCIyMDIyLTA4LTI5VDA5OjMwOjAwKzAyOjAwXCIgLS0+IGRlc2lyZWQgb3V0Y29tZVxuICogQXR0ZW50aW9uOiBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGNvbnZlcnQgdGhlIHRpbWUgdG8gdGhlIGNvcnJlY3QgdGltZSBpbiB0aGUgbG9jYWwgdGltZXpvbmUuIEl0IGlzIGEgd29ya2Fyb3VuZCB0byBtYWtlIHN1cmUsIHRoYXQgdGhlIGdpdmVuIHRpbWUgaXMgZGlzcGxheWVkIHdpdGhvdXQgYmVpbmcgY29udmVydGVkLlxuICpcbiAqIE9mZnNldDogRGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0aW1lem9uZSBhbmQgQ29vcmRpbmF0ZWQgVW5pdmVyc2FsIFRpbWUuXG4gKlxuICogQHBhcmFtIGlzb1RpbWUgLSB0aGUgaXNvIHRpbWUgd2l0aCB0aGUgdGltZXpvbmUgb2Zmc2V0XG4gKiBAcmV0dXJucyBhIG5ldyBkYXRlIHdpdGggdGhlIGxvY2FsIHRpbWV6b25lIHdpdGggdGhlIGxvY2FsIG9mZnNldFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhpc29UaW1lPzogc3RyaW5nKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gIGlmICghaXNvVGltZSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgcGFyc2VkRGF0ZSA9IHBhcnNlSVNPKGlzb1RpbWUpO1xuXG4gIGlmICghaXNWYWxpZChwYXJzZWREYXRlKSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAoaXNvVGltZS5pbmNsdWRlcygnWicpKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKGlzb1RpbWUucmVwbGFjZSgnWicsICcnKSk7XG4gIH1cblxuICBpZiAoaXNvVGltZS5pbmNsdWRlcygnVCcpKSB7XG4gICAgY29uc3QgZGF0ZVRpbWUgPSBpc29UaW1lLnNwbGl0KCdUJyk7XG5cbiAgICBpZiAoZGF0ZVRpbWVbMV0gJiYgKGRhdGVUaW1lWzFdLmluY2x1ZGVzKCcrJykgfHwgZGF0ZVRpbWVbMV0uaW5jbHVkZXMoJy0nKSkpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShgJHtkYXRlVGltZVswXX1UJHtkYXRlVGltZVsxXS5zcGxpdCgvWystXS8pWzBdfWApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmV3IERhdGUoaXNvVGltZSk7XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBjb252ZXJ0cyBhIGR1cmF0aW9uIG51bWJlciB0byBkYXRlIHN0cmluZyB3aXRoIHNwZWNpZmljIGZvcm1hdFxuICpcbiAqIEBwYXJhbSBkdXJhdGlvbiAtIGR1cmF0aW9uIGluIG1pbnV0ZXNcbiAqIEBwYXJhbSBjdXJyZW50TGFuZ3VhZ2UgLSBjdXJyZW50TGFuZ3VhZ2VcbiAqIEByZXR1cm5zIGFuIE9iamVjdCB3aXRoIHR3byBzdHJpbmdzIGluIHRoZSBmb3JtYXQgXCJkZCBoaCBtbVwiIChzaG9ydCkgYW4gXCJ4IERheShzKSB4IEhvdXIocykgeCBNaW51dGUocykgKGxvbmcpXCJcbiAqICovXG5cbmV4cG9ydCBjb25zdCBkdXJhdGlvblRvVGltZSA9IChcbiAgZHVyYXRpb246IG51bWJlcixcbiAgY3VycmVudExhbmd1YWdlPzogc3RyaW5nLFxuKTogeyBzaG9ydDogc3RyaW5nOyBsb25nOiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IHNob3J0ID0gW107XG4gIGNvbnN0IGxvbmcgPSBbXTtcblxuICBjb25zdCBub3cgPSAwO1xuICBsZXQgZnV0dXJlID0gYWRkTWludXRlcyhub3csIGR1cmF0aW9uKTtcblxuICBjb25zdCBkYXlzID0gZGlmZmVyZW5jZUluRGF5cyhmdXR1cmUsIG5vdyk7XG4gIGlmIChkYXlzID4gMCkge1xuICAgIHNob3J0LnB1c2goYCR7ZGF5c30gZGApO1xuICAgIGlmIChjdXJyZW50TGFuZ3VhZ2UpIHtcbiAgICAgIGxvbmcucHVzaChcbiAgICAgICAgYCR7ZGF5c30gJHtcbiAgICAgICAgICBkYXlzID4gMVxuICAgICAgICAgICAgPyBpMThuRHVyYXRpb25EYXkubXVsdGlwbGUubG9uZ1tjdXJyZW50TGFuZ3VhZ2VdXG4gICAgICAgICAgICA6IGkxOG5EdXJhdGlvbkRheS5zaW5nbGUubG9uZ1tjdXJyZW50TGFuZ3VhZ2VdXG4gICAgICAgIH1gLFxuICAgICAgKTtcbiAgICB9XG4gICAgZnV0dXJlID0gc3ViRGF5cyhmdXR1cmUsIGRheXMpO1xuICB9XG5cbiAgY29uc3QgaG91cnMgPSBkaWZmZXJlbmNlSW5Ib3VycyhmdXR1cmUsIG5vdyk7XG4gIGlmIChob3VycyA+IDApIHtcbiAgICBzaG9ydC5wdXNoKGAke2hvdXJzfSBoYCk7XG4gICAgaWYgKGN1cnJlbnRMYW5ndWFnZSkge1xuICAgICAgbG9uZy5wdXNoKFxuICAgICAgICBgJHtob3Vyc30gJHtcbiAgICAgICAgICBob3VycyA+IDFcbiAgICAgICAgICAgID8gaTE4bkR1cmF0aW9uSG91ci5tdWx0aXBsZS5sb25nW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgICAgIDogaTE4bkR1cmF0aW9uSG91ci5zaW5nbGUubG9uZ1tjdXJyZW50TGFuZ3VhZ2VdXG4gICAgICAgIH1gLFxuICAgICAgKTtcbiAgICB9XG4gICAgZnV0dXJlID0gc3ViSG91cnMoZnV0dXJlLCBob3Vycyk7XG4gIH1cblxuICBjb25zdCBtaW51dGVzID0gZGlmZmVyZW5jZUluTWludXRlcyhmdXR1cmUsIG5vdyk7XG4gIGlmIChtaW51dGVzID4gMCkge1xuICAgIHNob3J0LnB1c2goYCR7bWludXRlc30gbWluYCk7XG4gICAgaWYgKGN1cnJlbnRMYW5ndWFnZSkge1xuICAgICAgbG9uZy5wdXNoKFxuICAgICAgICBgJHttaW51dGVzfSAke1xuICAgICAgICAgIG1pbnV0ZXMgPiAxXG4gICAgICAgICAgICA/IGkxOG5EdXJhdGlvbk1pbnV0ZS5tdWx0aXBsZS5sb25nW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgICAgIDogaTE4bkR1cmF0aW9uTWludXRlLnNpbmdsZS5sb25nW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgfWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgc2hvcnQ6IHNob3J0LmpvaW4oJyAnKSxcbiAgICBsb25nOiBsb25nLmpvaW4oJyAnKSxcbiAgfTtcbn07XG4iXSwieF9nb29nbGVfaWdub3JlTGlzdCI6WzAsMSwyLDMsNCw1LDYsN10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QkEsU0FBZ0IsUUFBUSxNQUFNLFFBQVEsU0FBUztDQUM3QyxNQUFNLFFBQVEsT0FBTyxNQUFNLFNBQVMsR0FBRztBQUN2QyxLQUFJLE1BQU0sT0FBTyxDQUFFLFFBQU8sY0FBYyxTQUFTLE1BQU0sTUFBTSxJQUFJO0FBR2pFLEtBQUksQ0FBQyxPQUFRLFFBQU87QUFFcEIsT0FBTSxRQUFRLE1BQU0sU0FBUyxHQUFHLE9BQU87QUFDdkMsUUFBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNSVCxTQUFnQixnQkFBZ0IsTUFBTSxRQUFRLFNBQVM7QUFDckQsUUFBTyxjQUFjLFNBQVMsTUFBTSxNQUFNLENBQUMsT0FBTyxLQUFLLEdBQUcsT0FBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNEbkUsU0FBZ0IsU0FBUyxNQUFNLFFBQVEsU0FBUztBQUM5QyxRQUFPLGdCQUFnQixNQUFNLFNBQVMsb0JBQW9CLFFBQVE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzhCcEUsU0FBZ0IsaUJBQWlCLFdBQVcsYUFBYSxTQUFTO0NBQ2hFLE1BQU0sQ0FBQyxZQUFZLGdCQUFnQixlQUNqQyxTQUFTLElBQ1QsV0FDQSxZQUNEO0NBRUQsTUFBTSxPQUFPLGdCQUFnQixZQUFZLGFBQWE7Q0FDdEQsTUFBTSxhQUFhLEtBQUssSUFDdEIseUJBQXlCLFlBQVksYUFBYSxDQUNuRDtBQUVELFlBQVcsUUFBUSxXQUFXLFNBQVMsR0FBRyxPQUFPLFdBQVc7Q0FRNUQsTUFBTSxTQUFTLFFBQVEsYUFKRSxPQUN2QixnQkFBZ0IsWUFBWSxhQUFhLEtBQUssQ0FBQyxLQUNoRDtBQUlELFFBQU8sV0FBVyxJQUFJLElBQUk7O0FBTzVCLFNBQVMsZ0JBQWdCLFdBQVcsYUFBYTtDQUMvQyxNQUFNLE9BQ0osVUFBVSxhQUFhLEdBQUcsWUFBWSxhQUFhLElBQ25ELFVBQVUsVUFBVSxHQUFHLFlBQVksVUFBVSxJQUM3QyxVQUFVLFNBQVMsR0FBRyxZQUFZLFNBQVMsSUFDM0MsVUFBVSxVQUFVLEdBQUcsWUFBWSxVQUFVLElBQzdDLFVBQVUsWUFBWSxHQUFHLFlBQVksWUFBWSxJQUNqRCxVQUFVLFlBQVksR0FBRyxZQUFZLFlBQVksSUFDakQsVUFBVSxpQkFBaUIsR0FBRyxZQUFZLGlCQUFpQjtBQUU3RCxLQUFJLE9BQU8sRUFBRyxRQUFPO0FBQ3JCLEtBQUksT0FBTyxFQUFHLFFBQU87QUFHckIsUUFBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN6RVQsU0FBZ0Isa0JBQWtCLFdBQVcsYUFBYSxTQUFTO0NBQ2pFLE1BQU0sQ0FBQyxZQUFZLGdCQUFnQixlQUNqQyxTQUFTLElBQ1QsV0FDQSxZQUNEO0NBQ0QsTUFBTSxRQUFRLENBQUMsYUFBYSxDQUFDLGdCQUFnQjtBQUM3QyxRQUFPLGtCQUFrQixTQUFTLGVBQWUsQ0FBQyxLQUFLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ1p6RCxTQUFnQixRQUFRLE1BQU0sUUFBUSxTQUFTO0FBQzdDLFFBQU8sUUFBUSxNQUFNLENBQUMsUUFBUSxRQUFROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDa0J4QyxTQUFnQixTQUFTLFVBQVUsU0FBUztDQUMxQyxNQUFNLG9CQUFvQixjQUFjLFNBQVMsSUFBSSxJQUFJO0NBRXpELE1BQU0sbUJBQW1CLFNBQVMsb0JBQW9CO0NBQ3RELE1BQU0sY0FBYyxnQkFBZ0IsU0FBUztDQUU3QyxJQUFJO0FBQ0osS0FBSSxZQUFZLE1BQU07RUFDcEIsTUFBTSxrQkFBa0IsVUFBVSxZQUFZLE1BQU0saUJBQWlCO0FBQ3JFLFNBQU8sVUFBVSxnQkFBZ0IsZ0JBQWdCLGdCQUFnQixLQUFLOztBQUd4RSxLQUFJLENBQUMsUUFBUSxNQUFNLENBQUMsS0FBSyxDQUFFLFFBQU8sYUFBYTtDQUUvQyxNQUFNLFlBQVksQ0FBQztDQUNuQixJQUFJLE9BQU87Q0FDWCxJQUFJO0FBRUosS0FBSSxZQUFZLE1BQU07QUFDcEIsU0FBTyxVQUFVLFlBQVksS0FBSztBQUNsQyxNQUFJLE1BQU0sS0FBSyxDQUFFLFFBQU8sYUFBYTs7QUFHdkMsS0FBSSxZQUFZLFVBQVU7QUFDeEIsV0FBUyxjQUFjLFlBQVksU0FBUztBQUM1QyxNQUFJLE1BQU0sT0FBTyxDQUFFLFFBQU8sYUFBYTtRQUNsQztFQUNMLE1BQU0sVUFBVSxJQUFJLEtBQUssWUFBWSxLQUFLO0VBQzFDLE1BQU0sU0FBUyxPQUFPLEdBQUcsU0FBUyxHQUFHO0FBQ3JDLFNBQU8sWUFDTCxRQUFRLGdCQUFnQixFQUN4QixRQUFRLGFBQWEsRUFDckIsUUFBUSxZQUFZLENBQ3JCO0FBQ0QsU0FBTyxTQUNMLFFBQVEsYUFBYSxFQUNyQixRQUFRLGVBQWUsRUFDdkIsUUFBUSxlQUFlLEVBQ3ZCLFFBQVEsb0JBQW9CLENBQzdCO0FBQ0QsU0FBTzs7QUFHVCxRQUFPLE9BQU8sWUFBWSxPQUFPLFFBQVEsU0FBUyxHQUFHOztBQUd2RCxJQUFNLFdBQVc7Q0FDZixtQkFBbUI7Q0FDbkIsbUJBQW1CO0NBQ25CLFVBQVU7Q0FDWDtBQUVELElBQU0sWUFDSjtBQUNGLElBQU0sWUFDSjtBQUNGLElBQU0sZ0JBQWdCO0FBRXRCLFNBQVMsZ0JBQWdCLFlBQVk7Q0FDbkMsTUFBTSxjQUFjLEVBQUU7Q0FDdEIsTUFBTSxRQUFRLFdBQVcsTUFBTSxTQUFTLGtCQUFrQjtDQUMxRCxJQUFJO0FBSUosS0FBSSxNQUFNLFNBQVMsRUFDakIsUUFBTztBQUdULEtBQUksSUFBSSxLQUFLLE1BQU0sR0FBRyxDQUNwQixjQUFhLE1BQU07TUFDZDtBQUNMLGNBQVksT0FBTyxNQUFNO0FBQ3pCLGVBQWEsTUFBTTtBQUNuQixNQUFJLFNBQVMsa0JBQWtCLEtBQUssWUFBWSxLQUFLLEVBQUU7QUFDckQsZUFBWSxPQUFPLFdBQVcsTUFBTSxTQUFTLGtCQUFrQixDQUFDO0FBQ2hFLGdCQUFhLFdBQVcsT0FDdEIsWUFBWSxLQUFLLFFBQ2pCLFdBQVcsT0FDWjs7O0FBSUwsS0FBSSxZQUFZO0VBQ2QsTUFBTSxRQUFRLFNBQVMsU0FBUyxLQUFLLFdBQVc7QUFDaEQsTUFBSSxPQUFPO0FBQ1QsZUFBWSxPQUFPLFdBQVcsUUFBUSxNQUFNLElBQUksR0FBRztBQUNuRCxlQUFZLFdBQVcsTUFBTTtRQUU3QixhQUFZLE9BQU87O0FBSXZCLFFBQU87O0FBR1QsU0FBUyxVQUFVLFlBQVksa0JBQWtCO0NBQy9DLE1BQU0sUUFBUSxJQUFJLE9BQ2hCLDBCQUNHLElBQUksb0JBQ0wseUJBQ0MsSUFBSSxvQkFDTCxPQUNIO0NBRUQsTUFBTSxXQUFXLFdBQVcsTUFBTSxNQUFNO0FBRXhDLEtBQUksQ0FBQyxTQUFVLFFBQU87RUFBRSxNQUFNO0VBQUssZ0JBQWdCO0VBQUk7Q0FFdkQsTUFBTSxPQUFPLFNBQVMsS0FBSyxTQUFTLFNBQVMsR0FBRyxHQUFHO0NBQ25ELE1BQU0sVUFBVSxTQUFTLEtBQUssU0FBUyxTQUFTLEdBQUcsR0FBRztBQUd0RCxRQUFPO0VBQ0wsTUFBTSxZQUFZLE9BQU8sT0FBTyxVQUFVO0VBQzFDLGdCQUFnQixXQUFXLE9BQU8sU0FBUyxNQUFNLFNBQVMsSUFBSSxPQUFPO0VBQ3RFOztBQUdILFNBQVMsVUFBVSxZQUFZLE1BQU07QUFFbkMsS0FBSSxTQUFTLEtBQU0sd0JBQU8sSUFBSSxLQUFLLElBQUk7Q0FFdkMsTUFBTSxXQUFXLFdBQVcsTUFBTSxVQUFVO0FBRTVDLEtBQUksQ0FBQyxTQUFVLHdCQUFPLElBQUksS0FBSyxJQUFJO0NBRW5DLE1BQU0sYUFBYSxDQUFDLENBQUMsU0FBUztDQUM5QixNQUFNLFlBQVksY0FBYyxTQUFTLEdBQUc7Q0FDNUMsTUFBTSxRQUFRLGNBQWMsU0FBUyxHQUFHLEdBQUc7Q0FDM0MsTUFBTSxNQUFNLGNBQWMsU0FBUyxHQUFHO0NBQ3RDLE1BQU0sT0FBTyxjQUFjLFNBQVMsR0FBRztDQUN2QyxNQUFNLFlBQVksY0FBYyxTQUFTLEdBQUcsR0FBRztBQUUvQyxLQUFJLFlBQVk7QUFDZCxNQUFJLENBQUMsaUJBQWlCLE1BQU0sTUFBTSxVQUFVLENBQzFDLHdCQUFPLElBQUksS0FBSyxJQUFJO0FBRXRCLFNBQU8saUJBQWlCLE1BQU0sTUFBTSxVQUFVO1FBQ3pDO0VBQ0wsTUFBTSx1QkFBTyxJQUFJLEtBQUssRUFBRTtBQUN4QixNQUNFLENBQUMsYUFBYSxNQUFNLE9BQU8sSUFBSSxJQUMvQixDQUFDLHNCQUFzQixNQUFNLFVBQVMsQ0FFdEMsd0JBQU8sSUFBSSxLQUFLLElBQUk7QUFFdEIsT0FBSyxlQUFlLE1BQU0sT0FBTyxLQUFLLElBQUksV0FBVyxJQUFJLENBQUM7QUFDMUQsU0FBTzs7O0FBSVgsU0FBUyxjQUFjLE9BQU87QUFDNUIsUUFBTyxRQUFRLFNBQVMsTUFBTSxHQUFHOztBQUduQyxTQUFTLFVBQVUsWUFBWTtDQUM3QixNQUFNLFdBQVcsV0FBVyxNQUFNLFVBQVU7QUFDNUMsS0FBSSxDQUFDLFNBQVUsUUFBTztDQUV0QixNQUFNLFFBQVEsY0FBYyxTQUFTLEdBQUc7Q0FDeEMsTUFBTSxVQUFVLGNBQWMsU0FBUyxHQUFHO0NBQzFDLE1BQU0sVUFBVSxjQUFjLFNBQVMsR0FBRztBQUUxQyxLQUFJLENBQUMsYUFBYSxPQUFPLFNBQVMsUUFBUSxDQUN4QyxRQUFPO0FBR1QsUUFDRSxRQUFRLHFCQUFxQixVQUFVLHVCQUF1QixVQUFVOztBQUk1RSxTQUFTLGNBQWMsT0FBTztBQUM1QixRQUFRLFNBQVMsV0FBVyxNQUFNLFFBQVEsS0FBSyxJQUFJLENBQUMsSUFBSzs7QUFHM0QsU0FBUyxjQUFjLGdCQUFnQjtBQUNyQyxLQUFJLG1CQUFtQixJQUFLLFFBQU87Q0FFbkMsTUFBTSxXQUFXLGVBQWUsTUFBTSxjQUFjO0FBQ3BELEtBQUksQ0FBQyxTQUFVLFFBQU87Q0FFdEIsTUFBTSxPQUFPLFNBQVMsT0FBTyxNQUFNLEtBQUs7Q0FDeEMsTUFBTSxRQUFRLFNBQVMsU0FBUyxHQUFHO0NBQ25DLE1BQU0sVUFBVyxTQUFTLE1BQU0sU0FBUyxTQUFTLEdBQUcsSUFBSztBQUUxRCxLQUFJLENBQUMsaUJBQWlCLE9BQU8sUUFBUSxDQUNuQyxRQUFPO0FBR1QsUUFBTyxRQUFRLFFBQVEscUJBQXFCLFVBQVU7O0FBR3hELFNBQVMsaUJBQWlCLGFBQWEsTUFBTSxLQUFLO0NBQ2hELE1BQU0sdUJBQU8sSUFBSSxLQUFLLEVBQUU7QUFDeEIsTUFBSyxlQUFlLGFBQWEsR0FBRyxFQUFFO0NBQ3RDLE1BQU0scUJBQXFCLEtBQUssV0FBVyxJQUFJO0NBQy9DLE1BQU0sUUFBUSxPQUFPLEtBQUssSUFBSSxNQUFNLElBQUk7QUFDeEMsTUFBSyxXQUFXLEtBQUssWUFBWSxHQUFHLEtBQUs7QUFDekMsUUFBTzs7QUFNVCxJQUFNLGVBQWU7Q0FBQztDQUFJO0NBQU07Q0FBSTtDQUFJO0NBQUk7Q0FBSTtDQUFJO0NBQUk7Q0FBSTtDQUFJO0NBQUk7Q0FBRztBQUV2RSxTQUFTLGdCQUFnQixNQUFNO0FBQzdCLFFBQU8sT0FBTyxRQUFRLEtBQU0sT0FBTyxNQUFNLEtBQUssT0FBTyxRQUFROztBQUcvRCxTQUFTLGFBQWEsTUFBTSxPQUFPLE1BQU07QUFDdkMsUUFDRSxTQUFTLEtBQ1QsU0FBUyxNQUNULFFBQVEsS0FDUixTQUFTLGFBQWEsV0FBVyxnQkFBZ0IsS0FBSyxHQUFHLEtBQUs7O0FBSWxFLFNBQVMsc0JBQXNCLE1BQU0sV0FBVztBQUM5QyxRQUFPLGFBQWEsS0FBSyxjQUFjLGdCQUFnQixLQUFLLEdBQUcsTUFBTTs7QUFHdkUsU0FBUyxpQkFBaUIsT0FBTyxNQUFNLEtBQUs7QUFDMUMsUUFBTyxRQUFRLEtBQUssUUFBUSxNQUFNLE9BQU8sS0FBSyxPQUFPOztBQUd2RCxTQUFTLGFBQWEsT0FBTyxTQUFTLFNBQVM7QUFDN0MsS0FBSSxVQUFVLEdBQ1osUUFBTyxZQUFZLEtBQUssWUFBWTtBQUd0QyxRQUNFLFdBQVcsS0FDWCxVQUFVLE1BQ1YsV0FBVyxLQUNYLFVBQVUsTUFDVixTQUFTLEtBQ1QsUUFBUTs7QUFJWixTQUFTLGlCQUFpQixRQUFRLFNBQVM7QUFDekMsUUFBTyxXQUFXLEtBQUssV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNyUXBDLFNBQWdCLFNBQVMsTUFBTSxRQUFRLFNBQVM7QUFDOUMsUUFBTyxTQUFTLE1BQU0sQ0FBQyxRQUFRLFFBQVE7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ0N6QyxTQUFnQixnQ0FBZ0MsU0FBZ0I7QUFDOUQsS0FBSSxDQUFDLFFBQ0g7QUFJRixLQUFJLENBQUMsUUFGYyxTQUFTLFFBQVEsQ0FFWixDQUN0QjtBQUdGLEtBQUksUUFBUSxTQUFTLElBQUksQ0FDdkIsUUFBTyxJQUFJLEtBQUssUUFBUSxRQUFRLEtBQUssR0FBRyxDQUFDO0FBRzNDLEtBQUksUUFBUSxTQUFTLElBQUksRUFBRTtFQUN6QixNQUFNLFdBQVcsUUFBUSxNQUFNLElBQUk7QUFFbkMsTUFBSSxTQUFTLE9BQU8sU0FBUyxHQUFHLFNBQVMsSUFBSSxJQUFJLFNBQVMsR0FBRyxTQUFTLElBQUksRUFDeEUsd0JBQU8sSUFBSSxLQUFLLEdBQUcsU0FBUyxHQUFFLEdBQUksU0FBUyxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUs7O0FBR3JFLFFBQU8sSUFBSSxLQUFLLFFBQVE7Ozs7Ozs7OztBQVcxQixJQUFhLGtCQUNYLFVBQ0Esb0JBQ21DO0NBQ25DLE1BQU0sUUFBUSxFQUFFO0NBQ2hCLE1BQU0sT0FBTyxFQUFFO0NBRWYsTUFBTSxNQUFNO0NBQ1osSUFBSSxTQUFTLFdBQVcsS0FBSyxTQUFTO0NBRXRDLE1BQU0sT0FBTyxpQkFBaUIsUUFBUSxJQUFJO0FBQzFDLEtBQUksT0FBTyxHQUFHO0FBQ1osUUFBTSxLQUFLLEdBQUcsS0FBSSxJQUFLO0FBQ3ZCLE1BQUksZ0JBQ0YsTUFBSyxLQUNILEdBQUcsS0FBSSxHQUNMLE9BQU8sSUFDSCxnQkFBZ0IsU0FBUyxLQUFLLG1CQUM5QixnQkFBZ0IsT0FBTyxLQUFLLG1CQUVuQztBQUVILFdBQVMsUUFBUSxRQUFRLEtBQUs7O0NBR2hDLE1BQU0sUUFBUSxrQkFBa0IsUUFBUSxJQUFJO0FBQzVDLEtBQUksUUFBUSxHQUFHO0FBQ2IsUUFBTSxLQUFLLEdBQUcsTUFBSyxJQUFLO0FBQ3hCLE1BQUksZ0JBQ0YsTUFBSyxLQUNILEdBQUcsTUFBSyxHQUNOLFFBQVEsSUFDSixpQkFBaUIsU0FBUyxLQUFLLG1CQUMvQixpQkFBaUIsT0FBTyxLQUFLLG1CQUVwQztBQUVILFdBQVMsU0FBUyxRQUFRLE1BQU07O0NBR2xDLE1BQU0sVUFBVSxvQkFBb0IsUUFBUSxJQUFJO0FBQ2hELEtBQUksVUFBVSxHQUFHO0FBQ2YsUUFBTSxLQUFLLEdBQUcsUUFBTyxNQUFPO0FBQzVCLE1BQUksZ0JBQ0YsTUFBSyxLQUNILEdBQUcsUUFBTyxHQUNSLFVBQVUsSUFDTixtQkFBbUIsU0FBUyxLQUFLLG1CQUNqQyxtQkFBbUIsT0FBTyxLQUFLLG1CQUV0Qzs7QUFJTCxRQUFPO0VBQ0wsT0FBTyxNQUFNLEtBQUssSUFBSTtFQUN0QixNQUFNLEtBQUssS0FBSyxJQUFBO0VBQ2pCIn0=
@@ -1,7 +1,7 @@
1
- import { SbbElement } from '@sbb-esta/lyne-elements/core/base-elements.js';
2
- import { SbbTitleLevel } from '@sbb-esta/lyne-elements/title.js';
1
+ import { SbbElement, SbbElementType } from '@sbb-esta/lyne-elements/core.js';
2
+ import { SbbTitleLevel } from '@sbb-esta/lyne-elements/title.pure.js';
3
3
  import { CSSResultGroup, TemplateResult } from 'lit';
4
- import { Leg } from '../core/timetable.ts';
4
+ import { Leg } from '../core.ts';
5
5
  export interface InterfaceSbbJourneySummaryAttributes {
6
6
  legs: Leg[];
7
7
  vias?: string[];
@@ -20,6 +20,7 @@ export interface InterfaceSbbJourneySummaryAttributes {
20
20
  */
21
21
  export declare class SbbJourneySummaryElement extends SbbElement {
22
22
  static readonly elementName: string;
23
+ static elementDependencies: SbbElementType[];
23
24
  static styles: CSSResultGroup;
24
25
  /** The trip prop */
25
26
  accessor trip: InterfaceSbbJourneySummaryAttributes;
@@ -1 +1 @@
1
- {"version":3,"file":"journey-summary.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/journey-summary/journey-summary.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAM3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,EAA4B,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAIzF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAIhD,OAAO,oCAAoC,CAAC;AAC5C,OAAO,+CAA+C,CAAC;AACvD,OAAO,2CAA2C,CAAC;AACnD,OAAO,wBAAwB,CAAC;AAEhC,MAAM,WAAW,oCAAoC;IACnD,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,UAAU;IACtD,gBAAgC,WAAW,EAAE,MAAM,CAAyB;IAC5E,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF,qBAAqB;IACrB,SAA4C,IAAI,EAAE,oCAAoC,CAAS;IAE/F,yBAAyB;IACzB,SACgB,QAAQ,EAAE,oCAAoC,CAAS;IAEvE;;OAEG;IACH,SAEgB,SAAS,EAAE,OAAO,CAAS;IAE3C,gEAAgE;IAChE,SAAyD,WAAW,EAAE,aAAa,CAAO;IAE1F;;;OAGG;IACH,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD;;;;;OAKG;IACH,SAEgB,YAAY,EAAE,OAAO,CAAS;IAE9C;;;OAGG;IACH,IACW,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,EAErC;IACD,IAAW,GAAG,IAAI,IAAI,CAErB;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,SAAS,CAAmC;IAEpC,iBAAiB,IAAI,IAAI;IAKzC,2EAA2E;IAC3E,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,yBAAyB;cAuBd,MAAM,IAAI,cAAc;CA4B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,qBAAqB,EAAE,wBAAwB,CAAC;KACjD;CACF"}
1
+ {"version":3,"file":"journey-summary.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/journey-summary/journey-summary.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,UAAU,EACV,KAAK,cAAc,EAEpB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAE3E,OAAO,EAA4B,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGzF,OAAO,EAAmD,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAKvF,MAAM,WAAW,oCAAoC;IACnD,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,UAAU;IACtD,gBAAgC,WAAW,EAAE,MAAM,CAAyB;IAC5E,OAAuB,mBAAmB,EAAE,cAAc,EAAE,CAK1D;IACF,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF,qBAAqB;IACrB,SAA4C,IAAI,EAAE,oCAAoC,CAAS;IAE/F,yBAAyB;IACzB,SACgB,QAAQ,EAAE,oCAAoC,CAAS;IAEvE;;OAEG;IACH,SAEgB,SAAS,EAAE,OAAO,CAAS;IAE3C,gEAAgE;IAChE,SAAyD,WAAW,EAAE,aAAa,CAAO;IAE1F;;;OAGG;IACH,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD;;;;;OAKG;IACH,SAEgB,YAAY,EAAE,OAAO,CAAS;IAE9C;;;OAGG;IACH,IACW,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,EAErC;IACD,IAAW,GAAG,IAAI,IAAI,CAErB;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,SAAS,CAAmC;IAEpC,iBAAiB,IAAI,IAAI;IAKzC,2EAA2E;IAC3E,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,yBAAyB;cAuBd,MAAM,IAAI,cAAc;CA4B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,qBAAqB,EAAE,wBAAwB,CAAC;KACjD;CACF"}
@@ -1,2 +1,2 @@
1
- import { t as SbbJourneySummaryElement } from "../journey-summary.component-BZwgD4im.js";
1
+ import { t as SbbJourneySummaryElement } from "../journey-summary.component-B9P1PAJv.js";
2
2
  export { SbbJourneySummaryElement };
@@ -1,19 +1,13 @@
1
1
  import { t as format } from "./format-DFx4997p.js";
2
2
  import { t as isValid } from "./isValid-JpZ7FphI.js";
3
3
  import { __esDecorate, __runInitializers } from "tslib";
4
- import { SbbElement } from "@sbb-esta/lyne-elements/core/base-elements.js";
5
- import { SbbLanguageController } from "@sbb-esta/lyne-elements/core/controllers.js";
6
- import { forceType } from "@sbb-esta/lyne-elements/core/decorators.js";
7
- import { boxSizingStyles } from "@sbb-esta/lyne-elements/core/styles.js";
4
+ import { SbbElement, SbbLanguageController, SbbScreenReaderOnlyElement, boxSizingStyles, defaultDateAdapter, forceType, i18nTripDuration } from "@sbb-esta/lyne-elements/core.js";
8
5
  import { html, nothing, unsafeCSS } from "lit";
9
- import { defaultDateAdapter } from "@sbb-esta/lyne-elements/core/datetime.js";
10
- import { i18nTripDuration } from "@sbb-esta/lyne-elements/core/i18n.js";
6
+ import { SbbDividerElement } from "@sbb-esta/lyne-elements/divider.pure.js";
7
+ import { SbbJourneyHeaderElement } from "@sbb-esta/lyne-elements/journey-header.pure.js";
11
8
  import { property } from "lit/decorators.js";
12
- import { durationToTime, removeTimezoneFromISOTimeString } from "./core/datetime.js";
13
- import "@sbb-esta/lyne-elements/divider.js";
14
- import "@sbb-esta/lyne-elements/screen-reader-only.js";
15
- import "@sbb-esta/lyne-elements/journey-header.js";
16
- import "./pearl-chain-time.js";
9
+ import { durationToTime, removeTimezoneFromISOTimeString } from "./core.js";
10
+ import { SbbPearlChainTimeElement } from "./pearl-chain-time.pure.js";
17
11
  //#region src/elements-experimental/journey-summary/journey-summary.scss?inline
18
12
  var journey_summary_default = ":host {\n display: block;\n}\n\n.sbb-journey-summary {\n --sbb-text-font-size: var(--sbb-text-font-size-s);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n color: var(--sbb-color-4);\n display: flex;\n flex-direction: column;\n}\n\n.sbb-journey-summary__via-block {\n display: flex;\n}\n\n.sbb-journey-summary__vias {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n margin-block: 0;\n padding-inline-start: var(--sbb-spacing-fixed-1x);\n}\n\n.sbb-journey-summary__date {\n margin-block-end: var(--sbb-spacing-fixed-2x);\n}\n\n.sbb-journey-summary__via {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.sbb-journey-summary__divider {\n margin-block: var(--sbb-spacing-fixed-6x);\n}\n\nul li {\n list-style: none;\n display: inline;\n}";
19
13
  //#endregion
@@ -186,6 +180,14 @@ var SbbJourneySummaryElement = (() => {
186
180
  static {
187
181
  this.elementName = "sbb-journey-summary";
188
182
  }
183
+ static {
184
+ this.elementDependencies = [
185
+ SbbDividerElement,
186
+ SbbJourneyHeaderElement,
187
+ SbbPearlChainTimeElement,
188
+ SbbScreenReaderOnlyElement
189
+ ];
190
+ }
189
191
  static {
190
192
  this.styles = [boxSizingStyles, unsafeCSS(journey_summary_default)];
191
193
  }
@@ -337,4 +339,4 @@ var SbbJourneySummaryElement = (() => {
337
339
  //#endregion
338
340
  export { SbbJourneySummaryElement as t };
339
341
 
340
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1zdW1tYXJ5LmNvbXBvbmVudC1CWndnRDRpbS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2pvdXJuZXktc3VtbWFyeS9qb3VybmV5LXN1bW1hcnkuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2pvdXJuZXktc3VtbWFyeS9qb3VybmV5LXN1bW1hcnkuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zYmItam91cm5leS1zdW1tYXJ5IHtcbiAgQGluY2x1ZGUgc2JiLnRleHQtcy0tcmVndWxhcjtcblxuICBjb2xvcjogdmFyKC0tc2JiLWNvbG9yLTQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uc2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnNiYi1qb3VybmV5LXN1bW1hcnlfX3ZpYXMge1xuICBAaW5jbHVkZSBzYmIuZWxsaXBzaXM7XG5cbiAgbWFyZ2luLWJsb2NrOiAwO1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xufVxuXG4uc2JiLWpvdXJuZXktc3VtbWFyeV9fZGF0ZSB7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbn1cblxuLnNiYi1qb3VybmV5LXN1bW1hcnlfX3ZpYSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uc2JiLWpvdXJuZXktc3VtbWFyeV9fZGl2aWRlciB7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNngpO1xufVxuXG51bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbiIsImltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0RGF0ZUFkYXB0ZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2RhdGV0aW1lLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpMThuVHJpcER1cmF0aW9uIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9pMThuLmpzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVMZXZlbCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL3RpdGxlLmpzJztcbmltcG9ydCB7IGZvcm1hdCwgaXNWYWxpZCB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGh0bWwsIG5vdGhpbmcsIHVuc2FmZUNTUywgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZHVyYXRpb25Ub1RpbWUsIHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcgfSBmcm9tICcuLi9jb3JlL2RhdGV0aW1lLnRzJztcbmltcG9ydCB0eXBlIHsgTGVnIH0gZnJvbSAnLi4vY29yZS90aW1ldGFibGUudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9qb3VybmV5LXN1bW1hcnkuc2Nzcz9pbmxpbmUnO1xuXG5pbXBvcnQgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2RpdmlkZXIuanMnO1xuaW1wb3J0ICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuaW1wb3J0ICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9qb3VybmV5LWhlYWRlci5qcyc7XG5pbXBvcnQgJy4uL3BlYXJsLWNoYWluLXRpbWUudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZVNiYkpvdXJuZXlTdW1tYXJ5QXR0cmlidXRlcyB7XG4gIGxlZ3M6IExlZ1tdO1xuICB2aWFzPzogc3RyaW5nW107XG4gIG9yaWdpbjogc3RyaW5nO1xuICBkZXN0aW5hdGlvbjogc3RyaW5nO1xuICBhcnJpdmFsV2Fsaz86IG51bWJlcjtcbiAgZGVwYXJ0dXJlOiBzdHJpbmc7XG4gIGFycml2YWw6IHN0cmluZztcbiAgZGVwYXJ0dXJlV2Fsaz86IG51bWJlcjtcbiAgZHVyYXRpb24/OiBudW1iZXI7XG59XG5cbi8qKlxuICogSXQgZGlzcGxheXMgam91cm5leSdzIGluZm9ybWF0aW9uLlxuICpcbiAqIEBzbG90IGNvbnRlbnQgLSBVc2UgdGhpcyBzbG90IHRvIGFkZCBgc2JiLWJ1dHRvbmBzIG9yIG90aGVyIGludGVyYWN0aXZlIGVsZW1lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgU2JiSm91cm5leVN1bW1hcnlFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItam91cm5leS1zdW1tYXJ5JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqICBUaGUgdHJpcCBwcm9wICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IE9iamVjdCB9KSBwdWJsaWMgYWNjZXNzb3IgdHJpcDogSW50ZXJmYWNlU2JiSm91cm5leVN1bW1hcnlBdHRyaWJ1dGVzID0gbnVsbCE7XG5cbiAgLyoqICBUaGUgdHJpcEJhY2sgcHJvcCAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0cmlwLWJhY2snLCB0eXBlOiBPYmplY3QgfSlcbiAgcHVibGljIGFjY2Vzc29yIHRyaXBCYWNrOiBJbnRlcmZhY2VTYmJKb3VybmV5U3VtbWFyeUF0dHJpYnV0ZXMgPSBudWxsITtcblxuICAvKipcbiAgICogVGhlIFJvdW5kVHJpcCBwcm9wLiBUaGlzIHByb3AgY29udHJvbHMgaWYgb25lIG9yIHR3byBhcnJvd3MgYXJlIGRpc3BsYXllZCBpbiB0aGUgaGVhZGVyLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3JvdW5kLXRyaXAnLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciByb3VuZFRyaXA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogSGVhZGluZyBsZXZlbCBvZiB0aGUgam91cm5leSBoZWFkZXIgZWxlbWVudCAoZS5nLiBoMS1oNikuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hlYWRlci1sZXZlbCcgfSkgcHVibGljIGFjY2Vzc29yIGhlYWRlckxldmVsOiBTYmJUaXRsZUxldmVsID0gJzMnO1xuXG4gIC8qKlxuICAgKiBQZXIgZGVmYXVsdCwgdGhlIGN1cnJlbnQgbG9jYXRpb24gaGFzIGEgcHVsc2F0aW5nIGFuaW1hdGlvbi4gWW91IGNhblxuICAgKiBkaXNhYmxlIHRoZSBhbmltYXRpb24gd2l0aCB0aGlzIHByb3BlcnR5LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Rpc2FibGUtYW5pbWF0aW9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGlzYWJsZUFuaW1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgRm9vdHBhdGggYXR0cmlidXRlIGZvciByZW5kZXJpbmcgZGlmZmVyZW50IGljb25zXG4gICAqIHRydWU6IHJlbmRlciBhMTF5LWljb25cbiAgICogZmFsc2U6IHJlbmRlciB3YWxrLWljb25cbiAgICogZGVmYXVsdDogcmVuZGVyIHdhbGstaWNvblxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ExMXktZm9vdHBhdGgnLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhMTF5Rm9vdHBhdGg6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBjb25maWd1cmVkIGRhdGUgd2hpY2ggYWN0cyBhcyB0aGUgY3VycmVudCBkYXRlIGluc3RlYWQgb2YgdGhlIHJlYWwgY3VycmVudCBkYXRlLlxuICAgKiBPbmx5IHJlY29tbWVuZGVkIGZvciB0ZXN0aW5nIHB1cnBvc2VzLlxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCBub3codmFsdWU6IERhdGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9ub3cgPSBkZWZhdWx0RGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKGRlZmF1bHREYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICB9XG4gIHB1YmxpYyBnZXQgbm93KCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9ub3cgPz8gbmV3IERhdGUoKTtcbiAgfVxuICBwcml2YXRlIF9ub3c6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9oYXNDb250ZW50U2xvdDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5faGFzQ29udGVudFNsb3QgPSBCb29sZWFuKHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdbc2xvdD1cImNvbnRlbnRcIl0nKSk7XG4gIH1cblxuICAvKiogIHJlbmRlcnMgdGhlIGRhdGUgb2YgdGhlIGpvdXJuZXkgb3IgaWYgaXQgaXMgdGhlIGN1cnJlbnQgb3IgbmV4dCBkYXkgKi9cbiAgcHJpdmF0ZSBfcmVuZGVySm91cm5leVN0YXJ0KFxuICAgIGRlcGFydHVyZVRpbWU6IERhdGUgfCB1bmRlZmluZWQsXG4gICAgZHVyYXRpb246IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgKTogVGVtcGxhdGVSZXN1bHQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGRhdGVBZGFwdGVyID0gZGVmYXVsdERhdGVBZGFwdGVyO1xuICAgIGNvbnN0IGR1cmF0aW9uT2JqID0gZHVyYXRpb24gPyBkdXJhdGlvblRvVGltZShkdXJhdGlvbiwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCkgOiBudWxsO1xuXG4gICAgaWYgKGlzVmFsaWQoZGVwYXJ0dXJlVGltZSkpIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8dGltZSBkYXRldGltZT0ke2Zvcm1hdChkZXBhcnR1cmVUaW1lISwgJ2QnKSArICcgJyArIGZvcm1hdChkZXBhcnR1cmVUaW1lISwgJ00nKX0+XG4gICAgICAgICAgJHtkYXRlQWRhcHRlci5mb3JtYXQoZGVwYXJ0dXJlVGltZSkucmVwbGFjZSgnLCcsICcuJyl9PC90aW1lXG4gICAgICAgID4ke2R1cmF0aW9uICYmIGR1cmF0aW9uID4gMFxuICAgICAgICAgID8gaHRtbGAsPHRpbWU+XG4gICAgICAgICAgICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICAgICAgICAgICAke2kxOG5UcmlwRHVyYXRpb25bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19ICR7ZHVyYXRpb25PYmohLmxvbmd9XG4gICAgICAgICAgICAgICAgPC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiR7ZHVyYXRpb25PYmohLnNob3J0fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC90aW1lPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICBgO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJKb3VybmV5Vmlhcyh2aWFzOiBzdHJpbmdbXSk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBzbGljZWRWaWFzID0gdmlhcy5zbGljZSgwLCA1KTtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X192aWEtYmxvY2tcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X192aWEtdGV4dFwiPlZpYTwvc3Bhbj5cbiAgICAgICAgPHVsIGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhc1wiIHJvbGU9JHt2aWFzLmxlbmd0aCA8PSAxID8gJ3ByZXNlbnRhdGlvbicgOiBub3RoaW5nfT5cbiAgICAgICAgICAke3NsaWNlZFZpYXMubWFwKFxuICAgICAgICAgICAgKHZpYSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgIGh0bWxgPGxpIGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhXCI+XG4gICAgICAgICAgICAgICAgJHt2aWF9JHtpbmRleCAhPT0gc2xpY2VkVmlhcy5sZW5ndGggLSAxICYmIGluZGV4IDwgNFxuICAgICAgICAgICAgICAgICAgPyBodG1sYDxzcGFuPiw8L3NwYW4+YFxuICAgICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICA8L2xpPmAsXG4gICAgICAgICAgKX1cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJKb3VybmV5SW5mb3JtYXRpb24odHJpcDogSW50ZXJmYWNlU2JiSm91cm5leVN1bW1hcnlBdHRyaWJ1dGVzKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IHsgdmlhcywgZHVyYXRpb24sIGRlcGFydHVyZVdhbGssIGRlcGFydHVyZSwgYXJyaXZhbFdhbGssIGFycml2YWwsIGxlZ3MgfSA9IHRyaXAgfHwge307XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXY+XG4gICAgICAgICR7dmlhcyAmJiB2aWFzLmxlbmd0aCA+IDAgPyB0aGlzLl9yZW5kZXJKb3VybmV5Vmlhcyh2aWFzKSA6IG5vdGhpbmd9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X19kYXRlXCI+XG4gICAgICAgICAgJHt0aGlzLl9yZW5kZXJKb3VybmV5U3RhcnQocmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyhkZXBhcnR1cmUpLCBkdXJhdGlvbil9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2JiLXBlYXJsLWNoYWluLXRpbWVcbiAgICAgICAgICAuYXJyaXZhbFRpbWU9JHthcnJpdmFsfVxuICAgICAgICAgIC5kZXBhcnR1cmVUaW1lPSR7ZGVwYXJ0dXJlfVxuICAgICAgICAgIC5kZXBhcnR1cmVXYWxrPSR7ZGVwYXJ0dXJlV2Fsa31cbiAgICAgICAgICAuYXJyaXZhbFdhbGs9JHthcnJpdmFsV2Fsa31cbiAgICAgICAgICAubGVncz0ke2xlZ3N9XG4gICAgICAgICAgLmRpc2FibGVBbmltYXRpb249JHt0aGlzLmRpc2FibGVBbmltYXRpb259XG4gICAgICAgICAgLmExMXlGb290cGF0aD0ke3RoaXMuYTExeUZvb3RwYXRofVxuICAgICAgICAgIC5ub3c9JHt0aGlzLm5vd31cbiAgICAgICAgPjwvc2JiLXBlYXJsLWNoYWluLXRpbWU+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgeyBvcmlnaW4sIGRlc3RpbmF0aW9uIH0gPSB0aGlzLnRyaXAgfHwge307XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeVwiPlxuICAgICAgICAke29yaWdpblxuICAgICAgICAgID8gaHRtbGA8c2JiLWpvdXJuZXktaGVhZGVyXG4gICAgICAgICAgICAgIHNpemU9XCJsXCJcbiAgICAgICAgICAgICAgLmxldmVsPSR7dGhpcy5oZWFkZXJMZXZlbCB8fCBub3RoaW5nfVxuICAgICAgICAgICAgICAub3JpZ2luPSR7b3JpZ2lufVxuICAgICAgICAgICAgICAuZGVzdGluYXRpb249JHtkZXN0aW5hdGlvbn1cbiAgICAgICAgICAgICAgLnJvdW5kVHJpcD0ke3RoaXMucm91bmRUcmlwID8/IG5vdGhpbmd9XG4gICAgICAgICAgICA+PC9zYmItam91cm5leS1oZWFkZXI+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJKb3VybmV5SW5mb3JtYXRpb24odGhpcy50cmlwKX1cbiAgICAgICAgJHt0aGlzLnRyaXBCYWNrXG4gICAgICAgICAgPyBodG1sYDxkaXY+XG4gICAgICAgICAgICAgIDxzYmItZGl2aWRlciBjbGFzcz1cInNiYi1qb3VybmV5LXN1bW1hcnlfX2RpdmlkZXJcIj48L3NiYi1kaXZpZGVyPlxuICAgICAgICAgICAgICAke3RoaXMuX3JlbmRlckpvdXJuZXlJbmZvcm1hdGlvbih0aGlzLnRyaXBCYWNrKX1cbiAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICR7dGhpcy5faGFzQ29udGVudFNsb3RcbiAgICAgICAgICA/IGh0bWxgIDxkaXYgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X19zbG90XCI+XG4gICAgICAgICAgICAgIDxzbG90IG5hbWU9XCJjb250ZW50XCI+PC9zbG90PlxuICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1qb3VybmV5LXN1bW1hcnknOiBTYmJKb3VybmV5U3VtbWFyeUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ3NDYSxrQ0FBd0I7bUJBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztjQUFqQyxpQ0FBaUMsWUFBVTs7O0FBS1YsU0FBQSx5QkFMakMsa0JBQUEsTUFBQSwyQkFBd0IsRUFBQSxrQkFBQSxNQUFBLG9CQUtzRCxLQUFLO0FBSTlFLFNBQUEsNkJBQUEsa0JBQUEsTUFBQSx3QkFBQSxFQUFBLGtCQUFBLE1BQUEsd0JBQWlELEtBQUs7QUFPdEQsU0FBQSw4QkFBQSxrQkFBQSxNQUFBLDRCQUFBLEVBQUEsa0JBQUEsTUFBQSx5QkFBcUIsTUFBSztBQUdlLFNBQUEsZ0NBQUEsa0JBQUEsTUFBQSw2QkFBQSxFQUFBLGtCQUFBLE1BQUEsMkJBQTZCLElBQUc7QUFRekUsU0FBQSxxQ0FBQSxrQkFBQSxNQUFBLCtCQUFBLEVBQUEsa0JBQUEsTUFBQSxnQ0FBNEIsTUFBSztBQVVqQyxTQUFBLGlDQUFBLGtCQUFBLE1BQUEsb0NBQUEsRUFBQSxrQkFBQSxNQUFBLDRCQUF3QixNQUFLO0FBYXJDLFFBQUEsUUFBSSxrQkFBQSxNQUFBLGdDQUFBLEVBQWdCO0FBRXBCLFFBQUEsa0JBQTJCO0FBQzNCLFFBQUEsWUFBWSxJQUFJLHNCQUFzQixLQUFLOzs7O3VCQWhEbEQsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDLENBQUE7MkJBRzFCLFNBQVM7SUFBRSxXQUFXO0lBQWEsTUFBTTtJQUFRLENBQUMsQ0FBQTs0QkFNbEQsV0FBVyxFQUNYLFNBQVM7SUFBRSxXQUFXO0lBQWMsTUFBTTtJQUFTLENBQUMsQ0FBQTs4QkFJcEQsU0FBUyxFQUFFLFdBQVcsZ0JBQWdCLENBQUMsQ0FBQTttQ0FNdkMsV0FBVyxFQUNYLFNBQVM7SUFBRSxXQUFXO0lBQXFCLE1BQU07SUFBUyxDQUFDLENBQUE7K0JBUzNELFdBQVcsRUFDWCxTQUFTO0lBQUUsV0FBVztJQUFpQixNQUFNO0lBQVMsQ0FBQyxDQUFBOzBCQU92RCxVQUFVLENBQUE7QUF0Q2lCLGdCQUFBLE1BQUEsTUFBQSxrQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFVBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUosT0FBSTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLG9CQUFBLHdCQUFBO0FBSWhELGdCQUFBLE1BQUEsTUFBQSxzQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGNBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBUSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVIsV0FBUTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHdCQUFBLDRCQUFBO0FBT3hCLGdCQUFBLE1BQUEsTUFBQSx1QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGVBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBUyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVQsWUFBUzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHlCQUFBLDZCQUFBO0FBR2dCLGdCQUFBLE1BQUEsTUFBQSx5QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGlCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVcsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFYLGNBQVc7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSwyQkFBQSwrQkFBQTtBQVFwRSxnQkFBQSxNQUFBLE1BQUEsOEJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxzQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFnQixNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQWhCLG1CQUFnQjs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLGdDQUFBLG9DQUFBO0FBVWhDLGdCQUFBLE1BQUEsTUFBQSwwQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGtCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVksTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFaLGVBQVk7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSw0QkFBQSxnQ0FBQTtBQU81QixnQkFBQSxNQUFBLE1BQUEscUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxTQUFBO0tBQUEsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFXLE1BQUc7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxNQUFBLDJCQUFBOzs7Ozs7Ozs7QUEzQ2tCLFFBQUEsY0FBc0I7OztBQUMvQixRQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsd0JBQU0sQ0FBQzs7RUFHdkQ7O0VBQUEsSUFBZ0IsT0FBSTtBQUFBLFVBQUEsTUFBQTs7RUFBcEIsSUFBZ0IsS0FBSSxPQUFBO0FBQUEsU0FBQSx3QkFBQTs7RUFJaEQ7O0VBQUEsSUFBZ0IsV0FBUTtBQUFBLFVBQUEsTUFBQTs7RUFBeEIsSUFBZ0IsU0FBUSxPQUFBO0FBQUEsU0FBQSw0QkFBQTs7RUFPeEI7Ozs7RUFBQSxJQUFnQixZQUFTO0FBQUEsVUFBQSxNQUFBOztFQUF6QixJQUFnQixVQUFTLE9BQUE7QUFBQSxTQUFBLDZCQUFBOztFQUdnQjs7RUFBQSxJQUFnQixjQUFXO0FBQUEsVUFBQSxNQUFBOztFQUEzQixJQUFnQixZQUFXLE9BQUE7QUFBQSxTQUFBLCtCQUFBOztFQVFwRTs7Ozs7RUFBQSxJQUFnQixtQkFBZ0I7QUFBQSxVQUFBLE1BQUE7O0VBQWhDLElBQWdCLGlCQUFnQixPQUFBO0FBQUEsU0FBQSxvQ0FBQTs7RUFVaEM7Ozs7Ozs7RUFBQSxJQUFnQixlQUFZO0FBQUEsVUFBQSxNQUFBOztFQUE1QixJQUFnQixhQUFZLE9BQUE7QUFBQSxTQUFBLGdDQUFBOzs7Ozs7RUFPNUIsSUFBVyxJQUFJLE9BQXVCO0FBQ3BDLFFBQUssT0FBTyxtQkFBbUIsbUJBQW1CLG1CQUFtQixZQUFZLE1BQU0sQ0FBQzs7RUFFMUYsSUFBVyxNQUFHO0FBQ1osVUFBTyxLQUFLLHdCQUFRLElBQUksTUFBTTs7RUFPaEIsb0JBQWlCO0FBQy9CLFNBQU0sbUJBQW1CO0FBQ3pCLFFBQUssa0JBQWtCLFFBQVEsS0FBSyxnQkFBZ0IscUJBQW1CLENBQUM7OztFQUlsRSxvQkFDTixlQUNBLFVBQTRCO0dBRTVCLE1BQU0sY0FBYztHQUNwQixNQUFNLGNBQWMsV0FBVyxlQUFlLFVBQVUsS0FBSyxVQUFVLFFBQVEsR0FBRztBQUVsRixPQUFJLFFBQVEsY0FBYyxDQUN4QixRQUFPLElBQUk7eUJBQ1EsT0FBTyxlQUFnQixJQUFJLEdBQUcsTUFBTSxPQUFPLGVBQWdCLElBQUksQ0FBQTtZQUM1RSxZQUFZLE9BQU8sY0FBYyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUE7V0FDcEQsWUFBWSxXQUFXLElBQ3RCLElBQUk7O29CQUVJLGlCQUFpQixLQUFLLFVBQVUsU0FBUSxHQUFJLFlBQWEsS0FBQTs7MkNBRWxDLFlBQWEsTUFBSzt5QkFFakQsUUFBQTs7O0VBTUYsbUJBQW1CLE1BQWM7R0FDdkMsTUFBTSxhQUFhLEtBQUssTUFBTSxHQUFHLEVBQUU7QUFDbkMsVUFBTyxJQUFJOzs7cURBR3NDLEtBQUssVUFBVSxJQUFJLGlCQUFpQixRQUFPO1lBQ3BGLFdBQVcsS0FDVixLQUFLLFVBQ0osSUFBSTtrQkFDQSxNQUFNLFVBQVUsV0FBVyxTQUFTLEtBQUssUUFBUSxJQUMvQyxJQUFJLG1CQUNKLFFBQUE7cUJBRVQsQ0FBQTs7Ozs7RUFNRCwwQkFBMEIsTUFBMEM7R0FDMUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxlQUFlLFdBQVcsYUFBYSxTQUFTLFNBQVMsUUFBUSxFQUFFO0FBRTNGLFVBQU8sSUFBSTs7VUFFTCxRQUFRLEtBQUssU0FBUyxJQUFJLEtBQUssbUJBQW1CLEtBQUssR0FBRyxRQUFBOztZQUV4RCxLQUFLLG9CQUFvQixnQ0FBZ0MsVUFBVSxFQUFFLFNBQVMsQ0FBQTs7O3lCQUdqRSxRQUFBOzJCQUNFLFVBQUE7MkJBQ0EsY0FBQTt5QkFDRixZQUFBO2tCQUNQLEtBQUE7OEJBQ1ksS0FBSyxpQkFBQTswQkFDVCxLQUFLLGFBQUE7aUJBQ2QsS0FBSyxJQUFBOzs7OztFQU1ELFNBQU07R0FDdkIsTUFBTSxFQUFFLFFBQVEsZ0JBQWdCLEtBQUssUUFBUSxFQUFFO0FBQy9DLFVBQU8sSUFBSTs7VUFFTCxTQUNFLElBQUk7O3VCQUVPLEtBQUssZUFBZSxRQUFBO3dCQUNuQixPQUFBOzZCQUNLLFlBQUE7MkJBQ0YsS0FBSyxhQUFhLFFBQUE7c0NBRWpDLFFBQUE7VUFDRixLQUFLLDBCQUEwQixLQUFLLEtBQUssQ0FBQTtVQUN6QyxLQUFLLFdBQ0gsSUFBSTs7Z0JBRUEsS0FBSywwQkFBMEIsS0FBSyxTQUFTLENBQUE7c0JBRWpELFFBQUE7VUFDRixLQUFLLGtCQUNILElBQUk7O3NCQUdKLFFBQUEifQ==
342
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1zdW1tYXJ5LmNvbXBvbmVudC1COVAxUEFKdi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2pvdXJuZXktc3VtbWFyeS9qb3VybmV5LXN1bW1hcnkuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2pvdXJuZXktc3VtbWFyeS9qb3VybmV5LXN1bW1hcnkuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zYmItam91cm5leS1zdW1tYXJ5IHtcbiAgQGluY2x1ZGUgc2JiLnRleHQtcy0tcmVndWxhcjtcblxuICBjb2xvcjogdmFyKC0tc2JiLWNvbG9yLTQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uc2JiLWpvdXJuZXktc3VtbWFyeV9fdmlhLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnNiYi1qb3VybmV5LXN1bW1hcnlfX3ZpYXMge1xuICBAaW5jbHVkZSBzYmIuZWxsaXBzaXM7XG5cbiAgbWFyZ2luLWJsb2NrOiAwO1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xufVxuXG4uc2JiLWpvdXJuZXktc3VtbWFyeV9fZGF0ZSB7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbn1cblxuLnNiYi1qb3VybmV5LXN1bW1hcnlfX3ZpYSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uc2JiLWpvdXJuZXktc3VtbWFyeV9fZGl2aWRlciB7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNngpO1xufVxuXG51bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbiIsImltcG9ydCB7XG4gIFNiYkxhbmd1YWdlQ29udHJvbGxlcixcbiAgZGVmYXVsdERhdGVBZGFwdGVyLFxuICBmb3JjZVR5cGUsXG4gIGkxOG5UcmlwRHVyYXRpb24sXG4gIGJveFNpemluZ1N0eWxlcyxcbiAgU2JiRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbiAgU2JiU2NyZWVuUmVhZGVyT25seUVsZW1lbnQsXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUuanMnO1xuaW1wb3J0IHsgU2JiRGl2aWRlckVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9kaXZpZGVyLnB1cmUuanMnO1xuaW1wb3J0IHsgU2JiSm91cm5leUhlYWRlckVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9qb3VybmV5LWhlYWRlci5wdXJlLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVMZXZlbCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL3RpdGxlLnB1cmUuanMnO1xuaW1wb3J0IHsgZm9ybWF0LCBpc1ZhbGlkIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgaHRtbCwgbm90aGluZywgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBkdXJhdGlvblRvVGltZSwgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZywgdHlwZSBMZWcgfSBmcm9tICcuLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYlBlYXJsQ2hhaW5UaW1lRWxlbWVudCB9IGZyb20gJy4uL3BlYXJsLWNoYWluLXRpbWUucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2pvdXJuZXktc3VtbWFyeS5zY3NzP2lubGluZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlU2JiSm91cm5leVN1bW1hcnlBdHRyaWJ1dGVzIHtcbiAgbGVnczogTGVnW107XG4gIHZpYXM/OiBzdHJpbmdbXTtcbiAgb3JpZ2luOiBzdHJpbmc7XG4gIGRlc3RpbmF0aW9uOiBzdHJpbmc7XG4gIGFycml2YWxXYWxrPzogbnVtYmVyO1xuICBkZXBhcnR1cmU6IHN0cmluZztcbiAgYXJyaXZhbDogc3RyaW5nO1xuICBkZXBhcnR1cmVXYWxrPzogbnVtYmVyO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBqb3VybmV5J3MgaW5mb3JtYXRpb24uXG4gKlxuICogQHNsb3QgY29udGVudCAtIFVzZSB0aGlzIHNsb3QgdG8gYWRkIGBzYmItYnV0dG9uYHMgb3Igb3RoZXIgaW50ZXJhY3RpdmUgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJKb3VybmV5U3VtbWFyeUVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1qb3VybmV5LXN1bW1hcnknO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXG4gICAgU2JiRGl2aWRlckVsZW1lbnQsXG4gICAgU2JiSm91cm5leUhlYWRlckVsZW1lbnQsXG4gICAgU2JiUGVhcmxDaGFpblRpbWVFbGVtZW50LFxuICAgIFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50LFxuICBdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogIFRoZSB0cmlwIHByb3AgKi9cbiAgQHByb3BlcnR5KHsgdHlwZTogT2JqZWN0IH0pIHB1YmxpYyBhY2Nlc3NvciB0cmlwOiBJbnRlcmZhY2VTYmJKb3VybmV5U3VtbWFyeUF0dHJpYnV0ZXMgPSBudWxsITtcblxuICAvKiogIFRoZSB0cmlwQmFjayBwcm9wICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RyaXAtYmFjaycsIHR5cGU6IE9iamVjdCB9KVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpcEJhY2s6IEludGVyZmFjZVNiYkpvdXJuZXlTdW1tYXJ5QXR0cmlidXRlcyA9IG51bGwhO1xuXG4gIC8qKlxuICAgKiBUaGUgUm91bmRUcmlwIHByb3AuIFRoaXMgcHJvcCBjb250cm9scyBpZiBvbmUgb3IgdHdvIGFycm93cyBhcmUgZGlzcGxheWVkIGluIHRoZSBoZWFkZXIuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncm91bmQtdHJpcCcsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIHJvdW5kVHJpcDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBIZWFkaW5nIGxldmVsIG9mIHRoZSBqb3VybmV5IGhlYWRlciBlbGVtZW50IChlLmcuIGgxLWg2KS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaGVhZGVyLWxldmVsJyB9KSBwdWJsaWMgYWNjZXNzb3IgaGVhZGVyTGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMyc7XG5cbiAgLyoqXG4gICAqIFBlciBkZWZhdWx0LCB0aGUgY3VycmVudCBsb2NhdGlvbiBoYXMgYSBwdWxzYXRpbmcgYW5pbWF0aW9uLiBZb3UgY2FuXG4gICAqIGRpc2FibGUgdGhlIGFuaW1hdGlvbiB3aXRoIHRoaXMgcHJvcGVydHkuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGlzYWJsZS1hbmltYXRpb24nLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkaXNhYmxlQW5pbWF0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBGb290cGF0aCBhdHRyaWJ1dGUgZm9yIHJlbmRlcmluZyBkaWZmZXJlbnQgaWNvbnNcbiAgICogdHJ1ZTogcmVuZGVyIGExMXktaWNvblxuICAgKiBmYWxzZTogcmVuZGVyIHdhbGstaWNvblxuICAgKiBkZWZhdWx0OiByZW5kZXIgd2Fsay1pY29uXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYTExeS1mb290cGF0aCcsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGExMXlGb290cGF0aDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBIGNvbmZpZ3VyZWQgZGF0ZSB3aGljaCBhY3RzIGFzIHRoZSBjdXJyZW50IGRhdGUgaW5zdGVhZCBvZiB0aGUgcmVhbCBjdXJyZW50IGRhdGUuXG4gICAqIE9ubHkgcmVjb21tZW5kZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IG5vdyh2YWx1ZTogRGF0ZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX25vdyA9IGRlZmF1bHREYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwoZGVmYXVsdERhdGVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKSk7XG4gIH1cbiAgcHVibGljIGdldCBub3coKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX25vdyA/PyBuZXcgRGF0ZSgpO1xuICB9XG4gIHByaXZhdGUgX25vdzogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2hhc0NvbnRlbnRTbG90OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9oYXNDb250ZW50U2xvdCA9IEJvb2xlYW4odGhpcy5xdWVyeVNlbGVjdG9yPy4oJ1tzbG90PVwiY29udGVudFwiXScpKTtcbiAgfVxuXG4gIC8qKiAgcmVuZGVycyB0aGUgZGF0ZSBvZiB0aGUgam91cm5leSBvciBpZiBpdCBpcyB0aGUgY3VycmVudCBvciBuZXh0IGRheSAqL1xuICBwcml2YXRlIF9yZW5kZXJKb3VybmV5U3RhcnQoXG4gICAgZGVwYXJ0dXJlVGltZTogRGF0ZSB8IHVuZGVmaW5lZCxcbiAgICBkdXJhdGlvbjogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICApOiBUZW1wbGF0ZVJlc3VsdCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZGF0ZUFkYXB0ZXIgPSBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG4gICAgY29uc3QgZHVyYXRpb25PYmogPSBkdXJhdGlvbiA/IGR1cmF0aW9uVG9UaW1lKGR1cmF0aW9uLCB0aGlzLl9sYW5ndWFnZS5jdXJyZW50KSA6IG51bGw7XG5cbiAgICBpZiAoaXNWYWxpZChkZXBhcnR1cmVUaW1lKSkge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDx0aW1lIGRhdGV0aW1lPSR7Zm9ybWF0KGRlcGFydHVyZVRpbWUhLCAnZCcpICsgJyAnICsgZm9ybWF0KGRlcGFydHVyZVRpbWUhLCAnTScpfT5cbiAgICAgICAgICAke2RhdGVBZGFwdGVyLmZvcm1hdChkZXBhcnR1cmVUaW1lKS5yZXBsYWNlKCcsJywgJy4nKX08L3RpbWVcbiAgICAgICAgPiR7ZHVyYXRpb24gJiYgZHVyYXRpb24gPiAwXG4gICAgICAgICAgPyBodG1sYCw8dGltZT5cbiAgICAgICAgICAgICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICAgICAgICR7aTE4blRyaXBEdXJhdGlvblt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0gJHtkdXJhdGlvbk9iaiEubG9uZ31cbiAgICAgICAgICAgICAgICA8L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JHtkdXJhdGlvbk9iaiEuc2hvcnR9PC9zcGFuPlxuICAgICAgICAgICAgICA8L3RpbWU+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgIGA7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlckpvdXJuZXlWaWFzKHZpYXM6IHN0cmluZ1tdKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IHNsaWNlZFZpYXMgPSB2aWFzLnNsaWNlKDAsIDUpO1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1qb3VybmV5LXN1bW1hcnlfX3ZpYS1ibG9ja1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1qb3VybmV5LXN1bW1hcnlfX3ZpYS10ZXh0XCI+VmlhPC9zcGFuPlxuICAgICAgICA8dWwgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X192aWFzXCIgcm9sZT0ke3ZpYXMubGVuZ3RoIDw9IDEgPyAncHJlc2VudGF0aW9uJyA6IG5vdGhpbmd9PlxuICAgICAgICAgICR7c2xpY2VkVmlhcy5tYXAoXG4gICAgICAgICAgICAodmlhLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgaHRtbGA8bGkgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5X192aWFcIj5cbiAgICAgICAgICAgICAgICAke3ZpYX0ke2luZGV4ICE9PSBzbGljZWRWaWFzLmxlbmd0aCAtIDEgJiYgaW5kZXggPCA0XG4gICAgICAgICAgICAgICAgICA/IGh0bWxgPHNwYW4+LDwvc3Bhbj5gXG4gICAgICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgIDwvbGk+YCxcbiAgICAgICAgICApfVxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlckpvdXJuZXlJbmZvcm1hdGlvbih0cmlwOiBJbnRlcmZhY2VTYmJKb3VybmV5U3VtbWFyeUF0dHJpYnV0ZXMpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgeyB2aWFzLCBkdXJhdGlvbiwgZGVwYXJ0dXJlV2FsaywgZGVwYXJ0dXJlLCBhcnJpdmFsV2FsaywgYXJyaXZhbCwgbGVncyB9ID0gdHJpcCB8fCB7fTtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdj5cbiAgICAgICAgJHt2aWFzICYmIHZpYXMubGVuZ3RoID4gMCA/IHRoaXMuX3JlbmRlckpvdXJuZXlWaWFzKHZpYXMpIDogbm90aGluZ31cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1qb3VybmV5LXN1bW1hcnlfX2RhdGVcIj5cbiAgICAgICAgICAke3RoaXMuX3JlbmRlckpvdXJuZXlTdGFydChyZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGRlcGFydHVyZSksIGR1cmF0aW9uKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzYmItcGVhcmwtY2hhaW4tdGltZVxuICAgICAgICAgIC5hcnJpdmFsVGltZT0ke2Fycml2YWx9XG4gICAgICAgICAgLmRlcGFydHVyZVRpbWU9JHtkZXBhcnR1cmV9XG4gICAgICAgICAgLmRlcGFydHVyZVdhbGs9JHtkZXBhcnR1cmVXYWxrfVxuICAgICAgICAgIC5hcnJpdmFsV2Fsaz0ke2Fycml2YWxXYWxrfVxuICAgICAgICAgIC5sZWdzPSR7bGVnc31cbiAgICAgICAgICAuZGlzYWJsZUFuaW1hdGlvbj0ke3RoaXMuZGlzYWJsZUFuaW1hdGlvbn1cbiAgICAgICAgICAuYTExeUZvb3RwYXRoPSR7dGhpcy5hMTF5Rm9vdHBhdGh9XG4gICAgICAgICAgLm5vdz0ke3RoaXMubm93fVxuICAgICAgICA+PC9zYmItcGVhcmwtY2hhaW4tdGltZT5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCB7IG9yaWdpbiwgZGVzdGluYXRpb24gfSA9IHRoaXMudHJpcCB8fCB7fTtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItam91cm5leS1zdW1tYXJ5XCI+XG4gICAgICAgICR7b3JpZ2luXG4gICAgICAgICAgPyBodG1sYDxzYmItam91cm5leS1oZWFkZXJcbiAgICAgICAgICAgICAgc2l6ZT1cImxcIlxuICAgICAgICAgICAgICAubGV2ZWw9JHt0aGlzLmhlYWRlckxldmVsIHx8IG5vdGhpbmd9XG4gICAgICAgICAgICAgIC5vcmlnaW49JHtvcmlnaW59XG4gICAgICAgICAgICAgIC5kZXN0aW5hdGlvbj0ke2Rlc3RpbmF0aW9ufVxuICAgICAgICAgICAgICAucm91bmRUcmlwPSR7dGhpcy5yb3VuZFRyaXAgPz8gbm90aGluZ31cbiAgICAgICAgICAgID48L3NiYi1qb3VybmV5LWhlYWRlcj5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAke3RoaXMuX3JlbmRlckpvdXJuZXlJbmZvcm1hdGlvbih0aGlzLnRyaXApfVxuICAgICAgICAke3RoaXMudHJpcEJhY2tcbiAgICAgICAgICA/IGh0bWxgPGRpdj5cbiAgICAgICAgICAgICAgPHNiYi1kaXZpZGVyIGNsYXNzPVwic2JiLWpvdXJuZXktc3VtbWFyeV9fZGl2aWRlclwiPjwvc2JiLWRpdmlkZXI+XG4gICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVySm91cm5leUluZm9ybWF0aW9uKHRoaXMudHJpcEJhY2spfVxuICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgJHt0aGlzLl9oYXNDb250ZW50U2xvdFxuICAgICAgICAgID8gaHRtbGAgPGRpdiBjbGFzcz1cInNiYi1qb3VybmV5LXN1bW1hcnlfX3Nsb3RcIj5cbiAgICAgICAgICAgICAgPHNsb3QgbmFtZT1cImNvbnRlbnRcIj48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWpvdXJuZXktc3VtbWFyeSc6IFNiYkpvdXJuZXlTdW1tYXJ5RWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDdUNhLGtDQUF3QjttQkFBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2NBQWpDLGlDQUFpQyxZQUFVOzs7QUFXVixTQUFBLHlCQVhqQyxrQkFBQSxNQUFBLDJCQUF3QixFQUFBLGtCQUFBLE1BQUEsb0JBV3NELEtBQUs7QUFJOUUsU0FBQSw2QkFBQSxrQkFBQSxNQUFBLHdCQUFBLEVBQUEsa0JBQUEsTUFBQSx3QkFBaUQsS0FBSztBQU90RCxTQUFBLDhCQUFBLGtCQUFBLE1BQUEsNEJBQUEsRUFBQSxrQkFBQSxNQUFBLHlCQUFxQixNQUFLO0FBR2UsU0FBQSxnQ0FBQSxrQkFBQSxNQUFBLDZCQUFBLEVBQUEsa0JBQUEsTUFBQSwyQkFBNkIsSUFBRztBQVF6RSxTQUFBLHFDQUFBLGtCQUFBLE1BQUEsK0JBQUEsRUFBQSxrQkFBQSxNQUFBLGdDQUE0QixNQUFLO0FBVWpDLFNBQUEsaUNBQUEsa0JBQUEsTUFBQSxvQ0FBQSxFQUFBLGtCQUFBLE1BQUEsNEJBQXdCLE1BQUs7QUFhckMsUUFBQSxRQUFJLGtCQUFBLE1BQUEsZ0NBQUEsRUFBZ0I7QUFFcEIsUUFBQSxrQkFBMkI7QUFDM0IsUUFBQSxZQUFZLElBQUksc0JBQXNCLEtBQUs7Ozs7dUJBaERsRCxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUMsQ0FBQTsyQkFHMUIsU0FBUztJQUFFLFdBQVc7SUFBYSxNQUFNO0lBQVEsQ0FBQyxDQUFBOzRCQU1sRCxXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBYyxNQUFNO0lBQVMsQ0FBQyxDQUFBOzhCQUlwRCxTQUFTLEVBQUUsV0FBVyxnQkFBZ0IsQ0FBQyxDQUFBO21DQU12QyxXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBcUIsTUFBTTtJQUFTLENBQUMsQ0FBQTsrQkFTM0QsV0FBVyxFQUNYLFNBQVM7SUFBRSxXQUFXO0lBQWlCLE1BQU07SUFBUyxDQUFDLENBQUE7MEJBT3ZELFVBQVUsQ0FBQTtBQXRDaUIsZ0JBQUEsTUFBQSxNQUFBLGtCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsVUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFJLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBSixPQUFJOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsb0JBQUEsd0JBQUE7QUFJaEQsZ0JBQUEsTUFBQSxNQUFBLHNCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsY0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFRLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBUixXQUFROztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsd0JBQUEsNEJBQUE7QUFPeEIsZ0JBQUEsTUFBQSxNQUFBLHVCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsZUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFTLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBVCxZQUFTOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEseUJBQUEsNkJBQUE7QUFHZ0IsZ0JBQUEsTUFBQSxNQUFBLHlCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsaUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBVyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVgsY0FBVzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDJCQUFBLCtCQUFBO0FBUXBFLGdCQUFBLE1BQUEsTUFBQSw4QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLHNCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQWdCLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBaEIsbUJBQWdCOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsZ0NBQUEsb0NBQUE7QUFVaEMsZ0JBQUEsTUFBQSxNQUFBLDBCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsa0JBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBWSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVosZUFBWTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDRCQUFBLGdDQUFBO0FBTzVCLGdCQUFBLE1BQUEsTUFBQSxxQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFNBQUE7S0FBQSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVcsTUFBRzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLE1BQUEsMkJBQUE7Ozs7Ozs7OztBQWpEa0IsUUFBQSxjQUFzQjs7O0FBQy9CLFFBQUEsc0JBQXdDO0lBQzdEO0lBQ0E7SUFDQTtJQUNBO0lBQ0Q7OztBQUNzQixRQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsd0JBQU0sQ0FBQzs7RUFHdkQ7O0VBQUEsSUFBZ0IsT0FBSTtBQUFBLFVBQUEsTUFBQTs7RUFBcEIsSUFBZ0IsS0FBSSxPQUFBO0FBQUEsU0FBQSx3QkFBQTs7RUFJaEQ7O0VBQUEsSUFBZ0IsV0FBUTtBQUFBLFVBQUEsTUFBQTs7RUFBeEIsSUFBZ0IsU0FBUSxPQUFBO0FBQUEsU0FBQSw0QkFBQTs7RUFPeEI7Ozs7RUFBQSxJQUFnQixZQUFTO0FBQUEsVUFBQSxNQUFBOztFQUF6QixJQUFnQixVQUFTLE9BQUE7QUFBQSxTQUFBLDZCQUFBOztFQUdnQjs7RUFBQSxJQUFnQixjQUFXO0FBQUEsVUFBQSxNQUFBOztFQUEzQixJQUFnQixZQUFXLE9BQUE7QUFBQSxTQUFBLCtCQUFBOztFQVFwRTs7Ozs7RUFBQSxJQUFnQixtQkFBZ0I7QUFBQSxVQUFBLE1BQUE7O0VBQWhDLElBQWdCLGlCQUFnQixPQUFBO0FBQUEsU0FBQSxvQ0FBQTs7RUFVaEM7Ozs7Ozs7RUFBQSxJQUFnQixlQUFZO0FBQUEsVUFBQSxNQUFBOztFQUE1QixJQUFnQixhQUFZLE9BQUE7QUFBQSxTQUFBLGdDQUFBOzs7Ozs7RUFPNUIsSUFBVyxJQUFJLE9BQXVCO0FBQ3BDLFFBQUssT0FBTyxtQkFBbUIsbUJBQW1CLG1CQUFtQixZQUFZLE1BQU0sQ0FBQzs7RUFFMUYsSUFBVyxNQUFHO0FBQ1osVUFBTyxLQUFLLHdCQUFRLElBQUksTUFBTTs7RUFPaEIsb0JBQWlCO0FBQy9CLFNBQU0sbUJBQW1CO0FBQ3pCLFFBQUssa0JBQWtCLFFBQVEsS0FBSyxnQkFBZ0IscUJBQW1CLENBQUM7OztFQUlsRSxvQkFDTixlQUNBLFVBQTRCO0dBRTVCLE1BQU0sY0FBYztHQUNwQixNQUFNLGNBQWMsV0FBVyxlQUFlLFVBQVUsS0FBSyxVQUFVLFFBQVEsR0FBRztBQUVsRixPQUFJLFFBQVEsY0FBYyxDQUN4QixRQUFPLElBQUk7eUJBQ1EsT0FBTyxlQUFnQixJQUFJLEdBQUcsTUFBTSxPQUFPLGVBQWdCLElBQUksQ0FBQTtZQUM1RSxZQUFZLE9BQU8sY0FBYyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUE7V0FDcEQsWUFBWSxXQUFXLElBQ3RCLElBQUk7O29CQUVJLGlCQUFpQixLQUFLLFVBQVUsU0FBUSxHQUFJLFlBQWEsS0FBQTs7MkNBRWxDLFlBQWEsTUFBSzt5QkFFakQsUUFBQTs7O0VBTUYsbUJBQW1CLE1BQWM7R0FDdkMsTUFBTSxhQUFhLEtBQUssTUFBTSxHQUFHLEVBQUU7QUFDbkMsVUFBTyxJQUFJOzs7cURBR3NDLEtBQUssVUFBVSxJQUFJLGlCQUFpQixRQUFPO1lBQ3BGLFdBQVcsS0FDVixLQUFLLFVBQ0osSUFBSTtrQkFDQSxNQUFNLFVBQVUsV0FBVyxTQUFTLEtBQUssUUFBUSxJQUMvQyxJQUFJLG1CQUNKLFFBQUE7cUJBRVQsQ0FBQTs7Ozs7RUFNRCwwQkFBMEIsTUFBMEM7R0FDMUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxlQUFlLFdBQVcsYUFBYSxTQUFTLFNBQVMsUUFBUSxFQUFFO0FBRTNGLFVBQU8sSUFBSTs7VUFFTCxRQUFRLEtBQUssU0FBUyxJQUFJLEtBQUssbUJBQW1CLEtBQUssR0FBRyxRQUFBOztZQUV4RCxLQUFLLG9CQUFvQixnQ0FBZ0MsVUFBVSxFQUFFLFNBQVMsQ0FBQTs7O3lCQUdqRSxRQUFBOzJCQUNFLFVBQUE7MkJBQ0EsY0FBQTt5QkFDRixZQUFBO2tCQUNQLEtBQUE7OEJBQ1ksS0FBSyxpQkFBQTswQkFDVCxLQUFLLGFBQUE7aUJBQ2QsS0FBSyxJQUFBOzs7OztFQU1ELFNBQU07R0FDdkIsTUFBTSxFQUFFLFFBQVEsZ0JBQWdCLEtBQUssUUFBUSxFQUFFO0FBQy9DLFVBQU8sSUFBSTs7VUFFTCxTQUNFLElBQUk7O3VCQUVPLEtBQUssZUFBZSxRQUFBO3dCQUNuQixPQUFBOzZCQUNLLFlBQUE7MkJBQ0YsS0FBSyxhQUFhLFFBQUE7c0NBRWpDLFFBQUE7VUFDRixLQUFLLDBCQUEwQixLQUFLLEtBQUssQ0FBQTtVQUN6QyxLQUFLLFdBQ0gsSUFBSTs7Z0JBRUEsS0FBSywwQkFBMEIsS0FBSyxTQUFTLENBQUE7c0JBRWpELFFBQUE7VUFDRixLQUFLLGtCQUNILElBQUk7O3NCQUdKLFFBQUEifQ==
@@ -1,4 +1,4 @@
1
- import { t as SbbJourneySummaryElement } from "./journey-summary.component-BZwgD4im.js";
1
+ import { t as SbbJourneySummaryElement } from "./journey-summary.component-B9P1PAJv.js";
2
2
  import "./journey-summary.pure.js";
3
3
  //#region src/elements-experimental/journey-summary.ts
4
4
  /** @entrypoint */
@@ -1,2 +1,2 @@
1
- import { t as SbbJourneySummaryElement } from "./journey-summary.component-BZwgD4im.js";
1
+ import { t as SbbJourneySummaryElement } from "./journey-summary.component-B9P1PAJv.js";
2
2
  export { SbbJourneySummaryElement };
@@ -1,6 +1,6 @@
1
- import { SbbElement } from '@sbb-esta/lyne-elements/core/base-elements.js';
1
+ import { SbbElement } from '@sbb-esta/lyne-elements/core.js';
2
2
  import { CSSResultGroup, TemplateResult } from 'lit';
3
- import { Leg, PtRideLeg } from '../core/timetable.ts';
3
+ import { Leg, PtRideLeg } from '../core.ts';
4
4
  /**
5
5
  * It visually displays journey information.
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pearl-chain.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/pearl-chain/pearl-chain.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAK3E,OAAO,EAA4B,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAKzF,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAW3D;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,gBAAgC,WAAW,EAAE,MAAM,CAAqB;IACxE,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF;;;;;;;OAOG;IACH,SAA2C,IAAI,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAM;IAE1E;;;OAGG;IACH,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD;;;OAGG;IACH,IACW,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAEhC;IACD,IAAW,GAAG,IAAI,IAAI,GAAG,IAAI,CAE5B;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,eAAe;cAmBJ,MAAM,IAAI,cAAc;CA+I5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
1
+ {"version":3,"file":"pearl-chain.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/pearl-chain/pearl-chain.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAIX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAA4B,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAIzF,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAWjD;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,gBAAgC,WAAW,EAAE,MAAM,CAAqB;IACxE,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF;;;;;;;OAOG;IACH,SAA2C,IAAI,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAM;IAE1E;;;OAGG;IACH,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD;;;OAGG;IACH,IACW,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,EAEhC;IACD,IAAW,GAAG,IAAI,IAAI,GAAG,IAAI,CAE5B;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,eAAe;cAmBJ,MAAM,IAAI,cAAc;CA+I5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
@@ -1,2 +1,2 @@
1
- import { t as SbbPearlChainElement } from "../pearl-chain.component-oQZUzsyW.js";
1
+ import { t as SbbPearlChainElement } from "../pearl-chain.component-Dl2RvtJo.js";
2
2
  export { SbbPearlChainElement };
@@ -1,11 +1,12 @@
1
- import { SbbElement } from '@sbb-esta/lyne-elements/core/base-elements.js';
1
+ import { SbbElement, SbbElementType } from '@sbb-esta/lyne-elements/core.js';
2
2
  import { CSSResultGroup, TemplateResult } from 'lit';
3
- import { Leg, PtRideLeg } from '../core/timetable.ts';
3
+ import { Leg, PtRideLeg } from '../core.ts';
4
4
  /**
5
5
  * Combined with `sbb-pearl-chain`, it displays walk time information.
6
6
  */
7
7
  export declare class SbbPearlChainTimeElement extends SbbElement {
8
8
  static readonly elementName: string;
9
+ static elementDependencies: SbbElementType[];
9
10
  static styles: CSSResultGroup;
10
11
  /**
11
12
  * define the legs of the pearl-chain.
@@ -1 +1 @@
1
- {"version":3,"file":"pearl-chain-time.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/pearl-chain-time/pearl-chain-time.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAW3E,OAAO,EAA4B,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAIzF,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,mBAAmB,CAAC;AAE3B;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,UAAU;IACtD,gBAAgC,WAAW,EAAE,MAAM,CAA0B;IAC7E,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF;;;;;;;OAOG;IACH,SAA2C,IAAI,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAM;IAE1E,sEAAsE;IACtE,SAEgB,aAAa,EAAE,MAAM,CAAM;IAE3C,oEAAoE;IACpE,SAEgB,WAAW,EAAE,MAAM,CAAM;IAEzC,0EAA0E;IAC1E,SAEgB,aAAa,EAAE,MAAM,CAAO;IAE5C,uEAAuE;IACvE,SAEgB,WAAW,EAAE,MAAM,CAAO;IAE1C;;;OAGG;IACH,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD,qEAAqE;IACrE,SAEgB,YAAY,EAAE,OAAO,CAAS;IAE9C;;;OAGG;IACH,IACW,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,EAErC;IACD,IAAW,GAAG,IAAI,IAAI,CAErB;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,SAAS,CAAmC;cAEjC,MAAM,IAAI,cAAc;CAoD5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,wBAAwB,CAAC;KAClD;CACF"}
1
+ {"version":3,"file":"pearl-chain-time.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/pearl-chain-time/pearl-chain-time.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAYlF,OAAO,EAA4B,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGzF,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAUjD;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,UAAU;IACtD,gBAAgC,WAAW,EAAE,MAAM,CAA0B;IAC7E,OAAuB,mBAAmB,EAAE,cAAc,EAAE,CAG1D;IACF,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF;;;;;;;OAOG;IACH,SAA2C,IAAI,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAM;IAE1E,sEAAsE;IACtE,SAEgB,aAAa,EAAE,MAAM,CAAM;IAE3C,oEAAoE;IACpE,SAEgB,WAAW,EAAE,MAAM,CAAM;IAEzC,0EAA0E;IAC1E,SAEgB,aAAa,EAAE,MAAM,CAAO;IAE5C,uEAAuE;IACvE,SAEgB,WAAW,EAAE,MAAM,CAAO;IAE1C;;;OAGG;IACH,SAEgB,gBAAgB,EAAE,OAAO,CAAS;IAElD,qEAAqE;IACrE,SAEgB,YAAY,EAAE,OAAO,CAAS;IAE9C;;;OAGG;IACH,IACW,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,EAErC;IACD,IAAW,GAAG,IAAI,IAAI,CAErB;IACD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,SAAS,CAAmC;cAEjC,MAAM,IAAI,cAAc;CAoD5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,wBAAwB,CAAC;KAClD;CACF"}
@@ -1,2 +1,2 @@
1
- import { t as SbbPearlChainTimeElement } from "../pearl-chain-time.component-B2_BI6E_.js";
1
+ import { t as SbbPearlChainTimeElement } from "../pearl-chain-time.component-DDnGnI77.js";
2
2
  export { SbbPearlChainTimeElement };
@@ -1,16 +1,11 @@
1
1
  import { t as format } from "./format-DFx4997p.js";
2
2
  import { __esDecorate, __runInitializers } from "tslib";
3
- import { SbbElement } from "@sbb-esta/lyne-elements/core/base-elements.js";
4
- import { SbbLanguageController } from "@sbb-esta/lyne-elements/core/controllers.js";
5
- import { forceType } from "@sbb-esta/lyne-elements/core/decorators.js";
6
- import { boxSizingStyles } from "@sbb-esta/lyne-elements/core/styles.js";
3
+ import { SbbElement, SbbLanguageController, boxSizingStyles, defaultDateAdapter, forceType, i18nArrival, i18nDeparture, i18nTransferProcedures } from "@sbb-esta/lyne-elements/core.js";
4
+ import { SbbIconElement } from "@sbb-esta/lyne-elements/icon.pure.js";
7
5
  import { html, nothing, unsafeCSS } from "lit";
8
- import { defaultDateAdapter } from "@sbb-esta/lyne-elements/core/datetime.js";
9
- import { i18nArrival, i18nDeparture, i18nTransferProcedures } from "@sbb-esta/lyne-elements/core/i18n.js";
10
6
  import { property } from "lit/decorators.js";
11
- import { removeTimezoneFromISOTimeString } from "./core/datetime.js";
12
- import { getDepartureArrivalTimeAttribute, isRideLeg } from "./core/timetable.js";
13
- import "./pearl-chain.js";
7
+ import { getDepartureArrivalTimeAttribute, isRideLeg, removeTimezoneFromISOTimeString } from "./core.js";
8
+ import { SbbPearlChainElement } from "./pearl-chain.pure.js";
14
9
  //#region src/elements-experimental/pearl-chain-time/pearl-chain-time.scss?inline
15
10
  var pearl_chain_time_default = ":host {\n display: block;\n --sbb-pearl-chain-time-height: auto;\n}\n@media (min-width: calc(37.5rem)) {\n :host {\n --sbb-pearl-chain-time-height: 1.5625rem;\n }\n}\n@media (min-width: calc(64rem)) {\n :host {\n --sbb-pearl-chain-time-height: 1.75rem;\n }\n}\n\n.sbb-pearl-chain__time {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n height: var(--sbb-pearl-chain-time-height);\n}\n\n.sbb-pearl-chain__time-walktime,\n.sbb-pearl-chain__time-transfer {\n --sbb-text-font-size: var(--sbb-text-font-size-xxs);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n display: inline-flex;\n align-items: center;\n}\n\n.sbb-pearl-chain__time-walktime--walk-small-left {\n transform: translateX(-0.4375rem);\n margin-inline-end: calc(var(--sbb-spacing-fixed-2x) - 0.4375rem);\n}\n\n.sbb-pearl-chain__time-walktime--walk-small-right {\n margin-inline-start: calc(var(--sbb-spacing-fixed-2x) - 0.25rem);\n}\n\n.sbb-pearl-chain__time-walktime--wheelchair-small-left {\n transform: translateX(-0.375rem);\n margin-inline-end: calc(var(--sbb-spacing-fixed-2x) - 0.4375rem);\n}\n\n.sbb-pearl-chain__time-walktime--wheelchair-small-right {\n margin-inline-start: calc(var(--sbb-spacing-fixed-2x) - 0.25rem);\n}\n\n.sbb-pearl-chain__time-walktime-prime-symbol {\n float: right;\n}\n\n.sbb-pearl-chain__time-transfer {\n gap: var(--sbb-spacing-fixed-1x);\n}\n\n.sbb-pearl-chain__time-transfer--sa-ci-departure {\n margin-inline-end: var(--sbb-spacing-fixed-2x);\n}\n\n.sbb-pearl-chain__time-transfer--sa-ci-arrival {\n margin-inline-start: calc(var(--sbb-spacing-fixed-2x) - 0.25rem);\n}\n\n.sbb-pearl-chain__time-chain {\n flex: 1 1 auto;\n align-self: center;\n margin-inline: var(--sbb-spacing-fixed-3x);\n}\n\n.sbb-pearl-chain__time-time {\n --sbb-text-font-size: var(--sbb-text-font-size-s);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n font-weight: bold;\n color: var(--sbb-color-2);\n}\n\n.sbb-screen-reader-only {\n border: 0;\n clip-path: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}";
16
11
  //#endregion
@@ -199,6 +194,9 @@ var SbbPearlChainTimeElement = (() => {
199
194
  static {
200
195
  this.elementName = "sbb-pearl-chain-time";
201
196
  }
197
+ static {
198
+ this.elementDependencies = [SbbIconElement, SbbPearlChainElement];
199
+ }
202
200
  static {
203
201
  this.styles = [boxSizingStyles, unsafeCSS(pearl_chain_time_default)];
204
202
  }
@@ -316,4 +314,4 @@ var SbbPearlChainTimeElement = (() => {
316
314
  //#endregion
317
315
  export { SbbPearlChainTimeElement as t };
318
316
 
319
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVhcmwtY2hhaW4tdGltZS5jb21wb25lbnQtQjJfQkk2RV8uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9wZWFybC1jaGFpbi10aW1lL3BlYXJsLWNoYWluLXRpbWUuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3BlYXJsLWNoYWluLXRpbWUvcGVhcmwtY2hhaW4tdGltZS5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAtLXNiYi1wZWFybC1jaGFpbi10aW1lLWhlaWdodDogYXV0bztcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IHNtYWxsKSB7XG4gICAgLS1zYmItcGVhcmwtY2hhaW4tdGltZS1oZWlnaHQ6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgyNSl9O1xuICB9XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLXBlYXJsLWNoYWluLXRpbWUtaGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMjgpfTtcbiAgfVxufVxuXG4uc2JiLXBlYXJsLWNoYWluX190aW1lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogdmFyKC0tc2JiLXBlYXJsLWNoYWluLXRpbWUtaGVpZ2h0KTtcbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZS13YWxrdGltZSxcbi5zYmItcGVhcmwtY2hhaW5fX3RpbWUtdHJhbnNmZXIge1xuICBAaW5jbHVkZSBzYmIudGV4dC14eHMtLXJlZ3VsYXI7XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zYmItcGVhcmwtY2hhaW5fX3RpbWUtd2Fsa3RpbWUtLXdhbGstc21hbGwtbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChzYmIucHgtdG8tcmVtLWJ1aWxkKC03KSk7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KSAtICN7c2JiLnB4LXRvLXJlbS1idWlsZCg3KX0pO1xufVxuXG4uc2JiLXBlYXJsLWNoYWluX190aW1lLXdhbGt0aW1lLS13YWxrLXNtYWxsLXJpZ2h0IHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCkgLSAje3NiYi5weC10by1yZW0tYnVpbGQoNCl9KTtcbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZS13YWxrdGltZS0td2hlZWxjaGFpci1zbWFsbC1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHNiYi5weC10by1yZW0tYnVpbGQoLTYpKTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGModmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpIC0gI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDcpfSk7XG59XG5cbi5zYmItcGVhcmwtY2hhaW5fX3RpbWUtd2Fsa3RpbWUtLXdoZWVsY2hhaXItc21hbGwtcmlnaHQge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KSAtICN7c2JiLnB4LXRvLXJlbS1idWlsZCg0KX0pO1xufVxuXG4uc2JiLXBlYXJsLWNoYWluX190aW1lLXdhbGt0aW1lLXByaW1lLXN5bWJvbCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZS10cmFuc2ZlciB7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xufVxuXG4uc2JiLXBlYXJsLWNoYWluX190aW1lLXRyYW5zZmVyLS1zYS1jaS1kZXBhcnR1cmUge1xuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xufVxuXG4uc2JiLXBlYXJsLWNoYWluX190aW1lLXRyYW5zZmVyLS1zYS1jaS1hcnJpdmFsIHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCkgLSAje3NiYi5weC10by1yZW0tYnVpbGQoNCl9KTtcbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZS1jaGFpbiB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KTtcbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZS10aW1lIHtcbiAgQGluY2x1ZGUgc2JiLnRleHQtcy0tYm9sZDtcblxuICBjb2xvcjogdmFyKC0tc2JiLWNvbG9yLTIpO1xufVxuXG4uc2JiLXNjcmVlbi1yZWFkZXItb25seSB7XG4gIEBpbmNsdWRlIHNiYi5zY3JlZW4tcmVhZGVyLW9ubHk7XG59XG4iLCJpbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZGVmYXVsdERhdGVBZGFwdGVyIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kYXRldGltZS5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHtcbiAgaTE4bkFycml2YWwsXG4gIGkxOG5EZXBhcnR1cmUsXG4gIGkxOG5UcmFuc2ZlclByb2NlZHVyZXMsXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBodG1sLCBub3RoaW5nLCB1bnNhZmVDU1MsIHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcgfSBmcm9tICcuLi9jb3JlL2RhdGV0aW1lLnRzJztcbmltcG9ydCB0eXBlIHsgTGVnLCBQdFJpZGVMZWcgfSBmcm9tICcuLi9jb3JlL3RpbWV0YWJsZS50cyc7XG5pbXBvcnQgeyBnZXREZXBhcnR1cmVBcnJpdmFsVGltZUF0dHJpYnV0ZSwgaXNSaWRlTGVnIH0gZnJvbSAnLi4vY29yZS90aW1ldGFibGUudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wZWFybC1jaGFpbi10aW1lLnNjc3M/aW5saW5lJztcblxuaW1wb3J0ICcuLi9wZWFybC1jaGFpbi50cyc7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBgc2JiLXBlYXJsLWNoYWluYCwgaXQgZGlzcGxheXMgd2FsayB0aW1lIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgU2JiUGVhcmxDaGFpblRpbWVFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItcGVhcmwtY2hhaW4tdGltZSc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKlxuICAgKiBkZWZpbmUgdGhlIGxlZ3Mgb2YgdGhlIHBlYXJsLWNoYWluLlxuICAgKiBGb3JtYXQ6XG4gICAqIGB7XCJsZWdzXCI6IFt7XCJkdXJhdGlvblwiOiAyNX0sIC4uLl19YFxuICAgKiBgZHVyYXRpb25gIGluIG1pbnV0ZXMuIER1cmF0aW9uIG9mIHRoZSBsZWcgaXMgcmVsYXRpdmVcbiAgICogdG8gdGhlIHRvdGFsIHRyYXZlbCB0aW1lLiBFeGFtcGxlOiBkZXBhcnR1cmUgMTY6MzAsIGNoYW5nZSBhdCAxNjo0MCxcbiAgICogYXJyaXZhbCBhdCAxNzowMC4gU28gdGhlIGNoYW5nZSBzaG91bGQgaGF2ZSBhIGR1cmF0aW9uIG9mIDMzLjMzJS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEFycmF5IH0pIHB1YmxpYyBhY2Nlc3NvciBsZWdzOiAoTGVnIHwgUHRSaWRlTGVnKVtdID0gW107XG5cbiAgLyoqIFByb3AgdG8gcmVuZGVyIHRoZSBkZXBhcnR1cmUgdGltZSAtIHdpbGwgYmUgZm9ybWF0dGVkIGFzIFwiSDptbVwiICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdkZXBhcnR1cmUtdGltZScgfSlcbiAgcHVibGljIGFjY2Vzc29yIGRlcGFydHVyZVRpbWU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBQcm9wIHRvIHJlbmRlciB0aGUgYXJyaXZhbCB0aW1lIC0gd2lsbCBiZSBmb3JtYXR0ZWQgYXMgXCJIOm1tXCIgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Fycml2YWwtdGltZScgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFycml2YWxUaW1lOiBzdHJpbmcgPSAnJztcblxuICAvKiogT3B0aW9uYWwgcHJvcCB0byByZW5kZXIgdGhlIHdhbGsgdGltZSAoaW4gbWludXRlcykgYmVmb3JlIGRlcGFydHVyZSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGVwYXJ0dXJlLXdhbGsnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGRlcGFydHVyZVdhbGs6IG51bWJlciA9IE5hTjtcblxuICAvKiogT3B0aW9uYWwgcHJvcCB0byByZW5kZXIgdGhlIHdhbGsgdGltZSAoaW4gbWludXRlcykgYWZ0ZXIgYXJyaXZhbCAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYXJyaXZhbC13YWxrJywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhcnJpdmFsV2FsazogbnVtYmVyID0gTmFOO1xuXG4gIC8qKlxuICAgKiBQZXIgZGVmYXVsdCwgdGhlIGN1cnJlbnQgbG9jYXRpb24gaGFzIGEgcHVsc2F0aW5nIGFuaW1hdGlvbi4gWW91IGNhblxuICAgKiBkaXNhYmxlIHRoZSBhbmltYXRpb24gd2l0aCB0aGlzIHByb3BlcnR5LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Rpc2FibGUtYW5pbWF0aW9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGlzYWJsZUFuaW1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBPcHRpb25hbCBwcm9wIHRvIHJlbmRlciB3aGVlbGNoYWlyLXNtYWxsIGluc3RlYWQgb2Ygd2Fsay1zbWFsbCAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYTExeS1mb290cGF0aCcsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGExMXlGb290cGF0aDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBIGNvbmZpZ3VyZWQgZGF0ZSB3aGljaCBhY3RzIGFzIHRoZSBjdXJyZW50IGRhdGUgaW5zdGVhZCBvZiB0aGUgcmVhbCBjdXJyZW50IGRhdGUuXG4gICAqIE9ubHkgcmVjb21tZW5kZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IG5vdyh2YWx1ZTogRGF0ZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX25vdyA9IGRlZmF1bHREYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwoZGVmYXVsdERhdGVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKSk7XG4gIH1cbiAgcHVibGljIGdldCBub3coKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX25vdyA/PyBuZXcgRGF0ZSgpO1xuICB9XG4gIHByaXZhdGUgX25vdzogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBkZXBhcnR1cmU6IERhdGUgfCB1bmRlZmluZWQgPSB0aGlzLmRlcGFydHVyZVRpbWVcbiAgICAgID8gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyh0aGlzLmRlcGFydHVyZVRpbWUpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBhcnJpdmFsOiBEYXRlIHwgdW5kZWZpbmVkID0gdGhpcy5hcnJpdmFsVGltZVxuICAgICAgPyByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKHRoaXMuYXJyaXZhbFRpbWUpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHsgcmVuZGVyRGVwYXJ0dXJlVGltZUF0dHJpYnV0ZSwgcmVuZGVyQXJyaXZhbFRpbWVBdHRyaWJ1dGUgfSA9XG4gICAgICBnZXREZXBhcnR1cmVBcnJpdmFsVGltZUF0dHJpYnV0ZShcbiAgICAgICAgdGhpcy5sZWdzLFxuICAgICAgICB0aGlzLmRlcGFydHVyZVdhbGsgfHwgMCxcbiAgICAgICAgdGhpcy5hcnJpdmFsV2FsayB8fCAwLFxuICAgICAgICB0aGlzLl9sYW5ndWFnZS5jdXJyZW50LFxuICAgICAgICB0aGlzLmExMXlGb290cGF0aCxcbiAgICAgICk7XG5cbiAgICBjb25zdCByaWRlTGVncyA9IHRoaXMubGVncz8uZmlsdGVyKChsZWcpID0+IGlzUmlkZUxlZyhsZWcpKTtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX3RpbWVcIj5cbiAgICAgICAgJHtyZW5kZXJEZXBhcnR1cmVUaW1lQXR0cmlidXRlKCl9XG4gICAgICAgICR7ZGVwYXJ0dXJlXG4gICAgICAgICAgPyBodG1sYDx0aW1lIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX190aW1lLXRpbWVcIiBkYXRldGltZT0ke3RoaXMuZGVwYXJ0dXJlVGltZSF9PlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIlxuICAgICAgICAgICAgICAgID4ke2kxOG5EZXBhcnR1cmVbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19OiZuYnNwOzwvc3BhblxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICR7Zm9ybWF0KGRlcGFydHVyZSwgJ0hIOm1tJyl9XG4gICAgICAgICAgICA8L3RpbWU+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgJHtyaWRlTGVncz8ubGVuZ3RoID4gMVxuICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIiByb2xlPVwicGFyYWdyYXBoXCI+XG4gICAgICAgICAgICAgICR7cmlkZUxlZ3M/Lmxlbmd0aCAtIDF9ICR7aTE4blRyYW5zZmVyUHJvY2VkdXJlc1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgIDwvc3Bhbj5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICA8c2JiLXBlYXJsLWNoYWluXG4gICAgICAgICAgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX3RpbWUtY2hhaW5cIlxuICAgICAgICAgIC5sZWdzPSR7dGhpcy5sZWdzfVxuICAgICAgICAgIC5kaXNhYmxlQW5pbWF0aW9uPSR7dGhpcy5kaXNhYmxlQW5pbWF0aW9ufVxuICAgICAgICAgIC5ub3c9JHt0aGlzLm5vd31cbiAgICAgICAgPjwvc2JiLXBlYXJsLWNoYWluPlxuICAgICAgICAke2Fycml2YWxcbiAgICAgICAgICA/IGh0bWxgPHRpbWUgY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX3RpbWUtdGltZVwiIGRhdGV0aW1lPSR7dGhpcy5hcnJpdmFsVGltZSF9PlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIlxuICAgICAgICAgICAgICAgID4ke2kxOG5BcnJpdmFsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfTombmJzcDs8L3NwYW5cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAke2Zvcm1hdChhcnJpdmFsLCAnSEg6bW0nKX1cbiAgICAgICAgICAgIDwvdGltZT5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAke3JlbmRlckFycml2YWxUaW1lQXR0cmlidXRlKCl9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcGVhcmwtY2hhaW4tdGltZSc6IFNiYlBlYXJsQ2hhaW5UaW1lRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ3lCYSxrQ0FBd0I7bUJBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztjQUFqQyxpQ0FBaUMsWUFBVTs7O0FBWVgsU0FBQSx5QkFaaEMsa0JBQUEsTUFBQSwyQkFBd0IsRUFBQSxrQkFBQSxNQUFBLG9CQVlvQyxFQUFFLENBQUE7QUFLekQs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
317
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVhcmwtY2hhaW4tdGltZS5jb21wb25lbnQtRERuR25JNzcuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9wZWFybC1jaGFpbi10aW1lL3BlYXJsLWNoYWluLXRpbWUuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3BlYXJsLWNoYWluLXRpbWUvcGVhcmwtY2hhaW4tdGltZS5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAtLXNiYi1wZWFybC1jaGFpbi10aW1lLWhlaWdodDogYXV0bztcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IHNtYWxsKSB7XG4gICAgLS1zYmItcGVhcmwtY2hhaW4tdGltZS1oZWlnaHQ6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgyNSl9O1xuICB9XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLXBlYXJsLWNoYWluLXRpbWUtaGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMjgpfTtcbiAgfVxufVxuXG4uc2JiLXBlYXJsLWNoYWluX190aW1lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogdmFyKC0tc2JiLXBlYXJsLWNoYWluLXRpbWUtaGVpZ2h0KTtcbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZS13YWxrdGltZSxcbi5zYmItcGVhcmwtY2hhaW5fX3RpbWUtdHJhbnNmZXIge1xuICBAaW5jbHVkZSBzYmIudGV4dC14eHMtLXJlZ3VsYXI7XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zYmItcGVhcmwtY2hhaW5fX3RpbWUtd2Fsa3RpbWUtLXdhbGstc21hbGwtbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChzYmIucHgtdG8tcmVtLWJ1aWxkKC03KSk7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KSAtICN7c2JiLnB4LXRvLXJlbS1idWlsZCg3KX0pO1xufVxuXG4uc2JiLXBlYXJsLWNoYWluX190aW1lLXdhbGt0aW1lLS13YWxrLXNtYWxsLXJpZ2h0IHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCkgLSAje3NiYi5weC10by1yZW0tYnVpbGQoNCl9KTtcbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZS13YWxrdGltZS0td2hlZWxjaGFpci1zbWFsbC1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHNiYi5weC10by1yZW0tYnVpbGQoLTYpKTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGModmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpIC0gI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDcpfSk7XG59XG5cbi5zYmItcGVhcmwtY2hhaW5fX3RpbWUtd2Fsa3RpbWUtLXdoZWVsY2hhaXItc21hbGwtcmlnaHQge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KSAtICN7c2JiLnB4LXRvLXJlbS1idWlsZCg0KX0pO1xufVxuXG4uc2JiLXBlYXJsLWNoYWluX190aW1lLXdhbGt0aW1lLXByaW1lLXN5bWJvbCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZS10cmFuc2ZlciB7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xufVxuXG4uc2JiLXBlYXJsLWNoYWluX190aW1lLXRyYW5zZmVyLS1zYS1jaS1kZXBhcnR1cmUge1xuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xufVxuXG4uc2JiLXBlYXJsLWNoYWluX190aW1lLXRyYW5zZmVyLS1zYS1jaS1hcnJpdmFsIHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCkgLSAje3NiYi5weC10by1yZW0tYnVpbGQoNCl9KTtcbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZS1jaGFpbiB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KTtcbn1cblxuLnNiYi1wZWFybC1jaGFpbl9fdGltZS10aW1lIHtcbiAgQGluY2x1ZGUgc2JiLnRleHQtcy0tYm9sZDtcblxuICBjb2xvcjogdmFyKC0tc2JiLWNvbG9yLTIpO1xufVxuXG4uc2JiLXNjcmVlbi1yZWFkZXItb25seSB7XG4gIEBpbmNsdWRlIHNiYi5zY3JlZW4tcmVhZGVyLW9ubHk7XG59XG4iLCJpbXBvcnQgeyBTYmJFbGVtZW50LCB0eXBlIFNiYkVsZW1lbnRUeXBlIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS5qcyc7XG5pbXBvcnQge1xuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG4gIGRlZmF1bHREYXRlQWRhcHRlcixcbiAgZm9yY2VUeXBlLFxuICBpMThuQXJyaXZhbCxcbiAgaTE4bkRlcGFydHVyZSxcbiAgaTE4blRyYW5zZmVyUHJvY2VkdXJlcyxcbiAgYm94U2l6aW5nU3R5bGVzLFxufSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlLmpzJztcbmltcG9ydCB7IFNiYkljb25FbGVtZW50IH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvaWNvbi5wdXJlLmpzJztcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGh0bWwsIG5vdGhpbmcsIHVuc2FmZUNTUywgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBMZWcsIFB0UmlkZUxlZyB9IGZyb20gJy4uL2NvcmUudHMnO1xuaW1wb3J0IHtcbiAgcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyxcbiAgZ2V0RGVwYXJ0dXJlQXJyaXZhbFRpbWVBdHRyaWJ1dGUsXG4gIGlzUmlkZUxlZyxcbn0gZnJvbSAnLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJQZWFybENoYWluRWxlbWVudCB9IGZyb20gJy4uL3BlYXJsLWNoYWluLnB1cmUudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wZWFybC1jaGFpbi10aW1lLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGBzYmItcGVhcmwtY2hhaW5gLCBpdCBkaXNwbGF5cyB3YWxrIHRpbWUgaW5mb3JtYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJQZWFybENoYWluVGltZUVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1wZWFybC1jaGFpbi10aW1lJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBlbGVtZW50RGVwZW5kZW5jaWVzOiBTYmJFbGVtZW50VHlwZVtdID0gW1xuICAgIFNiYkljb25FbGVtZW50LFxuICAgIFNiYlBlYXJsQ2hhaW5FbGVtZW50LFxuICBdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKipcbiAgICogZGVmaW5lIHRoZSBsZWdzIG9mIHRoZSBwZWFybC1jaGFpbi5cbiAgICogRm9ybWF0OlxuICAgKiBge1wibGVnc1wiOiBbe1wiZHVyYXRpb25cIjogMjV9LCAuLi5dfWBcbiAgICogYGR1cmF0aW9uYCBpbiBtaW51dGVzLiBEdXJhdGlvbiBvZiB0aGUgbGVnIGlzIHJlbGF0aXZlXG4gICAqIHRvIHRoZSB0b3RhbCB0cmF2ZWwgdGltZS4gRXhhbXBsZTogZGVwYXJ0dXJlIDE2OjMwLCBjaGFuZ2UgYXQgMTY6NDAsXG4gICAqIGFycml2YWwgYXQgMTc6MDAuIFNvIHRoZSBjaGFuZ2Ugc2hvdWxkIGhhdmUgYSBkdXJhdGlvbiBvZiAzMy4zMyUuXG4gICAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBBcnJheSB9KSBwdWJsaWMgYWNjZXNzb3IgbGVnczogKExlZyB8IFB0UmlkZUxlZylbXSA9IFtdO1xuXG4gIC8qKiBQcm9wIHRvIHJlbmRlciB0aGUgZGVwYXJ0dXJlIHRpbWUgLSB3aWxsIGJlIGZvcm1hdHRlZCBhcyBcIkg6bW1cIiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGVwYXJ0dXJlLXRpbWUnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkZXBhcnR1cmVUaW1lOiBzdHJpbmcgPSAnJztcblxuICAvKiogUHJvcCB0byByZW5kZXIgdGhlIGFycml2YWwgdGltZSAtIHdpbGwgYmUgZm9ybWF0dGVkIGFzIFwiSDptbVwiICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhcnJpdmFsLXRpbWUnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhcnJpdmFsVGltZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqIE9wdGlvbmFsIHByb3AgdG8gcmVuZGVyIHRoZSB3YWxrIHRpbWUgKGluIG1pbnV0ZXMpIGJlZm9yZSBkZXBhcnR1cmUgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2RlcGFydHVyZS13YWxrJywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkZXBhcnR1cmVXYWxrOiBudW1iZXIgPSBOYU47XG5cbiAgLyoqIE9wdGlvbmFsIHByb3AgdG8gcmVuZGVyIHRoZSB3YWxrIHRpbWUgKGluIG1pbnV0ZXMpIGFmdGVyIGFycml2YWwgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Fycml2YWwtd2FsaycsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYXJyaXZhbFdhbGs6IG51bWJlciA9IE5hTjtcblxuICAvKipcbiAgICogUGVyIGRlZmF1bHQsIHRoZSBjdXJyZW50IGxvY2F0aW9uIGhhcyBhIHB1bHNhdGluZyBhbmltYXRpb24uIFlvdSBjYW5cbiAgICogZGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdpdGggdGhpcyBwcm9wZXJ0eS5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdkaXNhYmxlLWFuaW1hdGlvbicsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVBbmltYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogT3B0aW9uYWwgcHJvcCB0byByZW5kZXIgd2hlZWxjaGFpci1zbWFsbCBpbnN0ZWFkIG9mIHdhbGstc21hbGwgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ExMXktZm9vdHBhdGgnLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhMTF5Rm9vdHBhdGg6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBjb25maWd1cmVkIGRhdGUgd2hpY2ggYWN0cyBhcyB0aGUgY3VycmVudCBkYXRlIGluc3RlYWQgb2YgdGhlIHJlYWwgY3VycmVudCBkYXRlLlxuICAgKiBPbmx5IHJlY29tbWVuZGVkIGZvciB0ZXN0aW5nIHB1cnBvc2VzLlxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCBub3codmFsdWU6IERhdGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9ub3cgPSBkZWZhdWx0RGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKGRlZmF1bHREYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICB9XG4gIHB1YmxpYyBnZXQgbm93KCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9ub3cgPz8gbmV3IERhdGUoKTtcbiAgfVxuICBwcml2YXRlIF9ub3c6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgZGVwYXJ0dXJlOiBEYXRlIHwgdW5kZWZpbmVkID0gdGhpcy5kZXBhcnR1cmVUaW1lXG4gICAgICA/IHJlbW92ZVRpbWV6b25lRnJvbUlTT1RpbWVTdHJpbmcodGhpcy5kZXBhcnR1cmVUaW1lKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgYXJyaXZhbDogRGF0ZSB8IHVuZGVmaW5lZCA9IHRoaXMuYXJyaXZhbFRpbWVcbiAgICAgID8gcmVtb3ZlVGltZXpvbmVGcm9tSVNPVGltZVN0cmluZyh0aGlzLmFycml2YWxUaW1lKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCB7IHJlbmRlckRlcGFydHVyZVRpbWVBdHRyaWJ1dGUsIHJlbmRlckFycml2YWxUaW1lQXR0cmlidXRlIH0gPVxuICAgICAgZ2V0RGVwYXJ0dXJlQXJyaXZhbFRpbWVBdHRyaWJ1dGUoXG4gICAgICAgIHRoaXMubGVncyxcbiAgICAgICAgdGhpcy5kZXBhcnR1cmVXYWxrIHx8IDAsXG4gICAgICAgIHRoaXMuYXJyaXZhbFdhbGsgfHwgMCxcbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCxcbiAgICAgICAgdGhpcy5hMTF5Rm9vdHBhdGgsXG4gICAgICApO1xuXG4gICAgY29uc3QgcmlkZUxlZ3MgPSB0aGlzLmxlZ3M/LmZpbHRlcigobGVnKSA9PiBpc1JpZGVMZWcobGVnKSk7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX190aW1lXCI+XG4gICAgICAgICR7cmVuZGVyRGVwYXJ0dXJlVGltZUF0dHJpYnV0ZSgpfVxuICAgICAgICAke2RlcGFydHVyZVxuICAgICAgICAgID8gaHRtbGA8dGltZSBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fdGltZS10aW1lXCIgZGF0ZXRpbWU9JHt0aGlzLmRlcGFydHVyZVRpbWUhfT5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCJcbiAgICAgICAgICAgICAgICA+JHtpMThuRGVwYXJ0dXJlW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfTombmJzcDs8L3NwYW5cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAke2Zvcm1hdChkZXBhcnR1cmUsICdISDptbScpfVxuICAgICAgICAgICAgPC90aW1lPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICR7cmlkZUxlZ3M/Lmxlbmd0aCA+IDFcbiAgICAgICAgICA/IGh0bWxgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCIgcm9sZT1cInBhcmFncmFwaFwiPlxuICAgICAgICAgICAgICAke3JpZGVMZWdzPy5sZW5ndGggLSAxfSAke2kxOG5UcmFuc2ZlclByb2NlZHVyZXNbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgICAgICA8L3NwYW4+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgPHNiYi1wZWFybC1jaGFpblxuICAgICAgICAgIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX190aW1lLWNoYWluXCJcbiAgICAgICAgICAubGVncz0ke3RoaXMubGVnc31cbiAgICAgICAgICAuZGlzYWJsZUFuaW1hdGlvbj0ke3RoaXMuZGlzYWJsZUFuaW1hdGlvbn1cbiAgICAgICAgICAubm93PSR7dGhpcy5ub3d9XG4gICAgICAgID48L3NiYi1wZWFybC1jaGFpbj5cbiAgICAgICAgJHthcnJpdmFsXG4gICAgICAgICAgPyBodG1sYDx0aW1lIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX190aW1lLXRpbWVcIiBkYXRldGltZT0ke3RoaXMuYXJyaXZhbFRpbWUhfT5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCJcbiAgICAgICAgICAgICAgICA+JHtpMThuQXJyaXZhbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX06Jm5ic3A7PC9zcGFuXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgJHtmb3JtYXQoYXJyaXZhbCwgJ0hIOm1tJyl9XG4gICAgICAgICAgICA8L3RpbWU+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgJHtyZW5kZXJBcnJpdmFsVGltZUF0dHJpYnV0ZSgpfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXBlYXJsLWNoYWluLXRpbWUnOiBTYmJQZWFybENoYWluVGltZUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0lDNEJhLGtDQUF3QjttQkFBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2NBQWpDLGlDQUFpQyxZQUFVOzs7QUFnQlgsU0FBQSx5QkFoQmhDLGtCQUFBLE1BQUEsMkJBQXdCLEVBQUEsa0JBQUEsTUFBQSxvQkFnQm9DLEVBQUUsQ0FBQTtBQUt6RCxTQUFBLGtDQUFBLGtCQUFBLE1BQUEsd0JBQUEsRUFBQSxrQkFBQSxNQUFBLDZCQUF3QixH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
@@ -1,4 +1,4 @@
1
- import { t as SbbPearlChainTimeElement } from "./pearl-chain-time.component-B2_BI6E_.js";
1
+ import { t as SbbPearlChainTimeElement } from "./pearl-chain-time.component-DDnGnI77.js";
2
2
  import "./pearl-chain-time.pure.js";
3
3
  //#region src/elements-experimental/pearl-chain-time.ts
4
4
  /** @entrypoint */
@@ -1,2 +1,2 @@
1
- import { t as SbbPearlChainTimeElement } from "./pearl-chain-time.component-B2_BI6E_.js";
1
+ import { t as SbbPearlChainTimeElement } from "./pearl-chain-time.component-DDnGnI77.js";
2
2
  export { SbbPearlChainTimeElement };
@@ -1,4 +1,4 @@
1
- import { SbbElement } from '@sbb-esta/lyne-elements/core/base-elements.js';
1
+ import { SbbElement } from '@sbb-esta/lyne-elements/core.js';
2
2
  import { CSSResultGroup, TemplateResult } from 'lit';
3
3
  /**
4
4
  * It can be used as a container for the `sbb-pearl-chain-vertical-item` component.
@@ -1 +1 @@
1
- {"version":3,"file":"pearl-chain-vertical.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/pearl-chain-vertical/pearl-chain-vertical.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAE3E,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAIhF;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,UAAU;IAC1D,gBAAgC,WAAW,EAAE,MAAM,CAA8B;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAuC;cAEjE,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,0BAA0B,EAAE,4BAA4B,CAAC;KAC1D;CACF"}
1
+ {"version":3,"file":"pearl-chain-vertical.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/pearl-chain-vertical/pearl-chain-vertical.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAIhF;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,UAAU;IAC1D,gBAAgC,WAAW,EAAE,MAAM,CAA8B;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAuC;cAEjE,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,0BAA0B,EAAE,4BAA4B,CAAC;KAC1D;CACF"}
@@ -1,2 +1,2 @@
1
- import { t as SbbPearlChainVerticalElement } from "../pearl-chain-vertical.component-CpcNFl-x.js";
1
+ import { t as SbbPearlChainVerticalElement } from "../pearl-chain-vertical.component-Cmc3QXgd.js";
2
2
  export { SbbPearlChainVerticalElement };
@@ -1,4 +1,4 @@
1
- import { SbbElement } from '@sbb-esta/lyne-elements/core/base-elements.js';
1
+ import { SbbElement } from '@sbb-esta/lyne-elements/core.js';
2
2
  import { CSSResultGroup, TemplateResult } from 'lit';
3
3
  export type LineType = 'dotted' | 'standard' | 'thin';
4
4
  export type BulletType = 'default' | 'past' | 'irrelevant' | 'skipped' | 'disruption';
@@ -1 +1 @@
1
- {"version":3,"file":"pearl-chain-vertical-item.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/pearl-chain-vertical-item/pearl-chain-vertical-item.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAG3E,OAAO,EAA4B,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAMzF,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAEtD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;AAEtF,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;AAEnE,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;AAE9C,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,gCAAiC,SAAQ,UAAU;IAC9D,gBAAgC,WAAW,EAAE,MAAM,CAAmC;IACtF,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF,iFAAiF;IACjF,SACgB,gCAAgC,EAAE,gCAAgC,CAAS;IAE3F,+CAA+C;IAC/C,SAEgB,gBAAgB,EAAE,OAAO,CAAS;cAE/B,MAAM,IAAI,cAAc;CAyC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,+BAA+B,EAAE,gCAAgC,CAAC;KACnE;CACF"}
1
+ {"version":3,"file":"pearl-chain-vertical-item.component.d.ts","sourceRoot":"","sources":["../../../../src/elements-experimental/pearl-chain-vertical-item/pearl-chain-vertical-item.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA8B,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAA4B,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAMzF,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAEtD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;AAEtF,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;AAEnE,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;AAE9C,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,gCAAiC,SAAQ,UAAU;IAC9D,gBAAgC,WAAW,EAAE,MAAM,CAAmC;IACtF,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF,iFAAiF;IACjF,SACgB,gCAAgC,EAAE,gCAAgC,CAAS;IAE3F,+CAA+C;IAC/C,SAEgB,gBAAgB,EAAE,OAAO,CAAS;cAE/B,MAAM,IAAI,cAAc;CAyC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,+BAA+B,EAAE,gCAAgC,CAAC;KACnE;CACF"}