@sbb-esta/lyne-elements-experimental-dev 4.13.0-dev.1779279886 → 4.13.0-dev.1779362114

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 (153) hide show
  1. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  2. package/autocomplete-grid/autocomplete-grid-cell.js +1 -1
  3. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  4. package/autocomplete-grid/autocomplete-grid-option.js +1 -1
  5. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  6. package/autocomplete-grid/autocomplete-grid-row.js +1 -1
  7. package/autocomplete-grid.js +3 -3
  8. package/autocomplete-grid.pure.js +3 -3
  9. package/core/datetime/date-helper.js +1 -1
  10. package/core/datetime.js +1 -1
  11. package/{date-helper-CGproP5d.js → date-helper-NgYaHPR7.js} +3 -3
  12. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  13. package/development/autocomplete-grid/autocomplete-grid-cell.js +1 -1
  14. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  15. package/development/autocomplete-grid/autocomplete-grid-option.js +1 -1
  16. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  17. package/development/autocomplete-grid/autocomplete-grid-row.js +1 -1
  18. package/development/{autocomplete-grid-cell.component-BxkWGaX0.js → autocomplete-grid-cell.component-CTC6s1q3.js} +1 -1
  19. package/development/{autocomplete-grid-option.component-5mPGswUO.js → autocomplete-grid-option.component-DqkLWHcg.js} +1 -1
  20. package/development/{autocomplete-grid-row.component-DEm6zyHZ.js → autocomplete-grid-row.component-CvF3ZWDZ.js} +1 -1
  21. package/development/autocomplete-grid.js +3 -3
  22. package/development/autocomplete-grid.pure.js +3 -3
  23. package/development/core/datetime/date-helper.js +1 -1
  24. package/development/core/datetime.js +1 -1
  25. package/development/{date-helper-DrUAT1pZ.js → date-helper-CoHhPpk8.js} +4 -4
  26. package/development/{differenceInMinutes-CqAOVimt.js → differenceInMinutes-CJllL661.js} +2 -2
  27. package/development/{format-DFx4997p.js → format-Cx3zmmaF.js} +3 -3
  28. package/development/{isValid-JpZ7FphI.js → isValid-40Olgzo1.js} +2 -2
  29. package/development/journey-summary/journey-summary.component.js +1 -1
  30. package/development/{journey-summary.component-BZwgD4im.js → journey-summary.component-BTaPGCGZ.js} +3 -3
  31. package/development/journey-summary.js +1 -1
  32. package/development/journey-summary.pure.js +1 -1
  33. package/development/{mapper-hWWm7Uke.js → mapper-BrZOqqfe.js} +1 -1
  34. package/development/pearl-chain/pearl-chain.component.js +1 -1
  35. package/development/pearl-chain-time/pearl-chain-time.component.js +1 -1
  36. package/development/{pearl-chain-time.component-B2_BI6E_.js → pearl-chain-time.component-BMHLITah.js} +2 -2
  37. package/development/pearl-chain-time.js +1 -1
  38. package/development/pearl-chain-time.pure.js +1 -1
  39. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  40. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  41. package/development/{pearl-chain-vertical-item.component-D4clzjjQ.js → pearl-chain-vertical-item.component-JYDWs8ta.js} +1 -1
  42. package/development/pearl-chain-vertical-item.js +1 -1
  43. package/development/pearl-chain-vertical-item.pure.js +1 -1
  44. package/development/{pearl-chain-vertical.component-CpcNFl-x.js → pearl-chain-vertical.component-YYXS_74c.js} +1 -1
  45. package/development/pearl-chain-vertical.js +1 -1
  46. package/development/pearl-chain-vertical.pure.js +1 -1
  47. package/development/{pearl-chain.component-Dl4DqDey.js → pearl-chain.component-CGIWJ0Ro.js} +3 -3
  48. package/development/pearl-chain.js +1 -1
  49. package/development/pearl-chain.pure.js +1 -1
  50. package/development/seat-reservation/common/mapper/mapper.js +1 -1
  51. package/development/seat-reservation/common/mapper.js +1 -1
  52. package/development/seat-reservation/common/svgs.js +1 -1
  53. package/development/seat-reservation/common.js +2 -2
  54. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  55. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  56. package/development/seat-reservation/seat-reservation-area.js +1 -1
  57. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +1 -1
  58. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  59. package/development/seat-reservation/seat-reservation-graphic.js +1 -1
  60. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
  61. package/development/seat-reservation/seat-reservation-navigation-coach.js +1 -1
  62. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  63. package/development/seat-reservation/seat-reservation-navigation-services.js +1 -1
  64. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +1 -1
  65. package/development/seat-reservation/seat-reservation-place-control.js +1 -1
  66. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  67. package/development/seat-reservation/seat-reservation-scoped.js +1 -1
  68. package/development/seat-reservation/seat-reservation.js +1 -1
  69. package/development/{seat-reservation-area.component-BWdrKqek.js → seat-reservation-area.component-dG1GXJQP.js} +1 -1
  70. package/development/{seat-reservation-graphic.component-CN5sWn0I.js → seat-reservation-graphic.component-BmhZpVL0.js} +1 -1
  71. package/development/{seat-reservation-navigation-coach.component-tDZkXl-3.js → seat-reservation-navigation-coach.component-Be9CBw62.js} +1 -1
  72. package/development/{seat-reservation-navigation-services.component-CGel7__P.js → seat-reservation-navigation-services.component-B2uWa_VN.js} +1 -1
  73. package/development/{seat-reservation-place-control.component-BRwoBNxW.js → seat-reservation-place-control.component-CdL6yPUZ.js} +1 -1
  74. package/development/{seat-reservation-scoped.component-CFA_bJ3o.js → seat-reservation-scoped.component-CJCkuKGz.js} +1 -1
  75. package/development/{seat-reservation.component-44IHFFlM.js → seat-reservation.component-B4BxXyLr.js} +1 -1
  76. package/development/seat-reservation.js +9 -9
  77. package/development/seat-reservation.pure.js +9 -9
  78. package/development/{svgs-kDpBCto5.js → svgs-Dj-RKmRs.js} +1 -1
  79. package/development/timetable-duration/timetable-duration.component.js +1 -1
  80. package/development/{timetable-duration.component-BhFlqYbV.js → timetable-duration.component-CXF0oJbO.js} +1 -1
  81. package/development/timetable-duration.js +1 -1
  82. package/development/timetable-duration.pure.js +1 -1
  83. package/development/timetable-row/timetable-row.component.js +1 -1
  84. package/development/{timetable-row.component-Dko8laRT.js → timetable-row.component-BCufuA05.js} +3 -3
  85. package/development/timetable-row.js +1 -1
  86. package/development/timetable-row.pure.js +1 -1
  87. package/development/{toDate-DOFAOjP-.js → toDate-CDWut5fS.js} +1 -1
  88. package/{differenceInMinutes-Dr9gRqtu.js → differenceInMinutes-BAZ-Fham.js} +1 -1
  89. package/{format-DbUuNYFU.js → format-DjgG1QPc.js} +2 -2
  90. package/{isValid-B9oVW3lA.js → isValid-CXnsFZVu.js} +1 -1
  91. package/journey-summary/journey-summary.component.js +1 -1
  92. package/{journey-summary.component-OFYXlkzg.js → journey-summary.component-DyTUTCOU.js} +2 -2
  93. package/journey-summary.js +1 -1
  94. package/journey-summary.pure.js +1 -1
  95. package/package.json +2 -2
  96. package/pearl-chain/pearl-chain.component.js +1 -1
  97. package/pearl-chain-time/pearl-chain-time.component.js +1 -1
  98. package/{pearl-chain-time.component-CNKsGfIp.js → pearl-chain-time.component-DXe2o6S1.js} +1 -1
  99. package/pearl-chain-time.js +1 -1
  100. package/pearl-chain-time.pure.js +1 -1
  101. package/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  102. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  103. package/pearl-chain-vertical-item.js +1 -1
  104. package/pearl-chain-vertical-item.pure.js +1 -1
  105. package/pearl-chain-vertical.js +1 -1
  106. package/pearl-chain-vertical.pure.js +1 -1
  107. package/{pearl-chain.component-CpISVoAu.js → pearl-chain.component-CPaCcW_1.js} +2 -2
  108. package/pearl-chain.js +1 -1
  109. package/pearl-chain.pure.js +1 -1
  110. package/seat-reservation/common/mapper/mapper.js +1 -1
  111. package/seat-reservation/common/mapper.js +1 -1
  112. package/seat-reservation/common/svgs.js +1 -1
  113. package/seat-reservation/common.js +2 -2
  114. package/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  115. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  116. package/seat-reservation/seat-reservation-area.js +1 -1
  117. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +1 -1
  118. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  119. package/seat-reservation/seat-reservation-graphic.js +1 -1
  120. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
  121. package/seat-reservation/seat-reservation-navigation-coach.js +1 -1
  122. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  123. package/seat-reservation/seat-reservation-navigation-services.js +1 -1
  124. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +1 -1
  125. package/seat-reservation/seat-reservation-place-control.js +1 -1
  126. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  127. package/seat-reservation/seat-reservation-scoped.js +1 -1
  128. package/seat-reservation/seat-reservation.js +1 -1
  129. package/seat-reservation.js +9 -9
  130. package/seat-reservation.pure.js +9 -9
  131. package/timetable-duration/timetable-duration.component.js +1 -1
  132. package/timetable-duration.js +1 -1
  133. package/timetable-duration.pure.js +1 -1
  134. package/timetable-row/timetable-row.component.js +1 -1
  135. package/{timetable-row.component-Cd_7Pu_E.js → timetable-row.component-a5CWXLAQ.js} +2 -2
  136. package/timetable-row.js +1 -1
  137. package/timetable-row.pure.js +1 -1
  138. /package/{autocomplete-grid-cell.component-DkD9aFKc.js → autocomplete-grid-cell.component-D-Kk9HwQ.js} +0 -0
  139. /package/{autocomplete-grid-option.component-CtATJy7n.js → autocomplete-grid-option.component-qBUSf0mD.js} +0 -0
  140. /package/{autocomplete-grid-row.component-6nJv5PMj.js → autocomplete-grid-row.component-57jjeZWF.js} +0 -0
  141. /package/{mapper-Cqie5ivY.js → mapper-Dcou8VEf.js} +0 -0
  142. /package/{pearl-chain-vertical-item.component-CGYNzFlK.js → pearl-chain-vertical-item.component-Bby13csG.js} +0 -0
  143. /package/{pearl-chain-vertical.component-Df9CvRxo.js → pearl-chain-vertical.component-0EgQ4knk.js} +0 -0
  144. /package/{seat-reservation-area.component-B5_N7H_a.js → seat-reservation-area.component-DZsXvaMQ.js} +0 -0
  145. /package/{seat-reservation-graphic.component-Dh1e2Pve.js → seat-reservation-graphic.component-BnJuHVZQ.js} +0 -0
  146. /package/{seat-reservation-navigation-coach.component-BdCUfksf.js → seat-reservation-navigation-coach.component-DgdpqMzG.js} +0 -0
  147. /package/{seat-reservation-navigation-services.component-C9dDYD_M.js → seat-reservation-navigation-services.component-6ECATtWB.js} +0 -0
  148. /package/{seat-reservation-place-control.component-CbFVSbdO.js → seat-reservation-place-control.component-kx07J_YK.js} +0 -0
  149. /package/{seat-reservation-scoped.component-DVyP2JGE.js → seat-reservation-scoped.component-L1wMt65t.js} +0 -0
  150. /package/{seat-reservation.component-CtEqqosF.js → seat-reservation.component-B_T6eTf6.js} +0 -0
  151. /package/{svgs-D5DhLHxC.js → svgs-D4fuYTHV.js} +0 -0
  152. /package/{timetable-duration.component-BnJA8wSb.js → timetable-duration.component-Bqo5N_De.js} +0 -0
  153. /package/{toDate-p-Tpkb7t.js → toDate-BhNUyM4s.js} +0 -0
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../autocomplete-grid-cell.component-DkD9aFKc.js";
1
+ import { t as e } from "../../autocomplete-grid-cell.component-D-Kk9HwQ.js";
2
2
  export { e as SbbAutocompleteGridCellElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../autocomplete-grid-cell.component-DkD9aFKc.js";
1
+ import { t as e } from "../autocomplete-grid-cell.component-D-Kk9HwQ.js";
2
2
  e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/autocomplete-grid/autocomplete-grid-cell.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/autocomplete-grid.js' or '@sbb-esta/elements-experimental/autocomplete-grid.pure.js' instead.");
3
3
  //#endregion
4
4
  export { e as SbbAutocompleteGridCellElement };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../../autocomplete-grid-option.component-CtATJy7n.js";
1
+ import { n as e, t } from "../../autocomplete-grid-option.component-qBUSf0mD.js";
2
2
  export { t as SbbAutocompleteGridOptionElement, e as autocompleteGridOptionId };
@@ -1,4 +1,4 @@
1
- import { n as e, t } from "../autocomplete-grid-option.component-CtATJy7n.js";
1
+ import { n as e, t } from "../autocomplete-grid-option.component-qBUSf0mD.js";
2
2
  t.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/autocomplete-grid/autocomplete-grid-option.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/autocomplete-grid.js' or '@sbb-esta/elements-experimental/autocomplete-grid.pure.js' instead.");
3
3
  //#endregion
4
4
  export { t as SbbAutocompleteGridOptionElement, e as autocompleteGridOptionId };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../autocomplete-grid-row.component-6nJv5PMj.js";
1
+ import { t as e } from "../../autocomplete-grid-row.component-57jjeZWF.js";
2
2
  export { e as SbbAutocompleteGridRowElement };
@@ -1,4 +1,4 @@
1
- import { t as e } from "../autocomplete-grid-row.component-6nJv5PMj.js";
1
+ import { t as e } from "../autocomplete-grid-row.component-57jjeZWF.js";
2
2
  e.define(), console.warn("The entrypoint '@sbb-esta/elements-experimental/autocomplete-grid/autocomplete-grid-row.js' has been deprecated.\nUse either '@sbb-esta/elements-experimental/autocomplete-grid.js' or '@sbb-esta/elements-experimental/autocomplete-grid.pure.js' instead.");
3
3
  //#endregion
4
4
  export { e as SbbAutocompleteGridRowElement };
@@ -1,8 +1,8 @@
1
1
  import { SbbAutocompleteGridButtonElement as e } from "./autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js";
2
- import { t } from "./autocomplete-grid-cell.component-DkD9aFKc.js";
2
+ import { t } from "./autocomplete-grid-cell.component-D-Kk9HwQ.js";
3
3
  import { SbbAutocompleteGridOptgroupElement as n } from "./autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js";
4
- import { n as r, t as i } from "./autocomplete-grid-option.component-CtATJy7n.js";
5
- import { t as a } from "./autocomplete-grid-row.component-6nJv5PMj.js";
4
+ import { n as r, t as i } from "./autocomplete-grid-option.component-qBUSf0mD.js";
5
+ import { t as a } from "./autocomplete-grid-row.component-57jjeZWF.js";
6
6
  import { SbbAutocompleteGridElement as o } from "./autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js";
7
7
  import "./autocomplete-grid.pure.js";
8
8
  o.define(), e.define(), t.define(), n.define(), i.define(), a.define();
@@ -1,7 +1,7 @@
1
1
  import { SbbAutocompleteGridButtonElement as e } from "./autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js";
2
- import { t } from "./autocomplete-grid-cell.component-DkD9aFKc.js";
2
+ import { t } from "./autocomplete-grid-cell.component-D-Kk9HwQ.js";
3
3
  import { SbbAutocompleteGridOptgroupElement as n } from "./autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js";
4
- import { n as r, t as i } from "./autocomplete-grid-option.component-CtATJy7n.js";
5
- import { t as a } from "./autocomplete-grid-row.component-6nJv5PMj.js";
4
+ import { n as r, t as i } from "./autocomplete-grid-option.component-qBUSf0mD.js";
5
+ import { t as a } from "./autocomplete-grid-row.component-57jjeZWF.js";
6
6
  import { SbbAutocompleteGridElement as o } from "./autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js";
7
7
  export { e as SbbAutocompleteGridButtonElement, t as SbbAutocompleteGridCellElement, o as SbbAutocompleteGridElement, n as SbbAutocompleteGridOptgroupElement, i as SbbAutocompleteGridOptionElement, a as SbbAutocompleteGridRowElement, r as autocompleteGridOptionId };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../../date-helper-CGproP5d.js";
1
+ import { n as e, t } from "../../date-helper-NgYaHPR7.js";
2
2
  export { t as durationToTime, e as removeTimezoneFromISOTimeString };
package/core/datetime.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../date-helper-CGproP5d.js";
1
+ import { n as e, t } from "../date-helper-NgYaHPR7.js";
2
2
  export { t as durationToTime, e as removeTimezoneFromISOTimeString };
@@ -1,6 +1,6 @@
1
- import { a as e, i as t, n, t as r } from "./toDate-p-Tpkb7t.js";
2
- import { n as i, r as a, t as o } from "./isValid-B9oVW3lA.js";
3
- import { n as s, r as c, t as l } from "./differenceInMinutes-Dr9gRqtu.js";
1
+ import { a as e, i as t, n, t as r } from "./toDate-BhNUyM4s.js";
2
+ import { n as i, r as a, t as o } from "./isValid-CXnsFZVu.js";
3
+ import { n as s, r as c, t as l } from "./differenceInMinutes-BAZ-Fham.js";
4
4
  import { i18nDurationDay as u, i18nDurationHour as d, i18nDurationMinute as f } from "@sbb-esta/lyne-elements/core/i18n.js";
5
5
  //#region node_modules/date-fns/addDays.js
6
6
  function p(e, t, i) {
@@ -1,2 +1,2 @@
1
- import { t as SbbAutocompleteGridCellElement } from "../../autocomplete-grid-cell.component-BxkWGaX0.js";
1
+ import { t as SbbAutocompleteGridCellElement } from "../../autocomplete-grid-cell.component-CTC6s1q3.js";
2
2
  export { SbbAutocompleteGridCellElement };
@@ -1,4 +1,4 @@
1
- import { t as SbbAutocompleteGridCellElement } from "../autocomplete-grid-cell.component-BxkWGaX0.js";
1
+ import { t as SbbAutocompleteGridCellElement } from "../autocomplete-grid-cell.component-CTC6s1q3.js";
2
2
  //#region src/elements-experimental/autocomplete-grid/autocomplete-grid-cell.ts
3
3
  /** @entrypoint */
4
4
  SbbAutocompleteGridCellElement.define();
@@ -1,2 +1,2 @@
1
- import { n as autocompleteGridOptionId, t as SbbAutocompleteGridOptionElement } from "../../autocomplete-grid-option.component-5mPGswUO.js";
1
+ import { n as autocompleteGridOptionId, t as SbbAutocompleteGridOptionElement } from "../../autocomplete-grid-option.component-DqkLWHcg.js";
2
2
  export { SbbAutocompleteGridOptionElement, autocompleteGridOptionId };
@@ -1,4 +1,4 @@
1
- import { n as autocompleteGridOptionId, t as SbbAutocompleteGridOptionElement } from "../autocomplete-grid-option.component-5mPGswUO.js";
1
+ import { n as autocompleteGridOptionId, t as SbbAutocompleteGridOptionElement } from "../autocomplete-grid-option.component-DqkLWHcg.js";
2
2
  //#region src/elements-experimental/autocomplete-grid/autocomplete-grid-option.ts
3
3
  /** @entrypoint */
4
4
  SbbAutocompleteGridOptionElement.define();
@@ -1,2 +1,2 @@
1
- import { t as SbbAutocompleteGridRowElement } from "../../autocomplete-grid-row.component-DEm6zyHZ.js";
1
+ import { t as SbbAutocompleteGridRowElement } from "../../autocomplete-grid-row.component-CvF3ZWDZ.js";
2
2
  export { SbbAutocompleteGridRowElement };
@@ -1,4 +1,4 @@
1
- import { t as SbbAutocompleteGridRowElement } from "../autocomplete-grid-row.component-DEm6zyHZ.js";
1
+ import { t as SbbAutocompleteGridRowElement } from "../autocomplete-grid-row.component-CvF3ZWDZ.js";
2
2
  //#region src/elements-experimental/autocomplete-grid/autocomplete-grid-row.ts
3
3
  /** @entrypoint */
4
4
  SbbAutocompleteGridRowElement.define();
@@ -31,4 +31,4 @@ var SbbAutocompleteGridCellElement = class extends SbbElement {
31
31
  //#endregion
32
32
  export { SbbAutocompleteGridCellElement as t };
33
33
 
34
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtY2VsbC5jb21wb25lbnQtQnhrV0dhWDAuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9hdXRvY29tcGxldGUtZ3JpZC9hdXRvY29tcGxldGUtZ3JpZC1jZWxsL2F1dG9jb21wbGV0ZS1ncmlkLWNlbGwuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkLWNlbGwvYXV0b2NvbXBsZXRlLWdyaWQtY2VsbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi1hdXRvY29tcGxldGUtZ3JpZC1jZWxsLWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNngpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWNlbGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtY2VsbC1nYXApO1xufVxuIiwiaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9hdXRvY29tcGxldGUtZ3JpZC1jZWxsLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBBIHdyYXBwZXIgY29tcG9uZW50IGZvciBhdXRvY29tcGxldGUtZ3JpZCBhY3Rpb24gYnV0dG9uLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGEgYHNiYi1hdXRvY29tcGxldGUtZ3JpZC1idXR0b25gIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJBdXRvY29tcGxldGVHcmlkQ2VsbEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1jZWxsJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ2dyaWRjZWxsJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGUtZ3JpZC1jZWxsXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtY2VsbCc6IFNiYkF1dG9jb21wbGV0ZUdyaWRDZWxsRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUNXQSxJQUFhLGlDQUFiLGNBQW9ELFdBQVU7O0VBQzVCLEtBQUEsY0FBc0I7Q0FBNkI7O0VBQ25ELEtBQUEsT0FBTztDQUFXOztFQUMzQixLQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsOEJBQUssQ0FBQztDQUFFO0NBRWpFLFNBQU07RUFDdkIsT0FBTyxJQUFJOzs7OztDQUtiIn0=
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtY2VsbC5jb21wb25lbnQtQ1RDNnMxcTMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9hdXRvY29tcGxldGUtZ3JpZC9hdXRvY29tcGxldGUtZ3JpZC1jZWxsL2F1dG9jb21wbGV0ZS1ncmlkLWNlbGwuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkLWNlbGwvYXV0b2NvbXBsZXRlLWdyaWQtY2VsbC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi1hdXRvY29tcGxldGUtZ3JpZC1jZWxsLWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNngpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWNlbGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtY2VsbC1nYXApO1xufVxuIiwiaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9hdXRvY29tcGxldGUtZ3JpZC1jZWxsLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBBIHdyYXBwZXIgY29tcG9uZW50IGZvciBhdXRvY29tcGxldGUtZ3JpZCBhY3Rpb24gYnV0dG9uLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGEgYHNiYi1hdXRvY29tcGxldGUtZ3JpZC1idXR0b25gIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJBdXRvY29tcGxldGVHcmlkQ2VsbEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1jZWxsJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ2dyaWRjZWxsJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGUtZ3JpZC1jZWxsXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtY2VsbCc6IFNiYkF1dG9jb21wbGV0ZUdyaWRDZWxsRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUNXQSxJQUFhLGlDQUFiLGNBQW9ELFdBQVU7O0VBQzVCLEtBQUEsY0FBc0I7Q0FBNkI7O0VBQ25ELEtBQUEsT0FBTztDQUFXOztFQUMzQixLQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsOEJBQUssQ0FBQztDQUFFO0NBRWpFLFNBQU07RUFDdkIsT0FBTyxJQUFJOzs7OztDQUtiIn0=
@@ -58,4 +58,4 @@ var SbbAutocompleteGridOptionElement = class extends SbbOptionBaseElement {
58
58
  //#endregion
59
59
  export { autocompleteGridOptionId as n, SbbAutocompleteGridOptionElement as t };
60
60
 
61
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLmNvbXBvbmVudC01bVBHc3dVTy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbi9hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24uc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbi9hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24uY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KDpzdGF0ZShuZWdhdGl2ZSkpIHtcbiAgLS1zYmItb3B0aW9uLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMy1uZWdhdGl2ZSk7XG4gIC0tc2JiLW9wdGlvbi1pY29uLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItNSk7XG59XG5cbi8vIElmIGhpZ2hsaWdodGluZyBpcyBlbmFibGVkLCBoaWRlIHRoZSBvcmlnaW5hbCBzbG90IGNvbnRlbnRcbjpob3N0KDpub3QoOnN0YXRlKGRpc2FibGUtaGlnaGxpZ2h0KSkpIHtcbiAgLnNiYi1vcHRpb25fX2xhYmVsIHNsb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKGFjdGl2ZSkpIHtcbiAgLS1zYmItb3B0aW9uLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yKTtcbn1cblxuLnNiYi1vcHRpb24ge1xuICBmb250LXNpemU6IHZhcigtLXNiYi1vcHRpb24tZm9udC1zaXplKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IHZhcigtLXNiYi1vcHRpb24tY29sdW1uLWdhcCk7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNiYi1vcHRpb24tbWluLWhlaWdodCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItb3B0aW9uLXBhZGRpbmctaW5saW5lKTtcbiAgY29sb3I6IHZhcigtLXNiYi1vcHRpb24tY29sb3IpO1xuXG4gIC8vIFdlIHVzZSB0aGUgcHNldWRvIGVsZW1lbnQgdG8gZGlzcGxheSB0aGUgZm9jdXMgb3V0bGluZSAoaW5saW5lIGluIHRoaXMgY2FzZSlcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogdmFyKC0tc2JiLW9wdGlvbi1mb2N1cy1vdXRsaW5lLWluc2V0KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLXdpZHRoKSBzb2xpZCB2YXIoLS1zYmItb3B0aW9uLWZvY3VzLW91dGxpbmUtY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1vcHRpb24tYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuLnNiYi1vcHRpb25fX2xhYmVsLS1oaWdobGlnaHQge1xuICA6aG9zdCg6bm90KDpzdGF0ZShkaXNhYmxlZCkpKSAmIHtcbiAgICBAaW5jbHVkZSBzYmIudGV4dC0tYm9sZDtcbiAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICBjb2xvcjogSGlnaGxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLW9wdGlvbl9faWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbCk7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWljb24tdWktc21hbGwpO1xuICBjb2xvcjogdmFyKC0tc2JiLW9wdGlvbi1pY29uLWNvbG9yKTtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkLWljb24pLCA6c3RhdGUoaGFzLWljb24tbmFtZSkpKSAmIHtcbiAgICAvLyBDYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgJ3ByZXNlcnZlLWljb24tc3BhY2UnIG9uIHRoZSBhdXRvY29tcGxldGVcbiAgICBkaXNwbGF5OiB2YXIoLS1zYmItb3B0aW9uLWljb24tY29udGFpbmVyLWRpc3BsYXksIG5vbmUpO1xuICB9XG59XG5cbi5zYmItb3B0aW9uX19sYWJlbCB7XG4gIHRleHQtb3ZlcmZsb3c6IHZhcigtLXNiYi1vcHRpb24tdGV4dC1vdmVyZmxvdyk7XG4gIG92ZXJmbG93OiB2YXIoLS1zYmItb3B0aW9uLW92ZXJmbG93KTtcbiAgd2hpdGUtc3BhY2U6IHZhcigtLXNiYi1vcHRpb24td2hpdGUtc3BhY2UsIGluaXRpYWwpO1xufVxuIiwiaW1wb3J0IHsgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlciB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgybVzdGF0ZUNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQgeyBTYmJPcHRpb25CYXNlRWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL29wdGlvbi5qcyc7XG5pbXBvcnQgeyB1bnNhZmVDU1MsIHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHR5cGUgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24uc2Nzcz9pbmxpbmUnO1xuXG5leHBvcnQgY29uc3QgYXV0b2NvbXBsZXRlR3JpZE9wdGlvbklkOiBzdHJpbmcgPSBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbmA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gb3B0aW9uIGl0ZW0gd2hpY2ggY2FuIGJlIHVzZWQgaW4gYHNiYi1hdXRvY29tcGxldGUtZ3JpZGAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgb3B0aW9uIGxhYmVsLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhbiBpY29uLiBJZiBgaWNvbi1uYW1lYCBpcyBzZXQsIGEgc2JiLWljb24gd2lsbCBiZSB1c2VkLlxuICogQGNzc3Byb3AgWy0tc2JiLW9wdGlvbi1pY29uLWNvbnRhaW5lci1kaXNwbGF5PW5vbmVdIC0gQ2FuIGJlIHVzZWQgdG8gcmVzZXJ2ZSBzcGFjZSBldmVuXG4gKiB3aGVuIHByZXNlcnZlLWljb24tc3BhY2Ugb24gYXV0b2NvbXBsZXRlIGlzIG5vdCBzZXQgb3IgaWNvbk5hbWUgaXMgbm90IHNldC5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSBUID0gc3RyaW5nXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYk9wdGlvbkJhc2VFbGVtZW50PFQ+IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnZ3JpZGNlbGwnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICBwcm90ZWN0ZWQgb3B0aW9uSWQgPSBhdXRvY29tcGxldGVHcmlkT3B0aW9uSWQ7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5jbG9zZXN0KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0Z3JvdXAnKSwge1xuICAgICAgICBkaXNhYmxlZDogKHApID0+IHtcbiAgICAgICAgICB0aGlzLmRpc2FibGVkRnJvbUdyb3VwID0gcC5kaXNhYmxlZDtcbiAgICAgICAgICDJtXN0YXRlQ29udHJvbGxlcih0aGlzLmNsb3Nlc3Q/Lignc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdycpKT8udG9nZ2xlKFxuICAgICAgICAgICAgJ2Rpc2FibGVkJyxcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZyb21Hcm91cCxcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMudXBkYXRlQXJpYURpc2FibGVkKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsOiAocCkgPT4gKHRoaXMuZ3JvdXBMYWJlbCA9IHAubGFiZWwpLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuY2xvc2VzdCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkJyksIHtcbiAgICAgICAgbmVnYXRpdmU6IChlKSA9PiB0aGlzLnRvZ2dsZVN0YXRlKCduZWdhdGl2ZScsIGUubmVnYXRpdmUpLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgIMm1c3RhdGVDb250cm9sbGVyKHRoaXMuY2xvc2VzdD8uKCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93JykpPy50b2dnbGUoXG4gICAgICAgICdkaXNhYmxlZCcsXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZyb21Hcm91cCxcbiAgICAgICk7XG4gICAgICB0aGlzLnVwZGF0ZUFyaWFEaXNhYmxlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3RCeUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZyb21Hcm91cCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RWaWFVc2VySW50ZXJhY3Rpb24odHJ1ZSk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24nOiBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUNRQSxJQUFhLDJCQUFtQzs7Ozs7Ozs7OztBQVdoRCxJQUFhLG1DQUFiLGNBQWtFLHFCQUF1Qjs7RUFDdkQsS0FBQSxjQUFzQjtDQUErQjs7RUFDckQsS0FBQSxPQUFPO0NBQVc7O0VBQzNCLEtBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSxnQ0FBSyxDQUFDO0NBQUU7Q0FJcEYsY0FBQTtFQUNFLE1BQUs7RUFIRyxLQUFBLFdBQVc7RUFJbkIsS0FBSyxjQUNILElBQUksNkJBQTZCLFlBQVksS0FBSyxRQUFRLGdDQUFnQyxHQUFHO0dBQzNGLFdBQVcsTUFBSztJQUNkLEtBQUssb0JBQW9CLEVBQUU7SUFDM0IsaUJBQWlCLEtBQUssVUFBVSwyQkFBMkIsQ0FBQyxHQUFHLE9BQzdELFlBQ0EsS0FBSyxZQUFZLEtBQUssaUJBQWlCO0lBRXpDLEtBQUssbUJBQWtCO0dBQ3pCO0dBQ0EsUUFBUSxNQUFPLEtBQUssYUFBYSxFQUFFO0dBQ3BDLENBQUM7RUFHSixLQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFFBQVEsdUJBQXVCLEdBQUcsRUFDbEYsV0FBVyxNQUFNLEtBQUssWUFBWSxZQUFZLEVBQUUsUUFBUSxFQUFBLENBQ3pELENBQUM7Q0FFTjtDQUVtQixXQUFXLG1CQUF1QztFQUNuRSxNQUFNLFdBQVcsaUJBQWlCO0VBQ2xDLElBQUksa0JBQWtCLElBQUksVUFBVSxHQUFHO0dBQ3JDLGlCQUFpQixLQUFLLFVBQVUsMkJBQTJCLENBQUMsR0FBRyxPQUM3RCxZQUNBLEtBQUssWUFBWSxLQUFLLGlCQUFpQjtHQUV6QyxLQUFLLG1CQUFrQjtFQUN6QjtDQUNGO0NBRVUsY0FBYyxPQUFpQjtFQUN2QyxJQUFJLEtBQUssWUFBWSxLQUFLLG1CQUFtQjtHQUMzQyxNQUFNLGdCQUFlO0dBQ3JCO0VBQ0Y7RUFFQSxLQUFLLHlCQUF5QixJQUFJO0NBQ3BDIn0=
61
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLmNvbXBvbmVudC1EcWtMV0hjZy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbi9hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24uc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbi9hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24uY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KDpzdGF0ZShuZWdhdGl2ZSkpIHtcbiAgLS1zYmItb3B0aW9uLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMy1uZWdhdGl2ZSk7XG4gIC0tc2JiLW9wdGlvbi1pY29uLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItNSk7XG59XG5cbi8vIElmIGhpZ2hsaWdodGluZyBpcyBlbmFibGVkLCBoaWRlIHRoZSBvcmlnaW5hbCBzbG90IGNvbnRlbnRcbjpob3N0KDpub3QoOnN0YXRlKGRpc2FibGUtaGlnaGxpZ2h0KSkpIHtcbiAgLnNiYi1vcHRpb25fX2xhYmVsIHNsb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKGFjdGl2ZSkpIHtcbiAgLS1zYmItb3B0aW9uLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yKTtcbn1cblxuLnNiYi1vcHRpb24ge1xuICBmb250LXNpemU6IHZhcigtLXNiYi1vcHRpb24tZm9udC1zaXplKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IHZhcigtLXNiYi1vcHRpb24tY29sdW1uLWdhcCk7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNiYi1vcHRpb24tbWluLWhlaWdodCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItb3B0aW9uLXBhZGRpbmctaW5saW5lKTtcbiAgY29sb3I6IHZhcigtLXNiYi1vcHRpb24tY29sb3IpO1xuXG4gIC8vIFdlIHVzZSB0aGUgcHNldWRvIGVsZW1lbnQgdG8gZGlzcGxheSB0aGUgZm9jdXMgb3V0bGluZSAoaW5saW5lIGluIHRoaXMgY2FzZSlcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogdmFyKC0tc2JiLW9wdGlvbi1mb2N1cy1vdXRsaW5lLWluc2V0KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLXdpZHRoKSBzb2xpZCB2YXIoLS1zYmItb3B0aW9uLWZvY3VzLW91dGxpbmUtY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1vcHRpb24tYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuLnNiYi1vcHRpb25fX2xhYmVsLS1oaWdobGlnaHQge1xuICA6aG9zdCg6bm90KDpzdGF0ZShkaXNhYmxlZCkpKSAmIHtcbiAgICBAaW5jbHVkZSBzYmIudGV4dC0tYm9sZDtcbiAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICBjb2xvcjogSGlnaGxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLW9wdGlvbl9faWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbCk7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWljb24tdWktc21hbGwpO1xuICBjb2xvcjogdmFyKC0tc2JiLW9wdGlvbi1pY29uLWNvbG9yKTtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkLWljb24pLCA6c3RhdGUoaGFzLWljb24tbmFtZSkpKSAmIHtcbiAgICAvLyBDYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgJ3ByZXNlcnZlLWljb24tc3BhY2UnIG9uIHRoZSBhdXRvY29tcGxldGVcbiAgICBkaXNwbGF5OiB2YXIoLS1zYmItb3B0aW9uLWljb24tY29udGFpbmVyLWRpc3BsYXksIG5vbmUpO1xuICB9XG59XG5cbi5zYmItb3B0aW9uX19sYWJlbCB7XG4gIHRleHQtb3ZlcmZsb3c6IHZhcigtLXNiYi1vcHRpb24tdGV4dC1vdmVyZmxvdyk7XG4gIG92ZXJmbG93OiB2YXIoLS1zYmItb3B0aW9uLW92ZXJmbG93KTtcbiAgd2hpdGUtc3BhY2U6IHZhcigtLXNiYi1vcHRpb24td2hpdGUtc3BhY2UsIGluaXRpYWwpO1xufVxuIiwiaW1wb3J0IHsgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlciB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgybVzdGF0ZUNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQgeyBTYmJPcHRpb25CYXNlRWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL29wdGlvbi5qcyc7XG5pbXBvcnQgeyB1bnNhZmVDU1MsIHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHR5cGUgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24uc2Nzcz9pbmxpbmUnO1xuXG5leHBvcnQgY29uc3QgYXV0b2NvbXBsZXRlR3JpZE9wdGlvbklkOiBzdHJpbmcgPSBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbmA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gb3B0aW9uIGl0ZW0gd2hpY2ggY2FuIGJlIHVzZWQgaW4gYHNiYi1hdXRvY29tcGxldGUtZ3JpZGAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgb3B0aW9uIGxhYmVsLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhbiBpY29uLiBJZiBgaWNvbi1uYW1lYCBpcyBzZXQsIGEgc2JiLWljb24gd2lsbCBiZSB1c2VkLlxuICogQGNzc3Byb3AgWy0tc2JiLW9wdGlvbi1pY29uLWNvbnRhaW5lci1kaXNwbGF5PW5vbmVdIC0gQ2FuIGJlIHVzZWQgdG8gcmVzZXJ2ZSBzcGFjZSBldmVuXG4gKiB3aGVuIHByZXNlcnZlLWljb24tc3BhY2Ugb24gYXV0b2NvbXBsZXRlIGlzIG5vdCBzZXQgb3IgaWNvbk5hbWUgaXMgbm90IHNldC5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSBUID0gc3RyaW5nXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYk9wdGlvbkJhc2VFbGVtZW50PFQ+IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnZ3JpZGNlbGwnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICBwcm90ZWN0ZWQgb3B0aW9uSWQgPSBhdXRvY29tcGxldGVHcmlkT3B0aW9uSWQ7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5jbG9zZXN0KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0Z3JvdXAnKSwge1xuICAgICAgICBkaXNhYmxlZDogKHApID0+IHtcbiAgICAgICAgICB0aGlzLmRpc2FibGVkRnJvbUdyb3VwID0gcC5kaXNhYmxlZDtcbiAgICAgICAgICDJtXN0YXRlQ29udHJvbGxlcih0aGlzLmNsb3Nlc3Q/Lignc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdycpKT8udG9nZ2xlKFxuICAgICAgICAgICAgJ2Rpc2FibGVkJyxcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZyb21Hcm91cCxcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMudXBkYXRlQXJpYURpc2FibGVkKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsOiAocCkgPT4gKHRoaXMuZ3JvdXBMYWJlbCA9IHAubGFiZWwpLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuY2xvc2VzdCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkJyksIHtcbiAgICAgICAgbmVnYXRpdmU6IChlKSA9PiB0aGlzLnRvZ2dsZVN0YXRlKCduZWdhdGl2ZScsIGUubmVnYXRpdmUpLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgIMm1c3RhdGVDb250cm9sbGVyKHRoaXMuY2xvc2VzdD8uKCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93JykpPy50b2dnbGUoXG4gICAgICAgICdkaXNhYmxlZCcsXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZyb21Hcm91cCxcbiAgICAgICk7XG4gICAgICB0aGlzLnVwZGF0ZUFyaWFEaXNhYmxlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3RCeUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEZyb21Hcm91cCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RWaWFVc2VySW50ZXJhY3Rpb24odHJ1ZSk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24nOiBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUNRQSxJQUFhLDJCQUFtQzs7Ozs7Ozs7OztBQVdoRCxJQUFhLG1DQUFiLGNBQWtFLHFCQUF1Qjs7RUFDdkQsS0FBQSxjQUFzQjtDQUErQjs7RUFDckQsS0FBQSxPQUFPO0NBQVc7O0VBQzNCLEtBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSxnQ0FBSyxDQUFDO0NBQUU7Q0FJcEYsY0FBQTtFQUNFLE1BQUs7RUFIRyxLQUFBLFdBQVc7RUFJbkIsS0FBSyxjQUNILElBQUksNkJBQTZCLFlBQVksS0FBSyxRQUFRLGdDQUFnQyxHQUFHO0dBQzNGLFdBQVcsTUFBSztJQUNkLEtBQUssb0JBQW9CLEVBQUU7SUFDM0IsaUJBQWlCLEtBQUssVUFBVSwyQkFBMkIsQ0FBQyxHQUFHLE9BQzdELFlBQ0EsS0FBSyxZQUFZLEtBQUssaUJBQWlCO0lBRXpDLEtBQUssbUJBQWtCO0dBQ3pCO0dBQ0EsUUFBUSxNQUFPLEtBQUssYUFBYSxFQUFFO0dBQ3BDLENBQUM7RUFHSixLQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFFBQVEsdUJBQXVCLEdBQUcsRUFDbEYsV0FBVyxNQUFNLEtBQUssWUFBWSxZQUFZLEVBQUUsUUFBUSxFQUFBLENBQ3pELENBQUM7Q0FFTjtDQUVtQixXQUFXLG1CQUF1QztFQUNuRSxNQUFNLFdBQVcsaUJBQWlCO0VBQ2xDLElBQUksa0JBQWtCLElBQUksVUFBVSxHQUFHO0dBQ3JDLGlCQUFpQixLQUFLLFVBQVUsMkJBQTJCLENBQUMsR0FBRyxPQUM3RCxZQUNBLEtBQUssWUFBWSxLQUFLLGlCQUFpQjtHQUV6QyxLQUFLLG1CQUFrQjtFQUN6QjtDQUNGO0NBRVUsY0FBYyxPQUFpQjtFQUN2QyxJQUFJLEtBQUssWUFBWSxLQUFLLG1CQUFtQjtHQUMzQyxNQUFNLGdCQUFlO0dBQ3JCO0VBQ0Y7RUFFQSxLQUFLLHlCQUF5QixJQUFJO0NBQ3BDIn0=
@@ -36,4 +36,4 @@ var SbbAutocompleteGridRowElement = class extends SbbElement {
36
36
  //#endregion
37
37
  export { SbbAutocompleteGridRowElement as t };
38
38
 
39
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtcm93LmNvbXBvbmVudC1ERW02enlIWi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkLXJvdy9hdXRvY29tcGxldGUtZ3JpZC1yb3cuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkLXJvdy9hdXRvY29tcGxldGUtZ3JpZC1yb3cuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KDpzdGF0ZShuZWdhdGl2ZSkpIHtcbiAgLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMy1uZWdhdGl2ZSk7XG4gIC0tc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdy1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zLW5lZ2F0aXZlKTtcbiAgLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWRpc2FibGVkLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci01KTtcbiAgLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWRpc2FibGVkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbn1cblxuOmhvc3QoOmhvdmVyOm5vdCg6c3RhdGUoZGlzYWJsZWQpKSkge1xuICBAaW5jbHVkZSBzYmIuaG92ZXItbXEoJGhvdmVyOiB0cnVlKSB7XG4gICAgLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWJhY2tncm91bmQtY29sb3I6IHZhcihcbiAgICAgIC0tc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdy1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyXG4gICAgKTtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoZGlzYWJsZWQpKSB7XG4gIC0tc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdy1jdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItZGVmYXVsdCk7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdy1jb2xvcjogR3JheVRleHQ7XG4gIH1cbn1cblxuOjpzbG90dGVkKHNiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24pIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KSk7XG5cbiAgLy8gVXNlZCB0byBlbmFibGUgZWxsaXBzaXNcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4uc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdy1wYWRkaW5nLWlubGluZS1lbmQpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHZhcigtLXNiYi1hdXRvY29tcGxldGUtZ3JpZC1yb3ctanVzdGlmeS1jb250ZW50KTtcbiAgZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC02eCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdy1iYWNrZ3JvdW5kLWNvbG9yLCBpbmhlcml0KTtcbiAgY3Vyc29yOiB2YXIoLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWN1cnNvcik7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB2YXIoLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWNvbG9yKTtcblxuICAvLyBBZGQgaW5uZXIgYm9yZGVyIGFuZCBiYWNrZ3JvdW5kIGZvciBkaXNhYmxlZCBvcHRpb24gd2hlbiBpdCdzIG5vdCBtdWx0aXBsZVxuICA6aG9zdCg6c3RhdGUoZGlzYWJsZWQpKSAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCg2KX07XG4gICAgICBib3JkZXI6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIGRhc2hlZFxuICAgICAgICB2YXIoLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWRpc2FibGVkLWJvcmRlci1jb2xvcik7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy0yeCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWRpc2FibGVkLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYXV0b2NvbXBsZXRlLWdyaWQtcm93LnNjc3M/aW5saW5lJztcblxubGV0IGF1dG9jb21wbGV0ZVJvd05leHRJZCA9IDA7XG5cbi8qKlxuICogVGhlIGNvbXBvbmVudCBpcyB1c2VkIGFzIGEgd3JhcHBlciBmb3Igb3B0aW9ucyBhbmQgYWN0aW9uIGJ1dHRvbnMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYSBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbmAgYW5kIGEgYHNiYi1hdXRvY29tcGxldGUtZ3JpZC1jZWxsYCB3aXRoIG9uZSBvciBtb3JlIGBzYmItYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uYC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkF1dG9jb21wbGV0ZUdyaWRSb3dFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3Jvdyc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LSR7KythdXRvY29tcGxldGVSb3dOZXh0SWR9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93XCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93JzogU2JiQXV0b2NvbXBsZXRlR3JpZFJvd0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQ01BLElBQUksd0JBQXdCOzs7Ozs7QUFPNUIsSUFBYSxnQ0FBYixjQUFtRCxXQUFVOztFQUMzQixLQUFBLGNBQXNCO0NBQTRCOztFQUNsRCxLQUFBLE9BQU87Q0FBTTs7RUFDdEIsS0FBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLDZCQUFLLENBQUM7Q0FBRTtDQUVwRSxvQkFBaUI7RUFDL0IsTUFBTSxrQkFBaUI7RUFDdkIsS0FBSyxPQUFPLDZCQUE2QixFQUFFO0NBQzdDO0NBRW1CLFNBQU07RUFDdkIsT0FBTyxJQUFJOzs7OztDQUtiIn0=
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtcm93LmNvbXBvbmVudC1DdkYzWldEWi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkLXJvdy9hdXRvY29tcGxldGUtZ3JpZC1yb3cuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2F1dG9jb21wbGV0ZS1ncmlkL2F1dG9jb21wbGV0ZS1ncmlkLXJvdy9hdXRvY29tcGxldGUtZ3JpZC1yb3cuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KDpzdGF0ZShuZWdhdGl2ZSkpIHtcbiAgLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMy1uZWdhdGl2ZSk7XG4gIC0tc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdy1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zLW5lZ2F0aXZlKTtcbiAgLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWRpc2FibGVkLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci01KTtcbiAgLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWRpc2FibGVkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbn1cblxuOmhvc3QoOmhvdmVyOm5vdCg6c3RhdGUoZGlzYWJsZWQpKSkge1xuICBAaW5jbHVkZSBzYmIuaG92ZXItbXEoJGhvdmVyOiB0cnVlKSB7XG4gICAgLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWJhY2tncm91bmQtY29sb3I6IHZhcihcbiAgICAgIC0tc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdy1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyXG4gICAgKTtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoZGlzYWJsZWQpKSB7XG4gIC0tc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdy1jdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItZGVmYXVsdCk7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdy1jb2xvcjogR3JheVRleHQ7XG4gIH1cbn1cblxuOjpzbG90dGVkKHNiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRpb24pIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KSk7XG5cbiAgLy8gVXNlZCB0byBlbmFibGUgZWxsaXBzaXNcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4uc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdy1wYWRkaW5nLWlubGluZS1lbmQpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHZhcigtLXNiYi1hdXRvY29tcGxldGUtZ3JpZC1yb3ctanVzdGlmeS1jb250ZW50KTtcbiAgZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC02eCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdy1iYWNrZ3JvdW5kLWNvbG9yLCBpbmhlcml0KTtcbiAgY3Vyc29yOiB2YXIoLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWN1cnNvcik7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB2YXIoLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWNvbG9yKTtcblxuICAvLyBBZGQgaW5uZXIgYm9yZGVyIGFuZCBiYWNrZ3JvdW5kIGZvciBkaXNhYmxlZCBvcHRpb24gd2hlbiBpdCdzIG5vdCBtdWx0aXBsZVxuICA6aG9zdCg6c3RhdGUoZGlzYWJsZWQpKSAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCg2KX07XG4gICAgICBib3JkZXI6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIGRhc2hlZFxuICAgICAgICB2YXIoLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWRpc2FibGVkLWJvcmRlci1jb2xvcik7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy0yeCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LWRpc2FibGVkLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYXV0b2NvbXBsZXRlLWdyaWQtcm93LnNjc3M/aW5saW5lJztcblxubGV0IGF1dG9jb21wbGV0ZVJvd05leHRJZCA9IDA7XG5cbi8qKlxuICogVGhlIGNvbXBvbmVudCBpcyB1c2VkIGFzIGEgd3JhcHBlciBmb3Igb3B0aW9ucyBhbmQgYWN0aW9uIGJ1dHRvbnMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYSBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbmAgYW5kIGEgYHNiYi1hdXRvY29tcGxldGUtZ3JpZC1jZWxsYCB3aXRoIG9uZSBvciBtb3JlIGBzYmItYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uYC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkF1dG9jb21wbGV0ZUdyaWRSb3dFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3Jvdyc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LSR7KythdXRvY29tcGxldGVSb3dOZXh0SWR9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93XCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93JzogU2JiQXV0b2NvbXBsZXRlR3JpZFJvd0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQ01BLElBQUksd0JBQXdCOzs7Ozs7QUFPNUIsSUFBYSxnQ0FBYixjQUFtRCxXQUFVOztFQUMzQixLQUFBLGNBQXNCO0NBQTRCOztFQUNsRCxLQUFBLE9BQU87Q0FBTTs7RUFDdEIsS0FBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLDZCQUFLLENBQUM7Q0FBRTtDQUVwRSxvQkFBaUI7RUFDL0IsTUFBTSxrQkFBaUI7RUFDdkIsS0FBSyxPQUFPLDZCQUE2QixFQUFFO0NBQzdDO0NBRW1CLFNBQU07RUFDdkIsT0FBTyxJQUFJOzs7OztDQUtiIn0=
@@ -1,8 +1,8 @@
1
1
  import { SbbAutocompleteGridButtonElement } from "./autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js";
2
- import { t as SbbAutocompleteGridCellElement } from "./autocomplete-grid-cell.component-BxkWGaX0.js";
2
+ import { t as SbbAutocompleteGridCellElement } from "./autocomplete-grid-cell.component-CTC6s1q3.js";
3
3
  import { SbbAutocompleteGridOptgroupElement } from "./autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js";
4
- import { n as autocompleteGridOptionId, t as SbbAutocompleteGridOptionElement } from "./autocomplete-grid-option.component-5mPGswUO.js";
5
- import { t as SbbAutocompleteGridRowElement } from "./autocomplete-grid-row.component-DEm6zyHZ.js";
4
+ import { n as autocompleteGridOptionId, t as SbbAutocompleteGridOptionElement } from "./autocomplete-grid-option.component-DqkLWHcg.js";
5
+ import { t as SbbAutocompleteGridRowElement } from "./autocomplete-grid-row.component-CvF3ZWDZ.js";
6
6
  import { SbbAutocompleteGridElement } from "./autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js";
7
7
  import "./autocomplete-grid.pure.js";
8
8
  //#region src/elements-experimental/autocomplete-grid.ts
@@ -1,7 +1,7 @@
1
1
  import { SbbAutocompleteGridButtonElement } from "./autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js";
2
- import { t as SbbAutocompleteGridCellElement } from "./autocomplete-grid-cell.component-BxkWGaX0.js";
2
+ import { t as SbbAutocompleteGridCellElement } from "./autocomplete-grid-cell.component-CTC6s1q3.js";
3
3
  import { SbbAutocompleteGridOptgroupElement } from "./autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js";
4
- import { n as autocompleteGridOptionId, t as SbbAutocompleteGridOptionElement } from "./autocomplete-grid-option.component-5mPGswUO.js";
5
- import { t as SbbAutocompleteGridRowElement } from "./autocomplete-grid-row.component-DEm6zyHZ.js";
4
+ import { n as autocompleteGridOptionId, t as SbbAutocompleteGridOptionElement } from "./autocomplete-grid-option.component-DqkLWHcg.js";
5
+ import { t as SbbAutocompleteGridRowElement } from "./autocomplete-grid-row.component-CvF3ZWDZ.js";
6
6
  import { SbbAutocompleteGridElement } from "./autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js";
7
7
  export { SbbAutocompleteGridButtonElement, SbbAutocompleteGridCellElement, SbbAutocompleteGridElement, SbbAutocompleteGridOptgroupElement, SbbAutocompleteGridOptionElement, SbbAutocompleteGridRowElement, autocompleteGridOptionId };
@@ -1,2 +1,2 @@
1
- import { n as removeTimezoneFromISOTimeString, t as durationToTime } from "../../date-helper-DrUAT1pZ.js";
1
+ import { n as removeTimezoneFromISOTimeString, t as durationToTime } from "../../date-helper-CoHhPpk8.js";
2
2
  export { durationToTime, removeTimezoneFromISOTimeString };
@@ -1,2 +1,2 @@
1
- import { n as removeTimezoneFromISOTimeString, t as durationToTime } from "../date-helper-DrUAT1pZ.js";
1
+ import { n as removeTimezoneFromISOTimeString, t as durationToTime } from "../date-helper-CoHhPpk8.js";
2
2
  export { durationToTime, removeTimezoneFromISOTimeString };
@@ -1,6 +1,6 @@
1
- import { a as millisecondsInMinute, i as millisecondsInHour, n as constructFrom, t as toDate } from "./toDate-DOFAOjP-.js";
2
- import { n as differenceInCalendarDays, r as normalizeDates, t as isValid } from "./isValid-JpZ7FphI.js";
3
- import { n as getRoundingMethod, r as addMinutes, t as differenceInMinutes } from "./differenceInMinutes-CqAOVimt.js";
1
+ import { a as millisecondsInMinute, i as millisecondsInHour, n as constructFrom, t as toDate } from "./toDate-CDWut5fS.js";
2
+ import { n as differenceInCalendarDays, r as normalizeDates, t as isValid } from "./isValid-40Olgzo1.js";
3
+ import { n as getRoundingMethod, r as addMinutes, t as differenceInMinutes } from "./differenceInMinutes-CJllL661.js";
4
4
  import { i18nDurationDay, i18nDurationHour, i18nDurationMinute } from "@sbb-esta/lyne-elements/core/i18n.js";
5
5
  //#region node_modules/date-fns/addDays.js
6
6
  /**
@@ -578,4 +578,4 @@ var durationToTime = (duration, currentLanguage) => {
578
578
  //#endregion
579
579
  export { removeTimezoneFromISOTimeString as n, durationToTime as t };
580
580
 
581
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1oZWxwZXItRHJVQVQxcFouanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2FkZERheXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvYWRkTWlsbGlzZWNvbmRzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2FkZEhvdXJzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2RpZmZlcmVuY2VJbkRheXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZGlmZmVyZW5jZUluSG91cnMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvc3ViRGF5cy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9wYXJzZUlTTy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9zdWJIb3Vycy5qcyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvY29yZS9kYXRldGltZS9kYXRlLWhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zdHJ1Y3RGcm9tIH0gZnJvbSBcIi4vY29uc3RydWN0RnJvbS5qc1wiO1xuaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBhZGREYXlzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgYWRkRGF5c1xuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgZGF5cyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBkYXlzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICoqWW91IGRvbid0IG5lZWQgZGF0ZS1mbnNcXCoqKjpcbiAqXG4gKiBUZW1wb3JhbCBoYXMgYSBidWlsdC1pbiBgYWRkYCBtZXRob2Qgb24gYWxsIGl0cyBjbGFzc2VzOlxuICpcbiAqIC0gW2BUZW1wb3JhbC5JbnN0YW50LnByb3RvdHlwZS5hZGQoKWBdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1RlbXBvcmFsL0luc3RhbnQvYWRkKVxuICogLSBbYFRlbXBvcmFsLlBsYWluRGF0ZS5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9QbGFpbkRhdGUvYWRkKVxuICogLSBbYFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5UaW1lLnByb3RvdHlwZS5hZGQoKWBdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1RlbXBvcmFsL1BsYWluVGltZS9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvYWRkKVxuICogLSBbYFRlbXBvcmFsLlpvbmVkRGF0ZVRpbWUucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9hZGQpXG4gKlxuICogXFwqICoqTm90IHJlYWxseSoqLCBzZWU6IGh0dHBzOi8vZGF0ZS1mbnMub3JnL3lvdS1kb250LW5lZWQtZGF0ZS1mbnNcbiAqXG4gKiBAdHlwZVBhcmFtIERhdGVUeXBlIC0gVGhlIGBEYXRlYCB0eXBlLCB0aGUgZnVuY3Rpb24gb3BlcmF0ZXMgb24uIEdldHMgaW5mZXJyZWQgZnJvbSBwYXNzZWQgYXJndW1lbnRzLiBBbGxvd3MgdG8gdXNlIGV4dGVuc2lvbnMgbGlrZSBbYFVUQ0RhdGVgXShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvdXRjKS5cbiAqIEB0eXBlUGFyYW0gUmVzdWx0RGF0ZSAtIFRoZSByZXN1bHQgYERhdGVgIHR5cGUsIGl0IGlzIHRoZSB0eXBlIHJldHVybmVkIGZyb20gdGhlIGNvbnRleHQgZnVuY3Rpb24gaWYgaXQgaXMgcGFzc2VkLCBvciBpbmZlcnJlZCBmcm9tIHRoZSBhcmd1bWVudHMuXG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0gYW1vdW50IC0gVGhlIGFtb3VudCBvZiBkYXlzIHRvIGJlIGFkZGVkLlxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvYmplY3Qgd2l0aCBvcHRpb25zXG4gKlxuICogQHJldHVybnMgVGhlIG5ldyBkYXRlIHdpdGggdGhlIGRheXMgYWRkZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQWRkIDEwIGRheXMgdG8gMSBTZXB0ZW1iZXIgMjAxNDpcbiAqIGNvbnN0IHJlc3VsdCA9IGFkZERheXMobmV3IERhdGUoMjAxNCwgOCwgMSksIDEwKVxuICogLy89PiBUaHUgU2VwIDExIDIwMTQgMDA6MDA6MDBcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVXNpbmcgVGVtcG9yYWw6XG4gKiAvLyBBZGQgMTAgZGF5cyB0byAxIFNlcHRlbWJlciAyMDE0OlxuICogVGVtcG9yYWwuUGxhaW5EYXRlLmZyb20oXCIyMDE0LTA5LTAxXCIpLmFkZCh7IGRheXM6IDEwIH0pLnRvU3RyaW5nKCk7XG4gKiAvLz0+IFwiMjAxNC0wOS0xMVwiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGREYXlzKGRhdGUsIGFtb3VudCwgb3B0aW9ucykge1xuICBjb25zdCBfZGF0ZSA9IHRvRGF0ZShkYXRlLCBvcHRpb25zPy5pbik7XG4gIGlmIChpc05hTihhbW91bnQpKSByZXR1cm4gY29uc3RydWN0RnJvbShvcHRpb25zPy5pbiB8fCBkYXRlLCBOYU4pO1xuXG4gIC8vIElmIDAgZGF5cywgbm8tb3AgdG8gYXZvaWQgY2hhbmdpbmcgdGltZXMgaW4gdGhlIGhvdXIgYmVmb3JlIGVuZCBvZiBEU1RcbiAgaWYgKCFhbW91bnQpIHJldHVybiBfZGF0ZTtcblxuICBfZGF0ZS5zZXREYXRlKF9kYXRlLmdldERhdGUoKSArIGFtb3VudCk7XG4gIHJldHVybiBfZGF0ZTtcbn1cbiIsImltcG9ydCB7IGNvbnN0cnVjdEZyb20gfSBmcm9tIFwiLi9jb25zdHJ1Y3RGcm9tLmpzXCI7XG5pbXBvcnQgeyB0b0RhdGUgfSBmcm9tIFwiLi90b0RhdGUuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIGFkZE1pbGxpc2Vjb25kc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGFkZE1pbGxpc2Vjb25kc1xuICogQGNhdGVnb3J5IE1pbGxpc2Vjb25kIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICoqWW91IGRvbid0IG5lZWQgZGF0ZS1mbnNcXCoqKjpcbiAqXG4gKiBUZW1wb3JhbCBoYXMgYSBidWlsdC1pbiBgYWRkYCBtZXRob2Qgb24gYWxsIGl0cyBjbGFzc2VzOlxuICpcbiAqIC0gW2BUZW1wb3JhbC5JbnN0YW50LnByb3RvdHlwZS5hZGQoKWBdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1RlbXBvcmFsL0luc3RhbnQvYWRkKVxuICogLSBbYFRlbXBvcmFsLlBsYWluRGF0ZS5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9QbGFpbkRhdGUvYWRkKVxuICogLSBbYFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5UaW1lLnByb3RvdHlwZS5hZGQoKWBdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1RlbXBvcmFsL1BsYWluVGltZS9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvYWRkKVxuICogLSBbYFRlbXBvcmFsLlpvbmVkRGF0ZVRpbWUucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9hZGQpXG4gKlxuICogXFwqICoqTm90IHJlYWxseSoqLCBzZWU6IGh0dHBzOi8vZGF0ZS1mbnMub3JnL3lvdS1kb250LW5lZWQtZGF0ZS1mbnNcbiAqXG4gKiBAdHlwZVBhcmFtIERhdGVUeXBlIC0gVGhlIGBEYXRlYCB0eXBlLCB0aGUgZnVuY3Rpb24gb3BlcmF0ZXMgb24uIEdldHMgaW5mZXJyZWQgZnJvbSBwYXNzZWQgYXJndW1lbnRzLiBBbGxvd3MgdG8gdXNlIGV4dGVuc2lvbnMgbGlrZSBbYFVUQ0RhdGVgXShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvdXRjKS5cbiAqIEB0eXBlUGFyYW0gUmVzdWx0RGF0ZSAtIFRoZSByZXN1bHQgYERhdGVgIHR5cGUsIGl0IGlzIHRoZSB0eXBlIHJldHVybmVkIGZyb20gdGhlIGNvbnRleHQgZnVuY3Rpb24gaWYgaXQgaXMgcGFzc2VkLCBvciBpbmZlcnJlZCBmcm9tIHRoZSBhcmd1bWVudHMuXG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0gYW1vdW50IC0gVGhlIGFtb3VudCBvZiBtaWxsaXNlY29uZHMgdG8gYmUgYWRkZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIG9iamVjdFxuICpcbiAqIEByZXR1cm5zIFRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBtaWxsaXNlY29uZHMgYWRkZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQWRkIDc1MCBtaWxsaXNlY29uZHMgdG8gMTAgSnVseSAyMDE0IDEyOjQ1OjMwLjAwMDpcbiAqIGNvbnN0IHJlc3VsdCA9IGFkZE1pbGxpc2Vjb25kcyhuZXcgRGF0ZSgyMDE0LCA2LCAxMCwgMTIsIDQ1LCAzMCwgMCksIDc1MClcbiAqIC8vPT4gVGh1IEp1bCAxMCAyMDE0IDEyOjQ1OjMwLjc1MFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBVc2luZyBUZW1wb3JhbDpcbiAqIC8vIEFkZCA3NTAgbWlsbGlzZWNvbmRzIHRvIDEwIEp1bHkgMjAxNCAxMjo0NTozMC4wMDA6XG4gKiBUZW1wb3JhbC5QbGFpbkRhdGVUaW1lLmZyb20oXCIyMDE0LTA3LTEwVDEyOjQ1OjMwLjAwMFwiKVxuICogICAuYWRkKHsgbWlsbGlzZWNvbmRzOiA3NTAgfSlcbiAqICAgLnRvU3RyaW5nKCk7XG4gKiAvLz0+IFwiMjAxNC0wNy0xMFQxMjo0NTozMC43NTBcIlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkTWlsbGlzZWNvbmRzKGRhdGUsIGFtb3VudCwgb3B0aW9ucykge1xuICByZXR1cm4gY29uc3RydWN0RnJvbShvcHRpb25zPy5pbiB8fCBkYXRlLCArdG9EYXRlKGRhdGUpICsgYW1vdW50KTtcbn1cbiIsImltcG9ydCB7IGFkZE1pbGxpc2Vjb25kcyB9IGZyb20gXCIuL2FkZE1pbGxpc2Vjb25kcy5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5Ib3VyIH0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBhZGRIb3Vyc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGFkZEhvdXJzXG4gKiBAY2F0ZWdvcnkgSG91ciBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgaG91cnMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgaG91cnMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogKipZb3UgZG9uJ3QgbmVlZCBkYXRlLWZuc1xcKioqOlxuICpcbiAqIFRlbXBvcmFsIGhhcyBhIGJ1aWx0LWluIGBhZGRgIG1ldGhvZCBvbiBhbGwgaXRzIGNsYXNzZXM6XG4gKlxuICogLSBbYFRlbXBvcmFsLkluc3RhbnQucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvSW5zdGFudC9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5EYXRlLnByb3RvdHlwZS5hZGQoKWBdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1RlbXBvcmFsL1BsYWluRGF0ZS9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5EYXRlVGltZS5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9QbGFpbkRhdGVUaW1lL2FkZClcbiAqIC0gW2BUZW1wb3JhbC5QbGFpblRpbWUucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvUGxhaW5UaW1lL2FkZClcbiAqIC0gW2BUZW1wb3JhbC5QbGFpblllYXJNb250aC5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuWm9uZWREYXRlVGltZS5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9ab25lZERhdGVUaW1lL2FkZClcbiAqXG4gKiBcXCogKipOb3QgcmVhbGx5KiosIHNlZTogaHR0cHM6Ly9kYXRlLWZucy5vcmcveW91LWRvbnQtbmVlZC1kYXRlLWZuc1xuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIGhvdXJzIHRvIGJlIGFkZGVkXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFuIG9iamVjdCB3aXRoIG9wdGlvbnNcbiAqXG4gKiBAcmV0dXJucyBUaGUgbmV3IGRhdGUgd2l0aCB0aGUgaG91cnMgYWRkZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQWRkIDIgaG91cnMgdG8gMTAgSnVseSAyMDE0IDIzOjAwOjAwOlxuICogY29uc3QgcmVzdWx0ID0gYWRkSG91cnMobmV3IERhdGUoMjAxNCwgNiwgMTAsIDIzLCAwKSwgMilcbiAqIC8vPT4gRnJpIEp1bCAxMSAyMDE0IDAxOjAwOjAwXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFVzaW5nIFRlbXBvcmFsOlxuICogLy8gQWRkIDIgaG91cnMgdG8gMTAgSnVseSAyMDE0IDIzOjAwOjAwOlxuICogVGVtcG9yYWwuUGxhaW5EYXRlVGltZS5mcm9tKFwiMjAxNC0wNy0xMFQyMzowMDowMFwiKVxuICogICAuYWRkKHsgaG91cnM6IDIgfSlcbiAqICAgLnRvU3RyaW5nKCk7XG4gKiAvLz0+IFwiMjAxNC0wNy0xMVQwMTowMDowMFwiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRIb3VycyhkYXRlLCBhbW91bnQsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGFkZE1pbGxpc2Vjb25kcyhkYXRlLCBhbW91bnQgKiBtaWxsaXNlY29uZHNJbkhvdXIsIG9wdGlvbnMpO1xufVxuIiwiaW1wb3J0IHsgbm9ybWFsaXplRGF0ZXMgfSBmcm9tIFwiLi9fbGliL25vcm1hbGl6ZURhdGVzLmpzXCI7XG5pbXBvcnQgeyBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMgfSBmcm9tIFwiLi9kaWZmZXJlbmNlSW5DYWxlbmRhckRheXMuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIGRpZmZlcmVuY2VJbkRheXN9IGZ1bmN0aW9uIG9wdGlvbnMuXG4gKi9cblxuLyoqXG4gKiBAbmFtZSBkaWZmZXJlbmNlSW5EYXlzXG4gKiBAY2F0ZWdvcnkgRGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgbnVtYmVyIG9mIGZ1bGwgZGF5cyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIGZ1bGwgZGF5IHBlcmlvZHMgYmV0d2VlbiB0d28gZGF0ZXMuIEZyYWN0aW9uYWwgZGF5cyBhcmVcbiAqIHRydW5jYXRlZCB0b3dhcmRzIHplcm8uXG4gKlxuICogT25lIFwiZnVsbCBkYXlcIiBpcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiBhIGxvY2FsIHRpbWUgaW4gb25lIGRheSB0byB0aGUgc2FtZVxuICogbG9jYWwgdGltZSBvbiB0aGUgbmV4dCBvciBwcmV2aW91cyBkYXkuIEEgZnVsbCBkYXkgY2FuIHNvbWV0aW1lcyBiZSBsZXNzIHRoYW5cbiAqIG9yIG1vcmUgdGhhbiAyNCBob3VycyBpZiBhIGRheWxpZ2h0IHNhdmluZ3MgY2hhbmdlIGhhcHBlbnMgYmV0d2VlbiB0d28gZGF0ZXMuXG4gKlxuICogVG8gaWdub3JlIERTVCBhbmQgb25seSBtZWFzdXJlIGV4YWN0IDI0LWhvdXIgcGVyaW9kcywgdXNlIHRoaXMgaW5zdGVhZDpcbiAqIGBNYXRoLnRydW5jKGRpZmZlcmVuY2VJbkhvdXJzKGRhdGVMZWZ0LCBkYXRlUmlnaHQpLzI0KXwwYC5cbiAqXG4gKiBAcGFyYW0gbGF0ZXJEYXRlIC0gVGhlIGxhdGVyIGRhdGVcbiAqIEBwYXJhbSBlYXJsaWVyRGF0ZSAtIFRoZSBlYXJsaWVyIGRhdGVcbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IHdpdGggb3B0aW9uc1xuICpcbiAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgZnVsbCBkYXlzIGFjY29yZGluZyB0byB0aGUgbG9jYWwgdGltZXpvbmVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgZnVsbCBkYXlzIGFyZSBiZXR3ZWVuXG4gKiAvLyAyIEp1bHkgMjAxMSAyMzowMDowMCBhbmQgMiBKdWx5IDIwMTIgMDA6MDA6MDA/XG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5EYXlzKFxuICogICBuZXcgRGF0ZSgyMDEyLCA2LCAyLCAwLCAwKSxcbiAqICAgbmV3IERhdGUoMjAxMSwgNiwgMiwgMjMsIDApXG4gKiApXG4gKiAvLz0+IDM2NVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBmdWxsIGRheXMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDExIDIzOjU5OjAwIGFuZCAzIEp1bHkgMjAxMSAwMDowMTowMD9cbiAqIGNvbnN0IHJlc3VsdCA9IGRpZmZlcmVuY2VJbkRheXMoXG4gKiAgIG5ldyBEYXRlKDIwMTEsIDYsIDMsIDAsIDEpLFxuICogICBuZXcgRGF0ZSgyMDExLCA2LCAyLCAyMywgNTkpXG4gKiApXG4gKiAvLz0+IDBcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgZnVsbCBkYXlzIGFyZSBiZXR3ZWVuXG4gKiAvLyAxIE1hcmNoIDIwMjAgMDowMCBhbmQgMSBKdW5lIDIwMjAgMDowMCA/XG4gKiAvLyBOb3RlOiBiZWNhdXNlIGxvY2FsIHRpbWUgaXMgdXNlZCwgdGhlXG4gKiAvLyByZXN1bHQgd2lsbCBhbHdheXMgYmUgOTIgZGF5cywgZXZlbiBpblxuICogLy8gdGltZSB6b25lcyB3aGVyZSBEU1Qgc3RhcnRzIGFuZCB0aGVcbiAqIC8vIHBlcmlvZCBoYXMgb25seSA5MioyNC0xIGhvdXJzLlxuICogY29uc3QgcmVzdWx0ID0gZGlmZmVyZW5jZUluRGF5cyhcbiAqICAgbmV3IERhdGUoMjAyMCwgNSwgMSksXG4gKiAgIG5ldyBEYXRlKDIwMjAsIDIsIDEpXG4gKiApXG4gKiAvLz0+IDkyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5EYXlzKGxhdGVyRGF0ZSwgZWFybGllckRhdGUsIG9wdGlvbnMpIHtcbiAgY29uc3QgW2xhdGVyRGF0ZV8sIGVhcmxpZXJEYXRlX10gPSBub3JtYWxpemVEYXRlcyhcbiAgICBvcHRpb25zPy5pbixcbiAgICBsYXRlckRhdGUsXG4gICAgZWFybGllckRhdGUsXG4gICk7XG5cbiAgY29uc3Qgc2lnbiA9IGNvbXBhcmVMb2NhbEFzYyhsYXRlckRhdGVfLCBlYXJsaWVyRGF0ZV8pO1xuICBjb25zdCBkaWZmZXJlbmNlID0gTWF0aC5hYnMoXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKGxhdGVyRGF0ZV8sIGVhcmxpZXJEYXRlXyksXG4gICk7XG5cbiAgbGF0ZXJEYXRlXy5zZXREYXRlKGxhdGVyRGF0ZV8uZ2V0RGF0ZSgpIC0gc2lnbiAqIGRpZmZlcmVuY2UpO1xuXG4gIC8vIE1hdGguYWJzKGRpZmYgaW4gZnVsbCBkYXlzIC0gZGlmZiBpbiBjYWxlbmRhciBkYXlzKSA9PT0gMSBpZiBsYXN0IGNhbGVuZGFyIGRheSBpcyBub3QgZnVsbFxuICAvLyBJZiBzbywgcmVzdWx0IG11c3QgYmUgZGVjcmVhc2VkIGJ5IDEgaW4gYWJzb2x1dGUgdmFsdWVcbiAgY29uc3QgaXNMYXN0RGF5Tm90RnVsbCA9IE51bWJlcihcbiAgICBjb21wYXJlTG9jYWxBc2MobGF0ZXJEYXRlXywgZWFybGllckRhdGVfKSA9PT0gLXNpZ24sXG4gICk7XG5cbiAgY29uc3QgcmVzdWx0ID0gc2lnbiAqIChkaWZmZXJlbmNlIC0gaXNMYXN0RGF5Tm90RnVsbCk7XG4gIC8vIFByZXZlbnQgbmVnYXRpdmUgemVyb1xuICByZXR1cm4gcmVzdWx0ID09PSAwID8gMCA6IHJlc3VsdDtcbn1cblxuLy8gTGlrZSBgY29tcGFyZUFzY2AgYnV0IHVzZXMgbG9jYWwgdGltZSBub3QgVVRDLCB3aGljaCBpcyBuZWVkZWRcbi8vIGZvciBhY2N1cmF0ZSBlcXVhbGl0eSBjb21wYXJpc29ucyBvZiBVVEMgdGltZXN0YW1wcyB0aGF0IGVuZCB1cFxuLy8gaGF2aW5nIHRoZSBzYW1lIHJlcHJlc2VudGF0aW9uIGluIGxvY2FsIHRpbWUsIGUuZy4gb25lIGhvdXIgYmVmb3JlXG4vLyBEU1QgZW5kcyB2cy4gdGhlIGluc3RhbnQgdGhhdCBEU1QgZW5kcy5cbmZ1bmN0aW9uIGNvbXBhcmVMb2NhbEFzYyhsYXRlckRhdGUsIGVhcmxpZXJEYXRlKSB7XG4gIGNvbnN0IGRpZmYgPVxuICAgIGxhdGVyRGF0ZS5nZXRGdWxsWWVhcigpIC0gZWFybGllckRhdGUuZ2V0RnVsbFllYXIoKSB8fFxuICAgIGxhdGVyRGF0ZS5nZXRNb250aCgpIC0gZWFybGllckRhdGUuZ2V0TW9udGgoKSB8fFxuICAgIGxhdGVyRGF0ZS5nZXREYXRlKCkgLSBlYXJsaWVyRGF0ZS5nZXREYXRlKCkgfHxcbiAgICBsYXRlckRhdGUuZ2V0SG91cnMoKSAtIGVhcmxpZXJEYXRlLmdldEhvdXJzKCkgfHxcbiAgICBsYXRlckRhdGUuZ2V0TWludXRlcygpIC0gZWFybGllckRhdGUuZ2V0TWludXRlcygpIHx8XG4gICAgbGF0ZXJEYXRlLmdldFNlY29uZHMoKSAtIGVhcmxpZXJEYXRlLmdldFNlY29uZHMoKSB8fFxuICAgIGxhdGVyRGF0ZS5nZXRNaWxsaXNlY29uZHMoKSAtIGVhcmxpZXJEYXRlLmdldE1pbGxpc2Vjb25kcygpO1xuXG4gIGlmIChkaWZmIDwgMCkgcmV0dXJuIC0xO1xuICBpZiAoZGlmZiA+IDApIHJldHVybiAxO1xuXG4gIC8vIFJldHVybiAwIGlmIGRpZmYgaXMgMDsgcmV0dXJuIE5hTiBpZiBkaWZmIGlzIE5hTlxuICByZXR1cm4gZGlmZjtcbn1cbiIsImltcG9ydCB7IGdldFJvdW5kaW5nTWV0aG9kIH0gZnJvbSBcIi4vX2xpYi9nZXRSb3VuZGluZ01ldGhvZC5qc1wiO1xuaW1wb3J0IHsgbm9ybWFsaXplRGF0ZXMgfSBmcm9tIFwiLi9fbGliL25vcm1hbGl6ZURhdGVzLmpzXCI7XG5pbXBvcnQgeyBtaWxsaXNlY29uZHNJbkhvdXIgfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIGRpZmZlcmVuY2VJbkhvdXJzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgZGlmZmVyZW5jZUluSG91cnNcbiAqIEBjYXRlZ29yeSBIb3VyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgbnVtYmVyIG9mIGhvdXJzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBudW1iZXIgb2YgaG91cnMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogQHBhcmFtIGxhdGVyRGF0ZSAtIFRoZSBsYXRlciBkYXRlXG4gKiBAcGFyYW0gZWFybGllckRhdGUgLSBUaGUgZWFybGllciBkYXRlXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFuIG9iamVjdCB3aXRoIG9wdGlvbnMuXG4gKlxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBob3Vyc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBob3VycyBhcmUgYmV0d2VlbiAyIEp1bHkgMjAxNCAwNjo1MDowMCBhbmQgMiBKdWx5IDIwMTQgMTk6MDA6MDA/XG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5Ib3VycyhcbiAqICAgbmV3IERhdGUoMjAxNCwgNiwgMiwgMTksIDApLFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCA2LCA1MClcbiAqIClcbiAqIC8vPT4gMTJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbkhvdXJzKGxhdGVyRGF0ZSwgZWFybGllckRhdGUsIG9wdGlvbnMpIHtcbiAgY29uc3QgW2xhdGVyRGF0ZV8sIGVhcmxpZXJEYXRlX10gPSBub3JtYWxpemVEYXRlcyhcbiAgICBvcHRpb25zPy5pbixcbiAgICBsYXRlckRhdGUsXG4gICAgZWFybGllckRhdGUsXG4gICk7XG4gIGNvbnN0IGRpZmYgPSAoK2xhdGVyRGF0ZV8gLSArZWFybGllckRhdGVfKSAvIG1pbGxpc2Vjb25kc0luSG91cjtcbiAgcmV0dXJuIGdldFJvdW5kaW5nTWV0aG9kKG9wdGlvbnM/LnJvdW5kaW5nTWV0aG9kKShkaWZmKTtcbn1cbiIsImltcG9ydCB7IGFkZERheXMgfSBmcm9tIFwiLi9hZGREYXlzLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBzdWJEYXlzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgc3ViRGF5c1xuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBTdWJ0cmFjdCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBkYXlzIGZyb20gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQHR5cGVQYXJhbSBEYXRlVHlwZSAtIFRoZSBgRGF0ZWAgdHlwZSwgdGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uLiBHZXRzIGluZmVycmVkIGZyb20gcGFzc2VkIGFyZ3VtZW50cy4gQWxsb3dzIHRvIHVzZSBleHRlbnNpb25zIGxpa2UgW2BVVENEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3V0YykuXG4gKiBAdHlwZVBhcmFtIFJlc3VsdERhdGUgLSBUaGUgcmVzdWx0IGBEYXRlYCB0eXBlLCBpdCBpcyB0aGUgdHlwZSByZXR1cm5lZCBmcm9tIHRoZSBjb250ZXh0IGZ1bmN0aW9uIGlmIGl0IGlzIHBhc3NlZCwgb3IgaW5mZXJyZWQgZnJvbSB0aGUgYXJndW1lbnRzLlxuICpcbiAqIEBwYXJhbSBkYXRlIC0gVGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIGFtb3VudCAtIFRoZSBhbW91bnQgb2YgZGF5cyB0byBiZSBzdWJ0cmFjdGVkLlxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvYmplY3Qgd2l0aCBvcHRpb25zXG4gKlxuICogQHJldHVybnMgVGhlIG5ldyBkYXRlIHdpdGggdGhlIGRheXMgc3VidHJhY3RlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdWJ0cmFjdCAxMCBkYXlzIGZyb20gMSBTZXB0ZW1iZXIgMjAxNDpcbiAqIGNvbnN0IHJlc3VsdCA9IHN1YkRheXMobmV3IERhdGUoMjAxNCwgOCwgMSksIDEwKVxuICogLy89PiBGcmkgQXVnIDIyIDIwMTQgMDA6MDA6MDBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1YkRheXMoZGF0ZSwgYW1vdW50LCBvcHRpb25zKSB7XG4gIHJldHVybiBhZGREYXlzKGRhdGUsIC1hbW91bnQsIG9wdGlvbnMpO1xufVxuIiwiaW1wb3J0IHtcbiAgbWlsbGlzZWNvbmRzSW5Ib3VyLFxuICBtaWxsaXNlY29uZHNJbk1pbnV0ZSxcbn0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBjb25zdHJ1Y3RGcm9tIH0gZnJvbSBcIi4vY29uc3RydWN0RnJvbS5qc1wiO1xuaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBwYXJzZUlTT30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIHBhcnNlSVNPXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFBhcnNlIElTTyBzdHJpbmdcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFBhcnNlIHRoZSBnaXZlbiBzdHJpbmcgaW4gSVNPIDg2MDEgZm9ybWF0IGFuZCByZXR1cm4gYW4gaW5zdGFuY2Ugb2YgRGF0ZS5cbiAqXG4gKiBGdW5jdGlvbiBhY2NlcHRzIGNvbXBsZXRlIElTTyA4NjAxIGZvcm1hdHMgYXMgd2VsbCBhcyBwYXJ0aWFsIGltcGxlbWVudGF0aW9ucy5cbiAqIElTTyA4NjAxOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxXG4gKlxuICogSWYgdGhlIGFyZ3VtZW50IGlzbid0IGEgc3RyaW5nLCB0aGUgZnVuY3Rpb24gY2Fubm90IHBhcnNlIHRoZSBzdHJpbmcgb3JcbiAqIHRoZSB2YWx1ZXMgYXJlIGludmFsaWQsIGl0IHJldHVybnMgSW52YWxpZCBEYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gYXJndW1lbnQgLSBUaGUgdmFsdWUgdG8gY29udmVydFxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvYmplY3Qgd2l0aCBvcHRpb25zXG4gKlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBkYXRlIGluIHRoZSBsb2NhbCB0aW1lIHpvbmVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ29udmVydCBzdHJpbmcgJzIwMTQtMDItMTFUMTE6MzA6MzAnIHRvIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSBwYXJzZUlTTygnMjAxNC0wMi0xMVQxMTozMDozMCcpXG4gKiAvLz0+IFR1ZSBGZWIgMTEgMjAxNCAxMTozMDozMFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBDb252ZXJ0IHN0cmluZyAnKzAyMDE0MTAxJyB0byBkYXRlLFxuICogLy8gaWYgdGhlIGFkZGl0aW9uYWwgbnVtYmVyIG9mIGRpZ2l0cyBpbiB0aGUgZXh0ZW5kZWQgeWVhciBmb3JtYXQgaXMgMTpcbiAqIGNvbnN0IHJlc3VsdCA9IHBhcnNlSVNPKCcrMDIwMTQxMDEnLCB7IGFkZGl0aW9uYWxEaWdpdHM6IDEgfSlcbiAqIC8vPT4gRnJpIEFwciAxMSAyMDE0IDAwOjAwOjAwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUlTTyhhcmd1bWVudCwgb3B0aW9ucykge1xuICBjb25zdCBpbnZhbGlkRGF0ZSA9ICgpID0+IGNvbnN0cnVjdEZyb20ob3B0aW9ucz8uaW4sIE5hTik7XG5cbiAgY29uc3QgYWRkaXRpb25hbERpZ2l0cyA9IG9wdGlvbnM/LmFkZGl0aW9uYWxEaWdpdHMgPz8gMjtcbiAgY29uc3QgZGF0ZVN0cmluZ3MgPSBzcGxpdERhdGVTdHJpbmcoYXJndW1lbnQpO1xuXG4gIGxldCBkYXRlO1xuICBpZiAoZGF0ZVN0cmluZ3MuZGF0ZSkge1xuICAgIGNvbnN0IHBhcnNlWWVhclJlc3VsdCA9IHBhcnNlWWVhcihkYXRlU3RyaW5ncy5kYXRlLCBhZGRpdGlvbmFsRGlnaXRzKTtcbiAgICBkYXRlID0gcGFyc2VEYXRlKHBhcnNlWWVhclJlc3VsdC5yZXN0RGF0ZVN0cmluZywgcGFyc2VZZWFyUmVzdWx0LnllYXIpO1xuICB9XG5cbiAgaWYgKCFkYXRlIHx8IGlzTmFOKCtkYXRlKSkgcmV0dXJuIGludmFsaWREYXRlKCk7XG5cbiAgY29uc3QgdGltZXN0YW1wID0gK2RhdGU7XG4gIGxldCB0aW1lID0gMDtcbiAgbGV0IG9mZnNldDtcblxuICBpZiAoZGF0ZVN0cmluZ3MudGltZSkge1xuICAgIHRpbWUgPSBwYXJzZVRpbWUoZGF0ZVN0cmluZ3MudGltZSk7XG4gICAgaWYgKGlzTmFOKHRpbWUpKSByZXR1cm4gaW52YWxpZERhdGUoKTtcbiAgfVxuXG4gIGlmIChkYXRlU3RyaW5ncy50aW1lem9uZSkge1xuICAgIG9mZnNldCA9IHBhcnNlVGltZXpvbmUoZGF0ZVN0cmluZ3MudGltZXpvbmUpO1xuICAgIGlmIChpc05hTihvZmZzZXQpKSByZXR1cm4gaW52YWxpZERhdGUoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0bXBEYXRlID0gbmV3IERhdGUodGltZXN0YW1wICsgdGltZSk7XG4gICAgY29uc3QgcmVzdWx0ID0gdG9EYXRlKDAsIG9wdGlvbnM/LmluKTtcbiAgICByZXN1bHQuc2V0RnVsbFllYXIoXG4gICAgICB0bXBEYXRlLmdldFVUQ0Z1bGxZZWFyKCksXG4gICAgICB0bXBEYXRlLmdldFVUQ01vbnRoKCksXG4gICAgICB0bXBEYXRlLmdldFVUQ0RhdGUoKSxcbiAgICApO1xuICAgIHJlc3VsdC5zZXRIb3VycyhcbiAgICAgIHRtcERhdGUuZ2V0VVRDSG91cnMoKSxcbiAgICAgIHRtcERhdGUuZ2V0VVRDTWludXRlcygpLFxuICAgICAgdG1wRGF0ZS5nZXRVVENTZWNvbmRzKCksXG4gICAgICB0bXBEYXRlLmdldFVUQ01pbGxpc2Vjb25kcygpLFxuICAgICk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHJldHVybiB0b0RhdGUodGltZXN0YW1wICsgdGltZSArIG9mZnNldCwgb3B0aW9ucz8uaW4pO1xufVxuXG5jb25zdCBwYXR0ZXJucyA9IHtcbiAgZGF0ZVRpbWVEZWxpbWl0ZXI6IC9bVCBdLyxcbiAgdGltZVpvbmVEZWxpbWl0ZXI6IC9bWiBdL2ksXG4gIHRpbWV6b25lOiAvKFtaKy1dLiopJC8sXG59O1xuXG5jb25zdCBkYXRlUmVnZXggPVxuICAvXi0/KD86KFxcZHszfSl8KFxcZHsyfSkoPzotPyhcXGR7Mn0pKT98VyhcXGR7Mn0pKD86LT8oXFxkezF9KSk/fCkkLztcbmNvbnN0IHRpbWVSZWdleCA9XG4gIC9eKFxcZHsyfSg/OlsuLF1cXGQqKT8pKD86Oj8oXFxkezJ9KD86Wy4sXVxcZCopPykpPyg/Ojo/KFxcZHsyfSg/OlsuLF1cXGQqKT8pKT8kLztcbmNvbnN0IHRpbWV6b25lUmVnZXggPSAvXihbKy1dKShcXGR7Mn0pKD86Oj8oXFxkezJ9KSk/JC87XG5cbmZ1bmN0aW9uIHNwbGl0RGF0ZVN0cmluZyhkYXRlU3RyaW5nKSB7XG4gIGNvbnN0IGRhdGVTdHJpbmdzID0ge307XG4gIGNvbnN0IGFycmF5ID0gZGF0ZVN0cmluZy5zcGxpdChwYXR0ZXJucy5kYXRlVGltZURlbGltaXRlcik7XG4gIGxldCB0aW1lU3RyaW5nO1xuXG4gIC8vIFRoZSByZWdleCBtYXRjaCBzaG91bGQgb25seSByZXR1cm4gYXQgbWF4aW11bSB0d28gYXJyYXkgZWxlbWVudHMuXG4gIC8vIFtkYXRlXSwgW3RpbWVdLCBvciBbZGF0ZSwgdGltZV0uXG4gIGlmIChhcnJheS5sZW5ndGggPiAyKSB7XG4gICAgcmV0dXJuIGRhdGVTdHJpbmdzO1xuICB9XG5cbiAgaWYgKC86Ly50ZXN0KGFycmF5WzBdKSkge1xuICAgIHRpbWVTdHJpbmcgPSBhcnJheVswXTtcbiAgfSBlbHNlIHtcbiAgICBkYXRlU3RyaW5ncy5kYXRlID0gYXJyYXlbMF07XG4gICAgdGltZVN0cmluZyA9IGFycmF5WzFdO1xuICAgIGlmIChwYXR0ZXJucy50aW1lWm9uZURlbGltaXRlci50ZXN0KGRhdGVTdHJpbmdzLmRhdGUpKSB7XG4gICAgICBkYXRlU3RyaW5ncy5kYXRlID0gZGF0ZVN0cmluZy5zcGxpdChwYXR0ZXJucy50aW1lWm9uZURlbGltaXRlcilbMF07XG4gICAgICB0aW1lU3RyaW5nID0gZGF0ZVN0cmluZy5zdWJzdHIoXG4gICAgICAgIGRhdGVTdHJpbmdzLmRhdGUubGVuZ3RoLFxuICAgICAgICBkYXRlU3RyaW5nLmxlbmd0aCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHRpbWVTdHJpbmcpIHtcbiAgICBjb25zdCB0b2tlbiA9IHBhdHRlcm5zLnRpbWV6b25lLmV4ZWModGltZVN0cmluZyk7XG4gICAgaWYgKHRva2VuKSB7XG4gICAgICBkYXRlU3RyaW5ncy50aW1lID0gdGltZVN0cmluZy5yZXBsYWNlKHRva2VuWzFdLCBcIlwiKTtcbiAgICAgIGRhdGVTdHJpbmdzLnRpbWV6b25lID0gdG9rZW5bMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGRhdGVTdHJpbmdzLnRpbWUgPSB0aW1lU3RyaW5nO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkYXRlU3RyaW5ncztcbn1cblxuZnVuY3Rpb24gcGFyc2VZZWFyKGRhdGVTdHJpbmcsIGFkZGl0aW9uYWxEaWdpdHMpIHtcbiAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKFxuICAgIFwiXig/OihcXFxcZHs0fXxbKy1dXFxcXGR7XCIgK1xuICAgICAgKDQgKyBhZGRpdGlvbmFsRGlnaXRzKSArXG4gICAgICBcIn0pfChcXFxcZHsyfXxbKy1dXFxcXGR7XCIgK1xuICAgICAgKDIgKyBhZGRpdGlvbmFsRGlnaXRzKSArXG4gICAgICBcIn0pJClcIixcbiAgKTtcblxuICBjb25zdCBjYXB0dXJlcyA9IGRhdGVTdHJpbmcubWF0Y2gocmVnZXgpO1xuICAvLyBJbnZhbGlkIElTTy1mb3JtYXR0ZWQgeWVhclxuICBpZiAoIWNhcHR1cmVzKSByZXR1cm4geyB5ZWFyOiBOYU4sIHJlc3REYXRlU3RyaW5nOiBcIlwiIH07XG5cbiAgY29uc3QgeWVhciA9IGNhcHR1cmVzWzFdID8gcGFyc2VJbnQoY2FwdHVyZXNbMV0pIDogbnVsbDtcbiAgY29uc3QgY2VudHVyeSA9IGNhcHR1cmVzWzJdID8gcGFyc2VJbnQoY2FwdHVyZXNbMl0pIDogbnVsbDtcblxuICAvLyBlaXRoZXIgeWVhciBvciBjZW50dXJ5IGlzIG51bGwsIG5vdCBib3RoXG4gIHJldHVybiB7XG4gICAgeWVhcjogY2VudHVyeSA9PT0gbnVsbCA/IHllYXIgOiBjZW50dXJ5ICogMTAwLFxuICAgIHJlc3REYXRlU3RyaW5nOiBkYXRlU3RyaW5nLnNsaWNlKChjYXB0dXJlc1sxXSB8fCBjYXB0dXJlc1syXSkubGVuZ3RoKSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gcGFyc2VEYXRlKGRhdGVTdHJpbmcsIHllYXIpIHtcbiAgLy8gSW52YWxpZCBJU08tZm9ybWF0dGVkIHllYXJcbiAgaWYgKHllYXIgPT09IG51bGwpIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuXG4gIGNvbnN0IGNhcHR1cmVzID0gZGF0ZVN0cmluZy5tYXRjaChkYXRlUmVnZXgpO1xuICAvLyBJbnZhbGlkIElTTy1mb3JtYXR0ZWQgc3RyaW5nXG4gIGlmICghY2FwdHVyZXMpIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuXG4gIGNvbnN0IGlzV2Vla0RhdGUgPSAhIWNhcHR1cmVzWzRdO1xuICBjb25zdCBkYXlPZlllYXIgPSBwYXJzZURhdGVVbml0KGNhcHR1cmVzWzFdKTtcbiAgY29uc3QgbW9udGggPSBwYXJzZURhdGVVbml0KGNhcHR1cmVzWzJdKSAtIDE7XG4gIGNvbnN0IGRheSA9IHBhcnNlRGF0ZVVuaXQoY2FwdHVyZXNbM10pO1xuICBjb25zdCB3ZWVrID0gcGFyc2VEYXRlVW5pdChjYXB0dXJlc1s0XSk7XG4gIGNvbnN0IGRheU9mV2VlayA9IHBhcnNlRGF0ZVVuaXQoY2FwdHVyZXNbNV0pIC0gMTtcblxuICBpZiAoaXNXZWVrRGF0ZSkge1xuICAgIGlmICghdmFsaWRhdGVXZWVrRGF0ZSh5ZWFyLCB3ZWVrLCBkYXlPZldlZWspKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoTmFOKTtcbiAgICB9XG4gICAgcmV0dXJuIGRheU9mSVNPV2Vla1llYXIoeWVhciwgd2VlaywgZGF5T2ZXZWVrKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoMCk7XG4gICAgaWYgKFxuICAgICAgIXZhbGlkYXRlRGF0ZSh5ZWFyLCBtb250aCwgZGF5KSB8fFxuICAgICAgIXZhbGlkYXRlRGF5T2ZZZWFyRGF0ZSh5ZWFyLCBkYXlPZlllYXIpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoTmFOKTtcbiAgICB9XG4gICAgZGF0ZS5zZXRVVENGdWxsWWVhcih5ZWFyLCBtb250aCwgTWF0aC5tYXgoZGF5T2ZZZWFyLCBkYXkpKTtcbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZURhdGVVbml0KHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA/IHBhcnNlSW50KHZhbHVlKSA6IDE7XG59XG5cbmZ1bmN0aW9uIHBhcnNlVGltZSh0aW1lU3RyaW5nKSB7XG4gIGNvbnN0IGNhcHR1cmVzID0gdGltZVN0cmluZy5tYXRjaCh0aW1lUmVnZXgpO1xuICBpZiAoIWNhcHR1cmVzKSByZXR1cm4gTmFOOyAvLyBJbnZhbGlkIElTTy1mb3JtYXR0ZWQgdGltZVxuXG4gIGNvbnN0IGhvdXJzID0gcGFyc2VUaW1lVW5pdChjYXB0dXJlc1sxXSk7XG4gIGNvbnN0IG1pbnV0ZXMgPSBwYXJzZVRpbWVVbml0KGNhcHR1cmVzWzJdKTtcbiAgY29uc3Qgc2Vjb25kcyA9IHBhcnNlVGltZVVuaXQoY2FwdHVyZXNbM10pO1xuXG4gIGlmICghdmFsaWRhdGVUaW1lKGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKSkge1xuICAgIHJldHVybiBOYU47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIGhvdXJzICogbWlsbGlzZWNvbmRzSW5Ib3VyICsgbWludXRlcyAqIG1pbGxpc2Vjb25kc0luTWludXRlICsgc2Vjb25kcyAqIDEwMDBcbiAgKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VUaW1lVW5pdCh2YWx1ZSkge1xuICByZXR1cm4gKHZhbHVlICYmIHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZShcIixcIiwgXCIuXCIpKSkgfHwgMDtcbn1cblxuZnVuY3Rpb24gcGFyc2VUaW1lem9uZSh0aW1lem9uZVN0cmluZykge1xuICBpZiAodGltZXpvbmVTdHJpbmcgPT09IFwiWlwiKSByZXR1cm4gMDtcblxuICBjb25zdCBjYXB0dXJlcyA9IHRpbWV6b25lU3RyaW5nLm1hdGNoKHRpbWV6b25lUmVnZXgpO1xuICBpZiAoIWNhcHR1cmVzKSByZXR1cm4gMDtcblxuICBjb25zdCBzaWduID0gY2FwdHVyZXNbMV0gPT09IFwiK1wiID8gLTEgOiAxO1xuICBjb25zdCBob3VycyA9IHBhcnNlSW50KGNhcHR1cmVzWzJdKTtcbiAgY29uc3QgbWludXRlcyA9IChjYXB0dXJlc1szXSAmJiBwYXJzZUludChjYXB0dXJlc1szXSkpIHx8IDA7XG5cbiAgaWYgKCF2YWxpZGF0ZVRpbWV6b25lKGhvdXJzLCBtaW51dGVzKSkge1xuICAgIHJldHVybiBOYU47XG4gIH1cblxuICByZXR1cm4gc2lnbiAqIChob3VycyAqIG1pbGxpc2Vjb25kc0luSG91ciArIG1pbnV0ZXMgKiBtaWxsaXNlY29uZHNJbk1pbnV0ZSk7XG59XG5cbmZ1bmN0aW9uIGRheU9mSVNPV2Vla1llYXIoaXNvV2Vla1llYXIsIHdlZWssIGRheSkge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoMCk7XG4gIGRhdGUuc2V0VVRDRnVsbFllYXIoaXNvV2Vla1llYXIsIDAsIDQpO1xuICBjb25zdCBmb3VydGhPZkphbnVhcnlEYXkgPSBkYXRlLmdldFVUQ0RheSgpIHx8IDc7XG4gIGNvbnN0IGRpZmYgPSAod2VlayAtIDEpICogNyArIGRheSArIDEgLSBmb3VydGhPZkphbnVhcnlEYXk7XG4gIGRhdGUuc2V0VVRDRGF0ZShkYXRlLmdldFVUQ0RhdGUoKSArIGRpZmYpO1xuICByZXR1cm4gZGF0ZTtcbn1cblxuLy8gVmFsaWRhdGlvbiBmdW5jdGlvbnNcblxuLy8gRmVicnVhcnkgaXMgbnVsbCB0byBoYW5kbGUgdGhlIGxlYXAgeWVhciAodXNpbmcgfHwpXG5jb25zdCBkYXlzSW5Nb250aHMgPSBbMzEsIG51bGwsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxXTtcblxuZnVuY3Rpb24gaXNMZWFwWWVhckluZGV4KHllYXIpIHtcbiAgcmV0dXJuIHllYXIgJSA0MDAgPT09IDAgfHwgKHllYXIgJSA0ID09PSAwICYmIHllYXIgJSAxMDAgIT09IDApO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZURhdGUoeWVhciwgbW9udGgsIGRhdGUpIHtcbiAgcmV0dXJuIChcbiAgICBtb250aCA+PSAwICYmXG4gICAgbW9udGggPD0gMTEgJiZcbiAgICBkYXRlID49IDEgJiZcbiAgICBkYXRlIDw9IChkYXlzSW5Nb250aHNbbW9udGhdIHx8IChpc0xlYXBZZWFySW5kZXgoeWVhcikgPyAyOSA6IDI4KSlcbiAgKTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVEYXlPZlllYXJEYXRlKHllYXIsIGRheU9mWWVhcikge1xuICByZXR1cm4gZGF5T2ZZZWFyID49IDEgJiYgZGF5T2ZZZWFyIDw9IChpc0xlYXBZZWFySW5kZXgoeWVhcikgPyAzNjYgOiAzNjUpO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVdlZWtEYXRlKF95ZWFyLCB3ZWVrLCBkYXkpIHtcbiAgcmV0dXJuIHdlZWsgPj0gMSAmJiB3ZWVrIDw9IDUzICYmIGRheSA+PSAwICYmIGRheSA8PSA2O1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVRpbWUoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpIHtcbiAgaWYgKGhvdXJzID09PSAyNCkge1xuICAgIHJldHVybiBtaW51dGVzID09PSAwICYmIHNlY29uZHMgPT09IDA7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIHNlY29uZHMgPj0gMCAmJlxuICAgIHNlY29uZHMgPCA2MCAmJlxuICAgIG1pbnV0ZXMgPj0gMCAmJlxuICAgIG1pbnV0ZXMgPCA2MCAmJlxuICAgIGhvdXJzID49IDAgJiZcbiAgICBob3VycyA8IDI1XG4gICk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlVGltZXpvbmUoX2hvdXJzLCBtaW51dGVzKSB7XG4gIHJldHVybiBtaW51dGVzID49IDAgJiYgbWludXRlcyA8PSA1OTtcbn1cbiIsImltcG9ydCB7IGFkZEhvdXJzIH0gZnJvbSBcIi4vYWRkSG91cnMuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIHN1YkhvdXJzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgc3ViSG91cnNcbiAqIEBjYXRlZ29yeSBIb3VyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGhvdXJzIGZyb20gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBTdWJ0cmFjdCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBob3VycyBmcm9tIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIGhvdXJzIHRvIGJlIHN1YnRyYWN0ZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zXG4gKlxuICogQHJldHVybnMgVGhlIG5ldyBkYXRlIHdpdGggdGhlIGhvdXJzIHN1YnRyYWN0ZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3VidHJhY3QgMiBob3VycyBmcm9tIDExIEp1bHkgMjAxNCAwMTowMDowMDpcbiAqIGNvbnN0IHJlc3VsdCA9IHN1YkhvdXJzKG5ldyBEYXRlKDIwMTQsIDYsIDExLCAxLCAwKSwgMilcbiAqIC8vPT4gVGh1IEp1bCAxMCAyMDE0IDIzOjAwOjAwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJIb3VycyhkYXRlLCBhbW91bnQsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGFkZEhvdXJzKGRhdGUsIC1hbW91bnQsIG9wdGlvbnMpO1xufVxuIiwiaW1wb3J0IHtcbiAgaTE4bkR1cmF0aW9uSG91cixcbiAgaTE4bkR1cmF0aW9uTWludXRlLFxuICBpMThuRHVyYXRpb25EYXksXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQge1xuICBpc1ZhbGlkLFxuICBwYXJzZUlTTyxcbiAgZGlmZmVyZW5jZUluRGF5cyxcbiAgZGlmZmVyZW5jZUluSG91cnMsXG4gIGRpZmZlcmVuY2VJbk1pbnV0ZXMsXG4gIGFkZE1pbnV0ZXMsXG4gIHN1YkhvdXJzLFxuICBzdWJEYXlzLFxufSBmcm9tICdkYXRlLWZucyc7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiByZW1vdmVzIHRoZSBvZmZzZXQgb2YgYSBJU08gZGF0ZSBzdHJpbmcuIFRoaXMgbmVlZHMgdG8gYmUgZG9uZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgb2Zmc2V0IGlzIGlnbm9yZWQuXG4gKiBJZiBpdCBpcyBub3QgcmVtb3ZlZCB0aGUgdGltZSB3b3VsZCBiZSBjb252ZXJ0ZWQgdG8gdGhlIGJyb3dzZXJzIGxvY2FsIHRpbWUuXG4gKiBFeGFtcGxlOiBcIjIwMjItMDgtMjlUMDk6MzA6MDArMDM6MDBcIiB3b3VsZCBiZSBjaGFuZ2VkIHRvIFwiMjAyMi0wOC0yOVQwODozMDowMCswMjowMFwiIC0tPiBub3QgdGhlIGRlc2lyZWQgb3V0Y29tZSwgYXMgd2Ugd2FudCB0byB1c2UgdGhlIHRpbWUgaW4gdGhlIHRpbWV6b25lIGFuZCBub3QgdGhlIGxvY2FsIHRpbWUuXG4gKlxuICogQWZ0ZXIgdGhlIG9mZnNldCBpcyByZW1vdmVkIGEgbmV3IGRhdGUgaXMgY3JlYXRlZCBpbiB0aGUgYnJvd3NlcnMgbG9jYWwgdGltZS4gVGhpcyBlbnN1cmVzIHRoYXQgdGhlIHRpbWUgb2YgdGhlIElTTyBkYXRlIHN0cmluZyBpcyBkaXNwbGF5ZWQgYW5kIG5vdCBhIGNvbnZlcnRlZCB0aW1lLlxuICogRXhhbXBsZTogXCIyMDIyLTA4LTI5VDA5OjMwOjAwKzAzOjAwXCIgd291bGQgYmUgY2hhbmdlZCB0byBcIjIwMjItMDgtMjlUMDk6MzA6MDArMDI6MDBcIiAtLT4gZGVzaXJlZCBvdXRjb21lXG4gKiBBdHRlbnRpb246IFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgY29udmVydCB0aGUgdGltZSB0byB0aGUgY29ycmVjdCB0aW1lIGluIHRoZSBsb2NhbCB0aW1lem9uZS4gSXQgaXMgYSB3b3JrYXJvdW5kIHRvIG1ha2Ugc3VyZSwgdGhhdCB0aGUgZ2l2ZW4gdGltZSBpcyBkaXNwbGF5ZWQgd2l0aG91dCBiZWluZyBjb252ZXJ0ZWQuXG4gKlxuICogT2Zmc2V0OiBEaWZmZXJlbmNlIGJldHdlZW4gdGhlIHRpbWV6b25lIGFuZCBDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZS5cbiAqXG4gKiBAcGFyYW0gaXNvVGltZSAtIHRoZSBpc28gdGltZSB3aXRoIHRoZSB0aW1lem9uZSBvZmZzZXRcbiAqIEByZXR1cm5zIGEgbmV3IGRhdGUgd2l0aCB0aGUgbG9jYWwgdGltZXpvbmUgd2l0aCB0aGUgbG9jYWwgb2Zmc2V0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGlzb1RpbWU/OiBzdHJpbmcpOiBEYXRlIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFpc29UaW1lKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCBwYXJzZWREYXRlID0gcGFyc2VJU08oaXNvVGltZSk7XG5cbiAgaWYgKCFpc1ZhbGlkKHBhcnNlZERhdGUpKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmIChpc29UaW1lLmluY2x1ZGVzKCdaJykpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoaXNvVGltZS5yZXBsYWNlKCdaJywgJycpKTtcbiAgfVxuXG4gIGlmIChpc29UaW1lLmluY2x1ZGVzKCdUJykpIHtcbiAgICBjb25zdCBkYXRlVGltZSA9IGlzb1RpbWUuc3BsaXQoJ1QnKTtcblxuICAgIGlmIChkYXRlVGltZVsxXSAmJiAoZGF0ZVRpbWVbMV0uaW5jbHVkZXMoJysnKSB8fCBkYXRlVGltZVsxXS5pbmNsdWRlcygnLScpKSkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKGAke2RhdGVUaW1lWzBdfVQke2RhdGVUaW1lWzFdLnNwbGl0KC9bKy1dLylbMF19YCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBuZXcgRGF0ZShpc29UaW1lKTtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRzIGEgZHVyYXRpb24gbnVtYmVyIHRvIGRhdGUgc3RyaW5nIHdpdGggc3BlY2lmaWMgZm9ybWF0XG4gKlxuICogQHBhcmFtIGR1cmF0aW9uIC0gZHVyYXRpb24gaW4gbWludXRlc1xuICogQHBhcmFtIGN1cnJlbnRMYW5ndWFnZSAtIGN1cnJlbnRMYW5ndWFnZVxuICogQHJldHVybnMgYW4gT2JqZWN0IHdpdGggdHdvIHN0cmluZ3MgaW4gdGhlIGZvcm1hdCBcImRkIGhoIG1tXCIgKHNob3J0KSBhbiBcInggRGF5KHMpIHggSG91cihzKSB4IE1pbnV0ZShzKSAobG9uZylcIlxuICogKi9cblxuZXhwb3J0IGNvbnN0IGR1cmF0aW9uVG9UaW1lID0gKFxuICBkdXJhdGlvbjogbnVtYmVyLFxuICBjdXJyZW50TGFuZ3VhZ2U/OiBzdHJpbmcsXG4pOiB7IHNob3J0OiBzdHJpbmc7IGxvbmc6IHN0cmluZyB9ID0+IHtcbiAgY29uc3Qgc2hvcnQgPSBbXTtcbiAgY29uc3QgbG9uZyA9IFtdO1xuXG4gIGNvbnN0IG5vdyA9IDA7XG4gIGxldCBmdXR1cmUgPSBhZGRNaW51dGVzKG5vdywgZHVyYXRpb24pO1xuXG4gIGNvbnN0IGRheXMgPSBkaWZmZXJlbmNlSW5EYXlzKGZ1dHVyZSwgbm93KTtcbiAgaWYgKGRheXMgPiAwKSB7XG4gICAgc2hvcnQucHVzaChgJHtkYXlzfSBkYCk7XG4gICAgaWYgKGN1cnJlbnRMYW5ndWFnZSkge1xuICAgICAgbG9uZy5wdXNoKFxuICAgICAgICBgJHtkYXlzfSAke1xuICAgICAgICAgIGRheXMgPiAxXG4gICAgICAgICAgICA/IGkxOG5EdXJhdGlvbkRheS5tdWx0aXBsZS5sb25nW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgICAgIDogaTE4bkR1cmF0aW9uRGF5LnNpbmdsZS5sb25nW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgfWAsXG4gICAgICApO1xuICAgIH1cbiAgICBmdXR1cmUgPSBzdWJEYXlzKGZ1dHVyZSwgZGF5cyk7XG4gIH1cblxuICBjb25zdCBob3VycyA9IGRpZmZlcmVuY2VJbkhvdXJzKGZ1dHVyZSwgbm93KTtcbiAgaWYgKGhvdXJzID4gMCkge1xuICAgIHNob3J0LnB1c2goYCR7aG91cnN9IGhgKTtcbiAgICBpZiAoY3VycmVudExhbmd1YWdlKSB7XG4gICAgICBsb25nLnB1c2goXG4gICAgICAgIGAke2hvdXJzfSAke1xuICAgICAgICAgIGhvdXJzID4gMVxuICAgICAgICAgICAgPyBpMThuRHVyYXRpb25Ib3VyLm11bHRpcGxlLmxvbmdbY3VycmVudExhbmd1YWdlXVxuICAgICAgICAgICAgOiBpMThuRHVyYXRpb25Ib3VyLnNpbmdsZS5sb25nW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgfWAsXG4gICAgICApO1xuICAgIH1cbiAgICBmdXR1cmUgPSBzdWJIb3VycyhmdXR1cmUsIGhvdXJzKTtcbiAgfVxuXG4gIGNvbnN0IG1pbnV0ZXMgPSBkaWZmZXJlbmNlSW5NaW51dGVzKGZ1dHVyZSwgbm93KTtcbiAgaWYgKG1pbnV0ZXMgPiAwKSB7XG4gICAgc2hvcnQucHVzaChgJHttaW51dGVzfSBtaW5gKTtcbiAgICBpZiAoY3VycmVudExhbmd1YWdlKSB7XG4gICAgICBsb25nLnB1c2goXG4gICAgICAgIGAke21pbnV0ZXN9ICR7XG4gICAgICAgICAgbWludXRlcyA+IDFcbiAgICAgICAgICAgID8gaTE4bkR1cmF0aW9uTWludXRlLm11bHRpcGxlLmxvbmdbY3VycmVudExhbmd1YWdlXVxuICAgICAgICAgICAgOiBpMThuRHVyYXRpb25NaW51dGUuc2luZ2xlLmxvbmdbY3VycmVudExhbmd1YWdlXVxuICAgICAgICB9YCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzaG9ydDogc2hvcnQuam9pbignICcpLFxuICAgIGxvbmc6IGxvbmcuam9pbignICcpLFxuICB9O1xufTtcbiJdLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMCwxLDIsMyw0LDUsNiw3XSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnREEsU0FBZ0IsUUFBUSxNQUFNLFFBQVEsU0FBUztDQUM3QyxNQUFNLFFBQVEsT0FBTyxNQUFNLFNBQVMsRUFBRTtDQUN0QyxJQUFJLE1BQU0sTUFBTSxHQUFHLE9BQU8sY0FBYyxTQUFTLE1BQU0sTUFBTSxHQUFHO0NBR2hFLElBQUksQ0FBQyxRQUFRLE9BQU87Q0FFcEIsTUFBTSxRQUFRLE1BQU0sUUFBUSxJQUFJLE1BQU07Q0FDdEMsT0FBTztBQUNUOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDUEEsU0FBZ0IsZ0JBQWdCLE1BQU0sUUFBUSxTQUFTO0NBQ3JELE9BQU8sY0FBYyxTQUFTLE1BQU0sTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLE1BQU07QUFDbEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNGQSxTQUFnQixTQUFTLE1BQU0sUUFBUSxTQUFTO0NBQzlDLE9BQU8sZ0JBQWdCLE1BQU0sU0FBUyxvQkFBb0IsT0FBTztBQUNuRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNRQSxT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
581
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1oZWxwZXItQ29IaFBwazguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2FkZERheXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvYWRkTWlsbGlzZWNvbmRzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2FkZEhvdXJzLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2RpZmZlcmVuY2VJbkRheXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZGlmZmVyZW5jZUluSG91cnMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvc3ViRGF5cy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9wYXJzZUlTTy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9zdWJIb3Vycy5qcyIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvY29yZS9kYXRldGltZS9kYXRlLWhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zdHJ1Y3RGcm9tIH0gZnJvbSBcIi4vY29uc3RydWN0RnJvbS5qc1wiO1xuaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBhZGREYXlzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgYWRkRGF5c1xuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgZGF5cyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBkYXlzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICoqWW91IGRvbid0IG5lZWQgZGF0ZS1mbnNcXCoqKjpcbiAqXG4gKiBUZW1wb3JhbCBoYXMgYSBidWlsdC1pbiBgYWRkYCBtZXRob2Qgb24gYWxsIGl0cyBjbGFzc2VzOlxuICpcbiAqIC0gW2BUZW1wb3JhbC5JbnN0YW50LnByb3RvdHlwZS5hZGQoKWBdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1RlbXBvcmFsL0luc3RhbnQvYWRkKVxuICogLSBbYFRlbXBvcmFsLlBsYWluRGF0ZS5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9QbGFpbkRhdGUvYWRkKVxuICogLSBbYFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5UaW1lLnByb3RvdHlwZS5hZGQoKWBdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1RlbXBvcmFsL1BsYWluVGltZS9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvYWRkKVxuICogLSBbYFRlbXBvcmFsLlpvbmVkRGF0ZVRpbWUucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9hZGQpXG4gKlxuICogXFwqICoqTm90IHJlYWxseSoqLCBzZWU6IGh0dHBzOi8vZGF0ZS1mbnMub3JnL3lvdS1kb250LW5lZWQtZGF0ZS1mbnNcbiAqXG4gKiBAdHlwZVBhcmFtIERhdGVUeXBlIC0gVGhlIGBEYXRlYCB0eXBlLCB0aGUgZnVuY3Rpb24gb3BlcmF0ZXMgb24uIEdldHMgaW5mZXJyZWQgZnJvbSBwYXNzZWQgYXJndW1lbnRzLiBBbGxvd3MgdG8gdXNlIGV4dGVuc2lvbnMgbGlrZSBbYFVUQ0RhdGVgXShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvdXRjKS5cbiAqIEB0eXBlUGFyYW0gUmVzdWx0RGF0ZSAtIFRoZSByZXN1bHQgYERhdGVgIHR5cGUsIGl0IGlzIHRoZSB0eXBlIHJldHVybmVkIGZyb20gdGhlIGNvbnRleHQgZnVuY3Rpb24gaWYgaXQgaXMgcGFzc2VkLCBvciBpbmZlcnJlZCBmcm9tIHRoZSBhcmd1bWVudHMuXG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0gYW1vdW50IC0gVGhlIGFtb3VudCBvZiBkYXlzIHRvIGJlIGFkZGVkLlxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvYmplY3Qgd2l0aCBvcHRpb25zXG4gKlxuICogQHJldHVybnMgVGhlIG5ldyBkYXRlIHdpdGggdGhlIGRheXMgYWRkZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQWRkIDEwIGRheXMgdG8gMSBTZXB0ZW1iZXIgMjAxNDpcbiAqIGNvbnN0IHJlc3VsdCA9IGFkZERheXMobmV3IERhdGUoMjAxNCwgOCwgMSksIDEwKVxuICogLy89PiBUaHUgU2VwIDExIDIwMTQgMDA6MDA6MDBcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVXNpbmcgVGVtcG9yYWw6XG4gKiAvLyBBZGQgMTAgZGF5cyB0byAxIFNlcHRlbWJlciAyMDE0OlxuICogVGVtcG9yYWwuUGxhaW5EYXRlLmZyb20oXCIyMDE0LTA5LTAxXCIpLmFkZCh7IGRheXM6IDEwIH0pLnRvU3RyaW5nKCk7XG4gKiAvLz0+IFwiMjAxNC0wOS0xMVwiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGREYXlzKGRhdGUsIGFtb3VudCwgb3B0aW9ucykge1xuICBjb25zdCBfZGF0ZSA9IHRvRGF0ZShkYXRlLCBvcHRpb25zPy5pbik7XG4gIGlmIChpc05hTihhbW91bnQpKSByZXR1cm4gY29uc3RydWN0RnJvbShvcHRpb25zPy5pbiB8fCBkYXRlLCBOYU4pO1xuXG4gIC8vIElmIDAgZGF5cywgbm8tb3AgdG8gYXZvaWQgY2hhbmdpbmcgdGltZXMgaW4gdGhlIGhvdXIgYmVmb3JlIGVuZCBvZiBEU1RcbiAgaWYgKCFhbW91bnQpIHJldHVybiBfZGF0ZTtcblxuICBfZGF0ZS5zZXREYXRlKF9kYXRlLmdldERhdGUoKSArIGFtb3VudCk7XG4gIHJldHVybiBfZGF0ZTtcbn1cbiIsImltcG9ydCB7IGNvbnN0cnVjdEZyb20gfSBmcm9tIFwiLi9jb25zdHJ1Y3RGcm9tLmpzXCI7XG5pbXBvcnQgeyB0b0RhdGUgfSBmcm9tIFwiLi90b0RhdGUuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIGFkZE1pbGxpc2Vjb25kc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGFkZE1pbGxpc2Vjb25kc1xuICogQGNhdGVnb3J5IE1pbGxpc2Vjb25kIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqICoqWW91IGRvbid0IG5lZWQgZGF0ZS1mbnNcXCoqKjpcbiAqXG4gKiBUZW1wb3JhbCBoYXMgYSBidWlsdC1pbiBgYWRkYCBtZXRob2Qgb24gYWxsIGl0cyBjbGFzc2VzOlxuICpcbiAqIC0gW2BUZW1wb3JhbC5JbnN0YW50LnByb3RvdHlwZS5hZGQoKWBdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1RlbXBvcmFsL0luc3RhbnQvYWRkKVxuICogLSBbYFRlbXBvcmFsLlBsYWluRGF0ZS5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9QbGFpbkRhdGUvYWRkKVxuICogLSBbYFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvUGxhaW5EYXRlVGltZS9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5UaW1lLnByb3RvdHlwZS5hZGQoKWBdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1RlbXBvcmFsL1BsYWluVGltZS9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5ZZWFyTW9udGgucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvUGxhaW5ZZWFyTW9udGgvYWRkKVxuICogLSBbYFRlbXBvcmFsLlpvbmVkRGF0ZVRpbWUucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvWm9uZWREYXRlVGltZS9hZGQpXG4gKlxuICogXFwqICoqTm90IHJlYWxseSoqLCBzZWU6IGh0dHBzOi8vZGF0ZS1mbnMub3JnL3lvdS1kb250LW5lZWQtZGF0ZS1mbnNcbiAqXG4gKiBAdHlwZVBhcmFtIERhdGVUeXBlIC0gVGhlIGBEYXRlYCB0eXBlLCB0aGUgZnVuY3Rpb24gb3BlcmF0ZXMgb24uIEdldHMgaW5mZXJyZWQgZnJvbSBwYXNzZWQgYXJndW1lbnRzLiBBbGxvd3MgdG8gdXNlIGV4dGVuc2lvbnMgbGlrZSBbYFVUQ0RhdGVgXShodHRwczovL2dpdGh1Yi5jb20vZGF0ZS1mbnMvdXRjKS5cbiAqIEB0eXBlUGFyYW0gUmVzdWx0RGF0ZSAtIFRoZSByZXN1bHQgYERhdGVgIHR5cGUsIGl0IGlzIHRoZSB0eXBlIHJldHVybmVkIGZyb20gdGhlIGNvbnRleHQgZnVuY3Rpb24gaWYgaXQgaXMgcGFzc2VkLCBvciBpbmZlcnJlZCBmcm9tIHRoZSBhcmd1bWVudHMuXG4gKlxuICogQHBhcmFtIGRhdGUgLSBUaGUgZGF0ZSB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0gYW1vdW50IC0gVGhlIGFtb3VudCBvZiBtaWxsaXNlY29uZHMgdG8gYmUgYWRkZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIG9iamVjdFxuICpcbiAqIEByZXR1cm5zIFRoZSBuZXcgZGF0ZSB3aXRoIHRoZSBtaWxsaXNlY29uZHMgYWRkZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQWRkIDc1MCBtaWxsaXNlY29uZHMgdG8gMTAgSnVseSAyMDE0IDEyOjQ1OjMwLjAwMDpcbiAqIGNvbnN0IHJlc3VsdCA9IGFkZE1pbGxpc2Vjb25kcyhuZXcgRGF0ZSgyMDE0LCA2LCAxMCwgMTIsIDQ1LCAzMCwgMCksIDc1MClcbiAqIC8vPT4gVGh1IEp1bCAxMCAyMDE0IDEyOjQ1OjMwLjc1MFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBVc2luZyBUZW1wb3JhbDpcbiAqIC8vIEFkZCA3NTAgbWlsbGlzZWNvbmRzIHRvIDEwIEp1bHkgMjAxNCAxMjo0NTozMC4wMDA6XG4gKiBUZW1wb3JhbC5QbGFpbkRhdGVUaW1lLmZyb20oXCIyMDE0LTA3LTEwVDEyOjQ1OjMwLjAwMFwiKVxuICogICAuYWRkKHsgbWlsbGlzZWNvbmRzOiA3NTAgfSlcbiAqICAgLnRvU3RyaW5nKCk7XG4gKiAvLz0+IFwiMjAxNC0wNy0xMFQxMjo0NTozMC43NTBcIlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkTWlsbGlzZWNvbmRzKGRhdGUsIGFtb3VudCwgb3B0aW9ucykge1xuICByZXR1cm4gY29uc3RydWN0RnJvbShvcHRpb25zPy5pbiB8fCBkYXRlLCArdG9EYXRlKGRhdGUpICsgYW1vdW50KTtcbn1cbiIsImltcG9ydCB7IGFkZE1pbGxpc2Vjb25kcyB9IGZyb20gXCIuL2FkZE1pbGxpc2Vjb25kcy5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5Ib3VyIH0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBhZGRIb3Vyc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGFkZEhvdXJzXG4gKiBAY2F0ZWdvcnkgSG91ciBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgaG91cnMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgaG91cnMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogKipZb3UgZG9uJ3QgbmVlZCBkYXRlLWZuc1xcKioqOlxuICpcbiAqIFRlbXBvcmFsIGhhcyBhIGJ1aWx0LWluIGBhZGRgIG1ldGhvZCBvbiBhbGwgaXRzIGNsYXNzZXM6XG4gKlxuICogLSBbYFRlbXBvcmFsLkluc3RhbnQucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvSW5zdGFudC9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5EYXRlLnByb3RvdHlwZS5hZGQoKWBdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1RlbXBvcmFsL1BsYWluRGF0ZS9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5EYXRlVGltZS5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9QbGFpbkRhdGVUaW1lL2FkZClcbiAqIC0gW2BUZW1wb3JhbC5QbGFpblRpbWUucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvUGxhaW5UaW1lL2FkZClcbiAqIC0gW2BUZW1wb3JhbC5QbGFpblllYXJNb250aC5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuWm9uZWREYXRlVGltZS5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9ab25lZERhdGVUaW1lL2FkZClcbiAqXG4gKiBcXCogKipOb3QgcmVhbGx5KiosIHNlZTogaHR0cHM6Ly9kYXRlLWZucy5vcmcveW91LWRvbnQtbmVlZC1kYXRlLWZuc1xuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIGhvdXJzIHRvIGJlIGFkZGVkXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFuIG9iamVjdCB3aXRoIG9wdGlvbnNcbiAqXG4gKiBAcmV0dXJucyBUaGUgbmV3IGRhdGUgd2l0aCB0aGUgaG91cnMgYWRkZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQWRkIDIgaG91cnMgdG8gMTAgSnVseSAyMDE0IDIzOjAwOjAwOlxuICogY29uc3QgcmVzdWx0ID0gYWRkSG91cnMobmV3IERhdGUoMjAxNCwgNiwgMTAsIDIzLCAwKSwgMilcbiAqIC8vPT4gRnJpIEp1bCAxMSAyMDE0IDAxOjAwOjAwXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFVzaW5nIFRlbXBvcmFsOlxuICogLy8gQWRkIDIgaG91cnMgdG8gMTAgSnVseSAyMDE0IDIzOjAwOjAwOlxuICogVGVtcG9yYWwuUGxhaW5EYXRlVGltZS5mcm9tKFwiMjAxNC0wNy0xMFQyMzowMDowMFwiKVxuICogICAuYWRkKHsgaG91cnM6IDIgfSlcbiAqICAgLnRvU3RyaW5nKCk7XG4gKiAvLz0+IFwiMjAxNC0wNy0xMVQwMTowMDowMFwiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRIb3VycyhkYXRlLCBhbW91bnQsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGFkZE1pbGxpc2Vjb25kcyhkYXRlLCBhbW91bnQgKiBtaWxsaXNlY29uZHNJbkhvdXIsIG9wdGlvbnMpO1xufVxuIiwiaW1wb3J0IHsgbm9ybWFsaXplRGF0ZXMgfSBmcm9tIFwiLi9fbGliL25vcm1hbGl6ZURhdGVzLmpzXCI7XG5pbXBvcnQgeyBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMgfSBmcm9tIFwiLi9kaWZmZXJlbmNlSW5DYWxlbmRhckRheXMuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIGRpZmZlcmVuY2VJbkRheXN9IGZ1bmN0aW9uIG9wdGlvbnMuXG4gKi9cblxuLyoqXG4gKiBAbmFtZSBkaWZmZXJlbmNlSW5EYXlzXG4gKiBAY2F0ZWdvcnkgRGF5IEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgbnVtYmVyIG9mIGZ1bGwgZGF5cyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIGZ1bGwgZGF5IHBlcmlvZHMgYmV0d2VlbiB0d28gZGF0ZXMuIEZyYWN0aW9uYWwgZGF5cyBhcmVcbiAqIHRydW5jYXRlZCB0b3dhcmRzIHplcm8uXG4gKlxuICogT25lIFwiZnVsbCBkYXlcIiBpcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiBhIGxvY2FsIHRpbWUgaW4gb25lIGRheSB0byB0aGUgc2FtZVxuICogbG9jYWwgdGltZSBvbiB0aGUgbmV4dCBvciBwcmV2aW91cyBkYXkuIEEgZnVsbCBkYXkgY2FuIHNvbWV0aW1lcyBiZSBsZXNzIHRoYW5cbiAqIG9yIG1vcmUgdGhhbiAyNCBob3VycyBpZiBhIGRheWxpZ2h0IHNhdmluZ3MgY2hhbmdlIGhhcHBlbnMgYmV0d2VlbiB0d28gZGF0ZXMuXG4gKlxuICogVG8gaWdub3JlIERTVCBhbmQgb25seSBtZWFzdXJlIGV4YWN0IDI0LWhvdXIgcGVyaW9kcywgdXNlIHRoaXMgaW5zdGVhZDpcbiAqIGBNYXRoLnRydW5jKGRpZmZlcmVuY2VJbkhvdXJzKGRhdGVMZWZ0LCBkYXRlUmlnaHQpLzI0KXwwYC5cbiAqXG4gKiBAcGFyYW0gbGF0ZXJEYXRlIC0gVGhlIGxhdGVyIGRhdGVcbiAqIEBwYXJhbSBlYXJsaWVyRGF0ZSAtIFRoZSBlYXJsaWVyIGRhdGVcbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IHdpdGggb3B0aW9uc1xuICpcbiAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgZnVsbCBkYXlzIGFjY29yZGluZyB0byB0aGUgbG9jYWwgdGltZXpvbmVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgZnVsbCBkYXlzIGFyZSBiZXR3ZWVuXG4gKiAvLyAyIEp1bHkgMjAxMSAyMzowMDowMCBhbmQgMiBKdWx5IDIwMTIgMDA6MDA6MDA/XG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5EYXlzKFxuICogICBuZXcgRGF0ZSgyMDEyLCA2LCAyLCAwLCAwKSxcbiAqICAgbmV3IERhdGUoMjAxMSwgNiwgMiwgMjMsIDApXG4gKiApXG4gKiAvLz0+IDM2NVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBmdWxsIGRheXMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDExIDIzOjU5OjAwIGFuZCAzIEp1bHkgMjAxMSAwMDowMTowMD9cbiAqIGNvbnN0IHJlc3VsdCA9IGRpZmZlcmVuY2VJbkRheXMoXG4gKiAgIG5ldyBEYXRlKDIwMTEsIDYsIDMsIDAsIDEpLFxuICogICBuZXcgRGF0ZSgyMDExLCA2LCAyLCAyMywgNTkpXG4gKiApXG4gKiAvLz0+IDBcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgZnVsbCBkYXlzIGFyZSBiZXR3ZWVuXG4gKiAvLyAxIE1hcmNoIDIwMjAgMDowMCBhbmQgMSBKdW5lIDIwMjAgMDowMCA/XG4gKiAvLyBOb3RlOiBiZWNhdXNlIGxvY2FsIHRpbWUgaXMgdXNlZCwgdGhlXG4gKiAvLyByZXN1bHQgd2lsbCBhbHdheXMgYmUgOTIgZGF5cywgZXZlbiBpblxuICogLy8gdGltZSB6b25lcyB3aGVyZSBEU1Qgc3RhcnRzIGFuZCB0aGVcbiAqIC8vIHBlcmlvZCBoYXMgb25seSA5MioyNC0xIGhvdXJzLlxuICogY29uc3QgcmVzdWx0ID0gZGlmZmVyZW5jZUluRGF5cyhcbiAqICAgbmV3IERhdGUoMjAyMCwgNSwgMSksXG4gKiAgIG5ldyBEYXRlKDIwMjAsIDIsIDEpXG4gKiApXG4gKiAvLz0+IDkyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaWZmZXJlbmNlSW5EYXlzKGxhdGVyRGF0ZSwgZWFybGllckRhdGUsIG9wdGlvbnMpIHtcbiAgY29uc3QgW2xhdGVyRGF0ZV8sIGVhcmxpZXJEYXRlX10gPSBub3JtYWxpemVEYXRlcyhcbiAgICBvcHRpb25zPy5pbixcbiAgICBsYXRlckRhdGUsXG4gICAgZWFybGllckRhdGUsXG4gICk7XG5cbiAgY29uc3Qgc2lnbiA9IGNvbXBhcmVMb2NhbEFzYyhsYXRlckRhdGVfLCBlYXJsaWVyRGF0ZV8pO1xuICBjb25zdCBkaWZmZXJlbmNlID0gTWF0aC5hYnMoXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKGxhdGVyRGF0ZV8sIGVhcmxpZXJEYXRlXyksXG4gICk7XG5cbiAgbGF0ZXJEYXRlXy5zZXREYXRlKGxhdGVyRGF0ZV8uZ2V0RGF0ZSgpIC0gc2lnbiAqIGRpZmZlcmVuY2UpO1xuXG4gIC8vIE1hdGguYWJzKGRpZmYgaW4gZnVsbCBkYXlzIC0gZGlmZiBpbiBjYWxlbmRhciBkYXlzKSA9PT0gMSBpZiBsYXN0IGNhbGVuZGFyIGRheSBpcyBub3QgZnVsbFxuICAvLyBJZiBzbywgcmVzdWx0IG11c3QgYmUgZGVjcmVhc2VkIGJ5IDEgaW4gYWJzb2x1dGUgdmFsdWVcbiAgY29uc3QgaXNMYXN0RGF5Tm90RnVsbCA9IE51bWJlcihcbiAgICBjb21wYXJlTG9jYWxBc2MobGF0ZXJEYXRlXywgZWFybGllckRhdGVfKSA9PT0gLXNpZ24sXG4gICk7XG5cbiAgY29uc3QgcmVzdWx0ID0gc2lnbiAqIChkaWZmZXJlbmNlIC0gaXNMYXN0RGF5Tm90RnVsbCk7XG4gIC8vIFByZXZlbnQgbmVnYXRpdmUgemVyb1xuICByZXR1cm4gcmVzdWx0ID09PSAwID8gMCA6IHJlc3VsdDtcbn1cblxuLy8gTGlrZSBgY29tcGFyZUFzY2AgYnV0IHVzZXMgbG9jYWwgdGltZSBub3QgVVRDLCB3aGljaCBpcyBuZWVkZWRcbi8vIGZvciBhY2N1cmF0ZSBlcXVhbGl0eSBjb21wYXJpc29ucyBvZiBVVEMgdGltZXN0YW1wcyB0aGF0IGVuZCB1cFxuLy8gaGF2aW5nIHRoZSBzYW1lIHJlcHJlc2VudGF0aW9uIGluIGxvY2FsIHRpbWUsIGUuZy4gb25lIGhvdXIgYmVmb3JlXG4vLyBEU1QgZW5kcyB2cy4gdGhlIGluc3RhbnQgdGhhdCBEU1QgZW5kcy5cbmZ1bmN0aW9uIGNvbXBhcmVMb2NhbEFzYyhsYXRlckRhdGUsIGVhcmxpZXJEYXRlKSB7XG4gIGNvbnN0IGRpZmYgPVxuICAgIGxhdGVyRGF0ZS5nZXRGdWxsWWVhcigpIC0gZWFybGllckRhdGUuZ2V0RnVsbFllYXIoKSB8fFxuICAgIGxhdGVyRGF0ZS5nZXRNb250aCgpIC0gZWFybGllckRhdGUuZ2V0TW9udGgoKSB8fFxuICAgIGxhdGVyRGF0ZS5nZXREYXRlKCkgLSBlYXJsaWVyRGF0ZS5nZXREYXRlKCkgfHxcbiAgICBsYXRlckRhdGUuZ2V0SG91cnMoKSAtIGVhcmxpZXJEYXRlLmdldEhvdXJzKCkgfHxcbiAgICBsYXRlckRhdGUuZ2V0TWludXRlcygpIC0gZWFybGllckRhdGUuZ2V0TWludXRlcygpIHx8XG4gICAgbGF0ZXJEYXRlLmdldFNlY29uZHMoKSAtIGVhcmxpZXJEYXRlLmdldFNlY29uZHMoKSB8fFxuICAgIGxhdGVyRGF0ZS5nZXRNaWxsaXNlY29uZHMoKSAtIGVhcmxpZXJEYXRlLmdldE1pbGxpc2Vjb25kcygpO1xuXG4gIGlmIChkaWZmIDwgMCkgcmV0dXJuIC0xO1xuICBpZiAoZGlmZiA+IDApIHJldHVybiAxO1xuXG4gIC8vIFJldHVybiAwIGlmIGRpZmYgaXMgMDsgcmV0dXJuIE5hTiBpZiBkaWZmIGlzIE5hTlxuICByZXR1cm4gZGlmZjtcbn1cbiIsImltcG9ydCB7IGdldFJvdW5kaW5nTWV0aG9kIH0gZnJvbSBcIi4vX2xpYi9nZXRSb3VuZGluZ01ldGhvZC5qc1wiO1xuaW1wb3J0IHsgbm9ybWFsaXplRGF0ZXMgfSBmcm9tIFwiLi9fbGliL25vcm1hbGl6ZURhdGVzLmpzXCI7XG5pbXBvcnQgeyBtaWxsaXNlY29uZHNJbkhvdXIgfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIGRpZmZlcmVuY2VJbkhvdXJzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgZGlmZmVyZW5jZUluSG91cnNcbiAqIEBjYXRlZ29yeSBIb3VyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgbnVtYmVyIG9mIGhvdXJzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBudW1iZXIgb2YgaG91cnMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gKlxuICogQHBhcmFtIGxhdGVyRGF0ZSAtIFRoZSBsYXRlciBkYXRlXG4gKiBAcGFyYW0gZWFybGllckRhdGUgLSBUaGUgZWFybGllciBkYXRlXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFuIG9iamVjdCB3aXRoIG9wdGlvbnMuXG4gKlxuICogQHJldHVybnMgVGhlIG51bWJlciBvZiBob3Vyc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBob3VycyBhcmUgYmV0d2VlbiAyIEp1bHkgMjAxNCAwNjo1MDowMCBhbmQgMiBKdWx5IDIwMTQgMTk6MDA6MDA/XG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5Ib3VycyhcbiAqICAgbmV3IERhdGUoMjAxNCwgNiwgMiwgMTksIDApLFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCA2LCA1MClcbiAqIClcbiAqIC8vPT4gMTJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbkhvdXJzKGxhdGVyRGF0ZSwgZWFybGllckRhdGUsIG9wdGlvbnMpIHtcbiAgY29uc3QgW2xhdGVyRGF0ZV8sIGVhcmxpZXJEYXRlX10gPSBub3JtYWxpemVEYXRlcyhcbiAgICBvcHRpb25zPy5pbixcbiAgICBsYXRlckRhdGUsXG4gICAgZWFybGllckRhdGUsXG4gICk7XG4gIGNvbnN0IGRpZmYgPSAoK2xhdGVyRGF0ZV8gLSArZWFybGllckRhdGVfKSAvIG1pbGxpc2Vjb25kc0luSG91cjtcbiAgcmV0dXJuIGdldFJvdW5kaW5nTWV0aG9kKG9wdGlvbnM/LnJvdW5kaW5nTWV0aG9kKShkaWZmKTtcbn1cbiIsImltcG9ydCB7IGFkZERheXMgfSBmcm9tIFwiLi9hZGREYXlzLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBzdWJEYXlzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgc3ViRGF5c1xuICogQGNhdGVnb3J5IERheSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBTdWJ0cmFjdCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBkYXlzIGZyb20gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQHR5cGVQYXJhbSBEYXRlVHlwZSAtIFRoZSBgRGF0ZWAgdHlwZSwgdGhlIGZ1bmN0aW9uIG9wZXJhdGVzIG9uLiBHZXRzIGluZmVycmVkIGZyb20gcGFzc2VkIGFyZ3VtZW50cy4gQWxsb3dzIHRvIHVzZSBleHRlbnNpb25zIGxpa2UgW2BVVENEYXRlYF0oaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL3V0YykuXG4gKiBAdHlwZVBhcmFtIFJlc3VsdERhdGUgLSBUaGUgcmVzdWx0IGBEYXRlYCB0eXBlLCBpdCBpcyB0aGUgdHlwZSByZXR1cm5lZCBmcm9tIHRoZSBjb250ZXh0IGZ1bmN0aW9uIGlmIGl0IGlzIHBhc3NlZCwgb3IgaW5mZXJyZWQgZnJvbSB0aGUgYXJndW1lbnRzLlxuICpcbiAqIEBwYXJhbSBkYXRlIC0gVGhlIGRhdGUgdG8gYmUgY2hhbmdlZFxuICogQHBhcmFtIGFtb3VudCAtIFRoZSBhbW91bnQgb2YgZGF5cyB0byBiZSBzdWJ0cmFjdGVkLlxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvYmplY3Qgd2l0aCBvcHRpb25zXG4gKlxuICogQHJldHVybnMgVGhlIG5ldyBkYXRlIHdpdGggdGhlIGRheXMgc3VidHJhY3RlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdWJ0cmFjdCAxMCBkYXlzIGZyb20gMSBTZXB0ZW1iZXIgMjAxNDpcbiAqIGNvbnN0IHJlc3VsdCA9IHN1YkRheXMobmV3IERhdGUoMjAxNCwgOCwgMSksIDEwKVxuICogLy89PiBGcmkgQXVnIDIyIDIwMTQgMDA6MDA6MDBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1YkRheXMoZGF0ZSwgYW1vdW50LCBvcHRpb25zKSB7XG4gIHJldHVybiBhZGREYXlzKGRhdGUsIC1hbW91bnQsIG9wdGlvbnMpO1xufVxuIiwiaW1wb3J0IHtcbiAgbWlsbGlzZWNvbmRzSW5Ib3VyLFxuICBtaWxsaXNlY29uZHNJbk1pbnV0ZSxcbn0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyBjb25zdHJ1Y3RGcm9tIH0gZnJvbSBcIi4vY29uc3RydWN0RnJvbS5qc1wiO1xuaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBwYXJzZUlTT30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIHBhcnNlSVNPXG4gKiBAY2F0ZWdvcnkgQ29tbW9uIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFBhcnNlIElTTyBzdHJpbmdcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFBhcnNlIHRoZSBnaXZlbiBzdHJpbmcgaW4gSVNPIDg2MDEgZm9ybWF0IGFuZCByZXR1cm4gYW4gaW5zdGFuY2Ugb2YgRGF0ZS5cbiAqXG4gKiBGdW5jdGlvbiBhY2NlcHRzIGNvbXBsZXRlIElTTyA4NjAxIGZvcm1hdHMgYXMgd2VsbCBhcyBwYXJ0aWFsIGltcGxlbWVudGF0aW9ucy5cbiAqIElTTyA4NjAxOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxXG4gKlxuICogSWYgdGhlIGFyZ3VtZW50IGlzbid0IGEgc3RyaW5nLCB0aGUgZnVuY3Rpb24gY2Fubm90IHBhcnNlIHRoZSBzdHJpbmcgb3JcbiAqIHRoZSB2YWx1ZXMgYXJlIGludmFsaWQsIGl0IHJldHVybnMgSW52YWxpZCBEYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gYXJndW1lbnQgLSBUaGUgdmFsdWUgdG8gY29udmVydFxuICogQHBhcmFtIG9wdGlvbnMgLSBBbiBvYmplY3Qgd2l0aCBvcHRpb25zXG4gKlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBkYXRlIGluIHRoZSBsb2NhbCB0aW1lIHpvbmVcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ29udmVydCBzdHJpbmcgJzIwMTQtMDItMTFUMTE6MzA6MzAnIHRvIGRhdGU6XG4gKiBjb25zdCByZXN1bHQgPSBwYXJzZUlTTygnMjAxNC0wMi0xMVQxMTozMDozMCcpXG4gKiAvLz0+IFR1ZSBGZWIgMTEgMjAxNCAxMTozMDozMFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBDb252ZXJ0IHN0cmluZyAnKzAyMDE0MTAxJyB0byBkYXRlLFxuICogLy8gaWYgdGhlIGFkZGl0aW9uYWwgbnVtYmVyIG9mIGRpZ2l0cyBpbiB0aGUgZXh0ZW5kZWQgeWVhciBmb3JtYXQgaXMgMTpcbiAqIGNvbnN0IHJlc3VsdCA9IHBhcnNlSVNPKCcrMDIwMTQxMDEnLCB7IGFkZGl0aW9uYWxEaWdpdHM6IDEgfSlcbiAqIC8vPT4gRnJpIEFwciAxMSAyMDE0IDAwOjAwOjAwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUlTTyhhcmd1bWVudCwgb3B0aW9ucykge1xuICBjb25zdCBpbnZhbGlkRGF0ZSA9ICgpID0+IGNvbnN0cnVjdEZyb20ob3B0aW9ucz8uaW4sIE5hTik7XG5cbiAgY29uc3QgYWRkaXRpb25hbERpZ2l0cyA9IG9wdGlvbnM/LmFkZGl0aW9uYWxEaWdpdHMgPz8gMjtcbiAgY29uc3QgZGF0ZVN0cmluZ3MgPSBzcGxpdERhdGVTdHJpbmcoYXJndW1lbnQpO1xuXG4gIGxldCBkYXRlO1xuICBpZiAoZGF0ZVN0cmluZ3MuZGF0ZSkge1xuICAgIGNvbnN0IHBhcnNlWWVhclJlc3VsdCA9IHBhcnNlWWVhcihkYXRlU3RyaW5ncy5kYXRlLCBhZGRpdGlvbmFsRGlnaXRzKTtcbiAgICBkYXRlID0gcGFyc2VEYXRlKHBhcnNlWWVhclJlc3VsdC5yZXN0RGF0ZVN0cmluZywgcGFyc2VZZWFyUmVzdWx0LnllYXIpO1xuICB9XG5cbiAgaWYgKCFkYXRlIHx8IGlzTmFOKCtkYXRlKSkgcmV0dXJuIGludmFsaWREYXRlKCk7XG5cbiAgY29uc3QgdGltZXN0YW1wID0gK2RhdGU7XG4gIGxldCB0aW1lID0gMDtcbiAgbGV0IG9mZnNldDtcblxuICBpZiAoZGF0ZVN0cmluZ3MudGltZSkge1xuICAgIHRpbWUgPSBwYXJzZVRpbWUoZGF0ZVN0cmluZ3MudGltZSk7XG4gICAgaWYgKGlzTmFOKHRpbWUpKSByZXR1cm4gaW52YWxpZERhdGUoKTtcbiAgfVxuXG4gIGlmIChkYXRlU3RyaW5ncy50aW1lem9uZSkge1xuICAgIG9mZnNldCA9IHBhcnNlVGltZXpvbmUoZGF0ZVN0cmluZ3MudGltZXpvbmUpO1xuICAgIGlmIChpc05hTihvZmZzZXQpKSByZXR1cm4gaW52YWxpZERhdGUoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0bXBEYXRlID0gbmV3IERhdGUodGltZXN0YW1wICsgdGltZSk7XG4gICAgY29uc3QgcmVzdWx0ID0gdG9EYXRlKDAsIG9wdGlvbnM/LmluKTtcbiAgICByZXN1bHQuc2V0RnVsbFllYXIoXG4gICAgICB0bXBEYXRlLmdldFVUQ0Z1bGxZZWFyKCksXG4gICAgICB0bXBEYXRlLmdldFVUQ01vbnRoKCksXG4gICAgICB0bXBEYXRlLmdldFVUQ0RhdGUoKSxcbiAgICApO1xuICAgIHJlc3VsdC5zZXRIb3VycyhcbiAgICAgIHRtcERhdGUuZ2V0VVRDSG91cnMoKSxcbiAgICAgIHRtcERhdGUuZ2V0VVRDTWludXRlcygpLFxuICAgICAgdG1wRGF0ZS5nZXRVVENTZWNvbmRzKCksXG4gICAgICB0bXBEYXRlLmdldFVUQ01pbGxpc2Vjb25kcygpLFxuICAgICk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHJldHVybiB0b0RhdGUodGltZXN0YW1wICsgdGltZSArIG9mZnNldCwgb3B0aW9ucz8uaW4pO1xufVxuXG5jb25zdCBwYXR0ZXJucyA9IHtcbiAgZGF0ZVRpbWVEZWxpbWl0ZXI6IC9bVCBdLyxcbiAgdGltZVpvbmVEZWxpbWl0ZXI6IC9bWiBdL2ksXG4gIHRpbWV6b25lOiAvKFtaKy1dLiopJC8sXG59O1xuXG5jb25zdCBkYXRlUmVnZXggPVxuICAvXi0/KD86KFxcZHszfSl8KFxcZHsyfSkoPzotPyhcXGR7Mn0pKT98VyhcXGR7Mn0pKD86LT8oXFxkezF9KSk/fCkkLztcbmNvbnN0IHRpbWVSZWdleCA9XG4gIC9eKFxcZHsyfSg/OlsuLF1cXGQqKT8pKD86Oj8oXFxkezJ9KD86Wy4sXVxcZCopPykpPyg/Ojo/KFxcZHsyfSg/OlsuLF1cXGQqKT8pKT8kLztcbmNvbnN0IHRpbWV6b25lUmVnZXggPSAvXihbKy1dKShcXGR7Mn0pKD86Oj8oXFxkezJ9KSk/JC87XG5cbmZ1bmN0aW9uIHNwbGl0RGF0ZVN0cmluZyhkYXRlU3RyaW5nKSB7XG4gIGNvbnN0IGRhdGVTdHJpbmdzID0ge307XG4gIGNvbnN0IGFycmF5ID0gZGF0ZVN0cmluZy5zcGxpdChwYXR0ZXJucy5kYXRlVGltZURlbGltaXRlcik7XG4gIGxldCB0aW1lU3RyaW5nO1xuXG4gIC8vIFRoZSByZWdleCBtYXRjaCBzaG91bGQgb25seSByZXR1cm4gYXQgbWF4aW11bSB0d28gYXJyYXkgZWxlbWVudHMuXG4gIC8vIFtkYXRlXSwgW3RpbWVdLCBvciBbZGF0ZSwgdGltZV0uXG4gIGlmIChhcnJheS5sZW5ndGggPiAyKSB7XG4gICAgcmV0dXJuIGRhdGVTdHJpbmdzO1xuICB9XG5cbiAgaWYgKC86Ly50ZXN0KGFycmF5WzBdKSkge1xuICAgIHRpbWVTdHJpbmcgPSBhcnJheVswXTtcbiAgfSBlbHNlIHtcbiAgICBkYXRlU3RyaW5ncy5kYXRlID0gYXJyYXlbMF07XG4gICAgdGltZVN0cmluZyA9IGFycmF5WzFdO1xuICAgIGlmIChwYXR0ZXJucy50aW1lWm9uZURlbGltaXRlci50ZXN0KGRhdGVTdHJpbmdzLmRhdGUpKSB7XG4gICAgICBkYXRlU3RyaW5ncy5kYXRlID0gZGF0ZVN0cmluZy5zcGxpdChwYXR0ZXJucy50aW1lWm9uZURlbGltaXRlcilbMF07XG4gICAgICB0aW1lU3RyaW5nID0gZGF0ZVN0cmluZy5zdWJzdHIoXG4gICAgICAgIGRhdGVTdHJpbmdzLmRhdGUubGVuZ3RoLFxuICAgICAgICBkYXRlU3RyaW5nLmxlbmd0aCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHRpbWVTdHJpbmcpIHtcbiAgICBjb25zdCB0b2tlbiA9IHBhdHRlcm5zLnRpbWV6b25lLmV4ZWModGltZVN0cmluZyk7XG4gICAgaWYgKHRva2VuKSB7XG4gICAgICBkYXRlU3RyaW5ncy50aW1lID0gdGltZVN0cmluZy5yZXBsYWNlKHRva2VuWzFdLCBcIlwiKTtcbiAgICAgIGRhdGVTdHJpbmdzLnRpbWV6b25lID0gdG9rZW5bMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGRhdGVTdHJpbmdzLnRpbWUgPSB0aW1lU3RyaW5nO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkYXRlU3RyaW5ncztcbn1cblxuZnVuY3Rpb24gcGFyc2VZZWFyKGRhdGVTdHJpbmcsIGFkZGl0aW9uYWxEaWdpdHMpIHtcbiAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKFxuICAgIFwiXig/OihcXFxcZHs0fXxbKy1dXFxcXGR7XCIgK1xuICAgICAgKDQgKyBhZGRpdGlvbmFsRGlnaXRzKSArXG4gICAgICBcIn0pfChcXFxcZHsyfXxbKy1dXFxcXGR7XCIgK1xuICAgICAgKDIgKyBhZGRpdGlvbmFsRGlnaXRzKSArXG4gICAgICBcIn0pJClcIixcbiAgKTtcblxuICBjb25zdCBjYXB0dXJlcyA9IGRhdGVTdHJpbmcubWF0Y2gocmVnZXgpO1xuICAvLyBJbnZhbGlkIElTTy1mb3JtYXR0ZWQgeWVhclxuICBpZiAoIWNhcHR1cmVzKSByZXR1cm4geyB5ZWFyOiBOYU4sIHJlc3REYXRlU3RyaW5nOiBcIlwiIH07XG5cbiAgY29uc3QgeWVhciA9IGNhcHR1cmVzWzFdID8gcGFyc2VJbnQoY2FwdHVyZXNbMV0pIDogbnVsbDtcbiAgY29uc3QgY2VudHVyeSA9IGNhcHR1cmVzWzJdID8gcGFyc2VJbnQoY2FwdHVyZXNbMl0pIDogbnVsbDtcblxuICAvLyBlaXRoZXIgeWVhciBvciBjZW50dXJ5IGlzIG51bGwsIG5vdCBib3RoXG4gIHJldHVybiB7XG4gICAgeWVhcjogY2VudHVyeSA9PT0gbnVsbCA/IHllYXIgOiBjZW50dXJ5ICogMTAwLFxuICAgIHJlc3REYXRlU3RyaW5nOiBkYXRlU3RyaW5nLnNsaWNlKChjYXB0dXJlc1sxXSB8fCBjYXB0dXJlc1syXSkubGVuZ3RoKSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gcGFyc2VEYXRlKGRhdGVTdHJpbmcsIHllYXIpIHtcbiAgLy8gSW52YWxpZCBJU08tZm9ybWF0dGVkIHllYXJcbiAgaWYgKHllYXIgPT09IG51bGwpIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuXG4gIGNvbnN0IGNhcHR1cmVzID0gZGF0ZVN0cmluZy5tYXRjaChkYXRlUmVnZXgpO1xuICAvLyBJbnZhbGlkIElTTy1mb3JtYXR0ZWQgc3RyaW5nXG4gIGlmICghY2FwdHVyZXMpIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuXG4gIGNvbnN0IGlzV2Vla0RhdGUgPSAhIWNhcHR1cmVzWzRdO1xuICBjb25zdCBkYXlPZlllYXIgPSBwYXJzZURhdGVVbml0KGNhcHR1cmVzWzFdKTtcbiAgY29uc3QgbW9udGggPSBwYXJzZURhdGVVbml0KGNhcHR1cmVzWzJdKSAtIDE7XG4gIGNvbnN0IGRheSA9IHBhcnNlRGF0ZVVuaXQoY2FwdHVyZXNbM10pO1xuICBjb25zdCB3ZWVrID0gcGFyc2VEYXRlVW5pdChjYXB0dXJlc1s0XSk7XG4gIGNvbnN0IGRheU9mV2VlayA9IHBhcnNlRGF0ZVVuaXQoY2FwdHVyZXNbNV0pIC0gMTtcblxuICBpZiAoaXNXZWVrRGF0ZSkge1xuICAgIGlmICghdmFsaWRhdGVXZWVrRGF0ZSh5ZWFyLCB3ZWVrLCBkYXlPZldlZWspKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoTmFOKTtcbiAgICB9XG4gICAgcmV0dXJuIGRheU9mSVNPV2Vla1llYXIoeWVhciwgd2VlaywgZGF5T2ZXZWVrKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoMCk7XG4gICAgaWYgKFxuICAgICAgIXZhbGlkYXRlRGF0ZSh5ZWFyLCBtb250aCwgZGF5KSB8fFxuICAgICAgIXZhbGlkYXRlRGF5T2ZZZWFyRGF0ZSh5ZWFyLCBkYXlPZlllYXIpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoTmFOKTtcbiAgICB9XG4gICAgZGF0ZS5zZXRVVENGdWxsWWVhcih5ZWFyLCBtb250aCwgTWF0aC5tYXgoZGF5T2ZZZWFyLCBkYXkpKTtcbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZURhdGVVbml0KHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA/IHBhcnNlSW50KHZhbHVlKSA6IDE7XG59XG5cbmZ1bmN0aW9uIHBhcnNlVGltZSh0aW1lU3RyaW5nKSB7XG4gIGNvbnN0IGNhcHR1cmVzID0gdGltZVN0cmluZy5tYXRjaCh0aW1lUmVnZXgpO1xuICBpZiAoIWNhcHR1cmVzKSByZXR1cm4gTmFOOyAvLyBJbnZhbGlkIElTTy1mb3JtYXR0ZWQgdGltZVxuXG4gIGNvbnN0IGhvdXJzID0gcGFyc2VUaW1lVW5pdChjYXB0dXJlc1sxXSk7XG4gIGNvbnN0IG1pbnV0ZXMgPSBwYXJzZVRpbWVVbml0KGNhcHR1cmVzWzJdKTtcbiAgY29uc3Qgc2Vjb25kcyA9IHBhcnNlVGltZVVuaXQoY2FwdHVyZXNbM10pO1xuXG4gIGlmICghdmFsaWRhdGVUaW1lKGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKSkge1xuICAgIHJldHVybiBOYU47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIGhvdXJzICogbWlsbGlzZWNvbmRzSW5Ib3VyICsgbWludXRlcyAqIG1pbGxpc2Vjb25kc0luTWludXRlICsgc2Vjb25kcyAqIDEwMDBcbiAgKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VUaW1lVW5pdCh2YWx1ZSkge1xuICByZXR1cm4gKHZhbHVlICYmIHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZShcIixcIiwgXCIuXCIpKSkgfHwgMDtcbn1cblxuZnVuY3Rpb24gcGFyc2VUaW1lem9uZSh0aW1lem9uZVN0cmluZykge1xuICBpZiAodGltZXpvbmVTdHJpbmcgPT09IFwiWlwiKSByZXR1cm4gMDtcblxuICBjb25zdCBjYXB0dXJlcyA9IHRpbWV6b25lU3RyaW5nLm1hdGNoKHRpbWV6b25lUmVnZXgpO1xuICBpZiAoIWNhcHR1cmVzKSByZXR1cm4gMDtcblxuICBjb25zdCBzaWduID0gY2FwdHVyZXNbMV0gPT09IFwiK1wiID8gLTEgOiAxO1xuICBjb25zdCBob3VycyA9IHBhcnNlSW50KGNhcHR1cmVzWzJdKTtcbiAgY29uc3QgbWludXRlcyA9IChjYXB0dXJlc1szXSAmJiBwYXJzZUludChjYXB0dXJlc1szXSkpIHx8IDA7XG5cbiAgaWYgKCF2YWxpZGF0ZVRpbWV6b25lKGhvdXJzLCBtaW51dGVzKSkge1xuICAgIHJldHVybiBOYU47XG4gIH1cblxuICByZXR1cm4gc2lnbiAqIChob3VycyAqIG1pbGxpc2Vjb25kc0luSG91ciArIG1pbnV0ZXMgKiBtaWxsaXNlY29uZHNJbk1pbnV0ZSk7XG59XG5cbmZ1bmN0aW9uIGRheU9mSVNPV2Vla1llYXIoaXNvV2Vla1llYXIsIHdlZWssIGRheSkge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoMCk7XG4gIGRhdGUuc2V0VVRDRnVsbFllYXIoaXNvV2Vla1llYXIsIDAsIDQpO1xuICBjb25zdCBmb3VydGhPZkphbnVhcnlEYXkgPSBkYXRlLmdldFVUQ0RheSgpIHx8IDc7XG4gIGNvbnN0IGRpZmYgPSAod2VlayAtIDEpICogNyArIGRheSArIDEgLSBmb3VydGhPZkphbnVhcnlEYXk7XG4gIGRhdGUuc2V0VVRDRGF0ZShkYXRlLmdldFVUQ0RhdGUoKSArIGRpZmYpO1xuICByZXR1cm4gZGF0ZTtcbn1cblxuLy8gVmFsaWRhdGlvbiBmdW5jdGlvbnNcblxuLy8gRmVicnVhcnkgaXMgbnVsbCB0byBoYW5kbGUgdGhlIGxlYXAgeWVhciAodXNpbmcgfHwpXG5jb25zdCBkYXlzSW5Nb250aHMgPSBbMzEsIG51bGwsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxXTtcblxuZnVuY3Rpb24gaXNMZWFwWWVhckluZGV4KHllYXIpIHtcbiAgcmV0dXJuIHllYXIgJSA0MDAgPT09IDAgfHwgKHllYXIgJSA0ID09PSAwICYmIHllYXIgJSAxMDAgIT09IDApO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZURhdGUoeWVhciwgbW9udGgsIGRhdGUpIHtcbiAgcmV0dXJuIChcbiAgICBtb250aCA+PSAwICYmXG4gICAgbW9udGggPD0gMTEgJiZcbiAgICBkYXRlID49IDEgJiZcbiAgICBkYXRlIDw9IChkYXlzSW5Nb250aHNbbW9udGhdIHx8IChpc0xlYXBZZWFySW5kZXgoeWVhcikgPyAyOSA6IDI4KSlcbiAgKTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVEYXlPZlllYXJEYXRlKHllYXIsIGRheU9mWWVhcikge1xuICByZXR1cm4gZGF5T2ZZZWFyID49IDEgJiYgZGF5T2ZZZWFyIDw9IChpc0xlYXBZZWFySW5kZXgoeWVhcikgPyAzNjYgOiAzNjUpO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVdlZWtEYXRlKF95ZWFyLCB3ZWVrLCBkYXkpIHtcbiAgcmV0dXJuIHdlZWsgPj0gMSAmJiB3ZWVrIDw9IDUzICYmIGRheSA+PSAwICYmIGRheSA8PSA2O1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVRpbWUoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpIHtcbiAgaWYgKGhvdXJzID09PSAyNCkge1xuICAgIHJldHVybiBtaW51dGVzID09PSAwICYmIHNlY29uZHMgPT09IDA7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIHNlY29uZHMgPj0gMCAmJlxuICAgIHNlY29uZHMgPCA2MCAmJlxuICAgIG1pbnV0ZXMgPj0gMCAmJlxuICAgIG1pbnV0ZXMgPCA2MCAmJlxuICAgIGhvdXJzID49IDAgJiZcbiAgICBob3VycyA8IDI1XG4gICk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlVGltZXpvbmUoX2hvdXJzLCBtaW51dGVzKSB7XG4gIHJldHVybiBtaW51dGVzID49IDAgJiYgbWludXRlcyA8PSA1OTtcbn1cbiIsImltcG9ydCB7IGFkZEhvdXJzIH0gZnJvbSBcIi4vYWRkSG91cnMuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIHN1YkhvdXJzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgc3ViSG91cnNcbiAqIEBjYXRlZ29yeSBIb3VyIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IFN1YnRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGhvdXJzIGZyb20gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBTdWJ0cmFjdCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBob3VycyBmcm9tIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIGhvdXJzIHRvIGJlIHN1YnRyYWN0ZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zXG4gKlxuICogQHJldHVybnMgVGhlIG5ldyBkYXRlIHdpdGggdGhlIGhvdXJzIHN1YnRyYWN0ZWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3VidHJhY3QgMiBob3VycyBmcm9tIDExIEp1bHkgMjAxNCAwMTowMDowMDpcbiAqIGNvbnN0IHJlc3VsdCA9IHN1YkhvdXJzKG5ldyBEYXRlKDIwMTQsIDYsIDExLCAxLCAwKSwgMilcbiAqIC8vPT4gVGh1IEp1bCAxMCAyMDE0IDIzOjAwOjAwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJIb3VycyhkYXRlLCBhbW91bnQsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGFkZEhvdXJzKGRhdGUsIC1hbW91bnQsIG9wdGlvbnMpO1xufVxuIiwiaW1wb3J0IHtcbiAgaTE4bkR1cmF0aW9uSG91cixcbiAgaTE4bkR1cmF0aW9uTWludXRlLFxuICBpMThuRHVyYXRpb25EYXksXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQge1xuICBpc1ZhbGlkLFxuICBwYXJzZUlTTyxcbiAgZGlmZmVyZW5jZUluRGF5cyxcbiAgZGlmZmVyZW5jZUluSG91cnMsXG4gIGRpZmZlcmVuY2VJbk1pbnV0ZXMsXG4gIGFkZE1pbnV0ZXMsXG4gIHN1YkhvdXJzLFxuICBzdWJEYXlzLFxufSBmcm9tICdkYXRlLWZucyc7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiByZW1vdmVzIHRoZSBvZmZzZXQgb2YgYSBJU08gZGF0ZSBzdHJpbmcuIFRoaXMgbmVlZHMgdG8gYmUgZG9uZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgb2Zmc2V0IGlzIGlnbm9yZWQuXG4gKiBJZiBpdCBpcyBub3QgcmVtb3ZlZCB0aGUgdGltZSB3b3VsZCBiZSBjb252ZXJ0ZWQgdG8gdGhlIGJyb3dzZXJzIGxvY2FsIHRpbWUuXG4gKiBFeGFtcGxlOiBcIjIwMjItMDgtMjlUMDk6MzA6MDArMDM6MDBcIiB3b3VsZCBiZSBjaGFuZ2VkIHRvIFwiMjAyMi0wOC0yOVQwODozMDowMCswMjowMFwiIC0tPiBub3QgdGhlIGRlc2lyZWQgb3V0Y29tZSwgYXMgd2Ugd2FudCB0byB1c2UgdGhlIHRpbWUgaW4gdGhlIHRpbWV6b25lIGFuZCBub3QgdGhlIGxvY2FsIHRpbWUuXG4gKlxuICogQWZ0ZXIgdGhlIG9mZnNldCBpcyByZW1vdmVkIGEgbmV3IGRhdGUgaXMgY3JlYXRlZCBpbiB0aGUgYnJvd3NlcnMgbG9jYWwgdGltZS4gVGhpcyBlbnN1cmVzIHRoYXQgdGhlIHRpbWUgb2YgdGhlIElTTyBkYXRlIHN0cmluZyBpcyBkaXNwbGF5ZWQgYW5kIG5vdCBhIGNvbnZlcnRlZCB0aW1lLlxuICogRXhhbXBsZTogXCIyMDIyLTA4LTI5VDA5OjMwOjAwKzAzOjAwXCIgd291bGQgYmUgY2hhbmdlZCB0byBcIjIwMjItMDgtMjlUMDk6MzA6MDArMDI6MDBcIiAtLT4gZGVzaXJlZCBvdXRjb21lXG4gKiBBdHRlbnRpb246IFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgY29udmVydCB0aGUgdGltZSB0byB0aGUgY29ycmVjdCB0aW1lIGluIHRoZSBsb2NhbCB0aW1lem9uZS4gSXQgaXMgYSB3b3JrYXJvdW5kIHRvIG1ha2Ugc3VyZSwgdGhhdCB0aGUgZ2l2ZW4gdGltZSBpcyBkaXNwbGF5ZWQgd2l0aG91dCBiZWluZyBjb252ZXJ0ZWQuXG4gKlxuICogT2Zmc2V0OiBEaWZmZXJlbmNlIGJldHdlZW4gdGhlIHRpbWV6b25lIGFuZCBDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZS5cbiAqXG4gKiBAcGFyYW0gaXNvVGltZSAtIHRoZSBpc28gdGltZSB3aXRoIHRoZSB0aW1lem9uZSBvZmZzZXRcbiAqIEByZXR1cm5zIGEgbmV3IGRhdGUgd2l0aCB0aGUgbG9jYWwgdGltZXpvbmUgd2l0aCB0aGUgbG9jYWwgb2Zmc2V0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVUaW1lem9uZUZyb21JU09UaW1lU3RyaW5nKGlzb1RpbWU/OiBzdHJpbmcpOiBEYXRlIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFpc29UaW1lKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCBwYXJzZWREYXRlID0gcGFyc2VJU08oaXNvVGltZSk7XG5cbiAgaWYgKCFpc1ZhbGlkKHBhcnNlZERhdGUpKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmIChpc29UaW1lLmluY2x1ZGVzKCdaJykpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoaXNvVGltZS5yZXBsYWNlKCdaJywgJycpKTtcbiAgfVxuXG4gIGlmIChpc29UaW1lLmluY2x1ZGVzKCdUJykpIHtcbiAgICBjb25zdCBkYXRlVGltZSA9IGlzb1RpbWUuc3BsaXQoJ1QnKTtcblxuICAgIGlmIChkYXRlVGltZVsxXSAmJiAoZGF0ZVRpbWVbMV0uaW5jbHVkZXMoJysnKSB8fCBkYXRlVGltZVsxXS5pbmNsdWRlcygnLScpKSkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKGAke2RhdGVUaW1lWzBdfVQke2RhdGVUaW1lWzFdLnNwbGl0KC9bKy1dLylbMF19YCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBuZXcgRGF0ZShpc29UaW1lKTtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRzIGEgZHVyYXRpb24gbnVtYmVyIHRvIGRhdGUgc3RyaW5nIHdpdGggc3BlY2lmaWMgZm9ybWF0XG4gKlxuICogQHBhcmFtIGR1cmF0aW9uIC0gZHVyYXRpb24gaW4gbWludXRlc1xuICogQHBhcmFtIGN1cnJlbnRMYW5ndWFnZSAtIGN1cnJlbnRMYW5ndWFnZVxuICogQHJldHVybnMgYW4gT2JqZWN0IHdpdGggdHdvIHN0cmluZ3MgaW4gdGhlIGZvcm1hdCBcImRkIGhoIG1tXCIgKHNob3J0KSBhbiBcInggRGF5KHMpIHggSG91cihzKSB4IE1pbnV0ZShzKSAobG9uZylcIlxuICogKi9cblxuZXhwb3J0IGNvbnN0IGR1cmF0aW9uVG9UaW1lID0gKFxuICBkdXJhdGlvbjogbnVtYmVyLFxuICBjdXJyZW50TGFuZ3VhZ2U/OiBzdHJpbmcsXG4pOiB7IHNob3J0OiBzdHJpbmc7IGxvbmc6IHN0cmluZyB9ID0+IHtcbiAgY29uc3Qgc2hvcnQgPSBbXTtcbiAgY29uc3QgbG9uZyA9IFtdO1xuXG4gIGNvbnN0IG5vdyA9IDA7XG4gIGxldCBmdXR1cmUgPSBhZGRNaW51dGVzKG5vdywgZHVyYXRpb24pO1xuXG4gIGNvbnN0IGRheXMgPSBkaWZmZXJlbmNlSW5EYXlzKGZ1dHVyZSwgbm93KTtcbiAgaWYgKGRheXMgPiAwKSB7XG4gICAgc2hvcnQucHVzaChgJHtkYXlzfSBkYCk7XG4gICAgaWYgKGN1cnJlbnRMYW5ndWFnZSkge1xuICAgICAgbG9uZy5wdXNoKFxuICAgICAgICBgJHtkYXlzfSAke1xuICAgICAgICAgIGRheXMgPiAxXG4gICAgICAgICAgICA/IGkxOG5EdXJhdGlvbkRheS5tdWx0aXBsZS5sb25nW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgICAgIDogaTE4bkR1cmF0aW9uRGF5LnNpbmdsZS5sb25nW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgfWAsXG4gICAgICApO1xuICAgIH1cbiAgICBmdXR1cmUgPSBzdWJEYXlzKGZ1dHVyZSwgZGF5cyk7XG4gIH1cblxuICBjb25zdCBob3VycyA9IGRpZmZlcmVuY2VJbkhvdXJzKGZ1dHVyZSwgbm93KTtcbiAgaWYgKGhvdXJzID4gMCkge1xuICAgIHNob3J0LnB1c2goYCR7aG91cnN9IGhgKTtcbiAgICBpZiAoY3VycmVudExhbmd1YWdlKSB7XG4gICAgICBsb25nLnB1c2goXG4gICAgICAgIGAke2hvdXJzfSAke1xuICAgICAgICAgIGhvdXJzID4gMVxuICAgICAgICAgICAgPyBpMThuRHVyYXRpb25Ib3VyLm11bHRpcGxlLmxvbmdbY3VycmVudExhbmd1YWdlXVxuICAgICAgICAgICAgOiBpMThuRHVyYXRpb25Ib3VyLnNpbmdsZS5sb25nW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgfWAsXG4gICAgICApO1xuICAgIH1cbiAgICBmdXR1cmUgPSBzdWJIb3VycyhmdXR1cmUsIGhvdXJzKTtcbiAgfVxuXG4gIGNvbnN0IG1pbnV0ZXMgPSBkaWZmZXJlbmNlSW5NaW51dGVzKGZ1dHVyZSwgbm93KTtcbiAgaWYgKG1pbnV0ZXMgPiAwKSB7XG4gICAgc2hvcnQucHVzaChgJHttaW51dGVzfSBtaW5gKTtcbiAgICBpZiAoY3VycmVudExhbmd1YWdlKSB7XG4gICAgICBsb25nLnB1c2goXG4gICAgICAgIGAke21pbnV0ZXN9ICR7XG4gICAgICAgICAgbWludXRlcyA+IDFcbiAgICAgICAgICAgID8gaTE4bkR1cmF0aW9uTWludXRlLm11bHRpcGxlLmxvbmdbY3VycmVudExhbmd1YWdlXVxuICAgICAgICAgICAgOiBpMThuRHVyYXRpb25NaW51dGUuc2luZ2xlLmxvbmdbY3VycmVudExhbmd1YWdlXVxuICAgICAgICB9YCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzaG9ydDogc2hvcnQuam9pbignICcpLFxuICAgIGxvbmc6IGxvbmcuam9pbignICcpLFxuICB9O1xufTtcbiJdLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMCwxLDIsMyw0LDUsNiw3XSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnREEsU0FBZ0IsUUFBUSxNQUFNLFFBQVEsU0FBUztDQUM3QyxNQUFNLFFBQVEsT0FBTyxNQUFNLFNBQVMsRUFBRTtDQUN0QyxJQUFJLE1BQU0sTUFBTSxHQUFHLE9BQU8sY0FBYyxTQUFTLE1BQU0sTUFBTSxHQUFHO0NBR2hFLElBQUksQ0FBQyxRQUFRLE9BQU87Q0FFcEIsTUFBTSxRQUFRLE1BQU0sUUFBUSxJQUFJLE1BQU07Q0FDdEMsT0FBTztBQUNUOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDUEEsU0FBZ0IsZ0JBQWdCLE1BQU0sUUFBUSxTQUFTO0NBQ3JELE9BQU8sY0FBYyxTQUFTLE1BQU0sTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLE1BQU07QUFDbEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNGQSxTQUFnQixTQUFTLE1BQU0sUUFBUSxTQUFTO0NBQzlDLE9BQU8sZ0JBQWdCLE1BQU0sU0FBUyxvQkFBb0IsT0FBTztBQUNuRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNRQSxT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
@@ -1,4 +1,4 @@
1
- import { a as millisecondsInMinute, t as toDate } from "./toDate-DOFAOjP-.js";
1
+ import { a as millisecondsInMinute, t as toDate } from "./toDate-CDWut5fS.js";
2
2
  //#region node_modules/date-fns/addMinutes.js
3
3
  /**
4
4
  * The {@link addMinutes} function options.
@@ -128,4 +128,4 @@ function differenceInMinutes(dateLeft, dateRight, options) {
128
128
  //#endregion
129
129
  export { getRoundingMethod as n, addMinutes as r, differenceInMinutes as t };
130
130
 
131
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZmVyZW5jZUluTWludXRlcy1DcUFPVmltdC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvYWRkTWludXRlcy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9fbGliL2dldFJvdW5kaW5nTWV0aG9kLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2RpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9kaWZmZXJlbmNlSW5NaW51dGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1pbGxpc2Vjb25kc0luTWludXRlIH0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyB0b0RhdGUgfSBmcm9tIFwiLi90b0RhdGUuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIGFkZE1pbnV0ZXN9IGZ1bmN0aW9uIG9wdGlvbnMuXG4gKi9cblxuLyoqXG4gKiBAbmFtZSBhZGRNaW51dGVzXG4gKiBAY2F0ZWdvcnkgTWludXRlIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtaW51dGVzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1pbnV0ZXMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogKipZb3UgZG9uJ3QgbmVlZCBkYXRlLWZuc1xcKioqOlxuICpcbiAqIFRlbXBvcmFsIGhhcyBhIGJ1aWx0LWluIGBhZGRgIG1ldGhvZCBvbiBhbGwgaXRzIGNsYXNzZXM6XG4gKlxuICogLSBbYFRlbXBvcmFsLkluc3RhbnQucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvSW5zdGFudC9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5EYXRlLnByb3RvdHlwZS5hZGQoKWBdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1RlbXBvcmFsL1BsYWluRGF0ZS9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5EYXRlVGltZS5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9QbGFpbkRhdGVUaW1lL2FkZClcbiAqIC0gW2BUZW1wb3JhbC5QbGFpblRpbWUucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvUGxhaW5UaW1lL2FkZClcbiAqIC0gW2BUZW1wb3JhbC5QbGFpblllYXJNb250aC5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuWm9uZWREYXRlVGltZS5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9ab25lZERhdGVUaW1lL2FkZClcbiAqXG4gKiBcXCogKipOb3QgcmVhbGx5KiosIHNlZTogaHR0cHM6Ly9kYXRlLWZucy5vcmcveW91LWRvbnQtbmVlZC1kYXRlLWZuc1xuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIG1pbnV0ZXMgdG8gYmUgYWRkZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFuIG9iamVjdCB3aXRoIG9wdGlvbnNcbiAqXG4gKiBAcmV0dXJucyBUaGUgbmV3IGRhdGUgd2l0aCB0aGUgbWludXRlcyBhZGRlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgMzAgbWludXRlcyB0byAxMCBKdWx5IDIwMTQgMTI6MDA6MDA6XG4gKiBjb25zdCByZXN1bHQgPSBhZGRNaW51dGVzKG5ldyBEYXRlKDIwMTQsIDYsIDEwLCAxMiwgMCksIDMwKVxuICogLy89PiBUaHUgSnVsIDEwIDIwMTQgMTI6MzA6MDBcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVXNpbmcgVGVtcG9yYWw6XG4gKiAvLyBBZGQgMzAgbWludXRlcyB0byAxMCBKdWx5IDIwMTQgMTI6MDA6MDA6XG4gKiBUZW1wb3JhbC5QbGFpbkRhdGVUaW1lLmZyb20oXCIyMDE0LTA3LTEwVDEyOjAwOjAwXCIpXG4gKiAgIC5hZGQoeyBtaW51dGVzOiAzMCB9KVxuICogICAudG9TdHJpbmcoKTtcbiAqIC8vPT4gXCIyMDE0LTA3LTEwVDEyOjMwOjAwXCJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE1pbnV0ZXMoZGF0ZSwgYW1vdW50LCBvcHRpb25zKSB7XG4gIGNvbnN0IF9kYXRlID0gdG9EYXRlKGRhdGUsIG9wdGlvbnM/LmluKTtcbiAgX2RhdGUuc2V0VGltZShfZGF0ZS5nZXRUaW1lKCkgKyBhbW91bnQgKiBtaWxsaXNlY29uZHNJbk1pbnV0ZSk7XG4gIHJldHVybiBfZGF0ZTtcbn1cbiIsImV4cG9ydCBmdW5jdGlvbiBnZXRSb3VuZGluZ01ldGhvZChtZXRob2QpIHtcbiAgcmV0dXJuIChudW1iZXIpID0+IHtcbiAgICBjb25zdCByb3VuZCA9IG1ldGhvZCA/IE1hdGhbbWV0aG9kXSA6IE1hdGgudHJ1bmM7XG4gICAgY29uc3QgcmVzdWx0ID0gcm91bmQobnVtYmVyKTtcbiAgICAvLyBQcmV2ZW50IG5lZ2F0aXZlIHplcm9cbiAgICByZXR1cm4gcmVzdWx0ID09PSAwID8gMCA6IHJlc3VsdDtcbiAgfTtcbn1cbiIsImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5qc1wiO1xuXG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kc1xuICogQGNhdGVnb3J5IE1pbGxpc2Vjb25kIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAcGFyYW0gbGF0ZXJEYXRlIC0gVGhlIGxhdGVyIGRhdGVcbiAqIEBwYXJhbSBlYXJsaWVyRGF0ZSAtIFRoZSBlYXJsaWVyIGRhdGVcbiAqXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBtaWxsaXNlY29uZHMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDE0IDEyOjMwOjIwLjYwMCBhbmQgMiBKdWx5IDIwMTQgMTI6MzA6MjEuNzAwP1xuICogY29uc3QgcmVzdWx0ID0gZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzKFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgMzAsIDIxLCA3MDApLFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgMzAsIDIwLCA2MDApXG4gKiApXG4gKiAvLz0+IDExMDBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcyhsYXRlckRhdGUsIGVhcmxpZXJEYXRlKSB7XG4gIHJldHVybiArdG9EYXRlKGxhdGVyRGF0ZSkgLSArdG9EYXRlKGVhcmxpZXJEYXRlKTtcbn1cbiIsImltcG9ydCB7IGdldFJvdW5kaW5nTWV0aG9kIH0gZnJvbSBcIi4vX2xpYi9nZXRSb3VuZGluZ01ldGhvZC5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5NaW51dGUgfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcyB9IGZyb20gXCIuL2RpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcy5qc1wiO1xuXG4vKipcbiAqIFRoZSB7QGxpbmsgZGlmZmVyZW5jZUluTWludXRlc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbk1pbnV0ZXNcbiAqIEBjYXRlZ29yeSBNaW51dGUgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgbWludXRlcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgc2lnbmVkIG51bWJlciBvZiBmdWxsIChyb3VuZGVkIHRvd2FyZHMgMCkgbWludXRlcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAcGFyYW0gZGF0ZUxlZnQgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGRhdGVSaWdodCAtIFRoZSBlYXJsaWVyIGRhdGVcbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IHdpdGggb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIG1pbnV0ZXNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgbWludXRlcyBhcmUgYmV0d2VlbiAyIEp1bHkgMjAxNCAxMjowNzo1OSBhbmQgMiBKdWx5IDIwMTQgMTI6MjA6MDA/XG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgMjAsIDApLFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgNywgNTkpXG4gKiApXG4gKiAvLz0+IDEyXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IG1pbnV0ZXMgYXJlIGJldHdlZW4gMTA6MDE6NTkgYW5kIDEwOjAwOjAwXG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICogICBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAxMCwgMCwgMCksXG4gKiAgIG5ldyBEYXRlKDIwMDAsIDAsIDEsIDEwLCAxLCA1OSlcbiAqIClcbiAqIC8vPT4gLTFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbk1pbnV0ZXMoZGF0ZUxlZnQsIGRhdGVSaWdodCwgb3B0aW9ucykge1xuICBjb25zdCBkaWZmID1cbiAgICBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMoZGF0ZUxlZnQsIGRhdGVSaWdodCkgLyBtaWxsaXNlY29uZHNJbk1pbnV0ZTtcbiAgcmV0dXJuIGdldFJvdW5kaW5nTWV0aG9kKG9wdGlvbnM/LnJvdW5kaW5nTWV0aG9kKShkaWZmKTtcbn1cbiJdLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMCwxLDIsM10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrREEsU0FBZ0IsV0FBVyxNQUFNLFFBQVEsU0FBUztDQUNoRCxNQUFNLFFBQVEsT0FBTyxNQUFNLFNBQVMsRUFBRTtDQUN0QyxNQUFNLFFBQVEsTUFBTSxRQUFRLElBQUksU0FBUyxvQkFBb0I7Q0FDN0QsT0FBTztBQUNUOzs7QUN0REEsU0FBZ0Isa0JBQWtCLFFBQVE7Q0FDeEMsUUFBUSxXQUFXO0VBRWpCLE1BQU0sVUFEUSxTQUFTLEtBQUssVUFBVSxLQUFLLE9BQ3RCLE1BQU07RUFFM0IsT0FBTyxXQUFXLElBQUksSUFBSTtDQUM1QjtBQUNGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDaUJBLFNBQWdCLHlCQUF5QixXQUFXLGFBQWE7Q0FDL0QsT0FBTyxDQUFDLE9BQU8sU0FBUyxJQUFJLENBQUMsT0FBTyxXQUFXO0FBQ2pEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNZQSxTQUFnQixvQkFBb0IsVUFBVSxXQUFXLFNBQVM7Q0FDaEUsTUFBTSxPQUNKLHlCQUF5QixVQUFVLFNBQVMsSUFBSTtDQUNsRCxPQUFPLGtCQUFrQixTQUFTLGNBQWMsRUFBRSxJQUFJO0FBQ3hEIn0=
131
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZmVyZW5jZUluTWludXRlcy1DSmxsTDY2MS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvYWRkTWludXRlcy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9fbGliL2dldFJvdW5kaW5nTWV0aG9kLmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2RpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcy5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9kaWZmZXJlbmNlSW5NaW51dGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1pbGxpc2Vjb25kc0luTWludXRlIH0gZnJvbSBcIi4vY29uc3RhbnRzLmpzXCI7XG5pbXBvcnQgeyB0b0RhdGUgfSBmcm9tIFwiLi90b0RhdGUuanNcIjtcblxuLyoqXG4gKiBUaGUge0BsaW5rIGFkZE1pbnV0ZXN9IGZ1bmN0aW9uIG9wdGlvbnMuXG4gKi9cblxuLyoqXG4gKiBAbmFtZSBhZGRNaW51dGVzXG4gKiBAY2F0ZWdvcnkgTWludXRlIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtaW51dGVzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1pbnV0ZXMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gKlxuICogKipZb3UgZG9uJ3QgbmVlZCBkYXRlLWZuc1xcKioqOlxuICpcbiAqIFRlbXBvcmFsIGhhcyBhIGJ1aWx0LWluIGBhZGRgIG1ldGhvZCBvbiBhbGwgaXRzIGNsYXNzZXM6XG4gKlxuICogLSBbYFRlbXBvcmFsLkluc3RhbnQucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvSW5zdGFudC9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5EYXRlLnByb3RvdHlwZS5hZGQoKWBdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1RlbXBvcmFsL1BsYWluRGF0ZS9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuUGxhaW5EYXRlVGltZS5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9QbGFpbkRhdGVUaW1lL2FkZClcbiAqIC0gW2BUZW1wb3JhbC5QbGFpblRpbWUucHJvdG90eXBlLmFkZCgpYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvVGVtcG9yYWwvUGxhaW5UaW1lL2FkZClcbiAqIC0gW2BUZW1wb3JhbC5QbGFpblllYXJNb250aC5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9QbGFpblllYXJNb250aC9hZGQpXG4gKiAtIFtgVGVtcG9yYWwuWm9uZWREYXRlVGltZS5wcm90b3R5cGUuYWRkKClgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9UZW1wb3JhbC9ab25lZERhdGVUaW1lL2FkZClcbiAqXG4gKiBcXCogKipOb3QgcmVhbGx5KiosIHNlZTogaHR0cHM6Ly9kYXRlLWZucy5vcmcveW91LWRvbnQtbmVlZC1kYXRlLWZuc1xuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIG1pbnV0ZXMgdG8gYmUgYWRkZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFuIG9iamVjdCB3aXRoIG9wdGlvbnNcbiAqXG4gKiBAcmV0dXJucyBUaGUgbmV3IGRhdGUgd2l0aCB0aGUgbWludXRlcyBhZGRlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgMzAgbWludXRlcyB0byAxMCBKdWx5IDIwMTQgMTI6MDA6MDA6XG4gKiBjb25zdCByZXN1bHQgPSBhZGRNaW51dGVzKG5ldyBEYXRlKDIwMTQsIDYsIDEwLCAxMiwgMCksIDMwKVxuICogLy89PiBUaHUgSnVsIDEwIDIwMTQgMTI6MzA6MDBcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVXNpbmcgVGVtcG9yYWw6XG4gKiAvLyBBZGQgMzAgbWludXRlcyB0byAxMCBKdWx5IDIwMTQgMTI6MDA6MDA6XG4gKiBUZW1wb3JhbC5QbGFpbkRhdGVUaW1lLmZyb20oXCIyMDE0LTA3LTEwVDEyOjAwOjAwXCIpXG4gKiAgIC5hZGQoeyBtaW51dGVzOiAzMCB9KVxuICogICAudG9TdHJpbmcoKTtcbiAqIC8vPT4gXCIyMDE0LTA3LTEwVDEyOjMwOjAwXCJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE1pbnV0ZXMoZGF0ZSwgYW1vdW50LCBvcHRpb25zKSB7XG4gIGNvbnN0IF9kYXRlID0gdG9EYXRlKGRhdGUsIG9wdGlvbnM/LmluKTtcbiAgX2RhdGUuc2V0VGltZShfZGF0ZS5nZXRUaW1lKCkgKyBhbW91bnQgKiBtaWxsaXNlY29uZHNJbk1pbnV0ZSk7XG4gIHJldHVybiBfZGF0ZTtcbn1cbiIsImV4cG9ydCBmdW5jdGlvbiBnZXRSb3VuZGluZ01ldGhvZChtZXRob2QpIHtcbiAgcmV0dXJuIChudW1iZXIpID0+IHtcbiAgICBjb25zdCByb3VuZCA9IG1ldGhvZCA/IE1hdGhbbWV0aG9kXSA6IE1hdGgudHJ1bmM7XG4gICAgY29uc3QgcmVzdWx0ID0gcm91bmQobnVtYmVyKTtcbiAgICAvLyBQcmV2ZW50IG5lZ2F0aXZlIHplcm9cbiAgICByZXR1cm4gcmVzdWx0ID09PSAwID8gMCA6IHJlc3VsdDtcbiAgfTtcbn1cbiIsImltcG9ydCB7IHRvRGF0ZSB9IGZyb20gXCIuL3RvRGF0ZS5qc1wiO1xuXG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kc1xuICogQGNhdGVnb3J5IE1pbGxpc2Vjb25kIEhlbHBlcnNcbiAqIEBzdW1tYXJ5IEdldCB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAcGFyYW0gbGF0ZXJEYXRlIC0gVGhlIGxhdGVyIGRhdGVcbiAqIEBwYXJhbSBlYXJsaWVyRGF0ZSAtIFRoZSBlYXJsaWVyIGRhdGVcbiAqXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBIb3cgbWFueSBtaWxsaXNlY29uZHMgYXJlIGJldHdlZW5cbiAqIC8vIDIgSnVseSAyMDE0IDEyOjMwOjIwLjYwMCBhbmQgMiBKdWx5IDIwMTQgMTI6MzA6MjEuNzAwP1xuICogY29uc3QgcmVzdWx0ID0gZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzKFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgMzAsIDIxLCA3MDApLFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgMzAsIDIwLCA2MDApXG4gKiApXG4gKiAvLz0+IDExMDBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcyhsYXRlckRhdGUsIGVhcmxpZXJEYXRlKSB7XG4gIHJldHVybiArdG9EYXRlKGxhdGVyRGF0ZSkgLSArdG9EYXRlKGVhcmxpZXJEYXRlKTtcbn1cbiIsImltcG9ydCB7IGdldFJvdW5kaW5nTWV0aG9kIH0gZnJvbSBcIi4vX2xpYi9nZXRSb3VuZGluZ01ldGhvZC5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5NaW51dGUgfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcyB9IGZyb20gXCIuL2RpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcy5qc1wiO1xuXG4vKipcbiAqIFRoZSB7QGxpbmsgZGlmZmVyZW5jZUluTWludXRlc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbk1pbnV0ZXNcbiAqIEBjYXRlZ29yeSBNaW51dGUgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgbWludXRlcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgc2lnbmVkIG51bWJlciBvZiBmdWxsIChyb3VuZGVkIHRvd2FyZHMgMCkgbWludXRlcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAcGFyYW0gZGF0ZUxlZnQgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGRhdGVSaWdodCAtIFRoZSBlYXJsaWVyIGRhdGVcbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IHdpdGggb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIG1pbnV0ZXNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgbWludXRlcyBhcmUgYmV0d2VlbiAyIEp1bHkgMjAxNCAxMjowNzo1OSBhbmQgMiBKdWx5IDIwMTQgMTI6MjA6MDA/XG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgMjAsIDApLFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgNywgNTkpXG4gKiApXG4gKiAvLz0+IDEyXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IG1pbnV0ZXMgYXJlIGJldHdlZW4gMTA6MDE6NTkgYW5kIDEwOjAwOjAwXG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICogICBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAxMCwgMCwgMCksXG4gKiAgIG5ldyBEYXRlKDIwMDAsIDAsIDEsIDEwLCAxLCA1OSlcbiAqIClcbiAqIC8vPT4gLTFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbk1pbnV0ZXMoZGF0ZUxlZnQsIGRhdGVSaWdodCwgb3B0aW9ucykge1xuICBjb25zdCBkaWZmID1cbiAgICBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMoZGF0ZUxlZnQsIGRhdGVSaWdodCkgLyBtaWxsaXNlY29uZHNJbk1pbnV0ZTtcbiAgcmV0dXJuIGdldFJvdW5kaW5nTWV0aG9kKG9wdGlvbnM/LnJvdW5kaW5nTWV0aG9kKShkaWZmKTtcbn1cbiJdLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMCwxLDIsM10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrREEsU0FBZ0IsV0FBVyxNQUFNLFFBQVEsU0FBUztDQUNoRCxNQUFNLFFBQVEsT0FBTyxNQUFNLFNBQVMsRUFBRTtDQUN0QyxNQUFNLFFBQVEsTUFBTSxRQUFRLElBQUksU0FBUyxvQkFBb0I7Q0FDN0QsT0FBTztBQUNUOzs7QUN0REEsU0FBZ0Isa0JBQWtCLFFBQVE7Q0FDeEMsUUFBUSxXQUFXO0VBRWpCLE1BQU0sVUFEUSxTQUFTLEtBQUssVUFBVSxLQUFLLE9BQ3RCLE1BQU07RUFFM0IsT0FBTyxXQUFXLElBQUksSUFBSTtDQUM1QjtBQUNGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDaUJBLFNBQWdCLHlCQUF5QixXQUFXLGFBQWE7Q0FDL0QsT0FBTyxDQUFDLE9BQU8sU0FBUyxJQUFJLENBQUMsT0FBTyxXQUFXO0FBQ2pEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNZQSxTQUFnQixvQkFBb0IsVUFBVSxXQUFXLFNBQVM7Q0FDaEUsTUFBTSxPQUNKLHlCQUF5QixVQUFVLFNBQVMsSUFBSTtDQUNsRCxPQUFPLGtCQUFrQixTQUFTLGNBQWMsRUFBRSxJQUFJO0FBQ3hEIn0=