@testgorilla/tgo-ui 2.23.43 → 2.23.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/components/alert-banner/alert-banner.component.d.ts +5 -3
  2. package/components/autocomplete/autocomplete.component.d.ts +5 -3
  3. package/components/button/button.component.d.ts +5 -3
  4. package/components/checkbox/checkbox.component.d.ts +5 -3
  5. package/components/datepicker/datepicker.component.d.ts +5 -3
  6. package/components/dialog/dialog.component.d.ts +5 -3
  7. package/components/dropdown/dropdown.component.d.ts +5 -3
  8. package/components/empty-state/empty-state.component.d.ts +6 -4
  9. package/components/field/field.component.d.ts +5 -3
  10. package/components/file-upload/file-upload.component.d.ts +5 -3
  11. package/components/multi-input/multi-input.component.d.ts +5 -3
  12. package/components/navbar/navbar.component.d.ts +5 -3
  13. package/components/overflow-menu/overflow-menu.component.d.ts +5 -3
  14. package/components/page-header/page-header.component.d.ts +5 -3
  15. package/components/password-criteria/password.component.d.ts +5 -3
  16. package/components/password-strength/password-strength.component.d.ts +5 -3
  17. package/components/phone-input/phone-input.component.d.ts +5 -3
  18. package/components/progress-bar/progress-bar.component.d.ts +5 -3
  19. package/components/side-panel/side-panel.component.d.ts +5 -3
  20. package/components/side-sheet/side-sheet.component.d.ts +5 -3
  21. package/components/slider/slider.component.d.ts +5 -3
  22. package/components/snackbar/snackbar.component.d.ts +5 -3
  23. package/components/spinner/spinner.component.d.ts +5 -3
  24. package/components/stepper/stepper.component.d.ts +5 -3
  25. package/components/tag/tag.component.d.ts +5 -3
  26. package/components/toggle/toggle.component.d.ts +5 -3
  27. package/components/validation-error/validation-error.component.d.ts +5 -2
  28. package/esm2022/components/alert-banner/alert-banner.component.mjs +15 -4
  29. package/esm2022/components/autocomplete/autocomplete.component.mjs +15 -4
  30. package/esm2022/components/button/button.component.mjs +14 -3
  31. package/esm2022/components/checkbox/checkbox.component.mjs +15 -4
  32. package/esm2022/components/datepicker/datepicker.component.mjs +15 -4
  33. package/esm2022/components/dialog/dialog.component.mjs +14 -3
  34. package/esm2022/components/dropdown/dropdown.component.mjs +15 -4
  35. package/esm2022/components/empty-state/empty-state.component.mjs +14 -3
  36. package/esm2022/components/field/field.component.mjs +15 -4
  37. package/esm2022/components/file-upload/file-upload.component.mjs +14 -3
  38. package/esm2022/components/multi-input/multi-input.component.mjs +15 -4
  39. package/esm2022/components/navbar/navbar.component.mjs +15 -4
  40. package/esm2022/components/overflow-menu/overflow-menu.component.mjs +15 -4
  41. package/esm2022/components/page-header/page-header.component.mjs +14 -3
  42. package/esm2022/components/password-criteria/password.component.mjs +16 -5
  43. package/esm2022/components/password-strength/password-strength.component.mjs +14 -3
  44. package/esm2022/components/phone-input/phone-input.component.mjs +14 -3
  45. package/esm2022/components/progress-bar/progress-bar.component.mjs +14 -3
  46. package/esm2022/components/side-panel/side-panel.component.mjs +16 -5
  47. package/esm2022/components/side-sheet/side-sheet.component.mjs +15 -4
  48. package/esm2022/components/slider/slider.component.mjs +14 -3
  49. package/esm2022/components/snackbar/snackbar.component.mjs +15 -4
  50. package/esm2022/components/spinner/spinner.component.mjs +14 -3
  51. package/esm2022/components/stepper/stepper.component.mjs +14 -3
  52. package/esm2022/components/tag/tag.component.mjs +14 -3
  53. package/esm2022/components/toggle/toggle.component.mjs +14 -3
  54. package/esm2022/components/validation-error/validation-error.component.mjs +16 -5
  55. package/esm2022/public-api.mjs +3 -1
  56. package/esm2022/tokens/app-lang.token.mjs +3 -0
  57. package/fesm2022/testgorilla-tgo-ui.mjs +315 -70
  58. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  59. package/package.json +1 -1
  60. package/public-api.d.ts +1 -0
  61. package/tokens/app-lang.token.d.ts +2 -0
@@ -1,6 +1,7 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Inject, Input, Optional, Output } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { LanguageService } from '../../utils/localization/language.service';
4
+ import { CANOPY_UI_LANG } from '../../tokens/app-lang.token';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  import * as i2 from "@angular/material/slider";
@@ -9,9 +10,11 @@ import * as i4 from "@angular/material/input";
9
10
  import * as i5 from "@angular/material/form-field";
10
11
  import * as i6 from "../icon/icon.component";
11
12
  import * as i7 from "../../pipes/ui-translate.pipe";
13
+ import * as i8 from "../../utils/localization/language.model";
12
14
  export class SliderComponent {
13
- constructor(defaultAppTheme) {
15
+ constructor(defaultAppTheme, appLang) {
14
16
  this.defaultAppTheme = defaultAppTheme;
17
+ this.appLang = appLang;
15
18
  /**
16
19
  * The maximum value of the slider.
17
20
  *
@@ -107,6 +110,9 @@ export class SliderComponent {
107
110
  if (defaultAppTheme) {
108
111
  this.applicationTheme = defaultAppTheme;
109
112
  }
113
+ if (appLang) {
114
+ this.language = appLang;
115
+ }
110
116
  }
111
117
  registerOnChange(fn) {
112
118
  this.onChange = fn;
@@ -155,7 +161,7 @@ export class SliderComponent {
155
161
  get isBasicSlider() {
156
162
  return this.variant === 'basic';
157
163
  }
158
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SliderComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
164
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SliderComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: CANOPY_UI_LANG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
159
165
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: SliderComponent, selector: "ui-slider", inputs: { max: "max", min: "min", percentage: "percentage", disabled: "disabled", sliderStart: "sliderStart", sliderEnd: "sliderEnd", label: "label", showInputs: "showInputs", step: "step", language: "language", applicationTheme: "applicationTheme", variant: "variant" }, outputs: { sliderValueChange: "sliderValueChange" }, providers: [
160
166
  {
161
167
  provide: NG_VALUE_ACCESSOR,
@@ -178,6 +184,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
178
184
  }, {
179
185
  type: Inject,
180
186
  args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
187
+ }] }, { type: i8.Language, decorators: [{
188
+ type: Optional
189
+ }, {
190
+ type: Inject,
191
+ args: [CANOPY_UI_LANG]
181
192
  }] }], propDecorators: { max: [{
182
193
  type: Input
183
194
  }], min: [{
@@ -205,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
205
216
  }], sliderValueChange: [{
206
217
  type: Output
207
218
  }] } });
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQUUsTUFBTSxFQUNsQixLQUFLLEVBQUUsUUFBUSxFQUNmLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7OztBQWdCNUUsTUFBTSxPQUFPLGVBQWU7SUFxRzFCLFlBQzZFLGVBQWlDO1FBQWpDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQXJHOUc7Ozs7O1dBS0c7UUFDTSxRQUFHLEdBQUcsR0FBRyxDQUFDO1FBRW5COzs7OztXQUtHO1FBQ00sUUFBRyxHQUFHLENBQUMsQ0FBQztRQUVqQjs7Ozs7V0FLRztRQUNNLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFNUI7Ozs7O1dBS0c7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRTFCOzs7OztXQUtHO1FBQ00sZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFFekI7Ozs7O1dBS0c7UUFDTSxjQUFTLEdBQUcsR0FBRyxDQUFDO1FBRXpCOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVwQjs7Ozs7V0FLRztRQUNNLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFM0I7Ozs7O1dBS0c7UUFDTSxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBRWxCOzs7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QUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLCBJbmplY3QsXG4gIElucHV0LCBPcHRpb25hbCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTbGlkZXJWYWx1ZSwgU2xpZGVyVmFyaWFudCB9IGZyb20gJy4vc2xpZGVyLm1vZGVsJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLXNsaWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbGlkZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNsaWRlckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgc2xpZGVyLlxuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAZGVmYXVsdCAxMDBcbiAgICovXG4gIEBJbnB1dCgpIG1heCA9IDEwMDtcblxuICAvKipcbiAgICogVGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHNsaWRlci5cbiAgICpcbiAgICogQHR5cGUge251bWJlcn1cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgQElucHV0KCkgbWluID0gMDtcblxuICAvKipcbiAgICogQSBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgc2xpZGVyIGRpc3BsYXlzIHZhbHVlcyBhcyBwZXJjZW50YWdlcy5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpIHBlcmNlbnRhZ2UgPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgc2xpZGVyIGlzIGRpc2FibGVkLlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIHN0YXJ0aW5nIHZhbHVlIG9mIHRoZSBzbGlkZXIuXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBkZWZhdWx0IDBcbiAgICovXG4gIEBJbnB1dCgpIHNsaWRlclN0YXJ0ID0gMDtcblxuICAvKipcbiAgICogVGhlIGVuZGluZyB2YWx1ZSBvZiB0aGUgc2xpZGVyLlxuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAZGVmYXVsdCAxMDBcbiAgICovXG4gIEBJbnB1dCgpIHNsaWRlckVuZCA9IDEwMDtcblxuICAvKipcbiAgICogVGhlIGxhYmVsIGZvciB0aGUgc2xpZGVyLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCAnJ1xuICAgKi9cbiAgQElucHV0KCkgbGFiZWwgPSAnJztcblxuICAvKipcbiAgICogU2hvdyBzbGlkZXIgaW5wdXRzLlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgc2hvd0lucHV0cyA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFN0ZXAgbnVtYmVyLlxuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICBASW5wdXQoKSBzdGVwID0gMTtcblxuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHRvIGJlIHVzZWRcbiAgICpcbiAgICogQHByb3BlcnR5IGxhbmd1YWdlXG4gICAqIEB0eXBlIHtMYW5ndWFnZX1cbiAgICovXG4gIEBJbnB1dCgpIGxhbmd1YWdlID0gTGFuZ3VhZ2VTZXJ2aWNlLmRlZmF1bHRMYW5ndWFnZTtcblxuICAvKipcbiAgICpcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWVcbiAgICpcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBtZW1iZXJvZiBTbGlkZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSB2YXJpYW50IHNsaWRlclxuICAgKlxuICAgKiBAdHlwZSB7U2xpZGVyVmFyaWFudH1cbiAgICogQG1lbWJlcm9mIFNsaWRlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdmFyaWFudDogU2xpZGVyVmFyaWFudCA9ICdyYW5nZSc7XG5cbiAgQE91dHB1dCgpIHNsaWRlclZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTbGlkZXJWYWx1ZT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICkge1xuICAgIGlmIChkZWZhdWx0QXBwVGhlbWUpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbHVlOiBTbGlkZXJWYWx1ZSA9IHsgc3RhcnQ6IDAsIGVuZDogMTAwIH07XG4gIHByb3RlY3RlZCB0cmFuc2xhdGlvbkNvbnRleHQgPSAnU0xJREVSLic7XG4gIHByb3RlY3RlZCB0b3VjaGVkQ29udHJvbE5hbWUgPSAnJztcblxuICBvbkNoYW5nZSA9IChfOiBhbnkpOiB2b2lkID0+IHt9O1xuICBvblRvdWNoID0gKCk6IHZvaWQgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5zbGlkZXJTdGFydCA9IHZhbHVlLnN0YXJ0O1xuICAgIHRoaXMuc2xpZGVyRW5kID0gdmFsdWUuZW5kO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uVmFsdWVDaGFuZ2UoZXY/OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZTogU2xpZGVyVmFsdWUgPSB7IHN0YXJ0OiArdGhpcy5zbGlkZXJTdGFydCwgZW5kOiArdGhpcy5zbGlkZXJFbmQgfTtcblxuICAgIGlmIChldikge1xuICAgICAgdmFsdWUuc3RhcnQgPSBldjtcbiAgICAgIHZhbHVlLmVuZCA9IDA7XG4gICAgfVxuXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIHRoaXMuc2xpZGVyVmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JbnB1dEJsdXIoaW5wdXROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRvdWNoZWRDb250cm9sTmFtZSA9IGlucHV0TmFtZTtcbiAgICBjb25zdCB2YWx1ZTogU2xpZGVyVmFsdWUgPSB7IHN0YXJ0OiArdGhpcy5zbGlkZXJTdGFydCwgZW5kOiArdGhpcy5zbGlkZXJFbmQgfTtcblxuICAgIGlmICghdGhpcy5oYXNFcnJvciAmJiB0aGlzLmlzVmFsdWVDaGFuZ2VkKHZhbHVlKSkge1xuICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uSW5wdXRGb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLnRvdWNoZWRDb250cm9sTmFtZSA9ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1ZhbHVlQ2hhbmdlZCh2YWx1ZTogU2xpZGVyVmFsdWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZS5zdGFydCAhPT0gdmFsdWUuc3RhcnQgfHwgdGhpcy52YWx1ZS5lbmQgIT09IHZhbHVlLmVuZDtcbiAgfVxuXG4gIGdldCBoYXNFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5tYXggPCArdGhpcy5zbGlkZXJFbmQgfHxcbiAgICAgIHRoaXMubWluID4gK3RoaXMuc2xpZGVyU3RhcnQgfHxcbiAgICAgIHRoaXMubWluID4gK3RoaXMuc2xpZGVyRW5kIHx8XG4gICAgICB0aGlzLm1heCA8ICt0aGlzLnNsaWRlclN0YXJ0IHx8XG4gICAgICArdGhpcy5zbGlkZXJFbmQgPCArdGhpcy5zbGlkZXJTdGFydFxuICAgICk7XG4gIH1cblxuICBnZXQgaXNCYXNpY1NsaWRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYW50ID09PSAnYmFzaWMnO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwic2xpZGVyLWNvbnRhaW5lclwiIFthdHRyLnRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIiBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCwgZXJyb3I6IGhhc0Vycm9yICYmIHRvdWNoZWRDb250cm9sTmFtZSB9XCI+XG4gICAgPGRpdiBjbGFzcz1cInNsaWRlci1sYWJlbFwiICpuZ0lmPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNsaWRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pbi12YWx1ZVwiICpuZ0lmPVwiIWlzQmFzaWNTbGlkZXJcIj57eyBwZXJjZW50YWdlID8gbWluICsgJyUnIDogbWluIH19PC9kaXY+XG4gICAgICA8bWF0LXNsaWRlclxuICAgICAgICBbZGlzYWJsZVJpcHBsZV09XCJhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYydcIiAjc2xpZGVyRWxlbWVudCBkaXNjcmV0ZSBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbbWF4XT1cIm1heFwiIFttaW5dPVwibWluXCIgW3N0ZXBdPVwic3RlcFwiIChtb3VzZWVudGVyKT1cInNsaWRlckVsZW1lbnQuZGlzY3JldGUgPSB0cnVlXCIgKG1vdXNlbGVhdmUpPVwic2xpZGVyRWxlbWVudC5kaXNjcmV0ZSA9IGZhbHNlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0Jhc2ljU2xpZGVyOyBlbHNlIHJhbmdlVGVtcGxhdGVcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2xpZGVyU3RhcnRcIlxuICAgICAgICAgICAgbWF0U2xpZGVyVGh1bWJcbiAgICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmFuZ2VUZW1wbGF0ZT5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgpXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2xpZGVyU3RhcnRcIlxuICAgICAgICAgICAgbWF0U2xpZGVyU3RhcnRUaHVtYlxuICAgICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgpXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2xpZGVyRW5kXCJcbiAgICAgICAgICAgIG1hdFNsaWRlckVuZFRodW1iXG4gICAgICAgICAgPlxuXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L21hdC1zbGlkZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWF4LXZhbHVlXCIgKm5nSWY9XCIhaXNCYXNpY1NsaWRlclwiPnt7IHBlcmNlbnRhZ2UgPyBtYXggKyAnJScgOiBtYXggfX08L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzbGlkZXItaW5wdXRcIiAqbmdJZj1cInNob3dJbnB1dHMgJiYgIXRoaXMuaXNCYXNpY1NsaWRlclwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cIidvdXRsaW5lJ1wiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7ICgnQ09NTU9OLk1JTicpIHwgdWlUcmFuc2xhdGUgOiBsYW5ndWFnZSB9fSA8c3BhbiAqbmdJZj1cInBlcmNlbnRhZ2VcIj4lPC9zcGFuPjwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgIFt0eXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNsaWRlclN0YXJ0XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoKVwiXG4gICAgICAgICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJ3N0YXJ0JylcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uSW5wdXRCbHVyKCdzdGFydCcpXCJcbiAgICAgICAgPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cIidvdXRsaW5lJ1wiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7ICgnQ09NTU9OLk1BWCcpIHwgdWlUcmFuc2xhdGUgOiBsYW5ndWFnZSB9fSA8c3BhbiAqbmdJZj1cInBlcmNlbnRhZ2VcIj4lPC9zcGFuPjwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgW3R5cGVdPVwiJ251bWJlcidcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2xpZGVyRW5kXCJcbiAgICAgICAgICAoZm9jdXMpPVwib25JbnB1dEZvY3VzKClcIlxuICAgICAgICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKCdlbmQnKVwiXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25JbnB1dEJsdXIoJ2VuZCcpXCJcbiAgICAgICAgPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJoYXNFcnJvciAmJiB0b3VjaGVkQ29udHJvbE5hbWVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yXCIgKm5nSWY9XCJ0b3VjaGVkQ29udHJvbE5hbWUgPT09ICdzdGFydCcgJiYgc2xpZGVyU3RhcnQgPiBzbGlkZXJFbmRcIj5cbiAgICAgICAgPHVpLWljb24gW25hbWVdPVwiJ0luZm8nXCI+PC91aS1pY29uPlxuICAgICAgICA8c3Bhbj57eyAodHJhbnNsYXRpb25Db250ZXh0ICsgJ01JTl9NT1JFX1RIQU5fTUFYJykgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlIDogeyBtaW46IHNsaWRlclN0YXJ0LCBtYXg6IHNsaWRlckVuZCB9IH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yXCIgKm5nSWY9XCJ0b3VjaGVkQ29udHJvbE5hbWUgPT09ICdlbmQnICYmIHNsaWRlclN0YXJ0ID4gc2xpZGVyRW5kXCI+XG4gICAgICAgIDx1aS1pY29uIFtuYW1lXT1cIidJbmZvJ1wiPjwvdWktaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgKHRyYW5zbGF0aW9uQ29udGV4dCArICdNQVhfTEVTU19USEFOX01JTicpIHwgdWlUcmFuc2xhdGUgOiBsYW5ndWFnZSA6IHsgbWluOiBzbGlkZXJTdGFydCwgbWF4OiBzbGlkZXJFbmQgfSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdGlvbi1lcnJvclwiICpuZ0lmPVwic2xpZGVyU3RhcnQgPCBtaW5cIj5cbiAgICAgICAgPHVpLWljb24gW25hbWVdPVwiJ0luZm8nXCI+PC91aS1pY29uPlxuICAgICAgICA8c3Bhbj57eyAoJ0NPTU1PTi5NSU4nKSB8IHVpVHJhbnNsYXRlIDogbGFuZ3VhZ2UgfX0ge3sgbWluIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdGlvbi1lcnJvclwiICpuZ0lmPVwic2xpZGVyRW5kID4gbWF4XCI+XG4gICAgICAgIDx1aS1pY29uIFtuYW1lXT1cIidJbmZvJ1wiPjwvdWktaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgKCdDT01NT04uTUFYJykgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlIH19IHt7IG1heCB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LWVycm9yPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG4iXX0=
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQUUsTUFBTSxFQUNsQixLQUFLLEVBQUUsUUFBUSxFQUNmLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7O0FBZ0I3RCxNQUFNLE9BQU8sZUFBZTtJQXFHMUIsWUFDNkUsZUFBaUMsRUFDckQsT0FBaUI7UUFERyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDckQsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQXRHMUU7Ozs7O1dBS0c7UUFDTSxRQUFHLEdBQUcsR0FBRyxDQUFDO1FBRW5COzs7OztXQUtHO1FBQ00sUUFBRyxHQUFHLENBQUMsQ0FBQztRQUVqQjs7Ozs7V0FLRztRQUNNLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFNUI7Ozs7O1dBS0c7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRTFCOzs7OztXQUtHO1FBQ00sZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFFekI7Ozs7O1dBS0c7UUFDTSxjQUFTLEdBQUcsR0FBRyxDQUFDO1FBRXpCOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVwQjs7Ozs7V0FLRztRQUNNLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFM0I7Ozs7O1dBS0c7UUFDTSxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBRWxCOzs7OztXQUtHO1FBQ00sYUFBUSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFFcEQ7Ozs7OztXQU1HO1FBQ00scUJBQWdCLEdBQXFCLE9BQU8sQ0FBQztRQUV0RDs7Ozs7O1dBTUc7UUFDTSxZQUFPLEdBQWtCLE9BQU8sQ0FBQztRQUVoQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBZXRELFVBQUssR0FBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUMxQyx1QkFBa0IsR0FBRyxTQUFTLENBQUM7UUFDL0IsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBRWxDLGFBQVEsR0FBRyxDQUFDLENBQU0sRUFBUSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ2hDLFlBQU8sR0FBRyxHQUFTLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFkdkIsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO1FBQzFDLENBQUM7UUFFRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFTRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM3QixDQUFDO0lBRVMsYUFBYSxDQUFDLEVBQVc7UUFDakMsTUFBTSxLQUFLLEdBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFOUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLEtBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVTLFdBQVcsQ0FBQyxTQUFpQjtRQUNyQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQ3BDLE1BQU0sS0FBSyxHQUFnQixFQUFFLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRTlFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFrQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUztZQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVztZQUM1QixDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUNwQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUM7SUFDbEMsQ0FBQzs4R0FyTFUsZUFBZSxrQkFzR0osb0NBQW9DLDZCQUNwQyxjQUFjO2tHQXZHekIsZUFBZSx5V0FUZjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDekJILCtqSEF1RkE7OzJGRDNEYSxlQUFlO2tCQWIzQixTQUFTOytCQUNFLFdBQVcsYUFHVjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzs0QkFDOUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQXdHNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQ0FBb0M7OzBCQUN2RCxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGNBQWM7eUNBaEczQixHQUFHO3NCQUFYLEtBQUs7Z0JBUUcsR0FBRztzQkFBWCxLQUFLO2dCQVFHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFRRyxXQUFXO3NCQUFuQixLQUFLO2dCQVFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBUUcsS0FBSztzQkFBYixLQUFLO2dCQVFHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBUUcsSUFBSTtzQkFBWixLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBU0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsIEluamVjdCxcbiAgSW5wdXQsIE9wdGlvbmFsLFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNsaWRlclZhbHVlLCBTbGlkZXJWYXJpYW50IH0gZnJvbSAnLi9zbGlkZXIubW9kZWwnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWxcIjtcbmltcG9ydCB7IENBTk9QWV9VSV9MQU5HIH0gZnJvbSAnLi4vLi4vdG9rZW5zL2FwcC1sYW5nLnRva2VuJztcbmltcG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktc2xpZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NsaWRlci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNsaWRlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2xpZGVyQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSBzbGlkZXIuXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBkZWZhdWx0IDEwMFxuICAgKi9cbiAgQElucHV0KCkgbWF4ID0gMTAwO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgc2xpZGVyLlxuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBASW5wdXQoKSBtaW4gPSAwO1xuXG4gIC8qKlxuICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBzbGlkZXIgZGlzcGxheXMgdmFsdWVzIGFzIHBlcmNlbnRhZ2VzLlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgcGVyY2VudGFnZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBzbGlkZXIgaXMgZGlzYWJsZWQuXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhcnRpbmcgdmFsdWUgb2YgdGhlIHNsaWRlci5cbiAgICpcbiAgICogQHR5cGUge251bWJlcn1cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgQElucHV0KCkgc2xpZGVyU3RhcnQgPSAwO1xuXG4gIC8qKlxuICAgKiBUaGUgZW5kaW5nIHZhbHVlIG9mIHRoZSBzbGlkZXIuXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBkZWZhdWx0IDEwMFxuICAgKi9cbiAgQElucHV0KCkgc2xpZGVyRW5kID0gMTAwO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgZm9yIHRoZSBzbGlkZXIuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0ICcnXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuXG4gIC8qKlxuICAgKiBTaG93IHNsaWRlciBpbnB1dHMuXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKSBzaG93SW5wdXRzID0gdHJ1ZTtcblxuICAvKipcbiAgICogU3RlcCBudW1iZXIuXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIEBJbnB1dCgpIHN0ZXAgPSAxO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFuZ3VhZ2UgdG8gYmUgdXNlZFxuICAgKlxuICAgKiBAcHJvcGVydHkgbGFuZ3VhZ2VcbiAgICogQHR5cGUge0xhbmd1YWdlfVxuICAgKi9cbiAgQElucHV0KCkgbGFuZ3VhZ2UgPSBMYW5ndWFnZVNlcnZpY2UuZGVmYXVsdExhbmd1YWdlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIFNsaWRlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XG5cbiAgLyoqXG4gICAqXG4gICAqIERlZmluZXMgdGhlIHZhcmlhbnQgc2xpZGVyXG4gICAqXG4gICAqIEB0eXBlIHtTbGlkZXJWYXJpYW50fVxuICAgKiBAbWVtYmVyb2YgU2xpZGVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB2YXJpYW50OiBTbGlkZXJWYXJpYW50ID0gJ3JhbmdlJztcblxuICBAT3V0cHV0KCkgc2xpZGVyVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNsaWRlclZhbHVlPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KENBTk9QWV9VSV9MQU5HKSBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwTGFuZzogTGFuZ3VhZ2UsXG4gICkge1xuICAgIGlmIChkZWZhdWx0QXBwVGhlbWUpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcbiAgICB9XG5cbiAgICBpZiAoYXBwTGFuZykge1xuICAgICAgdGhpcy5sYW5ndWFnZSA9IGFwcExhbmc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWx1ZTogU2xpZGVyVmFsdWUgPSB7IHN0YXJ0OiAwLCBlbmQ6IDEwMCB9O1xuICBwcm90ZWN0ZWQgdHJhbnNsYXRpb25Db250ZXh0ID0gJ1NMSURFUi4nO1xuICBwcm90ZWN0ZWQgdG91Y2hlZENvbnRyb2xOYW1lID0gJyc7XG5cbiAgb25DaGFuZ2UgPSAoXzogYW55KTogdm9pZCA9PiB7fTtcbiAgb25Ub3VjaCA9ICgpOiB2b2lkID0+IHt9O1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuc2xpZGVyU3RhcnQgPSB2YWx1ZS5zdGFydDtcbiAgICB0aGlzLnNsaWRlckVuZCA9IHZhbHVlLmVuZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblZhbHVlQ2hhbmdlKGV2PzogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWU6IFNsaWRlclZhbHVlID0geyBzdGFydDogK3RoaXMuc2xpZGVyU3RhcnQsIGVuZDogK3RoaXMuc2xpZGVyRW5kIH07XG5cbiAgICBpZiAoZXYpIHtcbiAgICAgIHZhbHVlLnN0YXJ0ID0gZXY7XG4gICAgICB2YWx1ZS5lbmQgPSAwO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLnNsaWRlclZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uSW5wdXRCbHVyKGlucHV0TmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50b3VjaGVkQ29udHJvbE5hbWUgPSBpbnB1dE5hbWU7XG4gICAgY29uc3QgdmFsdWU6IFNsaWRlclZhbHVlID0geyBzdGFydDogK3RoaXMuc2xpZGVyU3RhcnQsIGVuZDogK3RoaXMuc2xpZGVyRW5kIH07XG5cbiAgICBpZiAoIXRoaXMuaGFzRXJyb3IgJiYgdGhpcy5pc1ZhbHVlQ2hhbmdlZCh2YWx1ZSkpIHtcbiAgICAgIHRoaXMub25WYWx1ZUNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvbklucHV0Rm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy50b3VjaGVkQ29udHJvbE5hbWUgPSAnJztcbiAgfVxuXG4gIHByaXZhdGUgaXNWYWx1ZUNoYW5nZWQodmFsdWU6IFNsaWRlclZhbHVlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUuc3RhcnQgIT09IHZhbHVlLnN0YXJ0IHx8IHRoaXMudmFsdWUuZW5kICE9PSB2YWx1ZS5lbmQ7XG4gIH1cblxuICBnZXQgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMubWF4IDwgK3RoaXMuc2xpZGVyRW5kIHx8XG4gICAgICB0aGlzLm1pbiA+ICt0aGlzLnNsaWRlclN0YXJ0IHx8XG4gICAgICB0aGlzLm1pbiA+ICt0aGlzLnNsaWRlckVuZCB8fFxuICAgICAgdGhpcy5tYXggPCArdGhpcy5zbGlkZXJTdGFydCB8fFxuICAgICAgK3RoaXMuc2xpZGVyRW5kIDwgK3RoaXMuc2xpZGVyU3RhcnRcbiAgICApO1xuICB9XG5cbiAgZ2V0IGlzQmFzaWNTbGlkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFudCA9PT0gJ2Jhc2ljJztcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdiBjbGFzcz1cInNsaWRlci1jb250YWluZXJcIiBbYXR0ci50aGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCIgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQsIGVycm9yOiBoYXNFcnJvciAmJiB0b3VjaGVkQ29udHJvbE5hbWUgfVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzbGlkZXItbGFiZWxcIiAqbmdJZj1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzbGlkZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaW4tdmFsdWVcIiAqbmdJZj1cIiFpc0Jhc2ljU2xpZGVyXCI+e3sgcGVyY2VudGFnZSA/IG1pbiArICclJyA6IG1pbiB9fTwvZGl2PlxuICAgICAgPG1hdC1zbGlkZXJcbiAgICAgICAgW2Rpc2FibGVSaXBwbGVdPVwiYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnXCIgI3NsaWRlckVsZW1lbnQgZGlzY3JldGUgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW21heF09XCJtYXhcIiBbbWluXT1cIm1pblwiIFtzdGVwXT1cInN0ZXBcIiAobW91c2VlbnRlcik9XCJzbGlkZXJFbGVtZW50LmRpc2NyZXRlID0gdHJ1ZVwiIChtb3VzZWxlYXZlKT1cInNsaWRlckVsZW1lbnQuZGlzY3JldGUgPSBmYWxzZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNCYXNpY1NsaWRlcjsgZWxzZSByYW5nZVRlbXBsYXRlXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNsaWRlclN0YXJ0XCJcbiAgICAgICAgICAgIG1hdFNsaWRlclRodW1iXG4gICAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI3JhbmdlVGVtcGxhdGU+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoKVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNsaWRlclN0YXJ0XCJcbiAgICAgICAgICAgIG1hdFNsaWRlclN0YXJ0VGh1bWJcbiAgICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoKVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNsaWRlckVuZFwiXG4gICAgICAgICAgICBtYXRTbGlkZXJFbmRUaHVtYlxuICAgICAgICAgID5cblxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9tYXQtc2xpZGVyPlxuICAgICAgPGRpdiBjbGFzcz1cIm1heC12YWx1ZVwiICpuZ0lmPVwiIWlzQmFzaWNTbGlkZXJcIj57eyBwZXJjZW50YWdlID8gbWF4ICsgJyUnIDogbWF4IH19PC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2xpZGVyLWlucHV0XCIgKm5nSWY9XCJzaG93SW5wdXRzICYmICF0aGlzLmlzQmFzaWNTbGlkZXJcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCInb3V0bGluZSdcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyAoJ0NPTU1PTi5NSU4nKSB8IHVpVHJhbnNsYXRlIDogbGFuZ3VhZ2UgfX0gPHNwYW4gKm5nSWY9XCJwZXJjZW50YWdlXCI+JTwvc3Bhbj48L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBbdHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzbGlkZXJTdGFydFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAoZm9jdXMpPVwib25JbnB1dEZvY3VzKClcIlxuICAgICAgICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKCdzdGFydCcpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbklucHV0Qmx1cignc3RhcnQnKVwiXG4gICAgICAgID5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCInb3V0bGluZSdcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyAoJ0NPTU1PTi5NQVgnKSB8IHVpVHJhbnNsYXRlIDogbGFuZ3VhZ2UgfX0gPHNwYW4gKm5nSWY9XCJwZXJjZW50YWdlXCI+JTwvc3Bhbj48L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFt0eXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNsaWRlckVuZFwiXG4gICAgICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygpXCJcbiAgICAgICAgICAoYmx1cik9XCJvbklucHV0Qmx1cignZW5kJylcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uSW5wdXRCbHVyKCdlbmQnKVwiXG4gICAgICAgID5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiaGFzRXJyb3IgJiYgdG91Y2hlZENvbnRyb2xOYW1lXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdGlvbi1lcnJvclwiICpuZ0lmPVwidG91Y2hlZENvbnRyb2xOYW1lID09PSAnc3RhcnQnICYmIHNsaWRlclN0YXJ0ID4gc2xpZGVyRW5kXCI+XG4gICAgICAgIDx1aS1pY29uIFtuYW1lXT1cIidJbmZvJ1wiPjwvdWktaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgKHRyYW5zbGF0aW9uQ29udGV4dCArICdNSU5fTU9SRV9USEFOX01BWCcpIHwgdWlUcmFuc2xhdGUgOiBsYW5ndWFnZSA6IHsgbWluOiBzbGlkZXJTdGFydCwgbWF4OiBzbGlkZXJFbmQgfSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdGlvbi1lcnJvclwiICpuZ0lmPVwidG91Y2hlZENvbnRyb2xOYW1lID09PSAnZW5kJyAmJiBzbGlkZXJTdGFydCA+IHNsaWRlckVuZFwiPlxuICAgICAgICA8dWktaWNvbiBbbmFtZV09XCInSW5mbydcIj48L3VpLWljb24+XG4gICAgICAgIDxzcGFuPnt7ICh0cmFuc2xhdGlvbkNvbnRleHQgKyAnTUFYX0xFU1NfVEhBTl9NSU4nKSB8IHVpVHJhbnNsYXRlIDogbGFuZ3VhZ2UgOiB7IG1pbjogc2xpZGVyU3RhcnQsIG1heDogc2xpZGVyRW5kIH0gfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInZhbGlkYXRpb24tZXJyb3JcIiAqbmdJZj1cInNsaWRlclN0YXJ0IDwgbWluXCI+XG4gICAgICAgIDx1aS1pY29uIFtuYW1lXT1cIidJbmZvJ1wiPjwvdWktaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgKCdDT01NT04uTUlOJykgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlIH19IHt7IG1pbiB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInZhbGlkYXRpb24tZXJyb3JcIiAqbmdJZj1cInNsaWRlckVuZCA+IG1heFwiPlxuICAgICAgICA8dWktaWNvbiBbbmFtZV09XCInSW5mbydcIj48L3VpLWljb24+XG4gICAgICAgIDxzcGFuPnt7ICgnQ09NTU9OLk1BWCcpIHwgdWlUcmFuc2xhdGUgOiBsYW5ndWFnZSB9fSB7eyBtYXggfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuIl19
@@ -3,6 +3,7 @@ import { Component, Inject, Input, Optional } from '@angular/core';
3
3
  import { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';
4
4
  import { alertBarsUtil } from '../../utils/alert-bars.utils';
5
5
  import { LanguageService } from '../../utils/localization/language.service';
6
+ import { CANOPY_UI_LANG } from '../../tokens/app-lang.token';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/material/snack-bar";
8
9
  import * as i2 from "@angular/platform-browser";
@@ -11,6 +12,7 @@ import * as i4 from "../button/button.component";
11
12
  import * as i5 from "../icon/icon.component";
12
13
  import * as i6 from "@angular/material/tooltip";
13
14
  import * as i7 from "../../pipes/ui-translate.pipe";
15
+ import * as i8 from "../../utils/localization/language.model";
14
16
  export class SnackbarComponent {
15
17
  /**
16
18
  * Snackbar message from html
@@ -22,11 +24,12 @@ export class SnackbarComponent {
22
24
  this.safeHtml = this.domSanitizer.bypassSecurityTrustHtml(value);
23
25
  }
24
26
  }
25
- constructor(defaultAppTheme, data, snackbarRef, domSanitizer) {
27
+ constructor(defaultAppTheme, data, snackbarRef, domSanitizer, appLang) {
26
28
  this.defaultAppTheme = defaultAppTheme;
27
29
  this.data = data;
28
30
  this.snackbarRef = snackbarRef;
29
31
  this.domSanitizer = domSanitizer;
32
+ this.appLang = appLang;
30
33
  /**
31
34
  * Background color of the button while in active state
32
35
  *
@@ -116,6 +119,9 @@ export class SnackbarComponent {
116
119
  if (defaultAppTheme) {
117
120
  this.applicationTheme = defaultAppTheme;
118
121
  }
122
+ if (appLang) {
123
+ this.language = appLang;
124
+ }
119
125
  this.snackbarType = data.snackbarType ?? 'success';
120
126
  this.message = data.message ?? '';
121
127
  this.safeHtml = data.html ? this.domSanitizer.bypassSecurityTrustHtml(data.html) : '';
@@ -160,7 +166,7 @@ export class SnackbarComponent {
160
166
  this.visible = false;
161
167
  this.snackbarRef.dismiss();
162
168
  }
163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SnackbarComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: MAT_SNACK_BAR_DATA }, { token: i1.MatSnackBarRef }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SnackbarComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: MAT_SNACK_BAR_DATA }, { token: i1.MatSnackBarRef }, { token: i2.DomSanitizer }, { token: CANOPY_UI_LANG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
164
170
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: SnackbarComponent, selector: "ui-snackbar", inputs: { snackbarType: "snackbarType", message: "message", html: "html", seconds: "seconds", includeDismissButton: "includeDismissButton", fixed: "fixed", linkText: "linkText", linkUrl: "linkUrl", linkTarget: "linkTarget", language: "language", variant: "variant", applicationTheme: "applicationTheme", closeButtonTooltip: "closeButtonTooltip", ariaDescribedby: "ariaDescribedby" }, ngImport: i0, template: "<ng-container>\n <div\n [ngClass]=\"snackbarType + ' ' + position\"\n [@openClose]\n *ngIf=\"visible\"\n class=\"snackbar-container\"\n [attr.theme]=\"applicationTheme\"\n [class.mobile]=\"variant === 'mobile'\"\n [class.desktop]=\"variant === 'desktop'\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n data-testid=\"snackbar-wrapper\"\n [attr.data-test-snackbar-type]=\"snackbarType\"\n [attr.aria-describedby]=\"'describedby'\"\n role=\"alert\"\n [attr.aria-labelledby]=\"'labelledby'\"\n >\n <span style=\"position: absolute; left: -9999px\" id=\"labelledby\">{{ ('ALERT_BANNER.' + (snackbarType | uppercase)) | uiTranslate : language }}</span>\n <span style=\"position: absolute; left: -9999px\">{{ message }}\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\">{{ linkText }}</a>\n </span>\n <span [style.display]=\"'none'\" id=\"describedby\">{{ ariaDescribedby }}</span>\n <div\n aria-hidden=\"true\"\n class=\"snackbar-text\"\n [matTooltip]=\"message.length > maxCharacters ? message : ''\"\n data-testid=\"snackbar-content\"\n >\n <ui-icon *ngIf=\"applicationTheme === 'classic'\" [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message.length > maxCharacters ? (message | slice: 0:maxCharacters) + '..' : message }}\n <div *ngIf=\"safeHtml\" [innerHTML]=\"safeHtml\"></div>\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\">{{ linkText }}</a>\n </div>\n <ui-button\n *ngIf=\"includeDismissButton && applicationTheme === 'classic'\"\n variant=\"text\"\n [label]=\"translationContext + 'DISMISS' | uiTranslate: language\"\n [applicationTheme]=\"applicationTheme !== 'classic' ? 'light' : 'classic'\"\n (buttonClickEvent)=\"dismissClick()\"\n data-testid=\"snackbar-dismiss-button\"\n ></ui-button>\n <ui-button\n *ngIf=\"includeDismissButton && applicationTheme !== 'classic'\"\n [variant]=\"'icon-button'\"\n [applicationTheme]=\"'light'\"\n [iconName]=\"'Close-in-line'\"\n [size]=\"'small'\"\n [tooltip]=\"closeButtonTooltip || ('COMMON.CLOSE' | uiTranslate: language)\"\n (click)=\"dismissClick()\"\n data-testid=\"snackbar-dismiss-button\"\n ></ui-button>\n </div>\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;width:100%;justify-content:center}:host .snackbar-container{max-width:600px}:host .alert-container,:host .snackbar-container{margin:0 auto;display:flex;padding:0 14px;border-radius:4px;align-items:center;justify-content:space-between;opacity:1;min-height:48px}:host .alert-container.fixed,:host .snackbar-container.fixed{position:fixed}:host .alert-container.static,:host .snackbar-container.static{position:relative}:host .alert-container ui-icon,:host .snackbar-container ui-icon{margin-right:14px}:host .alert-container ui-button,:host .snackbar-container ui-button{margin-left:14px}:host .alert-container ::ng-deep button.mat-mdc-unelevated-button.big,:host .snackbar-container ::ng-deep button.mat-mdc-unelevated-button.big{padding:0;min-width:auto}:host .alert-container .alert-text,:host .alert-container .snackbar-text,:host .snackbar-container .alert-text,:host .snackbar-container .snackbar-text{display:flex;align-items:center;color:#000}:host .alert-container .alert-text a,:host .alert-container .snackbar-text a,:host .snackbar-container .alert-text a,:host .snackbar-container .snackbar-text a{color:#000;text-decoration:underline;font-weight:700}:host .alert-container .alert-text a:hover,:host .alert-container .alert-text a:visited,:host .alert-container .alert-text a:focus,:host .alert-container .snackbar-text a:hover,:host .alert-container .snackbar-text a:visited,:host .alert-container .snackbar-text a:focus,:host .snackbar-container .alert-text a:hover,:host .snackbar-container .alert-text a:visited,:host .snackbar-container .alert-text a:focus,:host .snackbar-container .snackbar-text a:hover,:host .snackbar-container .snackbar-text a:visited,:host .snackbar-container .snackbar-text a:focus{text-decoration:none}:host .alert-container.success,:host .snackbar-container.success{background-color:#cbd6cb}:host .alert-container.info,:host .snackbar-container.info{background-color:#c8d7de}:host .alert-container.warning,:host .snackbar-container.warning{background-color:#f0d6bb}:host .alert-container.error,:host .snackbar-container.error{background-color:#e3c3c6}:host .alert-container[theme=dark].success,:host .alert-container[theme=light].success,:host .snackbar-container[theme=dark].success,:host .snackbar-container[theme=light].success{background-color:#aae47a}:host .alert-container[theme=dark].info,:host .alert-container[theme=light].info,:host .snackbar-container[theme=dark].info,:host .snackbar-container[theme=light].info{background-color:#d9e8ff}:host .alert-container[theme=dark].warning,:host .alert-container[theme=light].warning,:host .snackbar-container[theme=dark].warning,:host .snackbar-container[theme=light].warning{background-color:#ffe1b3}:host .alert-container[theme=dark].error,:host .alert-container[theme=light].error,:host .snackbar-container[theme=dark].error,:host .snackbar-container[theme=light].error{background-color:#ffac9a}::ng-deep .display-none{display:none!important}@media (max-width: 600px){:host .alert-container,:host .snackbar-container{padding:8px 14px}}:host .snackbar-container{bottom:0;z-index:98}:host .snackbar-container[theme=dark] ui-icon,:host .snackbar-container[theme=light] ui-icon{margin-right:10px;cursor:pointer}:host .snackbar-container[theme=dark] .snackbar-text,:host .snackbar-container[theme=light] .snackbar-text{padding-left:10px;margin-right:8px}:host .snackbar-container[theme=dark] .snackbar-text a,:host .snackbar-container[theme=light] .snackbar-text a{margin-left:4px}:host .snackbar-container[theme=dark].desktop,:host .snackbar-container[theme=light].desktop{border-radius:24px;box-shadow:0 4px 16px #2424240a;width:fit-content;max-width:600px;min-height:48px;line-height:1.4;font-size:14px;padding:16px 24px}:host .snackbar-container[theme=dark].mobile,:host .snackbar-container[theme=light].mobile{width:100%;min-width:100%;word-break:break-word}:host .mat-mdc-snack-bar-container{margin:16px 8px}::ng-deep .mdc-snackbar__surface{height:0}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "language", "preventDefault", "tooltipPosition"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i5.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i3.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i3.SlicePipe, name: "slice" }, { kind: "pipe", type: i7.UiTranslatePipe, name: "uiTranslate" }], animations: [
165
171
  trigger('openClose', [
166
172
  transition(':enter', [
@@ -196,7 +202,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
196
202
  }] }, { type: undefined, decorators: [{
197
203
  type: Inject,
198
204
  args: [MAT_SNACK_BAR_DATA]
199
- }] }, { type: i1.MatSnackBarRef }, { type: i2.DomSanitizer }], propDecorators: { snackbarType: [{
205
+ }] }, { type: i1.MatSnackBarRef }, { type: i2.DomSanitizer }, { type: i8.Language, decorators: [{
206
+ type: Optional
207
+ }, {
208
+ type: Inject,
209
+ args: [CANOPY_UI_LANG]
210
+ }] }], propDecorators: { snackbarType: [{
200
211
  type: Input
201
212
  }], message: [{
202
213
  type: Input
@@ -225,4 +236,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
225
236
  }], ariaDescribedby: [{
226
237
  type: Input
227
238
  }] } });
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWtCLE1BQU0sNkJBQTZCLENBQUM7QUFHakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7O0FBc0I1RSxNQUFNLE9BQU8saUJBQWlCO0lBZ0I1Qjs7OztPQUlHO0lBQ0gsSUFBYSxJQUFJLENBQUMsS0FBYTtRQUM3QixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDO0lBbUdELFlBQzZFLGVBQWlDLEVBQ3hFLElBQVMsRUFDckMsV0FBOEMsRUFDOUMsWUFBMEI7UUFIeUMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBQ3hFLFNBQUksR0FBSixJQUFJLENBQUs7UUFDckMsZ0JBQVcsR0FBWCxXQUFXLENBQW1DO1FBQzlDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBL0hwQzs7Ozs7V0FLRztRQUNNLGlCQUFZLEdBQWlCLFNBQVMsQ0FBQztRQUVoRDs7OztXQUlHO1FBQ00sWUFBTyxHQUFHLEVBQUUsQ0FBQztRQWF0Qjs7OztXQUlHO1FBQ00sWUFBTyxHQUFHLENBQUMsQ0FBQztRQUVyQjs7OztXQUlHO1FBQ00seUJBQW9CLEdBQUcsSUFBSSxDQUFDO1FBRXJDOzs7O1dBSUc7UUFDTSxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBRXRCOzs7O1dBSUc7UUFDTSxhQUFRLEdBQUksRUFBRSxDQUFDO1FBU3hCOzs7OztXQUtHO1FBQ00sZUFBVSxHQUFvQixRQUFRLENBQUM7UUFFaEQ7Ozs7O1dBS0c7UUFDTSxhQUFRLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQztRQUVwRDs7Ozs7V0FLRztRQUNNLFlBQU8sR0FBb0IsU0FBUyxDQUFDO1FBRTlDOzs7Ozs7V0FNRztRQUNNLHFCQUFnQixHQUFxQixPQUFPLENBQUM7UUFFdEQ7Ozs7O1dBS0c7UUFDTSx1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFFakM7Ozs7O1dBS0c7UUFDTSxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUc5QixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUVwQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBSWxCLHVCQUFrQixHQUFHLFdBQVcsQ0FBQztRQUNkLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBUXBDLElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLFNBQVMsQ0FBQztRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4RixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxlQUFlO0lBQ2YsSUFBSTtRQUNGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxlQUFlO0lBQ2YsSUFBSTtRQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsOEJBQThCO0lBQzlCLFlBQVk7UUFDVixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxpQ0FBaUM7SUFDakMsWUFBWTtRQUNWLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUN0RCxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELDhDQUE4QztJQUM5QyxZQUFZO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQXZMVSxpQkFBaUIsa0JBNkhOLG9DQUFvQyw2QkFDaEQsa0JBQWtCO2tHQTlIakIsaUJBQWlCLG1iQzVCOUIsOHlFQXFEQSxxbk9EdENjO1lBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDbkIsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0JBQ3RDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztpQkFDaEUsQ0FBQztnQkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO29CQUNuQixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztvQkFDckMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNoRSxDQUFDO2FBQ0gsQ0FBQztTQUNIOzsyRkFFVSxpQkFBaUI7a0JBakI3QixTQUFTOytCQUNFLGFBQWEsY0FHWDt3QkFDVixPQUFPLENBQUMsV0FBVyxFQUFFOzRCQUNuQixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNuQixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDdEMsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDOzZCQUNoRSxDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO2dDQUNyQyxPQUFPLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NkJBQ2hFLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDs7MEJBK0hFLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DOzswQkFDdkQsTUFBTTsyQkFBQyxrQkFBa0I7aUdBdkhuQixZQUFZO3NCQUFwQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFPTyxJQUFJO3NCQUFoQixLQUFLO2dCQVdHLE9BQU87c0JBQWYsS0FBSztnQkFPRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csT0FBTztzQkFBZixLQUFLO2dCQVFHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFRRyxPQUFPO3NCQUFmLEtBQUs7Z0JBU0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVFHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFRRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX1NOQUNLX0JBUl9EQVRBLCBNYXRTbmFja0JhclJlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaWNvbi9pY29uLm1vZGVsJztcbmltcG9ydCB7IFNuYWNrYmFyVHlwZSwgU25hY2tiYXJWYXJpYW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5tb2RlbCc7XG5pbXBvcnQgeyBhbGVydEJhcnNVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvYWxlcnQtYmFycy51dGlscyc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9sb2NhbGl6YXRpb24vbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IExpbmtUYXJnZXRUeXBlIH0gZnJvbSAnLi4vYWxlcnQtYmFubmVyL2FsZXJ0LWJhbm5lci5tb2RlbCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLXNuYWNrYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NuYWNrYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc25hY2tiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ29wZW5DbG9zZScsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoeyBib3R0b206ICctNTVweCcsIG9wYWNpdHk6IDAgfSksXG4gICAgICAgIGFuaW1hdGUoJzAuMnMgZWFzZS1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDEsIGJvdHRvbTogJzEwcHgnIH0pKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBzdHlsZSh7IGJvdHRvbTogJzEwcHgnLCBvcGFjaXR5OiAxIH0pLFxuICAgICAgICBhbmltYXRlKCcwLjJzIGVhc2UtaW4nLCBzdHlsZSh7IGJvdHRvbTogJy01NXB4Jywgb3BhY2l0eTogMCB9KSksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU25hY2tiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIHdoaWxlIGluIGFjdGl2ZSBzdGF0ZVxuICAgKlxuICAgKiBAdHlwZSB7U25hY2tiYXJUeXBlfVxuICAgKiBAbWVtYmVyb2YgU25hY2tiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNuYWNrYmFyVHlwZTogU25hY2tiYXJUeXBlID0gJ3N1Y2Nlc3MnO1xuXG4gIC8qKlxuICAgKiBTbmFja2JhciBtZXNzYWdlXG4gICAqXG4gICAqIEBtZW1iZXJvZiBTbmFja2JhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbWVzc2FnZSA9ICcnO1xuXG4gIC8qKlxuICAgKiBTbmFja2JhciBtZXNzYWdlIGZyb20gaHRtbFxuICAgKlxuICAgKiBAbWVtYmVyb2YgU25hY2tiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNldCBodG1sKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuc2FmZUh0bWwgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdGltZSB0aGF0IHRoZSBzbmFja2JhciB3aWxsIGJlIHZpc2libGVcbiAgICpcbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZWNvbmRzID0gNTtcblxuICAvKipcbiAgICogSW5jbHVkZSBkaXNtbWlzcyBidXR0b25cbiAgICpcbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpbmNsdWRlRGlzbWlzc0J1dHRvbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFN0YXRpYyBvciBmaXhlZCBwb3NpdGlvblxuICAgKlxuICAgKiBAbWVtYmVyb2YgU25hY2tiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGZpeGVkID0gdHJ1ZTtcblxuICAvKipcbiAgICogTGluayB0ZXh0IHRoYXQgd2lsbCBhcHBlbmRlZCBhdCB0aGUgZW5kIG9mIG1lc3NhZ2VcbiAgICpcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsaW5rVGV4dD8gPSAnJztcblxuICAvKipcbiAgICogTGluayB1cmxcbiAgICpcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsaW5rVXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaW5rIHRhcmdldFxuICAgKlxuICAgKiBAdHlwZSB7QHR5cGUge0xpbmtUYXJnZXRUeXBlfX1cbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsaW5rVGFyZ2V0PzogTGlua1RhcmdldFR5cGUgPSAnX2JsYW5rJztcblxuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHRvIGJlIHVzZWRcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsYW5ndWFnZSA9IExhbmd1YWdlU2VydmljZS5kZWZhdWx0TGFuZ3VhZ2U7XG5cbiAgLyoqXG4gICAqIFRoZSB2YXJpYW50IHRvIGJlIHVzZWRcbiAgICpcbiAgICogQHR5cGUge1NuYWNrYmFyVmFyaWFudH1cbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB2YXJpYW50OiBTbmFja2JhclZhcmlhbnQgPSAnZGVza3RvcCc7XG5cbiAgLyoqXG4gICAqXG4gICAqIERlZmluZXMgdGhlIGFwcGxpY2F0aW9uIHRoZW1lXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgU25hY2tiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBDbG9zZSBidXR0b24gdG9vbHRpcFxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgU25hY2tiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGNsb3NlQnV0dG9uVG9vbHRpcCA9ICcnO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgU25hY2tiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFEZXNjcmliZWRieSA9ICcnO1xuXG4gIGljb25OYW1lOiBJY29uTmFtZTtcbiAgc2hvd1NuYWNrYmFyID0gdHJ1ZTtcbiAgbWlsaXNlbmNvbmRzOiBudW1iZXI7XG4gIHZpc2libGUgPSBmYWxzZTtcbiAgdGltZXI/OiBudW1iZXI7XG4gIHRpbWVyU3RhcnRlZEF0ID0gMDtcbiAgdGltZXJQYXVzZWRBdCA9IDA7XG4gIHBvc2l0aW9uOiBzdHJpbmc7XG4gIHNhZmVIdG1sOiBTYWZlSHRtbDtcblxuICB0cmFuc2xhdGlvbkNvbnRleHQgPSAnU05BQ0tCQVIuJztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1heENoYXJhY3RlcnMgPSA3MDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgQEluamVjdChNQVRfU05BQ0tfQkFSX0RBVEEpIHByaXZhdGUgZGF0YTogYW55LFxuICAgIHByaXZhdGUgc25hY2tiYXJSZWY6IE1hdFNuYWNrQmFyUmVmPFNuYWNrYmFyQ29tcG9uZW50PixcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICApIHtcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuXG4gICAgdGhpcy5zbmFja2JhclR5cGUgPSBkYXRhLnNuYWNrYmFyVHlwZSA/PyAnc3VjY2Vzcyc7XG4gICAgdGhpcy5tZXNzYWdlID0gZGF0YS5tZXNzYWdlID8/ICcnO1xuICAgIHRoaXMuc2FmZUh0bWwgPSBkYXRhLmh0bWwgPyB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChkYXRhLmh0bWwpIDogJyc7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1pbGlzZW5jb25kcyA9IHRoaXMuc2Vjb25kcyAqIDEwMDA7XG4gICAgdGhpcy5pY29uTmFtZSA9IGFsZXJ0QmFyc1V0aWwuc2V0SWNvbih0aGlzLnNuYWNrYmFyVHlwZSk7XG4gICAgdGhpcy5zaG93KCk7XG4gICAgdGhpcy5wb3NpdGlvbiA9IGFsZXJ0QmFyc1V0aWwuc2V0UG9zaXRpb24odGhpcy5maXhlZCk7XG4gIH1cblxuICAvL1Nob3cgc25hY2tiYXJcbiAgc2hvdygpIHtcbiAgICB0aGlzLnRpbWVyU3RhcnRlZEF0ID0gRGF0ZS5ub3coKTtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgIHRoaXMudGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB0aGlzLmhpZGUoKSwgdGhpcy5taWxpc2VuY29uZHMpO1xuICB9XG5cbiAgLy9IaWRlIHNuYWNrYmFyXG4gIGhpZGUoKSB7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgdGhpcy50aW1lclBhdXNlZEF0ID0gMDtcbiAgICB0aGlzLnRpbWVyU3RhcnRlZEF0ID0gMDtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7XG4gICAgdGhpcy50aW1lciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNuYWNrYmFyUmVmLmRpc21pc3MoKTtcbiAgfVxuXG4gIC8vUGF1c2UgdGltZXIgd2hlbiBtb3VzZSBlbnRlclxuICBvbk1vdXNlRW50ZXIoKSB7XG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICB0aGlzLnRpbWVyUGF1c2VkQXQgPSBEYXRlLm5vdygpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTtcbiAgfVxuXG4gIC8vQ29udGludWUgdGltZXIgd2hlbiBtb3VzZSBsZWF2ZVxuICBvbk1vdXNlTGVhdmUoKSB7XG4gICAgY29uc3QgZGlmZiA9IHRoaXMudGltZXJQYXVzZWRBdCAtIHRoaXMudGltZXJTdGFydGVkQXQ7XG4gICAgaWYgKGRpZmYgPD0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgICB0aGlzLnRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4gdGhpcy5oaWRlKCksIHRoaXMubWlsaXNlbmNvbmRzIC0gZGlmZik7XG4gIH1cblxuICAvL0hpZGUgc25hY2tiYXIgd2hlbiBkaXNtaXNzIGJ1dHRvbiBpcyBjbGlja2VkXG4gIGRpc21pc3NDbGljaygpIHtcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLnNuYWNrYmFyUmVmLmRpc21pc3MoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cInNuYWNrYmFyVHlwZSArICcgJyArIHBvc2l0aW9uXCJcbiAgICBbQG9wZW5DbG9zZV1cbiAgICAqbmdJZj1cInZpc2libGVcIlxuICAgIGNsYXNzPVwic25hY2tiYXItY29udGFpbmVyXCJcbiAgICBbYXR0ci50aGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICBbY2xhc3MubW9iaWxlXT1cInZhcmlhbnQgPT09ICdtb2JpbGUnXCJcbiAgICBbY2xhc3MuZGVza3RvcF09XCJ2YXJpYW50ID09PSAnZGVza3RvcCdcIlxuICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiXG4gICAgZGF0YS10ZXN0aWQ9XCJzbmFja2Jhci13cmFwcGVyXCJcbiAgICBbYXR0ci5kYXRhLXRlc3Qtc25hY2tiYXItdHlwZV09XCJzbmFja2JhclR5cGVcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2Rlc2NyaWJlZGJ5J1wiXG4gICAgcm9sZT1cImFsZXJ0XCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2xhYmVsbGVkYnknXCJcbiAgPlxuICAgIDxzcGFuIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4XCIgaWQ9XCJsYWJlbGxlZGJ5XCI+e3sgKCdBTEVSVF9CQU5ORVIuJyArIChzbmFja2JhclR5cGUgfCB1cHBlcmNhc2UpKSB8IHVpVHJhbnNsYXRlIDogbGFuZ3VhZ2UgfX08L3NwYW4+XG4gICAgPHNwYW4gc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHhcIj57eyBtZXNzYWdlIH19XG4gICAgICA8YSAqbmdJZj1cIiEhbGlua1RleHRcIiBbdGFyZ2V0XT1cImxpbmtUYXJnZXRcIiBbaHJlZl09XCJsaW5rVXJsXCI+e3sgbGlua1RleHQgfX08L2E+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiIGlkPVwiZGVzY3JpYmVkYnlcIj57eyBhcmlhRGVzY3JpYmVkYnkgfX08L3NwYW4+XG4gICAgPGRpdlxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwic25hY2tiYXItdGV4dFwiXG4gICAgICBbbWF0VG9vbHRpcF09XCJtZXNzYWdlLmxlbmd0aCA+IG1heENoYXJhY3RlcnMgPyBtZXNzYWdlIDogJydcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJzbmFja2Jhci1jb250ZW50XCJcbiAgICA+XG4gICAgICA8dWktaWNvbiAqbmdJZj1cImFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJ1wiIFtuYW1lXT1cImljb25OYW1lXCIgc2l6ZT1cIjI0XCI+PC91aS1pY29uPlxuICAgICAge3sgbWVzc2FnZS5sZW5ndGggPiBtYXhDaGFyYWN0ZXJzID8gKG1lc3NhZ2UgfCBzbGljZTogMDptYXhDaGFyYWN0ZXJzKSArICcuLicgOiBtZXNzYWdlIH19XG4gICAgICA8ZGl2ICpuZ0lmPVwic2FmZUh0bWxcIiBbaW5uZXJIVE1MXT1cInNhZmVIdG1sXCI+PC9kaXY+XG4gICAgICA8YSAqbmdJZj1cIiEhbGlua1RleHRcIiBbdGFyZ2V0XT1cImxpbmtUYXJnZXRcIiBbaHJlZl09XCJsaW5rVXJsXCI+e3sgbGlua1RleHQgfX08L2E+XG4gICAgPC9kaXY+XG4gICAgPHVpLWJ1dHRvblxuICAgICAgKm5nSWY9XCJpbmNsdWRlRGlzbWlzc0J1dHRvbiAmJiBhcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYydcIlxuICAgICAgdmFyaWFudD1cInRleHRcIlxuICAgICAgW2xhYmVsXT1cInRyYW5zbGF0aW9uQ29udGV4dCArICdESVNNSVNTJyB8IHVpVHJhbnNsYXRlOiBsYW5ndWFnZVwiXG4gICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgPyAnbGlnaHQnIDogJ2NsYXNzaWMnXCJcbiAgICAgIChidXR0b25DbGlja0V2ZW50KT1cImRpc21pc3NDbGljaygpXCJcbiAgICAgIGRhdGEtdGVzdGlkPVwic25hY2tiYXItZGlzbWlzcy1idXR0b25cIlxuICAgID48L3VpLWJ1dHRvbj5cbiAgICA8dWktYnV0dG9uXG4gICAgICAqbmdJZj1cImluY2x1ZGVEaXNtaXNzQnV0dG9uICYmIGFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJ1wiXG4gICAgICBbdmFyaWFudF09XCInaWNvbi1idXR0b24nXCJcbiAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cIidsaWdodCdcIlxuICAgICAgW2ljb25OYW1lXT1cIidDbG9zZS1pbi1saW5lJ1wiXG4gICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgIFt0b29sdGlwXT1cImNsb3NlQnV0dG9uVG9vbHRpcCB8fCAoJ0NPTU1PTi5DTE9TRScgfCB1aVRyYW5zbGF0ZTogbGFuZ3VhZ2UpXCJcbiAgICAgIChjbGljayk9XCJkaXNtaXNzQ2xpY2soKVwiXG4gICAgICBkYXRhLXRlc3RpZD1cInNuYWNrYmFyLWRpc21pc3MtYnV0dG9uXCJcbiAgICA+PC91aS1idXR0b24+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWtCLE1BQU0sNkJBQTZCLENBQUM7QUFHakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUk1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7QUFvQjdELE1BQU0sT0FBTyxpQkFBaUI7SUFnQjVCOzs7O09BSUc7SUFDSCxJQUFhLElBQUksQ0FBQyxLQUFhO1FBQzdCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7SUFtR0QsWUFDNkUsZUFBaUMsRUFDeEUsSUFBUyxFQUNyQyxXQUE4QyxFQUM5QyxZQUEwQixFQUNxQixPQUFpQjtRQUpHLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUN4RSxTQUFJLEdBQUosSUFBSSxDQUFLO1FBQ3JDLGdCQUFX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aEIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBUUcsT0FBTztzQkFBZixLQUFLO2dCQVNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFRRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBUUcsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9TTkFDS19CQVJfREFUQSwgTWF0U25hY2tCYXJSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ljb24vaWNvbi5tb2RlbCc7XG5pbXBvcnQgeyBTbmFja2JhclR5cGUsIFNuYWNrYmFyVmFyaWFudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIubW9kZWwnO1xuaW1wb3J0IHsgYWxlcnRCYXJzVXRpbCB9IGZyb20gJy4uLy4uL3V0aWxzL2FsZXJ0LWJhcnMudXRpbHMnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBMaW5rVGFyZ2V0VHlwZSB9IGZyb20gJy4uL2FsZXJ0LWJhbm5lci9hbGVydC1iYW5uZXIubW9kZWwnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQ0FOT1BZX1VJX0xBTkcgfSBmcm9tICcuLi8uLi90b2tlbnMvYXBwLWxhbmcudG9rZW4nO1xuaW1wb3J0IHsgTGFuZ3VhZ2UgfSBmcm9tICcuLi8uLi91dGlscy9sb2NhbGl6YXRpb24vbGFuZ3VhZ2UubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1zbmFja2JhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbmFja2Jhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NuYWNrYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHsgYm90dG9tOiAnLTU1cHgnLCBvcGFjaXR5OiAwIH0pLFxuICAgICAgICBhbmltYXRlKCcwLjJzIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAxLCBib3R0b206ICcxMHB4JyB9KSksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgc3R5bGUoeyBib3R0b206ICcxMHB4Jywgb3BhY2l0eTogMSB9KSxcbiAgICAgICAgYW5pbWF0ZSgnMC4ycyBlYXNlLWluJywgc3R5bGUoeyBib3R0b206ICctNTVweCcsIG9wYWNpdHk6IDAgfSkpLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiB3aGlsZSBpbiBhY3RpdmUgc3RhdGVcbiAgICpcbiAgICogQHR5cGUge1NuYWNrYmFyVHlwZX1cbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzbmFja2JhclR5cGU6IFNuYWNrYmFyVHlwZSA9ICdzdWNjZXNzJztcblxuICAvKipcbiAgICogU25hY2tiYXIgbWVzc2FnZVxuICAgKlxuICAgKiBAbWVtYmVyb2YgU25hY2tiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIG1lc3NhZ2UgPSAnJztcblxuICAvKipcbiAgICogU25hY2tiYXIgbWVzc2FnZSBmcm9tIGh0bWxcbiAgICpcbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgaHRtbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnNhZmVIdG1sID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpbWUgdGhhdCB0aGUgc25hY2tiYXIgd2lsbCBiZSB2aXNpYmxlXG4gICAqXG4gICAqIEBtZW1iZXJvZiBTbmFja2JhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2Vjb25kcyA9IDU7XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgZGlzbW1pc3MgYnV0dG9uXG4gICAqXG4gICAqIEBtZW1iZXJvZiBTbmFja2JhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaW5jbHVkZURpc21pc3NCdXR0b24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTdGF0aWMgb3IgZml4ZWQgcG9zaXRpb25cbiAgICpcbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmaXhlZCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIExpbmsgdGV4dCB0aGF0IHdpbGwgYXBwZW5kZWQgYXQgdGhlIGVuZCBvZiBtZXNzYWdlXG4gICAqXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGlua1RleHQ/ID0gJyc7XG5cbiAgLyoqXG4gICAqIExpbmsgdXJsXG4gICAqXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGlua1VybD86IHN0cmluZztcblxuICAvKipcbiAgICogTGluayB0YXJnZXRcbiAgICpcbiAgICogQHR5cGUge0B0eXBlIHtMaW5rVGFyZ2V0VHlwZX19XG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGlua1RhcmdldD86IExpbmtUYXJnZXRUeXBlID0gJ19ibGFuayc7XG5cbiAgLyoqXG4gICAqIFRoZSBsYW5ndWFnZSB0byBiZSB1c2VkXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBTbmFja2JhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFuZ3VhZ2UgPSBMYW5ndWFnZVNlcnZpY2UuZGVmYXVsdExhbmd1YWdlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFyaWFudCB0byBiZSB1c2VkXG4gICAqXG4gICAqIEB0eXBlIHtTbmFja2JhclZhcmlhbnR9XG4gICAqIEBtZW1iZXJvZiBTbmFja2JhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdmFyaWFudDogU25hY2tiYXJWYXJpYW50ID0gJ2Rlc2t0b3AnO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICogQ2xvc2UgYnV0dG9uIHRvb2x0aXBcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBjbG9zZUJ1dHRvblRvb2x0aXAgPSAnJztcblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIHJlcXVpcmVtZW50IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRoZXIgYW4gaW5wdXQgZmllbGQgaXMgcmVxdWlyZWQgZm9yIGZvcm0gc3VibWlzc2lvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhRGVzY3JpYmVkYnkgPSAnJztcblxuICBpY29uTmFtZTogSWNvbk5hbWU7XG4gIHNob3dTbmFja2JhciA9IHRydWU7XG4gIG1pbGlzZW5jb25kczogbnVtYmVyO1xuICB2aXNpYmxlID0gZmFsc2U7XG4gIHRpbWVyPzogbnVtYmVyO1xuICB0aW1lclN0YXJ0ZWRBdCA9IDA7XG4gIHRpbWVyUGF1c2VkQXQgPSAwO1xuICBwb3NpdGlvbjogc3RyaW5nO1xuICBzYWZlSHRtbDogU2FmZUh0bWw7XG5cbiAgdHJhbnNsYXRpb25Db250ZXh0ID0gJ1NOQUNLQkFSLic7XG4gIHByb3RlY3RlZCByZWFkb25seSBtYXhDaGFyYWN0ZXJzID0gNzA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lLFxuICAgIEBJbmplY3QoTUFUX1NOQUNLX0JBUl9EQVRBKSBwcml2YXRlIGRhdGE6IGFueSxcbiAgICBwcml2YXRlIHNuYWNrYmFyUmVmOiBNYXRTbmFja0JhclJlZjxTbmFja2JhckNvbXBvbmVudD4sXG4gICAgcHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KENBTk9QWV9VSV9MQU5HKSBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwTGFuZzogTGFuZ3VhZ2UsXG4gICkge1xuICAgIGlmIChkZWZhdWx0QXBwVGhlbWUpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcbiAgICB9XG5cbiAgICBpZiAoYXBwTGFuZykge1xuICAgICAgdGhpcy5sYW5ndWFnZSA9IGFwcExhbmc7XG4gICAgfVxuXG4gICAgdGhpcy5zbmFja2JhclR5cGUgPSBkYXRhLnNuYWNrYmFyVHlwZSA/PyAnc3VjY2Vzcyc7XG4gICAgdGhpcy5tZXNzYWdlID0gZGF0YS5tZXNzYWdlID8/ICcnO1xuICAgIHRoaXMuc2FmZUh0bWwgPSBkYXRhLmh0bWwgPyB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChkYXRhLmh0bWwpIDogJyc7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1pbGlzZW5jb25kcyA9IHRoaXMuc2Vjb25kcyAqIDEwMDA7XG4gICAgdGhpcy5pY29uTmFtZSA9IGFsZXJ0QmFyc1V0aWwuc2V0SWNvbih0aGlzLnNuYWNrYmFyVHlwZSk7XG4gICAgdGhpcy5zaG93KCk7XG4gICAgdGhpcy5wb3NpdGlvbiA9IGFsZXJ0QmFyc1V0aWwuc2V0UG9zaXRpb24odGhpcy5maXhlZCk7XG4gIH1cblxuICAvL1Nob3cgc25hY2tiYXJcbiAgc2hvdygpIHtcbiAgICB0aGlzLnRpbWVyU3RhcnRlZEF0ID0gRGF0ZS5ub3coKTtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgIHRoaXMudGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB0aGlzLmhpZGUoKSwgdGhpcy5taWxpc2VuY29uZHMpO1xuICB9XG5cbiAgLy9IaWRlIHNuYWNrYmFyXG4gIGhpZGUoKSB7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgdGhpcy50aW1lclBhdXNlZEF0ID0gMDtcbiAgICB0aGlzLnRpbWVyU3RhcnRlZEF0ID0gMDtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7XG4gICAgdGhpcy50aW1lciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNuYWNrYmFyUmVmLmRpc21pc3MoKTtcbiAgfVxuXG4gIC8vUGF1c2UgdGltZXIgd2hlbiBtb3VzZSBlbnRlclxuICBvbk1vdXNlRW50ZXIoKSB7XG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICB0aGlzLnRpbWVyUGF1c2VkQXQgPSBEYXRlLm5vdygpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTtcbiAgfVxuXG4gIC8vQ29udGludWUgdGltZXIgd2hlbiBtb3VzZSBsZWF2ZVxuICBvbk1vdXNlTGVhdmUoKSB7XG4gICAgY29uc3QgZGlmZiA9IHRoaXMudGltZXJQYXVzZWRBdCAtIHRoaXMudGltZXJTdGFydGVkQXQ7XG4gICAgaWYgKGRpZmYgPD0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgICB0aGlzLnRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4gdGhpcy5oaWRlKCksIHRoaXMubWlsaXNlbmNvbmRzIC0gZGlmZik7XG4gIH1cblxuICAvL0hpZGUgc25hY2tiYXIgd2hlbiBkaXNtaXNzIGJ1dHRvbiBpcyBjbGlja2VkXG4gIGRpc21pc3NDbGljaygpIHtcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLnNuYWNrYmFyUmVmLmRpc21pc3MoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cInNuYWNrYmFyVHlwZSArICcgJyArIHBvc2l0aW9uXCJcbiAgICBbQG9wZW5DbG9zZV1cbiAgICAqbmdJZj1cInZpc2libGVcIlxuICAgIGNsYXNzPVwic25hY2tiYXItY29udGFpbmVyXCJcbiAgICBbYXR0ci50aGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICBbY2xhc3MubW9iaWxlXT1cInZhcmlhbnQgPT09ICdtb2JpbGUnXCJcbiAgICBbY2xhc3MuZGVza3RvcF09XCJ2YXJpYW50ID09PSAnZGVza3RvcCdcIlxuICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiXG4gICAgZGF0YS10ZXN0aWQ9XCJzbmFja2Jhci13cmFwcGVyXCJcbiAgICBbYXR0ci5kYXRhLXRlc3Qtc25hY2tiYXItdHlwZV09XCJzbmFja2JhclR5cGVcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2Rlc2NyaWJlZGJ5J1wiXG4gICAgcm9sZT1cImFsZXJ0XCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2xhYmVsbGVkYnknXCJcbiAgPlxuICAgIDxzcGFuIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4XCIgaWQ9XCJsYWJlbGxlZGJ5XCI+e3sgKCdBTEVSVF9CQU5ORVIuJyArIChzbmFja2JhclR5cGUgfCB1cHBlcmNhc2UpKSB8IHVpVHJhbnNsYXRlIDogbGFuZ3VhZ2UgfX08L3NwYW4+XG4gICAgPHNwYW4gc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHhcIj57eyBtZXNzYWdlIH19XG4gICAgICA8YSAqbmdJZj1cIiEhbGlua1RleHRcIiBbdGFyZ2V0XT1cImxpbmtUYXJnZXRcIiBbaHJlZl09XCJsaW5rVXJsXCI+e3sgbGlua1RleHQgfX08L2E+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiIGlkPVwiZGVzY3JpYmVkYnlcIj57eyBhcmlhRGVzY3JpYmVkYnkgfX08L3NwYW4+XG4gICAgPGRpdlxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwic25hY2tiYXItdGV4dFwiXG4gICAgICBbbWF0VG9vbHRpcF09XCJtZXNzYWdlLmxlbmd0aCA+IG1heENoYXJhY3RlcnMgPyBtZXNzYWdlIDogJydcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJzbmFja2Jhci1jb250ZW50XCJcbiAgICA+XG4gICAgICA8dWktaWNvbiAqbmdJZj1cImFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJ1wiIFtuYW1lXT1cImljb25OYW1lXCIgc2l6ZT1cIjI0XCI+PC91aS1pY29uPlxuICAgICAge3sgbWVzc2FnZS5sZW5ndGggPiBtYXhDaGFyYWN0ZXJzID8gKG1lc3NhZ2UgfCBzbGljZTogMDptYXhDaGFyYWN0ZXJzKSArICcuLicgOiBtZXNzYWdlIH19XG4gICAgICA8ZGl2ICpuZ0lmPVwic2FmZUh0bWxcIiBbaW5uZXJIVE1MXT1cInNhZmVIdG1sXCI+PC9kaXY+XG4gICAgICA8YSAqbmdJZj1cIiEhbGlua1RleHRcIiBbdGFyZ2V0XT1cImxpbmtUYXJnZXRcIiBbaHJlZl09XCJsaW5rVXJsXCI+e3sgbGlua1RleHQgfX08L2E+XG4gICAgPC9kaXY+XG4gICAgPHVpLWJ1dHRvblxuICAgICAgKm5nSWY9XCJpbmNsdWRlRGlzbWlzc0J1dHRvbiAmJiBhcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYydcIlxuICAgICAgdmFyaWFudD1cInRleHRcIlxuICAgICAgW2xhYmVsXT1cInRyYW5zbGF0aW9uQ29udGV4dCArICdESVNNSVNTJyB8IHVpVHJhbnNsYXRlOiBsYW5ndWFnZVwiXG4gICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgPyAnbGlnaHQnIDogJ2NsYXNzaWMnXCJcbiAgICAgIChidXR0b25DbGlja0V2ZW50KT1cImRpc21pc3NDbGljaygpXCJcbiAgICAgIGRhdGEtdGVzdGlkPVwic25hY2tiYXItZGlzbWlzcy1idXR0b25cIlxuICAgID48L3VpLWJ1dHRvbj5cbiAgICA8dWktYnV0dG9uXG4gICAgICAqbmdJZj1cImluY2x1ZGVEaXNtaXNzQnV0dG9uICYmIGFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJ1wiXG4gICAgICBbdmFyaWFudF09XCInaWNvbi1idXR0b24nXCJcbiAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cIidsaWdodCdcIlxuICAgICAgW2ljb25OYW1lXT1cIidDbG9zZS1pbi1saW5lJ1wiXG4gICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgIFt0b29sdGlwXT1cImNsb3NlQnV0dG9uVG9vbHRpcCB8fCAoJ0NPTU1PTi5DTE9TRScgfCB1aVRyYW5zbGF0ZTogbGFuZ3VhZ2UpXCJcbiAgICAgIChjbGljayk9XCJkaXNtaXNzQ2xpY2soKVwiXG4gICAgICBkYXRhLXRlc3RpZD1cInNuYWNrYmFyLWRpc21pc3MtYnV0dG9uXCJcbiAgICA+PC91aS1idXR0b24+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,11 +1,14 @@
1
1
  import { Component, Inject, Input, Optional } from '@angular/core';
2
2
  import { LanguageService } from "../../utils/localization/language.service";
3
+ import { CANOPY_UI_LANG } from '../../tokens/app-lang.token';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common";
5
6
  import * as i2 from "../../pipes/ui-translate.pipe";
7
+ import * as i3 from "../../utils/localization/language.model";
6
8
  export class SpinnerComponent {
7
- constructor(defaultAppTheme) {
9
+ constructor(defaultAppTheme, appLang) {
8
10
  this.defaultAppTheme = defaultAppTheme;
11
+ this.appLang = appLang;
9
12
  /**
10
13
  * The size variant of the spinner. Can be 'small' or 'large'.
11
14
  * Defaults to 'large'.
@@ -40,6 +43,9 @@ export class SpinnerComponent {
40
43
  if (defaultAppTheme) {
41
44
  this.applicationTheme = defaultAppTheme;
42
45
  }
46
+ if (appLang) {
47
+ this.language = appLang;
48
+ }
43
49
  }
44
50
  ngOnChanges() {
45
51
  this.setSpinnerClasses();
@@ -50,7 +56,7 @@ export class SpinnerComponent {
50
56
  setSpinnerClasses() {
51
57
  this.classes = `${this.size === 'large' ? 'large' : 'small'} ${this.isLoader ? 'loader' : ''} ${this.applicationTheme}`;
52
58
  }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SpinnerComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SpinnerComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: CANOPY_UI_LANG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
54
60
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: SpinnerComponent, selector: "ui-spinner", inputs: { size: "size", language: "language", isLoader: "isLoader", applicationTheme: "applicationTheme" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"spinner-container\"\n [ngClass]=\"classes\"\n [attr.theme]=\"applicationTheme\"\n [attr.aria-label]=\"'COMMON.LOADING' | uiTranslate : language\"\n role=\"alert\"\n>\n <svg class=\"spinner\" viewBox=\"0 0 50 50\">\n <circle class=\"path\" cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\"></circle>\n </svg>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spinner-container.large{width:48px;height:48px;stroke-width:8px}.spinner-container.large .spinner{width:48px;height:48px}.spinner-container.small{stroke-width:4px;width:16px;height:16px}.spinner-container.small .spinner{width:16px;height:16px}.spinner-container .spinner{animation:rotate 2s linear infinite;width:48px;height:48px}.spinner-container .spinner .path{stroke:#d410aa;stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}.spinner-container.classic .spinner .path{stroke:#276678}.spinner-container.loader{position:fixed;top:50%;left:50%;z-index:999;margin:-25px 0 0 -25px}.spinner-container[theme=dark] .path{stroke:#fff!important}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2.UiTranslatePipe, name: "uiTranslate" }] }); }
55
61
  }
56
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SpinnerComponent, decorators: [{
@@ -61,6 +67,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
61
67
  }, {
62
68
  type: Inject,
63
69
  args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
70
+ }] }, { type: i3.Language, decorators: [{
71
+ type: Optional
72
+ }, {
73
+ type: Inject,
74
+ args: [CANOPY_UI_LANG]
64
75
  }] }], propDecorators: { size: [{
65
76
  type: Input
66
77
  }], language: [{
@@ -70,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
70
81
  }], applicationTheme: [{
71
82
  type: Input
72
83
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7O0FBTzVFLE1BQU0sT0FBTyxnQkFBZ0I7SUFzQzNCLFlBQzZFLGVBQWlDO1FBQWpDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQXRDOUc7Ozs7OztXQU1HO1FBQ00sU0FBSSxHQUFnQixPQUFPLENBQUM7UUFFckM7Ozs7O1dBS0c7UUFDTSxhQUFRLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQztRQUVwRDs7Ozs7O1dBTUc7UUFDTSxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXpCOzs7Ozs7V0FNRztRQUNNLHFCQUFnQixHQUFxQixPQUFPLENBQUM7UUFPcEQsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUgsQ0FBQzs4R0F4RFUsZ0JBQWdCLGtCQXVDTCxvQ0FBb0M7a0dBdkMvQyxnQkFBZ0IsbUxDVjdCLDBWQVVBOzsyRkRBYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsWUFBWTs7MEJBMkNuQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9DQUFvQzt5Q0EvQmpELElBQUk7c0JBQVosS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQVNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBU0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNwaW5uZXJTaXplIH0gZnJvbSAnLi9zcGlubmVyLm1vZGVsJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLXNwaW5uZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc3Bpbm5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NwaW5uZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3Bpbm5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFRoZSBzaXplIHZhcmlhbnQgb2YgdGhlIHNwaW5uZXIuIENhbiBiZSAnc21hbGwnIG9yICdsYXJnZScuXG4gICAqIERlZmF1bHRzIHRvICdsYXJnZScuXG4gICAqIEBkZWZhdWx0ICdsYXJnZSdcbiAgICogQHR5cGUge1NwaW5uZXJTaXplfVxuICAgKiBAbWVtYmVyb2YgU3Bpbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2l6ZTogU3Bpbm5lclNpemUgPSAnbGFyZ2UnO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFuZ3VhZ2UgdG8gYmUgdXNlZFxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgU3Bpbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFuZ3VhZ2UgPSBMYW5ndWFnZVNlcnZpY2UuZGVmYXVsdExhbmd1YWdlO1xuXG4gIC8qKlxuICAgKiBTZXQgcG9zaXRpb24gZml4ZWQgb24gcGFnZVxuICAgKiBEZWZhdWx0cyB0byAndHJ1ZScuXG4gICAqIEBkZWZhdWx0ICd0cnVlJ1xuICAgKiBAdHlwZSB7U3Bpbm5lclNpemV9XG4gICAqIEBtZW1iZXJvZiBTcGlubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpc0xvYWRlciA9IHRydWU7XG5cbiAgLyoqXG4gICAqXG4gICAqIERlZmluZXMgdGhlIGFwcGxpY2F0aW9uIHRoZW1lXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgU3Bpbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XG5cbiAgY2xhc3Nlczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgKSB7XG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0U3Bpbm5lckNsYXNzZXMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0U3Bpbm5lckNsYXNzZXMoKTtcbiAgfVxuXG4gIHNldFNwaW5uZXJDbGFzc2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3NlcyA9IGAke3RoaXMuc2l6ZSA9PT0gJ2xhcmdlJyA/ICdsYXJnZScgOiAnc21hbGwnfSAke3RoaXMuaXNMb2FkZXIgPyAnbG9hZGVyJyA6ICcnfSAke3RoaXMuYXBwbGljYXRpb25UaGVtZX1gO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3Bpbm5lci1jb250YWluZXJcIlxuICAgICBbbmdDbGFzc109XCJjbGFzc2VzXCJcbiAgICAgW2F0dHIudGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0NPTU1PTi5MT0FESU5HJyB8IHVpVHJhbnNsYXRlIDogbGFuZ3VhZ2VcIlxuICAgICByb2xlPVwiYWxlcnRcIlxuPlxuICA8c3ZnIGNsYXNzPVwic3Bpbm5lclwiIHZpZXdCb3g9XCIwIDAgNTAgNTBcIj5cbiAgICA8Y2lyY2xlIGNsYXNzPVwicGF0aFwiIGN4PVwiMjVcIiBjeT1cIjI1XCIgcj1cIjIwXCIgZmlsbD1cIm5vbmVcIj48L2NpcmNsZT5cbiAgPC9zdmc+XG48L2Rpdj5cbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFRN0QsTUFBTSxPQUFPLGdCQUFnQjtJQXNDM0IsWUFDNkUsZUFBaUMsRUFDckQsT0FBaUI7UUFERyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDckQsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQXZDMUU7Ozs7OztXQU1HO1FBQ00sU0FBSSxHQUFnQixPQUFPLENBQUM7UUFFckM7Ozs7O1dBS0c7UUFDTSxhQUFRLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQztRQUVwRDs7Ozs7O1dBTUc7UUFDTSxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXpCOzs7Ozs7V0FNRztRQUNNLHFCQUFnQixHQUFxQixPQUFPLENBQUM7UUFRcEQsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO1FBQzFDLENBQUM7UUFFRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxSCxDQUFDOzhHQTdEVSxnQkFBZ0Isa0JBdUNMLG9DQUFvQyw2QkFDcEMsY0FBYztrR0F4Q3pCLGdCQUFnQixtTENaN0IsMFZBVUE7OzJGREVhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxZQUFZOzswQkEyQ25CLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DOzswQkFDdkQsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjO3lDQWhDM0IsSUFBSTtzQkFBWixLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBU0csUUFBUTtzQkFBaEIsS0FBSztnQkFTRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Bpbm5lclNpemUgfSBmcm9tICcuL3NwaW5uZXIubW9kZWwnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLnNlcnZpY2VcIjtcbmltcG9ydCB7IENBTk9QWV9VSV9MQU5HIH0gZnJvbSAnLi4vLi4vdG9rZW5zL2FwcC1sYW5nLnRva2VuJztcbmltcG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktc3Bpbm5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGlubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3Bpbm5lci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTcGlubmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAvKipcbiAgICogVGhlIHNpemUgdmFyaWFudCBvZiB0aGUgc3Bpbm5lci4gQ2FuIGJlICdzbWFsbCcgb3IgJ2xhcmdlJy5cbiAgICogRGVmYXVsdHMgdG8gJ2xhcmdlJy5cbiAgICogQGRlZmF1bHQgJ2xhcmdlJ1xuICAgKiBAdHlwZSB7U3Bpbm5lclNpemV9XG4gICAqIEBtZW1iZXJvZiBTcGlubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzaXplOiBTcGlubmVyU2l6ZSA9ICdsYXJnZSc7XG5cbiAgLyoqXG4gICAqIFRoZSBsYW5ndWFnZSB0byBiZSB1c2VkXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBTcGlubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsYW5ndWFnZSA9IExhbmd1YWdlU2VydmljZS5kZWZhdWx0TGFuZ3VhZ2U7XG5cbiAgLyoqXG4gICAqIFNldCBwb3NpdGlvbiBmaXhlZCBvbiBwYWdlXG4gICAqIERlZmF1bHRzIHRvICd0cnVlJy5cbiAgICogQGRlZmF1bHQgJ3RydWUnXG4gICAqIEB0eXBlIHtTcGlubmVyU2l6ZX1cbiAgICogQG1lbWJlcm9mIFNwaW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGlzTG9hZGVyID0gdHJ1ZTtcblxuICAvKipcbiAgICpcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWVcbiAgICpcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBtZW1iZXJvZiBTcGlubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICBjbGFzc2VzOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQ0FOT1BZX1VJX0xBTkcpIHByb3RlY3RlZCByZWFkb25seSBhcHBMYW5nOiBMYW5ndWFnZSxcbiAgKSB7XG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cblxuICAgIGlmIChhcHBMYW5nKSB7XG4gICAgICB0aGlzLmxhbmd1YWdlID0gYXBwTGFuZztcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNldFNwaW5uZXJDbGFzc2VzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFNwaW5uZXJDbGFzc2VzKCk7XG4gIH1cblxuICBzZXRTcGlubmVyQ2xhc3NlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNsYXNzZXMgPSBgJHt0aGlzLnNpemUgPT09ICdsYXJnZScgPyAnbGFyZ2UnIDogJ3NtYWxsJ30gJHt0aGlzLmlzTG9hZGVyID8gJ2xvYWRlcicgOiAnJ30gJHt0aGlzLmFwcGxpY2F0aW9uVGhlbWV9YDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNwaW5uZXItY29udGFpbmVyXCJcbiAgICAgW25nQ2xhc3NdPVwiY2xhc3Nlc1wiXG4gICAgIFthdHRyLnRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidDT01NT04uTE9BRElORycgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlXCJcbiAgICAgcm9sZT1cImFsZXJ0XCJcbj5cbiAgPHN2ZyBjbGFzcz1cInNwaW5uZXJcIiB2aWV3Qm94PVwiMCAwIDUwIDUwXCI+XG4gICAgPGNpcmNsZSBjbGFzcz1cInBhdGhcIiBjeD1cIjI1XCIgY3k9XCIyNVwiIHI9XCIyMFwiIGZpbGw9XCJub25lXCI+PC9jaXJjbGU+XG4gIDwvc3ZnPlxuPC9kaXY+XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional, Output, } from '@angular/core';
2
2
  import { IS_MOBILE_TOKEN } from '../../providers/is-mobile';
3
3
  import { LanguageService } from '../../utils/localization/language.service';
4
+ import { CANOPY_UI_LANG } from '../../tokens/app-lang.token';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  import * as i2 from "../icon/icon.component";
@@ -9,6 +10,7 @@ import * as i4 from "../radial-progress/radial-progress.component";
9
10
  import * as i5 from "../../directives/step-line-element.directive";
10
11
  import * as i6 from "../../pipes/ui-translate.pipe";
11
12
  import * as i7 from "rxjs";
13
+ import * as i8 from "../../utils/localization/language.model";
12
14
  export class StepperComponent {
13
15
  /**
14
16
  *
@@ -56,9 +58,10 @@ export class StepperComponent {
56
58
  set isOpen(value) {
57
59
  this.isOpened = value;
58
60
  }
59
- constructor(defaultAppTheme, isMobile$) {
61
+ constructor(defaultAppTheme, isMobile$, appLang) {
60
62
  this.defaultAppTheme = defaultAppTheme;
61
63
  this.isMobile$ = isMobile$;
64
+ this.appLang = appLang;
62
65
  /**
63
66
  * Input property indicating whether the final icon should be displayed.
64
67
  * Default value is false.
@@ -105,6 +108,9 @@ export class StepperComponent {
105
108
  if (defaultAppTheme) {
106
109
  this.applicationTheme = defaultAppTheme;
107
110
  }
111
+ if (appLang) {
112
+ this.language = appLang;
113
+ }
108
114
  }
109
115
  onSelect(changedIndex, step) {
110
116
  if (!step.isVisited && this.selectedIndex !== changedIndex) {
@@ -120,7 +126,7 @@ export class StepperComponent {
120
126
  onCloseStepList() {
121
127
  this.isOpen = false;
122
128
  }
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: StepperComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: IS_MOBILE_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
129
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: StepperComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: IS_MOBILE_TOKEN }, { token: CANOPY_UI_LANG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
124
130
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: StepperComponent, selector: "ui-stepper", inputs: { setFirstStepAutoSelect: ["firstStepAutoSelect", "setFirstStepAutoSelect"], steps: "steps", setSelectedIndex: ["selectedIndex", "setSelectedIndex"], lastStepFinalIcon: "lastStepFinalIcon", language: "language", applicationTheme: "applicationTheme", ariaLabel: "ariaLabel", position: "position", ariaRequired: "ariaRequired" }, outputs: { selectionChange: "selectionChange" }, ngImport: i0, template: "<ng-container>\n <div class=\"stepper-wrapper\" [ngClass]=\"position\" [attr.theme]=\"applicationTheme\" *ngIf=\"(position === 'horizontal' && !(isMobile$ | async)) || (position === 'vertical'); else mobile\">\n <ng-container *ngFor=\"let step of itemSteps; index as i, last as isLast\">\n <div class=\"step\" #stepElement>\n <ui-step\n [label]=\"step.label\"\n [isVisited]=\"step.isVisited!\"\n [icon]=\"step.iconName\"\n [index]=\"i\"\n [selected]=\"i === selectedIndex\"\n [selectedIndex]=\"selectedIndex\"\n [isLast]=\"isLast\"\n [disabled]=\"step.disabled ?? (i > selectedIndex + 1 && !step.isVisited)\"\n [prevStepIsVisited]=\"itemSteps[i - 1]?.isVisited && step.isVisited\"\n [finalIcon]=\"isLast ? lastStepFinalIcon : false\"\n [showIconWhenSelected]=\"!!step.showIconWhenSelected\"\n (stepSelected)=\"onSelect($event, step)\"\n [applicationTheme]=\"applicationTheme\"\n [attr.aria-label]=\"ariaLabel + '--' + step.label\"\n [htmlDescription]=\"step.htmlDescription ?? []\"\n [boldLabel]=\"!!step.boldLabel\"\n [position]=\"position\"\n [descriptionTpl]=\"step.descriptionTpl\"\n [labelTooltip]=\"step.labelTooltip\"\n [alwaysShowIcon]=\"!!step.alwaysShowIcon\"\n [context]=\"step.context\"\n ></ui-step>\n </div>\n <div *ngIf=\"!isLast\" class=\"separator-line\" [ngClass]=\"{ visited: step.isVisited && !!this.itemSteps[i + 1]?.isVisited }\">\n <div [stepLineElement]=\"stepElement\" [position]=\"position\" class=\"line\"></div>\n </div>\n </ng-container>\n </div>\n\n <ng-template #mobile>\n <div class=\"mobile-stepper-wrapper\">\n <div class=\"stepper\">\n <div class=\"progress-step\">\n <ui-radial-progress [applicationTheme]=\"applicationTheme\" [value]=\"selectedIndex + 1\" [total]=\"itemSteps.length\"></ui-radial-progress>\n </div>\n\n <div class=\"step-info\">\n <div class=\"current-step\">\n <span>{{ selectedIndex + 1 }}/{{ itemSteps.length }} </span>\n <span>{{ itemSteps[selectedIndex].label }}</span>\n </div>\n <div class=\"next-step\">\n <span *ngIf=\"itemSteps.length !== selectedIndex + 1 else finalStep\">{{ (('COMMON.NEXT') | uiTranslate : language) + ':'}} {{ itemSteps[selectedIndex + 1].label }}</span>\n <ng-template #finalStep>\n <span>{{ (translationContext + 'FINAL_STEP') | uiTranslate : language }}</span>\n </ng-template>\n </div>\n </div>\n\n <div class=\"open-steps\" (click)=\"showStepsToggle()\" [ngClass]=\"{ opened: isOpen }\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [size]=\"'24'\" [name]=\"applicationTheme === 'classic' ? 'Arrow_down' : 'Arrow-chevron-down-in-line'\"></ui-icon>\n </div>\n </div>\n\n <div *ngIf=\"isOpen\">\n <div class=\"step-list\">\n <div class=\"step\" *ngFor=\"let step of itemSteps; index as i, last as isLast\">\n <ui-step\n [label]=\"step.label\"\n [isVisited]=\"step.isVisited!\"\n [icon]=\"step.iconName\"\n [index]=\"i\"\n [selected]=\"i === selectedIndex\"\n [selectedIndex]=\"selectedIndex\"\n [isLast]=\"isLast\"\n [disabled]=\"step.disabled ?? ( i > selectedIndex + 1 && !step.isVisited)\"\n [mobileMode]=\"true\"\n [finalIcon]=\"isLast ? lastStepFinalIcon : false\"\n [showIconWhenSelected]=\"!!step.showIconWhenSelected\"\n (stepSelected)=\"onSelect($event, step)\"\n [applicationTheme]=\"applicationTheme\"\n [attr.aria-label]=\"ariaLabel + '--' + step.label\"\n ></ui-step>\n </div>\n </div>\n <div class=\"overlay\" (click)=\"onCloseStepList()\"></div>\n </div>\n </div>\n </ng-template>\n\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}@media (max-width: 1024px){:host{width:100%}}@media (max-width: 600px){:host{width:fit-content}}.row,.mobile-stepper-wrapper .stepper,.stepper-wrapper .step,.stepper-wrapper{display:flex;flex-direction:row}.column,.mobile-stepper-wrapper .step-list,.mobile-stepper-wrapper .stepper .step-info{display:flex;flex-direction:column}.stepper-wrapper{width:100%}.stepper-wrapper .step{max-width:200px}.stepper-wrapper .separator-line{display:flex;flex:1 1 auto;position:relative;z-index:2}.stepper-wrapper .separator-line.visited .line{border-top:2px solid #276678}.stepper-wrapper .separator-line .line{position:absolute;top:45px;border-top:2px solid #C8D7DE;width:100%;left:0}.stepper-wrapper.vertical{flex-direction:column}.stepper-wrapper.vertical .step{max-width:1024px;width:100%}.stepper-wrapper.vertical .step ui-step{width:100%}.stepper-wrapper.vertical .separator-line.visited .line{border-right:2px solid #276678}.stepper-wrapper.vertical .separator-line .line{top:-15px;border-right:2px solid #C8D7DE;width:2px;left:34px}.stepper-wrapper[theme=dark] .separator-line.visited .line,.stepper-wrapper[theme=light] .separator-line.visited .line{border-top:2px solid #242424}.stepper-wrapper[theme=dark] .separator-line .line,.stepper-wrapper[theme=light] .separator-line .line{border-top:2px solid #D3D3D3}.stepper-wrapper[theme=dark].vertical .separator-line.visited .line,.stepper-wrapper[theme=light].vertical .separator-line.visited .line{border-right:2px solid #242424}.stepper-wrapper[theme=dark].vertical .separator-line .line,.stepper-wrapper[theme=light].vertical .separator-line .line{border-right:2px solid #D3D3D3}.mobile-stepper-wrapper{width:100%;position:relative}.mobile-stepper-wrapper .stepper{padding:12px 16px;height:72px;border:1px solid #888888;background:#fff;border-radius:8px}.mobile-stepper-wrapper .stepper .step-info{width:100%}.mobile-stepper-wrapper .stepper .step-info .current-step{font-weight:700;font-size:16px;line-height:24px}.mobile-stepper-wrapper .stepper .step-info .next-step{margin-top:4px;font-size:14px;line-height:20px}.mobile-stepper-wrapper .stepper .step-info .current-step,.mobile-stepper-wrapper .stepper .step-info .next-step{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.mobile-stepper-wrapper .stepper .open-steps{cursor:pointer;display:flex;justify-content:center;align-items:center}.mobile-stepper-wrapper .stepper .open-steps.opened ::ng-deep ui-icon{transform:rotateX(-180deg)}.mobile-stepper-wrapper .stepper .progress-step{position:relative;width:40px;height:40px;margin-right:16px}.mobile-stepper-wrapper .step-list{position:absolute;width:100%;margin-top:4px;z-index:1;background:#fff;box-shadow:0 8px 24px 4px #00000014;border-bottom-right-radius:8px;border-bottom-left-radius:8px}.mobile-stepper-wrapper .overlay{position:fixed;width:100%;height:100%;left:0;top:0;z-index:-1;background:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme"] }, { kind: "component", type: i3.StepComponent, selector: "ui-step", inputs: ["label", "isVisited", "submitted", "icon", "index", "selected", "isLast", "selectedIndex", "disabled", "prevStepIsVisited", "mobileMode", "finalIcon", "showIconWhenSelected", "applicationTheme", "position", "htmlDescription", "boldLabel", "descriptionTpl", "labelTooltip", "alwaysShowIcon", "context"], outputs: ["stepSelected"] }, { kind: "component", type: i4.RadialProgressComponent, selector: "ui-radial-progress", inputs: ["size", "value", "total", "variant", "icon", "buttonTooltip", "companyColor", "applicationTheme"], outputs: ["buttonClicked"] }, { kind: "directive", type: i5.StepLineElementDirective, selector: "[stepLineElement]", inputs: ["stepLineElement", "position"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
125
131
  }
126
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: StepperComponent, decorators: [{
@@ -134,6 +140,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
134
140
  }] }, { type: i7.Observable, decorators: [{
135
141
  type: Inject,
136
142
  args: [IS_MOBILE_TOKEN]
143
+ }] }, { type: i8.Language, decorators: [{
144
+ type: Optional
145
+ }, {
146
+ type: Inject,
147
+ args: [CANOPY_UI_LANG]
137
148
  }] }], propDecorators: { setFirstStepAutoSelect: [{
138
149
  type: Input,
139
150
  args: ['firstStepAutoSelect']
@@ -157,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
157
168
  }], selectionChange: [{
158
169
  type: Output
159
170
  }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7QUFTNUUsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7Ozs7O09BTUc7SUFDSCxJQUFrQyxzQkFBc0IsQ0FBQyxLQUFjO1FBQ3JFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFJLENBQUM7SUFDSCxDQUFDO0lBQUEsQ0FBQztJQUNGOzs7OztPQUtHO0lBQ0gsSUFB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QUVTLGVBQWU7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs4R0F0SVUsZ0JBQWdCLGtCQThHTCxvQ0FBb0MsNkJBQ2hELGVBQWU7a0dBL0dkLGdCQUFnQixtYkNyQjdCLHEvSEFzRkE7OzJGRGpFYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsWUFBWSxtQkFHTCx1QkFBdUIsQ0FBQyxNQUFNOzswQkFnSDVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DOzswQkFDdkQsTUFBTTsyQkFBQyxlQUFlO3lDQXZHUyxzQkFBc0I7c0JBQXZELEtBQUs7dUJBQUMscUJBQXFCO2dCQVlmLEtBQUs7c0JBQWpCLEtBQUs7Z0JBZ0JzQixnQkFBZ0I7c0JBQTNDLEtBQUs7dUJBQUMsZUFBZTtnQkFhYixpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFTRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBUUcsU0FBUztzQkFBakIsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQVFHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdGVwLCBTdGVwcGVyUG9zaXRpb24gfSBmcm9tICcuL3N0ZXBwZXIubW9kZWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVNfTU9CSUxFX1RPS0VOIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2lzLW1vYmlsZSc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9sb2NhbGl6YXRpb24vbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSBcIi4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1zdGVwcGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0ZXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGVwcGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVyQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqXG4gICAqIEF1dG8gc2VsZWN0cyBmaXJzdCBzdGVwIGFzIHZpc2l0ZWRcbiAgICogRGVmYXVsdHMgdG8gdHJ1ZVxuICAgKlxuICAgKiBAbWVtYmVyb2YgU3RlcHBlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCdmaXJzdFN0ZXBBdXRvU2VsZWN0Jykgc2V0IHNldEZpcnN0U3RlcEF1dG9TZWxlY3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmZpcnN0U3RlcEF1dG9TZWxlY3QgPSB2YWx1ZTtcbiAgICBpZiAoIXRoaXMuZmlyc3RTdGVwQXV0b1NlbGVjdCkge1xuICAgICAgdGhpcy5pdGVtU3RlcHMgPSB0aGlzLml0ZW1TdGVwcy5tYXAoKHN0ZXAsIGkpID0+ICh7Li4uc3RlcCwgaXNWaXNpdGVkOiBpID09PSAwICYmIHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gLTEgPyBmYWxzZSA6IHN0ZXAuaXNWaXNpdGVkfSkpO1xuICAgIH1cbiAgfTtcbiAgLyoqXG4gICAqIElucHV0IHByb3BlcnR5IHRvIHNldCB0aGUgc3RlcHMgZm9yIHRoZSBzdGVwcGVyLlxuICAgKiBUaGUgZmlyc3Qgc3RlcCB3aWxsIGJlIG1hcmtlZCBhcyB2aXNpdGVkIGF1dG9tYXRpY2FsbHkuXG4gICAqXG4gICAqIEBtZW1iZXJvZiBTdGVwcGVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgc3RlcHMoaXRlbVN0ZXBzOiBTdGVwW10pIHtcbiAgICB0aGlzLml0ZW1TdGVwcyA9IGl0ZW1TdGVwcztcbiAgICBpZiAoaXRlbVN0ZXBzLmxlbmd0aCAmJiB0aGlzLmZpcnN0U3RlcEF1dG9TZWxlY3QpIHtcbiAgICAgIGNvbnN0IFtmaXJzdCwgLi4ub3RoZXJdID0gaXRlbVN0ZXBzO1xuICAgICAgZmlyc3QuaXNWaXNpdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXRlbVN0ZXBzID0gW2ZpcnN0LCAuLi5vdGhlcl07XG4gICAgfVxuXG4gIH1cblxuICAvKipcbiAgICogSW5wdXQgcHJvcGVydHkgdG8gc2V0IHRoZSBzZWxlY3RlZCBpbmRleCBvZiB0aGUgc3RlcHBlci5cbiAgICogRGVmYXVsdCB2YWx1ZSBpcyAwLlxuICAgKlxuICAgKiBAbWVtYmVyb2YgU3RlcHBlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCdzZWxlY3RlZEluZGV4Jykgc2V0IHNldFNlbGVjdGVkSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IHZhbHVlO1xuICAgIGlmICghdGhpcy5maXJzdFN0ZXBBdXRvU2VsZWN0KSB7XG4gICAgICB0aGlzLml0ZW1TdGVwcyA9IHRoaXMuaXRlbVN0ZXBzLm1hcCgoc3RlcCwgaSkgPT4gKHsuLi5zdGVwLCBpc1Zpc2l0ZWQ6IGkgPT09IDAgJiYgdGhpcy5zZWxlY3RlZEluZGV4ID09PSAtMSA/IGZhbHNlIDogc3RlcC5pc1Zpc2l0ZWR9KSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIElucHV0IHByb3BlcnR5IGluZGljYXRpbmcgd2hldGhlciB0aGUgZmluYWwgaWNvbiBzaG91bGQgYmUgZGlzcGxheWVkLlxuICAgKiBEZWZhdWx0IHZhbHVlIGlzIGZhbHNlLlxuICAgKlxuICAgKiBAbWVtYmVyb2YgU3RlcHBlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFzdFN0ZXBGaW5hbEljb24gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHRvIGJlIHVzZWRcbiAgICpcbiAgICogQHR5cGUge0xhbmd1YWdlfVxuICAgKiBAbWVtYmVyb2YgU3RlcHBlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFuZ3VhZ2UgPSBMYW5ndWFnZVNlcnZpY2UuZGVmYXVsdExhbmd1YWdlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIFN0ZXBwZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgbGFiZWwgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgbGFiZWwgaXMgdXNlZCB0byBwcm92aWRlIGFuIGFjY2Vzc2libGUgbmFtZSBmb3IgdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBTdGVwcGVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgc3RlcHBlciBwb3NpdGlvblxuICAgKlxuICAgKiBAdHlwZSB7U3RlcHBlclBvc2l0aW9ufVxuICAgKiBAbWVtYmVyb2YgU3RlcHBlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgcG9zaXRpb246IFN0ZXBwZXJQb3NpdGlvbiA9ICdob3Jpem9udGFsJztcblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIHJlcXVpcmVtZW50IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRoZXIgYW4gaW5wdXQgZmllbGQgaXMgcmVxdWlyZWQgZm9yIGZvcm0gc3VibWlzc2lvbi5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBTdGVwcGVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhUmVxdWlyZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IHNlbGVjdGVkSW5kZXg6IG51bWJlcjsgcHJldmlvdXNJbmRleDogbnVtYmVyOyBzdGVwOiBTdGVwIH0+KCk7XG5cbiAgcHJpdmF0ZSBpc09wZW5lZCA9IGZhbHNlO1xuICBwcml2YXRlIGZpcnN0U3RlcEF1dG9TZWxlY3QgPSB0cnVlO1xuICBwcm90ZWN0ZWQgaXRlbVN0ZXBzOiBTdGVwW10gPSBbXTtcbiAgcHJvdGVjdGVkIHByb2dyZXNzVmFsdWUgPSAwO1xuICBwcm90ZWN0ZWQgdHJhbnNsYXRpb25Db250ZXh0ID0gJ1NURVBQRVIuJztcbiAgcHJvdGVjdGVkIHNlbGVjdGVkSW5kZXggPSAwO1xuXG4gIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNPcGVuZWQ7XG4gIH1cblxuICBzZXQgaXNPcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc09wZW5lZCA9IHZhbHVlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lLFxuICAgIEBJbmplY3QoSVNfTU9CSUxFX1RPS0VOKSBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNNb2JpbGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG4gICkge1xuICAgIGlmIChkZWZhdWx0QXBwVGhlbWUpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25TZWxlY3QoY2hhbmdlZEluZGV4OiBudW1iZXIsIHN0ZXA6IFN0ZXApOiB2b2lkIHtcbiAgICBpZiAoIXN0ZXAuaXNWaXNpdGVkICYmIHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gY2hhbmdlZEluZGV4KSB7XG4gICAgICBzdGVwLmlzVmlzaXRlZCA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoeyBzZWxlY3RlZEluZGV4OiBjaGFuZ2VkSW5kZXgsIHByZXZpb3VzSW5kZXg6IHRoaXMuc2VsZWN0ZWRJbmRleCwgc3RlcCB9KTtcblxuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IGNoYW5nZWRJbmRleDtcbiAgICB0aGlzLm9uQ2xvc2VTdGVwTGlzdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNob3dTdGVwc1RvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNsb3NlU3RlcExpc3QoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdiBjbGFzcz1cInN0ZXBwZXItd3JhcHBlclwiIFtuZ0NsYXNzXT1cInBvc2l0aW9uXCIgW2F0dHIudGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiICpuZ0lmPVwiKHBvc2l0aW9uID09PSAnaG9yaXpvbnRhbCcgJiYgIShpc01vYmlsZSQgfCBhc3luYykpIHx8IChwb3NpdGlvbiA9PT0gJ3ZlcnRpY2FsJyk7IGVsc2UgbW9iaWxlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3RlcCBvZiBpdGVtU3RlcHM7IGluZGV4IGFzIGksIGxhc3QgYXMgaXNMYXN0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RlcFwiICNzdGVwRWxlbWVudD5cbiAgICAgICAgPHVpLXN0ZXBcbiAgICAgICAgICBbbGFiZWxdPVwic3RlcC5sYWJlbFwiXG4gICAgICAgICAgW2lzVmlzaXRlZF09XCJzdGVwLmlzVmlzaXRlZCFcIlxuICAgICAgICAgIFtpY29uXT1cInN0ZXAuaWNvbk5hbWVcIlxuICAgICAgICAgIFtpbmRleF09XCJpXCJcbiAgICAgICAgICBbc2VsZWN0ZWRdPVwiaSA9PT0gc2VsZWN0ZWRJbmRleFwiXG4gICAgICAgICAgW3NlbGVjdGVkSW5kZXhdPVwic2VsZWN0ZWRJbmRleFwiXG4gICAgICAgICAgW2lzTGFzdF09XCJpc0xhc3RcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJzdGVwLmRpc2FibGVkID8/IChpID4gc2VsZWN0ZWRJbmRleCArIDEgJiYgIXN0ZXAuaXNWaXNpdGVkKVwiXG4gICAgICAgICAgW3ByZXZTdGVwSXNWaXNpdGVkXT1cIml0ZW1TdGVwc1tpIC0gMV0/LmlzVmlzaXRlZCAmJiBzdGVwLmlzVmlzaXRlZFwiXG4gICAgICAgICAgW2ZpbmFsSWNvbl09XCJpc0xhc3QgPyBsYXN0U3RlcEZpbmFsSWNvbiA6IGZhbHNlXCJcbiAgICAgICAgICBbc2hvd0ljb25XaGVuU2VsZWN0ZWRdPVwiISFzdGVwLnNob3dJY29uV2hlblNlbGVjdGVkXCJcbiAgICAgICAgICAoc3RlcFNlbGVjdGVkKT1cIm9uU2VsZWN0KCRldmVudCwgc3RlcClcIlxuICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsICsgJy0tJyArIHN0ZXAubGFiZWxcIlxuICAgICAgICAgIFtodG1sRGVzY3JpcHRpb25dPVwic3RlcC5odG1sRGVzY3JpcHRpb24gPz8gW11cIlxuICAgICAgICAgIFtib2xkTGFiZWxdPVwiISFzdGVwLmJvbGRMYWJlbFwiXG4gICAgICAgICAgW3Bvc2l0aW9uXT1cInBvc2l0aW9uXCJcbiAgICAgICAgICBbZGVzY3JpcHRpb25UcGxdPVwic3RlcC5kZXNjcmlwdGlvblRwbFwiXG4gICAgICAgICAgW2xhYmVsVG9vbHRpcF09XCJzdGVwLmxhYmVsVG9vbHRpcFwiXG4gICAgICAgICAgW2Fsd2F5c1Nob3dJY29uXT1cIiEhc3RlcC5hbHdheXNTaG93SWNvblwiXG4gICAgICAgICAgW2NvbnRleHRdPVwic3RlcC5jb250ZXh0XCJcbiAgICAgICAgPjwvdWktc3RlcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cIiFpc0xhc3RcIiBjbGFzcz1cInNlcGFyYXRvci1saW5lXCIgW25nQ2xhc3NdPVwieyB2aXNpdGVkOiBzdGVwLmlzVmlzaXRlZCAmJiAhIXRoaXMuaXRlbVN0ZXBzW2kgKyAxXT8uaXNWaXNpdGVkIH1cIj5cbiAgICAgICAgPGRpdiBbc3RlcExpbmVFbGVtZW50XT1cInN0ZXBFbGVtZW50XCIgW3Bvc2l0aW9uXT1cInBvc2l0aW9uXCIgY2xhc3M9XCJsaW5lXCI+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPG5nLXRlbXBsYXRlICNtb2JpbGU+XG4gICAgPGRpdiBjbGFzcz1cIm1vYmlsZS1zdGVwcGVyLXdyYXBwZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1zdGVwXCI+XG4gICAgICAgICAgPHVpLXJhZGlhbC1wcm9ncmVzcyBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCIgW3ZhbHVlXT1cInNlbGVjdGVkSW5kZXggKyAxXCIgW3RvdGFsXT1cIml0ZW1TdGVwcy5sZW5ndGhcIj48L3VpLXJhZGlhbC1wcm9ncmVzcz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtaW5mb1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXJyZW50LXN0ZXBcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHNlbGVjdGVkSW5kZXggKyAxIH19L3t7IGl0ZW1TdGVwcy5sZW5ndGggfX0gPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+e3sgaXRlbVN0ZXBzW3NlbGVjdGVkSW5kZXhdLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZXh0LXN0ZXBcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbVN0ZXBzLmxlbmd0aCAhPT0gc2VsZWN0ZWRJbmRleCArIDEgZWxzZSBmaW5hbFN0ZXBcIj57eyAoKCdDT01NT04uTkVYVCcpIHwgdWlUcmFuc2xhdGUgOiBsYW5ndWFnZSkgKyAnOid9fSB7eyBpdGVtU3RlcHNbc2VsZWN0ZWRJbmRleCArIDFdLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNmaW5hbFN0ZXA+XG4gICAgICAgICAgICAgIDxzcGFuPnt7ICh0cmFuc2xhdGlvbkNvbnRleHQgKyAnRklOQUxfU1RFUCcpIHwgdWlUcmFuc2xhdGUgOiBsYW5ndWFnZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJvcGVuLXN0ZXBzXCIgKGNsaWNrKT1cInNob3dTdGVwc1RvZ2dsZSgpXCIgW25nQ2xhc3NdPVwieyBvcGVuZWQ6IGlzT3BlbiB9XCI+XG4gICAgICAgICAgPHVpLWljb24gW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiIFtzaXplXT1cIicyNCdcIiBbbmFtZV09XCJhcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgPyAnQXJyb3dfZG93bicgOiAnQXJyb3ctY2hldnJvbi1kb3duLWluLWxpbmUnXCI+PC91aS1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNPcGVuXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwLWxpc3RcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcFwiICpuZ0Zvcj1cImxldCBzdGVwIG9mIGl0ZW1TdGVwczsgaW5kZXggYXMgaSwgbGFzdCBhcyBpc0xhc3RcIj5cbiAgICAgICAgICAgIDx1aS1zdGVwXG4gICAgICAgICAgICAgIFtsYWJlbF09XCJzdGVwLmxhYmVsXCJcbiAgICAgICAgICAgICAgW2lzVmlzaXRlZF09XCJzdGVwLmlzVmlzaXRlZCFcIlxuICAgICAgICAgICAgICBbaWNvbl09XCJzdGVwLmljb25OYW1lXCJcbiAgICAgICAgICAgICAgW2luZGV4XT1cImlcIlxuICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwiaSA9PT0gc2VsZWN0ZWRJbmRleFwiXG4gICAgICAgICAgICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkSW5kZXhcIlxuICAgICAgICAgICAgICBbaXNMYXN0XT1cImlzTGFzdFwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzdGVwLmRpc2FibGVkID8/ICggaSA+IHNlbGVjdGVkSW5kZXggKyAxICYmICFzdGVwLmlzVmlzaXRlZClcIlxuICAgICAgICAgICAgICBbbW9iaWxlTW9kZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW2ZpbmFsSWNvbl09XCJpc0xhc3QgPyBsYXN0U3RlcEZpbmFsSWNvbiA6IGZhbHNlXCJcbiAgICAgICAgICAgICAgW3Nob3dJY29uV2hlblNlbGVjdGVkXT1cIiEhc3RlcC5zaG93SWNvbldoZW5TZWxlY3RlZFwiXG4gICAgICAgICAgICAgIChzdGVwU2VsZWN0ZWQpPVwib25TZWxlY3QoJGV2ZW50LCBzdGVwKVwiXG4gICAgICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCArICctLScgKyBzdGVwLmxhYmVsXCJcbiAgICAgICAgICAgID48L3VpLXN0ZXA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheVwiIChjbGljayk9XCJvbkNsb3NlU3RlcExpc3QoKVwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbjwvbmctY29udGFpbmVyPlxuIl19
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7OztBQVM3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCOzs7Ozs7T0FNRztJQUNILElBQWtDLHNCQUFzQixDQUFDLEtBQWM7UUFDckUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUksQ0FBQztJQUNILENBQUM7SUFBQSxDQUFDO0lBQ0Y7Ozs7O09BS0c7SUFDSCxJQUFhLEtBQUssQ0FBQyxTQUFpQjtRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDakQsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQztZQUNwQyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUVILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQTRCLGdCQUFnQixDQUFDLEtBQWE7UUFDeEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFJLENBQUM7SUFDSCxDQUFDO0lBNERELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFDNkUsZUFBaUMsRUFDaEUsU0FBOEIsRUFDbkIsT0FBaUI7UUFGRyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDaEUsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQXJFMUU7Ozs7O1dBS0c7UUFDTSxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFbkM7Ozs7O1dBS0c7UUFDTSxhQUFRLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQztRQUVwRDs7Ozs7O1dBTUc7UUFDTSxxQkFBZ0IsR0FBcUIsT0FBTyxDQUFDO1FBVXREOzs7OztXQUtHO1FBQ00sYUFBUSxHQUFvQixZQUFZLENBQUM7UUFFbEQ7Ozs7O1dBS0c7UUFDTSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVwQixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFnRSxDQUFDO1FBRXJHLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdkIsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIsdUJBQWtCLEdBQUcsVUFBVSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBZTFCLElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRVMsUUFBUSxDQUFDLFlBQW9CLEVBQUUsSUFBVTtRQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQzNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVwRyxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVTLGVBQWU7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVTLGVBQWU7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs4R0EzSVUsZ0JBQWdCLGtCQThHTCxvQ0FBb0MsNkJBQ2hELGVBQWUsYUFDSCxjQUFjO2tHQWhIekIsZ0JBQWdCLG1iQ3ZCN0IscS9IQXNGQTs7MkZEL0RhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxZQUFZLG1CQUdMLHVCQUF1QixDQUFDLE1BQU07OzBCQWdINUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQ0FBb0M7OzBCQUN2RCxNQUFNOzJCQUFDLGVBQWU7OzBCQUN0QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGNBQWM7eUNBeEdGLHNCQUFzQjtzQkFBdkQsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBWWYsS0FBSztzQkFBakIsS0FBSztnQkFnQnNCLGdCQUFnQjtzQkFBM0MsS0FBSzt1QkFBQyxlQUFlO2dCQWFiLGlCQUFpQjtzQkFBekIsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQVNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFRRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBUUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0ZXAsIFN0ZXBwZXJQb3NpdGlvbiB9IGZyb20gJy4vc3RlcHBlci5tb2RlbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJU19NT0JJTEVfVE9LRU4gfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvaXMtbW9iaWxlJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsXCI7XG5pbXBvcnQgeyBDQU5PUFlfVUlfTEFORyB9IGZyb20gJy4uLy4uL3Rva2Vucy9hcHAtbGFuZy50b2tlbic7XG5pbXBvcnQgeyBMYW5ndWFnZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLXN0ZXBwZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcHBlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0ZXBwZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFN0ZXBwZXJDb21wb25lbnQge1xuICAvKipcbiAgICpcbiAgICogQXV0byBzZWxlY3RzIGZpcnN0IHN0ZXAgYXMgdmlzaXRlZFxuICAgKiBEZWZhdWx0cyB0byB0cnVlXG4gICAqXG4gICAqIEBtZW1iZXJvZiBTdGVwcGVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoJ2ZpcnN0U3RlcEF1dG9TZWxlY3QnKSBzZXQgc2V0Rmlyc3RTdGVwQXV0b1NlbGVjdCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZmlyc3RTdGVwQXV0b1NlbGVjdCA9IHZhbHVlO1xuICAgIGlmICghdGhpcy5maXJzdFN0ZXBBdXRvU2VsZWN0KSB7XG4gICAgICB0aGlzLml0ZW1TdGVwcyA9IHRoaXMuaXRlbVN0ZXBzLm1hcCgoc3RlcCwgaSkgPT4gKHsuLi5zdGVwLCBpc1Zpc2l0ZWQ6IGkgPT09IDAgJiYgdGhpcy5zZWxlY3RlZEluZGV4ID09PSAtMSA/IGZhbHNlIDogc3RlcC5pc1Zpc2l0ZWR9KSk7XG4gICAgfVxuICB9O1xuICAvKipcbiAgICogSW5wdXQgcHJvcGVydHkgdG8gc2V0IHRoZSBzdGVwcyBmb3IgdGhlIHN0ZXBwZXIuXG4gICAqIFRoZSBmaXJzdCBzdGVwIHdpbGwgYmUgbWFya2VkIGFzIHZpc2l0ZWQgYXV0b21hdGljYWxseS5cbiAgICpcbiAgICogQG1lbWJlcm9mIFN0ZXBwZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNldCBzdGVwcyhpdGVtU3RlcHM6IFN0ZXBbXSkge1xuICAgIHRoaXMuaXRlbVN0ZXBzID0gaXRlbVN0ZXBzO1xuICAgIGlmIChpdGVtU3RlcHMubGVuZ3RoICYmIHRoaXMuZmlyc3RTdGVwQXV0b1NlbGVjdCkge1xuICAgICAgY29uc3QgW2ZpcnN0LCAuLi5vdGhlcl0gPSBpdGVtU3RlcHM7XG4gICAgICBmaXJzdC5pc1Zpc2l0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pdGVtU3RlcHMgPSBbZmlyc3QsIC4uLm90aGVyXTtcbiAgICB9XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBJbnB1dCBwcm9wZXJ0eSB0byBzZXQgdGhlIHNlbGVjdGVkIGluZGV4IG9mIHRoZSBzdGVwcGVyLlxuICAgKiBEZWZhdWx0IHZhbHVlIGlzIDAuXG4gICAqXG4gICAqIEBtZW1iZXJvZiBTdGVwcGVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoJ3NlbGVjdGVkSW5kZXgnKSBzZXQgc2V0U2VsZWN0ZWRJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gdmFsdWU7XG4gICAgaWYgKCF0aGlzLmZpcnN0U3RlcEF1dG9TZWxlY3QpIHtcbiAgICAgIHRoaXMuaXRlbVN0ZXBzID0gdGhpcy5pdGVtU3RlcHMubWFwKChzdGVwLCBpKSA9PiAoey4uLnN0ZXAsIGlzVmlzaXRlZDogaSA9PT0gMCAmJiB0aGlzLnNlbGVjdGVkSW5kZXggPT09IC0xID8gZmFsc2UgOiBzdGVwLmlzVmlzaXRlZH0pKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5wdXQgcHJvcGVydHkgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaW5hbCBpY29uIHNob3VsZCBiZSBkaXNwbGF5ZWQuXG4gICAqIERlZmF1bHQgdmFsdWUgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBtZW1iZXJvZiBTdGVwcGVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsYXN0U3RlcEZpbmFsSWNvbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFuZ3VhZ2UgdG8gYmUgdXNlZFxuICAgKlxuICAgKiBAdHlwZSB7TGFuZ3VhZ2V9XG4gICAqIEBtZW1iZXJvZiBTdGVwcGVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsYW5ndWFnZSA9IExhbmd1YWdlU2VydmljZS5kZWZhdWx0TGFuZ3VhZ2U7XG5cbiAgLyoqXG4gICAqXG4gICAqIERlZmluZXMgdGhlIGFwcGxpY2F0aW9uIHRoZW1lXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgU3RlcHBlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSBsYWJlbCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBsYWJlbCBpcyB1c2VkIHRvIHByb3ZpZGUgYW4gYWNjZXNzaWJsZSBuYW1lIGZvciB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIFN0ZXBwZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBzdGVwcGVyIHBvc2l0aW9uXG4gICAqXG4gICAqIEB0eXBlIHtTdGVwcGVyUG9zaXRpb259XG4gICAqIEBtZW1iZXJvZiBTdGVwcGVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBwb3NpdGlvbjogU3RlcHBlclBvc2l0aW9uID0gJ2hvcml6b250YWwnO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIFN0ZXBwZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFSZXF1aXJlZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgc2VsZWN0ZWRJbmRleDogbnVtYmVyOyBwcmV2aW91c0luZGV4OiBudW1iZXI7IHN0ZXA6IFN0ZXAgfT4oKTtcblxuICBwcml2YXRlIGlzT3BlbmVkID0gZmFsc2U7XG4gIHByaXZhdGUgZmlyc3RTdGVwQXV0b1NlbGVjdCA9IHRydWU7XG4gIHByb3RlY3RlZCBpdGVtU3RlcHM6IFN0ZXBbXSA9IFtdO1xuICBwcm90ZWN0ZWQgcHJvZ3Jlc3NWYWx1ZSA9IDA7XG4gIHByb3RlY3RlZCB0cmFuc2xhdGlvbkNvbnRleHQgPSAnU1RFUFBFUi4nO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRJbmRleCA9IDA7XG5cbiAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc09wZW5lZDtcbiAgfVxuXG4gIHNldCBpc09wZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzT3BlbmVkID0gdmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgQEluamVjdChJU19NT0JJTEVfVE9LRU4pIHByb3RlY3RlZCByZWFkb25seSBpc01vYmlsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChDQU5PUFlfVUlfTEFORykgcHJvdGVjdGVkIHJlYWRvbmx5IGFwcExhbmc6IExhbmd1YWdlLFxuICApIHtcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuXG4gICAgaWYgKGFwcExhbmcpIHtcbiAgICAgIHRoaXMubGFuZ3VhZ2UgPSBhcHBMYW5nO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvblNlbGVjdChjaGFuZ2VkSW5kZXg6IG51bWJlciwgc3RlcDogU3RlcCk6IHZvaWQge1xuICAgIGlmICghc3RlcC5pc1Zpc2l0ZWQgJiYgdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBjaGFuZ2VkSW5kZXgpIHtcbiAgICAgIHN0ZXAuaXNWaXNpdGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh7IHNlbGVjdGVkSW5kZXg6IGNoYW5nZWRJbmRleCwgcHJldmlvdXNJbmRleDogdGhpcy5zZWxlY3RlZEluZGV4LCBzdGVwIH0pO1xuXG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gY2hhbmdlZEluZGV4O1xuICAgIHRoaXMub25DbG9zZVN0ZXBMaXN0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2hvd1N0ZXBzVG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2xvc2VTdGVwTGlzdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwic3RlcHBlci13cmFwcGVyXCIgW25nQ2xhc3NdPVwicG9zaXRpb25cIiBbYXR0ci50aGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCIgKm5nSWY9XCIocG9zaXRpb24gPT09ICdob3Jpem9udGFsJyAmJiAhKGlzTW9iaWxlJCB8IGFzeW5jKSkgfHwgKHBvc2l0aW9uID09PSAndmVydGljYWwnKTsgZWxzZSBtb2JpbGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdGVwIG9mIGl0ZW1TdGVwczsgaW5kZXggYXMgaSwgbGFzdCBhcyBpc0xhc3RcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGVwXCIgI3N0ZXBFbGVtZW50PlxuICAgICAgICA8dWktc3RlcFxuICAgICAgICAgIFtsYWJlbF09XCJzdGVwLmxhYmVsXCJcbiAgICAgICAgICBbaXNWaXNpdGVkXT1cInN0ZXAuaXNWaXNpdGVkIVwiXG4gICAgICAgICAgW2ljb25dPVwic3RlcC5pY29uTmFtZVwiXG4gICAgICAgICAgW2luZGV4XT1cImlcIlxuICAgICAgICAgIFtzZWxlY3RlZF09XCJpID09PSBzZWxlY3RlZEluZGV4XCJcbiAgICAgICAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZEluZGV4XCJcbiAgICAgICAgICBbaXNMYXN0XT1cImlzTGFzdFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInN0ZXAuZGlzYWJsZWQgPz8gKGkgPiBzZWxlY3RlZEluZGV4ICsgMSAmJiAhc3RlcC5pc1Zpc2l0ZWQpXCJcbiAgICAgICAgICBbcHJldlN0ZXBJc1Zpc2l0ZWRdPVwiaXRlbVN0ZXBzW2kgLSAxXT8uaXNWaXNpdGVkICYmIHN0ZXAuaXNWaXNpdGVkXCJcbiAgICAgICAgICBbZmluYWxJY29uXT1cImlzTGFzdCA/IGxhc3RTdGVwRmluYWxJY29uIDogZmFsc2VcIlxuICAgICAgICAgIFtzaG93SWNvbldoZW5TZWxlY3RlZF09XCIhIXN0ZXAuc2hvd0ljb25XaGVuU2VsZWN0ZWRcIlxuICAgICAgICAgIChzdGVwU2VsZWN0ZWQpPVwib25TZWxlY3QoJGV2ZW50LCBzdGVwKVwiXG4gICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgKyAnLS0nICsgc3RlcC5sYWJlbFwiXG4gICAgICAgICAgW2h0bWxEZXNjcmlwdGlvbl09XCJzdGVwLmh0bWxEZXNjcmlwdGlvbiA/PyBbXVwiXG4gICAgICAgICAgW2JvbGRMYWJlbF09XCIhIXN0ZXAuYm9sZExhYmVsXCJcbiAgICAgICAgICBbcG9zaXRpb25dPVwicG9zaXRpb25cIlxuICAgICAgICAgIFtkZXNjcmlwdGlvblRwbF09XCJzdGVwLmRlc2NyaXB0aW9uVHBsXCJcbiAgICAgICAgICBbbGFiZWxUb29sdGlwXT1cInN0ZXAubGFiZWxUb29sdGlwXCJcbiAgICAgICAgICBbYWx3YXlzU2hvd0ljb25dPVwiISFzdGVwLmFsd2F5c1Nob3dJY29uXCJcbiAgICAgICAgICBbY29udGV4dF09XCJzdGVwLmNvbnRleHRcIlxuICAgICAgICA+PC91aS1zdGVwPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWlzTGFzdFwiIGNsYXNzPVwic2VwYXJhdG9yLWxpbmVcIiBbbmdDbGFzc109XCJ7IHZpc2l0ZWQ6IHN0ZXAuaXNWaXNpdGVkICYmICEhdGhpcy5pdGVtU3RlcHNbaSArIDFdPy5pc1Zpc2l0ZWQgfVwiPlxuICAgICAgICA8ZGl2IFtzdGVwTGluZUVsZW1lbnRdPVwic3RlcEVsZW1lbnRcIiBbcG9zaXRpb25dPVwicG9zaXRpb25cIiBjbGFzcz1cImxpbmVcIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8bmctdGVtcGxhdGUgI21vYmlsZT5cbiAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLXN0ZXBwZXItd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLXN0ZXBcIj5cbiAgICAgICAgICA8dWktcmFkaWFsLXByb2dyZXNzIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIiBbdmFsdWVdPVwic2VsZWN0ZWRJbmRleCArIDFcIiBbdG90YWxdPVwiaXRlbVN0ZXBzLmxlbmd0aFwiPjwvdWktcmFkaWFsLXByb2dyZXNzPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcC1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImN1cnJlbnQtc3RlcFwiPlxuICAgICAgICAgICAgPHNwYW4+e3sgc2VsZWN0ZWRJbmRleCArIDEgfX0ve3sgaXRlbVN0ZXBzLmxlbmd0aCB9fSA8L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57eyBpdGVtU3RlcHNbc2VsZWN0ZWRJbmRleF0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5leHQtc3RlcFwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtU3RlcHMubGVuZ3RoICE9PSBzZWxlY3RlZEluZGV4ICsgMSBlbHNlIGZpbmFsU3RlcFwiPnt7ICgoJ0NPTU1PTi5ORVhUJykgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlKSArICc6J319IHt7IGl0ZW1TdGVwc1tzZWxlY3RlZEluZGV4ICsgMV0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2ZpbmFsU3RlcD5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgKHRyYW5zbGF0aW9uQ29udGV4dCArICdGSU5BTF9TVEVQJykgfCB1aVRyYW5zbGF0ZSA6IGxhbmd1YWdlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm9wZW4tc3RlcHNcIiAoY2xpY2spPVwic2hvd1N0ZXBzVG9nZ2xlKClcIiBbbmdDbGFzc109XCJ7IG9wZW5lZDogaXNPcGVuIH1cIj5cbiAgICAgICAgICA8dWktaWNvbiBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCIgW3NpemVdPVwiJzI0J1wiIFtuYW1lXT1cImFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyA/ICdBcnJvd19kb3duJyA6ICdBcnJvdy1jaGV2cm9uLWRvd24taW4tbGluZSdcIj48L3VpLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJpc09wZW5cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtbGlzdFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwXCIgKm5nRm9yPVwibGV0IHN0ZXAgb2YgaXRlbVN0ZXBzOyBpbmRleCBhcyBpLCBsYXN0IGFzIGlzTGFzdFwiPlxuICAgICAgICAgICAgPHVpLXN0ZXBcbiAgICAgICAgICAgICAgW2xhYmVsXT1cInN0ZXAubGFiZWxcIlxuICAgICAgICAgICAgICBbaXNWaXNpdGVkXT1cInN0ZXAuaXNWaXNpdGVkIVwiXG4gICAgICAgICAgICAgIFtpY29uXT1cInN0ZXAuaWNvbk5hbWVcIlxuICAgICAgICAgICAgICBbaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpID09PSBzZWxlY3RlZEluZGV4XCJcbiAgICAgICAgICAgICAgW3NlbGVjdGVkSW5kZXhdPVwic2VsZWN0ZWRJbmRleFwiXG4gICAgICAgICAgICAgIFtpc0xhc3RdPVwiaXNMYXN0XCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN0ZXAuZGlzYWJsZWQgPz8gKCBpID4gc2VsZWN0ZWRJbmRleCArIDEgJiYgIXN0ZXAuaXNWaXNpdGVkKVwiXG4gICAgICAgICAgICAgIFttb2JpbGVNb2RlXT1cInRydWVcIlxuICAgICAgICAgICAgICBbZmluYWxJY29uXT1cImlzTGFzdCA/IGxhc3RTdGVwRmluYWxJY29uIDogZmFsc2VcIlxuICAgICAgICAgICAgICBbc2hvd0ljb25XaGVuU2VsZWN0ZWRdPVwiISFzdGVwLnNob3dJY29uV2hlblNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgKHN0ZXBTZWxlY3RlZCk9XCJvblNlbGVjdCgkZXZlbnQsIHN0ZXApXCJcbiAgICAgICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsICsgJy0tJyArIHN0ZXAubGFiZWxcIlxuICAgICAgICAgICAgPjwvdWktc3RlcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5XCIgKGNsaWNrKT1cIm9uQ2xvc2VTdGVwTGlzdCgpXCI+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuPC9uZy1jb250YWluZXI+XG4iXX0=