@sbb-esta/lyne-elements-experimental 5.0.0-next.3 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/_index.scss +2 -0
  2. package/{core.css → autocomplete-grid/_autocomplete-grid.global.scss} +4 -3
  3. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +4 -4
  4. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +42 -66
  5. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  6. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  7. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  8. package/{autocomplete-grid-option.component-kcihiOWt.js → autocomplete-grid-option.component-DUFBhQwI.js} +1 -1
  9. package/autocomplete-grid.js +3 -3
  10. package/autocomplete-grid.pure.js +3 -3
  11. package/core/datetime/date-helper.js +1 -1
  12. package/core/styles/_theme.scss +19 -0
  13. package/core.js +1 -1
  14. package/custom-elements.json +165 -27
  15. package/{date-helper-CuMnZCsr.js → date-helper-DNzMLcyb.js} +3 -3
  16. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  17. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +5 -5
  18. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  19. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +54 -83
  20. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  21. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +1 -1
  22. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -1
  23. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  24. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  25. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  26. package/development/{autocomplete-grid-cell.component-BF8i4388.js → autocomplete-grid-cell.component-BbdELDro.js} +1 -1
  27. package/development/{autocomplete-grid-option.component-D9pTXPlu.js → autocomplete-grid-option.component-C7WuqRit.js} +1 -2
  28. package/development/{autocomplete-grid-row.component-CBHh50jC.js → autocomplete-grid-row.component-DoXbOsQM.js} +1 -1
  29. package/development/autocomplete-grid.js +4 -4
  30. package/development/autocomplete-grid.pure.js +3 -3
  31. package/development/core/datetime/date-helper.js +1 -1
  32. package/development/core/timetable/access-leg-helper.js +1 -1
  33. package/development/core/timetable/timetable-helper.js +1 -1
  34. package/development/core.js +1 -1
  35. package/development/date-helper-BcTDWVeP.js +539 -0
  36. package/development/{differenceInMinutes-B7_GTDq7.js → differenceInMinutes-CxAbGYQ3.js} +2 -2
  37. package/development/{format-DFx4997p.js → format-Cx3zmmaF.js} +3 -3
  38. package/development/{isValid-JpZ7FphI.js → isValid-40Olgzo1.js} +2 -2
  39. package/development/journey-summary/journey-summary.component.js +1 -1
  40. package/development/journey-summary.component-BsC7wBIn.js +341 -0
  41. package/development/journey-summary.js +2 -2
  42. package/development/journey-summary.pure.js +1 -1
  43. package/development/{mapper-hWWm7Uke.js → mapper-BrZOqqfe.js} +1 -1
  44. package/development/pearl-chain/pearl-chain.component.js +1 -1
  45. package/development/pearl-chain-time/pearl-chain-time.component.js +1 -1
  46. package/development/{pearl-chain-time.component-BxVQ1z-Z.js → pearl-chain-time.component-C-CuC1ke.js} +3 -3
  47. package/development/pearl-chain-time.js +2 -2
  48. package/development/pearl-chain-time.pure.js +1 -1
  49. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  50. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  51. package/development/{pearl-chain-vertical-item.component-DJioJtxP.js → pearl-chain-vertical-item.component-CLu9QrqJ.js} +2 -2
  52. package/development/pearl-chain-vertical-item.js +2 -2
  53. package/development/pearl-chain-vertical-item.pure.js +1 -1
  54. package/development/{pearl-chain-vertical.component-zSOeIkhh.js → pearl-chain-vertical.component-DbPz5k_R.js} +1 -1
  55. package/development/pearl-chain-vertical.js +2 -2
  56. package/development/pearl-chain-vertical.pure.js +1 -1
  57. package/development/pearl-chain.component-10OsJZIX.js +318 -0
  58. package/development/pearl-chain.js +2 -2
  59. package/development/pearl-chain.pure.js +1 -1
  60. package/development/seat-reservation/common/mapper/icon-mapper.js +1 -1
  61. package/development/seat-reservation/common/mapper/mapper.js +1 -1
  62. package/development/seat-reservation/common/mapper.js +1 -1
  63. package/development/seat-reservation/common/svgs.js +1 -1
  64. package/development/seat-reservation/common/translations/i18n.js +1 -1
  65. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +11 -1
  66. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  67. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +41 -24
  68. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  69. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  70. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  71. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  72. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +6 -2
  73. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
  74. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +2 -2
  75. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  76. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +6 -2
  77. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
  78. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +2 -2
  79. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  80. package/development/{seat-reservation-area.component-CMqjbUtV.js → seat-reservation-area.component-DPhQJFid.js} +2 -2
  81. package/development/{seat-reservation-graphic.component-C2r57590.js → seat-reservation-graphic.component-0LYsmerm.js} +2 -2
  82. package/development/seat-reservation-navigation-coach.component-B97jKD7Y.js +438 -0
  83. package/development/{seat-reservation-navigation-services.component-Do8JLJh3.js → seat-reservation-navigation-services.component-Cx0Is97w.js} +2 -2
  84. package/development/{seat-reservation-place-control.component-BfuOGZYq.js → seat-reservation-place-control.component-DaL1g8WH.js} +40 -37
  85. package/development/{seat-reservation-scoped.component-D-Mvw-Q3.js → seat-reservation-scoped.component-BHbORVsR.js} +1 -1
  86. package/development/seat-reservation.component-DI9pSlzt.js +473 -0
  87. package/development/seat-reservation.js +12 -12
  88. package/development/seat-reservation.pure.js +11 -11
  89. package/development/{svgs-kDpBCto5.js → svgs-Dj-RKmRs.js} +1 -1
  90. package/development/timetable-duration/timetable-duration.component.js +1 -1
  91. package/development/timetable-duration.component-Chk5D4Is.js +96 -0
  92. package/development/timetable-duration.js +2 -2
  93. package/development/timetable-duration.pure.js +1 -1
  94. package/development/timetable-row/timetable-row.component.d.ts.map +1 -1
  95. package/development/timetable-row/timetable-row.component.js +1 -1
  96. package/development/timetable-row.component-nzrQzxL6.js +736 -0
  97. package/development/timetable-row.js +2 -2
  98. package/development/timetable-row.pure.js +1 -1
  99. package/development/{toDate-DOFAOjP-.js → toDate-CDWut5fS.js} +1 -1
  100. package/{differenceInMinutes-Dr9gRqtu.js → differenceInMinutes-BAZ-Fham.js} +1 -1
  101. package/{format-DbUuNYFU.js → format-DjgG1QPc.js} +2 -2
  102. package/{isValid-B9oVW3lA.js → isValid-CXnsFZVu.js} +1 -1
  103. package/journey-summary/journey-summary.component.js +1 -1
  104. package/{journey-summary.component-CkDRawn9.js → journey-summary.component-DNoO3OCf.js} +41 -41
  105. package/journey-summary.js +1 -1
  106. package/journey-summary.pure.js +1 -1
  107. package/package.json +6 -6
  108. package/pearl-chain/pearl-chain.component.js +1 -1
  109. package/pearl-chain-time/pearl-chain-time.component.js +1 -1
  110. package/{pearl-chain-time.component-D5OCEBJ_.js → pearl-chain-time.component-BuvA6IE1.js} +33 -33
  111. package/pearl-chain-time.js +1 -1
  112. package/pearl-chain-time.pure.js +1 -1
  113. package/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  114. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  115. package/{pearl-chain-vertical-item.component-IdquCJMy.js → pearl-chain-vertical-item.component-QZ4s8Jbv.js} +24 -24
  116. package/pearl-chain-vertical-item.js +1 -1
  117. package/pearl-chain-vertical-item.pure.js +1 -1
  118. package/pearl-chain-vertical.js +1 -1
  119. package/pearl-chain-vertical.pure.js +1 -1
  120. package/{pearl-chain.component-C6lcD7Xl.js → pearl-chain.component-DtGXXkY6.js} +26 -26
  121. package/pearl-chain.js +1 -1
  122. package/pearl-chain.pure.js +1 -1
  123. package/seat-reservation/common/mapper/mapper.js +1 -1
  124. package/seat-reservation/common/mapper.js +1 -1
  125. package/seat-reservation/common/svgs.js +1 -1
  126. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +91 -77
  127. package/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  128. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  129. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  130. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +2 -2
  131. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  132. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +2 -2
  133. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  134. package/{seat-reservation-area.component-BcmwKJSK.js → seat-reservation-area.component-G9lHb7S8.js} +16 -16
  135. package/{seat-reservation-graphic.component-C3wc4DKr.js → seat-reservation-graphic.component-BXFcQDxY.js} +20 -20
  136. package/seat-reservation-navigation-coach.component-BXy8EkJe.js +338 -0
  137. package/{seat-reservation-navigation-services.component-CfAQa7pa.js → seat-reservation-navigation-services.component-49XmV9rv.js} +21 -21
  138. package/{seat-reservation-place-control.component-DrzEDW8Z.js → seat-reservation-place-control.component-DToIW328.js} +70 -71
  139. package/{seat-reservation.component-RNI6_X71.js → seat-reservation.component--0XnrCkk.js} +78 -77
  140. package/seat-reservation.js +12 -12
  141. package/seat-reservation.pure.js +11 -11
  142. package/timetable-duration/timetable-duration.component.js +1 -1
  143. package/timetable-duration.component-iMCvh1zr.js +61 -0
  144. package/timetable-duration.js +1 -1
  145. package/timetable-duration.pure.js +1 -1
  146. package/timetable-row/timetable-row.component.js +1 -1
  147. package/{timetable-row.component-Din-TQ9u.js → timetable-row.component-mNKmhRmP.js} +89 -85
  148. package/timetable-row.js +1 -1
  149. package/timetable-row.pure.js +1 -1
  150. package/core/styles/core.scss +0 -13
  151. package/core/styles/theme.scss +0 -5
  152. package/development/date-helper-DGz-ztQM.js +0 -520
  153. package/development/journey-summary.component-De1ioDRq.js +0 -341
  154. package/development/pearl-chain.component-B83OsEx8.js +0 -312
  155. package/development/seat-reservation-navigation-coach.component-BwLbiHCG.js +0 -426
  156. package/development/seat-reservation.component-B-n0sIL5.js +0 -472
  157. package/development/timetable-duration.component-fBla8Kue.js +0 -96
  158. package/development/timetable-row.component-DSTGtQAC.js +0 -732
  159. package/seat-reservation-navigation-coach.component-D1SgS8BU.js +0 -328
  160. package/timetable-duration.component-DPRcG1LP.js +0 -61
  161. /package/{autocomplete-grid-cell.component-DAsWZlTn.js → autocomplete-grid-cell.component-79IjA__I.js} +0 -0
  162. /package/{autocomplete-grid-row.component-VbyYP0U-.js → autocomplete-grid-row.component-B3U15Rwa.js} +0 -0
  163. /package/{mapper-Cqie5ivY.js → mapper-Dcou8VEf.js} +0 -0
  164. /package/{pearl-chain-vertical.component-CDOWaup3.js → pearl-chain-vertical.component-Dc3vaHsQ.js} +0 -0
  165. /package/{seat-reservation-scoped.component-BohQUGVW.js → seat-reservation-scoped.component-D8dAmrP7.js} +0 -0
  166. /package/{svgs-D5DhLHxC.js → svgs-D4fuYTHV.js} +0 -0
  167. /package/{toDate-p-Tpkb7t.js → toDate-BhNUyM4s.js} +0 -0
@@ -1,6 +1,6 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { SbbButtonBaseElement, SbbLanguageController, forceType, screenReaderOnlyStyles } from "@sbb-esta/lyne-elements/core.js";
1
+ import { SbbButtonBaseElement, SbbLanguageController, forceType } from "@sbb-esta/lyne-elements/core.js";
3
2
  import { html, nothing, unsafeCSS } from "lit";
3
+ import { __esDecorate, __runInitializers } from "tslib";
4
4
  import { property } from "lit/decorators.js";
5
5
  import { styleMap } from "lit/directives/style-map.js";
6
6
  import { getI18nSeatReservation } from "./seat-reservation/common/translations.js";
@@ -9,6 +9,18 @@ import { SbbSeatReservationGraphicElement } from "./seat-reservation/seat-reserv
9
9
  var seat_reservation_place_control_default = ":host {\n --sbb-seat-reservation-place-control-text-scale-value: 1;\n --sbb-seat-reservation-place-control-width: 16;\n --sbb-seat-reservation-place-control-height: 16;\n --sbb-seat-reservation-place-control-top: 0;\n --sbb-seat-reservation-place-control-left: 0;\n --sbb-seat-reservation-place-control-rotation: 0;\n --sbb-seat-reservation-place-control-text-rotation: 0;\n --sbb-seat-reservation-place-control-text-size: calc(\n var(--sbb-seat-reservation-place-control-text-scale-value, 1) * 0.5\n );\n --sbb-seat-reservation-place-control-default-text: var(--sbb-color-black);\n --sbb-seat-reservation-place-control-default-text: light-dark(\n var(--sbb-color-black),\n var(--sbb-color-white)\n );\n --sbb-seat-reservation-place-control-hover-text: var(--sbb-color-iron);\n --sbb-seat-reservation-place-control-hover-text: light-dark(\n var(--sbb-color-iron),\n var(--sbb-color-silver)\n );\n --sbb-seat-reservation-place-control-focus-text: var(--sbb-color-anthracite);\n --sbb-seat-reservation-place-control-focus-text: light-dark(\n var(--sbb-color-anthracite),\n var(--sbb-color-graphite)\n );\n --sbb-seat-reservation-place-control-allocated-text: var(--sbb-color-smoke);\n --sbb-seat-reservation-place-control-allocated-text: light-dark(\n var(--sbb-color-smoke),\n var(--sbb-color-metal)\n );\n --sbb-seat-reservation-place-control-free-background-default: var(--sbb-background-color-2);\n --sbb-seat-reservation-place-control-free-background-hover: var(--sbb-color-cloud);\n --sbb-seat-reservation-place-control-free-background-hover: light-dark(\n var(--sbb-color-cloud),\n var(--sbb-color-midnight)\n );\n --sbb-seat-reservation-place-control-free-background-focus: var(--sbb-color-silver);\n --sbb-seat-reservation-place-control-free-background-focus: light-dark(\n var(--sbb-color-silver),\n var(--sbb-color-black)\n );\n --sbb-seat-reservation-place-control-free-backrest-background-default: var(--sbb-color-black);\n --sbb-seat-reservation-place-control-free-backrest-background-default: light-dark(\n var(--sbb-color-black),\n var(--sbb-color-white)\n );\n --sbb-seat-reservation-place-control-free-backrest-background-hover: var(--sbb-color-black);\n --sbb-seat-reservation-place-control-free-backrest-background-hover: light-dark(\n var(--sbb-color-black),\n var(--sbb-color-white)\n );\n --sbb-seat-reservation-place-control-free-backrest-background-focus: var(--sbb-color-black);\n --sbb-seat-reservation-place-control-free-backrest-background-focus: light-dark(\n var(--sbb-color-black),\n var(--sbb-color-white)\n );\n --sbb-seat-reservation-place-control-selected-background-default: var(--sbb-color-primary);\n --sbb-seat-reservation-place-control-selected-background-hover: var(--sbb-color-primary125);\n --sbb-seat-reservation-place-control-selected-background-focus: var(--sbb-color-primary150);\n --sbb-seat-reservation-place-control-selected-backrest-background-default: var(\n --sbb-color-primary150\n );\n --sbb-seat-reservation-place-control-selected-backrest-background-hover: #7d000f;\n --sbb-seat-reservation-place-control-selected-backrest-background-focus: #5a000b;\n --sbb-seat-reservation-place-control-allocated-background-default: var(--sbb-color-milk);\n --sbb-seat-reservation-place-control-allocated-background-default: light-dark(\n var(--sbb-color-milk),\n var(--sbb-color-midnight)\n );\n --sbb-seat-reservation-place-control-free-backrest-high-contrast: CanvasText;\n --sbb-seat-reservation-place-control-free-background-high-contrast: Canvas;\n --sbb-seat-reservation-place-control-free-text-high-contrast: ButtonText;\n --sbb-seat-reservation-place-control-free-icon-high-contrast: CanvasText;\n --sbb-seat-reservation-place-control-allocated-backrest-high-contrast: GrayText;\n --sbb-seat-reservation-place-control-allocated-background-high-contrast: Canvas;\n --sbb-seat-reservation-place-control-allocated-text-high-contrast: GrayText;\n --sbb-seat-reservation-place-control-allocated-icon-high-contrast: GrayText;\n width: calc(var(--sbb-seat-reservation-place-control-width) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n height: calc(var(--sbb-seat-reservation-place-control-height) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n position: absolute;\n inset-block-start: calc(var(--sbb-seat-reservation-place-control-top) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n inset-inline-start: calc(var(--sbb-seat-reservation-place-control-left) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n font-weight: 300;\n cursor: var(--sbb-cursor-pointer);\n}\n\n:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-hover);\n}\n:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-background-hover);\n}\n:host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-free-background-hover);\n color: var(--sbb-seat-reservation-place-control-free-text);\n}\n@media (forced-colors: active) {\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n }\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-icon) {\n fill: var(--sbb-seat-reservation-place-control-free-icon-high-contrast);\n }\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-seatline) {\n stroke: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n :host(:hover) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n forced-color-adjust: none;\n background-color: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n color: var(--sbb-seat-reservation-place-control-free-text-high-contrast);\n }\n}\n:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-selected-background-hover);\n}\n:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-selected-backrest-background-hover);\n}\n:host(:hover) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-selected-background-hover);\n color: var(--sbb-seat-reservation-place-control-selected-text);\n}\n\n:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-focus);\n}\n:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-background-focus);\n}\n:host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-free-background-focus);\n color: var(--sbb-seat-reservation-place-control-free-text);\n}\n@media (forced-colors: active) {\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n }\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-icon) {\n fill: var(--sbb-seat-reservation-place-control-free-icon-high-contrast);\n }\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) ::part(svg-seatline) {\n stroke: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n :host(:focus-visible) .sbb-sr-place-ctrl--state-free:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n forced-color-adjust: none;\n background-color: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n color: var(--sbb-seat-reservation-place-control-free-text-high-contrast);\n }\n}\n\n:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-selected-background-focus);\n}\n:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-selected-backrest-background-focus);\n}\n:host(:active) .sbb-sr-place-ctrl--state-selected:not(.sbb-reservation-place-control--disabled) .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-selected-background-focus);\n color: var(--sbb-seat-reservation-place-control-selected-text);\n}\n\n:host(:dir(rtl)) :not(.sbb-sr-place-ctrl--type-bicycle,\n.sbb-sr-place-ctrl--orientation-90,\n.sbb-sr-place-ctrl--orientation-270,\n.sbb-sr-place-ctrl--state-selected) ::part(svg-place) {\n rotate: calc(180 * 1deg);\n}\n\n.sbb-sr-place-ctrl {\n width: max-content;\n position: relative;\n font-size: calc(var(--sbb-seat-reservation-place-control-text-size) * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n}\n.sbb-sr-place-ctrl--state-free ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-default);\n}\n.sbb-sr-place-ctrl--state-free ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-background-default);\n}\n.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-free-background-default);\n color: var(--sbb-seat-reservation-place-control-free-text);\n}\n@media (forced-colors: active) {\n .sbb-sr-place-ctrl--state-free ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n }\n .sbb-sr-place-ctrl--state-free ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n .sbb-sr-place-ctrl--state-free ::part(svg-icon) {\n fill: var(--sbb-seat-reservation-place-control-free-icon-high-contrast);\n }\n .sbb-sr-place-ctrl--state-free ::part(svg-seatline) {\n stroke: var(--sbb-seat-reservation-place-control-free-backrest-high-contrast);\n }\n .sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text {\n forced-color-adjust: none;\n background-color: var(--sbb-seat-reservation-place-control-free-background-high-contrast);\n color: var(--sbb-seat-reservation-place-control-free-text-high-contrast);\n }\n}\n.sbb-sr-place-ctrl--state-selected ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-selected-background-default);\n}\n.sbb-sr-place-ctrl--state-selected ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-selected-backrest-background-default);\n}\n.sbb-sr-place-ctrl--state-selected .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-selected-background-default);\n color: var(--sbb-seat-reservation-place-control-selected-text);\n}\n.sbb-sr-place-ctrl--state-allocated ::part(svg-place), .sbb-sr-place-ctrl--state-restricted ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-allocated-background-default);\n}\n.sbb-sr-place-ctrl--state-allocated ::part(svg-backrest), .sbb-sr-place-ctrl--state-restricted ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-allocated-backrest-background-default);\n}\n.sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text, .sbb-sr-place-ctrl--state-restricted .sbb-sr-place-ctrl__text {\n background-color: var(--sbb-seat-reservation-place-control-allocated-background-default);\n color: var(--sbb-seat-reservation-place-control-allocated-text);\n}\n@media (forced-colors: active) {\n .sbb-sr-place-ctrl--state-allocated ::part(svg-place), .sbb-sr-place-ctrl--state-restricted ::part(svg-place) {\n fill: var(--sbb-seat-reservation-place-control-allocated-background-high-contrast);\n }\n .sbb-sr-place-ctrl--state-allocated ::part(svg-backrest), .sbb-sr-place-ctrl--state-restricted ::part(svg-backrest) {\n fill: var(--sbb-seat-reservation-place-control-allocated-backrest-high-contrast);\n }\n .sbb-sr-place-ctrl--state-allocated ::part(svg-icon), .sbb-sr-place-ctrl--state-restricted ::part(svg-icon) {\n fill: var(--sbb-seat-reservation-place-control-allocated-icon-high-contrast);\n }\n .sbb-sr-place-ctrl--state-allocated ::part(svg-seatline), .sbb-sr-place-ctrl--state-restricted ::part(svg-seatline) {\n stroke: var(--sbb-seat-reservation-place-control-allocated-backrest-high-contrast);\n }\n .sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text, .sbb-sr-place-ctrl--state-restricted .sbb-sr-place-ctrl__text {\n forced-color-adjust: none;\n background-color: var(--sbb-seat-reservation-place-control-allocated-background-high-contrast);\n color: var(--sbb-seat-reservation-place-control-allocated-text-high-contrast);\n }\n}\n.sbb-sr-place-ctrl--state-allocated, .sbb-sr-place-ctrl--state-restricted {\n cursor: not-allowed;\n}\n.sbb-sr-place-ctrl__text {\n overflow: hidden;\n display: none;\n position: absolute;\n inset-block-start: 50%;\n translate: -50% -50%;\n rotate: calc(var(--sbb-seat-reservation-place-control-text-rotation) * 1deg);\n font-family: var(--sbb-typo-font-family);\n font-size: 0.75em;\n line-height: initial;\n}\n.sbb-sr-place-ctrl--state-free .sbb-sr-place-ctrl__text, .sbb-sr-place-ctrl--state-allocated .sbb-sr-place-ctrl__text {\n display: block;\n}\n.sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text {\n inset-block-start: 65%;\n inset-inline-start: 50%;\n transform-origin: center 16%;\n font-size: 0.6875em;\n}\n.sbb-sr-place-ctrl--orientation-0.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text {\n inset-inline-start: 45%;\n}\n.sbb-sr-place-ctrl--orientation-90.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text {\n inset-block-start: 46%;\n inset-inline-start: 50%;\n}\n.sbb-sr-place-ctrl--orientation-180.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text {\n inset-inline-start: 55%;\n}\n.sbb-sr-place-ctrl--orientation-270.sbb-sr-place-ctrl--type-seat .sbb-sr-place-ctrl__text {\n inset-block-start: 52%;\n inset-inline-start: 52%;\n}\n\n:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-0 .sbb-sr-place-ctrl__text {\n inset-inline-start: 3%;\n}\n:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-90 .sbb-sr-place-ctrl__text, :host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-180 .sbb-sr-place-ctrl__text {\n inset-inline-start: 10%;\n}\n:host(:dir(rtl)) .sbb-sr-place-ctrl--orientation-270 .sbb-sr-place-ctrl__text {\n inset-inline-start: 5%;\n}\n:host(:dir(rtl)) .sbb-sr-place-ctrl--type-bicycle .sbb-sr-place-ctrl__text {\n inset-inline-start: -10%;\n}";
10
10
  //#endregion
11
11
  //#region src/elements-experimental/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.ts
12
+ var SbbPlaceSelectionEvent = class extends Event {
13
+ get detail() {
14
+ return this._detail;
15
+ }
16
+ constructor(detail) {
17
+ super("selectplace", {
18
+ bubbles: true,
19
+ composed: true
20
+ });
21
+ this._detail = detail;
22
+ }
23
+ };
12
24
  /**
13
25
  * Output the graphic of a seat or a bicycle place as a control element.
14
26
  */
@@ -229,7 +241,7 @@ var SbbSeatReservationPlaceControlElement = (() => {
229
241
  this.elementDependencies = [SbbSeatReservationGraphicElement];
230
242
  }
231
243
  static {
232
- this.styles = [screenReaderOnlyStyles, unsafeCSS(seat_reservation_place_control_default)];
244
+ this.styles = [unsafeCSS(seat_reservation_place_control_default)];
233
245
  }
234
246
  static {
235
247
  this.events = { selectplace: "selectplace" };
@@ -326,8 +338,7 @@ var SbbSeatReservationPlaceControlElement = (() => {
326
338
  this.#preventClick_accessor_storage = (__runInitializers(this, _coachIndex_extraInitializers), __runInitializers(this, _preventClick_initializers, false));
327
339
  this.#keyfocus_accessor_storage = (__runInitializers(this, _preventClick_extraInitializers), __runInitializers(this, _keyfocus_initializers, "unfocus"));
328
340
  this.#showTitleInfo_accessor_storage = (__runInitializers(this, _keyfocus_extraInitializers), __runInitializers(this, _showTitleInfo_initializers, false));
329
- this._optionalScreenreaderInfo = (__runInitializers(this, _showTitleInfo_extraInitializers), "");
330
- this._language = new SbbLanguageController(this);
341
+ this._language = (__runInitializers(this, _showTitleInfo_extraInitializers), new SbbLanguageController(this));
331
342
  this.addEventListener("click", () => this._selectPlace());
332
343
  }
333
344
  willUpdate(changedProperties) {
@@ -335,9 +346,6 @@ var SbbSeatReservationPlaceControlElement = (() => {
335
346
  if (changedProperties.has("keyfocus")) {
336
347
  if (this.keyfocus === "focus") this.focus();
337
348
  }
338
- if (changedProperties.has("showTitleInfo")) {
339
- if (!this.showTitleInfo) this.title = "";
340
- }
341
349
  }
342
350
  render() {
343
351
  const name = this._getPlaceSvg(this.placeType, this.state);
@@ -350,32 +358,31 @@ var SbbSeatReservationPlaceControlElement = (() => {
350
358
  const textRotation = this.style?.getPropertyValue("--sbb-seat-reservation-place-control-text-rotation");
351
359
  const inverseRotationPlaceCheckIcon = Number(textRotation) - Number(rotation);
352
360
  const disabledClass = this.preventClick ? "sbb-reservation-place-control--disabled" : null;
353
- if (this.showTitleInfo) this.title = this._getTitleDescriptionPlace(rotation);
354
- else this._optionalScreenreaderInfo = this._getTitleDescriptionPlace(rotation);
361
+ const placeDescription = this._getTitleDescriptionPlace(rotation);
362
+ if (this.showTitleInfo) {
363
+ this.title = placeDescription;
364
+ this.internals.ariaLabel = null;
365
+ } else {
366
+ this.internals.ariaLabel = placeDescription;
367
+ this.removeAttribute("title");
368
+ }
355
369
  this.tabIndex = -1;
356
- return html`
357
- <div
358
- part="sbb-sr-place-part"
359
- class="sbb-sr-place-ctrl sbb-sr-place-ctrl--orientation-${rotation} sbb-sr-place-ctrl--state-${state} sbb-sr-place-ctrl--type-${type} ${disabledClass}"
360
- >
361
- <sbb-seat-reservation-graphic
362
- style=${styleMap({
370
+ return html` <div
371
+ part="sbb-sr-place-part"
372
+ class="sbb-sr-place-ctrl sbb-sr-place-ctrl--orientation-${rotation} sbb-sr-place-ctrl--state-${state} sbb-sr-place-ctrl--type-${type} ${disabledClass}"
373
+ aria-hidden="true"
374
+ >
375
+ <sbb-seat-reservation-graphic
376
+ style=${styleMap({
363
377
  "--sbb-seat-reservation-graphic-width": width,
364
378
  "--sbb-seat-reservation-graphic-height": height,
365
379
  "--sbb-seat-reservation-graphic-rotation": rotation,
366
380
  "--sbb-seat-reservation-graphic-inverse-rotation": inverseRotationPlaceCheckIcon
367
381
  })}
368
- .name=${name}
369
- aria-hidden="true"
370
- ></sbb-seat-reservation-graphic>
371
- <span ${this.text ?? nothing} class="sbb-sr-place-ctrl__text" aria-hidden="true"
372
- >${text}</span
373
- >
374
- ${!this.showTitleInfo ? html`<span class="sbb-screen-reader-only" id="${this.id}"
375
- >${this._optionalScreenreaderInfo}</span
376
- >` : nothing}
377
- </div>
378
- `;
382
+ .name=${name}
383
+ ></sbb-seat-reservation-graphic>
384
+ <span ${this.text ?? nothing} class="sbb-sr-place-ctrl__text">${text} </span>
385
+ </div>`;
379
386
  }
380
387
  _getPlaceSvg(type, state) {
381
388
  return `PLACE_${type}_${state}`;
@@ -400,7 +407,7 @@ var SbbSeatReservationPlaceControlElement = (() => {
400
407
  _selectPlace() {
401
408
  if ((this.state === "FREE" || this.state === "SELECTED") && !this.preventClick) {
402
409
  this.state = this.state === "FREE" ? "SELECTED" : "FREE";
403
- const placeSelection = {
410
+ const selectplace = {
404
411
  id: this.id,
405
412
  deckIndex: this.deckIndex,
406
413
  coachIndex: this.coachIndex,
@@ -409,20 +416,16 @@ var SbbSeatReservationPlaceControlElement = (() => {
409
416
  placeType: this.placeType
410
417
  };
411
418
  /**
412
- * @type {CustomEvent<PlaceSelection>}
419
+ * @type {SbbPlaceSelectionEvent}
413
420
  * Emits when a place was selected via user interaction and returns a
414
421
  * PlaceSelection object with necessary place information.
415
422
  */
416
- this.dispatchEvent(new CustomEvent("selectplace", {
417
- detail: placeSelection,
418
- bubbles: true,
419
- composed: true
420
- }));
423
+ this.dispatchEvent(new SbbPlaceSelectionEvent(selectplace));
421
424
  }
422
425
  }
423
426
  };
424
427
  })();
425
428
  //#endregion
426
- export { SbbSeatReservationPlaceControlElement as t };
429
+ export { SbbSeatReservationPlaceControlElement as n, SbbPlaceSelectionEvent as t };
427
430
 
428
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLmNvbXBvbmVudC1CZnVPR1pZcS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sL3NlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wvc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcycgYXMgc2JiO1xuQHVzZSAnLi4vY29tbW9uL3N0eWxlcy9zZWF0LXJlc2VydmF0aW9uLW1peGlucycgYXMgc2JiLXNyLW1peGlucztcbkB1c2UgJy4uL2NvbW1vbi9zdHlsZXMvc2VhdC1yZXNlcnZhdGlvbi1mdW5jdGlvbnMnIGFzIHNiYi1zci1mdW5jdGlvbnM7XG5cbi8vIERlcGVuZHMgb24gdGhlIHBsYWNlIHN0YXRlIGFuZCBjdXJyZW50IGV2ZW50IChob3Zlcnxmb2N1cyksIHRoZSBiYWNrZ3JvdW5kIGFuZCBmaWxsIGNvbG9ycyBvZiB0aGUgcGxhY2UsXG4vLyBiYWNrcmVzdCBvZiBwbGFjZSBhbmQgdGhlIHRleHQgY29sb3IgYXJlIGhhbmRsZWQgYnkgY29sb3JpemVQbGFjZSBmdW5jdGlvbi5cbkBtaXhpbiBjb2xvcml6ZVBsYWNlKCRzdGF0ZSwgJGV2ZW50KSB7XG4gIDo6cGFydChzdmctcGxhY2UpIHtcbiAgICBmaWxsOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrZ3JvdW5kLSN7JGV2ZW50fSk7XG4gIH1cblxuICA6OnBhcnQoc3ZnLWJhY2tyZXN0KSB7XG4gICAgZmlsbDogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja3Jlc3QtYmFja2dyb3VuZC0jeyRldmVudH0pO1xuICB9XG5cbiAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAvLyBkb250IHVzZSB0cmFuc3BhcmVudCBvciByZW1vdmUgYmFja2dyb3VuZCwgb3RoZXJ3aXNlIHRoZXJlIGFyZSBhMTF5IHZpb2xhdGlvbnMgcmVnYXJkaW5nXG4gICAgLy8gaW5zdWZmaWNpZW50IGNvbG9yIGNvbnRyYXN0XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja2dyb3VuZC0jeyRldmVudH0pO1xuICAgIGNvbG9yOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS10ZXh0KTtcbiAgfVxuXG4gIEBpZiAkc3RhdGUgIT0gJ3NlbGVjdGVkJyB7XG4gICAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgICAgOjpwYXJ0KHN2Zy1wbGFjZSkge1xuICAgICAgICBmaWxsOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrZ3JvdW5kLWhpZ2gtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICA6OnBhcnQoc3ZnLWJhY2tyZXN0KSB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtI3skc3RhdGV9LWJhY2tyZXN0LWhpZ2gtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICA6OnBhcnQoc3ZnLWljb24pIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0taWNvbi1oaWdoLWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgOjpwYXJ0KHN2Zy1zZWF0bGluZSkge1xuICAgICAgICBzdHJva2U6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtI3skc3RhdGV9LWJhY2tyZXN0LWhpZ2gtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQge1xuICAgICAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgICAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrZ3JvdW5kLWhpZ2gtY29udHJhc3RcbiAgICAgICAgKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtI3skc3RhdGV9LXRleHQtaGlnaC1jb250cmFzdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiRkaXNhYmxlZDogJy5zYmItcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0tZGlzYWJsZWQnO1xuXG46aG9zdCB7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXNjYWxlLXZhbHVlOiAxO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtd2lkdGg6IDE2O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtaGVpZ2h0OiAxNjtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXRvcDogMDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWxlZnQ6IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1yb3RhdGlvbjogMDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXRleHQtcm90YXRpb246IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXNpemU6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXNjYWxlLXZhbHVlLCAxKSAqIDAuNVxuICApO1xuXG4gIC8vIENvbG9yIGRlZmluaXRpb24gZm9yIHRleHRcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWRlZmF1bHQtdGV4dDogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItYmxhY2spLFxuICAgIHZhcigtLXNiYi1jb2xvci13aGl0ZSlcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWhvdmVyLXRleHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWlyb24pLFxuICAgIHZhcigtLXNiYi1jb2xvci1zaWx2ZXIpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mb2N1cy10ZXh0OiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1hbnRocmFjaXRlKSxcbiAgICB2YXIoLS1zYmItY29sb3ItZ3JhcGhpdGUpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtdGV4dDogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3Itc21va2UpLFxuICAgIHZhcigtLXNiYi1jb2xvci1tZXRhbClcbiAgKTtcblxuICAvLyBDb2xvciBiYWNrZ3JvdW5kIGRlZmluaXRpb24gZm9yIHBsYWNlIHdpdGggc3RhdGUgRlJFRVxuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrZ3JvdW5kLWRlZmF1bHQ6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTIpO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrZ3JvdW5kLWhvdmVyOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1jbG91ZCksXG4gICAgdmFyKC0tc2JiLWNvbG9yLW1pZG5pZ2h0KVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrZ3JvdW5kLWZvY3VzOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1zaWx2ZXIpLFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjaylcbiAgKTtcblxuICAvLyBDb2xvciBiYWNrZ3JvdW5kIGRlZmluaXRpb24gZm9yIGJhY2tyZXN0IHdpdGggc3RhdGUgRlJFRVxuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrcmVzdC1iYWNrZ3JvdW5kLWRlZmF1bHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWJhY2tyZXN0LWJhY2tncm91bmQtaG92ZXI6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWJhY2tyZXN0LWJhY2tncm91bmQtZm9jdXM6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG5cbiAgLy8gQ29sb3IgYmFja2dyb3VuZCBkZWZpbml0aW9uIGZvciBwbGFjZSB3aXRoIHN0YXRlIFNFTEVDVEVEXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRlZmF1bHQ6IHZhcigtLXNiYi1jb2xvci1wcmltYXJ5KTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXNlbGVjdGVkLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLXNiYi1jb2xvci1wcmltYXJ5MTI1KTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXNlbGVjdGVkLWJhY2tncm91bmQtZm9jdXM6IHZhcigtLXNiYi1jb2xvci1wcmltYXJ5MTUwKTtcblxuICAvLyBDb2xvciBiYWNrZ3JvdW5kIGRlZmluaXRpb24gZm9yIGJhY2tyZXN0IHdpdGggc3RhdGUgU0VMRUNURURcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXNlbGVjdGVkLWJhY2tyZXN0LWJhY2tncm91bmQtZGVmYXVsdDogdmFyKFxuICAgIC0tc2JiLWNvbG9yLXByaW1hcnkxNTBcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXNlbGVjdGVkLWJhY2tyZXN0LWJhY2tncm91bmQtaG92ZXI6ICM3ZDAwMGY7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrcmVzdC1iYWNrZ3JvdW5kLWZvY3VzOiAjNWEwMDBiO1xuXG4gIC8vIENvbG9yIGJhY2tncm91bmQgZGVmaW5pdGlvbiBmb3IgcGxhY2Ugd2l0aCBzdGF0ZSBBTExPQ0FURURcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC1iYWNrZ3JvdW5kLWRlZmF1bHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLW1pbGspLFxuICAgIHZhcigtLXNiYi1jb2xvci1taWRuaWdodClcbiAgKTtcblxuICAvLyBDb2xvciBkZWZpbml0aW9ucyBmb3IgaGlnaCBjb250cmFzdCBtb2RlXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWJhY2tyZXN0LWhpZ2gtY29udHJhc3Q6IENhbnZhc1RleHQ7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWJhY2tncm91bmQtaGlnaC1jb250cmFzdDogQ2FudmFzO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS10ZXh0LWhpZ2gtY29udHJhc3Q6IEJ1dHRvblRleHQ7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1mcmVlLWljb24taGlnaC1jb250cmFzdDogQ2FudmFzVGV4dDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC1iYWNrcmVzdC1oaWdoLWNvbnRyYXN0OiBHcmF5VGV4dDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC1iYWNrZ3JvdW5kLWhpZ2gtY29udHJhc3Q6IENhbnZhcztcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC10ZXh0LWhpZ2gtY29udHJhc3Q6IEdyYXlUZXh0O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtYWxsb2NhdGVkLWljb24taGlnaC1jb250cmFzdDogR3JheVRleHQ7XG5cbiAgd2lkdGg6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtd2lkdGgpKTtcbiAgaGVpZ2h0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWhlaWdodCkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXRvcCkpO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtbGVmdCkpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItcG9pbnRlcik7XG59XG5cbjpob3N0KDpob3Zlcikge1xuICAuc2JiLXNyLXBsYWNlLWN0cmwge1xuICAgICYtLXN0YXRlLWZyZWU6bm90KCN7JGRpc2FibGVkfSkge1xuICAgICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnZnJlZScsICdob3ZlcicpO1xuICAgIH1cblxuICAgICYtLXN0YXRlLXNlbGVjdGVkOm5vdCgjeyRkaXNhYmxlZH0pIHtcbiAgICAgIEBpbmNsdWRlIGNvbG9yaXplUGxhY2UoJ3NlbGVjdGVkJywgJ2hvdmVyJyk7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KDpmb2N1cy12aXNpYmxlKSB7XG4gIC5zYmItc3ItcGxhY2UtY3RybCB7XG4gICAgJi0tc3RhdGUtZnJlZTpub3QoI3skZGlzYWJsZWR9KSB7XG4gICAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdmcmVlJywgJ2ZvY3VzJyk7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KDphY3RpdmUpIHtcbiAgLnNiYi1zci1wbGFjZS1jdHJsIHtcbiAgICAmLS1zdGF0ZS1zZWxlY3RlZDpub3QoI3skZGlzYWJsZWR9KSB7XG4gICAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdzZWxlY3RlZCcsICdmb2N1cycpO1xuICAgIH1cbiAgfVxufVxuXG4vLyByb3RhdGVzIHRoZSBET00tcGFydCBcInN2Zy1wbGFjZVwiIGJ5IDE4MCBkZWdyZWVzIGlmIHRoZSBob3N0IGlzIGluIFJUTCBtb2RlLlxuQGluY2x1ZGUgc2JiLXNyLW1peGlucy5yb3RhdGUtZG9tLXBhcnQoc3ZnLXBsYWNlKTtcblxuLnNiYi1zci1wbGFjZS1jdHJsIHtcbiAgJHJvb3Q6ICY7XG5cbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0odmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXNpemUpKTtcblxuICAmLS1zdGF0ZS1mcmVlIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdmcmVlJywgJ2RlZmF1bHQnKTtcbiAgfVxuXG4gICYtLXN0YXRlLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdzZWxlY3RlZCcsICdkZWZhdWx0Jyk7XG4gIH1cblxuICAmLS1zdGF0ZS1hbGxvY2F0ZWQsXG4gICYtLXN0YXRlLXJlc3RyaWN0ZWQge1xuICAgIEBpbmNsdWRlIGNvbG9yaXplUGxhY2UoJ2FsbG9jYXRlZCcsICdkZWZhdWx0Jyk7XG5cbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldC1ibG9jay1zdGFydDogNTAlO1xuICAgIHRyYW5zbGF0ZTogLTUwJSAtNTAlO1xuICAgIHJvdGF0ZTogY2FsYyh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXRleHQtcm90YXRpb24pICogMWRlZyk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNiYi10eXBvLWZvbnQtZmFtaWx5KTtcblxuICAgIC8vIGRvbnQgdXNlIHNiYi5weC10by1yZW0gb3IgLS1zYmItdHlwby1zY2FsZS0wLTc1eDsgd2Ugd2FudCBcImVtXCIgaW4gdGhpcyBjYXNlIVxuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuXG4gICAgI3skcm9vdH0tLXN0YXRlLWZyZWUgJixcbiAgICAjeyRyb290fS0tc3RhdGUtYWxsb2NhdGVkICYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgI3skcm9vdH0tLXR5cGUtYmljeWNsZSAmIHtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiA2NSU7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUwJTtcblxuICAgICAgLy8gV2UgbmVlZCB0byBhZGp1c3QgdHJhbnNmb3JtIG9yaWdpbiBwb2ludCBmb3IgYmljeWNsZSBwbGFjZXMgdGV4dCAobmVjZXNzYXJ5IGZvciByb3RhdGlvbiksXG4gICAgICAvLyBiZWNhdXNlIHRoZSBwb3NpdGlvbiBvZiBwbGFjZSBudW1iZXIgaXMgbm90IGNlbnRlcmVkIGluIHRoZSBwbGFjZSBhcmVhLlxuICAgICAgLy8gVGhlIHZhbHVlIDE2JSBpcyB0aGUgb3B0aW1hbCB2YWx1ZSBmb3IgdGhlIHJvdGF0aW9uIG9mZnNldCBvbiB0aGUgb3JpZ2luIHktYXhpcy5cbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciAxNiU7XG5cbiAgICAgIC8vIHVzZSBhIHNtYWxsZXIgZm9udC1zaXplIHRvIGF2b2lkIGExMXkgdmlvbGF0aW9uXG4gICAgICBmb250LXNpemU6IDAuNjg3NWVtO1xuICAgIH1cblxuICAgIC8vIERlcGVuZGluZyBvbiB0aGUgcGxhY2Ugb3JpZW50YXRpb24sIG1pbm9yIHBvc2l0aW9uaW5nIGFkanVzdG1lbnRzIG1heSBuZWVkIHRvIGJlIG1hZGUgdG8gY2VudGVyIHRoZSB0ZXh0LFxuICAgIC8vIGJlY2F1c2Ugb2YgdGhlIHdpZHRoIG9mIHRoZSBTVkcgd2hpY2ggaXMgbm90IHNxdWFyZVxuICAgICN7JHJvb3R9LS1vcmllbnRhdGlvbi0wI3skcm9vdH0tLXR5cGUtc2VhdCAmIHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogNDUlO1xuICAgIH1cblxuICAgICN7JHJvb3R9LS1vcmllbnRhdGlvbi05MCN7JHJvb3R9LS10eXBlLXNlYXQgJiB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogNDYlO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1MCU7XG4gICAgfVxuXG4gICAgI3skcm9vdH0tLW9yaWVudGF0aW9uLTE4MCN7JHJvb3R9LS10eXBlLXNlYXQgJiB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDU1JTtcbiAgICB9XG5cbiAgICAjeyRyb290fS0tb3JpZW50YXRpb24tMjcwI3skcm9vdH0tLXR5cGUtc2VhdCAmIHtcbiAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiA1MiU7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUyJTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoOmRpcihydGwpKSB7XG4gIC8vIEZvciBSVEwsIHdlIG5lZWQgdG8gYWRqdXN0IHRoZSB0ZXh0IHBvc2l0aW9uIHRvIHRoZSByaWdodCBzaWRlXG4gIC5zYmItc3ItcGxhY2UtY3RybCB7XG4gICAgJi0tb3JpZW50YXRpb24tMCAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAzJTtcbiAgICB9XG5cbiAgICAmLS1vcmllbnRhdGlvbi05MCAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQsXG4gICAgJi0tb3JpZW50YXRpb24tMTgwIC5zYmItc3ItcGxhY2UtY3RybF9fdGV4dCB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDEwJTtcbiAgICB9XG5cbiAgICAmLS1vcmllbnRhdGlvbi0yNzAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogNSU7XG4gICAgfVxuXG4gICAgJi0tdHlwZS1iaWN5Y2xlIC5zYmItc3ItcGxhY2UtY3RybF9fdGV4dCB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IC0xMCU7XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQge1xuICBmb3JjZVR5cGUsXG4gIFNiYkJ1dHRvbkJhc2VFbGVtZW50LFxuICB0eXBlIFNiYkVsZW1lbnRUeXBlLFxuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG4gIHNjcmVlblJlYWRlck9ubHlTdHlsZXMsXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBzdHlsZU1hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3N0eWxlLW1hcC5qcyc7XG5cbmltcG9ydCB7IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24gfSBmcm9tICcuLi9jb21tb24vdHJhbnNsYXRpb25zLnRzJztcbmltcG9ydCB0eXBlIHsgUGxhY2VTZWxlY3Rpb24sIFBsYWNlU3RhdGUsIFBsYWNlVHlwZSwgVHJhdmVsRGlyZWN0aW9uIH0gZnJvbSAnLi4vY29tbW9uL3R5cGVzLnRzJztcbmltcG9ydCB7IFNiYlNlYXRSZXNlcnZhdGlvbkdyYXBoaWNFbGVtZW50IH0gZnJvbSAnLi4vc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljL3NlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wuc2Nzcz9pbmxpbmUnO1xuXG50eXBlIFRyYXZlbERpcmVjdGlvbkkxOG5LZXkgPVxuICB8ICdUUkFWRUxfRElSRUNUSU9OX0lOX0RJUkVDVElPTidcbiAgfCAnVFJBVkVMX0RJUkVDVElPTl9JTl9PUFBPU0lURV9ESVJFQ1RJT04nXG4gIHwgJ1RSQVZFTF9ESVJFQ1RJT05fVFJBTlNWRVJTRUxZJztcblxuLyoqXG4gKiBPdXRwdXQgdGhlIGdyYXBoaWMgb2YgYSBzZWF0IG9yIGEgYmljeWNsZSBwbGFjZSBhcyBhIGNvbnRyb2wgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlNlYXRSZXNlcnZhdGlvblBsYWNlQ29udHJvbEVsZW1lbnQgZXh0ZW5kcyBTYmJCdXR0b25CYXNlRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBlbGVtZW50RGVwZW5kZW5jaWVzOiBTYmJFbGVtZW50VHlwZVtdID0gW1NiYlNlYXRSZXNlcnZhdGlvbkdyYXBoaWNFbGVtZW50XTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3NjcmVlblJlYWRlck9ubHlTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBzZWxlY3RwbGFjZTogJ3NlbGVjdHBsYWNlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogcGxhY2VUeXBlIG9mIHRoZSBwbGFjZSwgZS5nLiAnU0VBVCcsICdCSUNZQ0xFJyAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndHlwZScgfSlcbiAgcHVibGljIGFjY2Vzc29yIHBsYWNlVHlwZTogUGxhY2VUeXBlID0gJ1NFQVQnO1xuXG4gIC8qKiBzdGF0ZSBvZiB0aGUgcGxhY2UsIGUuZy4gJ0ZSRUUnLCAnU0VMRUNURUQnLCAnQkxPQ0tFRCcgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3N0YXRlJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc3RhdGU6IFBsYWNlU3RhdGUgPSAnRlJFRSc7XG5cbiAgLyoqIGRpcmVjdGlvbiBvZiBhIHdob2xlIHRyYWluLCB1c2VkIHRvIGNvbXB1dGUgYW4gb3JpZW50YXRpb24gb2YgYSBwbGFjZSAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0cmF2ZWwtZGlyZWN0aW9uJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgdHJhdmVsRGlyZWN0aW9uOiBUcmF2ZWxEaXJlY3Rpb24gPSAnTk9ORSc7XG5cbiAgLyoqIHByb3BlcnR5IGlkcyBvZiB0aGUgcGxhY2UsIHRvIGRpc3BsYXkgbW9yZSBpbmZvIGFib3V0IHRoZSBwbGFjZSAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwcm9wZXJ0eUlkcycsIHR5cGU6IEFycmF5IH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBwcm9wZXJ0eUlkczogc3RyaW5nW10gPSBbXTtcblxuICAvKiogbGFiZWwgb2YgdGhlIHBsYWNlLCBlLmcuICcxQScsICcyQicgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RleHQnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0ZXh0OiBzdHJpbmcgPSAnJztcblxuICAvKiogRGVjayBJbmRleCBQcm9wIHRvIGlkZW50aWZpZXIgdGhlIHJpZ2h0IHBsYWNlIHRvIGRlY2sgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2RlY2staW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGRlY2tJbmRleDogbnVtYmVyID0gbnVsbCE7XG5cbiAgLyoqIENvYWNoIEluZGV4IFByb3AgdG8gaWRlbnRpZmllciB0aGUgcmlnaHQgcGxhY2UgdG8gY29hY2ggKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2NvYWNoLWluZGV4JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBjb2FjaEluZGV4OiBudW1iZXIgPSBudWxsITtcblxuICAvKiogUHJldmVudCBjbGljayBwcm9wIHByZXZlbnQgYW55IHBsYWNlIGFjdGlvbiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncHJldmVudC1jbGljaycsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIHByZXZlbnRDbGljazogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTZXQgdGhlIHBsYWNlIGZvY3VzIG91dGxpbmUgc3R5bGUgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2tleWZvY3VzJyB9KVxuICBwdWJsaWMgYWNjZXNzb3Iga2V5Zm9jdXM6IHN0cmluZyA9ICd1bmZvY3VzJztcblxuICAvKiogRGlzYWJsZSB0aGUgbW91c2Ugb3ZlciB0aXRsZSBpbmZvcm1hdGlvbiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgdXNlRGVmYXVsdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igc2hvd1RpdGxlSW5mbzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX29wdGlvbmFsU2NyZWVucmVhZGVySW5mbzogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLl9zZWxlY3RQbGFjZSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygna2V5Zm9jdXMnKSkge1xuICAgICAgaWYgKHRoaXMua2V5Zm9jdXMgPT09ICdmb2N1cycpIHtcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGlmIHRpdGxlIHdhcyBzaG93biBvbmNlLCB3ZSBjYW5ub3QgdW5zZXQgaXQgY29tcGxldGVseSwgYnV0IHRoaXNcbiAgICAvLyBiZWhhdmlvciBzaG91bGQgbm90IGhhcHBlbiB2ZXJ5IG9mdGVuIGFzIHRoZSB0aXRsZSBzaG91bGRcbiAgICAvLyBub3Qgc3dpdGNoIGZyb20gb24gdG8gb2ZmIGFuZCBvbiBhZ2FpblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3Nob3dUaXRsZUluZm8nKSkge1xuICAgICAgaWYgKCF0aGlzLnNob3dUaXRsZUluZm8pIHtcbiAgICAgICAgdGhpcy50aXRsZSA9ICcnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IG5hbWU6IHN0cmluZyA9IHRoaXMuX2dldFBsYWNlU3ZnKHRoaXMucGxhY2VUeXBlLCB0aGlzLnN0YXRlKTtcbiAgICBjb25zdCB0eXBlOiBzdHJpbmcgPSB0aGlzLnR5cGUudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBzdGF0ZTogc3RyaW5nID0gdGhpcy5zdGF0ZS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHRleHQ6IHN0cmluZyB8IG51bGwgPSB0aGlzLnRleHQ7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtd2lkdGgnKTtcbiAgICBjb25zdCBoZWlnaHQgPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtaGVpZ2h0Jyk7XG4gICAgY29uc3Qgcm90YXRpb24gPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtcm90YXRpb24nKTtcbiAgICBjb25zdCB0ZXh0Um90YXRpb24gPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKFxuICAgICAgJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXJvdGF0aW9uJyxcbiAgICApO1xuICAgIGNvbnN0IGludmVyc2VSb3RhdGlvblBsYWNlQ2hlY2tJY29uID0gTnVtYmVyKHRleHRSb3RhdGlvbikgLSBOdW1iZXIocm90YXRpb24pO1xuICAgIGNvbnN0IGRpc2FibGVkQ2xhc3MgPSB0aGlzLnByZXZlbnRDbGljayA/ICdzYmItcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0tZGlzYWJsZWQnIDogbnVsbDtcblxuICAgIC8vIG9ubHkgc2V0IHRpdGxlIHRvIHRoZSBTYmJCdXR0b25CYXNlRWxlbWVudCBpZiByZXF1ZXN0ZWQ7IG90aGVyd2lzZSBwcm92aWRlIHRoZSB0aXRsZVxuICAgIC8vIGluZm9ybWF0aW9uIHRvIHNjcmVlbiByZWFkZXJzIHZpYSBhbiBhZGRpdGlvbmFsIGVsZW1lbnRcbiAgICBpZiAodGhpcy5zaG93VGl0bGVJbmZvKSB7XG4gICAgICB0aGlzLnRpdGxlID0gdGhpcy5fZ2V0VGl0bGVEZXNjcmlwdGlvblBsYWNlKHJvdGF0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fb3B0aW9uYWxTY3JlZW5yZWFkZXJJbmZvID0gdGhpcy5fZ2V0VGl0bGVEZXNjcmlwdGlvblBsYWNlKHJvdGF0aW9uKTtcbiAgICB9XG5cbiAgICB0aGlzLnRhYkluZGV4ID0gLTE7XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXZcbiAgICAgICAgcGFydD1cInNiYi1zci1wbGFjZS1wYXJ0XCJcbiAgICAgICAgY2xhc3M9XCJzYmItc3ItcGxhY2UtY3RybCBzYmItc3ItcGxhY2UtY3RybC0tb3JpZW50YXRpb24tJHtyb3RhdGlvbn0gc2JiLXNyLXBsYWNlLWN0cmwtLXN0YXRlLSR7c3RhdGV9IHNiYi1zci1wbGFjZS1jdHJsLS10eXBlLSR7dHlwZX0gJHtkaXNhYmxlZENsYXNzfVwiXG4gICAgICA+XG4gICAgICAgIDxzYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljXG4gICAgICAgICAgc3R5bGU9JHtzdHlsZU1hcCh7XG4gICAgICAgICAgICAnLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLXdpZHRoJzogd2lkdGgsXG4gICAgICAgICAgICAnLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLWhlaWdodCc6IGhlaWdodCxcbiAgICAgICAgICAgICctLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtcm90YXRpb24nOiByb3RhdGlvbixcbiAgICAgICAgICAgICctLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaW52ZXJzZS1yb3RhdGlvbic6IGludmVyc2VSb3RhdGlvblBsYWNlQ2hlY2tJY29uLFxuICAgICAgICAgIH0pfVxuICAgICAgICAgIC5uYW1lPSR7bmFtZX1cbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+PC9zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljPlxuICAgICAgICA8c3BhbiAke3RoaXMudGV4dCA/PyBub3RoaW5nfSBjbGFzcz1cInNiYi1zci1wbGFjZS1jdHJsX190ZXh0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICA+JHt0ZXh0fTwvc3BhblxuICAgICAgICA+XG4gICAgICAgICR7IXRoaXMuc2hvd1RpdGxlSW5mb1xuICAgICAgICAgID8gaHRtbGA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIiBpZD1cIiR7dGhpcy5pZH1cIlxuICAgICAgICAgICAgICA+JHt0aGlzLl9vcHRpb25hbFNjcmVlbnJlYWRlckluZm99PC9zcGFuXG4gICAgICAgICAgICA+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9nZXRQbGFjZVN2Zyh0eXBlOiBQbGFjZVR5cGUsIHN0YXRlOiBQbGFjZVN0YXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCB0eXBlU3RyaW5nID0gdHlwZSBhcyBzdHJpbmc7XG4gICAgY29uc3Qgc3RhdGVTdHJpbmcgPSBzdGF0ZSBhcyBzdHJpbmc7XG4gICAgcmV0dXJuIGBQTEFDRV8ke3R5cGVTdHJpbmd9XyR7c3RhdGVTdHJpbmd9YDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFRpdGxlRGVzY3JpcHRpb25QbGFjZShyb3RhdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICBjb25zdCB0cmFuc2xhdGlvbktleSA9ICdQTEFDRV9DT05UUk9MXycgKyB0aGlzLnR5cGUgKyAnXycgKyB0aGlzLnN0YXRlO1xuICAgIGxldCBkZXNjcmlwdGlvbiA9IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24odHJhbnNsYXRpb25LZXksIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQsIFt0aGlzLnRleHRdKTtcblxuICAgIGNvbnN0IHJlbGF0aXZlVHJhdmVsRGlyZWN0aW9uID0gdGhpcy5fZ2V0UmVsYXRpdmVUcmF2ZWxEaXJlY3Rpb24ocm90YXRpb24pO1xuXG4gICAgaWYgKHRoaXMucHJvcGVydHlJZHMubGVuZ3RoIHx8IHJlbGF0aXZlVHJhdmVsRGlyZWN0aW9uKSB7XG4gICAgICBkZXNjcmlwdGlvbiArPVxuICAgICAgICAnLiAnICsgZ2V0STE4blNlYXRSZXNlcnZhdGlvbignUExBQ0VfUFJPUEVSVFknLCB0aGlzLl9sYW5ndWFnZS5jdXJyZW50KS5jb25jYXQoJzogJyk7XG5cbiAgICAgIGRlc2NyaXB0aW9uICs9IFtyZWxhdGl2ZVRyYXZlbERpcmVjdGlvbiwgLi4udGhpcy5wcm9wZXJ0eUlkc11cbiAgICAgICAgLm1hcCgocHJvcGVydHlJZCkgPT5cbiAgICAgICAgICBnZXRJMThuU2VhdFJlc2VydmF0aW9uKCdQTEFDRV9QUk9QRVJUSUVTLicgKyBwcm9wZXJ0eUlkLCB0aGlzLl9sYW5ndWFnZS5jdXJyZW50KSxcbiAgICAgICAgKVxuICAgICAgICAuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUpXG4gICAgICAgIC5qb2luKCcsICcpO1xuICAgIH1cblxuICAgIHJldHVybiBkZXNjcmlwdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFJlbGF0aXZlVHJhdmVsRGlyZWN0aW9uKFxuICAgIHJvdGF0aW9uVmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgKTogVHJhdmVsRGlyZWN0aW9uSTE4bktleSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMudHJhdmVsRGlyZWN0aW9uIHx8XG4gICAgICB0aGlzLnRyYXZlbERpcmVjdGlvbiA9PT0gJ05PTkUnIHx8XG4gICAgICB0aGlzLnBsYWNlVHlwZSAhPT0gJ1NFQVQnIHx8XG4gICAgICAhcm90YXRpb25WYWx1ZVxuICAgICkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3Qgcm90YXRpb24gPSBOdW1iZXIocm90YXRpb25WYWx1ZSk7XG5cbiAgICBpZiAocm90YXRpb24gPT09IDkwIHx8IHJvdGF0aW9uID09PSAyNzApIHtcbiAgICAgIHJldHVybiAnVFJBVkVMX0RJUkVDVElPTl9UUkFOU1ZFUlNFTFknO1xuICAgIH1cblxuICAgIGNvbnN0IGluRGlyZWN0aW9uID1cbiAgICAgIChyb3RhdGlvbiA9PT0gMCAmJiB0aGlzLnRyYXZlbERpcmVjdGlvbiA9PT0gJ1JJR0hUJykgfHxcbiAgICAgIChyb3RhdGlvbiA9PT0gMTgwICYmIHRoaXMudHJhdmVsRGlyZWN0aW9uID09PSAnTEVGVCcpO1xuXG4gICAgaWYgKGluRGlyZWN0aW9uKSB7XG4gICAgICByZXR1cm4gJ1RSQVZFTF9ESVJFQ1RJT05fSU5fRElSRUNUSU9OJztcbiAgICB9IGVsc2UgaWYgKHJvdGF0aW9uID09PSAwIHx8IHJvdGF0aW9uID09PSAxODApIHtcbiAgICAgIHJldHVybiAnVFJBVkVMX0RJUkVDVElPTl9JTl9PUFBPU0lURV9ESVJFQ1RJT04nO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKiogSWYgdGhlIHBsYWNlIHNlbGVjdGFibGUsIHdlIGVtaXQgdGhlIHBsYWNlU2VsZWN0aW9uIG9iamVjdCB3aGljaCBjb250YWlucyBpbmZvcyB0byB0aGUgcGxhY2Ugc3RhdGUgKi9cbiAgcHJpdmF0ZSBfc2VsZWN0UGxhY2UoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0YWJsZSA9ICh0aGlzLnN0YXRlID09PSAnRlJFRScgfHwgdGhpcy5zdGF0ZSA9PT0gJ1NFTEVDVEVEJykgJiYgIXRoaXMucHJldmVudENsaWNrO1xuXG4gICAgaWYgKHNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuc3RhdGUgPSB0aGlzLnN0YXRlID09PSAnRlJFRScgPyAnU0VMRUNURUQnIDogJ0ZSRUUnO1xuICAgICAgY29uc3QgcGxhY2VTZWxlY3Rpb246IFBsYWNlU2VsZWN0aW9uID0ge1xuICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgZGVja0luZGV4OiB0aGlzLmRlY2tJbmRleCxcbiAgICAgICAgY29hY2hJbmRleDogdGhpcy5jb2FjaEluZGV4LFxuICAgICAgICBudW1iZXI6IHRoaXMudGV4dCxcbiAgICAgICAgc3RhdGU6IHRoaXMuc3RhdGUsXG4gICAgICAgIHBsYWNlVHlwZTogdGhpcy5wbGFjZVR5cGUsXG4gICAgICB9O1xuXG4gICAgICAvKipcbiAgICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDxQbGFjZVNlbGVjdGlvbj59XG4gICAgICAgKiBFbWl0cyB3aGVuIGEgcGxhY2Ugd2FzIHNlbGVjdGVkIHZpYSB1c2VyIGludGVyYWN0aW9uIGFuZCByZXR1cm5zIGFcbiAgICAgICAqIFBsYWNlU2VsZWN0aW9uIG9iamVjdCB3aXRoIG5lY2Vzc2FyeSBwbGFjZSBpbmZvcm1hdGlvbi5cbiAgICAgICAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgQ3VzdG9tRXZlbnQ8UGxhY2VTZWxlY3Rpb24+KCdzZWxlY3RwbGFjZScsIHtcbiAgICAgICAgICBkZXRhaWw6IHBsYWNlU2VsZWN0aW9uLFxuICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wnOiBTYmJTZWF0UmVzZXJ2YXRpb25QbGFjZUNvbnRyb2xFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0lDZ0NhLCtDQUFxQzttQkFBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztjQUE5Qyw4Q0FBOEMsWUFBb0I7Ozs0QkFTNUUsV0FBVyxFQUNYLFNBQVMsRUFBRSxXQUFXLFFBQVEsQ0FBQyxDQUFBO3dCQUkvQixXQUFXLEVBQ1gsU0FBUztJQUFFLFdBQVc7SUFBUyxTQUFTO0lBQU0sQ0FBQyxDQUFBO2tDQUkvQyxTQUFTLEVBQUUsV0FBVyxvQkFBb0IsQ0FBQyxDQUFBOzhCQUkzQyxTQUFTO0lBQUUsV0FBVztJQUFlLE1BQU07SUFBTyxDQUFDLENBQUE7dUJBSW5ELFdBQVcsRUFDWCxTQUFTLEVBQUUsV0FBVyxRQUFRLENBQUMsQ0FBQTs0QkFJL0IsV0FBVyxFQUNYLFNBQVM7SUFBRSxXQUFXO0lBQWMsTUFBTTtJQUFRLENBQUMsQ0FBQTs2QkFJbkQsV0FBVyxFQUNYLFNBQVM7SUFBRSxXQUFXO0lBQWUsTUFBTTtJQUFRLENBQUMsQ0FBQTsrQkFJcEQsV0FBVyxFQUNYLFNBQVM7SUFBRSxXQUFXO0lBQWlCLE1BQU07SUFBUyxDQUFDLENBQUE7MkJBSXZELFdBQVcsRUFDWCxTQUFTLEVBQUUsV0FBVyxZQUFZLENBQUMsQ0FBQTtnQ0FJbkMsV0FBVyxFQUNYLFNBQVM7SUFBRSxNQUFNO0lBQVMsWUFBWTtJQUFNLENBQUMsQ0FBQTtHQTFDOUMsYUFBQSxNQUFBLE1BQUEsdUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxlQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVMsTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFULFlBQVM7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx5QkFBQSw2QkFBQTtHQUt6QixhQUFBLE1BQUEsTUFBQSxtQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFdBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSyxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQUwsUUFBSzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHFCQUFBLHlCQUFBO0dBSXJCLGFBQUEsTUFBQSxNQUFBLDZCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEscUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBZSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQWYsa0JBQWU7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSwrQkFBQSxtQ0FBQTtHQUkvQixhQUFBLE1BQUEsTUFBQSx5QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGlCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVcsTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFYLGNBQVc7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSwyQkFBQSwrQkFBQTtHQUszQixhQUFBLE1BQUEsTUFBQSxrQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFVBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQUosT0FBSTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLG9CQUFBLHdCQUFBO0dBS3BCLGFBQUEsTUFBQSxNQUFBLHVCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsZUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFTLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBVCxZQUFTOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEseUJBQUEsNkJBQUE7R0FLekIsYUFBQSxNQUFBLE1BQUEsd0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxnQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFVLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBVixhQUFVOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsMEJBQUEsOEJBQUE7R0FLMUIsYUFBQSxNQUFBLE1BQUEsMEJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxrQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFZLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBWixlQUFZOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsNEJBQUEsZ0NBQUE7R0FLNUIsYUFBQSxNQUFBLE1BQUEsc0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxjQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVEsTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFSLFdBQVE7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx3QkFBQSw0QkFBQTtHQUt4QixhQUFBLE1BQUEsTUFBQSwyQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLG1CQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQWEsTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFiLGdCQUFhOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsNkJBQUEsaUNBQUE7Ozs7Ozs7OztHQXJERyxLQUFBLGNBQXNCOzs7R0FDL0IsS0FBQSxzQkFBd0MsQ0FBQyxpQ0FBaUM7OztHQUMxRSxLQUFBLFNBQXlCLENBQUMsd0JBQXdCLFVBQVUsdUNBQU0sQ0FBQzs7O0dBQ25FLEtBQUEsU0FBUyxFQUM5QixhQUFhLGVBQ0w7O0VBS1Y7O0VBQUEsSUFBZ0IsWUFBUztHQUFBLE9BQUEsS0FBQTs7RUFBekIsSUFBZ0IsVUFBUyxPQUFBO0dBQUEsS0FBQSw4QkFBQTs7RUFLekI7O0VBQUEsSUFBZ0IsUUFBSztHQUFBLE9BQUEsS0FBQTs7RUFBckIsSUFBZ0IsTUFBSyxPQUFBO0dBQUEsS0FBQSwwQkFBQTs7RUFJckI7O0VBQUEsSUFBZ0Isa0JBQWU7R0FBQSxPQUFBLEtBQUE7O0VBQS9CLElBQWdCLGdCQUFlLE9BQUE7R0FBQSxLQUFBLG9DQUFBOztFQUkvQjs7RUFBQSxJQUFnQixjQUFXO0dBQUEsT0FBQSxLQUFBOztFQUEzQixJQUFnQixZQUFXLE9BQUE7R0FBQSxLQUFBLGdDQUFBOztFQUszQjs7RUFBQSxJQUFnQixPQUFJO0dBQUEsT0FBQSxLQUFBOztFQUFwQixJQUFnQixLQUFJLE9BQUE7R0FBQSxLQUFBLHlCQUFBOztFQUtwQjs7RUFBQSxJQUFnQixZQUFTO0dBQUEsT0FBQSxLQUFBOztFQUF6QixJQUFnQixVQUFTLE9BQUE7R0FBQSxLQUFBLDhCQUFBOztFQUt6Qjs7RUFBQSxJQUFnQixhQUFVO0dBQUEsT0FBQSxLQUFBOztFQUExQixJQUFnQixXQUFVLE9BQUE7R0FBQSxLQUFBLCtCQUFBOztFQUsxQjs7RUFBQSxJQUFnQixlQUFZO0dBQUEsT0FBQSxLQUFBOztFQUE1QixJQUFnQixhQUFZLE9BQUE7R0FBQSxLQUFBLGlDQUFBOztFQUs1Qjs7RUFBQSxJQUFnQixXQUFRO0dBQUEsT0FBQSxLQUFBOztFQUF4QixJQUFnQixTQUFRLE9BQUE7R0FBQSxLQUFBLDZCQUFBOztFQUt4Qjs7RUFBQSxJQUFnQixnQkFBYTtHQUFBLE9BQUEsS0FBQTs7RUFBN0IsSUFBZ0IsY0FBYSxPQUFBO0dBQUEsS0FBQSxrQ0FBQTs7RUFNN0IsY0FBQTtHQUNFLE9BQU87R0FsRE8sS0FBQSw4QkFBQSxrQkFBQSxNQUFBLHlCQUF1QixPQUFNO0dBSzdCLEtBQUEsMkJBQUEsa0JBQUEsTUFBQSw2QkFBQSxFQUFBLGtCQUFBLE1BQUEscUJBQW9CLE9BQU07R0FJMUIsS0FBQSxxQ0FBQSxrQkFBQSxNQUFBLHlCQUFBLEVBQUEsa0JBQUEsTUFBQSwrQkFBbUMsT0FBTTtHQUl6QyxLQUFBLGlDQUFBLGtCQUFBLE1BQUEsbUNBQUEsRUFBQSxrQkFBQSxNQUFBLDJCQUF3QixFQUFFLENBQUE7R0FLMUIsS0FBQSwwQkFBQSxrQkFBQSxNQUFBLCtCQUFBLEVBQUEsa0JBQUEsTUFBQSxvQkFBZSxHQUFFO0dBS2pCLEtBQUEsK0JBQUEsa0JBQUEsTUFBQSx3QkFBQSxFQUFBLGtCQUFBLE1BQUEseUJBQW9CLEtBQUs7R0FLekIsS0FBQSxnQ0FBQSxrQkFBQSxNQUFBLDZCQUFBLEVBQUEsa0JBQUEsTUFBQSwwQkFBcUIsS0FBSztHQUsxQixLQUFBLGtDQUFBLGtCQUFBLE1BQUEsOEJBQUEsRUFBQSxrQkFBQSxNQUFBLDRCQUF3QixNQUFLO0dBSzdCLEtBQUEsOEJBQUEsa0JBQUEsTUFBQSxnQ0FBQSxFQUFBLGtCQUFBLE1BQUEsd0JBQW1CLFVBQVM7R0FLNUIsS0FBQSxtQ0FBQSxrQkFBQSxNQUFBLDRCQUFBLEVBQUEsa0JBQUEsTUFBQSw2QkFBeUIsTUFBSztHQUV0QyxLQUFBLDZCQUF5QixrQkFBQSxNQUFBLGlDQUFBLEVBQVc7R0FFcEMsS0FBQSxZQUFZLElBQUksc0JBQXNCLEtBQUs7R0FJakQsS0FBSyxpQkFBaUIsZUFBZSxLQUFLLGNBQWMsQ0FBQzs7RUFHeEMsV0FBVyxtQkFBdUM7R0FDbkUsTUFBTSxXQUFXLGtCQUFrQjtHQUVuQyxJQUFJLGtCQUFrQixJQUFJLFdBQVc7UUFDL0IsS0FBSyxhQUFhLFNBQ3BCLEtBQUssT0FBTzs7R0FPaEIsSUFBSSxrQkFBa0IsSUFBSSxnQkFBZ0I7UUFDcEMsQ0FBQyxLQUFLLGVBQ1IsS0FBSyxRQUFROzs7RUFLQSxTQUFNO0dBQ3ZCLE1BQU0sT0FBZSxLQUFLLGFBQWEsS0FBSyxXQUFXLEtBQUssTUFBTTtHQUNsRSxNQUFNLE9BQWUsS0FBSyxLQUFLLGFBQWE7R0FDNUMsTUFBTSxRQUFnQixLQUFLLE1BQU0sYUFBYTtHQUM5QyxNQUFNLE9BQXNCLEtBQUs7R0FDakMsTUFBTSxRQUFRLEtBQUssT0FBTyxpQkFBaUIsNkNBQTZDO0dBQ3hGLE1BQU0sU0FBUyxLQUFLLE9BQU8saUJBQWlCLDhDQUE4QztHQUMxRixNQUFNLFdBQVcsS0FBSyxPQUFPLGlCQUFpQixnREFBZ0Q7R0FDOUYsTUFBTSxlQUFlLEtBQUssT0FBTyxpQkFDL0IscURBQ0Q7R0FDRCxNQUFNLGdDQUFnQyxPQUFPLGFBQWEsR0FBRyxPQUFPLFNBQVM7R0FDN0UsTUFBTSxnQkFBZ0IsS0FBSyxlQUFlLDRDQUE0QztHQUl0RixJQUFJLEtBQUssZUFDUCxLQUFLLFFBQVEsS0FBSywwQkFBMEIsU0FBUztRQUVyRCxLQUFLLDRCQUE0QixLQUFLLDBCQUEwQixTQUFTO0dBRzNFLEtBQUssV0FBVztHQUVoQixPQUFPLElBQUk7OztrRUFHbUQsU0FBUSw0QkFBNkIsTUFBSywyQkFBNEIsS0FBSSxHQUFJLGNBQWE7OztrQkFHM0ksU0FBUztJQUNmLHdDQUF3QztJQUN4Qyx5Q0FBeUM7SUFDekMsMkNBQTJDO0lBQzNDLG1EQUFtRDtJQUNwRCxDQUFDLENBQUE7a0JBQ00sS0FBQTs7O2dCQUdGLEtBQUssUUFBUSxRQUFPO2FBQ3ZCLEtBQUk7O1VBRVAsQ0FBQyxLQUFLLGdCQUNKLElBQUksNENBQTRDLEtBQUssR0FBRTtpQkFDbEQsS0FBSywwQkFBeUI7aUJBRW5DLFFBQUE7Ozs7RUFLRixhQUFhLE1BQWlCLE9BQWlCO0dBR3JELE9BQU8sU0FBUyxLQUFVLEdBQUk7O0VBR3hCLDBCQUEwQixVQUE0QjtHQUU1RCxJQUFJLGNBQWMsdUJBREssbUJBQW1CLEtBQUssT0FBTyxNQUFNLEtBQUssT0FDUixLQUFLLFVBQVUsU0FBUyxDQUFDLEtBQUssS0FBSyxDQUFDO0dBRTdGLE1BQU0sMEJBQTBCLEtBQUssNEJBQTRCLFNBQVM7R0FFMUUsSUFBSSxLQUFLLFlBQVksVUFBVSx5QkFBeUI7SUFDdEQsZUFDRSxPQUFPLHVCQUF1QixrQkFBa0IsS0FBSyxVQUFVLFFBQVEsQ0FBQyxPQUFPLEtBQUs7SUFFdEYsZUFBZSxDQUFDLHlCQUF5QixHQUFHLEtBQUssWUFBWSxDQUMxRCxLQUFLLGVBQ0osdUJBQXVCLHNCQUFzQixZQUFZLEtBQUssVUFBVSxRQUFRLENBQ2pGLENBQ0EsUUFBUSxVQUFVLE1BQU0sQ0FDeEIsS0FBSyxLQUFLOztHQUdmLE9BQU87O0VBR0QsNEJBQ04sZUFBaUM7R0FFakMsSUFDRSxDQUFDLEtBQUssbUJBQ04sS0FBSyxvQkFBb0IsVUFDekIsS0FBSyxjQUFjLFVBQ25CLENBQUMsZUFFRDtHQUVGLE1BQU0sV0FBVyxPQUFPLGNBQWM7R0FFdEMsSUFBSSxhQUFhLE1BQU0sYUFBYSxLQUNsQyxPQUFPO0dBT1QsSUFIRyxhQUFhLEtBQUssS0FBSyxvQkFBb0IsV0FDM0MsYUFBYSxPQUFPLEtBQUssb0JBQW9CLFFBRzlDLE9BQU87UUFDRixJQUFJLGFBQWEsS0FBSyxhQUFhLEtBQ3hDLE9BQU87OztFQU9ILGVBQVk7R0FHbEIsS0FGb0IsS0FBSyxVQUFVLFVBQVUsS0FBSyxVQUFVLGVBQWUsQ0FBQyxLQUFLLGNBRWpFO0lBQ2QsS0FBSyxRQUFRLEtBQUssVUFBVSxTQUFTLGFBQWE7SUFDbEQsTUFBTSxpQkFBaUM7S0FDckMsSUFBSSxLQUFLO0tBQ1QsV0FBVyxLQUFLO0tBQ2hCLFlBQVksS0FBSztLQUNqQixRQUFRLEtBQUs7S0FDYixPQUFPLEtBQUs7S0FDWixXQUFXLEtBQUs7S0FDakI7Ozs7OztJQU9ELEtBQUssY0FDSCxJQUFJLFlBQTRCLGVBQWU7S0FDN0MsUUFBUTtLQUNSLFNBQVM7S0FDVCxVQUFVO0tBQ1gsQ0FBQyxDQUNIIn0=
431
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLmNvbXBvbmVudC1EYUwxZzhXSC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sL3NlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wvc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcycgYXMgc2JiO1xuQHVzZSAnLi4vY29tbW9uL3N0eWxlcy9zZWF0LXJlc2VydmF0aW9uLW1peGlucycgYXMgc2JiLXNyLW1peGlucztcbkB1c2UgJy4uL2NvbW1vbi9zdHlsZXMvc2VhdC1yZXNlcnZhdGlvbi1mdW5jdGlvbnMnIGFzIHNiYi1zci1mdW5jdGlvbnM7XG5cbi8vIERlcGVuZHMgb24gdGhlIHBsYWNlIHN0YXRlIGFuZCBjdXJyZW50IGV2ZW50IChob3Zlcnxmb2N1cyksIHRoZSBiYWNrZ3JvdW5kIGFuZCBmaWxsIGNvbG9ycyBvZiB0aGUgcGxhY2UsXG4vLyBiYWNrcmVzdCBvZiBwbGFjZSBhbmQgdGhlIHRleHQgY29sb3IgYXJlIGhhbmRsZWQgYnkgY29sb3JpemVQbGFjZSBmdW5jdGlvbi5cbkBtaXhpbiBjb2xvcml6ZVBsYWNlKCRzdGF0ZSwgJGV2ZW50KSB7XG4gIDo6cGFydChzdmctcGxhY2UpIHtcbiAgICBmaWxsOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrZ3JvdW5kLSN7JGV2ZW50fSk7XG4gIH1cblxuICA6OnBhcnQoc3ZnLWJhY2tyZXN0KSB7XG4gICAgZmlsbDogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja3Jlc3QtYmFja2dyb3VuZC0jeyRldmVudH0pO1xuICB9XG5cbiAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAvLyBkb250IHVzZSB0cmFuc3BhcmVudCBvciByZW1vdmUgYmFja2dyb3VuZCwgb3RoZXJ3aXNlIHRoZXJlIGFyZSBhMTF5IHZpb2xhdGlvbnMgcmVnYXJkaW5nXG4gICAgLy8gaW5zdWZmaWNpZW50IGNvbG9yIGNvbnRyYXN0XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja2dyb3VuZC0jeyRldmVudH0pO1xuICAgIGNvbG9yOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS10ZXh0KTtcbiAgfVxuXG4gIEBpZiAkc3RhdGUgIT0gJ3NlbGVjdGVkJyB7XG4gICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgIDo6cGFydChzdmctcGxhY2UpIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja2dyb3VuZC1oaWdoLWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgOjpwYXJ0KHN2Zy1iYWNrcmVzdCkge1xuICAgICAgICBmaWxsOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrcmVzdC1oaWdoLWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgOjpwYXJ0KHN2Zy1pY29uKSB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtI3skc3RhdGV9LWljb24taGlnaC1jb250cmFzdCk7XG4gICAgICB9XG5cbiAgICAgIDo6cGFydChzdmctc2VhdGxpbmUpIHtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS1iYWNrcmVzdC1oaWdoLWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAgICAgZm9yY2VkLWNvbG9yLWFkanVzdDogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAgIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0jeyRzdGF0ZX0tYmFja2dyb3VuZC1oaWdoLWNvbnRyYXN0XG4gICAgICAgICk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLSN7JHN0YXRlfS10ZXh0LWhpZ2gtY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4kZGlzYWJsZWQ6ICcuc2JiLXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtLWRpc2FibGVkJztcblxuOmhvc3Qge1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtdGV4dC1zY2FsZS12YWx1ZTogMTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXdpZHRoOiAxNjtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWhlaWdodDogMTY7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10b3A6IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1sZWZ0OiAwO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtcm90YXRpb246IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXJvdGF0aW9uOiAwO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtdGV4dC1zaXplOiBjYWxjKFxuICAgIHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtdGV4dC1zY2FsZS12YWx1ZSwgMSkgKiAwLjVcbiAgKTtcblxuICAvLyBDb2xvciBkZWZpbml0aW9uIGZvciB0ZXh0XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1kZWZhdWx0LXRleHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSxcbiAgICB2YXIoLS1zYmItY29sb3Itd2hpdGUpXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1ob3Zlci10ZXh0OiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1pcm9uKSxcbiAgICB2YXIoLS1zYmItY29sb3Itc2lsdmVyKVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZm9jdXMtdGV4dDogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItYW50aHJhY2l0ZSksXG4gICAgdmFyKC0tc2JiLWNvbG9yLWdyYXBoaXRlKVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtYWxsb2NhdGVkLXRleHQ6IGxpZ2h0LWRhcmsoXG4gICAgdmFyKC0tc2JiLWNvbG9yLXNtb2tlKSxcbiAgICB2YXIoLS1zYmItY29sb3ItbWV0YWwpXG4gICk7XG5cbiAgLy8gQ29sb3IgYmFja2dyb3VuZCBkZWZpbml0aW9uIGZvciBwbGFjZSB3aXRoIHN0YXRlIEZSRUVcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtYmFja2dyb3VuZC1kZWZhdWx0OiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0yKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtYmFja2dyb3VuZC1ob3ZlcjogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItY2xvdWQpLFxuICAgIHZhcigtLXNiYi1jb2xvci1taWRuaWdodClcbiAgKTtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtYmFja2dyb3VuZC1mb2N1czogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3Itc2lsdmVyKSxcbiAgICB2YXIoLS1zYmItY29sb3ItYmxhY2spXG4gICk7XG5cbiAgLy8gQ29sb3IgYmFja2dyb3VuZCBkZWZpbml0aW9uIGZvciBiYWNrcmVzdCB3aXRoIHN0YXRlIEZSRUVcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtYmFja3Jlc3QtYmFja2dyb3VuZC1kZWZhdWx0OiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjayksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXdoaXRlKVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrcmVzdC1iYWNrZ3JvdW5kLWhvdmVyOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjayksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXdoaXRlKVxuICApO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrcmVzdC1iYWNrZ3JvdW5kLWZvY3VzOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1ibGFjayksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXdoaXRlKVxuICApO1xuXG4gIC8vIENvbG9yIGJhY2tncm91bmQgZGVmaW5pdGlvbiBmb3IgcGxhY2Ugd2l0aCBzdGF0ZSBTRUxFQ1RFRFxuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtc2VsZWN0ZWQtYmFja2dyb3VuZC1kZWZhdWx0OiB2YXIoLS1zYmItY29sb3ItcHJpbWFyeSk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1zYmItY29sb3ItcHJpbWFyeTEyNSk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWZvY3VzOiB2YXIoLS1zYmItY29sb3ItcHJpbWFyeTE1MCk7XG5cbiAgLy8gQ29sb3IgYmFja2dyb3VuZCBkZWZpbml0aW9uIGZvciBiYWNrcmVzdCB3aXRoIHN0YXRlIFNFTEVDVEVEXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrcmVzdC1iYWNrZ3JvdW5kLWRlZmF1bHQ6IHZhcihcbiAgICAtLXNiYi1jb2xvci1wcmltYXJ5MTUwXG4gICk7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1zZWxlY3RlZC1iYWNrcmVzdC1iYWNrZ3JvdW5kLWhvdmVyOiAjN2QwMDBmO1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtc2VsZWN0ZWQtYmFja3Jlc3QtYmFja2dyb3VuZC1mb2N1czogIzVhMDAwYjtcblxuICAvLyBDb2xvciBiYWNrZ3JvdW5kIGRlZmluaXRpb24gZm9yIHBsYWNlIHdpdGggc3RhdGUgQUxMT0NBVEVEXG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtYmFja2dyb3VuZC1kZWZhdWx0OiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1taWxrKSxcbiAgICB2YXIoLS1zYmItY29sb3ItbWlkbmlnaHQpXG4gICk7XG5cbiAgLy8gQ29sb3IgZGVmaW5pdGlvbnMgZm9yIGhpZ2ggY29udHJhc3QgbW9kZVxuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrcmVzdC1oaWdoLWNvbnRyYXN0OiBDYW52YXNUZXh0O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1iYWNrZ3JvdW5kLWhpZ2gtY29udHJhc3Q6IENhbnZhcztcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWZyZWUtdGV4dC1oaWdoLWNvbnRyYXN0OiBCdXR0b25UZXh0O1xuICAtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtZnJlZS1pY29uLWhpZ2gtY29udHJhc3Q6IENhbnZhc1RleHQ7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtYmFja3Jlc3QtaGlnaC1jb250cmFzdDogR3JheVRleHQ7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtYmFja2dyb3VuZC1oaWdoLWNvbnRyYXN0OiBDYW52YXM7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1hbGxvY2F0ZWQtdGV4dC1oaWdoLWNvbnRyYXN0OiBHcmF5VGV4dDtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWFsbG9jYXRlZC1pY29uLWhpZ2gtY29udHJhc3Q6IEdyYXlUZXh0O1xuXG4gIHdpZHRoOiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLXdpZHRoKSk7XG4gIGhlaWdodDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0odmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC1oZWlnaHQpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1ibG9jay1zdGFydDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0odmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10b3ApKTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSh2YXIoLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLWxlZnQpKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLXBvaW50ZXIpO1xufVxuXG46aG9zdCg6aG92ZXIpIHtcbiAgLnNiYi1zci1wbGFjZS1jdHJsIHtcbiAgICAmLS1zdGF0ZS1mcmVlOm5vdCgjeyRkaXNhYmxlZH0pIHtcbiAgICAgIEBpbmNsdWRlIGNvbG9yaXplUGxhY2UoJ2ZyZWUnLCAnaG92ZXInKTtcbiAgICB9XG5cbiAgICAmLS1zdGF0ZS1zZWxlY3RlZDpub3QoI3skZGlzYWJsZWR9KSB7XG4gICAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdzZWxlY3RlZCcsICdob3ZlcicpO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAuc2JiLXNyLXBsYWNlLWN0cmwge1xuICAgICYtLXN0YXRlLWZyZWU6bm90KCN7JGRpc2FibGVkfSkge1xuICAgICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnZnJlZScsICdmb2N1cycpO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCg6YWN0aXZlKSB7XG4gIC5zYmItc3ItcGxhY2UtY3RybCB7XG4gICAgJi0tc3RhdGUtc2VsZWN0ZWQ6bm90KCN7JGRpc2FibGVkfSkge1xuICAgICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnc2VsZWN0ZWQnLCAnZm9jdXMnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gcm90YXRlcyB0aGUgRE9NLXBhcnQgXCJzdmctcGxhY2VcIiBieSAxODAgZGVncmVlcyBpZiB0aGUgaG9zdCBpcyBpbiBSVEwgbW9kZS5cbkBpbmNsdWRlIHNiYi1zci1taXhpbnMucm90YXRlLWRvbS1wYXJ0KHN2Zy1wbGFjZSk7XG5cbi5zYmItc3ItcGxhY2UtY3RybCB7XG4gICRyb290OiAmO1xuXG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtdGV4dC1zaXplKSk7XG5cbiAgJi0tc3RhdGUtZnJlZSB7XG4gICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnZnJlZScsICdkZWZhdWx0Jyk7XG4gIH1cblxuICAmLS1zdGF0ZS1zZWxlY3RlZCB7XG4gICAgQGluY2x1ZGUgY29sb3JpemVQbGFjZSgnc2VsZWN0ZWQnLCAnZGVmYXVsdCcpO1xuICB9XG5cbiAgJi0tc3RhdGUtYWxsb2NhdGVkLFxuICAmLS1zdGF0ZS1yZXN0cmljdGVkIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZVBsYWNlKCdhbGxvY2F0ZWQnLCAnZGVmYXVsdCcpO1xuXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gICZfX3RleHQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IDUwJTtcbiAgICB0cmFuc2xhdGU6IC01MCUgLTUwJTtcbiAgICByb3RhdGU6IGNhbGModmFyKC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXJvdGF0aW9uKSAqIDFkZWcpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zYmItdHlwby1mb250LWZhbWlseSk7XG5cbiAgICAvLyBkb250IHVzZSBzYmIucHgtdG8tcmVtIG9yIC0tc2JiLXR5cG8tc2NhbGUtMC03NXg7IHdlIHdhbnQgXCJlbVwiIGluIHRoaXMgY2FzZSFcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBsaW5lLWhlaWdodDogaW5pdGlhbDtcblxuICAgICN7JHJvb3R9LS1zdGF0ZS1mcmVlICYsXG4gICAgI3skcm9vdH0tLXN0YXRlLWFsbG9jYXRlZCAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICN7JHJvb3R9LS10eXBlLWJpY3ljbGUgJiB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogNjUlO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1MCU7XG5cbiAgICAgIC8vIFdlIG5lZWQgdG8gYWRqdXN0IHRyYW5zZm9ybSBvcmlnaW4gcG9pbnQgZm9yIGJpY3ljbGUgcGxhY2VzIHRleHQgKG5lY2Vzc2FyeSBmb3Igcm90YXRpb24pLFxuICAgICAgLy8gYmVjYXVzZSB0aGUgcG9zaXRpb24gb2YgcGxhY2UgbnVtYmVyIGlzIG5vdCBjZW50ZXJlZCBpbiB0aGUgcGxhY2UgYXJlYS5cbiAgICAgIC8vIFRoZSB2YWx1ZSAxNiUgaXMgdGhlIG9wdGltYWwgdmFsdWUgZm9yIHRoZSByb3RhdGlvbiBvZmZzZXQgb24gdGhlIG9yaWdpbiB5LWF4aXMuXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgMTYlO1xuXG4gICAgICAvLyB1c2UgYSBzbWFsbGVyIGZvbnQtc2l6ZSB0byBhdm9pZCBhMTF5IHZpb2xhdGlvblxuICAgICAgZm9udC1zaXplOiAwLjY4NzVlbTtcbiAgICB9XG5cbiAgICAvLyBEZXBlbmRpbmcgb24gdGhlIHBsYWNlIG9yaWVudGF0aW9uLCBtaW5vciBwb3NpdGlvbmluZyBhZGp1c3RtZW50cyBtYXkgbmVlZCB0byBiZSBtYWRlIHRvIGNlbnRlciB0aGUgdGV4dCxcbiAgICAvLyBiZWNhdXNlIG9mIHRoZSB3aWR0aCBvZiB0aGUgU1ZHIHdoaWNoIGlzIG5vdCBzcXVhcmVcbiAgICAjeyRyb290fS0tb3JpZW50YXRpb24tMCN7JHJvb3R9LS10eXBlLXNlYXQgJiB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDQ1JTtcbiAgICB9XG5cbiAgICAjeyRyb290fS0tb3JpZW50YXRpb24tOTAjeyRyb290fS0tdHlwZS1zZWF0ICYge1xuICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDQ2JTtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogNTAlO1xuICAgIH1cblxuICAgICN7JHJvb3R9LS1vcmllbnRhdGlvbi0xODAjeyRyb290fS0tdHlwZS1zZWF0ICYge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1NSU7XG4gICAgfVxuXG4gICAgI3skcm9vdH0tLW9yaWVudGF0aW9uLTI3MCN7JHJvb3R9LS10eXBlLXNlYXQgJiB7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogNTIlO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiA1MiU7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KDpkaXIocnRsKSkge1xuICAvLyBGb3IgUlRMLCB3ZSBuZWVkIHRvIGFkanVzdCB0aGUgdGV4dCBwb3NpdGlvbiB0byB0aGUgcmlnaHQgc2lkZVxuICAuc2JiLXNyLXBsYWNlLWN0cmwge1xuICAgICYtLW9yaWVudGF0aW9uLTAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0IHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogMyU7XG4gICAgfVxuXG4gICAgJi0tb3JpZW50YXRpb24tOTAgLnNiYi1zci1wbGFjZS1jdHJsX190ZXh0LFxuICAgICYtLW9yaWVudGF0aW9uLTE4MCAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxMCU7XG4gICAgfVxuXG4gICAgJi0tb3JpZW50YXRpb24tMjcwIC5zYmItc3ItcGxhY2UtY3RybF9fdGV4dCB7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUlO1xuICAgIH1cblxuICAgICYtLXR5cGUtYmljeWNsZSAuc2JiLXNyLXBsYWNlLWN0cmxfX3RleHQge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAtMTAlO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgZm9yY2VUeXBlLFxuICBTYmJCdXR0b25CYXNlRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxufSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgc3R5bGVNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9zdHlsZS1tYXAuanMnO1xuXG5pbXBvcnQgeyBnZXRJMThuU2VhdFJlc2VydmF0aW9uIH0gZnJvbSAnLi4vY29tbW9uL3RyYW5zbGF0aW9ucy50cyc7XG5pbXBvcnQgdHlwZSB7IFBsYWNlU2VsZWN0aW9uLCBQbGFjZVN0YXRlLCBQbGFjZVR5cGUsIFRyYXZlbERpcmVjdGlvbiB9IGZyb20gJy4uL2NvbW1vbi90eXBlcy50cyc7XG5pbXBvcnQgeyBTYmJTZWF0UmVzZXJ2YXRpb25HcmFwaGljRWxlbWVudCB9IGZyb20gJy4uL3NlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy9zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc2VhdC1yZXNlcnZhdGlvbi1wbGFjZS1jb250cm9sLnNjc3M/aW5saW5lJztcblxudHlwZSBUcmF2ZWxEaXJlY3Rpb25JMThuS2V5ID1cbiAgfCAnVFJBVkVMX0RJUkVDVElPTl9JTl9ESVJFQ1RJT04nXG4gIHwgJ1RSQVZFTF9ESVJFQ1RJT05fSU5fT1BQT1NJVEVfRElSRUNUSU9OJ1xuICB8ICdUUkFWRUxfRElSRUNUSU9OX1RSQU5TVkVSU0VMWSc7XG5cbmV4cG9ydCBjbGFzcyBTYmJQbGFjZVNlbGVjdGlvbkV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXRhaWw6IFBsYWNlU2VsZWN0aW9uO1xuXG4gIHB1YmxpYyBnZXQgZGV0YWlsKCk6IFBsYWNlU2VsZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fZGV0YWlsO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGRldGFpbDogUGxhY2VTZWxlY3Rpb24pIHtcbiAgICBzdXBlcignc2VsZWN0cGxhY2UnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pO1xuICAgIHRoaXMuX2RldGFpbCA9IGRldGFpbDtcbiAgfVxufVxuXG4vKipcbiAqIE91dHB1dCB0aGUgZ3JhcGhpYyBvZiBhIHNlYXQgb3IgYSBiaWN5Y2xlIHBsYWNlIGFzIGEgY29udHJvbCBlbGVtZW50LlxuICovXG5leHBvcnQgY2xhc3MgU2JiU2VhdFJlc2VydmF0aW9uUGxhY2VDb250cm9sRWxlbWVudCBleHRlbmRzIFNiYkJ1dHRvbkJhc2VFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbU2JiU2VhdFJlc2VydmF0aW9uR3JhcGhpY0VsZW1lbnRdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIHNlbGVjdHBsYWNlOiAnc2VsZWN0cGxhY2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBwbGFjZVR5cGUgb2YgdGhlIHBsYWNlLCBlLmcuICdTRUFUJywgJ0JJQ1lDTEUnICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0eXBlJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcGxhY2VUeXBlOiBQbGFjZVR5cGUgPSAnU0VBVCc7XG5cbiAgLyoqIHN0YXRlIG9mIHRoZSBwbGFjZSwgZS5nLiAnRlJFRScsICdTRUxFQ1RFRCcsICdCTE9DS0VEJyAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc3RhdGUnLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzdGF0ZTogUGxhY2VTdGF0ZSA9ICdGUkVFJztcblxuICAvKiogZGlyZWN0aW9uIG9mIGEgd2hvbGUgdHJhaW4sIHVzZWQgdG8gY29tcHV0ZSBhbiBvcmllbnRhdGlvbiBvZiBhIHBsYWNlICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RyYXZlbC1kaXJlY3Rpb24nIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmF2ZWxEaXJlY3Rpb246IFRyYXZlbERpcmVjdGlvbiA9ICdOT05FJztcblxuICAvKiogcHJvcGVydHkgaWRzIG9mIHRoZSBwbGFjZSwgdG8gZGlzcGxheSBtb3JlIGluZm8gYWJvdXQgdGhlIHBsYWNlICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3Byb3BlcnR5SWRzJywgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIGFjY2Vzc29yIHByb3BlcnR5SWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBsYWJlbCBvZiB0aGUgcGxhY2UsIGUuZy4gJzFBJywgJzJCJyAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGV4dCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIHRleHQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBEZWNrIEluZGV4IFByb3AgdG8gaWRlbnRpZmllciB0aGUgcmlnaHQgcGxhY2UgdG8gZGVjayAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZGVjay1pbmRleCcsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGVja0luZGV4OiBudW1iZXIgPSBudWxsITtcblxuICAvKiogQ29hY2ggSW5kZXggUHJvcCB0byBpZGVudGlmaWVyIHRoZSByaWdodCBwbGFjZSB0byBjb2FjaCAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnY29hY2gtaW5kZXgnLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvYWNoSW5kZXg6IG51bWJlciA9IG51bGwhO1xuXG4gIC8qKiBQcmV2ZW50IGNsaWNrIHByb3AgcHJldmVudCBhbnkgcGxhY2UgYWN0aW9uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwcmV2ZW50LWNsaWNrJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcHJldmVudENsaWNrOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFNldCB0aGUgcGxhY2UgZm9jdXMgb3V0bGluZSBzdHlsZSAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAna2V5Zm9jdXMnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBrZXlmb2N1czogc3RyaW5nID0gJ3VuZm9jdXMnO1xuXG4gIC8qKiBEaXNhYmxlIHRoZSBtb3VzZSBvdmVyIHRpdGxlIGluZm9ybWF0aW9uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCB1c2VEZWZhdWx0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaG93VGl0bGVJbmZvOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLl9zZWxlY3RQbGFjZSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygna2V5Zm9jdXMnKSkge1xuICAgICAgaWYgKHRoaXMua2V5Zm9jdXMgPT09ICdmb2N1cycpIHtcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnN0IG5hbWU6IHN0cmluZyA9IHRoaXMuX2dldFBsYWNlU3ZnKHRoaXMucGxhY2VUeXBlLCB0aGlzLnN0YXRlKTtcbiAgICBjb25zdCB0eXBlOiBzdHJpbmcgPSB0aGlzLnR5cGUudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBzdGF0ZTogc3RyaW5nID0gdGhpcy5zdGF0ZS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHRleHQ6IHN0cmluZyB8IG51bGwgPSB0aGlzLnRleHQ7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtd2lkdGgnKTtcbiAgICBjb25zdCBoZWlnaHQgPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtaGVpZ2h0Jyk7XG4gICAgY29uc3Qgcm90YXRpb24gPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1zZWF0LXJlc2VydmF0aW9uLXBsYWNlLWNvbnRyb2wtcm90YXRpb24nKTtcbiAgICBjb25zdCB0ZXh0Um90YXRpb24gPSB0aGlzLnN0eWxlPy5nZXRQcm9wZXJ0eVZhbHVlKFxuICAgICAgJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC10ZXh0LXJvdGF0aW9uJyxcbiAgICApO1xuICAgIGNvbnN0IGludmVyc2VSb3RhdGlvblBsYWNlQ2hlY2tJY29uID0gTnVtYmVyKHRleHRSb3RhdGlvbikgLSBOdW1iZXIocm90YXRpb24pO1xuICAgIGNvbnN0IGRpc2FibGVkQ2xhc3MgPSB0aGlzLnByZXZlbnRDbGljayA/ICdzYmItcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbC0tZGlzYWJsZWQnIDogbnVsbDtcbiAgICBjb25zdCBwbGFjZURlc2NyaXB0aW9uID0gdGhpcy5fZ2V0VGl0bGVEZXNjcmlwdGlvblBsYWNlKHJvdGF0aW9uKTtcblxuICAgIC8vIG9ubHkgc2V0IHRpdGxlIHRvIHRoZSBTYmJCdXR0b25CYXNlRWxlbWVudCBpZiByZXF1ZXN0ZWQ7IG90aGVyd2lzZSBwcm92aWRlIHRoZSB0aXRsZVxuICAgIC8vIGluZm9ybWF0aW9uIHRvIHNjcmVlbiByZWFkZXJzIHZpYSBhcmlhLWxhYmVsIGF0IGhvc3QgZWxlbWVudFxuICAgIGlmICh0aGlzLnNob3dUaXRsZUluZm8pIHtcbiAgICAgIHRoaXMudGl0bGUgPSBwbGFjZURlc2NyaXB0aW9uO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU2V0IGFyaWEtbGFiZWwgc2NyZWVuIHJlYWRlciBpbmZvXG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWwgPSBwbGFjZURlc2NyaXB0aW9uO1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RpdGxlJyk7XG4gICAgfVxuXG4gICAgdGhpcy50YWJJbmRleCA9IC0xO1xuXG4gICAgcmV0dXJuIGh0bWxgIDxkaXZcbiAgICAgIHBhcnQ9XCJzYmItc3ItcGxhY2UtcGFydFwiXG4gICAgICBjbGFzcz1cInNiYi1zci1wbGFjZS1jdHJsIHNiYi1zci1wbGFjZS1jdHJsLS1vcmllbnRhdGlvbi0ke3JvdGF0aW9ufSBzYmItc3ItcGxhY2UtY3RybC0tc3RhdGUtJHtzdGF0ZX0gc2JiLXNyLXBsYWNlLWN0cmwtLXR5cGUtJHt0eXBlfSAke2Rpc2FibGVkQ2xhc3N9XCJcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgPlxuICAgICAgPHNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWNcbiAgICAgICAgc3R5bGU9JHtzdHlsZU1hcCh7XG4gICAgICAgICAgJy0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy13aWR0aCc6IHdpZHRoLFxuICAgICAgICAgICctLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtaGVpZ2h0JzogaGVpZ2h0LFxuICAgICAgICAgICctLXNiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMtcm90YXRpb24nOiByb3RhdGlvbixcbiAgICAgICAgICAnLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLWludmVyc2Utcm90YXRpb24nOiBpbnZlcnNlUm90YXRpb25QbGFjZUNoZWNrSWNvbixcbiAgICAgICAgfSl9XG4gICAgICAgIC5uYW1lPSR7bmFtZX1cbiAgICAgID48L3NiYi1zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWM+XG4gICAgICA8c3BhbiAke3RoaXMudGV4dCA/PyBub3RoaW5nfSBjbGFzcz1cInNiYi1zci1wbGFjZS1jdHJsX190ZXh0XCI+JHt0ZXh0fSA8L3NwYW4+XG4gICAgPC9kaXY+YDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFBsYWNlU3ZnKHR5cGU6IFBsYWNlVHlwZSwgc3RhdGU6IFBsYWNlU3RhdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHR5cGVTdHJpbmcgPSB0eXBlIGFzIHN0cmluZztcbiAgICBjb25zdCBzdGF0ZVN0cmluZyA9IHN0YXRlIGFzIHN0cmluZztcbiAgICByZXR1cm4gYFBMQUNFXyR7dHlwZVN0cmluZ31fJHtzdGF0ZVN0cmluZ31gO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VGl0bGVEZXNjcmlwdGlvblBsYWNlKHJvdGF0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5ID0gJ1BMQUNFX0NPTlRST0xfJyArIHRoaXMudHlwZSArICdfJyArIHRoaXMuc3RhdGU7XG4gICAgbGV0IGRlc2NyaXB0aW9uID0gZ2V0STE4blNlYXRSZXNlcnZhdGlvbih0cmFuc2xhdGlvbktleSwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCwgW3RoaXMudGV4dF0pO1xuXG4gICAgY29uc3QgcmVsYXRpdmVUcmF2ZWxEaXJlY3Rpb24gPSB0aGlzLl9nZXRSZWxhdGl2ZVRyYXZlbERpcmVjdGlvbihyb3RhdGlvbik7XG5cbiAgICBpZiAodGhpcy5wcm9wZXJ0eUlkcy5sZW5ndGggfHwgcmVsYXRpdmVUcmF2ZWxEaXJlY3Rpb24pIHtcbiAgICAgIGRlc2NyaXB0aW9uICs9XG4gICAgICAgICcuICcgKyBnZXRJMThuU2VhdFJlc2VydmF0aW9uKCdQTEFDRV9QUk9QRVJUWScsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpLmNvbmNhdCgnOiAnKTtcblxuICAgICAgZGVzY3JpcHRpb24gKz0gW3JlbGF0aXZlVHJhdmVsRGlyZWN0aW9uLCAuLi50aGlzLnByb3BlcnR5SWRzXVxuICAgICAgICAubWFwKChwcm9wZXJ0eUlkKSA9PlxuICAgICAgICAgIGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oJ1BMQUNFX1BST1BFUlRJRVMuJyArIHByb3BlcnR5SWQsIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpLFxuICAgICAgICApXG4gICAgICAgIC5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSlcbiAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlc2NyaXB0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UmVsYXRpdmVUcmF2ZWxEaXJlY3Rpb24oXG4gICAgcm90YXRpb25WYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICApOiBUcmF2ZWxEaXJlY3Rpb25JMThuS2V5IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy50cmF2ZWxEaXJlY3Rpb24gfHxcbiAgICAgIHRoaXMudHJhdmVsRGlyZWN0aW9uID09PSAnTk9ORScgfHxcbiAgICAgIHRoaXMucGxhY2VUeXBlICE9PSAnU0VBVCcgfHxcbiAgICAgICFyb3RhdGlvblZhbHVlXG4gICAgKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCByb3RhdGlvbiA9IE51bWJlcihyb3RhdGlvblZhbHVlKTtcblxuICAgIGlmIChyb3RhdGlvbiA9PT0gOTAgfHwgcm90YXRpb24gPT09IDI3MCkge1xuICAgICAgcmV0dXJuICdUUkFWRUxfRElSRUNUSU9OX1RSQU5TVkVSU0VMWSc7XG4gICAgfVxuXG4gICAgY29uc3QgaW5EaXJlY3Rpb24gPVxuICAgICAgKHJvdGF0aW9uID09PSAwICYmIHRoaXMudHJhdmVsRGlyZWN0aW9uID09PSAnUklHSFQnKSB8fFxuICAgICAgKHJvdGF0aW9uID09PSAxODAgJiYgdGhpcy50cmF2ZWxEaXJlY3Rpb24gPT09ICdMRUZUJyk7XG5cbiAgICBpZiAoaW5EaXJlY3Rpb24pIHtcbiAgICAgIHJldHVybiAnVFJBVkVMX0RJUkVDVElPTl9JTl9ESVJFQ1RJT04nO1xuICAgIH0gZWxzZSBpZiAocm90YXRpb24gPT09IDAgfHwgcm90YXRpb24gPT09IDE4MCkge1xuICAgICAgcmV0dXJuICdUUkFWRUxfRElSRUNUSU9OX0lOX09QUE9TSVRFX0RJUkVDVElPTic7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKiBJZiB0aGUgcGxhY2Ugc2VsZWN0YWJsZSwgd2UgZW1pdCB0aGUgcGxhY2VTZWxlY3Rpb24gb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGluZm9zIHRvIHRoZSBwbGFjZSBzdGF0ZSAqL1xuICBwcml2YXRlIF9zZWxlY3RQbGFjZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RhYmxlID0gKHRoaXMuc3RhdGUgPT09ICdGUkVFJyB8fCB0aGlzLnN0YXRlID09PSAnU0VMRUNURUQnKSAmJiAhdGhpcy5wcmV2ZW50Q2xpY2s7XG5cbiAgICBpZiAoc2VsZWN0YWJsZSkge1xuICAgICAgdGhpcy5zdGF0ZSA9IHRoaXMuc3RhdGUgPT09ICdGUkVFJyA/ICdTRUxFQ1RFRCcgOiAnRlJFRSc7XG5cbiAgICAgIC8vIEZJWE1FOiB0aGUgbmFtZSBvZiB0aGlzIHZhcmlhYmxlIGFwcGVhcnMgYXMgZXZlbnQgbmFtZSBpbiB0aGUgcmVhZG1lXG4gICAgICAvLyAgZHVlIHRvIGEgYnVnIGluIHRoZSBjdXN0b20tZWxlbWVudHMtbWFuaWZlc3QgbGlicmFyeS5cbiAgICAgIC8vICBodHRwczovL2dpdGh1Yi5jb20vb3Blbi13Yy9jdXN0b20tZWxlbWVudHMtbWFuaWZlc3QvaXNzdWVzLzE0OVxuICAgICAgY29uc3Qgc2VsZWN0cGxhY2U6IFBsYWNlU2VsZWN0aW9uID0ge1xuICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgZGVja0luZGV4OiB0aGlzLmRlY2tJbmRleCxcbiAgICAgICAgY29hY2hJbmRleDogdGhpcy5jb2FjaEluZGV4LFxuICAgICAgICBudW1iZXI6IHRoaXMudGV4dCxcbiAgICAgICAgc3RhdGU6IHRoaXMuc3RhdGUsXG4gICAgICAgIHBsYWNlVHlwZTogdGhpcy5wbGFjZVR5cGUsXG4gICAgICB9O1xuXG4gICAgICAvKipcbiAgICAgICAqIEB0eXBlIHtTYmJQbGFjZVNlbGVjdGlvbkV2ZW50fVxuICAgICAgICogRW1pdHMgd2hlbiBhIHBsYWNlIHdhcyBzZWxlY3RlZCB2aWEgdXNlciBpbnRlcmFjdGlvbiBhbmQgcmV0dXJucyBhXG4gICAgICAgKiBQbGFjZVNlbGVjdGlvbiBvYmplY3Qgd2l0aCBuZWNlc3NhcnkgcGxhY2UgaW5mb3JtYXRpb24uXG4gICAgICAgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgU2JiUGxhY2VTZWxlY3Rpb25FdmVudChzZWxlY3RwbGFjZSkpO1xuICAgIH1cbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tcGxhY2UtY29udHJvbCc6IFNiYlNlYXRSZXNlcnZhdGlvblBsYWNlQ29udHJvbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUM0QkEsSUFBYSx5QkFBYixjQUE0QyxNQUFLO0NBRy9DLElBQVcsU0FBTTtFQUNmLE9BQU8sS0FBSztDQUNkO0NBRUEsWUFBbUIsUUFBc0I7RUFDdkMsTUFBTSxlQUFlO0dBQUUsU0FBUztHQUFNLFVBQVU7RUFBSSxDQUFFO0VBQ3RELEtBQUssVUFBVTtDQUNqQjs7Ozs7SUFNVywrQ0FBcUM7bUJBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FBOUMsOENBQThDLFlBQW9COzs7NEJBUzVFLFVBQVMsR0FDVCxTQUFTLEVBQUUsV0FBVyxPQUFNLENBQUUsQ0FBQzt3QkFJL0IsVUFBUyxHQUNULFNBQVM7SUFBRSxXQUFXO0lBQVMsU0FBUztHQUFJLENBQUUsQ0FBQztrQ0FJL0MsU0FBUyxFQUFFLFdBQVcsbUJBQWtCLENBQUUsQ0FBQzs4QkFJM0MsU0FBUztJQUFFLFdBQVc7SUFBZSxNQUFNO0dBQUssQ0FBRSxDQUFDO3VCQUluRCxVQUFTLEdBQ1QsU0FBUyxFQUFFLFdBQVcsT0FBTSxDQUFFLENBQUM7NEJBSS9CLFVBQVMsR0FDVCxTQUFTO0lBQUUsV0FBVztJQUFjLE1BQU07R0FBTSxDQUFFLENBQUM7NkJBSW5ELFVBQVMsR0FDVCxTQUFTO0lBQUUsV0FBVztJQUFlLE1BQU07R0FBTSxDQUFFLENBQUM7K0JBSXBELFVBQVMsR0FDVCxTQUFTO0lBQUUsV0FBVztJQUFpQixNQUFNO0dBQU8sQ0FBRSxDQUFDOzJCQUl2RCxVQUFTLEdBQ1QsU0FBUyxFQUFFLFdBQVcsV0FBVSxDQUFFLENBQUM7Z0NBSW5DLFVBQVMsR0FDVCxTQUFTO0lBQUUsTUFBTTtJQUFTLFlBQVk7R0FBSSxDQUFFLENBQUM7R0ExQzlDLGFBQUEsTUFBQSxNQUFBLHVCQUFBO0lBQUEsTUFBQTtJ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
@@ -21,4 +21,4 @@ var SbbSeatReservationScopedElement = class extends SbbElement {
21
21
  //#endregion
22
22
  export { SbbSeatReservationScopedElement as t };
23
23
 
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1zY29wZWQuY29tcG9uZW50LUQtTXZ3LVEzLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcbkB1c2UgJy4uL2NvbW1vbi9zdHlsZXMvc2VhdC1yZXNlcnZhdGlvbi1mdW5jdGlvbnMnIGFzIHNiYi1zci1mdW5jdGlvbnM7XG5cbjpob3N0IHtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1zY29wZWQtd2lkdGg6IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tc2NvcGVkLWhlaWdodDogMDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC13aWR0aCkpO1xuICBoZWlnaHQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC1oZWlnaHQpKTtcbn1cbiIsImltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlYXQtcmVzZXJ2YXRpb24tc2NvcGVkLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBXcmFwcGVyIGNsYXNzIGZvciBzY29wZWQgZWxlbWVudHMgd2l0aCBzaW1pbGFyIHByb3BlcnRpZXMgdG8gc2V0LlxuICovXG5leHBvcnQgY2xhc3MgU2JiU2VhdFJlc2VydmF0aW9uU2NvcGVkRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tc2NvcGVkJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90Pjwvc2xvdD5gO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc2VhdC1yZXNlcnZhdGlvbi1zY29wZWQnOiBTYmJTZWF0UmVzZXJ2YXRpb25TY29wZWRFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQ1FBLElBQWEsa0NBQWIsY0FBcUQsV0FBVTs7RUFDN0IsS0FBQSxjQUFzQjs7O0VBQy9CLEtBQUEsU0FBeUIsQ0FBQyxVQUFVLGdDQUFNLENBQUM7O0NBRS9DLFNBQU07RUFDdkIsT0FBTyxJQUFJIn0=
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1zY29wZWQuY29tcG9uZW50LUJIYk9SVnNSLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC9zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcbkB1c2UgJy4uL2NvbW1vbi9zdHlsZXMvc2VhdC1yZXNlcnZhdGlvbi1mdW5jdGlvbnMnIGFzIHNiYi1zci1mdW5jdGlvbnM7XG5cbjpob3N0IHtcbiAgLS1zYmItc2VhdC1yZXNlcnZhdGlvbi1zY29wZWQtd2lkdGg6IDA7XG4gIC0tc2JiLXNlYXQtcmVzZXJ2YXRpb24tc2NvcGVkLWhlaWdodDogMDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC13aWR0aCkpO1xuICBoZWlnaHQ6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKHZhcigtLXNiYi1zZWF0LXJlc2VydmF0aW9uLXNjb3BlZC1oZWlnaHQpKTtcbn1cbiIsImltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlYXQtcmVzZXJ2YXRpb24tc2NvcGVkLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBXcmFwcGVyIGNsYXNzIGZvciBzY29wZWQgZWxlbWVudHMgd2l0aCBzaW1pbGFyIHByb3BlcnRpZXMgdG8gc2V0LlxuICovXG5leHBvcnQgY2xhc3MgU2JiU2VhdFJlc2VydmF0aW9uU2NvcGVkRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tc2NvcGVkJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90Pjwvc2xvdD5gO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc2VhdC1yZXNlcnZhdGlvbi1zY29wZWQnOiBTYmJTZWF0UmVzZXJ2YXRpb25TY29wZWRFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQ1FBLElBQWEsa0NBQWIsY0FBcUQsV0FBVTs7RUFDN0IsS0FBQSxjQUFzQjtDQUE4Qjs7RUFDN0QsS0FBQSxTQUF5QixDQUFDLFVBQVUsK0JBQUssQ0FBQztDQUFFO0NBRWhELFNBQU07RUFDdkIsT0FBTyxJQUFJO0NBQ2IifQ==