@sbb-esta/lyne-elements-experimental-dev 4.7.0-dev.1773388997 → 4.7.0-dev.1773396173

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 (199) hide show
  1. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +76 -65
  2. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +52 -72
  3. package/autocomplete-grid/autocomplete-grid-button.js +6 -3
  4. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +17 -2
  5. package/autocomplete-grid/autocomplete-grid-cell.js +7 -4
  6. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +21 -20
  7. package/autocomplete-grid/autocomplete-grid-optgroup.js +6 -3
  8. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +33 -2
  9. package/autocomplete-grid/autocomplete-grid-option.js +9 -4
  10. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +22 -2
  11. package/autocomplete-grid/autocomplete-grid-row.js +7 -4
  12. package/autocomplete-grid/autocomplete-grid.js +6 -3
  13. package/autocomplete-grid.js +21 -9
  14. package/autocomplete-grid.pure.js +15 -7
  15. package/core/datetime/date-helper.js +191 -2
  16. package/core/datetime.js +5 -2
  17. package/core/timetable/access-leg-helper.js +71 -76
  18. package/core/timetable/timetable-helper.js +11 -9
  19. package/core/timetable/timetable-properties.js +1 -0
  20. package/core/timetable.js +7 -3
  21. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +122 -114
  22. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +70 -92
  23. package/development/autocomplete-grid/autocomplete-grid-button.js +4 -6
  24. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +29 -2
  25. package/development/autocomplete-grid/autocomplete-grid-cell.js +5 -7
  26. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +22 -27
  27. package/development/autocomplete-grid/autocomplete-grid-optgroup.js +4 -6
  28. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +109 -2
  29. package/development/autocomplete-grid/autocomplete-grid-option.js +7 -7
  30. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +91 -2
  31. package/development/autocomplete-grid/autocomplete-grid-row.js +5 -7
  32. package/development/autocomplete-grid/autocomplete-grid.js +4 -6
  33. package/development/autocomplete-grid.js +14 -10
  34. package/development/autocomplete-grid.pure.js +13 -4
  35. package/development/core/datetime/date-helper.js +285 -2
  36. package/development/core/datetime.js +6 -2
  37. package/development/core/timetable/access-leg-helper.js +82 -104
  38. package/development/core/timetable/timetable-helper.js +17 -16
  39. package/development/core/timetable/timetable-properties.js +2 -0
  40. package/development/core/timetable.js +8 -3
  41. package/development/differenceInMinutes-B0dawX-5.js +26 -0
  42. package/development/format-BMkeaqaF.js +1433 -0
  43. package/development/isValid-BYRch7pV.js +53 -0
  44. package/development/journey-summary/journey-summary.component.js +288 -2
  45. package/development/journey-summary.js +5 -8
  46. package/development/journey-summary.pure.js +5 -2
  47. package/development/pearl-chain/pearl-chain.component.js +634 -2
  48. package/development/pearl-chain-time/pearl-chain-time.component.js +306 -2
  49. package/development/pearl-chain-time.js +5 -8
  50. package/development/pearl-chain-time.pure.js +5 -2
  51. package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +28 -2
  52. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +393 -2
  53. package/development/pearl-chain-vertical-item.js +5 -8
  54. package/development/pearl-chain-vertical-item.pure.js +5 -2
  55. package/development/pearl-chain-vertical.js +5 -8
  56. package/development/pearl-chain-vertical.pure.js +5 -2
  57. package/development/pearl-chain.js +5 -8
  58. package/development/pearl-chain.pure.js +5 -2
  59. package/development/seat-reservation/common/mapper/icon-mapper.js +71 -168
  60. package/development/seat-reservation/common/mapper/mapper.js +122 -153
  61. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +559 -570
  62. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +972 -992
  63. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20367 -20334
  64. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1738 -1731
  65. package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9782 -9741
  66. package/development/seat-reservation/common/mapper.js +8 -1
  67. package/development/seat-reservation/common/svgs.js +46 -2
  68. package/development/seat-reservation/common/translations/i18n.js +900 -1118
  69. package/development/seat-reservation/common/translations.js +4 -1
  70. package/development/seat-reservation/common/types.js +2 -0
  71. package/development/seat-reservation/common.js +11 -7
  72. package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +1230 -1305
  73. package/development/seat-reservation/seat-reservation/seat-reservation.component.js +859 -2
  74. package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +106 -2
  75. package/development/seat-reservation/seat-reservation-area.js +5 -7
  76. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +34 -35
  77. package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +162 -2
  78. package/development/seat-reservation/seat-reservation-graphic.js +5 -7
  79. package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +713 -2
  80. package/development/seat-reservation/seat-reservation-navigation-coach.js +5 -7
  81. package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +131 -2
  82. package/development/seat-reservation/seat-reservation-navigation-services.js +5 -7
  83. package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +601 -2
  84. package/development/seat-reservation/seat-reservation-place-control.js +5 -7
  85. package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +22 -2
  86. package/development/seat-reservation/seat-reservation-scoped.js +5 -7
  87. package/development/seat-reservation/seat-reservation.js +6 -7
  88. package/development/seat-reservation.js +28 -15
  89. package/development/seat-reservation.pure.js +28 -10
  90. package/development/timetable-duration/timetable-duration.component.js +108 -2
  91. package/development/timetable-duration.js +5 -8
  92. package/development/timetable-duration.pure.js +5 -2
  93. package/development/timetable-row/timetable-row.component.js +781 -2
  94. package/development/timetable-row.js +13 -8
  95. package/development/timetable-row.pure.js +12 -2
  96. package/development/toDate-BWb6Z1JD.js +24 -0
  97. package/differenceInMinutes-COvvdYsJ.js +23 -0
  98. package/format-CmKROkbc.js +1186 -0
  99. package/isValid-m3_OsPaB.js +45 -0
  100. package/journey-summary/journey-summary.component.js +194 -2
  101. package/journey-summary.js +4 -5
  102. package/journey-summary.pure.js +4 -2
  103. package/package.json +2 -2
  104. package/pearl-chain/pearl-chain.component.js +165 -2
  105. package/pearl-chain-time/pearl-chain-time.component.js +157 -2
  106. package/pearl-chain-time.js +4 -5
  107. package/pearl-chain-time.pure.js +4 -2
  108. package/pearl-chain-vertical/pearl-chain-vertical.component.js +17 -2
  109. package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +77 -2
  110. package/pearl-chain-vertical-item.js +4 -5
  111. package/pearl-chain-vertical-item.pure.js +4 -2
  112. package/pearl-chain-vertical.js +4 -5
  113. package/pearl-chain-vertical.pure.js +4 -2
  114. package/pearl-chain.js +4 -5
  115. package/pearl-chain.pure.js +4 -2
  116. package/seat-reservation/common/mapper/icon-mapper.js +71 -71
  117. package/seat-reservation/common/mapper/mapper.js +89 -95
  118. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +558 -568
  119. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +970 -989
  120. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20366 -20332
  121. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1737 -1729
  122. package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9781 -9739
  123. package/seat-reservation/common/mapper.js +9 -3
  124. package/seat-reservation/common/svgs.js +243 -2
  125. package/seat-reservation/common/translations/i18n.js +891 -1084
  126. package/seat-reservation/common/translations.js +4 -2
  127. package/seat-reservation/common/types.js +1 -0
  128. package/seat-reservation/common.js +15 -9
  129. package/seat-reservation/seat-reservation/seat-reservation-base-element.js +810 -832
  130. package/seat-reservation/seat-reservation/seat-reservation.component.js +420 -2
  131. package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +51 -2
  132. package/seat-reservation/seat-reservation-area.js +7 -4
  133. package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +71 -68
  134. package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +75 -2
  135. package/seat-reservation/seat-reservation-graphic.js +7 -4
  136. package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +234 -2
  137. package/seat-reservation/seat-reservation-navigation-coach.js +7 -4
  138. package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +85 -2
  139. package/seat-reservation/seat-reservation-navigation-services.js +7 -4
  140. package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +203 -2
  141. package/seat-reservation/seat-reservation-place-control.js +7 -4
  142. package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +13 -2
  143. package/seat-reservation/seat-reservation-scoped.js +7 -4
  144. package/seat-reservation/seat-reservation.js +9 -5
  145. package/seat-reservation.js +39 -17
  146. package/seat-reservation.pure.js +32 -15
  147. package/timetable-duration/timetable-duration.component.js +57 -2
  148. package/timetable-duration.js +4 -5
  149. package/timetable-duration.pure.js +4 -2
  150. package/timetable-row/timetable-row.component.js +427 -2
  151. package/timetable-row.js +13 -6
  152. package/timetable-row.pure.js +11 -2
  153. package/toDate-Bw2KTWeq.js +15 -0
  154. package/autocomplete-grid-cell.component-Dak9wlBr.js +0 -24
  155. package/autocomplete-grid-option.component-DNRFHOwc.js +0 -37
  156. package/autocomplete-grid-row.component-DBHZQ0GQ.js +0 -27
  157. package/date-helper-CGproP5d.js +0 -185
  158. package/development/autocomplete-grid-cell.component-BBvM4o2H.js +0 -42
  159. package/development/autocomplete-grid-option.component-QzfM5eIE.js +0 -123
  160. package/development/autocomplete-grid-row.component-H8sCTCkT.js +0 -104
  161. package/development/date-helper-8_Y-PuHh.js +0 -520
  162. package/development/differenceInMinutes-DN_1Rk3O.js +0 -110
  163. package/development/format-Bbrn2bgo.js +0 -1848
  164. package/development/isValid-C-HzKv4v.js +0 -178
  165. package/development/journey-summary.component-uGhZvA4p.js +0 -385
  166. package/development/pearl-chain-time.component-B8mayTWD.js +0 -415
  167. package/development/pearl-chain-vertical-item.component-BDzbcIaf.js +0 -435
  168. package/development/pearl-chain-vertical.component-CswE7b3M.js +0 -39
  169. package/development/pearl-chain.component-wpsTvoSe.js +0 -704
  170. package/development/seat-reservation-area.component-BK92ZtFo.js +0 -138
  171. package/development/seat-reservation-graphic.component-cUnsHh5x.js +0 -193
  172. package/development/seat-reservation-navigation-coach.component-D6Bglus8.js +0 -828
  173. package/development/seat-reservation-navigation-services.component-DYJ6Ddkg.js +0 -179
  174. package/development/seat-reservation-place-control.component-Bg9evKBW.js +0 -726
  175. package/development/seat-reservation-scoped.component-DRQ_I702.js +0 -31
  176. package/development/seat-reservation.component-Cq_aJKR0.js +0 -818
  177. package/development/svgs-C3JMWR26.js +0 -28
  178. package/development/timetable-duration.component-DI0lET17.js +0 -125
  179. package/development/timetable-row.component-CAED6Zwc.js +0 -932
  180. package/development/toDate-Biiv3kyf.js +0 -150
  181. package/differenceInMinutes-Dr9gRqtu.js +0 -27
  182. package/format-CM5exOsN.js +0 -1103
  183. package/isValid-B9oVW3lA.js +0 -36
  184. package/journey-summary.component-Cq_4kaOp.js +0 -264
  185. package/pearl-chain-time.component-DGDW5S1c.js +0 -239
  186. package/pearl-chain-vertical-item.component-G22bWhLU.js +0 -108
  187. package/pearl-chain-vertical.component-CXIDT5RD.js +0 -21
  188. package/pearl-chain.component-DmjkVIva.js +0 -194
  189. package/seat-reservation-area.component-n-9rGn_y.js +0 -75
  190. package/seat-reservation-graphic.component-YTXRmKt0.js +0 -102
  191. package/seat-reservation-navigation-coach.component-YJ0vaYmO.js +0 -333
  192. package/seat-reservation-navigation-services.component-C3xnLJg2.js +0 -127
  193. package/seat-reservation-place-control.component-DmBAfM6K.js +0 -322
  194. package/seat-reservation-scoped.component-DPkz6u17.js +0 -17
  195. package/seat-reservation.component-C_anMkgw.js +0 -364
  196. package/svgs-D9arBcqr.js +0 -26
  197. package/timetable-duration.component-DCu8Phts.js +0 -65
  198. package/timetable-row.component-BVRCB3xK.js +0 -559
  199. package/toDate-p-Tpkb7t.js +0 -16
@@ -1,179 +0,0 @@
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 { css, html, nothing } 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?lit&inline
12
- var seat_reservation_navigation_services_default = css`.sbb-sr-navigation__signs {
13
- display: flex;
14
- flex-direction: row;
15
- justify-content: center;
16
- column-gap: var(--sbb-spacing-fixed-2x);
17
- overflow: hidden;
18
- line-height: normal;
19
- color: var(--sbb-color-granite);
20
- color: light-dark(var(--sbb-color-granite), var(--sbb-color-graphite));
21
- }
22
- .sbb-sr-navigation__signs:has(:nth-child(n+3 of .auto-width)):has([name^=SILENCE], [name^=BUSINESS]) {
23
- column-gap: calc(6 * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
24
- }
25
- .sbb-sr-navigation__signs:has(:nth-child(n+3 of .auto-width)):has([name^=SILENCE], [name^=BUSINESS]):has([name^=BICYCLE]) {
26
- column-gap: calc(3 * var(--sbb-seat-reservation-one-px-rem, 0.0625rem));
27
- }
28
-
29
- :host([vertical]) .sbb-sr-navigation__signs {
30
- flex-direction: column;
31
- height: 100%;
32
- }`;
33
- //#endregion
34
- //#region src/elements-experimental/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.ts
35
- SbbSeatReservationGraphicElement.define();
36
- /**
37
- * Component displays the available service icons of one coach.
38
- *
39
- */
40
- var SbbSeatReservationNavigationServicesElement = (() => {
41
- let _classSuper = SbbElement;
42
- let _propertyIds_decorators;
43
- let _propertyIds_initializers = [];
44
- let _propertyIds_extraInitializers = [];
45
- let _vertical_decorators;
46
- let _vertical_initializers = [];
47
- let _vertical_extraInitializers = [];
48
- let _showTitleInfo_decorators;
49
- let _showTitleInfo_initializers = [];
50
- let _showTitleInfo_extraInitializers = [];
51
- return class SbbSeatReservationNavigationServicesElement extends _classSuper {
52
- constructor() {
53
- super(...arguments);
54
- this.#propertyIds_accessor_storage = __runInitializers(this, _propertyIds_initializers, []);
55
- this.#vertical_accessor_storage = (__runInitializers(this, _propertyIds_extraInitializers), __runInitializers(this, _vertical_initializers, false));
56
- this.#showTitleInfo_accessor_storage = (__runInitializers(this, _vertical_extraInitializers), __runInitializers(this, _showTitleInfo_initializers, false));
57
- this._language = (__runInitializers(this, _showTitleInfo_extraInitializers), new SbbLanguageController(this));
58
- }
59
- static {
60
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
61
- _propertyIds_decorators = [property({
62
- attribute: "property-ids",
63
- type: Array
64
- })];
65
- _vertical_decorators = [forceType(), property({
66
- type: Boolean,
67
- reflect: true,
68
- useDefault: true
69
- })];
70
- _showTitleInfo_decorators = [forceType(), property({ type: Boolean })];
71
- __esDecorate(this, null, _propertyIds_decorators, {
72
- kind: "accessor",
73
- name: "propertyIds",
74
- static: false,
75
- private: false,
76
- access: {
77
- has: (obj) => "propertyIds" in obj,
78
- get: (obj) => obj.propertyIds,
79
- set: (obj, value) => {
80
- obj.propertyIds = value;
81
- }
82
- },
83
- metadata: _metadata
84
- }, _propertyIds_initializers, _propertyIds_extraInitializers);
85
- __esDecorate(this, null, _vertical_decorators, {
86
- kind: "accessor",
87
- name: "vertical",
88
- static: false,
89
- private: false,
90
- access: {
91
- has: (obj) => "vertical" in obj,
92
- get: (obj) => obj.vertical,
93
- set: (obj, value) => {
94
- obj.vertical = value;
95
- }
96
- },
97
- metadata: _metadata
98
- }, _vertical_initializers, _vertical_extraInitializers);
99
- __esDecorate(this, null, _showTitleInfo_decorators, {
100
- kind: "accessor",
101
- name: "showTitleInfo",
102
- static: false,
103
- private: false,
104
- access: {
105
- has: (obj) => "showTitleInfo" in obj,
106
- get: (obj) => obj.showTitleInfo,
107
- set: (obj, value) => {
108
- obj.showTitleInfo = value;
109
- }
110
- },
111
- metadata: _metadata
112
- }, _showTitleInfo_initializers, _showTitleInfo_extraInitializers);
113
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
114
- enumerable: true,
115
- configurable: true,
116
- writable: true,
117
- value: _metadata
118
- });
119
- }
120
- static {
121
- this.elementName = "sbb-seat-reservation-navigation-services";
122
- }
123
- static {
124
- this.styles = [boxSizingStyles, seat_reservation_navigation_services_default];
125
- }
126
- #propertyIds_accessor_storage;
127
- /** Coach service property ids, which are used to display the services in the navigation */
128
- get propertyIds() {
129
- return this.#propertyIds_accessor_storage;
130
- }
131
- set propertyIds(value) {
132
- this.#propertyIds_accessor_storage = value;
133
- }
134
- #vertical_accessor_storage;
135
- /** If true, the service icons are displayed vertically */
136
- get vertical() {
137
- return this.#vertical_accessor_storage;
138
- }
139
- set vertical(value) {
140
- this.#vertical_accessor_storage = value;
141
- }
142
- #showTitleInfo_accessor_storage;
143
- /** Disable the mouse over title information */
144
- get showTitleInfo() {
145
- return this.#showTitleInfo_accessor_storage;
146
- }
147
- set showTitleInfo(value) {
148
- this.#showTitleInfo_accessor_storage = value;
149
- }
150
- render() {
151
- const serviceLabelDescription = this.propertyIds?.length ? this._getServiceLabelDescription() : null;
152
- return html` <div class="sbb-sr-navigation__signs">
153
- <sbb-screen-reader-only ${serviceLabelDescription ? serviceLabelDescription : nothing}
154
- >${serviceLabelDescription}</sbb-screen-reader-only
155
- >
156
- ${this.propertyIds?.map((signIcon) => {
157
- return html`
158
- <sbb-seat-reservation-graphic
159
- class="auto-width"
160
- name=${signIcon ?? nothing}
161
- title=${this.showTitleInfo ? getI18nSeatReservation(signIcon, this._language.current) : nothing}
162
- aria-hidden="true"
163
- ></sbb-seat-reservation-graphic>
164
- `;
165
- })}
166
- </div>`;
167
- }
168
- _getServiceLabelDescription() {
169
- let label = null;
170
- const translatedServiceLabels = this.propertyIds.map((prop) => getI18nSeatReservation(prop, this._language.current)).filter((propTranslation) => !!propTranslation).join(", ");
171
- if (translatedServiceLabels) label = getI18nSeatReservation("COACH_AVAILABLE_SERVICES", this._language.current).concat(":").concat(translatedServiceLabels);
172
- return label;
173
- }
174
- };
175
- })();
176
- //#endregion
177
- export { SbbSeatReservationNavigationServicesElement as t };
178
-
179
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXNlcnZpY2VzLmNvbXBvbmVudC1EWUo2RGRrZy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXNlcnZpY2VzL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1zZXJ2aWNlcy5zY3NzP2xpdCZpbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL3NlYXQtcmVzZXJ2YXRpb24vc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXNlcnZpY2VzL3NlYXQtcmVzZXJ2YXRpb24tbmF2aWdhdGlvbi1zZXJ2aWNlcy5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9zdHlsZXMnIGFzIHNiYjtcbkB1c2UgJy4uL2NvbW1vbi9zdHlsZXMvc2VhdC1yZXNlcnZhdGlvbi1mdW5jdGlvbnMnIGFzIHNiYi1zci1mdW5jdGlvbnM7XG5cbi5zYmItc3ItbmF2aWdhdGlvbl9fc2lnbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksIHZhcigtLXNiYi1jb2xvci1ncmFwaGl0ZSkpO1xuXG4gIC8vIFRJTU8tNDQyMTVcbiAgLy8gZGVjcmVhc2UgY29sdW1uLWdhcCB3aGVuIHRocmVlIHdpZGUgc2VydmljZS1pY29ucyBhcmUgY29tYmluZWRcbiAgJjpoYXMoOm50aC1jaGlsZChuICsgMyBvZiAuYXV0by13aWR0aCkpIHtcbiAgICAvLyBhZGp1c3RtZW50IGZvciBzaWxlbmNlLSBhbmQgYnVzaW5lc3MtaWNvbnNcbiAgICAmOmhhcyhbbmFtZV49J1NJTEVOQ0UnXSwgW25hbWVePSdCVVNJTkVTUyddKSB7XG4gICAgICBjb2x1bW4tZ2FwOiBzYmItc3ItZnVuY3Rpb25zLnNyLXB4LXRvLXJlbSg2KTtcblxuICAgICAgLy8gYmljeWNsZSBpY29uIG9ubHkgbmVlZHMgZnVydGhlciBhZGp1c3RtZW50IHdoZW4gY29tYmluZWQgd2l0aCBzaWxlbmNlLSBhbmQgYnVzaW5lc3MtaWNvbnNcbiAgICAgICY6aGFzKFtuYW1lXj0nQklDWUNMRSddKSB7XG4gICAgICAgIGNvbHVtbi1nYXA6IHNiYi1zci1mdW5jdGlvbnMuc3ItcHgtdG8tcmVtKDMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbdmVydGljYWxdKSAuc2JiLXNyLW5hdmlnYXRpb25fX3NpZ25zIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuIiwiaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBub3RoaW5nLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24gfSBmcm9tICcuLi9jb21tb24vdHJhbnNsYXRpb25zLnRzJztcbmltcG9ydCB7IFNiYlNlYXRSZXNlcnZhdGlvbkdyYXBoaWNFbGVtZW50IH0gZnJvbSAnLi4vc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljL3NlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYy5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tc2VydmljZXMuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuXG5TYmJTZWF0UmVzZXJ2YXRpb25HcmFwaGljRWxlbWVudC5kZWZpbmUoKTtcblxuLyoqXG4gKiBDb21wb25lbnQgZGlzcGxheXMgdGhlIGF2YWlsYWJsZSBzZXJ2aWNlIGljb25zIG9mIG9uZSBjb2FjaC5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTZWF0UmVzZXJ2YXRpb25OYXZpZ2F0aW9uU2VydmljZXNFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc2VhdC1yZXNlcnZhdGlvbi1uYXZpZ2F0aW9uLXNlcnZpY2VzJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgc3R5bGVdO1xuXG4gIC8qKiBDb2FjaCBzZXJ2aWNlIHByb3BlcnR5IGlkcywgd2hpY2ggYXJlIHVzZWQgdG8gZGlzcGxheSB0aGUgc2VydmljZXMgaW4gdGhlIG5hdmlnYXRpb24gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncHJvcGVydHktaWRzJywgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIGFjY2Vzc29yIHByb3BlcnR5SWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBJZiB0cnVlLCB0aGUgc2VydmljZSBpY29ucyBhcmUgZGlzcGxheWVkIHZlcnRpY2FsbHkgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUsIHVzZURlZmF1bHQ6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIHZlcnRpY2FsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIERpc2FibGUgdGhlIG1vdXNlIG92ZXIgdGl0bGUgaW5mb3JtYXRpb24gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIHNob3dUaXRsZUluZm86IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3Qgc2VydmljZUxhYmVsRGVzY3JpcHRpb24gPSB0aGlzLnByb3BlcnR5SWRzPy5sZW5ndGhcbiAgICAgID8gdGhpcy5fZ2V0U2VydmljZUxhYmVsRGVzY3JpcHRpb24oKVxuICAgICAgOiBudWxsO1xuICAgIHJldHVybiBodG1sYCA8ZGl2IGNsYXNzPVwic2JiLXNyLW5hdmlnYXRpb25fX3NpZ25zXCI+XG4gICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seSAke3NlcnZpY2VMYWJlbERlc2NyaXB0aW9uID8gc2VydmljZUxhYmVsRGVzY3JpcHRpb24gOiBub3RoaW5nfVxuICAgICAgICA+JHtzZXJ2aWNlTGFiZWxEZXNjcmlwdGlvbn08L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHlcbiAgICAgID5cbiAgICAgICR7dGhpcy5wcm9wZXJ0eUlkcz8ubWFwKChzaWduSWNvbjogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBodG1sYFxuICAgICAgICAgIDxzYmItc2VhdC1yZXNlcnZhdGlvbi1ncmFwaGljXG4gICAgICAgICAgICBjbGFzcz1cImF1dG8td2lkdGhcIlxuICAgICAgICAgICAgbmFtZT0ke3NpZ25JY29uID8/IG5vdGhpbmd9XG4gICAgICAgICAgICB0aXRsZT0ke3RoaXMuc2hvd1RpdGxlSW5mb1xuICAgICAgICAgICAgICA/IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24oc2lnbkljb24sIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnQpXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgPjwvc2JiLXNlYXQtcmVzZXJ2YXRpb24tZ3JhcGhpYz5cbiAgICAgICAgYDtcbiAgICAgIH0pfVxuICAgIDwvZGl2PmA7XG4gIH1cblxuICAvL0dlbmVyYXRlIHRoZSB0cmFuc2xhdGVkIHNlcnZpY2UgbGFiZWwgZnJvbSB0aGUgYXZhaWxhYmxlIHByb3BlcnRpZXNcbiAgcHJpdmF0ZSBfZ2V0U2VydmljZUxhYmVsRGVzY3JpcHRpb24oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgbGV0IGxhYmVsID0gbnVsbDtcbiAgICBjb25zdCB0cmFuc2xhdGVkU2VydmljZUxhYmVscyA9IHRoaXMucHJvcGVydHlJZHNcbiAgICAgIC5tYXAoKHByb3ApID0+IGdldEkxOG5TZWF0UmVzZXJ2YXRpb24ocHJvcCwgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudCkpXG4gICAgICAuZmlsdGVyKChwcm9wVHJhbnNsYXRpb24pID0+ICEhcHJvcFRyYW5zbGF0aW9uKVxuICAgICAgLmpvaW4oJywgJyk7XG5cbiAgICBpZiAodHJhbnNsYXRlZFNlcnZpY2VMYWJlbHMpIHtcbiAgICAgIGxhYmVsID0gZ2V0STE4blNlYXRSZXNlcnZhdGlvbignQ09BQ0hfQVZBSUxBQkxFX1NFUlZJQ0VTJywgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudClcbiAgICAgICAgLmNvbmNhdCgnOicpXG4gICAgICAgIC5jb25jYXQodHJhbnNsYXRlZFNlcnZpY2VMYWJlbHMpO1xuICAgIH1cbiAgICByZXR1cm4gbGFiZWw7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zZWF0LXJlc2VydmF0aW9uLW5hdmlnYXRpb24tc2VydmljZXMnOiBTYmJTZWF0UmVzZXJ2YXRpb25OYXZpZ2F0aW9uU2VydmljZXNFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNlQSxpQ0FBaUMsUUFBUTs7Ozs7SUFNNUIscURBQTJDO21CQUFTOzs7Ozs7Ozs7O2NBQXBELG9EQUFvRCxZQUFVOzs7QUFNekQsU0FBQSwrQkFBQSxrQkFBQSxNQUFBLDJCQUF3QixFQUFFLENBQUE7QUFLMUIsU0FBQSw2QkFBQSxrQkFBQSxNQUFBLCtCQUFBLEVBQUEsa0JBQUEsTUFBQSx3QkFBb0IsTUFBSztBQUt6QixTQUFBLGtDQUFBLGtCQUFBLE1BQUEsNEJBQUEsRUFBQSxrQkFBQSxNQUFBLDZCQUF5QixNQUFLO0FBRXRDLFFBQUEsYUFBUyxrQkFBQSxNQUFBLGlDQUFBLEVBQUcsSUFBSSxzQkFBc0IsS0FBSzs7Ozs4QkFibEQsU0FBUztJQUFFLFdBQVc7SUFBZ0IsTUFBTTtJQUFPLENBQUMsQ0FBQTsyQkFJcEQsV0FBVyxFQUNYLFNBQVM7SUFBRSxNQUFNO0lBQVMsU0FBUztJQUFNLFlBQVk7SUFBTSxDQUFDLENBQUE7Z0NBSTVELFdBQVcsRUFDWCxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUMsQ0FBQTtBQVQ1QixnQkFBQSxNQUFBLE1BQUEseUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxpQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFXLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBWCxjQUFXOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsMkJBQUEsK0JBQUE7QUFLM0IsZ0JBQUEsTUFBQSxNQUFBLHNCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsY0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFRLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBUixXQUFROztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsd0JBQUEsNEJBQUE7QUFLeEIsZ0JBQUEsTUFBQSxNQUFBLDJCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsbUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBYSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQWIsZ0JBQWE7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSw2QkFBQSxpQ0FBQTs7Ozs7Ozs7O0FBZkcsUUFBQSxjQUFzQjs7O0FBQy9CLFFBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsNkNBQU07O0VBSXhFOztFQUFBLElBQWdCLGNBQVc7QUFBQSxVQUFBLE1BQUE7O0VBQTNCLElBQWdCLFlBQVcsT0FBQTtBQUFBLFNBQUEsK0JBQUE7O0VBSzNCOztFQUFBLElBQWdCLFdBQVE7QUFBQSxVQUFBLE1BQUE7O0VBQXhCLElBQWdCLFNBQVEsT0FBQTtBQUFBLFNBQUEsNEJBQUE7O0VBS3hCOztFQUFBLElBQWdCLGdCQUFhO0FBQUEsVUFBQSxNQUFBOztFQUE3QixJQUFnQixjQUFhLE9BQUE7QUFBQSxTQUFBLGlDQUFBOztFQUlWLFNBQU07R0FDdkIsTUFBTSwwQkFBMEIsS0FBSyxhQUFhLFNBQzlDLEtBQUssNkJBQTZCLEdBQ2xDO0FBQ0osVUFBTyxJQUFJO2dDQUNpQiwwQkFBMEIsMEJBQTBCLFFBQUE7V0FDekUsd0JBQXVCOztRQUUxQixLQUFLLGFBQWEsS0FBSyxhQUFvQjtBQUMzQyxXQUFPLElBQUk7OzttQkFHQSxZQUFZLFFBQUE7b0JBQ1gsS0FBSyxnQkFDVCx1QkFBdUIsVUFBVSxLQUFLLFVBQVUsUUFBUSxHQUN4RCxRQUFBOzs7O0tBSVIsQ0FBQTs7O0VBS0UsOEJBQTJCO0dBQ2pDLElBQUksUUFBUTtHQUNaLE1BQU0sMEJBQTBCLEtBQUssWUFDbEMsS0FBSyxTQUFTLHVCQUF1QixNQUFNLEtBQUssVUFBVSxRQUFRLENBQUMsQ0FDbkUsUUFBUSxvQkFBb0IsQ0FBQyxDQUFDLGdCQUFnQixDQUM5QyxLQUFLLEtBQUs7QUFFYixPQUFJLHdCQUNGLFNBQVEsdUJBQXVCLDRCQUE0QixLQUFLLFVBQVUsUUFBUSxDQUMvRSxPQUFPLElBQUksQ0FDWCxPQUFPLHdCQUF3QjtBQUVwQyxVQUFPIn0=