@sbb-esta/lyne-elements-experimental 4.8.1 → 4.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +1 -1
  2. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  3. package/autocomplete-grid/autocomplete-grid-cell.js +1 -1
  4. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  5. package/autocomplete-grid/autocomplete-grid-option.js +1 -1
  6. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  7. package/autocomplete-grid/autocomplete-grid-row.js +1 -1
  8. package/{autocomplete-grid-cell.component-Dak9wlBr.js → autocomplete-grid-cell.component-DkD9aFKc.js} +5 -5
  9. package/autocomplete-grid-option.component-CtATJy7n.js +37 -0
  10. package/autocomplete-grid-row.component-6nJv5PMj.js +27 -0
  11. package/autocomplete-grid.js +3 -3
  12. package/autocomplete-grid.pure.js +3 -3
  13. package/custom-elements.json +70 -2
  14. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +2 -2
  15. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -1
  16. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  17. package/development/autocomplete-grid/autocomplete-grid-cell.js +1 -1
  18. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  19. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  20. package/development/autocomplete-grid/autocomplete-grid-option.js +1 -1
  21. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -1
  22. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  23. package/development/autocomplete-grid/autocomplete-grid-row.js +1 -1
  24. package/development/autocomplete-grid-cell.component-BxkWGaX0.js +34 -0
  25. package/development/autocomplete-grid-option.component-5mPGswUO.js +61 -0
  26. package/development/autocomplete-grid-row.component-DEm6zyHZ.js +39 -0
  27. package/development/autocomplete-grid.js +3 -3
  28. package/development/autocomplete-grid.pure.js +3 -3
  29. package/development/core/datetime/date-helper.js +1 -1
  30. package/development/core/datetime.js +1 -1
  31. package/development/{date-helper-8_Y-PuHh.js → date-helper-qNdwgC9O.js} +4 -4
  32. package/development/{differenceInMinutes-DN_1Rk3O.js → differenceInMinutes-B7_GTDq7.js} +2 -2
  33. package/development/{format-Bbrn2bgo.js → format-DFx4997p.js} +3 -3
  34. package/development/{isValid-C-HzKv4v.js → isValid-JpZ7FphI.js} +2 -2
  35. package/development/journey-summary/journey-summary.component.d.ts.map +1 -1
  36. package/development/journey-summary/journey-summary.component.js +1 -1
  37. package/development/journey-summary.component-BZwgD4im.js +340 -0
  38. package/development/journey-summary.js +1 -1
  39. package/development/journey-summary.pure.js +1 -1
  40. package/development/pearl-chain/pearl-chain.component.d.ts.map +1 -1
  41. package/development/pearl-chain/pearl-chain.component.js +1 -1
  42. package/development/pearl-chain-time/pearl-chain-time.component.d.ts.map +1 -1
  43. package/development/pearl-chain-time/pearl-chain-time.component.js +1 -1
  44. package/development/pearl-chain-time.component-B2_BI6E_.js +319 -0
  45. package/development/pearl-chain-time.js +1 -1
  46. package/development/pearl-chain-time.pure.js +1 -1
  47. package/development/pearl-chain-vertical/pearl-chain-vertical.component.d.ts.map +1 -1
  48. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  49. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.d.ts.map +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-DcmH13Vb.js +133 -0
  52. package/development/pearl-chain-vertical-item.js +1 -1
  53. package/development/pearl-chain-vertical-item.pure.js +1 -1
  54. package/development/pearl-chain-vertical.component-CpcNFl-x.js +31 -0
  55. package/development/pearl-chain-vertical.js +1 -1
  56. package/development/pearl-chain-vertical.pure.js +1 -1
  57. package/development/pearl-chain.component-oQZUzsyW.js +316 -0
  58. package/development/pearl-chain.js +1 -1
  59. package/development/pearl-chain.pure.js +1 -1
  60. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +3 -0
  61. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
  62. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +37 -2
  63. package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
  64. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +1 -1
  65. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.d.ts.map +1 -1
  66. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
  67. package/development/seat-reservation/seat-reservation-area.js +1 -1
  68. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +1 -1
  69. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.d.ts.map +1 -1
  70. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  71. package/development/seat-reservation/seat-reservation-graphic.js +1 -1
  72. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
  73. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
  74. package/development/seat-reservation/seat-reservation-navigation-coach.js +1 -1
  75. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.d.ts.map +1 -1
  76. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  77. package/development/seat-reservation/seat-reservation-navigation-services.js +1 -1
  78. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
  79. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +1 -1
  80. package/development/seat-reservation/seat-reservation-place-control.js +1 -1
  81. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +1 -1
  82. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  83. package/development/seat-reservation/seat-reservation-scoped.js +1 -1
  84. package/development/seat-reservation/seat-reservation.js +1 -1
  85. package/development/seat-reservation-area.component-DbeuTnXT.js +96 -0
  86. package/development/seat-reservation-graphic.component-DlrHtlia.js +129 -0
  87. package/development/seat-reservation-navigation-coach.component-CjoDkcVU.js +428 -0
  88. package/development/seat-reservation-navigation-services.component-CGel7__P.js +159 -0
  89. package/development/seat-reservation-place-control.component-CM9efId7.js +429 -0
  90. package/development/seat-reservation-scoped.component-CFA_bJ3o.js +25 -0
  91. package/development/seat-reservation.component-DFJVFmrI.js +510 -0
  92. package/development/seat-reservation.js +7 -7
  93. package/development/seat-reservation.pure.js +7 -7
  94. package/development/timetable-duration/timetable-duration.component.d.ts.map +1 -1
  95. package/development/timetable-duration/timetable-duration.component.js +1 -1
  96. package/development/timetable-duration.component-BhFlqYbV.js +100 -0
  97. package/development/timetable-duration.js +1 -1
  98. package/development/timetable-duration.pure.js +1 -1
  99. package/development/timetable-row/timetable-row.component.d.ts.map +1 -1
  100. package/development/timetable-row/timetable-row.component.js +1 -1
  101. package/development/timetable-row.component-Dko8laRT.js +729 -0
  102. package/development/timetable-row.js +1 -1
  103. package/development/timetable-row.pure.js +1 -1
  104. package/development/{toDate-Biiv3kyf.js → toDate-DOFAOjP-.js} +2 -2
  105. package/journey-summary/journey-summary.component.js +1 -1
  106. package/{journey-summary.component-Cq_4kaOp.js → journey-summary.component-DC7-qPHY.js} +38 -38
  107. package/journey-summary.js +1 -1
  108. package/journey-summary.pure.js +1 -1
  109. package/package.json +2 -2
  110. package/pearl-chain/pearl-chain.component.js +1 -1
  111. package/pearl-chain-time/pearl-chain-time.component.js +1 -1
  112. package/{pearl-chain-time.component-DGDW5S1c.js → pearl-chain-time.component-CkKsrbgQ.js} +28 -28
  113. package/pearl-chain-time.js +1 -1
  114. package/pearl-chain-time.pure.js +1 -1
  115. package/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
  116. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
  117. package/pearl-chain-vertical-item.component-BUqZ-3Ay.js +108 -0
  118. package/pearl-chain-vertical-item.js +1 -1
  119. package/pearl-chain-vertical-item.pure.js +1 -1
  120. package/{pearl-chain-vertical.component-CXIDT5RD.js → pearl-chain-vertical.component-Df9CvRxo.js} +5 -5
  121. package/pearl-chain-vertical.js +1 -1
  122. package/pearl-chain-vertical.pure.js +1 -1
  123. package/pearl-chain.component-CpISVoAu.js +194 -0
  124. package/pearl-chain.js +1 -1
  125. package/pearl-chain.pure.js +1 -1
  126. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +30 -4
  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-area.js +1 -1
  130. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +1 -1
  131. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +1 -1
  132. package/seat-reservation/seat-reservation-graphic.js +1 -1
  133. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +1 -1
  134. package/seat-reservation/seat-reservation-navigation-coach.js +1 -1
  135. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +1 -1
  136. package/seat-reservation/seat-reservation-navigation-services.js +1 -1
  137. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +1 -1
  138. package/seat-reservation/seat-reservation-place-control.js +1 -1
  139. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +1 -1
  140. package/seat-reservation/seat-reservation-scoped.js +1 -1
  141. package/seat-reservation/seat-reservation.js +1 -1
  142. package/seat-reservation-area.component-CtYawDjE.js +75 -0
  143. package/seat-reservation-graphic.component-Cm_pVxaB.js +102 -0
  144. package/seat-reservation-navigation-coach.component-sug9IBTH.js +333 -0
  145. package/{seat-reservation-navigation-services.component-QL0UnilZ.js → seat-reservation-navigation-services.component-C9dDYD_M.js} +19 -19
  146. package/seat-reservation-place-control.component-CE7d9M2b.js +322 -0
  147. package/seat-reservation-scoped.component-DVyP2JGE.js +17 -0
  148. package/{seat-reservation.component-zrQHTRl3.js → seat-reservation.component-DajC6fqU.js} +58 -55
  149. package/seat-reservation.js +7 -7
  150. package/seat-reservation.pure.js +7 -7
  151. package/timetable-duration/timetable-duration.component.js +1 -1
  152. package/{timetable-duration.component-DaYoJUGS.js → timetable-duration.component-BnJA8wSb.js} +12 -12
  153. package/timetable-duration.js +1 -1
  154. package/timetable-duration.pure.js +1 -1
  155. package/timetable-row/timetable-row.component.js +1 -1
  156. package/{timetable-row.component-BDMAEsbR.js → timetable-row.component-DbzBCpKR.js} +59 -59
  157. package/timetable-row.js +1 -1
  158. package/timetable-row.pure.js +1 -1
  159. package/autocomplete-grid-option.component-DNRFHOwc.js +0 -37
  160. package/autocomplete-grid-row.component-DBHZQ0GQ.js +0 -27
  161. package/development/autocomplete-grid-cell.component-BBvM4o2H.js +0 -42
  162. package/development/autocomplete-grid-option.component-QzfM5eIE.js +0 -123
  163. package/development/autocomplete-grid-row.component-H8sCTCkT.js +0 -104
  164. package/development/journey-summary.component-uGhZvA4p.js +0 -385
  165. package/development/pearl-chain-time.component-B8mayTWD.js +0 -415
  166. package/development/pearl-chain-vertical-item.component-BDzbcIaf.js +0 -435
  167. package/development/pearl-chain-vertical.component-CswE7b3M.js +0 -39
  168. package/development/pearl-chain.component-wpsTvoSe.js +0 -704
  169. package/development/seat-reservation-area.component-ORuli_DC.js +0 -138
  170. package/development/seat-reservation-graphic.component-lZXqHWIz.js +0 -193
  171. package/development/seat-reservation-navigation-coach.component-D2QXTMJJ.js +0 -828
  172. package/development/seat-reservation-navigation-services.component-Bg1adRlU.js +0 -179
  173. package/development/seat-reservation-place-control.component-CwUX-QYO.js +0 -726
  174. package/development/seat-reservation-scoped.component-uLT33P9y.js +0 -31
  175. package/development/seat-reservation.component-MOv5kHDC.js +0 -821
  176. package/development/timetable-duration.component-D21SXsQq.js +0 -125
  177. package/development/timetable-row.component-Y5w8vEwP.js +0 -932
  178. package/pearl-chain-vertical-item.component-G22bWhLU.js +0 -108
  179. package/pearl-chain.component-DmjkVIva.js +0 -194
  180. package/seat-reservation-area.component-COD6CXhP.js +0 -75
  181. package/seat-reservation-graphic.component-BNfU5tQM.js +0 -102
  182. package/seat-reservation-navigation-coach.component-Bh9ILq60.js +0 -333
  183. package/seat-reservation-place-control.component-BfnZUyHv.js +0 -322
  184. package/seat-reservation-scoped.component-CY04BT_4.js +0 -17
@@ -0,0 +1,159 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { SbbElement } from "@sbb-esta/lyne-elements/core/base-elements.js";
3
+ import { SbbLanguageController } from "@sbb-esta/lyne-elements/core/controllers.js";
4
+ import { forceType } from "@sbb-esta/lyne-elements/core/decorators.js";
5
+ import { boxSizingStyles } from "@sbb-esta/lyne-elements/core/styles.js";
6
+ import { html, nothing, unsafeCSS } from "lit";
7
+ import { property } from "lit/decorators.js";
8
+ import "@sbb-esta/lyne-elements/screen-reader-only.js";
9
+ import { getI18nSeatReservation } from "./seat-reservation/common/translations.js";
10
+ import { SbbSeatReservationGraphicElement } from "./seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js";
11
+ //#region src/elements-experimental/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.scss?inline
12
+ var seat_reservation_navigation_services_default = ".sbb-sr-navigation__signs {\n display: flex;\n flex-direction: row;\n justify-content: center;\n gap: var(--sbb-spacing-fixed-2x);\n overflow: hidden;\n line-height: normal;\n color: var(--sbb-color-granite);\n color: light-dark(var(--sbb-color-granite), var(--sbb-color-graphite));\n}\n.sbb-sr-navigation__signs:has(:nth-child(n+3 of .auto-width)):has([name^=SILENCE], [name^=BUSINESS]) {\n gap: calc(6 * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n}\n.sbb-sr-navigation__signs:has(:nth-child(n+3 of .auto-width)):has([name^=SILENCE], [name^=BUSINESS]):has([name^=BICYCLE]) {\n gap: calc(3 * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));\n}\n\n:host([vertical]) .sbb-sr-navigation__signs {\n flex-direction: column;\n height: 100%;\n}";
13
+ //#endregion
14
+ //#region src/elements-experimental/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.ts
15
+ SbbSeatReservationGraphicElement.define();
16
+ /**
17
+ * Component displays the available service icons of one coach.
18
+ *
19
+ */
20
+ var SbbSeatReservationNavigationServicesElement = (() => {
21
+ let _classSuper = SbbElement;
22
+ let _propertyIds_decorators;
23
+ let _propertyIds_initializers = [];
24
+ let _propertyIds_extraInitializers = [];
25
+ let _vertical_decorators;
26
+ let _vertical_initializers = [];
27
+ let _vertical_extraInitializers = [];
28
+ let _showTitleInfo_decorators;
29
+ let _showTitleInfo_initializers = [];
30
+ let _showTitleInfo_extraInitializers = [];
31
+ return class SbbSeatReservationNavigationServicesElement extends _classSuper {
32
+ constructor() {
33
+ super(...arguments);
34
+ this.#propertyIds_accessor_storage = __runInitializers(this, _propertyIds_initializers, []);
35
+ this.#vertical_accessor_storage = (__runInitializers(this, _propertyIds_extraInitializers), __runInitializers(this, _vertical_initializers, false));
36
+ this.#showTitleInfo_accessor_storage = (__runInitializers(this, _vertical_extraInitializers), __runInitializers(this, _showTitleInfo_initializers, false));
37
+ this._language = (__runInitializers(this, _showTitleInfo_extraInitializers), new SbbLanguageController(this));
38
+ }
39
+ static {
40
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
41
+ _propertyIds_decorators = [property({
42
+ attribute: "property-ids",
43
+ type: Array
44
+ })];
45
+ _vertical_decorators = [forceType(), property({
46
+ type: Boolean,
47
+ reflect: true,
48
+ useDefault: true
49
+ })];
50
+ _showTitleInfo_decorators = [forceType(), property({ type: Boolean })];
51
+ __esDecorate(this, null, _propertyIds_decorators, {
52
+ kind: "accessor",
53
+ name: "propertyIds",
54
+ static: false,
55
+ private: false,
56
+ access: {
57
+ has: (obj) => "propertyIds" in obj,
58
+ get: (obj) => obj.propertyIds,
59
+ set: (obj, value) => {
60
+ obj.propertyIds = value;
61
+ }
62
+ },
63
+ metadata: _metadata
64
+ }, _propertyIds_initializers, _propertyIds_extraInitializers);
65
+ __esDecorate(this, null, _vertical_decorators, {
66
+ kind: "accessor",
67
+ name: "vertical",
68
+ static: false,
69
+ private: false,
70
+ access: {
71
+ has: (obj) => "vertical" in obj,
72
+ get: (obj) => obj.vertical,
73
+ set: (obj, value) => {
74
+ obj.vertical = value;
75
+ }
76
+ },
77
+ metadata: _metadata
78
+ }, _vertical_initializers, _vertical_extraInitializers);
79
+ __esDecorate(this, null, _showTitleInfo_decorators, {
80
+ kind: "accessor",
81
+ name: "showTitleInfo",
82
+ static: false,
83
+ private: false,
84
+ access: {
85
+ has: (obj) => "showTitleInfo" in obj,
86
+ get: (obj) => obj.showTitleInfo,
87
+ set: (obj, value) => {
88
+ obj.showTitleInfo = value;
89
+ }
90
+ },
91
+ metadata: _metadata
92
+ }, _showTitleInfo_initializers, _showTitleInfo_extraInitializers);
93
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
94
+ enumerable: true,
95
+ configurable: true,
96
+ writable: true,
97
+ value: _metadata
98
+ });
99
+ }
100
+ static {
101
+ this.elementName = "sbb-seat-reservation-navigation-services";
102
+ }
103
+ static {
104
+ this.styles = [boxSizingStyles, unsafeCSS(seat_reservation_navigation_services_default)];
105
+ }
106
+ #propertyIds_accessor_storage;
107
+ /** Coach service property ids, which are used to display the services in the navigation */
108
+ get propertyIds() {
109
+ return this.#propertyIds_accessor_storage;
110
+ }
111
+ set propertyIds(value) {
112
+ this.#propertyIds_accessor_storage = value;
113
+ }
114
+ #vertical_accessor_storage;
115
+ /** If true, the service icons are displayed vertically */
116
+ get vertical() {
117
+ return this.#vertical_accessor_storage;
118
+ }
119
+ set vertical(value) {
120
+ this.#vertical_accessor_storage = value;
121
+ }
122
+ #showTitleInfo_accessor_storage;
123
+ /** Disable the mouse over title information */
124
+ get showTitleInfo() {
125
+ return this.#showTitleInfo_accessor_storage;
126
+ }
127
+ set showTitleInfo(value) {
128
+ this.#showTitleInfo_accessor_storage = value;
129
+ }
130
+ render() {
131
+ const serviceLabelDescription = this.propertyIds?.length ? this._getServiceLabelDescription() : null;
132
+ return html` <div class="sbb-sr-navigation__signs">
133
+ <sbb-screen-reader-only ${serviceLabelDescription ? serviceLabelDescription : nothing}
134
+ >${serviceLabelDescription}</sbb-screen-reader-only
135
+ >
136
+ ${this.propertyIds?.map((signIcon) => {
137
+ return html`
138
+ <sbb-seat-reservation-graphic
139
+ class="auto-width"
140
+ name=${signIcon ?? nothing}
141
+ title=${this.showTitleInfo ? getI18nSeatReservation(signIcon, this._language.current) : nothing}
142
+ aria-hidden="true"
143
+ ></sbb-seat-reservation-graphic>
144
+ `;
145
+ })}
146
+ </div>`;
147
+ }
148
+ _getServiceLabelDescription() {
149
+ let label = null;
150
+ const translatedServiceLabels = this.propertyIds.map((prop) => getI18nSeatReservation(prop, this._language.current)).filter((propTranslation) => !!propTranslation).join(", ");
151
+ if (translatedServiceLabels) label = getI18nSeatReservation("COACH_AVAILABLE_SERVICES", this._language.current).concat(":").concat(translatedServiceLabels);
152
+ return label;
153
+ }
154
+ };
155
+ })();
156
+ //#endregion
157
+ export { SbbSeatReservationNavigationServicesElement as t };
158
+
159
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXNlcnZpY2VzLmNvbXBvbmVudC1DR2VsN19fUC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXNlcnZpY2VzL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1zZXJ2aWNlcy5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvc2VhdC1yZXNlcnZhdGlvbi9zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tc2VydmljZXMvc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXNlcnZpY2VzLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcycgYXMgc2JiO1xuQHVzZSAnLi4vY29tbW9uL3N0eWxlcy9zZWF0LXJlc2VydmF0aW9uLWZ1bmN0aW9ucycgYXMgc2JiLXNyLWZ1bmN0aW9ucztcblxuLnNiYi1zci1uYXZpZ2F0aW9uX19zaWducyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3ItZ3JhcGhpdGUpKTtcblxuICAvLyBUSU1PLTQ0MjE1XG4gIC8vIGRlY3JlYXNlIGNvbHVtbi1nYXAgd2hlbiB0aHJlZSB3aWRlIHNlcnZpY2UtaWNvbnMgYXJlIGNvbWJpbmVkXG4gICY6aGFzKDpudGgtY2hpbGQobiArIDMgb2YgLmF1dG8td2lkdGgpKSB7XG4gICAgLy8gYWRqdXN0bWVudCBmb3Igc2lsZW5jZS0gYW5kIGJ1c2luZXNzLWljb25zXG4gICAgJjpoYXMoW25hbWVePSdTSUxFTkNFJ10sIFtuYW1lXj0nQlVTSU5FU1MnXSkge1xuICAgICAgZ2FwOiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSg2KTtcblxuICAgICAgLy8gYmljeWNsZSBpY29uIG9ubHkgbmVlZHMgZnVydGhlciBhZGp1c3RtZW50IHdoZW4gY29tYmluZWQgd2l0aCBzaWxlbmNlLSBhbmQgYnVzaW5lc3MtaWNvbnNcbiAgICAgICY6aGFzKFtuYW1lXj0nQklDWUNMRSddKSB7XG4gICAgICAgIGdhcDogc2JiLXNyLWZ1bmN0aW9ucy5zci1weC10by1yZW0oMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFt2ZXJ0aWNhbF0pIC5zYmItc3ItbmF2aWdhdGlvbl9fc2lnbnMge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4iLCJpbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvc3R5bGVzLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIG5vdGhpbmcsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0STE4blNlYXRSZXNlcnZhdGlvbiB9IGZyb20gJy4uL2NvbW1vbi90cmFuc2xhdGlvbnMudHMnO1xuaW1wb3J0IHsgU2JiU2VhdFJlc2VydmF0aW9uR3JhcGhpY0VsZW1lbnQgfSBmcm9tICcuLi9zZWF0LXJlc2VydmF0aW9uLWdyYXBoaWMvc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1zZXJ2aWNlcy5zY3NzP2lubGluZSc7XG5cbmltcG9ydCAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvc2NyZWVuLXJlYWRlci1vbmx5LmpzJztcblxuU2JiU2VhdFJlc2VydmF0aW9uR3JhcGhpY0VsZW1lbnQuZGVmaW5lKCk7XG5cbi8qKlxuICogQ29tcG9uZW50IGRpc3BsYXlzIHRoZSBhdmFpbGFibGUgc2VydmljZSBpY29ucyBvZiBvbmUgY29hY2guXG4gKlxuICovXG5leHBvcnQgY2xhc3MgU2JiU2VhdFJlc2VydmF0aW9uTmF2aWdhdGlvblNlcnZpY2VzRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXNlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1zZXJ2aWNlcyc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBDb2FjaCBzZXJ2aWNlIHByb3BlcnR5IGlkcywgd2hpY2ggYXJlIHVzZWQgdG8gZGlzcGxheSB0aGUgc2VydmljZXMgaW4gdGhlIG5hdmlnYXRpb24gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncHJvcGVydHktaWRzJywgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIGFjY2Vzc29yIHByb3BlcnR5SWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBJZiB0cnVlLCB0aGUgc2VydmljZSBpY29ucyBhcmUgZGlzcGxheWVkIHZlcnRpY2FsbHkgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUsIHVzZURlZmF1bHQ6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIHZlcnRpY2FsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIERpc2FibGUgdGhlIG1vdXNlIG92ZXIgdGl0bGUgaW5mb3JtYXRpb24gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIHNob3dUaXRsZUluZm86IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3Qgc2VydmljZUxhYmVsRGVzY3JpcHRpb24gPSB0aGlzLnByb3BlcnR5SWRzPy5sZW5ndGhcbiAgICAgID8gdGhpcy5fZ2V0U2VydmljZUxhYmVsRGVzY3JpcHRpb24oKVxuICAgICAgOiBudWxsO1xuICAgIHJldHVybiBodG1sYCA8ZGl2IGNsYXNzPVwic2JiLXNyLW5hdmlnYXRpb25fX3NpZ25zXCI+XG4gICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seSAke3NlcnZpY2VMYWJlbERlc2NyaXB0aW9uID8gc2VydmljZUxhYmVsRGVzY3JpcHRpb24gOiBub3RoaW5nfVxuICAgICAgICA+JHtzZXJ2aWNlTGFiZWxEZXNjcmlwdGlvbn08L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHlcbiAgICAgID5cbiAgICAgICR7dGhpcy5wcm9wZXJ0eUlkcz8ubWFwKChzaWduSWNvbjogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBodG1sYFxuICAgICAgICAgIDxzYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljXG4gICAgICAgICAgICBjbGFzcz1cImF1dG8td2lkdGhcIlxuICAgICAgICAgICAgbmFtZT0ke3NpZ25JY29uID8/IG5vdGhpbmd9XG4gICAgICAgICAgICB0aXRsZT0ke3RoaXMuc2hvd1RpdGxlSW5mb1xuICAgICAgICAgICAgICA/IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oc2lnbkljb24sIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgPjwvc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYz5cbiAgICAgICAgYDtcbiAgICAgIH0pfVxuICAgIDwvZGl2PmA7XG4gIH1cblxuICAvL0dlbmVyYXRlIHRoZSB0cmFuc2xhdGVkIHNlcnZpY2UgbGFiZWwgZnJvbSB0aGUgYXZhaWxhYmxlIHByb3BlcnRpZXNcbiAgcHJpdmF0ZSBfZ2V0U2VydmljZUxhYmVsRGVzY3JpcHRpb24oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgbGV0IGxhYmVsID0gbnVsbDtcbiAgICBjb25zdCB0cmFuc2xhdGVkU2VydmljZUxhYmVscyA9IHRoaXMucHJvcGVydHlJZHNcbiAgICAgIC5tYXAoKHByb3ApID0+IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24ocHJvcCwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCkpXG4gICAgICAuZmlsdGVyKChwcm9wVHJhbnNsYXRpb24pID0+ICEhcHJvcFRyYW5zbGF0aW9uKVxuICAgICAgLmpvaW4oJywgJyk7XG5cbiAgICBpZiAodHJhbnNsYXRlZFNlcnZpY2VMYWJlbHMpIHtcbiAgICAgIGxhYmVsID0gZ2V0STE4blNlYXRSZXNlcnZhdGlvbignQ09BQ0hfQVZBSUxBQkxFX1NFUlZJQ0VTJywgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudClcbiAgICAgICAgLmNvbmNhdCgnOicpXG4gICAgICAgIC5jb25jYXQodHJhbnNsYXRlZFNlcnZpY2VMYWJlbHMpO1xuICAgIH1cbiAgICByZXR1cm4gbGFiZWw7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tc2VydmljZXMnOiBTYmJTZWF0UmVzZXJ2YXRpb25OYXZpZ2F0aW9uU2VydmljZXNFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FDY0EsaUNBQWlDLFFBQVE7Ozs7O0lBTTVCLHFEQUEyQzttQkFBUzs7Ozs7Ozs7OztjQUFwRCxvREFBb0QsWUFBVTs7O0FBTXpELFNBQUEsK0JBQUEsa0JBQUEsTUFBQSwyQkFBd0IsRUFBRSxDQUFBO0FBSzFCLFNBQUEsNkJBQUEsa0JBQUEsTUFBQSwrQkFBQSxFQUFBLGtCQUFBLE1BQUEsd0JBQW9CLE1BQUs7QUFLekIsU0FBQSxrQ0FBQSxrQkFBQSxNQUFBLDRCQUFBLEVBQUEsa0JBQUEsTUFBQSw2QkFBeUIsTUFBSztBQUV0QyxRQUFBLGFBQVMsa0JBQUEsTUFBQSxpQ0FBQSxFQUFHLElBQUksc0JBQXNCLEtBQUs7Ozs7OEJBYmxELFNBQVM7SUFBRSxXQUFXO0lBQWdCLE1BQU07SUFBTyxDQUFDLENBQUE7MkJBSXBELFdBQVcsRUFDWCxTQUFTO0lBQUUsTUFBTTtJQUFTLFNBQVM7SUFBTSxZQUFZO0lBQU0sQ0FBQyxDQUFBO2dDQUk1RCxXQUFXLEVBQ1gsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDLENBQUE7QUFUNUIsZ0JBQUEsTUFBQSxNQUFBLHlCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsaUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBVyxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVgsY0FBVzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDJCQUFBLCtCQUFBO0FBSzNCLGdCQUFBLE1BQUEsTUFBQSxzQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGNBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBUSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVIsV0FBUTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHdCQUFBLDRCQUFBO0FBS3hCLGdCQUFBLE1BQUEsTUFBQSwyQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLG1CQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQWEsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFiLGdCQUFhOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsNkJBQUEsaUNBQUE7Ozs7Ozs7OztBQWZHLFFBQUEsY0FBc0I7OztBQUMvQixRQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsNkNBQU0sQ0FBQzs7RUFJbkY7O0VBQUEsSUFBZ0IsY0FBVztBQUFBLFVBQUEsTUFBQTs7RUFBM0IsSUFBZ0IsWUFBVyxPQUFBO0FBQUEsU0FBQSwrQkFBQTs7RUFLM0I7O0VBQUEsSUFBZ0IsV0FBUTtBQUFBLFVBQUEsTUFBQTs7RUFBeEIsSUFBZ0IsU0FBUSxPQUFBO0FBQUEsU0FBQSw0QkFBQTs7RUFLeEI7O0VBQUEsSUFBZ0IsZ0JBQWE7QUFBQSxVQUFBLE1BQUE7O0VBQTdCLElBQWdCLGNBQWEsT0FBQTtBQUFBLFNBQUEsaUNBQUE7O0VBSVYsU0FBTTtHQUN2QixNQUFNLDBCQUEwQixLQUFLLGFBQWEsU0FDOUMsS0FBSyw2QkFBNkIsR0FDbEM7QUFDSixVQUFPLElBQUk7Z0NBQ2lCLDBCQUEwQiwwQkFBMEIsUUFBQTtXQUN6RSx3QkFBdUI7O1FBRTFCLEtBQUssYUFBYSxLQUFLLGFBQW9CO0FBQzNDLFdBQU8sSUFBSTs7O21CQUdBLFlBQVksUUFBQTtvQkFDWCxLQUFLLGdCQUNULHVCQUF1QixVQUFVLEtBQUssVUFBVSxRQUFRLEdBQ3hELFFBQUE7Ozs7S0FJUixDQUFBOzs7RUFLRSw4QkFBMkI7R0FDakMsSUFBSSxRQUFRO0dBQ1osTUFBTSwwQkFBMEIsS0FBSyxZQUNsQyxLQUFLLFNBQVMsdUJBQXVCLE1BQU0sS0FBSyxVQUFVLFFBQVEsQ0FBQyxDQUNuRSxRQUFRLG9CQUFvQixDQUFDLENBQUMsZ0JBQWdCLENBQzlDLEtBQUssS0FBSztBQUViLE9BQUksd0JBQ0YsU0FBUSx1QkFBdUIsNEJBQTRCLEtBQUssVUFBVSxRQUFRLENBQy9FLE9BQU8sSUFBSSxDQUNYLE9BQU8sd0JBQXdCO0FBRXBDLFVBQU8ifQ==