@kms-ngx-ui/presentational 14.1.3 → 14.2.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.
@@ -5,6 +5,11 @@ import { DOCUMENT, isPlatformBrowser } from '@angular/common';
5
5
  import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
6
6
  import { Subject } from 'rxjs';
7
7
  import * as i0 from "@angular/core";
8
+ export class WindowDimensions {
9
+ constructor(data) {
10
+ Object.assign(this, data);
11
+ }
12
+ }
8
13
  export class SimpleBreakpoint {
9
14
  constructor(data) {
10
15
  Object.assign(this, data);
@@ -83,13 +88,13 @@ export class ViewportService {
83
88
  }
84
89
  }
85
90
  /**
86
- * Get window height
91
+ * Get document height
87
92
  */
88
93
  getDocumentHeight() {
89
94
  return this.isBrowser ? document.body.clientHeight : 1200;
90
95
  }
91
96
  /**
92
- * Get window width
97
+ * Get document width
93
98
  */
94
99
  getDocumentWidth() {
95
100
  return this.isBrowser ? document.body.clientWidth : 1200;
@@ -130,11 +135,33 @@ export class ViewportService {
130
135
  }
131
136
  /**
132
137
  * Returns the current viewport as number
138
+ * @deprecated use getCurrentViewPortDimensions instead
133
139
  * @returns string
134
140
  */
135
141
  getCurrentViewPortNumber() {
136
142
  return this.isBrowser ? document.body.clientWidth : 1200;
137
143
  }
144
+ /**
145
+ * Returns the current viewport width as number
146
+ * @returns string
147
+ */
148
+ getCurrentViewPortWidth() {
149
+ return this.isBrowser ? document.body.clientWidth : 1200;
150
+ }
151
+ /**
152
+ * Returns the current viewport as number
153
+ * @returns string
154
+ */
155
+ getCurrentViewPortHeight() {
156
+ return this.isBrowser ? document.body.clientHeight : 600;
157
+ }
158
+ /**
159
+ * Returns the current viewport dimensions
160
+ * @returns string
161
+ */
162
+ getCurrentViewPortDimensions() {
163
+ return this.isBrowser ? { Width: document.body.clientWidth, Height: document.body.clientWidth, Orientation: this.getOrientationAsString() } : { Width: 800, Height: 600, Orientation: "landscape" };
164
+ }
138
165
  /**
139
166
  * Provides mq´s as string
140
167
  */
@@ -197,7 +224,7 @@ export class ViewportService {
197
224
  if (this.isBrowser)
198
225
  return window.innerHeight > window.innerWidth;
199
226
  else
200
- return;
227
+ return undefined;
201
228
  }
202
229
  /**
203
230
  * If orientation is landscape
@@ -208,9 +235,15 @@ export class ViewportService {
208
235
  return isLandscape;
209
236
  }
210
237
  else {
211
- return;
238
+ return undefined;
212
239
  }
213
240
  }
241
+ /**
242
+ * Get screen orientation (portrait/landscape)
243
+ */
244
+ getOrientationAsString() {
245
+ return this.isPortrait ? "portrait" : "landscape";
246
+ }
214
247
  /**
215
248
  * If mobile breakpoint (below tablet)
216
249
  */
@@ -222,6 +255,12 @@ export class ViewportService {
222
255
  * @deprecated
223
256
  */
224
257
  calculateFullscreenElementsheight(id, defaultheight, extra) {
258
+ return this.calculateFullscreenElementsHeight(id, defaultheight, extra);
259
+ }
260
+ /**
261
+ * Get height of an element
262
+ */
263
+ calculateFullscreenElementsHeight(id, defaultheight, extra) {
225
264
  if (!this.isBrowser || this.isMobile()) {
226
265
  return defaultheight;
227
266
  }
@@ -237,12 +276,6 @@ export class ViewportService {
237
276
  }
238
277
  }
239
278
  }
240
- /**
241
- * Get height of an element
242
- */
243
- calculateFullscreenElementsHeight(id, defaultheight, extra) {
244
- return this.calculateFullscreenElementsheight(id, defaultheight, extra);
245
- }
246
279
  /**
247
280
  * If viewport changed
248
281
  * @event
@@ -319,4 +352,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
319
352
  type: Inject,
320
353
  args: [DOCUMENT]
321
354
  }] }]; } });
322
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi9zZXJ2aWNlcy92aWV3cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFlBQVksSUFBZ0M7UUFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUlKO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFDbkIsWUFBWSxJQUFnQztRQUN4QyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBS0o7QUFFRDs7R0FFRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBMkR4QixZQUNpQyxVQUFrQixFQUN0QixRQUFrQjtRQURkLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQTVEL0Isc0JBQWlCLEdBQXVCO1lBQ3BELEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUU7WUFDakQsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRTtZQUNsRCxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUs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QUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CLENBQUMsVUFBa0I7UUFDbEMsSUFBSSxnQkFBOEMsQ0FBQztRQUVuRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyw0SkFBNEo7UUFDcE4sS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUU7WUFDckIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRTtnQkFDdkMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2pDO1NBQ0o7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDbkIsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsNEdBQTRHO1NBQzVJO1FBRUQsT0FBTyxnQkFBZ0IsQ0FBQztJQUM1QixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ2xFO0lBQ0wsQ0FBQzs7NEdBNVVRLGVBQWUsa0JBNERaLFdBQVcsYUFDWCxRQUFRO2dIQTdEWCxlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVU7OzBCQTZERixNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBjb3B5cmlnaHQgS01TIEdtYkhcbiAqL1xuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTnVsbEFibGUgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogYW55O1xuZGVjbGFyZSBjb25zdCBkb2N1bWVudDogYW55O1xuXG5leHBvcnQgY2xhc3MgU2ltcGxlQnJlYWtwb2ludCB7XG4gICAgY29uc3RydWN0b3IoZGF0YT86IFBhcnRpYWw8U2ltcGxlQnJlYWtwb2ludD4pIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBkYXRhKTtcbiAgICB9XG4gICAgTnVtYmVyITogbnVtYmVyO1xuICAgIE5hbWUhOiBzdHJpbmc7XG4gICAgTWF4aW11bVBpeGVscyE6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIEJyZWFrcG9pbnQge1xuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBQYXJ0aWFsPFNpbXBsZUJyZWFrcG9pbnQ+KSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZGF0YSk7XG4gICAgfVxuICAgIE51bWJlciE6IG51bWJlcjtcbiAgICBOYW1lITogc3RyaW5nO1xuICAgIExvdyE6IG51bWJlcjtcbiAgICBIaWdoITogbnVtYmVyO1xufVxuXG4vKipcbiAqIFNlcnZpY2UgdG8gZ2V0IHZpZXdwb3J0XG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBWaWV3cG9ydFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyByZWFkb25seSBzaW1wbGVCcmVha3BvaW50czogU2ltcGxlQnJlYWtwb2ludFtdID0gW1xuICAgICAgICB7IE51bWJlcjogMCwgTmFtZTogJ21vYmlsZScsIE1heGltdW1QaXhlbHM6IDc2OCB9LFxuICAgICAgICB7IE51bWJlcjogMSwgTmFtZTogJ3RhYmxldCcsIE1heGltdW1QaXhlbHM6IDEwMjQgfSxcbiAgICAgICAgeyBOdW1iZXI6IDIsIE5hbWU6ICdkZXNrdG9wJywgTWF4aW11bVBpeGVsczogMTYwMCB9LFxuICAgICAgICB7IE51bWJlcjogMywgTmFtZTogJ2hpZ2gnLCBNYXhpbXVtUGl4ZWxzOiAyNTAwIH0sXG4gICAgXTtcblxuICAgIHB1YmxpYyByZWFkb25seSBicmVha3BvaW50czogQnJlYWtwb2ludFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBOdW1iZXI6IDAsXG4gICAgICAgICAgICBOYW1lOiAneHMnLFxuICAgICAgICAgICAgTG93OiAzNjAsXG4gICAgICAgICAgICBIaWdoOiA5OTAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIE51bWJlcjogMSxcbiAgICAgICAgICAgIE5hbWU6ICdzJyxcbiAgICAgICAgICAgIExvdzogOTkxLFxuICAgICAgICAgICAgSGlnaDogMTAyNCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgTnVtYmVyOiAyLFxuICAgICAgICAgICAgTmFtZTogJ20nLFxuICAgICAgICAgICAgTG93OiAxMDI1LFxuICAgICAgICAgICAgSGlnaDogMTIwMCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgTnVtYmVyOiAzLFxuICAgICAgICAgICAgTmFtZTogJ2wnLFxuICAgICAgICAgICAgTG93OiAxMjAxLFxuICAgICAgICAgICAgSGlnaDogMTQwMCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgTnVtYmVyOiA0LFxuICAgICAgICAgICAgTmFtZTogJ3hsJyxcbiAgICAgICAgICAgIExvdzogMTQwMSxcbiAgICAgICAgICAgIEhpZ2g6IDE2MDAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIE51bWJlcjogNSxcbiAgICAgICAgICAgIE5hbWU6ICd4eGwnLFxuICAgICAgICAgICAgTG93OiAxNjAxLFxuICAgICAgICAgICAgSGlnaDogMTkyMCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgTnVtYmVyOiA2LFxuICAgICAgICAgICAgTmFtZTogJ3h4eGwnLFxuICAgICAgICAgICAgTG93OiAxOTIxLFxuICAgICAgICAgICAgSGlnaDogOTk5OTksXG4gICAgICAgIH0sXG4gICAgXTtcblxuICAgIHByaXZhdGUgdmlld3BvcnRDaGFuZ2VkU3Vic2NyaWJlcjogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICAgIHByaXZhdGUgdmlld3BvcnRSZXNpemVkU3Vic2NyaWJlcjogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICAgIHByaXZhdGUgY3VycmVudFZpZXdwb3J0ITogc3RyaW5nO1xuICAgIHByaXZhdGUgY3VycmVudFZpZXdwb3J0T2JqZWN0ITogQnJlYWtwb2ludDtcbiAgICBwcml2YXRlIGlzQnJvd3NlciA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50XG4gICAgKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5kb2N1bWVudFNpemVDaGFuZ2VkLmJpbmQodGhpcyksIHtcbiAgICAgICAgICAgICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmlzQnJvd3NlciA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgd2luZG93IGhlaWdodFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREb2N1bWVudEhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Jyb3dzZXIgPyBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCA6IDEyMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHdpbmRvdyB3aWR0aFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREb2N1bWVudFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQnJvd3NlciA/IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggOiAxMjAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB3aW5kb3cgaGVpZ2h0XG4gICAgICovXG4gICAgcHVibGljIGdldFdpbmRvd0hlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Jyb3dzZXIgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiAxMjAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB3aW5kb3cgd2lkdGhcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0V2luZG93V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNCcm93c2VyID8gd2luZG93LmlubmVyV2lkdGggOiAxMjAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdmlld3BvcnQgTVEgYXMgc3RyaW5nXG4gICAgICogQHJldHVybnMgc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIGdldEN1cnJlbnRWaWV3UG9ydCgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBjdXJyZW50V2lkdGg6IG51bWJlciA9IHRoaXMuaXNCcm93c2VyXG4gICAgICAgICAgICA/IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGhcbiAgICAgICAgICAgIDogMTIwMDtcbiAgICAgICAgdGhpcy5jdXJyZW50Vmlld3BvcnQgPSB0aGlzLmNvbnZlcnRXaWR0aFRvTWVkaWFRdWVyeShjdXJyZW50V2lkdGgpLk5hbWU7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFZpZXdwb3J0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdmlld3BvcnQgTVEgYXMgb2JqZWN0IHdpdGggYWxsIGluZm9ybWF0aW9uc1xuICAgICAqIEByZXR1cm5zIHN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDdXJyZW50Vmlld1BvcnRPYmplY3QoKTogQnJlYWtwb2ludCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRXaWR0aDogbnVtYmVyID0gdGhpcy5pc0Jyb3dzZXJcbiAgICAgICAgICAgID8gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aFxuICAgICAgICAgICAgOiAxMjAwO1xuICAgICAgICB0aGlzLmN1cnJlbnRWaWV3cG9ydE9iamVjdCA9IHRoaXMuY29udmVydFdpZHRoVG9NZWRpYVF1ZXJ5KGN1cnJlbnRXaWR0aCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFZpZXdwb3J0T2JqZWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdmlld3BvcnQgYXMgbnVtYmVyXG4gICAgICogQHJldHVybnMgc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIGdldEN1cnJlbnRWaWV3UG9ydE51bWJlcigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Jyb3dzZXIgPyBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoIDogMTIwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm92aWRlcyBtccK0cyBhcyBzdHJpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Vmlld3BvcnRDaGFuZ2VkT2JzZXJ2ZXIoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld3BvcnRDaGFuZ2VkU3Vic2NyaWJlci5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm92aWRlcyB0aGUgY3VycmVudCB3aW5kb3cgd2lkdGggYXMgbnVtYmVyXG4gICAgICovXG4gICAgcHVibGljIGdldFZpZXdwb3J0UmVzaXplZE9ic2VydmVyKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZpZXdwb3J0UmVzaXplZFN1YnNjcmliZXIuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2Nyb2xsIHRvIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2Nyb2xsVG9FbGVtZW50SWQoZWw6IHN0cmluZywgYWxpZ25DZW50ZXIgPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyMnICsgZWwpLCBhbGlnbkNlbnRlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIZWxwZXIgZnVuY3Rpb24gdGhhdCBzY3JvbGxzIHRvIHRoZSBnaXZlbiBtYXJrdXAgZWxlbWVudC5cbiAgICAgKiBAcGFyYW0gZWwgLSBuYXRpdmVFbGVtZW50IGZyb20gbWFya3VwXG4gICAgICogQHBhcmFtIGFsaWduQ2VudGVyIC0gZGVmaW5lcyBpZiB0aGUgZWxlbWVudCBuZWVkcyB0byBiZSBjZW50ZXJlZCBvbiB3aW5kb3dcbiAgICAgKi9cblxuICAgIHB1YmxpYyBzY3JvbGxUb0VsZW1lbnQoZWw6IEhUTUxFbGVtZW50LCBhbGlnbkNlbnRlciA9IGZhbHNlKSB7XG4gICAgICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgbGV0IGV4dHJhU2Nyb2xsVG9wID0gMDtcblxuICAgICAgICAgICAgaWYgKGFsaWduQ2VudGVyKSB7XG4gICAgICAgICAgICAgICAgZXh0cmFTY3JvbGxUb3AgPSAod2luZG93LmlubmVySGVpZ2h0IC0gZWwuY2xpZW50SGVpZ2h0KSAvIDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBvZmZzZXRMZWZ0ID0gMDtcbiAgICAgICAgICAgIGxldCBvZmZzZXRUb3AgPSAwO1xuXG4gICAgICAgICAgICBsZXQgZWxUZW1wOiBOdWxsQWJsZTxIVE1MRWxlbWVudD4gPSBlbDtcblxuICAgICAgICAgICAgd2hpbGUgKGVsVGVtcCkge1xuICAgICAgICAgICAgICAgIG9mZnNldExlZnQgKz0gZWxUZW1wLm9mZnNldExlZnQ7XG4gICAgICAgICAgICAgICAgb2Zmc2V0VG9wICs9IGVsVGVtcC5vZmZzZXRUb3A7XG4gICAgICAgICAgICAgICAgZWxUZW1wID0gZWxUZW1wLnBhcmVudEVsZW1lbnQgPyBlbFRlbXAucGFyZW50RWxlbWVudCA6IG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgbGVmdDogb2Zmc2V0TGVmdCxcbiAgICAgICAgICAgICAgICB0b3A6IG9mZnNldFRvcCAtIGV4dHJhU2Nyb2xsVG9wLFxuICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2Nyb2xsIHRvIHRoZSB0b3AgcG9zaXRpb25cbiAgICAgKiBAcGFyYW0gdG9wIC0gdG9wIHBvc2l0aW9uIHZhbHVlXG4gICAgICovXG4gICAgcHVibGljIHNjcm9sbFRvcCh0b3A6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IGxlZnQ6IDAsIHRvcDogdG9wLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJZiBvcmllbnRhdGlvbiBpcyBwb3J0cmFpdFxuICAgICAqL1xuICAgIHB1YmxpYyBpc1BvcnRyYWl0KCkge1xuICAgICAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHJldHVybiB3aW5kb3cuaW5uZXJIZWlnaHQgPiB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICAgICAgZWxzZSByZXR1cm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgb3JpZW50YXRpb24gaXMgbGFuZHNjYXBlXG4gICAgICovXG4gICAgcHVibGljIGlzTGFuZHNjYXBlKCkge1xuICAgICAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTGFuZHNjYXBlID1cbiAgICAgICAgICAgICAgICB3aW5kb3cub3JpZW50YXRpb24gPT09IDkwIHx8IHdpbmRvdy5vcmllbnRhdGlvbiA9PT0gLTkwO1xuICAgICAgICAgICAgcmV0dXJuIGlzTGFuZHNjYXBlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgbW9iaWxlIGJyZWFrcG9pbnQgKGJlbG93IHRhYmxldClcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNNb2JpbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRWaWV3UG9ydE51bWJlcigpIDwgdGhpcy5icmVha3BvaW50c1syXS5Mb3c7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGhlaWdodCBvZiBhbiBlbGVtZW50XG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgY2FsY3VsYXRlRnVsbHNjcmVlbkVsZW1lbnRzaGVpZ2h0KFxuICAgICAgICBpZDogc3RyaW5nLFxuICAgICAgICBkZWZhdWx0aGVpZ2h0OiBzdHJpbmcsXG4gICAgICAgIGV4dHJhOiBudW1iZXJcbiAgICApIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQnJvd3NlciB8fCB0aGlzLmlzTW9iaWxlKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWZhdWx0aGVpZ2h0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbWFwID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XG4gICAgICAgICAgICBjb25zdCBmb290ZXIgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdmb290ZXInKVswXTtcbiAgICAgICAgICAgIGlmIChtYXAgJiYgZm9vdGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke3dpbmRvdy5pbm5lckhlaWdodCAtIG1hcC5vZmZzZXRUb3AgLSBmb290ZXIub2Zmc2V0SGVpZ2h0IC0gZXh0cmFcbiAgICAgICAgICAgICAgICAgICAgfXB4YDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdjb3VsZCBub3QgY2FsY3VsYXRlIG1hcCBoZWlnaHQnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGVmYXVsdGhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBoZWlnaHQgb2YgYW4gZWxlbWVudFxuICAgICAqL1xuICAgIHB1YmxpYyBjYWxjdWxhdGVGdWxsc2NyZWVuRWxlbWVudHNIZWlnaHQoXG4gICAgICAgIGlkOiBzdHJpbmcsXG4gICAgICAgIGRlZmF1bHRoZWlnaHQ6IHN0cmluZyxcbiAgICAgICAgZXh0cmE6IG51bWJlclxuICAgICkge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVGdWxsc2NyZWVuRWxlbWVudHNoZWlnaHQoaWQsIGRlZmF1bHRoZWlnaHQsIGV4dHJhKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJZiB2aWV3cG9ydCBjaGFuZ2VkXG4gICAgICogQGV2ZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBkb2N1bWVudFNpemVDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgY3VycmVudFdpbmRvd1dpZHRoOiBudW1iZXIgPSBldmVudC50YXJnZXQuaW5uZXJXaWR0aDtcbiAgICAgICAgLy8gaW5mb3JtIHdob8K0cyBpbnRlcmVzdGVkXG4gICAgICAgIHRoaXMudmlld3BvcnRSZXNpemVkU3Vic2NyaWJlci5uZXh0KGN1cnJlbnRXaW5kb3dXaWR0aCk7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRXaW5kb3dXaWR0aCA+IDApIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgbXFzIG9mIHRoaXMuYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgICAgICBpZiAoY3VycmVudFdpbmRvd1dpZHRoID4gbXFzLkhpZ2gpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAgICAgKGN1cnJlbnRXaW5kb3dXaWR0aCA+PSBtcXMuTG93IHx8IGN1cnJlbnRXaW5kb3dXaWR0aCA8PSBtcXMuSGlnaCkgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50Vmlld3BvcnQgIT09IG1xcy5OYW1lXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFZpZXdwb3J0ID0gbXFzLk5hbWU7XG4gICAgICAgICAgICAgICAgICAgIC8vIGluZm9ybSB3aG/CtHMgaW50ZXJlc3RlZFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZXdwb3J0Q2hhbmdlZFN1YnNjcmliZXIubmV4dChtcXMuTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50Vmlld3BvcnQgPT09IG1xcy5OYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0VSUk9SJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBNZWRpYSBRdWVyeSBmb3IgdGhlIGdpdmVuIHdpZHRoXG4gICAgICogQHBhcmFtIHdpZHRoIFdpZHRoIHRvIGdldCB0aGUgYWNjb3JkaW5nIE1RIGZvclxuICAgICAqL1xuICAgIHByaXZhdGUgY29udmVydFdpZHRoVG9NZWRpYVF1ZXJ5KHdpZHRoOiBudW1iZXIpOiBCcmVha3BvaW50IHtcbiAgICAgICAgbGV0IGN1cnJlbnRWaWV3cG9ydCA9IHRoaXMuYnJlYWtwb2ludHNbMF07XG5cbiAgICAgICAgZm9yIChjb25zdCBtcXMgb2YgdGhpcy5icmVha3BvaW50cykge1xuICAgICAgICAgICAgaWYgKHdpZHRoIDw9IG1xcy5IaWdoICYmIHdpZHRoID49IG1xcy5Mb3cpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50Vmlld3BvcnQgPSBtcXM7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY3VycmVudFZpZXdwb3J0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgYnJlYWtwb2ludC9kZXZpY2UgbmFtZSBsaWtlIG1vYmlsZSx0YWJsZXQsZGVza3RvcCwgaGlnaFxuICAgICAqL1xuICAgIGdldFNpbXBsZUJyZWFrcG9pbnQoc2NyZWVuU2l6ZTogbnVtYmVyKSB7XG4gICAgICAgIGxldCBhY3R1YWxCcmVha3BvaW50OiBTaW1wbGVCcmVha3BvaW50IHwgdW5kZWZpbmVkO1xuXG4gICAgICAgIGNvbnN0IHNpemVzID0gdGhpcy5zaW1wbGVCcmVha3BvaW50cy5zbGljZSgpLnJldmVyc2UoKTsgLy8gd2UgbmVlZCB0byByZXZlcnNlIGl0IHRvIGNoZWNrIHN0ZXAgYnkgc3RlcCBmcm9tIGJpZ2dlc3QsIHdoaWNoIGJyZWFrcG9pbnRzIHN0aWxsIGZpdHMuIFNsaWNlIGlzIGEgdHJpY2sgdG8gbm90IG11dGF0ZSB0aGUgb3JpZ2luYWwgYXJyYXkgYW5kIG1ha2UgYSBjb3B5XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHNpemVzKSB7XG4gICAgICAgICAgICBpZiAoc2NyZWVuU2l6ZSA8IHNpemVzW2tleV0uTWF4aW11bVBpeGVscykge1xuICAgICAgICAgICAgICAgIGFjdHVhbEJyZWFrcG9pbnQgPSBzaXplc1trZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghYWN0dWFsQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgYWN0dWFsQnJlYWtwb2ludCA9IHNpemVzWzBdOyAvLyBkZWZhdWx0IHNjcmVlbnNpemUgaXMgYmlnZ2VzdC4gV2lsbCBiZSB1c2VkIGlmIHZpZXdwb3J0IGlzIGJpZ2dlciBhcyBtYXhpbXVtLiBSZW1lbWJlciwgYXJyYXkgaXMgcmV2ZXJzZWRcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY3R1YWxCcmVha3BvaW50O1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmRvY3VtZW50U2l6ZUNoYW5nZWQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
355
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi9zZXJ2aWNlcy92aWV3cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFlBQVksSUFBZ0M7UUFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUlKO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixZQUFZLElBQWdDO1FBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FJSjtBQUVELE1BQU0sT0FBTyxVQUFVO0lBQ25CLFlBQVksSUFBMEI7UUFDbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUtKO0FBRUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQTREeEIsWUFDaUMsVUFBa0IsRUFDdEIsUUFBa0I7UUFEZCxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7UUE3RC9CLHNCQUFpQixHQUF1QjtZQUNwRCxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFO1lBQ2pELEVBQUUsTUFBTSxFQUFFLENBQUMs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QUFPLEVBQUUsQ0FBQyxDQUFDLDRKQUE0SjtRQUNwTixLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBRTtZQUNyQixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFO2dCQUN2QyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDakM7U0FDSjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNuQixnQkFBZ0IsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyw0R0FBNEc7U0FDNUk7UUFFRCxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDbEU7SUFDTCxDQUFDOzs0R0E5V1EsZUFBZSxrQkE2RFosV0FBVyxhQUNYLFFBQVE7Z0hBOURYLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7MEJBOERGLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGNvcHlyaWdodCBLTVMgR21iSFxuICovXG5pbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOdWxsQWJsZSB9IGZyb20gJy4uL21vZGVscyc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBhbnk7XG5kZWNsYXJlIGNvbnN0IGRvY3VtZW50OiBhbnk7XG5cbmV4cG9ydCBjbGFzcyBXaW5kb3dEaW1lbnNpb25zIHtcbiAgICBjb25zdHJ1Y3RvcihkYXRhPzogUGFydGlhbDxXaW5kb3dEaW1lbnNpb25zPikge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGRhdGEpO1xuICAgIH1cbiAgICBIZWlnaHQhOiBudW1iZXI7XG4gICAgV2lkdGghOiBudW1iZXI7XG4gICAgT3JpZW50YXRpb24hOiBcImxhbmRzY2FwZVwiIHwgXCJwb3J0cmFpdFwiO1xufVxuXG5leHBvcnQgY2xhc3MgU2ltcGxlQnJlYWtwb2ludCB7XG4gICAgY29uc3RydWN0b3IoZGF0YT86IFBhcnRpYWw8U2ltcGxlQnJlYWtwb2ludD4pIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBkYXRhKTtcbiAgICB9XG4gICAgTnVtYmVyITogbnVtYmVyO1xuICAgIE5hbWUhOiBzdHJpbmc7XG4gICAgTWF4aW11bVBpeGVscyE6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIEJyZWFrcG9pbnQge1xuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBQYXJ0aWFsPEJyZWFrcG9pbnQ+KSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZGF0YSk7XG4gICAgfVxuICAgIE51bWJlciE6IG51bWJlcjtcbiAgICBOYW1lITogc3RyaW5nO1xuICAgIExvdyE6IG51bWJlcjtcbiAgICBIaWdoITogbnVtYmVyO1xufVxuXG4vKipcbiAqIFNlcnZpY2UgdG8gZ2V0IHZpZXdwb3J0XG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBWaWV3cG9ydFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyByZWFkb25seSBzaW1wbGVCcmVha3BvaW50czogU2ltcGxlQnJlYWtwb2ludFtdID0gW1xuICAgICAgICB7IE51bWJlcjogMCwgTmFtZTogJ21vYmlsZScsIE1heGltdW1QaXhlbHM6IDc2OCB9LFxuICAgICAgICB7IE51bWJlcjogMSwgTmFtZTogJ3RhYmxldCcsIE1heGltdW1QaXhlbHM6IDEwMjQgfSxcbiAgICAgICAgeyBOdW1iZXI6IDIsIE5hbWU6ICdkZXNrdG9wJywgTWF4aW11bVBpeGVsczogMTYwMCB9LFxuICAgICAgICB7IE51bWJlcjogMywgTmFtZTogJ2hpZ2gnLCBNYXhpbXVtUGl4ZWxzOiAyNTAwIH0sXG4gICAgXTtcblxuICAgIHB1YmxpYyByZWFkb25seSBicmVha3BvaW50czogQnJlYWtwb2ludFtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBOdW1iZXI6IDAsXG4gICAgICAgICAgICBOYW1lOiAneHMnLFxuICAgICAgICAgICAgTG93OiAzNjAsXG4gICAgICAgICAgICBIaWdoOiA5OTAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIE51bWJlcjogMSxcbiAgICAgICAgICAgIE5hbWU6ICdzJyxcbiAgICAgICAgICAgIExvdzogOTkxLFxuICAgICAgICAgICAgSGlnaDogMTAyNCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgTnVtYmVyOiAyLFxuICAgICAgICAgICAgTmFtZTogJ20nLFxuICAgICAgICAgICAgTG93OiAxMDI1LFxuICAgICAgICAgICAgSGlnaDogMTIwMCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgTnVtYmVyOiAzLFxuICAgICAgICAgICAgTmFtZTogJ2wnLFxuICAgICAgICAgICAgTG93OiAxMjAxLFxuICAgICAgICAgICAgSGlnaDogMTQwMCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgTnVtYmVyOiA0LFxuICAgICAgICAgICAgTmFtZTogJ3hsJyxcbiAgICAgICAgICAgIExvdzogMTQwMSxcbiAgICAgICAgICAgIEhpZ2g6IDE2MDAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIE51bWJlcjogNSxcbiAgICAgICAgICAgIE5hbWU6ICd4eGwnLFxuICAgICAgICAgICAgTG93OiAxNjAxLFxuICAgICAgICAgICAgSGlnaDogMTkyMCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgTnVtYmVyOiA2LFxuICAgICAgICAgICAgTmFtZTogJ3h4eGwnLFxuICAgICAgICAgICAgTG93OiAxOTIxLFxuICAgICAgICAgICAgSGlnaDogOTk5OTksXG4gICAgICAgIH0sXG4gICAgXTtcblxuICAgIHByaXZhdGUgdmlld3BvcnRDaGFuZ2VkU3Vic2NyaWJlcjogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICAgIHByaXZhdGUgdmlld3BvcnRSZXNpemVkU3Vic2NyaWJlcjogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gICAgcHJpdmF0ZSBjdXJyZW50Vmlld3BvcnQhOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBjdXJyZW50Vmlld3BvcnRPYmplY3QhOiBCcmVha3BvaW50O1xuICAgIHByaXZhdGUgaXNCcm93c2VyID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHB1YmxpYyBkb2N1bWVudDogRG9jdW1lbnRcbiAgICApIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmRvY3VtZW50U2l6ZUNoYW5nZWQuYmluZCh0aGlzKSwge1xuICAgICAgICAgICAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuaXNCcm93c2VyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBkb2N1bWVudCBoZWlnaHRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RG9jdW1lbnRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNCcm93c2VyID8gZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQgOiAxMjAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBkb2N1bWVudCB3aWR0aFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREb2N1bWVudFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQnJvd3NlciA/IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggOiAxMjAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB3aW5kb3cgaGVpZ2h0XG4gICAgICovXG4gICAgcHVibGljIGdldFdpbmRvd0hlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Jyb3dzZXIgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiAxMjAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB3aW5kb3cgd2lkdGhcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0V2luZG93V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNCcm93c2VyID8gd2luZG93LmlubmVyV2lkdGggOiAxMjAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdmlld3BvcnQgTVEgYXMgc3RyaW5nXG4gICAgICogQHJldHVybnMgc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIGdldEN1cnJlbnRWaWV3UG9ydCgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBjdXJyZW50V2lkdGg6IG51bWJlciA9IHRoaXMuaXNCcm93c2VyXG4gICAgICAgICAgICA/IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGhcbiAgICAgICAgICAgIDogMTIwMDtcbiAgICAgICAgdGhpcy5jdXJyZW50Vmlld3BvcnQgPSB0aGlzLmNvbnZlcnRXaWR0aFRvTWVkaWFRdWVyeShjdXJyZW50V2lkdGgpLk5hbWU7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFZpZXdwb3J0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdmlld3BvcnQgTVEgYXMgb2JqZWN0IHdpdGggYWxsIGluZm9ybWF0aW9uc1xuICAgICAqIEByZXR1cm5zIHN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDdXJyZW50Vmlld1BvcnRPYmplY3QoKTogQnJlYWtwb2ludCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRXaWR0aDogbnVtYmVyID0gdGhpcy5pc0Jyb3dzZXJcbiAgICAgICAgICAgID8gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aFxuICAgICAgICAgICAgOiAxMjAwO1xuICAgICAgICB0aGlzLmN1cnJlbnRWaWV3cG9ydE9iamVjdCA9IHRoaXMuY29udmVydFdpZHRoVG9NZWRpYVF1ZXJ5KGN1cnJlbnRXaWR0aCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFZpZXdwb3J0T2JqZWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdmlld3BvcnQgYXMgbnVtYmVyXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIGdldEN1cnJlbnRWaWV3UG9ydERpbWVuc2lvbnMgaW5zdGVhZFxuICAgICAqIEByZXR1cm5zIHN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDdXJyZW50Vmlld1BvcnROdW1iZXIoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNCcm93c2VyID8gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCA6IDEyMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY3VycmVudCB2aWV3cG9ydCB3aWR0aCBhcyBudW1iZXJcbiAgICAgKiBAcmV0dXJucyBzdHJpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3VycmVudFZpZXdQb3J0V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNCcm93c2VyID8gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCA6IDEyMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY3VycmVudCB2aWV3cG9ydCBhcyBudW1iZXJcbiAgICAgKiBAcmV0dXJucyBzdHJpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3VycmVudFZpZXdQb3J0SGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQnJvd3NlciA/IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0IDogNjAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdmlld3BvcnQgZGltZW5zaW9uc1xuICAgICAqIEByZXR1cm5zIHN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDdXJyZW50Vmlld1BvcnREaW1lbnNpb25zKCk6IFdpbmRvd0RpbWVuc2lvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Jyb3dzZXIgPyB7V2lkdGg6ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCxIZWlnaHQ6ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCxPcmllbnRhdGlvbjp0aGlzLmdldE9yaWVudGF0aW9uQXNTdHJpbmcoKSB9IGFzIFdpbmRvd0RpbWVuc2lvbnMgOiB7V2lkdGg6ODAwLCBIZWlnaHQ6NjAwLCBPcmllbnRhdGlvbjogXCJsYW5kc2NhcGVcIn0gYXMgV2luZG93RGltZW5zaW9ucztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm92aWRlcyBtccK0cyBhcyBzdHJpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Vmlld3BvcnRDaGFuZ2VkT2JzZXJ2ZXIoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld3BvcnRDaGFuZ2VkU3Vic2NyaWJlci5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm92aWRlcyB0aGUgY3VycmVudCB3aW5kb3cgd2lkdGggYXMgbnVtYmVyXG4gICAgICovXG4gICAgcHVibGljIGdldFZpZXdwb3J0UmVzaXplZE9ic2VydmVyKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZpZXdwb3J0UmVzaXplZFN1YnNjcmliZXIuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2Nyb2xsIHRvIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2Nyb2xsVG9FbGVtZW50SWQoZWw6IHN0cmluZywgYWxpZ25DZW50ZXIgPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyMnICsgZWwpLCBhbGlnbkNlbnRlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIZWxwZXIgZnVuY3Rpb24gdGhhdCBzY3JvbGxzIHRvIHRoZSBnaXZlbiBtYXJrdXAgZWxlbWVudC5cbiAgICAgKiBAcGFyYW0gZWwgLSBuYXRpdmVFbGVtZW50IGZyb20gbWFya3VwXG4gICAgICogQHBhcmFtIGFsaWduQ2VudGVyIC0gZGVmaW5lcyBpZiB0aGUgZWxlbWVudCBuZWVkcyB0byBiZSBjZW50ZXJlZCBvbiB3aW5kb3dcbiAgICAgKi9cblxuICAgIHB1YmxpYyBzY3JvbGxUb0VsZW1lbnQoZWw6IEhUTUxFbGVtZW50LCBhbGlnbkNlbnRlciA9IGZhbHNlKSB7XG4gICAgICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgbGV0IGV4dHJhU2Nyb2xsVG9wID0gMDtcblxuICAgICAgICAgICAgaWYgKGFsaWduQ2VudGVyKSB7XG4gICAgICAgICAgICAgICAgZXh0cmFTY3JvbGxUb3AgPSAod2luZG93LmlubmVySGVpZ2h0IC0gZWwuY2xpZW50SGVpZ2h0KSAvIDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBvZmZzZXRMZWZ0ID0gMDtcbiAgICAgICAgICAgIGxldCBvZmZzZXRUb3AgPSAwO1xuXG4gICAgICAgICAgICBsZXQgZWxUZW1wOiBOdWxsQWJsZTxIVE1MRWxlbWVudD4gPSBlbDtcblxuICAgICAgICAgICAgd2hpbGUgKGVsVGVtcCkge1xuICAgICAgICAgICAgICAgIG9mZnNldExlZnQgKz0gZWxUZW1wLm9mZnNldExlZnQ7XG4gICAgICAgICAgICAgICAgb2Zmc2V0VG9wICs9IGVsVGVtcC5vZmZzZXRUb3A7XG4gICAgICAgICAgICAgICAgZWxUZW1wID0gZWxUZW1wLnBhcmVudEVsZW1lbnQgPyBlbFRlbXAucGFyZW50RWxlbWVudCA6IG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgbGVmdDogb2Zmc2V0TGVmdCxcbiAgICAgICAgICAgICAgICB0b3A6IG9mZnNldFRvcCAtIGV4dHJhU2Nyb2xsVG9wLFxuICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2Nyb2xsIHRvIHRoZSB0b3AgcG9zaXRpb25cbiAgICAgKiBAcGFyYW0gdG9wIC0gdG9wIHBvc2l0aW9uIHZhbHVlXG4gICAgICovXG4gICAgcHVibGljIHNjcm9sbFRvcCh0b3A6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IGxlZnQ6IDAsIHRvcDogdG9wLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJZiBvcmllbnRhdGlvbiBpcyBwb3J0cmFpdFxuICAgICAqL1xuICAgIHB1YmxpYyBpc1BvcnRyYWl0KCkgOiBib29sZWFufHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICh0aGlzLmlzQnJvd3NlcikgcmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodCA+IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgICAgICBlbHNlIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgb3JpZW50YXRpb24gaXMgbGFuZHNjYXBlXG4gICAgICovXG4gICAgcHVibGljIGlzTGFuZHNjYXBlKCkgOmJvb2xlYW58dW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICBjb25zdCBpc0xhbmRzY2FwZSA9XG4gICAgICAgICAgICAgICAgd2luZG93Lm9yaWVudGF0aW9uID09PSA5MCB8fCB3aW5kb3cub3JpZW50YXRpb24gPT09IC05MDtcbiAgICAgICAgICAgIHJldHVybiBpc0xhbmRzY2FwZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgc2NyZWVuIG9yaWVudGF0aW9uIChwb3J0cmFpdC9sYW5kc2NhcGUpXG4gICAgICovXG4gICAgcHVibGljIGdldE9yaWVudGF0aW9uQXNTdHJpbmcoKSA6IFwicG9ydHJhaXRcIiB8IFwibGFuZHNjYXBlXCIge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1BvcnRyYWl0ID8gXCJwb3J0cmFpdFwiIDogXCJsYW5kc2NhcGVcIjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJZiBtb2JpbGUgYnJlYWtwb2ludCAoYmVsb3cgdGFibGV0KVxuICAgICAqL1xuICAgIHB1YmxpYyBpc01vYmlsZSgpOmJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDdXJyZW50Vmlld1BvcnROdW1iZXIoKSA8IHRoaXMuYnJlYWtwb2ludHNbMl0uTG93O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBoZWlnaHQgb2YgYW4gZWxlbWVudFxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgcHVibGljIGNhbGN1bGF0ZUZ1bGxzY3JlZW5FbGVtZW50c2hlaWdodChcbiAgICAgICAgaWQ6IHN0cmluZyxcbiAgICAgICAgZGVmYXVsdGhlaWdodDogc3RyaW5nLFxuICAgICAgICBleHRyYTogbnVtYmVyXG4gICAgKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZUZ1bGxzY3JlZW5FbGVtZW50c0hlaWdodChpZCwgZGVmYXVsdGhlaWdodCwgZXh0cmEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBoZWlnaHQgb2YgYW4gZWxlbWVudFxuICAgICAqL1xuICAgIHB1YmxpYyBjYWxjdWxhdGVGdWxsc2NyZWVuRWxlbWVudHNIZWlnaHQoXG4gICAgICAgIGlkOiBzdHJpbmcsXG4gICAgICAgIGRlZmF1bHRoZWlnaHQ6IHN0cmluZyxcbiAgICAgICAgZXh0cmE6IG51bWJlclxuICAgICkge1xuICAgICAgICBcbiAgICAgICAgaWYgKCF0aGlzLmlzQnJvd3NlciB8fCB0aGlzLmlzTW9iaWxlKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWZhdWx0aGVpZ2h0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbWFwID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XG4gICAgICAgICAgICBjb25zdCBmb290ZXIgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdmb290ZXInKVswXTtcbiAgICAgICAgICAgIGlmIChtYXAgJiYgZm9vdGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke3dpbmRvdy5pbm5lckhlaWdodCAtIG1hcC5vZmZzZXRUb3AgLSBmb290ZXIub2Zmc2V0SGVpZ2h0IC0gZXh0cmFcbiAgICAgICAgICAgICAgICAgICAgfXB4YDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdjb3VsZCBub3QgY2FsY3VsYXRlIG1hcCBoZWlnaHQnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGVmYXVsdGhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElmIHZpZXdwb3J0IGNoYW5nZWRcbiAgICAgKiBAZXZlbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGRvY3VtZW50U2l6ZUNoYW5nZWQoZXZlbnQ6IGFueSkge1xuICAgICAgICBjb25zdCBjdXJyZW50V2luZG93V2lkdGg6IG51bWJlciA9IGV2ZW50LnRhcmdldC5pbm5lcldpZHRoO1xuICAgICAgICAvLyBpbmZvcm0gd2hvwrRzIGludGVyZXN0ZWRcbiAgICAgICAgdGhpcy52aWV3cG9ydFJlc2l6ZWRTdWJzY3JpYmVyLm5leHQoY3VycmVudFdpbmRvd1dpZHRoKTtcblxuICAgICAgICBpZiAoY3VycmVudFdpbmRvd1dpZHRoID4gMCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBtcXMgb2YgdGhpcy5icmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50V2luZG93V2lkdGggPiBtcXMuSGlnaCkge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgICAgICAoY3VycmVudFdpbmRvd1dpZHRoID49IG1xcy5Mb3cgfHwgY3VycmVudFdpbmRvd1dpZHRoIDw9IG1xcy5IaWdoKSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRWaWV3cG9ydCAhPT0gbXFzLk5hbWVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50Vmlld3BvcnQgPSBtcXMuTmFtZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gaW5mb3JtIHdob8K0cyBpbnRlcmVzdGVkXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlld3BvcnRDaGFuZ2VkU3Vic2NyaWJlci5uZXh0KG1xcy5OYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRWaWV3cG9ydCA9PT0gbXFzLk5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRVJST1InKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIE1lZGlhIFF1ZXJ5IGZvciB0aGUgZ2l2ZW4gd2lkdGhcbiAgICAgKiBAcGFyYW0gd2lkdGggV2lkdGggdG8gZ2V0IHRoZSBhY2NvcmRpbmcgTVEgZm9yXG4gICAgICovXG4gICAgcHJpdmF0ZSBjb252ZXJ0V2lkdGhUb01lZGlhUXVlcnkod2lkdGg6IG51bWJlcik6IEJyZWFrcG9pbnQge1xuICAgICAgICBsZXQgY3VycmVudFZpZXdwb3J0ID0gdGhpcy5icmVha3BvaW50c1swXTtcblxuICAgICAgICBmb3IgKGNvbnN0IG1xcyBvZiB0aGlzLmJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICBpZiAod2lkdGggPD0gbXFzLkhpZ2ggJiYgd2lkdGggPj0gbXFzLkxvdykge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRWaWV3cG9ydCA9IG1xcztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjdXJyZW50Vmlld3BvcnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBicmVha3BvaW50L2RldmljZSBuYW1lIGxpa2UgbW9iaWxlLHRhYmxldCxkZXNrdG9wLCBoaWdoXG4gICAgICovXG4gICAgZ2V0U2ltcGxlQnJlYWtwb2ludChzY3JlZW5TaXplOiBudW1iZXIpIDpTaW1wbGVCcmVha3BvaW50IHtcbiAgICAgICAgbGV0IGFjdHVhbEJyZWFrcG9pbnQ6IFNpbXBsZUJyZWFrcG9pbnQgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgY29uc3Qgc2l6ZXMgPSB0aGlzLnNpbXBsZUJyZWFrcG9pbnRzLnNsaWNlKCkucmV2ZXJzZSgpOyAvLyB3ZSBuZWVkIHRvIHJldmVyc2UgaXQgdG8gY2hlY2sgc3RlcCBieSBzdGVwIGZyb20gYmlnZ2VzdCwgd2hpY2ggYnJlYWtwb2ludHMgc3RpbGwgZml0cy4gU2xpY2UgaXMgYSB0cmljayB0byBub3QgbXV0YXRlIHRoZSBvcmlnaW5hbCBhcnJheSBhbmQgbWFrZSBhIGNvcHlcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gc2l6ZXMpIHtcbiAgICAgICAgICAgIGlmIChzY3JlZW5TaXplIDwgc2l6ZXNba2V5XS5NYXhpbXVtUGl4ZWxzKSB7XG4gICAgICAgICAgICAgICAgYWN0dWFsQnJlYWtwb2ludCA9IHNpemVzW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFhY3R1YWxCcmVha3BvaW50KSB7XG4gICAgICAgICAgICBhY3R1YWxCcmVha3BvaW50ID0gc2l6ZXNbMF07IC8vIGRlZmF1bHQgc2NyZWVuc2l6ZSBpcyBiaWdnZXN0LiBXaWxsIGJlIHVzZWQgaWYgdmlld3BvcnQgaXMgYmlnZ2VyIGFzIG1heGltdW0uIFJlbWVtYmVyLCBhcnJheSBpcyByZXZlcnNlZFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjdHVhbEJyZWFrcG9pbnQ7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuZG9jdW1lbnRTaXplQ2hhbmdlZCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -116,13 +116,13 @@ export class DropdownFromDataComponent extends FormControlParentComponent {
116
116
  }
117
117
  }
118
118
  DropdownFromDataComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownFromDataComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
119
- DropdownFromDataComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DropdownFromDataComponent, selector: "kms-dropdown-from-data", inputs: { optionsEnum: "optionsEnum", optionsPlainArray: "optionsPlainArray", optionsObjArray: "optionsObjArray", mapKey: "mapKey", mapValue: "mapValue", hasNullOption: "hasNullOption", translation: "translation", placeholder: "placeholder", label: "label", required: "required", useEnumIndexAsValue: "useEnumIndexAsValue", multiple: "multiple" }, providers: [
119
+ DropdownFromDataComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DropdownFromDataComponent, selector: "kms-dropdown-from-data", inputs: { optionsEnum: "optionsEnum", optionsPlainArray: "optionsPlainArray", optionsObjArray: "optionsObjArray", mapKey: "mapKey", mapValue: "mapValue", hasNullOption: "hasNullOption", translation: "translation", placeholder: "placeholder", label: "label", required: "required", useEnumIndexAsValue: "useEnumIndexAsValue", multiple: "multiple", control: "control" }, providers: [
120
120
  {
121
121
  provide: NG_VALUE_ACCESSOR,
122
122
  useExisting: forwardRef(() => DropdownFromDataComponent),
123
123
  multi: true,
124
124
  },
125
- ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n placeholder=\"{{ placeholder }}\"\n disableOptionCentering\n [(value)]=\"value\"\n (selectionChange)=\"valueChanged($event?.value)\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n <mat-option *ngFor=\"let key of keys; let i = index\" [value]=\"values[i]\">\n <span>{{ setDisplayKey(key) }}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }] });
125
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n placeholder=\"{{ placeholder }}\"\n disableOptionCentering\n [(value)]=\"control?.value ? control.value : value\"\n (selectionChange)=\"valueChanged($event?.value)\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n <mat-option *ngFor=\"let key of keys; let i = index\" [value]=\"values[i]\">\n <span>{{ setDisplayKey(key) }}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }] });
126
126
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DropdownFromDataComponent, decorators: [{
127
127
  type: Component,
128
128
  args: [{ selector: 'kms-dropdown-from-data', providers: [
@@ -131,7 +131,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
131
131
  useExisting: forwardRef(() => DropdownFromDataComponent),
132
132
  multi: true,
133
133
  },
134
- ], template: "<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n placeholder=\"{{ placeholder }}\"\n disableOptionCentering\n [(value)]=\"value\"\n (selectionChange)=\"valueChanged($event?.value)\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n <mat-option *ngFor=\"let key of keys; let i = index\" [value]=\"values[i]\">\n <span>{{ setDisplayKey(key) }}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n" }]
134
+ ], template: "<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n placeholder=\"{{ placeholder }}\"\n disableOptionCentering\n [(value)]=\"control?.value ? control.value : value\"\n (selectionChange)=\"valueChanged($event?.value)\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n <mat-option *ngFor=\"let key of keys; let i = index\" [value]=\"values[i]\">\n <span>{{ setDisplayKey(key) }}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n" }]
135
135
  }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i0.Renderer2 }]; }, propDecorators: { optionsEnum: [{
136
136
  type: Input
137
137
  }], optionsPlainArray: [{
@@ -156,5 +156,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
156
156
  type: Input
157
157
  }], multiple: [{
158
158
  type: Input
159
+ }], control: [{
160
+ type: Input
159
161
  }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9kcm9wZG93bi1mcm9tLWRhdGEvZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9kcm9wZG93bi1mcm9tLWRhdGEvZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7O0FBRTVGOztHQUVHO0FBWUgsTUFBTSxPQUFPLHlCQUNYLFNBQVEsMEJBQTBCO0lBa0NsQyxZQUNTLFdBQStCLEVBQy9CLFFBQW1CO1FBRTFCLEtBQUssQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFIdEIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFwQjVCLDJFQUEyRTtRQUNsRSxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUl0QixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFckMscUJBQXFCO1FBQ1osYUFBUSxHQUFHLEtBQUssQ0FB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TyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbkIsWUFBWSxFQUFFLEtBQUs7U0FDcEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDOztzSEF0SVUseUJBQXlCOzBHQUF6Qix5QkFBeUIsNllBUnpCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7WUFDeEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLHNFQzdCSCwrbkJBcUJBOzJGRFVhLHlCQUF5QjtrQkFYckMsU0FBUzsrQkFDRSx3QkFBd0IsYUFFdkI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7NEJBQ3hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lJQU9RLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFbnVtVmFsdWVzIH0gZnJvbSAnZW51bS12YWx1ZXMvc3JjL2VudW1WYWx1ZXMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xQYXJlbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXJlbnQtY29tcG9uZW50cy9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcblxuLyoqXG4gKiBEcm9wZG93biBmcm9tIGRhdGEgY29tcG9uZW50IHtAbGluayBodHRwczovL2xlYXNlcGxhbi1kZXYucmVudG9mZmljZS5kZS9zdHlsZWd1aWRlI3VpLWVsZW1lbnRzfVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrbXMtZHJvcGRvd24tZnJvbS1kYXRhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWZyb20tZGF0YS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRHJvcGRvd25Gcm9tRGF0YUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkZyb21EYXRhQ29tcG9uZW50XG4gIGV4dGVuZHMgRm9ybUNvbnRyb2xQYXJlbnRDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXNcbntcbiAgLy8gc3RydWN0dXJlZCBkYXRhIGFzIGEgZW51bSBzZXQuIENhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggJ29wdGlvbnNQbGFpbkFycmF5JyB0byBzZXQgZGlmZXJlbnQgdmFsdWVzIGJ5IGluZGV4XG4gIEBJbnB1dCgpIG9wdGlvbnNFbnVtOiBhbnk7XG5cbiAgLy8gc3RydWN0dXJlZCBkYXRhIGFzIGEgc2ltcGxlIGFycmF5IG9mIGVsZW1lbnRzXG4gIEBJbnB1dCgpIG9wdGlvbnNQbGFpbkFycmF5OiBhbnk7XG5cbiAgLy8gc3RydWN0dXJlZCBkYXRhIGFzIGFuIGFycmF5IG9mIG9iamVjdHMgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBpbnB1dCAnbWFwS2V5JyBhbmQgJ21hcFZhbHVlJ1xuICBASW5wdXQoKSBvcHRpb25zT2JqQXJyYXk6IGFueTtcbiAgLy8ga2V5IGlkZW50aWZpZXIgb2YgdGhlIG9iai4gSWYgbWFwVmFsdWUgZG9lc250IGV4aXN0LCBtYXBLZXkgaXMgYWxzbyB0aGUgdmFsdWVcbiAgQElucHV0KCkgbWFwS2V5PzogYW55O1xuICAvLyB2YWx1ZSBpZGVudGlmaWVyIG9mIHRoZSBvYmpcbiAgQElucHV0KCkgbWFwVmFsdWU/OiBhbnk7XG5cbiAgLy8gb3B0aW9ucyBmb3IgdGhlIGRyb3Bkb3duIGhhdmUgYSBudWxsIHZhbHVlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFycmF5XG4gIEBJbnB1dCgpIGhhc051bGxPcHRpb24gPSBmYWxzZTtcblxuICAvLyB0cmFuc2xhdGlvbiBvYmplY3QgZm9yIHRoZSBsYWJlbCBhbmQgcGxhY2Vob2xkZXJcbiAgQElucHV0KCkgdHJhbnNsYXRpb24/OiBJVHJhbnNsYXRpb247XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHVzZUVudW1JbmRleEFzVmFsdWUgPSBmYWxzZTtcblxuICAvLyBtdWx0aXBsZSBzZWxlY3Rpb25cbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcblxuICBwdWJsaWMga2V5czogYW55W10gPSBbXTtcbiAgcHVibGljIHZhbHVlczogYW55W10gPSBbXTtcblxuICBPYmplY3QgPSBPYmplY3Q7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gICAgc3VwZXIoZm9ybUJ1aWxkZXIsIHJlbmRlcmVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb29rIHVzZWQgdG8gc3luYyBjaGFuZ2VzIG9uIHNldCBMYWJlbCBhbmQgVHlwZVxuICAgKiBAcGFyYW0gY2hhbmdlc1xuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLm9wdGlvbnNQbGFpbkFycmF5KSB7XG4gICAgICB0aGlzLnZhbHVlcyA9IHRoaXMub3B0aW9uc1BsYWluQXJyYXk7XG4gICAgICB0aGlzLmtleXMgPSB0aGlzLm9wdGlvbnNQbGFpbkFycmF5O1xuICAgIH1cbiAgICB0aGlzLnNldEtleVZhbHVlcygpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBkcm9wZG93bkRhdGE6IFtdLFxuICAgIH0pO1xuICAgIHRoaXMuZm9ybUluaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5pbnRlcm5hbFZhbHVlID0gdmFsdWUuZHJvcGRvd25EYXRhO1xuICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZS5kcm9wZG93bkRhdGEpO1xuICAgIH0pO1xuXG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0cmFuc29mcm1zIHRoZSBkYXRhIHZhbHVlcyB0byB0aGUgY29ycmVjdCBmb3JtYXQgZm9yIGJlIHVzZWQgYnkgdGhlIHRlbXBsYXRlXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRLZXlWYWx1ZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3B0aW9uc09iakFycmF5ICYmIHRoaXMubWFwS2V5ICYmIHRoaXMubWFwVmFsdWUpIHtcbiAgICAgIHRoaXMua2V5cyA9IHRoaXMub3B0aW9uc09iakFycmF5Lm1hcCgob2JqOiBhbnkpID0+IG9ialtgJHt0aGlzLm1hcEtleX1gXSk7XG4gICAgICB0aGlzLnZhbHVlcyA9IHRoaXMub3B0aW9uc09iakFycmF5Lm1hcChcbiAgICAgICAgKG9iajogYW55KSA9PiBvYmpbYCR7dGhpcy5tYXBWYWx1ZX1gXVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMub3B0aW9uc09iakFycmF5ICYmIHRoaXMubWFwS2V5KSB7XG4gICAgICB0aGlzLmtleXMgPSB0aGlzLm9wdGlvbnNPYmpBcnJheS5tYXAoKG9iajogYW55KSA9PiBvYmpbYCR7dGhpcy5tYXBLZXl9YF0pO1xuICAgICAgdGhpcy52YWx1ZXMgPSB0aGlzLm9wdGlvbnNPYmpBcnJheS5tYXAoXG4gICAgICAgIChvYmo6IGFueSkgPT4gb2JqW2Ake3RoaXMubWFwS2V5fWBdXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zRW51bSkge1xuICAgICAgdGhpcy5rZXlzID0gRW51bVZhbHVlcy5nZXROYW1lcyh0aGlzLm9wdGlvbnNFbnVtKTtcbiAgICAgIGlmICh0aGlzLm9wdGlvbnNQbGFpbkFycmF5KSB7XG4gICAgICAgIHRoaXMudmFsdWVzID0gdGhpcy5vcHRpb25zUGxhaW5BcnJheTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IEVudW1WYWx1ZXMuZ2V0VmFsdWVzKHRoaXMub3B0aW9uc0VudW0pO1xuXG4gICAgICAgIC8vIHZhciB3aG8gZGVmaW5lcyBpZiBlbnVtIGlzIGNvbXBvbmVkIGp1c3Qgd2l0aCBrZXlzIG9yIGtleVZhbHVlcy4gRS5nIGVudW0gS2V5RW51bSB7IFZBTFVFMSwgVkFMVUUyIH0gb3IgZW51bSBLZXlWYWx1ZUVudW0geyBWQUxVRTQgPSAnVjQnLCBWQUxVRTUgPSAnVjUnIH1cbiAgICAgICAgbGV0IGtleVZhbHVlRW51bSA9IGZhbHNlO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5rZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKGkgIT09IHZhbHVlc1tpXSkge1xuICAgICAgICAgICAga2V5VmFsdWVFbnVtID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleVZhbHVlRW51bSB8fCB0aGlzLnVzZUVudW1JbmRleEFzVmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnZhbHVlcyA9IHZhbHVlcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZhbHVlcyA9IEVudW1WYWx1ZXMuZ2V0TmFtZXModGhpcy5vcHRpb25zRW51bSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuaGFzTnVsbE9wdGlvbiA9PT0gdHJ1ZSkgdGhpcy5rZXlzLnVuc2hpZnQobnVsbCk7XG4gICAgaWYgKHRoaXMuaGFzTnVsbE9wdGlvbiA9PT0gdHJ1ZSkgdGhpcy52YWx1ZXMudW5zaGlmdChudWxsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzZXQgdGhlIHZhbHVlIG9mIHRoZSBkcm9wZG93biBiYXNlZCBpZiB0cmFuc2xhdGlvbiBpcyBzZXRcbiAgICogQHBhcmFtIGtleVxuICAgKi9cbiAgcHVibGljIHNldERpc3BsYXlLZXkoa2V5OiBhbnkpIHtcbiAgICBpZiAodGhpcy50cmFuc2xhdGlvbikge1xuICAgICAgaWYgKHRoaXMudHJhbnNsYXRpb24uaXNQcmVmaXgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb24uc2VydmljZT8uaW5zdGFudD8uKFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRpb24ucGF0aCArICcuJyArIGtleVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRyYW5zbGF0aW9uLnVzZUtleUFzVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb24uc2VydmljZT8uaW5zdGFudD8uKHRoaXMudHJhbnNsYXRpb24ucGF0aCwgeyBrZXk6IGtleSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uLnNlcnZpY2U/Lmluc3RhbnQ/Lih0aGlzLnRyYW5zbGF0aW9uLnBhdGgpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ga2V5O1xuICB9XG5cbiAgdmFsdWVDaGFuZ2VkKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICBkcm9wZG93bkRhdGE6IHZhbHVlLFxuICAgIH0pO1xuICAgIHRoaXMub25TZWxlY3RJdGVtRW1pdHRlci5lbWl0KHZhbHVlKTtcbiAgfVxufVxuXG4vKipcbiAqIEludGVyZmFjZSB0aGF0IGRlZmluZXMgdGhlIHRyYW5zbGF0aW9uIG9iamVjdCBpbiB0ZW1wbGF0ZVxuICovXG5pbnRlcmZhY2UgSVRyYW5zbGF0aW9uIHtcbiAgcGF0aDogc3RyaW5nO1xuICBpc1ByZWZpeD86IGJvb2xlYW47XG4gIHVzZUtleUFzVmFsdWU/OiBib29sZWFuO1xuICBzZXJ2aWNlOiBhbnk7XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgPG1hdC1mb3JtLWZpZWxkXG4gICAgW2F0dHIucmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFtmbG9hdExhYmVsXT1cInBsYWNlaG9sZGVyID8gJ2Fsd2F5cycgOiAnYXV0bydcIlxuICA+XG4gICAgPG1hdC1sYWJlbD57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcbiAgICAgIGRpc2FibGVPcHRpb25DZW50ZXJpbmdcbiAgICAgIFsodmFsdWUpXT1cInZhbHVlXCJcbiAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwidmFsdWVDaGFuZ2VkKCRldmVudD8udmFsdWUpXCJcbiAgICAgICNjaGlsZFxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgPlxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGtleSBvZiBrZXlzOyBsZXQgaSA9IGluZGV4XCIgW3ZhbHVlXT1cInZhbHVlc1tpXVwiPlxuICAgICAgICA8c3Bhbj57eyBzZXREaXNwbGF5S2V5KGtleSkgfX08L3NwYW4+XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9tYXQtc2VsZWN0PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9mb3JtPlxuIl19
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9kcm9wZG93bi1mcm9tLWRhdGEvZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9kcm9wZG93bi1mcm9tLWRhdGEvZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsaUJBQWlCLEdBRWxCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7O0FBRTVGOztHQUVHO0FBWUgsTUFBTSxPQUFPLHlCQUNYLFNBQVEsMEJBQTBCO0lBb0NsQyxZQUNTLFdBQStCLEVBQy9CLFFBQW1CO1FBRTFCLEtBQUssQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFIdEIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQVc7UUF0QjVCLDJFQUEyRTtRQUNsRSxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUl0QixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFckMscUJBQXFCO1FBQ1osYUFBUSxHQUFHLEtBQUssQ0FBQztRQUluQixTQUFJLEdBQVUsRUFBRSxDQUFDO1FBQ2pCLFdBQU0sR0FBVSxFQUFFLENBQUM7UUFFMUIsV0FBTSxHQUFHLE1BQU0sQ0FBQztJQU9oQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLGlCQUFpQixFQUFFO1lBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUNqQyxZQUFZLEVBQUUsRUFBRTtTQUNqQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUU1QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7WUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVk7UUFDbEIsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN4RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQ3BDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FDdEMsQ0FBQztTQUNIO2FBQU0sSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDOUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMxRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUNwQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQ3BDLENBQUM7U0FDSDtRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQzthQUN0QztpQkFBTTtnQkFDTCxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFFdEQsNkpBQTZKO2dCQUM3SixJQUFJLFlBQVksR0FBRyxLQUFLLENBQUM7Z0JBRXpCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDekMsSUFBSSxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO3dCQUNuQixZQUFZLEdBQUcsSUFBSSxDQUFDO3FCQUNyQjtpQkFDRjtnQkFDRCxJQUFJLFlBQVksSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7b0JBQzVDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO2lCQUN0QjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUNyRDthQUNGO1NBQ0Y7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSTtZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJO1lBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGFBQWEsQ0FBQyxHQUFRO1FBQzNCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO2dCQUM3QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUNsQyxDQUFDO2FBQ0g7aUJBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRTtnQkFDekMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ2pGO2lCQUFNO2dCQUNMLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuRTtTQUNGO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbkIsWUFBWSxFQUFFLEtBQUs7U0FDcEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDOztzSEF4SVUseUJBQXlCOzBHQUF6Qix5QkFBeUIsaWFBUnpCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7WUFDeEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLHNFQzlCSCxncUJBcUJBOzJGRFdhLHlCQUF5QjtrQkFYckMsU0FBUzsrQkFDRSx3QkFBd0IsYUFFdkI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7NEJBQ3hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lJQU9RLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgVW50eXBlZEZvcm1CdWlsZGVyLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgQWJzdHJhY3RDb250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFbnVtVmFsdWVzIH0gZnJvbSAnZW51bS12YWx1ZXMvc3JjL2VudW1WYWx1ZXMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xQYXJlbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXJlbnQtY29tcG9uZW50cy9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcblxuLyoqXG4gKiBEcm9wZG93biBmcm9tIGRhdGEgY29tcG9uZW50IHtAbGluayBodHRwczovL2xlYXNlcGxhbi1kZXYucmVudG9mZmljZS5kZS9zdHlsZWd1aWRlI3VpLWVsZW1lbnRzfVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrbXMtZHJvcGRvd24tZnJvbS1kYXRhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWZyb20tZGF0YS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRHJvcGRvd25Gcm9tRGF0YUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkZyb21EYXRhQ29tcG9uZW50XG4gIGV4dGVuZHMgRm9ybUNvbnRyb2xQYXJlbnRDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXNcbntcbiAgLy8gc3RydWN0dXJlZCBkYXRhIGFzIGEgZW51bSBzZXQuIENhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggJ29wdGlvbnNQbGFpbkFycmF5JyB0byBzZXQgZGlmZXJlbnQgdmFsdWVzIGJ5IGluZGV4XG4gIEBJbnB1dCgpIG9wdGlvbnNFbnVtOiBhbnk7XG5cbiAgLy8gc3RydWN0dXJlZCBkYXRhIGFzIGEgc2ltcGxlIGFycmF5IG9mIGVsZW1lbnRzXG4gIEBJbnB1dCgpIG9wdGlvbnNQbGFpbkFycmF5OiBhbnk7XG5cbiAgLy8gc3RydWN0dXJlZCBkYXRhIGFzIGFuIGFycmF5IG9mIG9iamVjdHMgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBpbnB1dCAnbWFwS2V5JyBhbmQgJ21hcFZhbHVlJ1xuICBASW5wdXQoKSBvcHRpb25zT2JqQXJyYXk6IGFueTtcbiAgLy8ga2V5IGlkZW50aWZpZXIgb2YgdGhlIG9iai4gSWYgbWFwVmFsdWUgZG9lc250IGV4aXN0LCBtYXBLZXkgaXMgYWxzbyB0aGUgdmFsdWVcbiAgQElucHV0KCkgbWFwS2V5PzogYW55O1xuICAvLyB2YWx1ZSBpZGVudGlmaWVyIG9mIHRoZSBvYmpcbiAgQElucHV0KCkgbWFwVmFsdWU/OiBhbnk7XG5cbiAgLy8gb3B0aW9ucyBmb3IgdGhlIGRyb3Bkb3duIGhhdmUgYSBudWxsIHZhbHVlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFycmF5XG4gIEBJbnB1dCgpIGhhc051bGxPcHRpb24gPSBmYWxzZTtcblxuICAvLyB0cmFuc2xhdGlvbiBvYmplY3QgZm9yIHRoZSBsYWJlbCBhbmQgcGxhY2Vob2xkZXJcbiAgQElucHV0KCkgdHJhbnNsYXRpb24/OiBJVHJhbnNsYXRpb247XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHVzZUVudW1JbmRleEFzVmFsdWUgPSBmYWxzZTtcblxuICAvLyBtdWx0aXBsZSBzZWxlY3Rpb25cbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBjb250cm9sPzogQWJzdHJhY3RDb250cm9sO1xuXG4gIHB1YmxpYyBrZXlzOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgdmFsdWVzOiBhbnlbXSA9IFtdO1xuXG4gIE9iamVjdCA9IE9iamVjdDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHtcbiAgICBzdXBlcihmb3JtQnVpbGRlciwgcmVuZGVyZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhvb2sgdXNlZCB0byBzeW5jIGNoYW5nZXMgb24gc2V0IExhYmVsIGFuZCBUeXBlXG4gICAqIEBwYXJhbSBjaGFuZ2VzXG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMub3B0aW9uc1BsYWluQXJyYXkpIHtcbiAgICAgIHRoaXMudmFsdWVzID0gdGhpcy5vcHRpb25zUGxhaW5BcnJheTtcbiAgICAgIHRoaXMua2V5cyA9IHRoaXMub3B0aW9uc1BsYWluQXJyYXk7XG4gICAgfVxuICAgIHRoaXMuc2V0S2V5VmFsdWVzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGRyb3Bkb3duRGF0YTogW10sXG4gICAgfSk7XG4gICAgdGhpcy5mb3JtSW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLmludGVybmFsVmFsdWUgPSB2YWx1ZS5kcm9wZG93bkRhdGE7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlLmRyb3Bkb3duRGF0YSk7XG4gICAgfSk7XG5cbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIHRyYW5zb2ZybXMgdGhlIGRhdGEgdmFsdWVzIHRvIHRoZSBjb3JyZWN0IGZvcm1hdCBmb3IgYmUgdXNlZCBieSB0aGUgdGVtcGxhdGVcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIHNldEtleVZhbHVlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcHRpb25zT2JqQXJyYXkgJiYgdGhpcy5tYXBLZXkgJiYgdGhpcy5tYXBWYWx1ZSkge1xuICAgICAgdGhpcy5rZXlzID0gdGhpcy5vcHRpb25zT2JqQXJyYXkubWFwKChvYmo6IGFueSkgPT4gb2JqW2Ake3RoaXMubWFwS2V5fWBdKTtcbiAgICAgIHRoaXMudmFsdWVzID0gdGhpcy5vcHRpb25zT2JqQXJyYXkubWFwKFxuICAgICAgICAob2JqOiBhbnkpID0+IG9ialtgJHt0aGlzLm1hcFZhbHVlfWBdXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5vcHRpb25zT2JqQXJyYXkgJiYgdGhpcy5tYXBLZXkpIHtcbiAgICAgIHRoaXMua2V5cyA9IHRoaXMub3B0aW9uc09iakFycmF5Lm1hcCgob2JqOiBhbnkpID0+IG9ialtgJHt0aGlzLm1hcEtleX1gXSk7XG4gICAgICB0aGlzLnZhbHVlcyA9IHRoaXMub3B0aW9uc09iakFycmF5Lm1hcChcbiAgICAgICAgKG9iajogYW55KSA9PiBvYmpbYCR7dGhpcy5tYXBLZXl9YF1cbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnNFbnVtKSB7XG4gICAgICB0aGlzLmtleXMgPSBFbnVtVmFsdWVzLmdldE5hbWVzKHRoaXMub3B0aW9uc0VudW0pO1xuICAgICAgaWYgKHRoaXMub3B0aW9uc1BsYWluQXJyYXkpIHtcbiAgICAgICAgdGhpcy52YWx1ZXMgPSB0aGlzLm9wdGlvbnNQbGFpbkFycmF5O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gRW51bVZhbHVlcy5nZXRWYWx1ZXModGhpcy5vcHRpb25zRW51bSk7XG5cbiAgICAgICAgLy8gdmFyIHdobyBkZWZpbmVzIGlmIGVudW0gaXMgY29tcG9uZWQganVzdCB3aXRoIGtleXMgb3Iga2V5VmFsdWVzLiBFLmcgZW51bSBLZXlFbnVtIHsgVkFMVUUxLCBWQUxVRTIgfSBvciBlbnVtIEtleVZhbHVlRW51bSB7IFZBTFVFNCA9ICdWNCcsIFZBTFVFNSA9ICdWNScgfVxuICAgICAgICBsZXQga2V5VmFsdWVFbnVtID0gZmFsc2U7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAoaSAhPT0gdmFsdWVzW2ldKSB7XG4gICAgICAgICAgICBrZXlWYWx1ZUVudW0gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5VmFsdWVFbnVtIHx8IHRoaXMudXNlRW51bUluZGV4QXNWYWx1ZSkge1xuICAgICAgICAgIHRoaXMudmFsdWVzID0gdmFsdWVzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudmFsdWVzID0gRW51bVZhbHVlcy5nZXROYW1lcyh0aGlzLm9wdGlvbnNFbnVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5oYXNOdWxsT3B0aW9uID09PSB0cnVlKSB0aGlzLmtleXMudW5zaGlmdChudWxsKTtcbiAgICBpZiAodGhpcy5oYXNOdWxsT3B0aW9uID09PSB0cnVlKSB0aGlzLnZhbHVlcy51bnNoaWZ0KG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIHNldCB0aGUgdmFsdWUgb2YgdGhlIGRyb3Bkb3duIGJhc2VkIGlmIHRyYW5zbGF0aW9uIGlzIHNldFxuICAgKiBAcGFyYW0ga2V5XG4gICAqL1xuICBwdWJsaWMgc2V0RGlzcGxheUtleShrZXk6IGFueSkge1xuICAgIGlmICh0aGlzLnRyYW5zbGF0aW9uKSB7XG4gICAgICBpZiAodGhpcy50cmFuc2xhdGlvbi5pc1ByZWZpeCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5zZXJ2aWNlPy5pbnN0YW50Py4oXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi5wYXRoICsgJy4nICsga2V5XG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudHJhbnNsYXRpb24udXNlS2V5QXNWYWx1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5zZXJ2aWNlPy5pbnN0YW50Py4odGhpcy50cmFuc2xhdGlvbi5wYXRoLCB7IGtleToga2V5IH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb24uc2VydmljZT8uaW5zdGFudD8uKHRoaXMudHJhbnNsYXRpb24ucGF0aCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBrZXk7XG4gIH1cblxuICB2YWx1ZUNoYW5nZWQodmFsdWU6IGFueSkge1xuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIGRyb3Bkb3duRGF0YTogdmFsdWUsXG4gICAgfSk7XG4gICAgdGhpcy5vblNlbGVjdEl0ZW1FbWl0dGVyLmVtaXQodmFsdWUpO1xuICB9XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHRoYXQgZGVmaW5lcyB0aGUgdHJhbnNsYXRpb24gb2JqZWN0IGluIHRlbXBsYXRlXG4gKi9cbmludGVyZmFjZSBJVHJhbnNsYXRpb24ge1xuICBwYXRoOiBzdHJpbmc7XG4gIGlzUHJlZml4PzogYm9vbGVhbjtcbiAgdXNlS2V5QXNWYWx1ZT86IGJvb2xlYW47XG4gIHNlcnZpY2U6IGFueTtcbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2Zsb2F0TGFiZWxdPVwicGxhY2Vob2xkZXIgPyAnYWx3YXlzJyA6ICdhdXRvJ1wiXG4gID5cbiAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgPG1hdC1zZWxlY3RcbiAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxuICAgICAgZGlzYWJsZU9wdGlvbkNlbnRlcmluZ1xuICAgICAgWyh2YWx1ZSldPVwiY29udHJvbD8udmFsdWUgPyBjb250cm9sLnZhbHVlIDogdmFsdWVcIlxuICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJ2YWx1ZUNoYW5nZWQoJGV2ZW50Py52YWx1ZSlcIlxuICAgICAgI2NoaWxkXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICA+XG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQga2V5IG9mIGtleXM7IGxldCBpID0gaW5kZXhcIiBbdmFsdWVdPVwidmFsdWVzW2ldXCI+XG4gICAgICAgIDxzcGFuPnt7IHNldERpc3BsYXlLZXkoa2V5KSB9fTwvc3Bhbj5cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Zvcm0+XG4iXX0=
@@ -163,10 +163,10 @@ export class ImageSliderComponent {
163
163
  }
164
164
  }
165
165
  ImageSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ImageSliderComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
166
- ImageSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ImageSliderComponent, selector: "kms-image-slider", inputs: { slides: "slides", editMode: "editMode", imagesTOSave: "imagesTOSave", swipeConfig: "swipeConfig" }, outputs: { orderChanged: "orderChanged", deleteImageEvent: "deleteImageEvent" }, host: { listeners: { "document:keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "usefulSwiper", first: true, predicate: ["usefulSwiper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"all-wrapper\">\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\n <div \n class=\"swiper-bigImage\"\n [style.backgroundImage]=\"selectedSlideImage\"\n [swipeDirective]=\"swipeConfig\"\n (moveEvent)=\"handleMoveEvent($event)\"\n (releaseEvent)=\"handleReleaseEvent($event)\"\n (mouseup)=\"lastClicked()\"\n (mouseout)=\"noLastClicked()\" >\n </div>\n\n <ng-content select=\"[description]\"></ng-content>\n\n <div class=\"swiper-holder\">\n <!--\n (mouseWheelUp)=\"scrollLeft($event)\"\n (mouseWheelDown)=\"scrollRight($event)\"\n -->\n\n <swiper [config]=\"config\" #usefulSwiper>\n <div class=\"swiper-wrapper\" \n cdkDropList (cdkDropListDropped)=\"drop($event)\" \n cdkDropListOrientation=\"horizontal\"> \n <div class=\"swiper-slide\" \n *ngFor=\"let slide of slides; let index = index\" \n cdkDrag [cdkDragDisabled]=\"!editMode\">\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\"> \n <kms-icon icon=\"trash\"></kms-icon>\n </button>\n <div class=\"img\" (click)=\"openSlide(index)\"\n [style.backgroundImage]=\"sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\"\n [ngClass]=\"{'active': index === selectedSlide}\">\n </div>\n \n <div class=\"default-image\">{{\"common.defaultImage\" | translate}} </div>\n </div>\n </div>\n </swiper>\n\n <div class=\"swiper-button-next\" *ngIf=\"slides?.length > 3\"></div>\n <div class=\"swiper-button-prev\" *ngIf=\"slides?.length > 3\"></div>\n\n <div class=\"swiper-button-next2\" *ngIf=\"slides?.length > 1\" (click)=\"nextSlide()\">\n <kms-icon icon=\"chevron-right\" [iconClass]=\"{'color-disabled': selectedSlide == slides?.length - 1, 'color-primary': true}\"></kms-icon>\n </div>\n <div class=\"swiper-button-prev2\" *ngIf=\"slides?.length > 1\" (click)=\"previousSlide()\">\n <kms-icon icon=\"chevron-left\" [iconClass]=\"{'color-disabled': selectedSlide == 0, 'color-primary': true}\"></kms-icon>\n </div>\n\n </div>\n\n <ng-content></ng-content>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.SwipeDirective, selector: "[swipeDirective]", inputs: ["swipeDirective"], outputs: ["moveEvent", "releaseEvent"] }, { kind: "component", type: i6.SwiperComponent, selector: "swiper", inputs: ["initialize", "config"] }, { kind: "component", type: i7.IconComponent, selector: "kms-icon", inputs: ["icon", "iconClass", "iconStyle", "iconSize", "size", "dontUseSprite"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
166
+ ImageSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ImageSliderComponent, selector: "kms-image-slider", inputs: { slides: "slides", editMode: "editMode", imagesTOSave: "imagesTOSave", swipeConfig: "swipeConfig" }, outputs: { orderChanged: "orderChanged", deleteImageEvent: "deleteImageEvent" }, host: { listeners: { "document:keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "usefulSwiper", first: true, predicate: ["usefulSwiper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"all-wrapper\">\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\n <div\n class=\"swiper-bigImage\"\n [style.backgroundImage]=\"selectedSlideImage\"\n [swipeDirective]=\"swipeConfig\"\n (moveEvent)=\"handleMoveEvent($event)\"\n (releaseEvent)=\"handleReleaseEvent($event)\"\n (mouseup)=\"lastClicked()\"\n (mouseout)=\"noLastClicked()\"\n ></div>\n\n <ng-content select=\"[description]\"></ng-content>\n\n <div class=\"swiper-holder\">\n <!--\n (mouseWheelUp)=\"scrollLeft($event)\"\n (mouseWheelDown)=\"scrollRight($event)\"\n -->\n\n <swiper [config]=\"config\" #usefulSwiper>\n <div\n class=\"swiper-wrapper\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n cdkDropListOrientation=\"horizontal\"\n >\n <div\n class=\"swiper-slide\"\n *ngFor=\"let slide of slides; let index = index\"\n cdkDrag\n [cdkDragDisabled]=\"!editMode\"\n >\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\">\n <kms-icon icon=\"trash\"></kms-icon>\n </button>\n <div\n class=\"img\"\n (click)=\"openSlide(index)\"\n [style.backgroundImage]=\"\n sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\n \"\n [ngClass]=\"{ active: index === selectedSlide }\"\n ></div>\n\n <div class=\"default-image\">\n {{ \"common.defaultImage\" | translate }}\n </div>\n </div>\n </div>\n </swiper>\n\n <button\n class=\"swiper-button-next\"\n (click)=\"nextSlide()\"\n *ngIf=\"slides?.length > 3\"\n >&nbsp;</button>\n <button\n class=\"swiper-button-prev\"\n (click)=\"previousSlide()\"\n *ngIf=\"slides?.length > 3\"\n >&nbsp;</button>\n\n <div\n class=\"swiper-button-next2\"\n *ngIf=\"slides?.length > 1\"\n (click)=\"nextSlide()\"\n >\n <kms-icon\n icon=\"chevron-right\"\n [iconClass]=\"{\n 'color-disabled': selectedSlide == slides?.length - 1,\n 'color-primary': true\n }\"\n ></kms-icon>\n </div>\n <div\n class=\"swiper-button-prev2\"\n *ngIf=\"slides?.length > 1\"\n (click)=\"previousSlide()\"\n >\n <kms-icon\n icon=\"chevron-left\"\n [iconClass]=\"{\n 'color-disabled': selectedSlide == 0,\n 'color-primary': true\n }\"\n ></kms-icon>\n </div>\n </div>\n\n <ng-content></ng-content>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.SwipeDirective, selector: "[swipeDirective]", inputs: ["swipeDirective"], outputs: ["moveEvent", "releaseEvent"] }, { kind: "component", type: i6.SwiperComponent, selector: "swiper", inputs: ["initialize", "config"] }, { kind: "component", type: i7.IconComponent, selector: "kms-icon", inputs: ["icon", "iconClass", "iconStyle", "iconSize", "size", "dontUseSprite"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
167
167
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ImageSliderComponent, decorators: [{
168
168
  type: Component,
169
- args: [{ selector: 'kms-image-slider', template: "<div class=\"all-wrapper\">\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\n <div \n class=\"swiper-bigImage\"\n [style.backgroundImage]=\"selectedSlideImage\"\n [swipeDirective]=\"swipeConfig\"\n (moveEvent)=\"handleMoveEvent($event)\"\n (releaseEvent)=\"handleReleaseEvent($event)\"\n (mouseup)=\"lastClicked()\"\n (mouseout)=\"noLastClicked()\" >\n </div>\n\n <ng-content select=\"[description]\"></ng-content>\n\n <div class=\"swiper-holder\">\n <!--\n (mouseWheelUp)=\"scrollLeft($event)\"\n (mouseWheelDown)=\"scrollRight($event)\"\n -->\n\n <swiper [config]=\"config\" #usefulSwiper>\n <div class=\"swiper-wrapper\" \n cdkDropList (cdkDropListDropped)=\"drop($event)\" \n cdkDropListOrientation=\"horizontal\"> \n <div class=\"swiper-slide\" \n *ngFor=\"let slide of slides; let index = index\" \n cdkDrag [cdkDragDisabled]=\"!editMode\">\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\"> \n <kms-icon icon=\"trash\"></kms-icon>\n </button>\n <div class=\"img\" (click)=\"openSlide(index)\"\n [style.backgroundImage]=\"sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\"\n [ngClass]=\"{'active': index === selectedSlide}\">\n </div>\n \n <div class=\"default-image\">{{\"common.defaultImage\" | translate}} </div>\n </div>\n </div>\n </swiper>\n\n <div class=\"swiper-button-next\" *ngIf=\"slides?.length > 3\"></div>\n <div class=\"swiper-button-prev\" *ngIf=\"slides?.length > 3\"></div>\n\n <div class=\"swiper-button-next2\" *ngIf=\"slides?.length > 1\" (click)=\"nextSlide()\">\n <kms-icon icon=\"chevron-right\" [iconClass]=\"{'color-disabled': selectedSlide == slides?.length - 1, 'color-primary': true}\"></kms-icon>\n </div>\n <div class=\"swiper-button-prev2\" *ngIf=\"slides?.length > 1\" (click)=\"previousSlide()\">\n <kms-icon icon=\"chevron-left\" [iconClass]=\"{'color-disabled': selectedSlide == 0, 'color-primary': true}\"></kms-icon>\n </div>\n\n </div>\n\n <ng-content></ng-content>\n</div>" }]
169
+ args: [{ selector: 'kms-image-slider', template: "<div class=\"all-wrapper\">\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\n <div\n class=\"swiper-bigImage\"\n [style.backgroundImage]=\"selectedSlideImage\"\n [swipeDirective]=\"swipeConfig\"\n (moveEvent)=\"handleMoveEvent($event)\"\n (releaseEvent)=\"handleReleaseEvent($event)\"\n (mouseup)=\"lastClicked()\"\n (mouseout)=\"noLastClicked()\"\n ></div>\n\n <ng-content select=\"[description]\"></ng-content>\n\n <div class=\"swiper-holder\">\n <!--\n (mouseWheelUp)=\"scrollLeft($event)\"\n (mouseWheelDown)=\"scrollRight($event)\"\n -->\n\n <swiper [config]=\"config\" #usefulSwiper>\n <div\n class=\"swiper-wrapper\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n cdkDropListOrientation=\"horizontal\"\n >\n <div\n class=\"swiper-slide\"\n *ngFor=\"let slide of slides; let index = index\"\n cdkDrag\n [cdkDragDisabled]=\"!editMode\"\n >\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\">\n <kms-icon icon=\"trash\"></kms-icon>\n </button>\n <div\n class=\"img\"\n (click)=\"openSlide(index)\"\n [style.backgroundImage]=\"\n sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\n \"\n [ngClass]=\"{ active: index === selectedSlide }\"\n ></div>\n\n <div class=\"default-image\">\n {{ \"common.defaultImage\" | translate }}\n </div>\n </div>\n </div>\n </swiper>\n\n <button\n class=\"swiper-button-next\"\n (click)=\"nextSlide()\"\n *ngIf=\"slides?.length > 3\"\n >&nbsp;</button>\n <button\n class=\"swiper-button-prev\"\n (click)=\"previousSlide()\"\n *ngIf=\"slides?.length > 3\"\n >&nbsp;</button>\n\n <div\n class=\"swiper-button-next2\"\n *ngIf=\"slides?.length > 1\"\n (click)=\"nextSlide()\"\n >\n <kms-icon\n icon=\"chevron-right\"\n [iconClass]=\"{\n 'color-disabled': selectedSlide == slides?.length - 1,\n 'color-primary': true\n }\"\n ></kms-icon>\n </div>\n <div\n class=\"swiper-button-prev2\"\n *ngIf=\"slides?.length > 1\"\n (click)=\"previousSlide()\"\n >\n <kms-icon\n icon=\"chevron-left\"\n [iconClass]=\"{\n 'color-disabled': selectedSlide == 0,\n 'color-primary': true\n }\"\n ></kms-icon>\n </div>\n </div>\n\n <ng-content></ng-content>\n</div>\n" }]
170
170
  }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { slides: [{
171
171
  type: Input
172
172
  }], editMode: [{
@@ -186,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
186
186
  type: HostListener,
187
187
  args: ['document:keydown', ['$event']]
188
188
  }] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9pbWFnZS1zbGlkZXIvaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9pbWFnZS1zbGlkZXIvaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQVV0RSxNQUFNLE9BQU8sb0JBQW9CO0lBOEM3QixZQUFtQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBNUNqQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWhCLGlCQUFZLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEUscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdEU7OztXQUdHO1FBQ00sZ0JBQVcsR0FBaUI7WUFDakMsY0FBYyxFQUFFLENBQUM7WUFDakIsa0JBQWtCLEVBQUUsR0FBRztZQUN2QixrQkFBa0IsRUFBRSxJQUFJO1NBQzNCLENBQUM7UUFFSyxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUlsQiwrQkFBMEIsR0FBRyxLQUFLLENBQUM7UUFJMUMsV0FBTSxHQUFrQjtZQUNwQixZQUFZLEVBQUUsQ0FBQztZQUNmLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLFVBQVUsRUFBRTtnQkFDUixNQUFNLEVBQUUscUJBQXFC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QUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN0RSxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDN0M7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O2lIQTlLUSxvQkFBb0I7cUdBQXBCLG9CQUFvQixtY0M3QmpDLG82RUFxRE07MkZEeEJPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxrQkFBa0I7bUdBS25CLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBTUUsV0FBVztzQkFBbkIsS0FBSztnQkFZcUIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQWtDcUIsZ0JBQWdCO3NCQUE3RCxZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAY29weXJpZ2h0IEZMWUFDVFMgR21iSCAyMDE5XG4gKi9cblxuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBTd2lwZXJDb21wb25lbnQgfSBmcm9tICduZ3gtdXNlZnVsLXN3aXBlcic7XG5pbXBvcnQgeyBTd2lwZXJPcHRpb25zIH0gZnJvbSAnc3dpcGVyJztcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IEltYWdlU25pcHBldCB9IGZyb20gJy4uLy4uL21vZGVscy9pbWFnZS1zbmlwcGV0Lm1vZGVsJztcbmltcG9ydCB7IFN3aXBlTW92ZUV2ZW50LCBTd2lwZU9wdGlvbnMsIFN3aXBlUmVsZWFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9zd2lwZS5tb2RlbCc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrbXMtaW1hZ2Utc2xpZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbWFnZS1zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VTbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgc2xpZGVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBlZGl0TW9kZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGltYWdlc1RPU2F2ZTogSW1hZ2VTbmlwcGV0W10gfCB1bmRlZmluZWQ7XG4gICAgQE91dHB1dCgpIG9yZGVyQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEltYWdlU25pcHBldFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZGVsZXRlSW1hZ2VFdmVudDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbDogRGVmaW5lIFN3aXBlIGJlaGF2aW91ciBjb25maWd1cmF0aW9uLlxuICAgICAqIERlZmF1bHQgaXMgMTAlIGZvciB0aGUgdGhyZXNob2xkIGRlZmluaXRpb24gdW50aWwgYSBzd2lwZSB0cmlnZ2VycyBuZXh0L3ByZXZpb3VzIHNsaWRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHN3aXBlQ29uZmlnOiBTd2lwZU9wdGlvbnMgPSB7XG4gICAgICAgIHN3aXBlVGhyZXNob2xkOiA1LFxuICAgICAgICBzd2lwZVRocmVzaG9sZFR5cGU6ICclJyxcbiAgICAgICAgc3dpcGVMb2NhbFBvc2l0aW9uOiB0cnVlLFxuICAgIH07XG5cbiAgICBwdWJsaWMgc2VsZWN0ZWRTbGlkZSA9IDA7XG4gICAgcHVibGljIGNoZWNrZWRJbWFnZUluZGV4PzogbnVtYmVyO1xuXG4gICAgcHVibGljIHNlbGVjdGVkU2xpZGVJbWFnZTogU2FmZVN0eWxlIHwgdW5kZWZpbmVkO1xuICAgIHB1YmxpYyBpc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZCgndXNlZnVsU3dpcGVyJykgdXNlZnVsU3dpcGVyOiBTd2lwZXJDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgICBjb25maWc6IFN3aXBlck9wdGlvbnMgPSB7XG4gICAgICAgIGluaXRpYWxTbGlkZTogMCxcbiAgICAgICAgc2xpZGVzUGVyVmlldzogMyxcbiAgICAgICAgbmF2aWdhdGlvbjoge1xuICAgICAgICAgICAgbmV4dEVsOiAnLnN3aXBlci1idXR0b24tbmV4dCcsXG4gICAgICAgICAgICBwcmV2RWw6ICcuc3dpcGVyLWJ1dHRvbi1wcmV2JyxcbiAgICAgICAgfSxcbiAgICAgICAgd2F0Y2hPdmVyZmxvdzogdHJ1ZSxcbiAgICAgICAgYXV0b0hlaWdodDogdHJ1ZSxcbiAgICAgICAgYWxsb3dUb3VjaE1vdmU6IGZhbHNlLFxuICAgICAgICBzcGFjZUJldHdlZW46IDMwLFxuICAgICAgICBvbjoge1xuICAgICAgICAgICAgc2xpZGVDaGFuZ2U6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBkbyBzb21ldGhpbmdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzbGlkZUNoYW5nZVRyYW5zaXRpb25FbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBkbyBzb21ldGhpbmdcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5zbGlkZXMpIHtcbiAgICAgICAgICAgIC8vIFRPRE8gdXNlIFBpcGUgc2FmZVN0eWxlXG5cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTbGlkZUltYWdlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKCd1cmwoJyArIHRoaXMuc2xpZGVzWzBdICsgJyknKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICFUT0RPXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pIG9uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnKSB7XG4gICAgICAgICAgICB0aGlzLm5leHRTbGlkZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICAgICAgICB0aGlzLnByZXZpb3VzU2xpZGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNsaWRlIGZvbGxvd3MgdGhlIGZpbmdlciBvciBtb3VzZSBhY2NvcmRpbmcgdG8gaXTCtHMgbW92ZSBkZWx0YS5cbiAgICAgKiBAcGFyYW0gZXZlbnQgU3dpcGVNb3ZlRXZlbnRcbiAgICAgKi9cbiAgICBoYW5kbGVNb3ZlRXZlbnQoZXZlbnQ6IFN3aXBlTW92ZUV2ZW50KSB7XG4gICAgICAgIC8vIGNlcnRhaW4gbW92ZSB0aHJlc2hvbGQgbmVlZHMgdG8gYmUgcmVhY2hlZFxuICAgICAgICBpZiAoIWV2ZW50LnRocmVzaG9sZFdhc1JlYWNoZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbmZpZy5kaXJlY3Rpb24gPSBldmVudC5kaXJlY3Rpb24gPT09IDEgPyAnaG9yaXpvbnRhbCcgOiAndmVydGljYWwnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1vdXNlIHVwIG9yIHNsaWRlIGNvbnRhaW5lciB3YXMgbGVmdC5cbiAgICAgKiBAcGFyYW0gZXZlbnQgU3dpcGVSZWxlYXNlRXZlbnRcbiAgICAgKi9cbiAgICBoYW5kbGVSZWxlYXNlRXZlbnQoZXZlbnQ6IFN3aXBlUmVsZWFzZUV2ZW50KSB7XG4gICAgICAgIGlmICghZXZlbnQudGhyZXNob2xkV2FzUmVhY2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIEp1c3QgZG8gaWYgdXNlciBjbGlja2VkIHRvIHNsaWRlIG9uIGltYWdlIGFuZCBub3Qgb24gYXJyb3cgb3Igb3RoZXIgZWxlbWVudFxuICAgICAgICBpZiAoIXRoaXMuaXNMYXN0Q2xpY2tlZEluU2xpZGVySW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQuZGlyZWN0aW9uID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLnByZXZpb3VzU2xpZGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmV4dFNsaWRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYXN0Q2xpY2tlZCgpIHtcbiAgICAgICAgdGhpcy5pc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IHRydWU7XG4gICAgfVxuXG4gICAgbm9MYXN0Q2xpY2tlZCgpIHtcbiAgICAgICAgdGhpcy5pc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHNjcm9sbExlZnQoKSB7XG4gICAgICAgIHRoaXMucHJldmlvdXNTbGlkZSgpO1xuICAgIH1cblxuICAgIHNjcm9sbFJpZ2h0KCkge1xuICAgICAgICB0aGlzLm5leHRTbGlkZSgpO1xuICAgIH1cblxuICAgIG5leHRTbGlkZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2xpZGVzICYmIHRoaXMuc2VsZWN0ZWRTbGlkZSA8IHRoaXMuc2xpZGVzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZWZ1bFN3aXBlcikge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlZnVsU3dpcGVyLnN3aXBlci5zbGlkZU5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMub3BlblNsaWRlKHRoaXMuc2VsZWN0ZWRTbGlkZSArIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNMYXN0Q2xpY2tlZEluU2xpZGVySW1hZ2UgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcmV2aW91c1NsaWRlKCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFNsaWRlID4gMCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudXNlZnVsU3dpcGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VmdWxTd2lwZXIuc3dpcGVyLnNsaWRlUHJldigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vcGVuU2xpZGUodGhpcy5zZWxlY3RlZFNsaWRlIC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHNsaWRlVG8oaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy51c2VmdWxTd2lwZXIpIHtcbiAgICAgICAgICAgIHRoaXMudXNlZnVsU3dpcGVyLnN3aXBlci5zbGlkZVRvKGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5TbGlkZShudW1iZXI6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5zbGlkZXMgJiYgbnVtYmVyIDwgdGhpcy5zbGlkZXMubGVuZ3RoICYmIG51bWJlciA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2xpZGUgPSBudW1iZXI7XG4gICAgICAgICAgICAvLyBUT0RPIHVzZSBQaXBlIHNhZmVTdHlsZVxuXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2xpZGVJbWFnZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZSgndXJsKCcgKyB0aGlzLnNsaWRlc1tudW1iZXJdIHx8ICcpJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhfY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoX2NoYW5nZXMuc2xpZGVzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zbGlkZXMpIHtcbiAgICAgICAgICAgICAgICAvLyBUT0RPIHVzZSBQaXBlIHNhZmVTdHlsZVxuXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNsaWRlSW1hZ2UgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoJ3VybCgnICsgdGhpcy5zbGlkZXNbMF0gKyAnKScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmUtb3JkZXIgc2xpZGVzIGFuZCBub3RpZnkgcGFyZW50IGNvbXBvbmVudFxuICAgICAqL1xuICAgIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgICAgICBpZiAodGhpcy5zbGlkZXMgJiYgdGhpcy5pbWFnZXNUT1NhdmUpIHtcbiAgICAgICAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLnNsaWRlcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmltYWdlc1RPU2F2ZSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgICAgIHRoaXMub3JkZXJDaGFuZ2VkLmVtaXQodGhpcy5pbWFnZXNUT1NhdmUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VuZCBpbWFnZSBpbmRleCB0byBwYXJlbnQgdG8gcGVyZm9ybSBkZWxldGVcbiAgICAgKi9cbiAgICBkZWxldGVJbWFnZShpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZGVsZXRlSW1hZ2VFdmVudC5lbWl0KGluZGV4KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWxsLXdyYXBwZXJcIj5cbiAgICA8IS0tKHN3aXBlcmlnaHQpPVwicHJldmlvdXNTbGlkZSgpXCIgKHN3aXBlbGVmdCk9XCJuZXh0U2xpZGUoKVwiLS0+XG4gICAgPGRpdiBcbiAgICAgICAgY2xhc3M9XCJzd2lwZXItYmlnSW1hZ2VcIlxuICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cInNlbGVjdGVkU2xpZGVJbWFnZVwiXG4gICAgICAgIFtzd2lwZURpcmVjdGl2ZV09XCJzd2lwZUNvbmZpZ1wiXG4gICAgICAgIChtb3ZlRXZlbnQpPVwiaGFuZGxlTW92ZUV2ZW50KCRldmVudClcIlxuICAgICAgICAocmVsZWFzZUV2ZW50KT1cImhhbmRsZVJlbGVhc2VFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgKG1vdXNldXApPVwibGFzdENsaWNrZWQoKVwiXG4gICAgICAgIChtb3VzZW91dCk9XCJub0xhc3RDbGlja2VkKClcIiA+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZGVzY3JpcHRpb25dXCI+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdiBjbGFzcz1cInN3aXBlci1ob2xkZXJcIj5cbiAgICAgICAgPCEtLVxuICAgICAgICAobW91c2VXaGVlbFVwKT1cInNjcm9sbExlZnQoJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZVdoZWVsRG93bik9XCJzY3JvbGxSaWdodCgkZXZlbnQpXCJcbiAgICAgICAgLS0+XG5cbiAgICAgICAgPHN3aXBlciBbY29uZmlnXT1cImNvbmZpZ1wiICN1c2VmdWxTd2lwZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXdyYXBwZXJcIiBcbiAgICAgICAgICAgICAgICBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiIFxuICAgICAgICAgICAgICAgIGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCI+ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIiBcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNsaWRlIG9mIHNsaWRlczsgbGV0IGluZGV4ID0gaW5kZXhcIiBcbiAgICAgICAgICAgICAgICAgICAgY2RrRHJhZyBbY2RrRHJhZ0Rpc2FibGVkXT1cIiFlZGl0TW9kZVwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJlZGl0TW9kZVwiIChjbGljayk9XCJkZWxldGVJbWFnZShpbmRleClcIj4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8a21zLWljb24gaWNvbj1cInRyYXNoXCI+PC9rbXMtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWdcIiAoY2xpY2spPVwib3BlblNsaWRlKGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoJ3VybCgnICsgc2xpZGUgKyAnKScpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogaW5kZXggPT09IHNlbGVjdGVkU2xpZGV9XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtaW1hZ2VcIj57e1wiY29tbW9uLmRlZmF1bHRJbWFnZVwiIHwgdHJhbnNsYXRlfX0gPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zd2lwZXI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1idXR0b24tbmV4dFwiICpuZ0lmPVwic2xpZGVzPy5sZW5ndGggPiAzXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItYnV0dG9uLXByZXZcIiAqbmdJZj1cInNsaWRlcz8ubGVuZ3RoID4gM1wiPjwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItYnV0dG9uLW5leHQyXCIgKm5nSWY9XCJzbGlkZXM/Lmxlbmd0aCA+IDFcIiAoY2xpY2spPVwibmV4dFNsaWRlKClcIj5cbiAgICAgICAgICAgIDxrbXMtaWNvbiBpY29uPVwiY2hldnJvbi1yaWdodFwiIFtpY29uQ2xhc3NdPVwieydjb2xvci1kaXNhYmxlZCc6IHNlbGVjdGVkU2xpZGUgPT0gc2xpZGVzPy5sZW5ndGggLSAxLCAnY29sb3ItcHJpbWFyeSc6IHRydWV9XCI+PC9rbXMtaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItYnV0dG9uLXByZXYyXCIgKm5nSWY9XCJzbGlkZXM/Lmxlbmd0aCA+IDFcIiAoY2xpY2spPVwicHJldmlvdXNTbGlkZSgpXCI+XG4gICAgICAgICAgICA8a21zLWljb24gaWNvbj1cImNoZXZyb24tbGVmdFwiIFtpY29uQ2xhc3NdPVwieydjb2xvci1kaXNhYmxlZCc6IHNlbGVjdGVkU2xpZGUgPT0gMCwgJ2NvbG9yLXByaW1hcnknOiB0cnVlfVwiPjwva21zLWljb24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj4iXX0=
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9pbWFnZS1zbGlkZXIvaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9pbWFnZS1zbGlkZXIvaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQWF0RSxNQUFNLE9BQU8sb0JBQW9CO0lBOEMvQixZQUFtQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBNUNqQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWhCLGlCQUFZLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEUscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdEU7OztXQUdHO1FBQ00sZ0JBQVcsR0FBaUI7WUFDbkMsY0FBYyxFQUFFLENBQUM7WUFDakIsa0JBQWtCLEVBQUUsR0FBRztZQUN2QixrQkFBa0IsRUFBRSxJQUFJO1NBQ3pCLENBQUM7UUFFSyxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUlsQiwrQkFBMEIsR0FBRyxLQUFLLENBQUM7UUFJMUMsV0FBTSxHQUFrQjtZQUN0QixZQUFZLEVBQUUsQ0FBQztZQUNmLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLFVBQVUsRUFBRTtnQkFDVixNQUFNLEVBQUUscUJBQXFCO2dCQUM3QixNQUFNLEVBQUUscUJBQXFCO2FBQzlCO1lBQ0QsYUFBYSxFQUFFLElBQUk7WUFDbkIsVUFBVSxFQUFFLElBQUk7WUFDaEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsWUFBWSxFQUFFLEVBQUU7WUFDaEIsRUFBRSxFQUFFO2dCQUNGLFdBQVcsRUFBRSxHQUFHLEVBQUU7b0JBQ2hCLGVBQWU7Z0JBQ2pCLENBQUM7Z0JBQ0Qsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO29CQUM3QixlQUFlO2dCQUNqQixDQUFDO2FBQ0Y7U0FDRixDQUFDO0lBRTJDLENBQUM7SUFFOUMsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLDBCQUEwQjtZQUUxQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FDL0QsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUM5QixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsUUFBUTtJQUNzQyxnQkFBZ0IsQ0FDNUQsS0FBb0I7UUFFcEIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFlBQVksRUFBRTtZQUM5QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7UUFDRCxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO1lBQzdCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxlQUFlLENBQUMsS0FBcUI7UUFDbkMsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUU7WUFDOUIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQzVFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBQyxLQUF3QjtRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUFFO1lBQzlCLE9BQU87U0FDUjtRQUNELDhFQUE4RTtRQUM5RSxJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFO1lBQ3BDLE9BQU87U0FDUjtRQUNELElBQUksS0FBSyxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUM7SUFDekMsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzlELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDdEM7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDeEM7UUFDRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsRUFBRTtZQUMxQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ3RDO1lBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDN0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7WUFDNUIsMEJBQTBCO1lBRTFCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUMvRCxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQ3BDLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsUUFBdUI7UUFDakMsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ25CLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDZiwwQkFBMEI7Z0JBRTFCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUMvRCxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQzlCLENBQUM7YUFDSDtTQUNGO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLEtBQTRCO1FBQy9CLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3RFLGVBQWUsQ0FDYixJQUFJLENBQUMsWUFBWSxFQUNqQixLQUFLLENBQUMsYUFBYSxFQUNuQixLQUFLLENBQUMsWUFBWSxDQUNuQixDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDOztpSEExTFUsb0JBQW9CO3FHQUFwQixvQkFBb0IsbWNDaENqQyxva0ZBNkZBOzJGRDdEYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCO21HQUtuQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQU1FLFdBQVc7c0JBQW5CLEtBQUs7Z0JBWXFCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFvQ3FCLGdCQUFnQjtzQkFBN0QsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGNvcHlyaWdodCBGTFlBQ1RTIEdtYkggMjAxOVxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlU3R5bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgU3dpcGVyQ29tcG9uZW50IH0gZnJvbSAnbmd4LXVzZWZ1bC1zd2lwZXInO1xuaW1wb3J0IHsgU3dpcGVyT3B0aW9ucyB9IGZyb20gJ3N3aXBlcic7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBJbWFnZVNuaXBwZXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW1hZ2Utc25pcHBldC5tb2RlbCc7XG5pbXBvcnQge1xuICBTd2lwZU1vdmVFdmVudCxcbiAgU3dpcGVPcHRpb25zLFxuICBTd2lwZVJlbGVhc2VFdmVudCxcbn0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9zd2lwZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ttcy1pbWFnZS1zbGlkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlU2xpZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBzbGlkZXM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBlZGl0TW9kZSA9IGZhbHNlO1xuICBASW5wdXQoKSBpbWFnZXNUT1NhdmU6IEltYWdlU25pcHBldFtdIHwgdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgb3JkZXJDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8SW1hZ2VTbmlwcGV0W10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZGVsZXRlSW1hZ2VFdmVudDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsOiBEZWZpbmUgU3dpcGUgYmVoYXZpb3VyIGNvbmZpZ3VyYXRpb24uXG4gICAqIERlZmF1bHQgaXMgMTAlIGZvciB0aGUgdGhyZXNob2xkIGRlZmluaXRpb24gdW50aWwgYSBzd2lwZSB0cmlnZ2VycyBuZXh0L3ByZXZpb3VzIHNsaWRlLlxuICAgKi9cbiAgQElucHV0KCkgc3dpcGVDb25maWc6IFN3aXBlT3B0aW9ucyA9IHtcbiAgICBzd2lwZVRocmVzaG9sZDogNSxcbiAgICBzd2lwZVRocmVzaG9sZFR5cGU6ICclJyxcbiAgICBzd2lwZUxvY2FsUG9zaXRpb246IHRydWUsXG4gIH07XG5cbiAgcHVibGljIHNlbGVjdGVkU2xpZGUgPSAwO1xuICBwdWJsaWMgY2hlY2tlZEltYWdlSW5kZXg/OiBudW1iZXI7XG5cbiAgcHVibGljIHNlbGVjdGVkU2xpZGVJbWFnZTogU2FmZVN0eWxlIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgaXNMYXN0Q2xpY2tlZEluU2xpZGVySW1hZ2UgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCd1c2VmdWxTd2lwZXInKSB1c2VmdWxTd2lwZXI6IFN3aXBlckNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBjb25maWc6IFN3aXBlck9wdGlvbnMgPSB7XG4gICAgaW5pdGlhbFNsaWRlOiAwLFxuICAgIHNsaWRlc1BlclZpZXc6IDMsXG4gICAgbmF2aWdhdGlvbjoge1xuICAgICAgbmV4dEVsOiAnLnN3aXBlci1idXR0b24tbmV4dCcsXG4gICAgICBwcmV2RWw6ICcuc3dpcGVyLWJ1dHRvbi1wcmV2JyxcbiAgICB9LFxuICAgIHdhdGNoT3ZlcmZsb3c6IHRydWUsXG4gICAgYXV0b0hlaWdodDogdHJ1ZSxcbiAgICBhbGxvd1RvdWNoTW92ZTogZmFsc2UsXG4gICAgc3BhY2VCZXR3ZWVuOiAzMCxcbiAgICBvbjoge1xuICAgICAgc2xpZGVDaGFuZ2U6ICgpID0+IHtcbiAgICAgICAgLy8gZG8gc29tZXRoaW5nXG4gICAgICB9LFxuICAgICAgc2xpZGVDaGFuZ2VUcmFuc2l0aW9uRW5kOiAoKSA9PiB7XG4gICAgICAgIC8vIGRvIHNvbWV0aGluZ1xuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zbGlkZXMpIHtcbiAgICAgIC8vIFRPRE8gdXNlIFBpcGUgc2FmZVN0eWxlXG5cbiAgICAgIHRoaXMuc2VsZWN0ZWRTbGlkZUltYWdlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKFxuICAgICAgICAndXJsKCcgKyB0aGlzLnNsaWRlc1swXSArICcpJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyAhVE9ET1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSkgb25LZXlkb3duSGFuZGxlcihcbiAgICBldmVudDogS2V5Ym9hcmRFdmVudFxuICApIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcpIHtcbiAgICAgIHRoaXMubmV4dFNsaWRlKCk7XG4gICAgfVxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICB0aGlzLnByZXZpb3VzU2xpZGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2xpZGUgZm9sbG93cyB0aGUgZmluZ2VyIG9yIG1vdXNlIGFjY29yZGluZyB0byBpdMK0cyBtb3ZlIGRlbHRhLlxuICAgKiBAcGFyYW0gZXZlbnQgU3dpcGVNb3ZlRXZlbnRcbiAgICovXG4gIGhhbmRsZU1vdmVFdmVudChldmVudDogU3dpcGVNb3ZlRXZlbnQpIHtcbiAgICAvLyBjZXJ0YWluIG1vdmUgdGhyZXNob2xkIG5lZWRzIHRvIGJlIHJlYWNoZWRcbiAgICBpZiAoIWV2ZW50LnRocmVzaG9sZFdhc1JlYWNoZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jb25maWcuZGlyZWN0aW9uID0gZXZlbnQuZGlyZWN0aW9uID09PSAxID8gJ2hvcml6b250YWwnIDogJ3ZlcnRpY2FsJztcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3VzZSB1cCBvciBzbGlkZSBjb250YWluZXIgd2FzIGxlZnQuXG4gICAqIEBwYXJhbSBldmVudCBTd2lwZVJlbGVhc2VFdmVudFxuICAgKi9cbiAgaGFuZGxlUmVsZWFzZUV2ZW50KGV2ZW50OiBTd2lwZVJlbGVhc2VFdmVudCkge1xuICAgIGlmICghZXZlbnQudGhyZXNob2xkV2FzUmVhY2hlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBKdXN0IGRvIGlmIHVzZXIgY2xpY2tlZCB0byBzbGlkZSBvbiBpbWFnZSBhbmQgbm90IG9uIGFycm93IG9yIG90aGVyIGVsZW1lbnRcbiAgICBpZiAoIXRoaXMuaXNMYXN0Q2xpY2tlZEluU2xpZGVySW1hZ2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50LmRpcmVjdGlvbiA9PT0gMSkge1xuICAgICAgdGhpcy5wcmV2aW91c1NsaWRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubmV4dFNsaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgbGFzdENsaWNrZWQoKSB7XG4gICAgdGhpcy5pc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IHRydWU7XG4gIH1cblxuICBub0xhc3RDbGlja2VkKCkge1xuICAgIHRoaXMuaXNMYXN0Q2xpY2tlZEluU2xpZGVySW1hZ2UgPSBmYWxzZTtcbiAgfVxuXG4gIHNjcm9sbExlZnQoKSB7XG4gICAgdGhpcy5wcmV2aW91c1NsaWRlKCk7XG4gIH1cblxuICBzY3JvbGxSaWdodCgpIHtcbiAgICB0aGlzLm5leHRTbGlkZSgpO1xuICB9XG5cbiAgbmV4dFNsaWRlKCkge1xuICAgIGlmICh0aGlzLnNsaWRlcyAmJiB0aGlzLnNlbGVjdGVkU2xpZGUgPCB0aGlzLnNsaWRlcy5sZW5ndGggLSAxKSB7XG4gICAgICBpZiAodGhpcy51c2VmdWxTd2lwZXIpIHtcbiAgICAgICAgdGhpcy51c2VmdWxTd2lwZXIuc3dpcGVyLnNsaWRlTmV4dCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5vcGVuU2xpZGUodGhpcy5zZWxlY3RlZFNsaWRlICsgMSk7XG4gICAgfVxuICAgIHRoaXMuaXNMYXN0Q2xpY2tlZEluU2xpZGVySW1hZ2UgPSBmYWxzZTtcbiAgfVxuXG4gIHByZXZpb3VzU2xpZGUoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRTbGlkZSA+IDApIHtcbiAgICAgIGlmICh0aGlzLnVzZWZ1bFN3aXBlcikge1xuICAgICAgICB0aGlzLnVzZWZ1bFN3aXBlci5zd2lwZXIuc2xpZGVQcmV2KCk7XG4gICAgICB9XG4gICAgICB0aGlzLm9wZW5TbGlkZSh0aGlzLnNlbGVjdGVkU2xpZGUgLSAxKTtcbiAgICB9XG4gICAgdGhpcy5pc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IGZhbHNlO1xuICB9XG5cbiAgc2xpZGVUbyhpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMudXNlZnVsU3dpcGVyKSB7XG4gICAgICB0aGlzLnVzZWZ1bFN3aXBlci5zd2lwZXIuc2xpZGVUbyhpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgb3BlblNsaWRlKG51bWJlcjogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuc2xpZGVzICYmIG51bWJlciA8IHRoaXMuc2xpZGVzLmxlbmd0aCAmJiBudW1iZXIgPj0gMCkge1xuICAgICAgdGhpcy5zZWxlY3RlZFNsaWRlID0gbnVtYmVyO1xuICAgICAgLy8gVE9ETyB1c2UgUGlwZSBzYWZlU3R5bGVcblxuICAgICAgdGhpcy5zZWxlY3RlZFNsaWRlSW1hZ2UgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoXG4gICAgICAgICd1cmwoJyArIHRoaXMuc2xpZGVzW251bWJlcl0gfHwgJyknXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKF9jaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKF9jaGFuZ2VzLnNsaWRlcykge1xuICAgICAgaWYgKHRoaXMuc2xpZGVzKSB7XG4gICAgICAgIC8vIFRPRE8gdXNlIFBpcGUgc2FmZVN0eWxlXG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZFNsaWRlSW1hZ2UgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoXG4gICAgICAgICAgJ3VybCgnICsgdGhpcy5zbGlkZXNbMF0gKyAnKSdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmUtb3JkZXIgc2xpZGVzIGFuZCBub3RpZnkgcGFyZW50IGNvbXBvbmVudFxuICAgKi9cbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XG4gICAgaWYgKHRoaXMuc2xpZGVzICYmIHRoaXMuaW1hZ2VzVE9TYXZlKSB7XG4gICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5zbGlkZXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgICBtb3ZlSXRlbUluQXJyYXkoXG4gICAgICAgIHRoaXMuaW1hZ2VzVE9TYXZlLFxuICAgICAgICBldmVudC5wcmV2aW91c0luZGV4LFxuICAgICAgICBldmVudC5jdXJyZW50SW5kZXhcbiAgICAgICk7XG4gICAgICB0aGlzLm9yZGVyQ2hhbmdlZC5lbWl0KHRoaXMuaW1hZ2VzVE9TYXZlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VuZCBpbWFnZSBpbmRleCB0byBwYXJlbnQgdG8gcGVyZm9ybSBkZWxldGVcbiAgICovXG4gIGRlbGV0ZUltYWdlKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmRlbGV0ZUltYWdlRXZlbnQuZW1pdChpbmRleCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhbGwtd3JhcHBlclwiPlxuICA8IS0tKHN3aXBlcmlnaHQpPVwicHJldmlvdXNTbGlkZSgpXCIgKHN3aXBlbGVmdCk9XCJuZXh0U2xpZGUoKVwiLS0+XG4gIDxkaXZcbiAgICBjbGFzcz1cInN3aXBlci1iaWdJbWFnZVwiXG4gICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCJzZWxlY3RlZFNsaWRlSW1hZ2VcIlxuICAgIFtzd2lwZURpcmVjdGl2ZV09XCJzd2lwZUNvbmZpZ1wiXG4gICAgKG1vdmVFdmVudCk9XCJoYW5kbGVNb3ZlRXZlbnQoJGV2ZW50KVwiXG4gICAgKHJlbGVhc2VFdmVudCk9XCJoYW5kbGVSZWxlYXNlRXZlbnQoJGV2ZW50KVwiXG4gICAgKG1vdXNldXApPVwibGFzdENsaWNrZWQoKVwiXG4gICAgKG1vdXNlb3V0KT1cIm5vTGFzdENsaWNrZWQoKVwiXG4gID48L2Rpdj5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZGVzY3JpcHRpb25dXCI+PC9uZy1jb250ZW50PlxuXG4gIDxkaXYgY2xhc3M9XCJzd2lwZXItaG9sZGVyXCI+XG4gICAgPCEtLVxuICAgICAgICAobW91c2VXaGVlbFVwKT1cInNjcm9sbExlZnQoJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZVdoZWVsRG93bik9XCJzY3JvbGxSaWdodCgkZXZlbnQpXCJcbiAgICAgICAgLS0+XG5cbiAgICA8c3dpcGVyIFtjb25maWddPVwiY29uZmlnXCIgI3VzZWZ1bFN3aXBlcj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzd2lwZXItd3JhcHBlclwiXG4gICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcbiAgICAgICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJzd2lwZXItc2xpZGVcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBzbGlkZSBvZiBzbGlkZXM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgICBjZGtEcmFnXG4gICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCIhZWRpdE1vZGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0lmPVwiZWRpdE1vZGVcIiAoY2xpY2spPVwiZGVsZXRlSW1hZ2UoaW5kZXgpXCI+XG4gICAgICAgICAgICA8a21zLWljb24gaWNvbj1cInRyYXNoXCI+PC9rbXMtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImltZ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib3BlblNsaWRlKGluZGV4KVwiXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cIlxuICAgICAgICAgICAgICBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKCd1cmwoJyArIHNsaWRlICsgJyknKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiBpbmRleCA9PT0gc2VsZWN0ZWRTbGlkZSB9XCJcbiAgICAgICAgICA+PC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1pbWFnZVwiPlxuICAgICAgICAgICAge3sgXCJjb21tb24uZGVmYXVsdEltYWdlXCIgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L3N3aXBlcj5cblxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic3dpcGVyLWJ1dHRvbi1uZXh0XCJcbiAgICAgIChjbGljayk9XCJuZXh0U2xpZGUoKVwiXG4gICAgICAqbmdJZj1cInNsaWRlcz8ubGVuZ3RoID4gM1wiXG4gICAgPiZuYnNwOzwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic3dpcGVyLWJ1dHRvbi1wcmV2XCJcbiAgICAgIChjbGljayk9XCJwcmV2aW91c1NsaWRlKClcIlxuICAgICAgKm5nSWY9XCJzbGlkZXM/Lmxlbmd0aCA+IDNcIlxuICAgID4mbmJzcDs8L2J1dHRvbj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic3dpcGVyLWJ1dHRvbi1uZXh0MlwiXG4gICAgICAqbmdJZj1cInNsaWRlcz8ubGVuZ3RoID4gMVwiXG4gICAgICAoY2xpY2spPVwibmV4dFNsaWRlKClcIlxuICAgID5cbiAgICAgIDxrbXMtaWNvblxuICAgICAgICBpY29uPVwiY2hldnJvbi1yaWdodFwiXG4gICAgICAgIFtpY29uQ2xhc3NdPVwie1xuICAgICAgICAgICdjb2xvci1kaXNhYmxlZCc6IHNlbGVjdGVkU2xpZGUgPT0gc2xpZGVzPy5sZW5ndGggLSAxLFxuICAgICAgICAgICdjb2xvci1wcmltYXJ5JzogdHJ1ZVxuICAgICAgICB9XCJcbiAgICAgID48L2ttcy1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic3dpcGVyLWJ1dHRvbi1wcmV2MlwiXG4gICAgICAqbmdJZj1cInNsaWRlcz8ubGVuZ3RoID4gMVwiXG4gICAgICAoY2xpY2spPVwicHJldmlvdXNTbGlkZSgpXCJcbiAgICA+XG4gICAgICA8a21zLWljb25cbiAgICAgICAgaWNvbj1cImNoZXZyb24tbGVmdFwiXG4gICAgICAgIFtpY29uQ2xhc3NdPVwie1xuICAgICAgICAgICdjb2xvci1kaXNhYmxlZCc6IHNlbGVjdGVkU2xpZGUgPT0gMCxcbiAgICAgICAgICAnY29sb3ItcHJpbWFyeSc6IHRydWVcbiAgICAgICAgfVwiXG4gICAgICA+PC9rbXMtaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -13,28 +13,28 @@ import * as i4 from "../icon/icon.component";
13
13
  export class KMSAccordionItemComponent {
14
14
  constructor(sanitizer) {
15
15
  this.sanitizer = sanitizer;
16
- this.itemTitle = '';
17
16
  this.showAsCard = false;
18
17
  this.isSmall = false;
19
18
  this.expanded = false;
20
19
  this.panelOpenState = false;
21
20
  }
22
- ngOnInit() {
23
- this.itemTitleTrustHtml = this.sanitizer.bypassSecurityTrustHtml(this.itemTitle);
21
+ set itemTitle(val) {
22
+ this.itemTitleTrustHtml = this.sanitizer.bypassSecurityTrustHtml(val);
24
23
  }
24
+ ngOnInit() { }
25
25
  }
26
26
  KMSAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KMSAccordionItemComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
27
- KMSAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: KMSAccordionItemComponent, selector: "kms-accordion-item", inputs: { itemTitle: "itemTitle", showAsCard: "showAsCard", isSmall: "isSmall", expanded: "expanded" }, ngImport: i0, template: "<mat-expansion-panel\n class=\"accordion-item\"\n [ngClass]=\"{showAsCard: showAsCard, showFlat: !showAsCard, isSmall: isSmall}\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n [expanded] = \"expanded\"\n hideToggle=\"true\">\n <mat-expansion-panel-header class=\"accordion-item-header\">\n <mat-panel-title class=\"mat-subheading-2 accordion-item-title\">\n <div [innerHtml]=\"itemTitleTrustHtml\"></div>\n <ng-content select=\"[itemTitleElement]\"></ng-content>\n </mat-panel-title>\n <div class=\"accordion-item-header-icon-wrapper\">\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"ic_plus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\n <kms-icon *ngIf=\"panelOpenState\" icon=\"ic_minus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\n\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"chevron-down\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\n <kms-icon *ngIf=\"panelOpenState\" icon=\"chevron-top\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\n </div>\n </mat-expansion-panel-header>\n <ng-content></ng-content>\n</mat-expansion-panel>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: i4.IconComponent, selector: "kms-icon", inputs: ["icon", "iconClass", "iconStyle", "iconSize", "size", "dontUseSprite"] }] });
27
+ KMSAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: KMSAccordionItemComponent, selector: "kms-accordion-item", inputs: { showAsCard: "showAsCard", isSmall: "isSmall", expanded: "expanded", itemTitle: "itemTitle" }, ngImport: i0, template: "<mat-expansion-panel\n class=\"accordion-item\"\n [ngClass]=\"{showAsCard: showAsCard, showFlat: !showAsCard, isSmall: isSmall}\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n [expanded] = \"expanded\"\n hideToggle=\"true\">\n <mat-expansion-panel-header class=\"accordion-item-header\">\n <mat-panel-title class=\"mat-subheading-2 accordion-item-title\">\n <div [innerHtml]=\"itemTitleTrustHtml\"></div>\n <ng-content select=\"[itemTitleElement]\"></ng-content>\n </mat-panel-title>\n <div class=\"accordion-item-header-icon-wrapper\">\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"ic_plus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\n <kms-icon *ngIf=\"panelOpenState\" icon=\"ic_minus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\n\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"chevron-down\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\n <kms-icon *ngIf=\"panelOpenState\" icon=\"chevron-top\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\n </div>\n </mat-expansion-panel-header>\n <ng-content></ng-content>\n</mat-expansion-panel>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i3.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: i4.IconComponent, selector: "kms-icon", inputs: ["icon", "iconClass", "iconStyle", "iconSize", "size", "dontUseSprite"] }] });
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KMSAccordionItemComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{ selector: 'kms-accordion-item', template: "<mat-expansion-panel\n class=\"accordion-item\"\n [ngClass]=\"{showAsCard: showAsCard, showFlat: !showAsCard, isSmall: isSmall}\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n [expanded] = \"expanded\"\n hideToggle=\"true\">\n <mat-expansion-panel-header class=\"accordion-item-header\">\n <mat-panel-title class=\"mat-subheading-2 accordion-item-title\">\n <div [innerHtml]=\"itemTitleTrustHtml\"></div>\n <ng-content select=\"[itemTitleElement]\"></ng-content>\n </mat-panel-title>\n <div class=\"accordion-item-header-icon-wrapper\">\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"ic_plus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\n <kms-icon *ngIf=\"panelOpenState\" icon=\"ic_minus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\n\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"chevron-down\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\n <kms-icon *ngIf=\"panelOpenState\" icon=\"chevron-top\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\n </div>\n </mat-expansion-panel-header>\n <ng-content></ng-content>\n</mat-expansion-panel>\n" }]
31
- }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { itemTitle: [{
32
- type: Input
33
- }], showAsCard: [{
31
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { showAsCard: [{
34
32
  type: Input
35
33
  }], isSmall: [{
36
34
  type: Input
37
35
  }], expanded: [{
38
36
  type: Input
37
+ }], itemTitle: [{
38
+ type: Input
39
39
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia21zLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9rbXMtYWNjb3JkaW9uLWl0ZW0va21zLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9rbXMtYWNjb3JkaW9uLWl0ZW0va21zLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQUd6RDs7R0FFRztBQU1ILE1BQU0sT0FBTyx5QkFBeUI7SUFTcEMsWUFBbUIsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQVIxQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBR2YsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakMsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFFc0IsQ0FBQztJQUU5QyxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQzlELElBQUksQ0FBQyxTQUFTLENBQ2YsQ0FBQztJQUNKLENBQUM7O3NIQWZVLHlCQUF5QjswR0FBekIseUJBQXlCLGtLQ2Z0Qyx5MUNBc0JBOzJGRFBhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxvQkFBb0I7bUdBS2QsU0FBUztzQkFBeEIsS0FBSztnQkFHVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGNvcHlyaWdodCBGTFlBQ1RTIEdtYkggMjAxOVxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG4vKipcbiAqIEEgZ2VuZXJpYyBkaWFsb2cgY29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ttcy1hY2NvcmRpb24taXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9rbXMtYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9rbXMtYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgS01TQWNjb3JkaW9uSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtVGl0bGUgPSAnJztcblxuICBwdWJsaWMgaXRlbVRpdGxlVHJ1c3RIdG1sOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgcHVibGljIHNob3dBc0NhcmQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGlzU21hbGwgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGV4cGFuZGVkID0gZmFsc2U7XG4gIHBhbmVsT3BlblN0YXRlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaXRlbVRpdGxlVHJ1c3RIdG1sID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXG4gICAgICB0aGlzLml0ZW1UaXRsZVxuICAgICk7XG4gIH1cbn1cbiIsIjxtYXQtZXhwYW5zaW9uLXBhbmVsXG4gICAgY2xhc3M9XCJhY2NvcmRpb24taXRlbVwiXG4gICAgW25nQ2xhc3NdPVwie3Nob3dBc0NhcmQ6IHNob3dBc0NhcmQsIHNob3dGbGF0OiAhc2hvd0FzQ2FyZCwgaXNTbWFsbDogaXNTbWFsbH1cIlxuICAgIChvcGVuZWQpPVwicGFuZWxPcGVuU3RhdGUgPSB0cnVlXCJcbiAgICAoY2xvc2VkKT1cInBhbmVsT3BlblN0YXRlID0gZmFsc2VcIlxuICAgIFtleHBhbmRlZF0gPSBcImV4cGFuZGVkXCJcbiAgICBoaWRlVG9nZ2xlPVwidHJ1ZVwiPlxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBjbGFzcz1cImFjY29yZGlvbi1pdGVtLWhlYWRlclwiPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlIGNsYXNzPVwibWF0LXN1YmhlYWRpbmctMiBhY2NvcmRpb24taXRlbS10aXRsZVwiPlxuICAgICAgICAgICAgPGRpdiBbaW5uZXJIdG1sXT1cIml0ZW1UaXRsZVRydXN0SHRtbFwiPjwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2l0ZW1UaXRsZUVsZW1lbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1pdGVtLWhlYWRlci1pY29uLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxrbXMtaWNvbiAqbmdJZj1cIiFwYW5lbE9wZW5TdGF0ZVwiIGljb249XCJpY19wbHVzXCIgaWNvbkNsYXNzPVwiY29sb3ItcmVkXCIgY2xhc3M9XCJhY2NvcmRpb24taXRlbS1oZWFkZXItaWNvbi13cmFwcGVyLWRlc2t0b3BcIj48L2ttcy1pY29uPlxuICAgICAgICAgICAgPGttcy1pY29uICpuZ0lmPVwicGFuZWxPcGVuU3RhdGVcIiBpY29uPVwiaWNfbWludXNcIiBpY29uQ2xhc3M9XCJjb2xvci1yZWRcIiBjbGFzcz1cImFjY29yZGlvbi1pdGVtLWhlYWRlci1pY29uLXdyYXBwZXItZGVza3RvcFwiPjwva21zLWljb24+XG5cbiAgICAgICAgICAgIDxrbXMtaWNvbiAqbmdJZj1cIiFwYW5lbE9wZW5TdGF0ZVwiIGljb249XCJjaGV2cm9uLWRvd25cIiBpY29uQ2xhc3M9XCJjb2xvci1yZWRcIiBjbGFzcz1cImFjY29yZGlvbi1pdGVtLWhlYWRlci1pY29uLXdyYXBwZXItbW9iaWxlXCI+PC9rbXMtaWNvbj5cbiAgICAgICAgICAgIDxrbXMtaWNvbiAqbmdJZj1cInBhbmVsT3BlblN0YXRlXCIgaWNvbj1cImNoZXZyb24tdG9wXCIgaWNvbkNsYXNzPVwiY29sb3ItcmVkXCIgY2xhc3M9XCJhY2NvcmRpb24taXRlbS1oZWFkZXItaWNvbi13cmFwcGVyLW1vYmlsZVwiPjwva21zLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia21zLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9rbXMtYWNjb3JkaW9uLWl0ZW0va21zLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9rbXMtYWNjb3JkaW9uLWl0ZW0va21zLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQUd6RDs7R0FFRztBQU1ILE1BQU0sT0FBTyx5QkFBeUI7SUFZcEMsWUFBbUIsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQVYxQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQU1qQyxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQUVzQixDQUFDO0lBUDlDLElBQ1csU0FBUyxDQUFDLEdBQVc7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQU1ELFFBQVEsS0FBSSxDQUFDOztzSEFkRix5QkFBeUI7MEdBQXpCLHlCQUF5QixrS0NmdEMseTFDQXNCQTsyRkRQYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usb0JBQW9CO21HQU1kLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUVLLFNBQVM7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBjb3B5cmlnaHQgRkxZQUNUUyBHbWJIIDIwMTlcbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuLyoqXG4gKiBBIGdlbmVyaWMgZGlhbG9nIGNvbXBvbmVudFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrbXMtYWNjb3JkaW9uLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4va21zLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4va21zLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEtNU0FjY29yZGlvbkl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgaXRlbVRpdGxlVHJ1c3RIdG1sOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgcHVibGljIHNob3dBc0NhcmQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGlzU21hbGwgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGV4cGFuZGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaXRlbVRpdGxlKHZhbDogc3RyaW5nKSB7XG4gICAgdGhpcy5pdGVtVGl0bGVUcnVzdEh0bWwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2YWwpO1xuICB9XG5cbiAgcGFuZWxPcGVuU3RhdGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxufVxuIiwiPG1hdC1leHBhbnNpb24tcGFuZWxcbiAgICBjbGFzcz1cImFjY29yZGlvbi1pdGVtXCJcbiAgICBbbmdDbGFzc109XCJ7c2hvd0FzQ2FyZDogc2hvd0FzQ2FyZCwgc2hvd0ZsYXQ6ICFzaG93QXNDYXJkLCBpc1NtYWxsOiBpc1NtYWxsfVwiXG4gICAgKG9wZW5lZCk9XCJwYW5lbE9wZW5TdGF0ZSA9IHRydWVcIlxuICAgIChjbG9zZWQpPVwicGFuZWxPcGVuU3RhdGUgPSBmYWxzZVwiXG4gICAgW2V4cGFuZGVkXSA9IFwiZXhwYW5kZWRcIlxuICAgIGhpZGVUb2dnbGU9XCJ0cnVlXCI+XG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGNsYXNzPVwiYWNjb3JkaW9uLWl0ZW0taGVhZGVyXCI+XG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGUgY2xhc3M9XCJtYXQtc3ViaGVhZGluZy0yIGFjY29yZGlvbi1pdGVtLXRpdGxlXCI+XG4gICAgICAgICAgICA8ZGl2IFtpbm5lckh0bWxdPVwiaXRlbVRpdGxlVHJ1c3RIdG1sXCI+PC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaXRlbVRpdGxlRWxlbWVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWl0ZW0taGVhZGVyLWljb24td3JhcHBlclwiPlxuICAgICAgICAgICAgPGttcy1pY29uICpuZ0lmPVwiIXBhbmVsT3BlblN0YXRlXCIgaWNvbj1cImljX3BsdXNcIiBpY29uQ2xhc3M9XCJjb2xvci1yZWRcIiBjbGFzcz1cImFjY29yZGlvbi1pdGVtLWhlYWRlci1pY29uLXdyYXBwZXItZGVza3RvcFwiPjwva21zLWljb24+XG4gICAgICAgICAgICA8a21zLWljb24gKm5nSWY9XCJwYW5lbE9wZW5TdGF0ZVwiIGljb249XCJpY19taW51c1wiIGljb25DbGFzcz1cImNvbG9yLXJlZFwiIGNsYXNzPVwiYWNjb3JkaW9uLWl0ZW0taGVhZGVyLWljb24td3JhcHBlci1kZXNrdG9wXCI+PC9rbXMtaWNvbj5cblxuICAgICAgICAgICAgPGttcy1pY29uICpuZ0lmPVwiIXBhbmVsT3BlblN0YXRlXCIgaWNvbj1cImNoZXZyb24tZG93blwiIGljb25DbGFzcz1cImNvbG9yLXJlZFwiIGNsYXNzPVwiYWNjb3JkaW9uLWl0ZW0taGVhZGVyLWljb24td3JhcHBlci1tb2JpbGVcIj48L2ttcy1pY29uPlxuICAgICAgICAgICAgPGttcy1pY29uICpuZ0lmPVwicGFuZWxPcGVuU3RhdGVcIiBpY29uPVwiY2hldnJvbi10b3BcIiBpY29uQ2xhc3M9XCJjb2xvci1yZWRcIiBjbGFzcz1cImFjY29yZGlvbi1pdGVtLWhlYWRlci1pY29uLXdyYXBwZXItbW9iaWxlXCI+PC9rbXMtaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L21hdC1leHBhbnNpb24tcGFuZWw+XG4iXX0=