@ardium-ui/ui 3.3.0-alpha1 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/esm2022/lib/_internal/focusable-component.mjs +5 -5
  2. package/esm2022/lib/_internal/form-field-component.mjs +5 -27
  3. package/esm2022/lib/_internal/item-storages/simple-item-storage.mjs +5 -2
  4. package/esm2022/lib/_internal/ngmodel-component.mjs +57 -5
  5. package/esm2022/lib/_internal/selectable-list-component.mjs +10 -12
  6. package/esm2022/lib/checkbox/checkbox.component.mjs +2 -3
  7. package/esm2022/lib/checkbox-list/checkbox-list.component.mjs +2 -4
  8. package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +3 -3
  9. package/esm2022/lib/file-inputs/file-input-base.mjs +3 -4
  10. package/esm2022/lib/form-field/form-field.component.mjs +7 -10
  11. package/esm2022/lib/form-field/form-field.defaults.mjs +2 -1
  12. package/esm2022/lib/form-field/form-field.module.mjs +25 -4
  13. package/esm2022/lib/form-field/horizontal-form-field.component.mjs +33 -0
  14. package/esm2022/lib/form-field/index.mjs +2 -1
  15. package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +12 -7
  16. package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +20 -9
  17. package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +51 -28
  18. package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +1 -1
  19. package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +1 -1
  20. package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +3 -3
  21. package/esm2022/lib/inputs/input/input.component.mjs +3 -3
  22. package/esm2022/lib/inputs/number-input/number-input.component.mjs +3 -3
  23. package/esm2022/lib/inputs/password-input/password-input.component.mjs +3 -3
  24. package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +3 -3
  25. package/esm2022/lib/radio/radio/radio.component.mjs +77 -6
  26. package/esm2022/lib/radio/radio/radio.defaults.mjs +3 -3
  27. package/esm2022/lib/radio/radio-group.component.mjs +3 -3
  28. package/esm2022/lib/segment/segment.component.mjs +26 -4
  29. package/esm2022/lib/select/select.component.mjs +4 -4
  30. package/esm2022/lib/slider/range-slider/range-slider.component.mjs +2 -1
  31. package/esm2022/lib/table/table.component.mjs +1 -1
  32. package/fesm2022/ardium-ui-ui.mjs +321 -122
  33. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  34. package/lib/_internal/focusable-component.d.ts +1 -1
  35. package/lib/_internal/form-field-component.d.ts +4 -13
  36. package/lib/_internal/item-storages/simple-item-storage.d.ts +1 -0
  37. package/lib/_internal/ngmodel-component.d.ts +16 -3
  38. package/lib/_internal/selectable-list-component.d.ts +3 -4
  39. package/lib/checkbox/checkbox.component.d.ts +1 -2
  40. package/lib/checkbox-list/checkbox-list.component.d.ts +1 -2
  41. package/lib/file-inputs/file-input-base.d.ts +1 -2
  42. package/lib/form-field/form-field.component.d.ts +3 -3
  43. package/lib/form-field/form-field.defaults.d.ts +1 -0
  44. package/lib/form-field/form-field.module.d.ts +8 -7
  45. package/lib/form-field/horizontal-form-field.component.d.ts +19 -0
  46. package/lib/form-field/index.d.ts +1 -0
  47. package/lib/form-field-frame/form-field-frame.component.d.ts +3 -2
  48. package/lib/inputs/digit-input/digit-input.component.d.ts +5 -2
  49. package/lib/inputs/digit-input/digit-input.model.d.ts +0 -1
  50. package/lib/inputs/digit-input/digit-input.types.d.ts +1 -1
  51. package/lib/inputs/digit-input/digit-input.utils.d.ts +1 -0
  52. package/lib/radio/radio/radio.component.d.ts +41 -3
  53. package/lib/radio/radio/radio.defaults.d.ts +2 -2
  54. package/lib/radio/radio-group.component.d.ts +1 -2
  55. package/package.json +1 -1
  56. package/prebuilt-themes/default/chips.css.map +1 -1
  57. package/prebuilt-themes/default/core.css +2 -0
  58. package/prebuilt-themes/default/core.css.map +1 -1
  59. package/prebuilt-themes/default/form-field-frame.css +10 -4
  60. package/prebuilt-themes/default/form-field-frame.css.map +1 -1
  61. package/prebuilt-themes/default/form-field.css +74 -9
  62. package/prebuilt-themes/default/form-field.css.map +1 -1
  63. package/prebuilt-themes/default/inputs/digit-input.css +14 -3
  64. package/prebuilt-themes/default/inputs/digit-input.css.map +1 -1
  65. package/prebuilt-themes/default/inputs/file-input.css +0 -5
  66. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  67. package/prebuilt-themes/default/inputs/input.css +0 -5
  68. package/prebuilt-themes/default/inputs/input.css.map +1 -1
  69. package/prebuilt-themes/default/inputs/number-input.css +6 -3
  70. package/prebuilt-themes/default/inputs/number-input.css.map +1 -1
  71. package/prebuilt-themes/default/inputs/simple-input.css +0 -5
  72. package/prebuilt-themes/default/inputs/simple-input.css.map +1 -1
  73. package/prebuilt-themes/default/segment.css +6 -3
  74. package/prebuilt-themes/default/segment.css.map +1 -1
  75. package/themes/default/_mixins.scss +6 -4
  76. package/themes/default/core.scss +3 -0
  77. package/themes/default/form-field-frame.scss +5 -1
  78. package/themes/default/form-field.scss +63 -2
  79. package/themes/default/inputs/digit-input.scss +11 -0
  80. package/themes/default/inputs/file-input.scss +0 -6
  81. package/themes/default/inputs/input.scss +1 -7
  82. package/themes/default/inputs/simple-input.scss +1 -8
@@ -1,11 +1,10 @@
1
1
  import { ChangeDetectorRef, Directive, HostBinding, HostListener, Input, computed, inject, input, output, signal, } from '@angular/core';
2
2
  import { coerceArrayProperty, coerceBooleanProperty, coerceNumberProperty } from '@ardium-ui/devkit';
3
- import { TakeChance as Random } from 'take-chance';
3
+ import { _FormFieldComponentBase, _formFieldComponentDefaults } from './form-field-component';
4
4
  import { SimpleItemStorage } from './item-storages/simple-item-storage';
5
- import { _NgModelComponentBase, _ngModelComponentDefaults } from './ngmodel-component';
6
5
  import * as i0 from "@angular/core";
7
6
  export const _selectableListComponentDefaults = {
8
- ..._ngModelComponentDefaults,
7
+ ..._formFieldComponentDefaults,
9
8
  valueFrom: 'value',
10
9
  labelFrom: 'label',
11
10
  disabledFrom: 'disabled',
@@ -15,12 +14,11 @@ export const _selectableListComponentDefaults = {
15
14
  invertDisabled: false,
16
15
  maxSelectedItems: undefined,
17
16
  };
18
- export class _SelectableListComponentBase extends _NgModelComponentBase {
17
+ export class _SelectableListComponentBase extends _FormFieldComponentBase {
19
18
  constructor() {
20
19
  super(...arguments);
21
20
  //! public constants
22
21
  this.itemStorage = new SimpleItemStorage(this);
23
- this.htmlId = Random.id();
24
22
  this.DEFAULTS = this._DEFAULTS;
25
23
  this._cd = inject(ChangeDetectorRef);
26
24
  //! binding-related inputs
@@ -84,7 +82,7 @@ export class _SelectableListComponentBase extends _NgModelComponentBase {
84
82
  return this.touched();
85
83
  }
86
84
  _emitChange() {
87
- const value = this.itemStorage.value();
85
+ const value = this.singleselectable() ? this.itemStorage.value()[0] : this.itemStorage.value();
88
86
  this._onChangeRegistered?.(value);
89
87
  this.changeEvent.emit(value);
90
88
  this.valueChange.emit(value);
@@ -200,7 +198,7 @@ export class _SelectableListComponentBase extends _NgModelComponentBase {
200
198
  }
201
199
  }
202
200
  _toggleHighlightedItems(event) {
203
- if (!this.isFocused)
201
+ if (!this.isFocused())
204
202
  return;
205
203
  event.preventDefault();
206
204
  const highlightedItems = this.highlightedItems();
@@ -212,28 +210,28 @@ export class _SelectableListComponentBase extends _NgModelComponentBase {
212
210
  }
213
211
  }
214
212
  _highlightPrevious(event) {
215
- if (!this.isFocused)
213
+ if (!this.isFocused())
216
214
  return;
217
215
  event.preventDefault();
218
216
  this.isMouseBeingUsed.set(false);
219
217
  this.itemStorage.highlightNextItem(-1, event.shiftKey);
220
218
  }
221
219
  _highlightNext(event) {
222
- if (!this.isFocused)
220
+ if (!this.isFocused())
223
221
  return;
224
222
  event.preventDefault();
225
223
  this.isMouseBeingUsed.set(false);
226
224
  this.itemStorage.highlightNextItem(+1, event.shiftKey);
227
225
  }
228
226
  _highlightFirst(event) {
229
- if (!this.isFocused)
227
+ if (!this.isFocused())
230
228
  return;
231
229
  event.preventDefault();
232
230
  this.isMouseBeingUsed.set(false);
233
231
  this.itemStorage.highlightFirstItem();
234
232
  }
235
233
  _highlightLast(event) {
236
- if (!this.isFocused)
234
+ if (!this.isFocused())
237
235
  return;
238
236
  event.preventDefault();
239
237
  this.isMouseBeingUsed.set(false);
@@ -270,4 +268,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
270
268
  type: HostListener,
271
269
  args: ['keydown', ['$event']]
272
270
  }] } });
273
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvX2ludGVybmFsL3NlbGVjdGFibGUtbGlzdC1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxJQUFJLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUduRCxPQUFPLEVBQUUsaUJBQWlCLEVBQXlCLE1BQU0scUNBQXFDLENBQUM7QUFDL0YsT0FBTyxFQUFFLHFCQUFxQixFQUE2Qix5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVlsSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBcUM7SUFDaEYsR0FBRyx5QkFBeUI7SUFDNUIsU0FBUyxFQUFFLE9BQU87SUFDbEIsU0FBUyxFQUFFLE9BQU87SUFDbEIsWUFBWSxFQUFFLFVBQVU7SUFDeEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsY0FBYyxFQUFFLEtBQUs7SUFDckIsZ0JBQWdCLEVBQUUsU0FBUztDQUM1QixDQUFDO0FBR0YsTUFBTSxPQUFnQiw0QkFDcEIsU0FBUSxxQkFBcUI7SUFGL0I7O1FBT0Usb0JBQW9CO1FBQ1gsZ0JBQVcsR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLFdBQU0sR0FBRyxNQUFNLENBQUMsRUFB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V0FBVzt1QkFBQyx5QkFBeUI7Z0JBMEJsQyxxQkFBcUI7c0JBRHhCLFdBQVc7dUJBQUMsbUJBQW1CO2dCQW1ENUIsS0FBSztzQkFEUixLQUFLO2dCQTRDTixXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVztnQkF1QnpCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXlQcm9wZXJ0eSwgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcbmltcG9ydCB7IFRha2VDaGFuY2UgYXMgUmFuZG9tIH0gZnJvbSAndGFrZS1jaGFuY2UnO1xuaW1wb3J0IHsgQXJkT3B0aW9uU2ltcGxlLCBDb21wYXJlV2l0aEZuLCBPcHRpb25Db250ZXh0IH0gZnJvbSAnLi4vdHlwZXMvaXRlbS1zdG9yYWdlLnR5cGVzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vdHlwZXMvdXRpbGl0eS50eXBlcyc7XG5pbXBvcnQgeyBTaW1wbGVJdGVtU3RvcmFnZSwgU2ltcGxlSXRlbVN0b3JhZ2VIb3N0IH0gZnJvbSAnLi9pdGVtLXN0b3JhZ2VzL3NpbXBsZS1pdGVtLXN0b3JhZ2UnO1xuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlLCBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzLCBfbmdNb2RlbENvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi9uZ21vZGVsLWNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgX1NlbGVjdGFibGVMaXN0Q29tcG9uZW50RGVmYXVsdHMgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzIHtcbiAgdmFsdWVGcm9tOiBzdHJpbmc7XG4gIGxhYmVsRnJvbTogc3RyaW5nO1xuICBkaXNhYmxlZEZyb206IHN0cmluZztcbiAgY29tcGFyZVdpdGg6IE51bGxhYmxlPENvbXBhcmVXaXRoRm4+O1xuICBtdWx0aXNlbGVjdGFibGU6IGJvb2xlYW47XG4gIHJlcXVpcmVWYWx1ZTogYm9vbGVhbjtcbiAgaW52ZXJ0RGlzYWJsZWQ6IGJvb2xlYW47XG4gIG1heFNlbGVjdGVkSXRlbXM6IE51bGxhYmxlPG51bWJlcj47XG59XG5leHBvcnQgY29uc3QgX3NlbGVjdGFibGVMaXN0Q29tcG9uZW50RGVmYXVsdHM6IF9TZWxlY3RhYmxlTGlzdENvbXBvbmVudERlZmF1bHRzID0ge1xuICAuLi5fbmdNb2RlbENvbXBvbmVudERlZmF1bHRzLFxuICB2YWx1ZUZyb206ICd2YWx1ZScsXG4gIGxhYmVsRnJvbTogJ2xhYmVsJyxcbiAgZGlzYWJsZWRGcm9tOiAnZGlzYWJsZWQnLFxuICBjb21wYXJlV2l0aDogdW5kZWZpbmVkLFxuICBtdWx0aXNlbGVjdGFibGU6IGZhbHNlLFxuICByZXF1aXJlVmFsdWU6IGZhbHNlLFxuICBpbnZlcnREaXNhYmxlZDogZmFsc2UsXG4gIG1heFNlbGVjdGVkSXRlbXM6IHVuZGVmaW5lZCxcbn07XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9TZWxlY3RhYmxlTGlzdENvbXBvbmVudEJhc2VcbiAgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudEJhc2VcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgU2ltcGxlSXRlbVN0b3JhZ2VIb3N0XG57XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBfREVGQVVMVFMhOiBfU2VsZWN0YWJsZUxpc3RDb21wb25lbnREZWZhdWx0cztcblxuICAvLyEgcHVibGljIGNvbnN0YW50c1xuICByZWFkb25seSBpdGVtU3RvcmFnZSA9IG5ldyBTaW1wbGVJdGVtU3RvcmFnZSh0aGlzKTtcbiAgcmVhZG9ubHkgaHRtbElkID0gUmFuZG9tLmlkKCk7XG4gIHJlYWRvbmx5IGVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcmVhZG9ubHkgREVGQVVMVFMgPSB0aGlzLl9ERUZBVUxUUztcblxuICBhYnN0cmFjdCByZWFkb25seSBfY29tcG9uZW50SWQ6IHN0cmluZztcbiAgYWJzdHJhY3QgcmVhZG9ubHkgX2NvbXBvbmVudE5hbWU6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgLy8hIGJpbmRpbmctcmVsYXRlZCBpbnB1dHNcbiAgcmVhZG9ubHkgdmFsdWVGcm9tID0gaW5wdXQ8c3RyaW5nPih0aGlzLl9ERUZBVUxUUy52YWx1ZUZyb20pO1xuICByZWFkb25seSBsYWJlbEZyb20gPSBpbnB1dDxzdHJpbmc+KHRoaXMuX0RFRkFVTFRTLmxhYmVsRnJvbSk7XG4gIHJlYWRvbmx5IGRpc2FibGVkRnJvbSA9IGlucHV0PHN0cmluZz4odGhpcy5fREVGQVVMVFMuZGlzYWJsZWRGcm9tKTtcbiAgcmVhZG9ubHkgY29tcGFyZVdpdGggPSBpbnB1dDxOdWxsYWJsZTxDb21wYXJlV2l0aEZuPj4odGhpcy5fREVGQVVMVFMuY29tcGFyZVdpdGgpO1xuXG4gIC8vISBpdGVtcyBzZXR0ZXIvZ2V0dGVyXG4gIEBJbnB1dCgpXG4gIGdldCBpdGVtcygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbVN0b3JhZ2UuaXRlbXMoKTtcbiAgfVxuICBzZXQgaXRlbXModmFsdWU6IGFueSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHZhbHVlID0gY29lcmNlQXJyYXlQcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICB0aGlzLml0ZW1TdG9yYWdlLnNldEl0ZW1zKHZhbHVlKTtcbiAgfVxuXG4gIC8vISBtdWx0aXNlbGVjdGFibGVcbiAgcmVhZG9ubHkgbXVsdGlzZWxlY3RhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5tdWx0aXNlbGVjdGFibGUsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIubXVsdGlwbGUnKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFyZC1tdWx0aXNlbGVjdCcpXG4gIGdldCBfbXVsdGlzZWxlY3RhYmxlSG9zdEF0dHJpYnV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tdWx0aXNlbGVjdGFibGUoKTtcbiAgfVxuXG4gIHJlYWRvbmx5IHNpbmdsZXNlbGVjdGFibGUgPSBjb21wdXRlZCgoKSA9PiAhdGhpcy5tdWx0aXNlbGVjdGFibGUoKSk7XG5cbiAgLy8hIHJlcXVpcmUgdmFsdWVcbiAgcmVhZG9ubHkgcmVxdWlyZVZhbHVlID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5yZXF1aXJlVmFsdWUsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICByZWFkb25seSBpc1ZhbHVlUmVxdWlyZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlcXVpcmVWYWx1ZSgpIHx8ICF0aGlzLm11bHRpc2VsZWN0YWJsZSgpKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFyZC1yZXF1aXJlLXZhbHVlJylcbiAgZ2V0IF9yZXF1aXJlVmFsdWVIb3N0QXR0cmlidXRlKCkge1xuICAgIHJldHVybiB0aGlzLnJlcXVpcmVWYWx1ZSgpO1xuICB9XG5cbiAgLy8hIGNvZXJjZWQgcHJvcGVydGllc1xuICByZWFkb25seSBpbnZlcnREaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIGFueT4odGhpcy5fREVGQVVMVFMuaW52ZXJ0RGlzYWJsZWQsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcbiAgcmVhZG9ubHkgbWF4U2VsZWN0ZWRJdGVtcyA9IGlucHV0PE51bGxhYmxlPG51bWJlcj4sIGFueT4odGhpcy5fREVGQVVMVFMubWF4U2VsZWN0ZWRJdGVtcywge1xuICAgIHRyYW5zZm9ybTogdiA9PiBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2LCB1bmRlZmluZWQpLFxuICB9KTtcblxuICAvLyEgY29udHJvbCB2YWx1ZSBhY2Nlc3NvclxuICAvL292ZXJyaWRlIHRoZSB3cml0ZVZhbHVlIGFuZCBzZXREaXNhYmxlZFN0YXRlIGRlZmluZWQgaW4gX05nTW9kZWxDb21wb25lbnRcbiAgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZShzdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQuc2V0KHN0YXRlKTtcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICB3cml0ZVZhbHVlKG5nTW9kZWw6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtU3RvcmFnZS53cml0ZVZhbHVlKG5nTW9kZWwpO1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8hIGNoYW5nZSAmIHRvdWNoIGV2ZW50IGVtaXR0ZXJzXG4gIHJlYWRvbmx5IHRvdWNoZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXJkLXRvdWNoZWQnKVxuICBnZXQgX3RvdWNoZWRIb3N0QXR0cmlidXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRvdWNoZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZW1pdENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaXRlbVN0b3JhZ2UudmFsdWUoKTtcbiAgICB0aGlzLl9vbkNoYW5nZVJlZ2lzdGVyZWQ/Lih2YWx1ZSk7XG4gICAgdGhpcy5jaGFuZ2VFdmVudC5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG4gIHByb3RlY3RlZCBfb25Ub3VjaGVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvdWNoZWQoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5fb25Ub3VjaGVkUmVnaXN0ZXJlZD8uKCk7XG4gICAgdGhpcy50b3VjaGVkLnNldCh0cnVlKTtcbiAgfVxuXG4gIC8vISBmb2N1cyAmIGJsdXIgaGFuZGxlcnNcbiAgcHJpdmF0ZSByZWFkb25seSBsYXN0Qmx1clRpbWVzdGFtcCA9IHNpZ25hbDxOdWxsYWJsZTxudW1iZXI+Pih1bmRlZmluZWQpO1xuICBvdmVycmlkZSBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgc3VwZXIub25Gb2N1cyhldmVudCk7XG5cbiAgICBjb25zdCBsYnQgPSB0aGlzLmxhc3RCbHVyVGltZXN0YW1wKCk7XG4gICAgaWYgKHRoaXMudG91Y2hlZCgpIHx8ICFsYnQgfHwgbGJ0ICsgMSA8IERhdGUubm93KCkpIHJldHVybjtcbiAgICB0aGlzLmxhc3RCbHVyVGltZXN0YW1wLnNldChudWxsKTtcblxuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICB9XG4gIG92ZXJyaWRlIG9uQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIHN1cGVyLm9uQmx1cihldmVudCk7XG5cbiAgICBpZiAoIXRoaXMudG91Y2hlZCgpKSB0aGlzLmxhc3RCbHVyVGltZXN0YW1wLnNldChEYXRlLm5vdygpKTtcbiAgfVxuXG4gIC8vISBnZXR0ZXJzXG4gIHJlYWRvbmx5IGhpZ2hsaWdodGVkSXRlbXMgPSBjb21wdXRlZDxBcmRPcHRpb25TaW1wbGVbXT4oKCkgPT4gdGhpcy5pdGVtU3RvcmFnZS5oaWdobGlnaHRlZEl0ZW1zKCkpO1xuICByZWFkb25seSBmaXJzdEhpZ2hsaWdodGVkSXRlbSA9IGNvbXB1dGVkPE51bGxhYmxlPEFyZE9wdGlvblNpbXBsZT4+KCgpID0+IHRoaXMuaGlnaGxpZ2h0ZWRJdGVtcygpPy5maXJzdCgpKTtcbiAgcmVhZG9ubHkgaXNJdGVtTGltaXRSZWFjaGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pdGVtU3RvcmFnZS5pc0l0ZW1MaW1pdFJlYWNoZWQoKSk7XG5cbiAgLy8hIGNvbnRleHQgcHJvdmlkZXJzXG4gIGdldE9wdGlvbkNvbnRleHQoaXRlbTogQXJkT3B0aW9uU2ltcGxlKTogT3B0aW9uQ29udGV4dDxBcmRPcHRpb25TaW1wbGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgJGltcGxpY2l0OiBpdGVtLFxuICAgICAgaXRlbSxcbiAgICAgIGl0ZW1EYXRhOiBpdGVtLml0ZW1EYXRhKCksXG4gICAgfTtcbiAgfVxuXG4gIC8vISB2YWx1ZSBpbnB1dCAmIG91dHB1dFxuICBASW5wdXQoKVxuICBzZXQgdmFsdWUobmV3VmFsdWU6IGFueSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShuZXdWYWx1ZSkpIG5ld1ZhbHVlID0gY29lcmNlQXJyYXlQcm9wZXJ0eShuZXdWYWx1ZSk7XG4gICAgdGhpcy53cml0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgfVxuICByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG91dHB1dDxhbnlbXT4oKTtcblxuICAvLyEgb3V0cHV0IGV2ZW50c1xuICByZWFkb25seSBjaGFuZ2VFdmVudCA9IG91dHB1dDxhbnlbXT4oeyBhbGlhczogJ2NoYW5nZScgfSk7XG4gIHJlYWRvbmx5IGFkZEV2ZW50ID0gb3V0cHV0PGFueVtdPih7IGFsaWFzOiAnYWRkJyB9KTtcbiAgcmVhZG9ubHkgcmVtb3ZlRXZlbnQgPSBvdXRwdXQ8YW55W10+KHsgYWxpYXM6ICdyZW1vdmUnIH0pO1xuXG4gIC8vISBpdGVtIHNlbGVjdGlvbiBoYW5kbGVyc1xuICB0b2dnbGVJdGVtKGl0ZW06IEFyZE9wdGlvblNpbXBsZSk6IHZvaWQge1xuICAgIGlmIChpdGVtLnNlbGVjdGVkKCkpIHtcbiAgICAgIGlmICh0aGlzLnNpbmdsZXNlbGVjdGFibGUoKSkgcmV0dXJuO1xuXG4gICAgICB0aGlzLnVuc2VsZWN0SXRlbShpdGVtKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RJdGVtKGl0ZW0pO1xuICB9XG4gIHNlbGVjdEl0ZW0oLi4uaXRlbXM6IEFyZE9wdGlvblNpbXBsZVtdKTogdm9pZCB7XG4gICAgY29uc3QgW3NlbGVjdGVkLCB1bnNlbGVjdGVkXSA9IHRoaXMuaXRlbVN0b3JhZ2Uuc2VsZWN0SXRlbSguLi5pdGVtcyk7XG5cbiAgICBpZiAodW5zZWxlY3RlZC5sZW5ndGggPiAwKSB0aGlzLnJlbW92ZUV2ZW50LmVtaXQodW5zZWxlY3RlZCk7XG5cbiAgICBpZiAoc2VsZWN0ZWQubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5hZGRFdmVudC5lbWl0KHNlbGVjdGVkKTtcbiAgICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgICB9XG4gIH1cbiAgdW5zZWxlY3RJdGVtKC4uLml0ZW1zOiBBcmRPcHRpb25TaW1wbGVbXSk6IHZvaWQge1xuICAgIGNvbnN0IHVuc2VsZWN0ZWQgPSB0aGlzLml0ZW1TdG9yYWdlLnVuc2VsZWN0SXRlbSguLi5pdGVtcyk7XG5cbiAgICBpZiAodW5zZWxlY3RlZC5sZW5ndGggPiAwKSB0aGlzLnJlbW92ZUV2ZW50LmVtaXQodW5zZWxlY3RlZCk7XG5cbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XG4gIH1cblxuICAvLyEgaGlnaGxpZ2gtcmVsYXRlZFxuXG4gIHJlYWRvbmx5IGlzTW91c2VCZWluZ1VzZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBASG9zdExpc3RlbmVyKCdtb3VzZW1vdmUnKVxuICBvbk1vdXNlTW92ZSgpIHtcbiAgICB0aGlzLmlzTW91c2VCZWluZ1VzZWQuc2V0KHRydWUpO1xuICB9XG4gIG9uSXRlbU1vdXNlRW50ZXIob3B0aW9uOiBBcmRPcHRpb25TaW1wbGUsIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzTW91c2VCZWluZ1VzZWQpIHJldHVybjtcbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodFNpbmdsZUl0ZW0ob3B0aW9uKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuICBvbkl0ZW1Nb3VzZUxlYXZlKG9wdGlvbjogQXJkT3B0aW9uU2ltcGxlLCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc01vdXNlQmVpbmdVc2VkKSByZXR1cm47XG4gICAgdGhpcy5pdGVtU3RvcmFnZS51bmhpZ2hsaWdodEl0ZW0ob3B0aW9uKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIC8vISBjbGljayBoYW5kbGVyc1xuICBvbkl0ZW1DbGljayhvcHRpb246IEFyZE9wdGlvblNpbXBsZSwgZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnRvZ2dsZUl0ZW0ob3B0aW9uKTtcbiAgfVxuXG4gIC8vISBrZXkgcHJlc3MgaGFuZGxlcnNcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmNvZGUpIHtcbiAgICAgIGNhc2UgJ1NwYWNlJzpcbiAgICAgIGNhc2UgJ0VudGVyJzoge1xuICAgICAgICB0aGlzLl90b2dnbGVIaWdobGlnaHRlZEl0ZW1zKGV2ZW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6IHtcbiAgICAgICAgdGhpcy5faGlnaGxpZ2h0TmV4dChldmVudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6IHtcbiAgICAgICAgdGhpcy5faGlnaGxpZ2h0UHJldmlvdXMoZXZlbnQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjYXNlICdIb21lJzoge1xuICAgICAgICB0aGlzLl9oaWdobGlnaHRGaXJzdChldmVudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0VuZCc6IHtcbiAgICAgICAgdGhpcy5faGlnaGxpZ2h0TGFzdChldmVudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0tleUEnOiB7XG4gICAgICAgIGlmIChldmVudC5jdHJsS2V5KSB7XG4gICAgICAgICAgdGhpcy5faGlnaGxpZ2h0QWxsKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX3RvZ2dsZUhpZ2hsaWdodGVkSXRlbXMoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKSByZXR1cm47XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgY29uc3QgaGlnaGxpZ2h0ZWRJdGVtcyA9IHRoaXMuaGlnaGxpZ2h0ZWRJdGVtcygpO1xuXG4gICAgaWYgKGhpZ2hsaWdodGVkSXRlbXMuZXZlcnkoaXRlbSA9PiBpdGVtLnNlbGVjdGVkKSkge1xuICAgICAgdGhpcy51bnNlbGVjdEl0ZW0oLi4uaGlnaGxpZ2h0ZWRJdGVtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0SXRlbSguLi5oaWdobGlnaHRlZEl0ZW1zKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0UHJldmlvdXMoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKSByZXR1cm47XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuaXNNb3VzZUJlaW5nVXNlZC5zZXQoZmFsc2UpO1xuXG4gICAgdGhpcy5pdGVtU3RvcmFnZS5oaWdobGlnaHROZXh0SXRlbSgtMSwgZXZlbnQuc2hpZnRLZXkpO1xuICB9XG4gIHByaXZhdGUgX2hpZ2hsaWdodE5leHQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKSByZXR1cm47XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuaXNNb3VzZUJlaW5nVXNlZC5zZXQoZmFsc2UpO1xuXG4gICAgdGhpcy5pdGVtU3RvcmFnZS5oaWdobGlnaHROZXh0SXRlbSgrMSwgZXZlbnQuc2hpZnRLZXkpO1xuICB9XG4gIHByaXZhdGUgX2hpZ2hsaWdodEZpcnN0KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRm9jdXNlZCkgcmV0dXJuO1xuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmlzTW91c2VCZWluZ1VzZWQuc2V0KGZhbHNlKTtcblxuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0Rmlyc3RJdGVtKCk7XG4gIH1cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0TGFzdChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0ZvY3VzZWQpIHJldHVybjtcblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5pc01vdXNlQmVpbmdVc2VkLnNldChmYWxzZSk7XG5cbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodExhc3RJdGVtKCk7XG4gIH1cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0QWxsSXRlbXMoKTtcbiAgfVxufVxuIl19
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvX2ludGVybmFsL3NlbGVjdGFibGUtbGlzdC1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdyRyxPQUFPLEVBQUUsdUJBQXVCLEVBQStCLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0gsT0FBTyxFQUFFLGlCQUFpQixFQUF5QixNQUFNLHFDQUFxQyxDQUFDOztBQVkvRixNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBcUM7SUFDaEYsR0FBRywyQkFBMkI7SUFDOUIsU0FBUyxFQUFFLE9BQU87SUFDbEIsU0FBUyxFQUFFLE9BQU87SUFDbEIsWUFBWSxFQUFFLFVBQVU7SUFDeEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsY0FBYyxFQUFFLEtBQUs7SUFDckIsZ0JBQWdCLEVBQUUsU0FBUztDQUM1QixDQUFDO0FBR0YsTUFBTSxPQUFnQiw0QkFDcEIsU0FBUSx1QkFBdUI7SUFGakM7O1FBT0Usb0JBQW9CO1FBQ1gsZ0JBQVcsR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFDLGFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBS2xCLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztR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Qyx1QkFBdUI7Z0JBYWhDLDBCQUEwQjtzQkFEN0IsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBMEJsQyxxQkFBcUI7c0JBRHhCLFdBQVc7dUJBQUMsbUJBQW1CO2dCQW1ENUIsS0FBSztzQkFEUixLQUFLO2dCQTRDTixXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVztnQkF1QnpCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXlQcm9wZXJ0eSwgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcbmltcG9ydCB7IEFyZE9wdGlvblNpbXBsZSwgQ29tcGFyZVdpdGhGbiwgT3B0aW9uQ29udGV4dCB9IGZyb20gJy4uL3R5cGVzL2l0ZW0tc3RvcmFnZS50eXBlcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uL3R5cGVzL3V0aWxpdHkudHlwZXMnO1xuaW1wb3J0IHsgX0Zvcm1GaWVsZENvbXBvbmVudEJhc2UsIF9Gb3JtRmllbGRDb21wb25lbnREZWZhdWx0cywgX2Zvcm1GaWVsZENvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi9mb3JtLWZpZWxkLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaW1wbGVJdGVtU3RvcmFnZSwgU2ltcGxlSXRlbVN0b3JhZ2VIb3N0IH0gZnJvbSAnLi9pdGVtLXN0b3JhZ2VzL3NpbXBsZS1pdGVtLXN0b3JhZ2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIF9TZWxlY3RhYmxlTGlzdENvbXBvbmVudERlZmF1bHRzIGV4dGVuZHMgX0Zvcm1GaWVsZENvbXBvbmVudERlZmF1bHRzIHtcbiAgdmFsdWVGcm9tOiBzdHJpbmc7XG4gIGxhYmVsRnJvbTogc3RyaW5nO1xuICBkaXNhYmxlZEZyb206IHN0cmluZztcbiAgY29tcGFyZVdpdGg6IE51bGxhYmxlPENvbXBhcmVXaXRoRm4+O1xuICBtdWx0aXNlbGVjdGFibGU6IGJvb2xlYW47XG4gIHJlcXVpcmVWYWx1ZTogYm9vbGVhbjtcbiAgaW52ZXJ0RGlzYWJsZWQ6IGJvb2xlYW47XG4gIG1heFNlbGVjdGVkSXRlbXM6IE51bGxhYmxlPG51bWJlcj47XG59XG5leHBvcnQgY29uc3QgX3NlbGVjdGFibGVMaXN0Q29tcG9uZW50RGVmYXVsdHM6IF9TZWxlY3RhYmxlTGlzdENvbXBvbmVudERlZmF1bHRzID0ge1xuICAuLi5fZm9ybUZpZWxkQ29tcG9uZW50RGVmYXVsdHMsXG4gIHZhbHVlRnJvbTogJ3ZhbHVlJyxcbiAgbGFiZWxGcm9tOiAnbGFiZWwnLFxuICBkaXNhYmxlZEZyb206ICdkaXNhYmxlZCcsXG4gIGNvbXBhcmVXaXRoOiB1bmRlZmluZWQsXG4gIG11bHRpc2VsZWN0YWJsZTogZmFsc2UsXG4gIHJlcXVpcmVWYWx1ZTogZmFsc2UsXG4gIGludmVydERpc2FibGVkOiBmYWxzZSxcbiAgbWF4U2VsZWN0ZWRJdGVtczogdW5kZWZpbmVkLFxufTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgX1NlbGVjdGFibGVMaXN0Q29tcG9uZW50QmFzZVxuICBleHRlbmRzIF9Gb3JtRmllbGRDb21wb25lbnRCYXNlXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFNpbXBsZUl0ZW1TdG9yYWdlSG9zdFxue1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX0RFRkFVTFRTITogX1NlbGVjdGFibGVMaXN0Q29tcG9uZW50RGVmYXVsdHM7XG5cbiAgLy8hIHB1YmxpYyBjb25zdGFudHNcbiAgcmVhZG9ubHkgaXRlbVN0b3JhZ2UgPSBuZXcgU2ltcGxlSXRlbVN0b3JhZ2UodGhpcyk7XG4gIHJlYWRvbmx5IGVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcmVhZG9ubHkgREVGQVVMVFMgPSB0aGlzLl9ERUZBVUxUUztcblxuICBhYnN0cmFjdCByZWFkb25seSBfY29tcG9uZW50SWQ6IHN0cmluZztcbiAgYWJzdHJhY3QgcmVhZG9ubHkgX2NvbXBvbmVudE5hbWU6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jZCA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgLy8hIGJpbmRpbmctcmVsYXRlZCBpbnB1dHNcbiAgcmVhZG9ubHkgdmFsdWVGcm9tID0gaW5wdXQ8c3RyaW5nPih0aGlzLl9ERUZBVUxUUy52YWx1ZUZyb20pO1xuICByZWFkb25seSBsYWJlbEZyb20gPSBpbnB1dDxzdHJpbmc+KHRoaXMuX0RFRkFVTFRTLmxhYmVsRnJvbSk7XG4gIHJlYWRvbmx5IGRpc2FibGVkRnJvbSA9IGlucHV0PHN0cmluZz4odGhpcy5fREVGQVVMVFMuZGlzYWJsZWRGcm9tKTtcbiAgcmVhZG9ubHkgY29tcGFyZVdpdGggPSBpbnB1dDxOdWxsYWJsZTxDb21wYXJlV2l0aEZuPj4odGhpcy5fREVGQVVMVFMuY29tcGFyZVdpdGgpO1xuXG4gIC8vISBpdGVtcyBzZXR0ZXIvZ2V0dGVyXG4gIEBJbnB1dCgpXG4gIGdldCBpdGVtcygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbVN0b3JhZ2UuaXRlbXMoKTtcbiAgfVxuICBzZXQgaXRlbXModmFsdWU6IGFueSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHZhbHVlID0gY29lcmNlQXJyYXlQcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICB0aGlzLml0ZW1TdG9yYWdlLnNldEl0ZW1zKHZhbHVlKTtcbiAgfVxuXG4gIC8vISBtdWx0aXNlbGVjdGFibGVcbiAgcmVhZG9ubHkgbXVsdGlzZWxlY3RhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5tdWx0aXNlbGVjdGFibGUsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIubXVsdGlwbGUnKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFyZC1tdWx0aXNlbGVjdCcpXG4gIGdldCBfbXVsdGlzZWxlY3RhYmxlSG9zdEF0dHJpYnV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tdWx0aXNlbGVjdGFibGUoKTtcbiAgfVxuXG4gIHJlYWRvbmx5IHNpbmdsZXNlbGVjdGFibGUgPSBjb21wdXRlZCgoKSA9PiAhdGhpcy5tdWx0aXNlbGVjdGFibGUoKSk7XG5cbiAgLy8hIHJlcXVpcmUgdmFsdWVcbiAgcmVhZG9ubHkgcmVxdWlyZVZhbHVlID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5yZXF1aXJlVmFsdWUsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICByZWFkb25seSBpc1ZhbHVlUmVxdWlyZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlcXVpcmVWYWx1ZSgpIHx8ICF0aGlzLm11bHRpc2VsZWN0YWJsZSgpKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFyZC1yZXF1aXJlLXZhbHVlJylcbiAgZ2V0IF9yZXF1aXJlVmFsdWVIb3N0QXR0cmlidXRlKCkge1xuICAgIHJldHVybiB0aGlzLnJlcXVpcmVWYWx1ZSgpO1xuICB9XG5cbiAgLy8hIGNvZXJjZWQgcHJvcGVydGllc1xuICByZWFkb25seSBpbnZlcnREaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIGFueT4odGhpcy5fREVGQVVMVFMuaW52ZXJ0RGlzYWJsZWQsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcbiAgcmVhZG9ubHkgbWF4U2VsZWN0ZWRJdGVtcyA9IGlucHV0PE51bGxhYmxlPG51bWJlcj4sIGFueT4odGhpcy5fREVGQVVMVFMubWF4U2VsZWN0ZWRJdGVtcywge1xuICAgIHRyYW5zZm9ybTogdiA9PiBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2LCB1bmRlZmluZWQpLFxuICB9KTtcblxuICAvLyEgY29udHJvbCB2YWx1ZSBhY2Nlc3NvclxuICAvL292ZXJyaWRlIHRoZSB3cml0ZVZhbHVlIGFuZCBzZXREaXNhYmxlZFN0YXRlIGRlZmluZWQgaW4gX05nTW9kZWxDb21wb25lbnRcbiAgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZShzdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQuc2V0KHN0YXRlKTtcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuICB3cml0ZVZhbHVlKG5nTW9kZWw6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtU3RvcmFnZS53cml0ZVZhbHVlKG5nTW9kZWwpO1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8hIGNoYW5nZSAmIHRvdWNoIGV2ZW50IGVtaXR0ZXJzXG4gIHJlYWRvbmx5IHRvdWNoZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXJkLXRvdWNoZWQnKVxuICBnZXQgX3RvdWNoZWRIb3N0QXR0cmlidXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRvdWNoZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZW1pdENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2luZ2xlc2VsZWN0YWJsZSgpID8gdGhpcy5pdGVtU3RvcmFnZS52YWx1ZSgpWzBdIDogdGhpcy5pdGVtU3RvcmFnZS52YWx1ZSgpO1xuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHZhbHVlKTtcbiAgICB0aGlzLmNoYW5nZUV2ZW50LmVtaXQodmFsdWUpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cbiAgcHJvdGVjdGVkIF9vblRvdWNoZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudG91Y2hlZCgpKSByZXR1cm47XG5cbiAgICB0aGlzLl9vblRvdWNoZWRSZWdpc3RlcmVkPy4oKTtcbiAgICB0aGlzLnRvdWNoZWQuc2V0KHRydWUpO1xuICB9XG5cbiAgLy8hIGZvY3VzICYgYmx1ciBoYW5kbGVyc1xuICBwcml2YXRlIHJlYWRvbmx5IGxhc3RCbHVyVGltZXN0YW1wID0gc2lnbmFsPE51bGxhYmxlPG51bWJlcj4+KHVuZGVmaW5lZCk7XG4gIG92ZXJyaWRlIG9uRm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICBzdXBlci5vbkZvY3VzKGV2ZW50KTtcblxuICAgIGNvbnN0IGxidCA9IHRoaXMubGFzdEJsdXJUaW1lc3RhbXAoKTtcbiAgICBpZiAodGhpcy50b3VjaGVkKCkgfHwgIWxidCB8fCBsYnQgKyAxIDwgRGF0ZS5ub3coKSkgcmV0dXJuO1xuICAgIHRoaXMubGFzdEJsdXJUaW1lc3RhbXAuc2V0KG51bGwpO1xuXG4gICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gIH1cbiAgb3ZlcnJpZGUgb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgc3VwZXIub25CbHVyKGV2ZW50KTtcblxuICAgIGlmICghdGhpcy50b3VjaGVkKCkpIHRoaXMubGFzdEJsdXJUaW1lc3RhbXAuc2V0KERhdGUubm93KCkpO1xuICB9XG5cbiAgLy8hIGdldHRlcnNcbiAgcmVhZG9ubHkgaGlnaGxpZ2h0ZWRJdGVtcyA9IGNvbXB1dGVkPEFyZE9wdGlvblNpbXBsZVtdPigoKSA9PiB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodGVkSXRlbXMoKSk7XG4gIHJlYWRvbmx5IGZpcnN0SGlnaGxpZ2h0ZWRJdGVtID0gY29tcHV0ZWQ8TnVsbGFibGU8QXJkT3B0aW9uU2ltcGxlPj4oKCkgPT4gdGhpcy5oaWdobGlnaHRlZEl0ZW1zKCk/LmZpcnN0KCkpO1xuICByZWFkb25seSBpc0l0ZW1MaW1pdFJlYWNoZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLml0ZW1TdG9yYWdlLmlzSXRlbUxpbWl0UmVhY2hlZCgpKTtcblxuICAvLyEgY29udGV4dCBwcm92aWRlcnNcbiAgZ2V0T3B0aW9uQ29udGV4dChpdGVtOiBBcmRPcHRpb25TaW1wbGUpOiBPcHRpb25Db250ZXh0PEFyZE9wdGlvblNpbXBsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICAkaW1wbGljaXQ6IGl0ZW0sXG4gICAgICBpdGVtLFxuICAgICAgaXRlbURhdGE6IGl0ZW0uaXRlbURhdGEoKSxcbiAgICB9O1xuICB9XG5cbiAgLy8hIHZhbHVlIGlucHV0ICYgb3V0cHV0XG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZShuZXdWYWx1ZTogYW55KSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KG5ld1ZhbHVlKSkgbmV3VmFsdWUgPSBjb2VyY2VBcnJheVByb3BlcnR5KG5ld1ZhbHVlKTtcbiAgICB0aGlzLndyaXRlVmFsdWUobmV3VmFsdWUpO1xuICB9XG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gb3V0cHV0PGFueVtdPigpO1xuXG4gIC8vISBvdXRwdXQgZXZlbnRzXG4gIHJlYWRvbmx5IGNoYW5nZUV2ZW50ID0gb3V0cHV0PGFueVtdPih7IGFsaWFzOiAnY2hhbmdlJyB9KTtcbiAgcmVhZG9ubHkgYWRkRXZlbnQgPSBvdXRwdXQ8YW55W10+KHsgYWxpYXM6ICdhZGQnIH0pO1xuICByZWFkb25seSByZW1vdmVFdmVudCA9IG91dHB1dDxhbnlbXT4oeyBhbGlhczogJ3JlbW92ZScgfSk7XG5cbiAgLy8hIGl0ZW0gc2VsZWN0aW9uIGhhbmRsZXJzXG4gIHRvZ2dsZUl0ZW0oaXRlbTogQXJkT3B0aW9uU2ltcGxlKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0uc2VsZWN0ZWQoKSkge1xuICAgICAgaWYgKHRoaXMuc2luZ2xlc2VsZWN0YWJsZSgpKSByZXR1cm47XG5cbiAgICAgIHRoaXMudW5zZWxlY3RJdGVtKGl0ZW0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdEl0ZW0oaXRlbSk7XG4gIH1cbiAgc2VsZWN0SXRlbSguLi5pdGVtczogQXJkT3B0aW9uU2ltcGxlW10pOiB2b2lkIHtcbiAgICBjb25zdCBbc2VsZWN0ZWQsIHVuc2VsZWN0ZWRdID0gdGhpcy5pdGVtU3RvcmFnZS5zZWxlY3RJdGVtKC4uLml0ZW1zKTtcblxuICAgIGlmICh1bnNlbGVjdGVkLmxlbmd0aCA+IDApIHRoaXMucmVtb3ZlRXZlbnQuZW1pdCh1bnNlbGVjdGVkKTtcblxuICAgIGlmIChzZWxlY3RlZC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmFkZEV2ZW50LmVtaXQoc2VsZWN0ZWQpO1xuICAgICAgdGhpcy5fZW1pdENoYW5nZSgpO1xuICAgIH1cbiAgfVxuICB1bnNlbGVjdEl0ZW0oLi4uaXRlbXM6IEFyZE9wdGlvblNpbXBsZVtdKTogdm9pZCB7XG4gICAgY29uc3QgdW5zZWxlY3RlZCA9IHRoaXMuaXRlbVN0b3JhZ2UudW5zZWxlY3RJdGVtKC4uLml0ZW1zKTtcblxuICAgIGlmICh1bnNlbGVjdGVkLmxlbmd0aCA+IDApIHRoaXMucmVtb3ZlRXZlbnQuZW1pdCh1bnNlbGVjdGVkKTtcblxuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgfVxuXG4gIC8vISBoaWdobGlnaC1yZWxhdGVkXG5cbiAgcmVhZG9ubHkgaXNNb3VzZUJlaW5nVXNlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbW92ZScpXG4gIG9uTW91c2VNb3ZlKCkge1xuICAgIHRoaXMuaXNNb3VzZUJlaW5nVXNlZC5zZXQodHJ1ZSk7XG4gIH1cbiAgb25JdGVtTW91c2VFbnRlcihvcHRpb246IEFyZE9wdGlvblNpbXBsZSwgZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNNb3VzZUJlaW5nVXNlZCkgcmV0dXJuO1xuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0U2luZ2xlSXRlbShvcHRpb24pO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG4gIG9uSXRlbU1vdXNlTGVhdmUob3B0aW9uOiBBcmRPcHRpb25TaW1wbGUsIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzTW91c2VCZWluZ1VzZWQpIHJldHVybjtcbiAgICB0aGlzLml0ZW1TdG9yYWdlLnVuaGlnaGxpZ2h0SXRlbShvcHRpb24pO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgLy8hIGNsaWNrIGhhbmRsZXJzXG4gIG9uSXRlbUNsaWNrKG9wdGlvbjogQXJkT3B0aW9uU2ltcGxlLCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMudG9nZ2xlSXRlbShvcHRpb24pO1xuICB9XG5cbiAgLy8hIGtleSBwcmVzcyBoYW5kbGVyc1xuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQuY29kZSkge1xuICAgICAgY2FzZSAnU3BhY2UnOlxuICAgICAgY2FzZSAnRW50ZXInOiB7XG4gICAgICAgIHRoaXMuX3RvZ2dsZUhpZ2hsaWdodGVkSXRlbXMoZXZlbnQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjYXNlICdBcnJvd1JpZ2h0Jzoge1xuICAgICAgICB0aGlzLl9oaWdobGlnaHROZXh0KGV2ZW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY2FzZSAnQXJyb3dMZWZ0Jzoge1xuICAgICAgICB0aGlzLl9oaWdobGlnaHRQcmV2aW91cyhldmVudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0hvbWUnOiB7XG4gICAgICAgIHRoaXMuX2hpZ2hsaWdodEZpcnN0KGV2ZW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY2FzZSAnRW5kJzoge1xuICAgICAgICB0aGlzLl9oaWdobGlnaHRMYXN0KGV2ZW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY2FzZSAnS2V5QSc6IHtcbiAgICAgICAgaWYgKGV2ZW50LmN0cmxLZXkpIHtcbiAgICAgICAgICB0aGlzLl9oaWdobGlnaHRBbGwoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfdG9nZ2xlSGlnaGxpZ2h0ZWRJdGVtcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0ZvY3VzZWQoKSkgcmV0dXJuO1xuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IGhpZ2hsaWdodGVkSXRlbXMgPSB0aGlzLmhpZ2hsaWdodGVkSXRlbXMoKTtcblxuICAgIGlmIChoaWdobGlnaHRlZEl0ZW1zLmV2ZXJ5KGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCkpIHtcbiAgICAgIHRoaXMudW5zZWxlY3RJdGVtKC4uLmhpZ2hsaWdodGVkSXRlbXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdEl0ZW0oLi4uaGlnaGxpZ2h0ZWRJdGVtcyk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX2hpZ2hsaWdodFByZXZpb3VzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRm9jdXNlZCgpKSByZXR1cm47XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuaXNNb3VzZUJlaW5nVXNlZC5zZXQoZmFsc2UpO1xuXG4gICAgdGhpcy5pdGVtU3RvcmFnZS5oaWdobGlnaHROZXh0SXRlbSgtMSwgZXZlbnQuc2hpZnRLZXkpO1xuICB9XG4gIHByaXZhdGUgX2hpZ2hsaWdodE5leHQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKCkpIHJldHVybjtcblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5pc01vdXNlQmVpbmdVc2VkLnNldChmYWxzZSk7XG5cbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodE5leHRJdGVtKCsxLCBldmVudC5zaGlmdEtleSk7XG4gIH1cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0Rmlyc3QoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKCkpIHJldHVybjtcblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5pc01vdXNlQmVpbmdVc2VkLnNldChmYWxzZSk7XG5cbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodEZpcnN0SXRlbSgpO1xuICB9XG4gIHByaXZhdGUgX2hpZ2hsaWdodExhc3QoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKCkpIHJldHVybjtcblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5pc01vdXNlQmVpbmdVc2VkLnNldChmYWxzZSk7XG5cbiAgICB0aGlzLml0ZW1TdG9yYWdlLmhpZ2hsaWdodExhc3RJdGVtKCk7XG4gIH1cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuaXRlbVN0b3JhZ2UuaGlnaGxpZ2h0QWxsSXRlbXMoKTtcbiAgfVxufVxuIl19
@@ -9,7 +9,6 @@ import * as i1 from "@angular/common";
9
9
  export class ArdiumCheckboxComponent extends _BooleanComponentBase {
10
10
  constructor(defaults) {
11
11
  super(defaults);
12
- this.htmlId = input('');
13
12
  //! appearance
14
13
  this.color = input(this._DEFAULTS.color);
15
14
  this.unselectedColor = input(this._DEFAULTS.unselectedColor);
@@ -33,7 +32,7 @@ export class ArdiumCheckboxComponent extends _BooleanComponentBase {
33
32
  this._emitChange();
34
33
  }
35
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumCheckboxComponent, deps: [{ token: ARD_CHECKBOX_DEFAULTS }], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ArdiumCheckboxComponent, selector: "ard-checkbox", inputs: { htmlId: { classPropertyName: "htmlId", publicName: "htmlId", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, unselectedColor: { classPropertyName: "unselectedColor", publicName: "unselectedColor", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { state: "stateChange" }, providers: [
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ArdiumCheckboxComponent, selector: "ard-checkbox", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, unselectedColor: { classPropertyName: "unselectedColor", publicName: "unselectedColor", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { state: "stateChange" }, providers: [
37
36
  {
38
37
  provide: NG_VALUE_ACCESSOR,
39
38
  useExisting: forwardRef(() => ArdiumCheckboxComponent),
@@ -54,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
54
53
  type: Inject,
55
54
  args: [ARD_CHECKBOX_DEFAULTS]
56
55
  }] }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUF1QixNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBZ0JqRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEscUJBQXFCO0lBRWhFLFlBQTJDLFFBQTZCO1FBQ3RFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUdULFdBQU0sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFFcEMsY0FBYztRQUNMLFVBQUssR0FBRyxLQUFLLENBQXVCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUQsb0JBQWUsR0FBRyxLQUFLLENBQXVCLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFOUUsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDakMsQ0FBQyxhQUFhLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLHdCQUF3QixJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQzFILENBQUM7UUFTTyxVQUFLLEdBQUcsS0FBSyxDQUFnQixhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFuQmhFLENBQUM7SUFZRCw4REFBOEQ7SUFDOUQsSUFBYSxTQUFTLENBQUMsQ0FBTTtRQUMzQixNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBSUQsZ0JBQWdCO0lBQ2hCLFdBQVc7UUFDVCxJQUFJLFFBQVEsR0FBa0IsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUN2RCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDOUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7K0dBbkNVLHVCQUF1QixrQkFFZCxxQkFBcUI7bUdBRjlCLHVCQUF1Qix1bEJBUnZCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ3BCSCw0akJBa0JBOzs0RkRJYSx1QkFBdUI7a0JBZG5DLFNBQVM7K0JBQ0UsY0FBYyxpQkFHVCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs7MEJBSVksTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uLCBjb21wdXRlZCwgZm9yd2FyZFJlZiwgaW5wdXQsIG1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xyXG5pbXBvcnQgeyBTaW1wbGVDb21wb25lbnRDb2xvciB9IGZyb20gJy4uL3R5cGVzL2NvbG9ycy50eXBlcyc7XHJcbmltcG9ydCB7IF9Cb29sZWFuQ29tcG9uZW50QmFzZSB9IGZyb20gJy4vLi4vX2ludGVybmFsL2Jvb2xlYW4tY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVJEX0NIRUNLQk9YX0RFRkFVTFRTLCBBcmRDaGVja2JveERlZmF1bHRzIH0gZnJvbSAnLi9jaGVja2JveC5kZWZhdWx0cyc7XHJcbmltcG9ydCB7IENoZWNrYm94U3RhdGUgfSBmcm9tICcuL2NoZWNrYm94LnR5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXJkLWNoZWNrYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFyZGl1bUNoZWNrYm94Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcmRpdW1DaGVja2JveENvbXBvbmVudCBleHRlbmRzIF9Cb29sZWFuQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX0RFRkFVTFRTITogQXJkQ2hlY2tib3hEZWZhdWx0cztcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFSRF9DSEVDS0JPWF9ERUZBVUxUUykgZGVmYXVsdHM6IEFyZENoZWNrYm94RGVmYXVsdHMpIHtcclxuICAgIHN1cGVyKGRlZmF1bHRzKTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IGh0bWxJZCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cclxuICAvLyEgYXBwZWFyYW5jZVxyXG4gIHJlYWRvbmx5IGNvbG9yID0gaW5wdXQ8U2ltcGxlQ29tcG9uZW50Q29sb3I+KHRoaXMuX0RFRkFVTFRTLmNvbG9yKTtcclxuICByZWFkb25seSB1bnNlbGVjdGVkQ29sb3IgPSBpbnB1dDxTaW1wbGVDb21wb25lbnRDb2xvcj4odGhpcy5fREVGQVVMVFMudW5zZWxlY3RlZENvbG9yKTtcclxuXHJcbiAgcmVhZG9ubHkgbmdDbGFzc2VzID0gY29tcHV0ZWQoKCkgPT5cclxuICAgIFtgYXJkLWNvbG9yLSR7dGhpcy5jb2xvcigpfWAsIGBhcmQtdW5zZWxlY3RlZC1jb2xvci0ke3RoaXMudW5zZWxlY3RlZENvbG9yKCl9YCwgYGFyZC1jaGVja2JveC0ke3RoaXMuc3RhdGUoKX1gXS5qb2luKCcgJylcclxuICApO1xyXG5cclxuICAvL292ZXJyaWRlIHRoZSBcInNlbGVjdGVkXCIgc2V0dGVyLCBzbyBpdCBjaGFuZ2VzIHRoZSBzdGF0ZSB0b28uXHJcbiAgb3ZlcnJpZGUgc2V0IF9zZWxlY3RlZCh2OiBhbnkpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgdGhpcy5zZWxlY3RlZC5zZXQoc2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5zdGF0ZS5zZXQoc2VsZWN0ZWQgPyBDaGVja2JveFN0YXRlLlNlbGVjdGVkIDogQ2hlY2tib3hTdGF0ZS5VbnNlbGVjdGVkKTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHN0YXRlID0gbW9kZWw8Q2hlY2tib3hTdGF0ZT4oQ2hlY2tib3hTdGF0ZS5VbnNlbGVjdGVkKTtcclxuXHJcbiAgLy8hIGNsaWNrIGFjdGlvblxyXG4gIHRvZ2dsZVN0YXRlKCkge1xyXG4gICAgbGV0IG5ld1N0YXRlOiBDaGVja2JveFN0YXRlID0gQ2hlY2tib3hTdGF0ZS5VbnNlbGVjdGVkO1xyXG4gICAgaWYgKHRoaXMuc3RhdGUoKSA9PT0gQ2hlY2tib3hTdGF0ZS5VbnNlbGVjdGVkKSB7XHJcbiAgICAgIG5ld1N0YXRlID0gQ2hlY2tib3hTdGF0ZS5TZWxlY3RlZDtcclxuICAgIH1cclxuICAgIHRoaXMuc3RhdGUuc2V0KG5ld1N0YXRlKTtcclxuICAgIHRoaXMuc2VsZWN0ZWQuc2V0KHRoaXMuc3RhdGUoKSA9PT0gQ2hlY2tib3hTdGF0ZS5TZWxlY3RlZCk7XHJcblxyXG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwiYXJkLWNoZWNrYm94XCJcbiAgcm9sZT1cImNoZWNrYm94XCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIFtpZF09XCJodG1sSWQoKVwiXG4gIFthcmlhQ2hlY2tlZF09XCJzZWxlY3RlZCgpXCJcbiAgW3RhYmluZGV4XT1cInRhYkluZGV4KClcIlxuICBbbmdDbGFzc109XCJuZ0NsYXNzZXMoKVwiXG4gIChjbGljayk9XCJ0b2dnbGVTdGF0ZSgpXCJcbiAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbj5cbiAgPGRpdiBjbGFzcz1cImFyZC1oaXRib3hcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFyZC1mb2N1cy1vdmVybGF5XCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhcmQtY2hlY2tib3gtaWNvbiBhcmQtaWNvbi1mb3Itc2VsZWN0ZWRcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFyZC1jaGVja2JveC1pY29uIGFyZC1pY29uLWZvci1pbmRldGVybWluYXRlXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhcmQtY2hlY2tib3gtaWNvbiBhcmQtaWNvbi1mb3ItdW5zZWxlY3RlZFwiPjwvZGl2PlxuPC9idXR0b24+XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUF1QixNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBZ0JqRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEscUJBQXFCO0lBRWhFLFlBQTJDLFFBQTZCO1FBQ3RFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUdsQixjQUFjO1FBQ0wsVUFBSyxHQUFHLEtBQUssQ0FBdUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRCxvQkFBZSxHQUFHLEtBQUssQ0FBdUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU5RSxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNqQyxDQUFDLGFBQWEsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsd0JBQXdCLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDMUgsQ0FBQztRQVNPLFVBQUssR0FBRyxLQUFLLENBQWdCLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQWpCaEUsQ0FBQztJQVVELDhEQUE4RDtJQUM5RCxJQUFhLFNBQVMsQ0FBQyxDQUFNO1FBQzNCLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFJRCxnQkFBZ0I7SUFDaEIsV0FBVztRQUNULElBQUksUUFBUSxHQUFrQixhQUFhLENBQUMsVUFBVSxDQUFDO1FBQ3ZELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM5QyxRQUFRLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQzsrR0FqQ1UsdUJBQXVCLGtCQUVkLHFCQUFxQjttR0FGOUIsdUJBQXVCLDRkQVJ2QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7Z0JBQ3RELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixpRENwQkgsNGpCQWtCQTs7NEZESWEsdUJBQXVCO2tCQWRuQyxTQUFTOytCQUNFLGNBQWMsaUJBR1QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OzBCQUlZLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiwgY29tcHV0ZWQsIGZvcndhcmRSZWYsIGlucHV0LCBtb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcclxuaW1wb3J0IHsgU2ltcGxlQ29tcG9uZW50Q29sb3IgfSBmcm9tICcuLi90eXBlcy9jb2xvcnMudHlwZXMnO1xyXG5pbXBvcnQgeyBfQm9vbGVhbkNvbXBvbmVudEJhc2UgfSBmcm9tICcuLy4uL19pbnRlcm5hbC9ib29sZWFuLWNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFSRF9DSEVDS0JPWF9ERUZBVUxUUywgQXJkQ2hlY2tib3hEZWZhdWx0cyB9IGZyb20gJy4vY2hlY2tib3guZGVmYXVsdHMnO1xyXG5pbXBvcnQgeyBDaGVja2JveFN0YXRlIH0gZnJvbSAnLi9jaGVja2JveC50eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FyZC1jaGVja2JveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBcmRpdW1DaGVja2JveENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJkaXVtQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBfQm9vbGVhbkNvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZENoZWNrYm94RGVmYXVsdHM7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChBUkRfQ0hFQ0tCT1hfREVGQVVMVFMpIGRlZmF1bHRzOiBBcmRDaGVja2JveERlZmF1bHRzKSB7XHJcbiAgICBzdXBlcihkZWZhdWx0cyk7XHJcbiAgfVxyXG5cclxuICAvLyEgYXBwZWFyYW5jZVxyXG4gIHJlYWRvbmx5IGNvbG9yID0gaW5wdXQ8U2ltcGxlQ29tcG9uZW50Q29sb3I+KHRoaXMuX0RFRkFVTFRTLmNvbG9yKTtcclxuICByZWFkb25seSB1bnNlbGVjdGVkQ29sb3IgPSBpbnB1dDxTaW1wbGVDb21wb25lbnRDb2xvcj4odGhpcy5fREVGQVVMVFMudW5zZWxlY3RlZENvbG9yKTtcclxuXHJcbiAgcmVhZG9ubHkgbmdDbGFzc2VzID0gY29tcHV0ZWQoKCkgPT5cclxuICAgIFtgYXJkLWNvbG9yLSR7dGhpcy5jb2xvcigpfWAsIGBhcmQtdW5zZWxlY3RlZC1jb2xvci0ke3RoaXMudW5zZWxlY3RlZENvbG9yKCl9YCwgYGFyZC1jaGVja2JveC0ke3RoaXMuc3RhdGUoKX1gXS5qb2luKCcgJylcclxuICApO1xyXG5cclxuICAvL292ZXJyaWRlIHRoZSBcInNlbGVjdGVkXCIgc2V0dGVyLCBzbyBpdCBjaGFuZ2VzIHRoZSBzdGF0ZSB0b28uXHJcbiAgb3ZlcnJpZGUgc2V0IF9zZWxlY3RlZCh2OiBhbnkpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xyXG4gICAgdGhpcy5zZWxlY3RlZC5zZXQoc2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5zdGF0ZS5zZXQoc2VsZWN0ZWQgPyBDaGVja2JveFN0YXRlLlNlbGVjdGVkIDogQ2hlY2tib3hTdGF0ZS5VbnNlbGVjdGVkKTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHN0YXRlID0gbW9kZWw8Q2hlY2tib3hTdGF0ZT4oQ2hlY2tib3hTdGF0ZS5VbnNlbGVjdGVkKTtcclxuXHJcbiAgLy8hIGNsaWNrIGFjdGlvblxyXG4gIHRvZ2dsZVN0YXRlKCkge1xyXG4gICAgbGV0IG5ld1N0YXRlOiBDaGVja2JveFN0YXRlID0gQ2hlY2tib3hTdGF0ZS5VbnNlbGVjdGVkO1xyXG4gICAgaWYgKHRoaXMuc3RhdGUoKSA9PT0gQ2hlY2tib3hTdGF0ZS5VbnNlbGVjdGVkKSB7XHJcbiAgICAgIG5ld1N0YXRlID0gQ2hlY2tib3hTdGF0ZS5TZWxlY3RlZDtcclxuICAgIH1cclxuICAgIHRoaXMuc3RhdGUuc2V0KG5ld1N0YXRlKTtcclxuICAgIHRoaXMuc2VsZWN0ZWQuc2V0KHRoaXMuc3RhdGUoKSA9PT0gQ2hlY2tib3hTdGF0ZS5TZWxlY3RlZCk7XHJcblxyXG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwiYXJkLWNoZWNrYm94XCJcbiAgcm9sZT1cImNoZWNrYm94XCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIFtpZF09XCJodG1sSWQoKVwiXG4gIFthcmlhQ2hlY2tlZF09XCJzZWxlY3RlZCgpXCJcbiAgW3RhYmluZGV4XT1cInRhYkluZGV4KClcIlxuICBbbmdDbGFzc109XCJuZ0NsYXNzZXMoKVwiXG4gIChjbGljayk9XCJ0b2dnbGVTdGF0ZSgpXCJcbiAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbj5cbiAgPGRpdiBjbGFzcz1cImFyZC1oaXRib3hcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFyZC1mb2N1cy1vdmVybGF5XCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhcmQtY2hlY2tib3gtaWNvbiBhcmQtaWNvbi1mb3Itc2VsZWN0ZWRcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFyZC1jaGVja2JveC1pY29uIGFyZC1pY29uLWZvci1pbmRldGVybWluYXRlXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhcmQtY2hlY2tib3gtaWNvbiBhcmQtaWNvbi1mb3ItdW5zZWxlY3RlZFwiPjwvZGl2PlxuPC9idXR0b24+XG4iXX0=
@@ -1,6 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, ViewEncapsulation, computed, input, output, signal, } from '@angular/core';
2
2
  import { coerceBooleanProperty, coerceNumberProperty } from '@ardium-ui/devkit';
3
- import { TakeChance as Random } from 'take-chance';
4
3
  import { SimpleItemStorage } from '../_internal/item-storages/simple-item-storage';
5
4
  import { _NgModelComponentBase } from '../_internal/ngmodel-component';
6
5
  import { ARD_CHECKBOX_LIST_DEFAULTS } from './checkbox-list.defaults';
@@ -10,7 +9,6 @@ import * as i2 from "../checkbox/checkbox.component";
10
9
  export class ArdiumCheckboxListComponent extends _NgModelComponentBase {
11
10
  constructor(defaults) {
12
11
  super(defaults);
13
- this.htmlId = input(Random.id());
14
12
  this.DEFAULTS = this._DEFAULTS;
15
13
  // static values. Not meant to be changed.
16
14
  this.multiselectable = signal(true);
@@ -95,7 +93,7 @@ export class ArdiumCheckboxListComponent extends _NgModelComponentBase {
95
93
  this.selectItem(v);
96
94
  }
97
95
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumCheckboxListComponent, deps: [{ token: ARD_CHECKBOX_LIST_DEFAULTS }], target: i0.ɵɵFactoryTarget.Component }); }
98
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ArdiumCheckboxListComponent, selector: "ard-checkbox-list", inputs: { htmlId: { classPropertyName: "htmlId", publicName: "htmlId", isSignal: true, isRequired: false, transformFunction: null }, valueFrom: { classPropertyName: "valueFrom", publicName: "valueFrom", isSignal: true, isRequired: false, transformFunction: null }, labelFrom: { classPropertyName: "labelFrom", publicName: "labelFrom", isSignal: true, isRequired: false, transformFunction: null }, disabledFrom: { classPropertyName: "disabledFrom", publicName: "disabledFrom", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, compareWith: { classPropertyName: "compareWith", publicName: "compareWith", isSignal: true, isRequired: false, transformFunction: null }, invertDisabled: { classPropertyName: "invertDisabled", publicName: "invertDisabled", isSignal: true, isRequired: false, transformFunction: null }, maxSelectedItems: { classPropertyName: "maxSelectedItems", publicName: "maxSelectedItems", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", changeEvent: "change" }, host: { properties: { "attr.id": "this._htmlIdHostAttribute" } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"ard-checkbox-list\"\n [ngClass]=\"ngClasses()\"\n>\n @for (item of items; track item.index) {\n <div\n class=\"ard-checkbox-list__item\"\n [class.ard-item-highlighted]=\"item.highlighted()\"\n [class.ard-item-disabled]=\"item.disabled()\"\n (mouseover)=\"onItemHighlight(item)\"\n (mouseleave)=\"onItemBlur()\"\n (click)=\"toggleItem(item)\"\n >\n <div class=\"ard-focus-overlay\"></div>\n <ard-checkbox\n [selected]=\"item.selected()\"\n [disabled]=\"item.disabled()\"\n [color]=\"color()\"\n [htmlId]=\"htmlId() + item.index\"\n [tabIndex]=\"tabIndex()\"\n (focus)=\"onFocus($event)\"\n (focus)=\"onItemFocus(item)\"\n (blur)=\"onBlur($event)\"\n (blur)=\"onItemBlur()\"\n (select)=\"selectItem(item)\"\n (unselect)=\"unselectItem(item)\"\n (click)=\"$event.stopPropagation()\"\n />\n <label [for]=\"htmlId() + item.index\">\n {{ item.label() }}\n </label>\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.ArdiumCheckboxComponent, selector: "ard-checkbox", inputs: ["htmlId", "color", "unselectedColor", "state"], outputs: ["stateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ArdiumCheckboxListComponent, selector: "ard-checkbox-list", inputs: { valueFrom: { classPropertyName: "valueFrom", publicName: "valueFrom", isSignal: true, isRequired: false, transformFunction: null }, labelFrom: { classPropertyName: "labelFrom", publicName: "labelFrom", isSignal: true, isRequired: false, transformFunction: null }, disabledFrom: { classPropertyName: "disabledFrom", publicName: "disabledFrom", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, compareWith: { classPropertyName: "compareWith", publicName: "compareWith", isSignal: true, isRequired: false, transformFunction: null }, invertDisabled: { classPropertyName: "invertDisabled", publicName: "invertDisabled", isSignal: true, isRequired: false, transformFunction: null }, maxSelectedItems: { classPropertyName: "maxSelectedItems", publicName: "maxSelectedItems", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", changeEvent: "change" }, host: { properties: { "attr.id": "this._htmlIdHostAttribute" } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"ard-checkbox-list\"\n [ngClass]=\"ngClasses()\"\n>\n @for (item of items; track item.index) {\n <div\n class=\"ard-checkbox-list__item\"\n [class.ard-item-highlighted]=\"item.highlighted()\"\n [class.ard-item-disabled]=\"item.disabled()\"\n (mouseover)=\"onItemHighlight(item)\"\n (mouseleave)=\"onItemBlur()\"\n (click)=\"toggleItem(item)\"\n >\n <div class=\"ard-focus-overlay\"></div>\n <ard-checkbox\n [selected]=\"item.selected()\"\n [disabled]=\"item.disabled()\"\n [color]=\"color()\"\n [htmlId]=\"htmlId() + item.index\"\n [tabIndex]=\"tabIndex()\"\n (focus)=\"onFocus($event)\"\n (focus)=\"onItemFocus(item)\"\n (blur)=\"onBlur($event)\"\n (blur)=\"onItemBlur()\"\n (select)=\"selectItem(item)\"\n (unselect)=\"unselectItem(item)\"\n (click)=\"$event.stopPropagation()\"\n />\n <label [for]=\"htmlId() + item.index\">\n {{ item.label() }}\n </label>\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.ArdiumCheckboxComponent, selector: "ard-checkbox", inputs: ["color", "unselectedColor", "state"], outputs: ["stateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
99
97
  }
100
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumCheckboxListComponent, decorators: [{
101
99
  type: Component,
@@ -111,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
111
109
  }], value: [{
112
110
  type: Input
113
111
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxVQUFVLElBQUksTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBeUIsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUl2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQTJCLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFVL0YsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHFCQUFxQjtJQUVwRSxZQUFnRCxRQUFpQztRQUMvRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFHVCxXQUFNLEdBQUcsS0FBSyxDQUFTLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBT3BDLGFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ25DLDBDQUEwQztRQUNqQyxvQkFBZSxHQUFHLE1BQU0sQ0FBTyxJQUFJLENBQUMsQ0FBQztRQUNyQyxvQkFBZSxHQUFHLE1BQU0sQ0FBUSxL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UUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixDQUFDOytHQWhIVSwyQkFBMkIsa0JBRWxCLDBCQUEwQjttR0FGbkMsMkJBQTJCLG93REM5QnhDLGlpQ0FrQ0E7OzRGREphLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSxtQkFBbUIsaUJBR2QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBSWxDLE1BQU07MkJBQUMsMEJBQTBCO3lDQU8xQyxvQkFBb0I7c0JBRHZCLFdBQVc7dUJBQUMsU0FBUztnQkFtQmxCLEtBQUs7c0JBRFIsS0FBSztnQkE0QkYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBjb21wdXRlZCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XG5pbXBvcnQgeyBUYWtlQ2hhbmNlIGFzIFJhbmRvbSB9IGZyb20gJ3Rha2UtY2hhbmNlJztcbmltcG9ydCB7IFNpbXBsZUl0ZW1TdG9yYWdlLCBTaW1wbGVJdGVtU3RvcmFnZUhvc3QgfSBmcm9tICcuLi9faW50ZXJuYWwvaXRlbS1zdG9yYWdlcy9zaW1wbGUtaXRlbS1zdG9yYWdlJztcbmltcG9ydCB7IF9OZ01vZGVsQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uL19pbnRlcm5hbC9uZ21vZGVsLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRDb2xvciB9IGZyb20gJy4uL3R5cGVzL2NvbG9ycy50eXBlcyc7XG5pbXBvcnQgeyBBcmRPcHRpb25TaW1wbGUsIENvbXBhcmVXaXRoRm4gfSBmcm9tICcuLi90eXBlcy9pdGVtLXN0b3JhZ2UudHlwZXMnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICcuLi90eXBlcy91dGlsaXR5LnR5cGVzJztcbmltcG9ydCB7IEFSRF9DSEVDS0JPWF9MSVNUX0RFRkFVTFRTLCBBcmRDaGVja2JveExpc3REZWZhdWx0cyB9IGZyb20gJy4vY2hlY2tib3gtbGlzdC5kZWZhdWx0cyc7XG5pbXBvcnQgeyBDaGVja2JveExpc3RBbGlnblR5cGUgfSBmcm9tICcuL2NoZWNrYm94LWxpc3QudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcmQtY2hlY2tib3gtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3gtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQXJkaXVtQ2hlY2tib3hMaXN0Q29tcG9uZW50IGV4dGVuZHMgX05nTW9kZWxDb21wb25lbnRCYXNlIGltcGxlbWVudHMgU2ltcGxlSXRlbVN0b3JhZ2VIb3N0LCBBZnRlclZpZXdJbml0IHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZENoZWNrYm94TGlzdERlZmF1bHRzO1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFSRF9DSEVDS0JPWF9MSVNUX0RFRkFVTFRTKSBkZWZhdWx0czogQXJkQ2hlY2tib3hMaXN0RGVmYXVsdHMpIHtcbiAgICBzdXBlcihkZWZhdWx0cyk7XG4gIH1cblxuICByZWFkb25seSBodG1sSWQgPSBpbnB1dDxzdHJpbmc+KFJhbmRvbS5pZCgpKTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICBnZXQgX2h0bWxJZEhvc3RBdHRyaWJ1dGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHRtbElkKCk7XG4gIH1cblxuICByZWFkb25seSBERUZBVUxUUyA9IHRoaXMuX0RFRkFVTFRTO1xuICAvLyBzdGF0aWMgdmFsdWVzLiBOb3QgbWVhbnQgdG8gYmUgY2hhbmdlZC5cbiAgcmVhZG9ubHkgbXVsdGlzZWxlY3RhYmxlID0gc2lnbmFsPHRydWU+KHRydWUpO1xuICByZWFkb25seSBpc1ZhbHVlUmVxdWlyZWQgPSBzaWduYWw8ZmFsc2U+KGZhbHNlKTtcbiAgcmVhZG9ubHkgX2NvbXBvbmVudElkID0gJzMwMCc7XG4gIHJlYWRvbmx5IF9jb21wb25lbnROYW1lID0gJ2NoZWNrYm94LWxpc3QnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2l0ZW1TdG9yYWdlID0gbmV3IFNpbXBsZUl0ZW1TdG9yYWdlKHRoaXMpO1xuXG4gIHJlYWRvbmx5IHZhbHVlRnJvbSA9IGlucHV0PHN0cmluZz4odGhpcy5ERUZBVUxUUy52YWx1ZUZyb20pO1xuICByZWFkb25seSBsYWJlbEZyb20gPSBpbnB1dDxzdHJpbmc+KHRoaXMuREVGQVVMVFMubGFiZWxGcm9tKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWRGcm9tID0gaW5wdXQ8c3RyaW5nPih0aGlzLkRFRkFVTFRTLmRpc2FibGVkRnJvbSk7XG5cbiAgQElucHV0KClcbiAgc2V0IGl0ZW1zKHY6IGFueVtdKSB7XG4gICAgdGhpcy5faXRlbVN0b3JhZ2Uuc2V0SXRlbXModik7XG4gIH1cbiAgZ2V0IGl0ZW1zKCk6IEFyZE9wdGlvblNpbXBsZVtdIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbVN0b3JhZ2UuaXRlbXMoKTtcbiAgfVxuXG4gIHJlYWRvbmx5IGNvbXBhcmVXaXRoID0gaW5wdXQ8TnVsbGFibGU8Q29tcGFyZVdpdGhGbj4+KHRoaXMuX0RFRkFVTFRTLmNvbXBhcmVXaXRoKTtcblxuICByZWFkb25seSBpbnZlcnREaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIGFueT4odGhpcy5fREVGQVVMVFMuaW52ZXJ0RGlzYWJsZWQsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICByZWFkb25seSBtYXhTZWxlY3RlZEl0ZW1zID0gaW5wdXQ8bnVtYmVyLCBhbnk+KHRoaXMuX0RFRkFVTFRTLm1heFNlbGVjdGVkSXRlbXMsIHtcbiAgICB0cmFuc2Zvcm06IHYgPT4gY29lcmNlTnVtYmVyUHJvcGVydHkodiwgdGhpcy5fREVGQVVMVFMubWF4U2VsZWN0ZWRJdGVtcyksXG4gIH0pO1xuXG4gIC8vISBhcHBlYXJhbmNlXG4gIHJlYWRvbmx5IGNvbG9yID0gaW5wdXQ8Q29tcG9uZW50Q29sb3I+KHRoaXMuX0RFRkFVTFRTLmNvbG9yKTtcbiAgcmVhZG9ubHkgYWxpZ24gPSBpbnB1dDxDaGVja2JveExpc3RBbGlnblR5cGU+KHRoaXMuX0RFRkFVTFRTLmFsaWduKTtcblxuICByZWFkb25seSBjb21wYWN0ID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5jb21wYWN0LCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XG5cbiAgcmVhZG9ubHkgbmdDbGFzc2VzID0gY29tcHV0ZWQoKCkgPT5cbiAgICBbYGFyZC1jb2xvci0ke3RoaXMuY29sb3IoKX1gLCBgYXJkLWFsaWduLSR7dGhpcy5hbGlnbigpfWAsIHRoaXMuY29tcGFjdCgpID8gJ2FyZC1jb21wYWN0JyA6ICcnXS5qb2luKCcgJylcbiAgKTtcblxuICAvLyEgdmFsdWVcbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1TdG9yYWdlLnZhbHVlKCk7XG4gIH1cbiAgc2V0IHZhbHVlKHY6IGFueSkge1xuICAgIHRoaXMud3JpdGVWYWx1ZSh2KTtcbiAgfVxuXG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gb3V0cHV0PGFueT4oKTtcbiAgcmVhZG9ubHkgY2hhbmdlRXZlbnQgPSBvdXRwdXQ8YW55Pih7IGFsaWFzOiAnY2hhbmdlJyB9KTtcblxuICBwcml2YXRlIF92YWx1ZUJlZm9yZUluaXQ6IGFueTtcbiAgd3JpdGVWYWx1ZSh2OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzVmlld0luaXQpIHtcbiAgICAgIHRoaXMuX3ZhbHVlQmVmb3JlSW5pdCA9IHY7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2l0ZW1TdG9yYWdlLndyaXRlVmFsdWUodik7XG4gIH1cblxuICBwcml2YXRlIF9pc1ZpZXdJbml0ID0gZmFsc2U7XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pc1ZpZXdJbml0ID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLl92YWx1ZUJlZm9yZUluaXQpIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLl92YWx1ZUJlZm9yZUluaXQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfZW1pdENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCB2ID0gdGhpcy52YWx1ZTtcbiAgICB0aGlzLl9vbkNoYW5nZVJlZ2lzdGVyZWQ/Lih2KTtcbiAgICB0aGlzLmNoYW5nZUV2ZW50LmVtaXQodik7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xuICB9XG5cbiAgb25JdGVtSGlnaGxpZ2h0KHY6IEFyZE9wdGlvblNpbXBsZSk6IHZvaWQge1xuICAgIHRoaXMuX2l0ZW1TdG9yYWdlLmhpZ2hsaWdodFNpbmdsZUl0ZW0odik7XG4gIH1cbiAgb25JdGVtRm9jdXModjogQXJkT3B0aW9uU2ltcGxlKTogdm9pZCB7XG4gICAgdGhpcy5faXRlbVN0b3JhZ2UuaGlnaGxpZ2h0U2luZ2xlSXRlbSh2KTtcbiAgfVxuICBvbkl0ZW1CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuX2l0ZW1TdG9yYWdlLnVuaGlnaGxpZ2h0QWxsKCk7XG4gIH1cbiAgc2VsZWN0SXRlbSh2OiBBcmRPcHRpb25TaW1wbGUpOiB2b2lkIHtcbiAgICB0aGlzLl9pdGVtU3RvcmFnZS5zZWxlY3RJdGVtKHYpO1xuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgfVxuICB1bnNlbGVjdEl0ZW0odjogQXJkT3B0aW9uU2ltcGxlKTogdm9pZCB7XG4gICAgdGhpcy5faXRlbVN0b3JhZ2UudW5zZWxlY3RJdGVtKHYpO1xuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgfVxuICB0b2dnbGVJdGVtKHY6IEFyZE9wdGlvblNpbXBsZSk6IHZvaWQge1xuICAgIGlmICh2LnNlbGVjdGVkKCkpIHtcbiAgICAgIHRoaXMudW5zZWxlY3RJdGVtKHYpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdEl0ZW0odik7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJhcmQtY2hlY2tib3gtbGlzdFwiXG4gIFtuZ0NsYXNzXT1cIm5nQ2xhc3NlcygpXCJcbj5cbiAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbS5pbmRleCkge1xuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYXJkLWNoZWNrYm94LWxpc3RfX2l0ZW1cIlxuICAgICAgW2NsYXNzLmFyZC1pdGVtLWhpZ2hsaWdodGVkXT1cIml0ZW0uaGlnaGxpZ2h0ZWQoKVwiXG4gICAgICBbY2xhc3MuYXJkLWl0ZW0tZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZCgpXCJcbiAgICAgIChtb3VzZW92ZXIpPVwib25JdGVtSGlnaGxpZ2h0KGl0ZW0pXCJcbiAgICAgIChtb3VzZWxlYXZlKT1cIm9uSXRlbUJsdXIoKVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlSXRlbShpdGVtKVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImFyZC1mb2N1cy1vdmVybGF5XCI+PC9kaXY+XG4gICAgICA8YXJkLWNoZWNrYm94XG4gICAgICAgIFtzZWxlY3RlZF09XCJpdGVtLnNlbGVjdGVkKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZCgpXCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yKClcIlxuICAgICAgICBbaHRtbElkXT1cImh0bWxJZCgpICsgaXRlbS5pbmRleFwiXG4gICAgICAgIFt0YWJJbmRleF09XCJ0YWJJbmRleCgpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1cyk9XCJvbkl0ZW1Gb2N1cyhpdGVtKVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25JdGVtQmx1cigpXCJcbiAgICAgICAgKHNlbGVjdCk9XCJzZWxlY3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgKHVuc2VsZWN0KT1cInVuc2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgLz5cbiAgICAgIDxsYWJlbCBbZm9yXT1cImh0bWxJZCgpICsgaXRlbS5pbmRleFwiPlxuICAgICAgICB7eyBpdGVtLmxhYmVsKCkgfX1cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBeUIsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUl2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQTJCLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFVL0YsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHFCQUFxQjtJQUVwRSxZQUFnRCxRQUFpQztRQUMvRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFRVCxhQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNuQywwQ0FBMEM7UUFDakMsb0JBQWUsR0FBRyxNQUFNLENBQU8sSUFBSSxDQUFDLENBQUM7UUFDckMsb0JBQWUsR0FBRyxNQUFNLENBQVEsS0FBSyxDQUFDLENBQUM7UUFDdkMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsbUJBQWMsR0FBRyxlQUFlLENBQUM7UUFFekIsaUJBQVksR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUks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Q0FBQyxDQUFDLENBQUM7SUFDckIsQ0FBQzsrR0E5R1UsMkJBQTJCLGtCQUVsQiwwQkFBMEI7bUdBRm5DLDJCQUEyQix5b0RDN0J4QyxpaUNBa0NBOzs0RkRMYSwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsbUJBQW1CLGlCQUdkLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OzBCQUlsQyxNQUFNOzJCQUFDLDBCQUEwQjt5Q0FLMUMsb0JBQW9CO3NCQUR2QixXQUFXO3VCQUFDLFNBQVM7Z0JBbUJsQixLQUFLO3NCQURSLEtBQUs7Z0JBNEJGLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xuaW1wb3J0IHsgU2ltcGxlSXRlbVN0b3JhZ2UsIFNpbXBsZUl0ZW1TdG9yYWdlSG9zdCB9IGZyb20gJy4uL19pbnRlcm5hbC9pdGVtLXN0b3JhZ2VzL3NpbXBsZS1pdGVtLXN0b3JhZ2UnO1xuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vX2ludGVybmFsL25nbW9kZWwtY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudENvbG9yIH0gZnJvbSAnLi4vdHlwZXMvY29sb3JzLnR5cGVzJztcbmltcG9ydCB7IEFyZE9wdGlvblNpbXBsZSwgQ29tcGFyZVdpdGhGbiB9IGZyb20gJy4uL3R5cGVzL2l0ZW0tc3RvcmFnZS50eXBlcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uL3R5cGVzL3V0aWxpdHkudHlwZXMnO1xuaW1wb3J0IHsgQVJEX0NIRUNLQk9YX0xJU1RfREVGQVVMVFMsIEFyZENoZWNrYm94TGlzdERlZmF1bHRzIH0gZnJvbSAnLi9jaGVja2JveC1saXN0LmRlZmF1bHRzJztcbmltcG9ydCB7IENoZWNrYm94TGlzdEFsaWduVHlwZSB9IGZyb20gJy4vY2hlY2tib3gtbGlzdC50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FyZC1jaGVja2JveC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBcmRpdW1DaGVja2JveExpc3RDb21wb25lbnQgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBTaW1wbGVJdGVtU3RvcmFnZUhvc3QsIEFmdGVyVmlld0luaXQge1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX0RFRkFVTFRTITogQXJkQ2hlY2tib3hMaXN0RGVmYXVsdHM7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVJEX0NIRUNLQk9YX0xJU1RfREVGQVVMVFMpIGRlZmF1bHRzOiBBcmRDaGVja2JveExpc3REZWZhdWx0cykge1xuICAgIHN1cGVyKGRlZmF1bHRzKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gIGdldCBfaHRtbElkSG9zdEF0dHJpYnV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5odG1sSWQoKTtcbiAgfVxuXG4gIHJlYWRvbmx5IERFRkFVTFRTID0gdGhpcy5fREVGQVVMVFM7XG4gIC8vIHN0YXRpYyB2YWx1ZXMuIE5vdCBtZWFudCB0byBiZSBjaGFuZ2VkLlxuICByZWFkb25seSBtdWx0aXNlbGVjdGFibGUgPSBzaWduYWw8dHJ1ZT4odHJ1ZSk7XG4gIHJlYWRvbmx5IGlzVmFsdWVSZXF1aXJlZCA9IHNpZ25hbDxmYWxzZT4oZmFsc2UpO1xuICByZWFkb25seSBfY29tcG9uZW50SWQgPSAnMzAwJztcbiAgcmVhZG9ubHkgX2NvbXBvbmVudE5hbWUgPSAnY2hlY2tib3gtbGlzdCc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaXRlbVN0b3JhZ2UgPSBuZXcgU2ltcGxlSXRlbVN0b3JhZ2UodGhpcyk7XG5cbiAgcmVhZG9ubHkgdmFsdWVGcm9tID0gaW5wdXQ8c3RyaW5nPih0aGlzLkRFRkFVTFRTLnZhbHVlRnJvbSk7XG4gIHJlYWRvbmx5IGxhYmVsRnJvbSA9IGlucHV0PHN0cmluZz4odGhpcy5ERUZBVUxUUy5sYWJlbEZyb20pO1xuICByZWFkb25seSBkaXNhYmxlZEZyb20gPSBpbnB1dDxzdHJpbmc+KHRoaXMuREVGQVVMVFMuZGlzYWJsZWRGcm9tKTtcblxuICBASW5wdXQoKVxuICBzZXQgaXRlbXModjogYW55W10pIHtcbiAgICB0aGlzLl9pdGVtU3RvcmFnZS5zZXRJdGVtcyh2KTtcbiAgfVxuICBnZXQgaXRlbXMoKTogQXJkT3B0aW9uU2ltcGxlW10ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtU3RvcmFnZS5pdGVtcygpO1xuICB9XG5cbiAgcmVhZG9ubHkgY29tcGFyZVdpdGggPSBpbnB1dDxOdWxsYWJsZTxDb21wYXJlV2l0aEZuPj4odGhpcy5fREVGQVVMVFMuY29tcGFyZVdpdGgpO1xuXG4gIHJlYWRvbmx5IGludmVydERpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5pbnZlcnREaXNhYmxlZCwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xuXG4gIHJlYWRvbmx5IG1heFNlbGVjdGVkSXRlbXMgPSBpbnB1dDxudW1iZXIsIGFueT4odGhpcy5fREVGQVVMVFMubWF4U2VsZWN0ZWRJdGVtcywge1xuICAgIHRyYW5zZm9ybTogdiA9PiBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2LCB0aGlzLl9ERUZBVUxUUy5tYXhTZWxlY3RlZEl0ZW1zKSxcbiAgfSk7XG5cbiAgLy8hIGFwcGVhcmFuY2VcbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxDb21wb25lbnRDb2xvcj4odGhpcy5fREVGQVVMVFMuY29sb3IpO1xuICByZWFkb25seSBhbGlnbiA9IGlucHV0PENoZWNrYm94TGlzdEFsaWduVHlwZT4odGhpcy5fREVGQVVMVFMuYWxpZ24pO1xuXG4gIHJlYWRvbmx5IGNvbXBhY3QgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLmNvbXBhY3QsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICByZWFkb25seSBuZ0NsYXNzZXMgPSBjb21wdXRlZCgoKSA9PlxuICAgIFtgYXJkLWNvbG9yLSR7dGhpcy5jb2xvcigpfWAsIGBhcmQtYWxpZ24tJHt0aGlzLmFsaWduKCl9YCwgdGhpcy5jb21wYWN0KCkgPyAnYXJkLWNvbXBhY3QnIDogJyddLmpvaW4oJyAnKVxuICApO1xuXG4gIC8vISB2YWx1ZVxuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5faXRlbVN0b3JhZ2UudmFsdWUoKTtcbiAgfVxuICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKHYpO1xuICB9XG5cbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBvdXRwdXQ8YW55PigpO1xuICByZWFkb25seSBjaGFuZ2VFdmVudCA9IG91dHB1dDxhbnk+KHsgYWxpYXM6ICdjaGFuZ2UnIH0pO1xuXG4gIHByaXZhdGUgX3ZhbHVlQmVmb3JlSW5pdDogYW55O1xuICB3cml0ZVZhbHVlKHY6IGFueSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faXNWaWV3SW5pdCkge1xuICAgICAgdGhpcy5fdmFsdWVCZWZvcmVJbml0ID0gdjtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faXRlbVN0b3JhZ2Uud3JpdGVWYWx1ZSh2KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmlld0luaXQgPSBmYWxzZTtcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2lzVmlld0luaXQgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuX3ZhbHVlQmVmb3JlSW5pdCkge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuX3ZhbHVlQmVmb3JlSW5pdCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9lbWl0Q2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHYgPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHYpO1xuICAgIHRoaXMuY2hhbmdlRXZlbnQuZW1pdCh2KTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XG4gIH1cblxuICBvbkl0ZW1IaWdobGlnaHQodjogQXJkT3B0aW9uU2ltcGxlKTogdm9pZCB7XG4gICAgdGhpcy5faXRlbVN0b3JhZ2UuaGlnaGxpZ2h0U2luZ2xlSXRlbSh2KTtcbiAgfVxuICBvbkl0ZW1Gb2N1cyh2OiBBcmRPcHRpb25TaW1wbGUpOiB2b2lkIHtcbiAgICB0aGlzLl9pdGVtU3RvcmFnZS5oaWdobGlnaHRTaW5nbGVJdGVtKHYpO1xuICB9XG4gIG9uSXRlbUJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5faXRlbVN0b3JhZ2UudW5oaWdobGlnaHRBbGwoKTtcbiAgfVxuICBzZWxlY3RJdGVtKHY6IEFyZE9wdGlvblNpbXBsZSk6IHZvaWQge1xuICAgIHRoaXMuX2l0ZW1TdG9yYWdlLnNlbGVjdEl0ZW0odik7XG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xuICB9XG4gIHVuc2VsZWN0SXRlbSh2OiBBcmRPcHRpb25TaW1wbGUpOiB2b2lkIHtcbiAgICB0aGlzLl9pdGVtU3RvcmFnZS51bnNlbGVjdEl0ZW0odik7XG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xuICB9XG4gIHRvZ2dsZUl0ZW0odjogQXJkT3B0aW9uU2ltcGxlKTogdm9pZCB7XG4gICAgaWYgKHYuc2VsZWN0ZWQoKSkge1xuICAgICAgdGhpcy51bnNlbGVjdEl0ZW0odik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0SXRlbSh2KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImFyZC1jaGVja2JveC1saXN0XCJcbiAgW25nQ2xhc3NdPVwibmdDbGFzc2VzKClcIlxuPlxuICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtLmluZGV4KSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJhcmQtY2hlY2tib3gtbGlzdF9faXRlbVwiXG4gICAgICBbY2xhc3MuYXJkLWl0ZW0taGlnaGxpZ2h0ZWRdPVwiaXRlbS5oaWdobGlnaHRlZCgpXCJcbiAgICAgIFtjbGFzcy5hcmQtaXRlbS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkKClcIlxuICAgICAgKG1vdXNlb3Zlcik9XCJvbkl0ZW1IaWdobGlnaHQoaXRlbSlcIlxuICAgICAgKG1vdXNlbGVhdmUpPVwib25JdGVtQmx1cigpXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVJdGVtKGl0ZW0pXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cbiAgICAgIDxhcmQtY2hlY2tib3hcbiAgICAgICAgW3NlbGVjdGVkXT1cIml0ZW0uc2VsZWN0ZWQoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkKClcIlxuICAgICAgICBbY29sb3JdPVwiY29sb3IoKVwiXG4gICAgICAgIFtodG1sSWRdPVwiaHRtbElkKCkgKyBpdGVtLmluZGV4XCJcbiAgICAgICAgW3RhYkluZGV4XT1cInRhYkluZGV4KClcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uSXRlbUZvY3VzKGl0ZW0pXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkl0ZW1CbHVyKClcIlxuICAgICAgICAoc2VsZWN0KT1cInNlbGVjdEl0ZW0oaXRlbSlcIlxuICAgICAgICAodW5zZWxlY3QpPVwidW5zZWxlY3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAvPlxuICAgICAgPGxhYmVsIFtmb3JdPVwiaHRtbElkKCkgKyBpdGVtLmluZGV4XCI+XG4gICAgICAgIHt7IGl0ZW0ubGFiZWwoKSB9fVxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
@@ -81,7 +81,7 @@ export class ArdiumFileInputComponent extends _FileInputComponentBase {
81
81
  useExisting: forwardRef(() => ArdiumFileInputComponent),
82
82
  multi: true,
83
83
  },
84
- ], queries: [{ propertyName: "placeholderTemplate", first: true, predicate: ArdFileInputPlaceholderTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "prefixTemplate", first: true, predicate: ArdFileInputPrefixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "suffixTemplate", first: true, predicate: ArdFileInputSuffixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "idleTemplate", first: true, predicate: ArdiumFileInputIdleContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "dragoverTemplate", first: true, predicate: ArdiumFileInputDragoverContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "uploadedTemplate", first: true, predicate: ArdiumFileInputUploadedContentTemplateDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\n class=\"ard-file-input-form-field-frame\"\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused\"\n [prefixTemplate]=\"prefixTemplate\"\n [suffixTemplate]=\"suffixTemplate\"\n (dragover)=\"onDragover($event)\"\n (dragleave)=\"onDragleave()\"\n (drop)=\"onDrop($event)\"\n (ardClickOutside)=\"onDragleave()\"\n>\n <div\n class=\"ard-file-input\"\n [ngClass]=\"ngClasses()\"\n >\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\" />\n }\n\n <div class=\"ard-file-input__value\">\n @if (currentViewState() === 'idle') {\n <ng-template\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\n [ngTemplateOutletContext]=\"getIdleContext()\"\n />\n }\n @if (currentViewState() === 'dragover') {\n <ng-template\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\n [ngTemplateOutletContext]=\"getDragoverContext()\"\n />\n }\n @if (currentViewState() === 'uploaded') {\n <ng-template\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\n [ngTemplateOutletContext]=\"getUploadedContext()\"\n />\n }\n </div>\n </div>\n\n @if (shouldShowClearButton) {\n <ard-clear-button\n #focusableElement\n [title]=\"clearButtonTitle()\"\n (mouseup)=\"onClearButtonClick($event)\"\n />\n }\n @if (!shouldBeBlocked) {\n <button\n #focusableElement\n type=\"button\"\n class=\"ard-browse-button\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (click)=\"openBrowseDialog()\"\n >\n <div class=\"ard-focus-overlay\"></div>\n <ard-icon>folder</ard-icon>\n </button>\n }\n </div>\n</ard-form-field-frame>\n\n<input\n #fileInput\n class=\"ard-file-input__input\"\n type=\"file\"\n [name]=\"name()\"\n [multiple]=\"multiple()\"\n [attr.id]=\"htmlId()\"\n (change)=\"onInputChange()\"\n/>\n\n<ng-template\n #defaultIdleTemplate\n let-browse=\"browse\"\n>\n <span class=\"ard-file-input__idle\">\n @if (multiple()) {\n <span>Upload a file</span>\n } @else {\n <span>Upload files</span>\n }\n </span>\n</ng-template>\n\n<ng-template\n #defaultDragoverTemplate\n let-amount=\"amount\"\n>\n <span class=\"ard-file-input__dragover-text\">Drop </span>\n @if (multiple()) {\n <span class=\"ard-file-input__dragover-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n } @else {\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\n }\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\n</ng-template>\n\n<ng-template\n #defaultUploadedTemplate\n let-amount=\"amount\"\n>\n <div class=\"ard-file-input__uploaded\">\n <span class=\"ard-file-input__uploaded-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\n </div>\n</ng-template>\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i1.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "component", type: i2.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["hasError", "isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i3._ClearButtonComponent, selector: "ard-clear-button" }, { kind: "component", type: i4.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
84
+ ], queries: [{ propertyName: "placeholderTemplate", first: true, predicate: ArdFileInputPlaceholderTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "prefixTemplate", first: true, predicate: ArdFileInputPrefixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "suffixTemplate", first: true, predicate: ArdFileInputSuffixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "idleTemplate", first: true, predicate: ArdiumFileInputIdleContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "dragoverTemplate", first: true, predicate: ArdiumFileInputDragoverContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "uploadedTemplate", first: true, predicate: ArdiumFileInputUploadedContentTemplateDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\n class=\"ard-file-input-form-field-frame\"\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused()\"\n [prefixTemplate]=\"prefixTemplate\"\n [suffixTemplate]=\"suffixTemplate\"\n (dragover)=\"onDragover($event)\"\n (dragleave)=\"onDragleave()\"\n (drop)=\"onDrop($event)\"\n (ardClickOutside)=\"onDragleave()\"\n>\n <div\n class=\"ard-file-input\"\n [ngClass]=\"ngClasses()\"\n >\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\" />\n }\n\n <div class=\"ard-file-input__value\">\n @if (currentViewState() === 'idle') {\n <ng-template\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\n [ngTemplateOutletContext]=\"getIdleContext()\"\n />\n }\n @if (currentViewState() === 'dragover') {\n <ng-template\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\n [ngTemplateOutletContext]=\"getDragoverContext()\"\n />\n }\n @if (currentViewState() === 'uploaded') {\n <ng-template\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\n [ngTemplateOutletContext]=\"getUploadedContext()\"\n />\n }\n </div>\n </div>\n\n @if (shouldShowClearButton) {\n <ard-clear-button\n #focusableElement\n [title]=\"clearButtonTitle()\"\n (mouseup)=\"onClearButtonClick($event)\"\n />\n }\n @if (!shouldBeBlocked) {\n <button\n #focusableElement\n type=\"button\"\n class=\"ard-browse-button\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (click)=\"openBrowseDialog()\"\n >\n <div class=\"ard-focus-overlay\"></div>\n <ard-icon>folder</ard-icon>\n </button>\n }\n </div>\n</ard-form-field-frame>\n\n<input\n #fileInput\n class=\"ard-file-input__input\"\n type=\"file\"\n [name]=\"name()\"\n [multiple]=\"multiple()\"\n [attr.id]=\"htmlId()\"\n (change)=\"onInputChange()\"\n/>\n\n<ng-template\n #defaultIdleTemplate\n let-browse=\"browse\"\n>\n <span class=\"ard-file-input__idle\">\n @if (multiple()) {\n <span>Upload a file</span>\n } @else {\n <span>Upload files</span>\n }\n </span>\n</ng-template>\n\n<ng-template\n #defaultDragoverTemplate\n let-amount=\"amount\"\n>\n <span class=\"ard-file-input__dragover-text\">Drop </span>\n @if (multiple()) {\n <span class=\"ard-file-input__dragover-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n } @else {\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\n }\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\n</ng-template>\n\n<ng-template\n #defaultUploadedTemplate\n let-amount=\"amount\"\n>\n <div class=\"ard-file-input__uploaded\">\n <span class=\"ard-file-input__uploaded-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\n </div>\n</ng-template>\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i1.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "component", type: i2.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["hasError", "isSuccess", "isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i3._ClearButtonComponent, selector: "ard-clear-button" }, { kind: "component", type: i4.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
85
85
  }
86
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumFileInputComponent, decorators: [{
87
87
  type: Component,
@@ -91,7 +91,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
91
91
  useExisting: forwardRef(() => ArdiumFileInputComponent),
92
92
  multi: true,
93
93
  },
94
- ], template: "<ard-form-field-frame\n class=\"ard-file-input-form-field-frame\"\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused\"\n [prefixTemplate]=\"prefixTemplate\"\n [suffixTemplate]=\"suffixTemplate\"\n (dragover)=\"onDragover($event)\"\n (dragleave)=\"onDragleave()\"\n (drop)=\"onDrop($event)\"\n (ardClickOutside)=\"onDragleave()\"\n>\n <div\n class=\"ard-file-input\"\n [ngClass]=\"ngClasses()\"\n >\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\" />\n }\n\n <div class=\"ard-file-input__value\">\n @if (currentViewState() === 'idle') {\n <ng-template\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\n [ngTemplateOutletContext]=\"getIdleContext()\"\n />\n }\n @if (currentViewState() === 'dragover') {\n <ng-template\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\n [ngTemplateOutletContext]=\"getDragoverContext()\"\n />\n }\n @if (currentViewState() === 'uploaded') {\n <ng-template\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\n [ngTemplateOutletContext]=\"getUploadedContext()\"\n />\n }\n </div>\n </div>\n\n @if (shouldShowClearButton) {\n <ard-clear-button\n #focusableElement\n [title]=\"clearButtonTitle()\"\n (mouseup)=\"onClearButtonClick($event)\"\n />\n }\n @if (!shouldBeBlocked) {\n <button\n #focusableElement\n type=\"button\"\n class=\"ard-browse-button\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (click)=\"openBrowseDialog()\"\n >\n <div class=\"ard-focus-overlay\"></div>\n <ard-icon>folder</ard-icon>\n </button>\n }\n </div>\n</ard-form-field-frame>\n\n<input\n #fileInput\n class=\"ard-file-input__input\"\n type=\"file\"\n [name]=\"name()\"\n [multiple]=\"multiple()\"\n [attr.id]=\"htmlId()\"\n (change)=\"onInputChange()\"\n/>\n\n<ng-template\n #defaultIdleTemplate\n let-browse=\"browse\"\n>\n <span class=\"ard-file-input__idle\">\n @if (multiple()) {\n <span>Upload a file</span>\n } @else {\n <span>Upload files</span>\n }\n </span>\n</ng-template>\n\n<ng-template\n #defaultDragoverTemplate\n let-amount=\"amount\"\n>\n <span class=\"ard-file-input__dragover-text\">Drop </span>\n @if (multiple()) {\n <span class=\"ard-file-input__dragover-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n } @else {\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\n }\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\n</ng-template>\n\n<ng-template\n #defaultUploadedTemplate\n let-amount=\"amount\"\n>\n <div class=\"ard-file-input__uploaded\">\n <span class=\"ard-file-input__uploaded-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\n </div>\n</ng-template>\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"] }]
94
+ ], template: "<ard-form-field-frame\n class=\"ard-file-input-form-field-frame\"\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused()\"\n [prefixTemplate]=\"prefixTemplate\"\n [suffixTemplate]=\"suffixTemplate\"\n (dragover)=\"onDragover($event)\"\n (dragleave)=\"onDragleave()\"\n (drop)=\"onDrop($event)\"\n (ardClickOutside)=\"onDragleave()\"\n>\n <div\n class=\"ard-file-input\"\n [ngClass]=\"ngClasses()\"\n >\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\" />\n }\n\n <div class=\"ard-file-input__value\">\n @if (currentViewState() === 'idle') {\n <ng-template\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\n [ngTemplateOutletContext]=\"getIdleContext()\"\n />\n }\n @if (currentViewState() === 'dragover') {\n <ng-template\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\n [ngTemplateOutletContext]=\"getDragoverContext()\"\n />\n }\n @if (currentViewState() === 'uploaded') {\n <ng-template\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\n [ngTemplateOutletContext]=\"getUploadedContext()\"\n />\n }\n </div>\n </div>\n\n @if (shouldShowClearButton) {\n <ard-clear-button\n #focusableElement\n [title]=\"clearButtonTitle()\"\n (mouseup)=\"onClearButtonClick($event)\"\n />\n }\n @if (!shouldBeBlocked) {\n <button\n #focusableElement\n type=\"button\"\n class=\"ard-browse-button\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (click)=\"openBrowseDialog()\"\n >\n <div class=\"ard-focus-overlay\"></div>\n <ard-icon>folder</ard-icon>\n </button>\n }\n </div>\n</ard-form-field-frame>\n\n<input\n #fileInput\n class=\"ard-file-input__input\"\n type=\"file\"\n [name]=\"name()\"\n [multiple]=\"multiple()\"\n [attr.id]=\"htmlId()\"\n (change)=\"onInputChange()\"\n/>\n\n<ng-template\n #defaultIdleTemplate\n let-browse=\"browse\"\n>\n <span class=\"ard-file-input__idle\">\n @if (multiple()) {\n <span>Upload a file</span>\n } @else {\n <span>Upload files</span>\n }\n </span>\n</ng-template>\n\n<ng-template\n #defaultDragoverTemplate\n let-amount=\"amount\"\n>\n <span class=\"ard-file-input__dragover-text\">Drop </span>\n @if (multiple()) {\n <span class=\"ard-file-input__dragover-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n } @else {\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\n }\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\n</ng-template>\n\n<ng-template\n #defaultUploadedTemplate\n let-amount=\"amount\"\n>\n <div class=\"ard-file-input__uploaded\">\n <span class=\"ard-file-input__uploaded-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\n </div>\n</ng-template>\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"] }]
95
95
  }], ctorParameters: () => [{ type: undefined, decorators: [{
96
96
  type: Inject,
97
97
  args: [ARD_FILE_INPUT_DEFAULTS]
@@ -122,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
122
122
  read: TemplateRef,
123
123
  }]
124
124
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQXdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUNMLHdDQUF3QyxFQUN4QyxtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ25DLCtDQUErQyxFQUMvQywyQ0FBMkMsRUFDM0MsK0NBQStDLEdBQ2hELE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQWdCakMsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHVCQUF1QjtJQUVuRSxZQUE2QyxRQUE4QjtRQUN6RSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFHVCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU3QixjQUFjO1FBQ2QsK0NBQStDO1FBQ3RDLGVBQVUsR0FBRyxLQUFLLENBQXdCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFB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LElBQUksRUFBRSxXQUFXO3FCQUNsQjtnQkFLRCxnQkFBZ0I7c0JBSGYsWUFBWTt1QkFBQywrQ0FBK0MsRUFBRTt3QkFDN0QsSUFBSSxFQUFFLFdBQVc7cUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBJbmplY3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcbmltcG9ydCB7IENvbXBvbmVudENvbG9yIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29sb3JzLnR5cGVzJztcbmltcG9ydCB7IEZvcm1FbGVtZW50QXBwZWFyYW5jZSwgRm9ybUVsZW1lbnRWYXJpYW50IH0gZnJvbSAnLi4vLi4vdHlwZXMvdGhlbWluZy50eXBlcyc7XG5pbXBvcnQgeyBfRmlsZUlucHV0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2ZpbGUtaW5wdXQtYmFzZSc7XG5pbXBvcnQgeyBGaWxlSW5wdXRCcm93c2VDb250ZXh0LCBGaWxlSW5wdXRGaWxlQW1vdW50Q29udGV4dCwgRmlsZUlucHV0RmlsZXNDb250ZXh0IH0gZnJvbSAnLi4vZmlsZS1pbnB1dC10eXBlcyc7XG5pbXBvcnQgeyBBUkRfRklMRV9JTlBVVF9ERUZBVUxUUywgQXJkRmlsZUlucHV0RGVmYXVsdHMgfSBmcm9tICcuL2ZpbGUtaW5wdXQuZGVmYXVsdHMnO1xuaW1wb3J0IHtcbiAgQXJkRmlsZUlucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkRmlsZUlucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gIEFyZEZpbGVJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRpdW1GaWxlSW5wdXREcmFnb3ZlckNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkaXVtRmlsZUlucHV0SWRsZUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkaXVtRmlsZUlucHV0VXBsb2FkZWRDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXG59IGZyb20gJy4vZmlsZS1pbnB1dC5kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJkLWZpbGUtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtRmlsZUlucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bUZpbGVJbnB1dENvbXBvbmVudCBleHRlbmRzIF9GaWxlSW5wdXRDb21wb25lbnRCYXNlIHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZEZpbGVJbnB1dERlZmF1bHRzO1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFSRF9GSUxFX0lOUFVUX0RFRkFVTFRTKSBkZWZhdWx0czogQXJkRmlsZUlucHV0RGVmYXVsdHMpIHtcbiAgICBzdXBlcihkZWZhdWx0cyk7XG4gIH1cblxuICByZWFkb25seSBjb21wb25lbnRJZCA9ICcwMTEnO1xuXG4gIC8vISBhcHBlYXJhbmNlXG4gIC8vYWxsIGhhbmRsZWQgaW4gYXJkLWZvcm0tZmllbGQtZnJhbWUgY29tcG9uZW50XG4gIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbnB1dDxGb3JtRWxlbWVudEFwcGVhcmFuY2U+KHRoaXMuX0RFRkFVTFRTLmFwcGVhcmFuY2UpO1xuICByZWFkb25seSB2YXJpYW50ID0gaW5wdXQ8Rm9ybUVsZW1lbnRWYXJpYW50Pih0aGlzLl9ERUZBVUxUUy52YXJpYW50KTtcbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxDb21wb25lbnRDb2xvcj4odGhpcy5fREVGQVVMVFMuY29sb3IpO1xuXG4gIC8vISBvdGhlciBpbnB1dHNcbiAgcmVhZG9ubHkgaW5wdXRBdHRycyA9IGlucHV0PFJlY29yZDxzdHJpbmcsIGFueT4+KHRoaXMuX0RFRkFVTFRTLmlucHV0QXR0cnMpO1xuXG4gIC8vISBwbGFjZWhvbGRlclxuICByZWFkb25seSBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4odGhpcy5fREVGQVVMVFMucGxhY2Vob2xkZXIpO1xuXG4gIC8vISByb290IGVsZW1lbnQgY2xhc3Nlc1xuICByZWFkb25seSBuZ0NsYXNzZXMgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+XG4gICAgW2BhcmQtY29sb3ItJHt0aGlzLmNvbG9yKCl9YCwgYGFyZC1zdGF0ZS0ke3RoaXMuY3VycmVudFZpZXdTdGF0ZSgpfWAsIHRoaXMudmFsdWUgPyAnYXJkLWhhcy12YWx1ZScgOiAnJ10uam9pbignICcpXG4gICk7XG5cbiAgQENvbnRlbnRDaGlsZChBcmRGaWxlSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIHBsYWNlaG9sZGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGdldCBzaG91bGREaXNwbGF5UGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5wbGFjZWhvbGRlcigpKSAmJiAhdGhpcy52YWx1ZTtcbiAgfVxuXG4gIC8vISBjbGVhciBidXR0b25cbiAgcmVhZG9ubHkgY2xlYXJhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5jbGVhcmFibGUsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICByZWFkb25seSBjbGVhckJ1dHRvblRpdGxlID0gaW5wdXQ8c3RyaW5nPih0aGlzLl9ERUZBVUxUUy5jbGVhckJ1dHRvblRpdGxlKTtcblxuICBnZXQgc2hvdWxkU2hvd0NsZWFyQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNsZWFyYWJsZSgpICYmICF0aGlzLmRpc2FibGVkKCkgJiYgQm9vbGVhbih0aGlzLnZhbHVlKTtcbiAgfVxuICBvbkNsZWFyQnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgdGhpcy5mb2N1cygpO1xuICB9XG5cbiAgLy8hIGNsZWFyIGZ1bmN0aW9uXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jbGVhcmFibGUoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy53cml0ZVZhbHVlKG51bGwpO1xuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgICB0aGlzLmNsZWFyRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgcmVhZG9ubHkgY2xlYXJFdmVudCA9IG91dHB1dCh7IGFsaWFzOiAnY2xlYXInIH0pO1xuXG4gIC8vISBzdGF0ZVxuICByZWFkb25seSB0b3VjaGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAvLyEgcHJlZml4ICYgc3VmZml4XG4gIEBDb250ZW50Q2hpbGQoQXJkRmlsZUlucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgcHJlZml4VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKEFyZEZpbGVJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHN1ZmZpeFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgLy8hIHRlbXBsYXRlc1xuICBAQ29udGVudENoaWxkKEFyZGl1bUZpbGVJbnB1dElkbGVDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgfSlcbiAgaWRsZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxGaWxlSW5wdXRCcm93c2VDb250ZXh0PiB8IG51bGwgPSBudWxsO1xuICBAQ29udGVudENoaWxkKEFyZGl1bUZpbGVJbnB1dERyYWdvdmVyQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIGRyYWdvdmVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEZpbGVJbnB1dEZpbGVzQ29udGV4dD4gfCBudWxsID0gbnVsbDtcbiAgQENvbnRlbnRDaGlsZChBcmRpdW1GaWxlSW5wdXRVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICB9KVxuICB1cGxvYWRlZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxGaWxlSW5wdXRGaWxlc0NvbnRleHQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgZ2V0SWRsZUNvbnRleHQoKTogRmlsZUlucHV0QnJvd3NlQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJyb3dzZTogKCkgPT4ge1xuICAgICAgICB0aGlzLm9wZW5Ccm93c2VEaWFsb2coKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICBnZXREcmFnb3ZlckNvbnRleHQoKTogRmlsZUlucHV0RmlsZUFtb3VudENvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICBhbW91bnQ6IHRoaXMuX2RyYWdnZWRGaWxlcyEsXG4gICAgfTtcbiAgfVxuICBnZXRVcGxvYWRlZENvbnRleHQoKTogRmlsZUlucHV0RmlsZXNDb250ZXh0IHtcbiAgICBjb25zdCBmaWxlcyA9IHRoaXMudmFsdWUhO1xuICAgIHJldHVybiB7XG4gICAgICAkaW1wbGljaXQ6IGZpbGVzLFxuICAgICAgYW1vdW50OiBmaWxlcy5sZW5ndGgsXG4gICAgICBmaWxlcyxcbiAgICB9O1xuICB9XG59XG4iLCI8YXJkLWZvcm0tZmllbGQtZnJhbWVcbiAgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dC1mb3JtLWZpZWxkLWZyYW1lXCJcbiAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcbiAgW3ZhcmlhbnRdPVwidmFyaWFudCgpXCJcbiAgW2NvbXBhY3RdPVwiY29tcGFjdCgpXCJcbiAgW2lzRm9jdXNlZF09XCJpc0ZvY3VzZWRcIlxuICBbcHJlZml4VGVtcGxhdGVdPVwicHJlZml4VGVtcGxhdGVcIlxuICBbc3VmZml4VGVtcGxhdGVdPVwic3VmZml4VGVtcGxhdGVcIlxuICAoZHJhZ292ZXIpPVwib25EcmFnb3ZlcigkZXZlbnQpXCJcbiAgKGRyYWdsZWF2ZSk9XCJvbkRyYWdsZWF2ZSgpXCJcbiAgKGRyb3ApPVwib25Ecm9wKCRldmVudClcIlxuICAoYXJkQ2xpY2tPdXRzaWRlKT1cIm9uRHJhZ2xlYXZlKClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dFwiXG4gICAgW25nQ2xhc3NdPVwibmdDbGFzc2VzKClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImFyZC1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgIEBpZiAoc2hvdWxkRGlzcGxheVBsYWNlaG9sZGVyKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFBsYWNlaG9sZGVyVGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1wbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyKCkgfX08L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicGxhY2Vob2xkZXJUZW1wbGF0ZSB8fCBkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZVwiIC8+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdmFsdWVcIj5cbiAgICAgICAgQGlmIChjdXJyZW50Vmlld1N0YXRlKCkgPT09ICdpZGxlJykge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWRsZVRlbXBsYXRlID8/IGRlZmF1bHRJZGxlVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldElkbGVDb250ZXh0KClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChjdXJyZW50Vmlld1N0YXRlKCkgPT09ICdkcmFnb3ZlcicpIHtcbiAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyYWdvdmVyVGVtcGxhdGUgPz8gZGVmYXVsdERyYWdvdmVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldERyYWdvdmVyQ29udGV4dCgpXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoY3VycmVudFZpZXdTdGF0ZSgpID09PSAndXBsb2FkZWQnKSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ1cGxvYWRlZFRlbXBsYXRlID8/IGRlZmF1bHRVcGxvYWRlZFRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJnZXRVcGxvYWRlZENvbnRleHQoKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKHNob3VsZFNob3dDbGVhckJ1dHRvbikge1xuICAgICAgPGFyZC1jbGVhci1idXR0b25cbiAgICAgICAgI2ZvY3VzYWJsZUVsZW1lbnRcbiAgICAgICAgW3RpdGxlXT1cImNsZWFyQnV0dG9uVGl0bGUoKVwiXG4gICAgICAgIChtb3VzZXVwKT1cIm9uQ2xlYXJCdXR0b25DbGljaygkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgfVxuICAgIEBpZiAoIXNob3VsZEJlQmxvY2tlZCkge1xuICAgICAgPGJ1dHRvblxuICAgICAgICAjZm9jdXNhYmxlRWxlbWVudFxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJhcmQtYnJvd3NlLWJ1dHRvblwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgIChjbGljayk9XCJvcGVuQnJvd3NlRGlhbG9nKClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cbiAgICAgICAgPGFyZC1pY29uPmZvbGRlcjwvYXJkLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvZGl2PlxuPC9hcmQtZm9ybS1maWVsZC1mcmFtZT5cblxuPGlucHV0XG4gICNmaWxlSW5wdXRcbiAgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9faW5wdXRcIlxuICB0eXBlPVwiZmlsZVwiXG4gIFtuYW1lXT1cIm5hbWUoKVwiXG4gIFttdWx0aXBsZV09XCJtdWx0aXBsZSgpXCJcbiAgW2F0dHIuaWRdPVwiaHRtbElkKClcIlxuICAoY2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoKVwiXG4vPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHRJZGxlVGVtcGxhdGVcbiAgbGV0LWJyb3dzZT1cImJyb3dzZVwiXG4+XG4gIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2lkbGVcIj5cbiAgICBAaWYgKG11bHRpcGxlKCkpIHtcbiAgICAgIDxzcGFuPlVwbG9hZCBhIGZpbGU8L3NwYW4+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8c3Bhbj5VcGxvYWQgZmlsZXM8L3NwYW4+XG4gICAgfVxuICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHREcmFnb3ZlclRlbXBsYXRlXG4gIGxldC1hbW91bnQ9XCJhbW91bnRcIlxuPlxuICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X19kcmFnb3Zlci10ZXh0XCI+RHJvcCA8L3NwYW4+XG4gIEBpZiAobXVsdGlwbGUoKSkge1xuICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2RyYWdvdmVyLWFtb3VudFwiPlxuICAgICAge3sgYW1vdW50IH19XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1BsdXJhbF09XCJhbW91bnRcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIj0xXCI+ZmlsZTwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ1BsdXJhbENhc2U9XCJvdGhlclwiPmZpbGVzPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvc3Bhbj5cbiAgfSBAZWxzZSB7XG4gICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZHJhZ292ZXItYW1vdW50XCI+IGEgZmlsZSA8L3NwYW4+XG4gIH1cbiAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZHJhZ292ZXItdGV4dFwiPiBoZXJlIHRvIHVwbG9hZCA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHRVcGxvYWRlZFRlbXBsYXRlXG4gIGxldC1hbW91bnQ9XCJhbW91bnRcIlxuPlxuICA8ZGl2IGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX3VwbG9hZGVkXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdXBsb2FkZWQtYW1vdW50XCI+XG4gICAgICB7eyBhbW91bnQgfX1cbiAgICAgIDxuZy1jb250YWluZXIgW25nUGx1cmFsXT1cImFtb3VudFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbmdQbHVyYWxDYXNlPVwiPTFcIj5maWxlPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIm90aGVyXCI+ZmlsZXM8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX3VwbG9hZGVkLXRleHRcIj4gdXBsb2FkZWQuPC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQXdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUNMLHdDQUF3QyxFQUN4QyxtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ25DLCtDQUErQyxFQUMvQywyQ0FBMkMsRUFDM0MsK0NBQStDLEdBQ2hELE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQWdCakMsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHVCQUF1QjtJQUVuRSxZQUE2QyxRQUE4QjtRQUN6RSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFHVCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU3QixjQUFjO1FBQ2QsK0NBQStDO1FBQ3RDLGVBQVUsR0FBRyxLQUFLLENBQXdCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFB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LElBQUksRUFBRSxXQUFXO3FCQUNsQjtnQkFLRCxnQkFBZ0I7c0JBSGYsWUFBWTt1QkFBQywrQ0FBK0MsRUFBRTt3QkFDN0QsSUFBSSxFQUFFLFdBQVc7cUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBJbmplY3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcbmltcG9ydCB7IENvbXBvbmVudENvbG9yIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29sb3JzLnR5cGVzJztcbmltcG9ydCB7IEZvcm1FbGVtZW50QXBwZWFyYW5jZSwgRm9ybUVsZW1lbnRWYXJpYW50IH0gZnJvbSAnLi4vLi4vdHlwZXMvdGhlbWluZy50eXBlcyc7XG5pbXBvcnQgeyBfRmlsZUlucHV0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2ZpbGUtaW5wdXQtYmFzZSc7XG5pbXBvcnQgeyBGaWxlSW5wdXRCcm93c2VDb250ZXh0LCBGaWxlSW5wdXRGaWxlQW1vdW50Q29udGV4dCwgRmlsZUlucHV0RmlsZXNDb250ZXh0IH0gZnJvbSAnLi4vZmlsZS1pbnB1dC10eXBlcyc7XG5pbXBvcnQgeyBBUkRfRklMRV9JTlBVVF9ERUZBVUxUUywgQXJkRmlsZUlucHV0RGVmYXVsdHMgfSBmcm9tICcuL2ZpbGUtaW5wdXQuZGVmYXVsdHMnO1xuaW1wb3J0IHtcbiAgQXJkRmlsZUlucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkRmlsZUlucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gIEFyZEZpbGVJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRpdW1GaWxlSW5wdXREcmFnb3ZlckNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkaXVtRmlsZUlucHV0SWRsZUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkaXVtRmlsZUlucHV0VXBsb2FkZWRDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXG59IGZyb20gJy4vZmlsZS1pbnB1dC5kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJkLWZpbGUtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtRmlsZUlucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bUZpbGVJbnB1dENvbXBvbmVudCBleHRlbmRzIF9GaWxlSW5wdXRDb21wb25lbnRCYXNlIHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZEZpbGVJbnB1dERlZmF1bHRzO1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFSRF9GSUxFX0lOUFVUX0RFRkFVTFRTKSBkZWZhdWx0czogQXJkRmlsZUlucHV0RGVmYXVsdHMpIHtcbiAgICBzdXBlcihkZWZhdWx0cyk7XG4gIH1cblxuICByZWFkb25seSBjb21wb25lbnRJZCA9ICcwMTEnO1xuXG4gIC8vISBhcHBlYXJhbmNlXG4gIC8vYWxsIGhhbmRsZWQgaW4gYXJkLWZvcm0tZmllbGQtZnJhbWUgY29tcG9uZW50XG4gIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbnB1dDxGb3JtRWxlbWVudEFwcGVhcmFuY2U+KHRoaXMuX0RFRkFVTFRTLmFwcGVhcmFuY2UpO1xuICByZWFkb25seSB2YXJpYW50ID0gaW5wdXQ8Rm9ybUVsZW1lbnRWYXJpYW50Pih0aGlzLl9ERUZBVUxUUy52YXJpYW50KTtcbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxDb21wb25lbnRDb2xvcj4odGhpcy5fREVGQVVMVFMuY29sb3IpO1xuXG4gIC8vISBvdGhlciBpbnB1dHNcbiAgcmVhZG9ubHkgaW5wdXRBdHRycyA9IGlucHV0PFJlY29yZDxzdHJpbmcsIGFueT4+KHRoaXMuX0RFRkFVTFRTLmlucHV0QXR0cnMpO1xuXG4gIC8vISBwbGFjZWhvbGRlclxuICByZWFkb25seSBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4odGhpcy5fREVGQVVMVFMucGxhY2Vob2xkZXIpO1xuXG4gIC8vISByb290IGVsZW1lbnQgY2xhc3Nlc1xuICByZWFkb25seSBuZ0NsYXNzZXMgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+XG4gICAgW2BhcmQtY29sb3ItJHt0aGlzLmNvbG9yKCl9YCwgYGFyZC1zdGF0ZS0ke3RoaXMuY3VycmVudFZpZXdTdGF0ZSgpfWAsIHRoaXMudmFsdWUgPyAnYXJkLWhhcy12YWx1ZScgOiAnJ10uam9pbignICcpXG4gICk7XG5cbiAgQENvbnRlbnRDaGlsZChBcmRGaWxlSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIHBsYWNlaG9sZGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGdldCBzaG91bGREaXNwbGF5UGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5wbGFjZWhvbGRlcigpKSAmJiAhdGhpcy52YWx1ZTtcbiAgfVxuXG4gIC8vISBjbGVhciBidXR0b25cbiAgcmVhZG9ubHkgY2xlYXJhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5jbGVhcmFibGUsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICByZWFkb25seSBjbGVhckJ1dHRvblRpdGxlID0gaW5wdXQ8c3RyaW5nPih0aGlzLl9ERUZBVUxUUy5jbGVhckJ1dHRvblRpdGxlKTtcblxuICBnZXQgc2hvdWxkU2hvd0NsZWFyQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNsZWFyYWJsZSgpICYmICF0aGlzLmRpc2FibGVkKCkgJiYgQm9vbGVhbih0aGlzLnZhbHVlKTtcbiAgfVxuICBvbkNsZWFyQnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgdGhpcy5mb2N1cygpO1xuICB9XG5cbiAgLy8hIGNsZWFyIGZ1bmN0aW9uXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jbGVhcmFibGUoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy53cml0ZVZhbHVlKG51bGwpO1xuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgICB0aGlzLmNsZWFyRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgcmVhZG9ubHkgY2xlYXJFdmVudCA9IG91dHB1dCh7IGFsaWFzOiAnY2xlYXInIH0pO1xuXG4gIC8vISBzdGF0ZVxuICByZWFkb25seSB0b3VjaGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAvLyEgcHJlZml4ICYgc3VmZml4XG4gIEBDb250ZW50Q2hpbGQoQXJkRmlsZUlucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgcHJlZml4VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKEFyZEZpbGVJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHN1ZmZpeFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgLy8hIHRlbXBsYXRlc1xuICBAQ29udGVudENoaWxkKEFyZGl1bUZpbGVJbnB1dElkbGVDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgfSlcbiAgaWRsZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxGaWxlSW5wdXRCcm93c2VDb250ZXh0PiB8IG51bGwgPSBudWxsO1xuICBAQ29udGVudENoaWxkKEFyZGl1bUZpbGVJbnB1dERyYWdvdmVyQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIGRyYWdvdmVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEZpbGVJbnB1dEZpbGVzQ29udGV4dD4gfCBudWxsID0gbnVsbDtcbiAgQENvbnRlbnRDaGlsZChBcmRpdW1GaWxlSW5wdXRVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICB9KVxuICB1cGxvYWRlZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxGaWxlSW5wdXRGaWxlc0NvbnRleHQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgZ2V0SWRsZUNvbnRleHQoKTogRmlsZUlucHV0QnJvd3NlQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJyb3dzZTogKCkgPT4ge1xuICAgICAgICB0aGlzLm9wZW5Ccm93c2VEaWFsb2coKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICBnZXREcmFnb3ZlckNvbnRleHQoKTogRmlsZUlucHV0RmlsZUFtb3VudENvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICBhbW91bnQ6IHRoaXMuX2RyYWdnZWRGaWxlcyEsXG4gICAgfTtcbiAgfVxuICBnZXRVcGxvYWRlZENvbnRleHQoKTogRmlsZUlucHV0RmlsZXNDb250ZXh0IHtcbiAgICBjb25zdCBmaWxlcyA9IHRoaXMudmFsdWUhO1xuICAgIHJldHVybiB7XG4gICAgICAkaW1wbGljaXQ6IGZpbGVzLFxuICAgICAgYW1vdW50OiBmaWxlcy5sZW5ndGgsXG4gICAgICBmaWxlcyxcbiAgICB9O1xuICB9XG59XG4iLCI8YXJkLWZvcm0tZmllbGQtZnJhbWVcbiAgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dC1mb3JtLWZpZWxkLWZyYW1lXCJcbiAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcbiAgW3ZhcmlhbnRdPVwidmFyaWFudCgpXCJcbiAgW2NvbXBhY3RdPVwiY29tcGFjdCgpXCJcbiAgW2lzRm9jdXNlZF09XCJpc0ZvY3VzZWQoKVwiXG4gIFtwcmVmaXhUZW1wbGF0ZV09XCJwcmVmaXhUZW1wbGF0ZVwiXG4gIFtzdWZmaXhUZW1wbGF0ZV09XCJzdWZmaXhUZW1wbGF0ZVwiXG4gIChkcmFnb3Zlcik9XCJvbkRyYWdvdmVyKCRldmVudClcIlxuICAoZHJhZ2xlYXZlKT1cIm9uRHJhZ2xlYXZlKClcIlxuICAoZHJvcCk9XCJvbkRyb3AoJGV2ZW50KVwiXG4gIChhcmRDbGlja091dHNpZGUpPVwib25EcmFnbGVhdmUoKVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImFyZC1maWxlLWlucHV0XCJcbiAgICBbbmdDbGFzc109XCJuZ0NsYXNzZXMoKVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgQGlmIChzaG91bGREaXNwbGF5UGxhY2Vob2xkZXIpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIoKSB9fTwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJwbGFjZWhvbGRlclRlbXBsYXRlIHx8IGRlZmF1bHRQbGFjZWhvbGRlclRlbXBsYXRlXCIgLz5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cImFyZC1maWxlLWlucHV0X192YWx1ZVwiPlxuICAgICAgICBAaWYgKGN1cnJlbnRWaWV3U3RhdGUoKSA9PT0gJ2lkbGUnKSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpZGxlVGVtcGxhdGUgPz8gZGVmYXVsdElkbGVUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0SWRsZUNvbnRleHQoKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGN1cnJlbnRWaWV3U3RhdGUoKSA9PT0gJ2RyYWdvdmVyJykge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJhZ292ZXJUZW1wbGF0ZSA/PyBkZWZhdWx0RHJhZ292ZXJUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0RHJhZ292ZXJDb250ZXh0KClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChjdXJyZW50Vmlld1N0YXRlKCkgPT09ICd1cGxvYWRlZCcpIHtcbiAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInVwbG9hZGVkVGVtcGxhdGUgPz8gZGVmYXVsdFVwbG9hZGVkVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldFVwbG9hZGVkQ29udGV4dCgpXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoc2hvdWxkU2hvd0NsZWFyQnV0dG9uKSB7XG4gICAgICA8YXJkLWNsZWFyLWJ1dHRvblxuICAgICAgICAjZm9jdXNhYmxlRWxlbWVudFxuICAgICAgICBbdGl0bGVdPVwiY2xlYXJCdXR0b25UaXRsZSgpXCJcbiAgICAgICAgKG1vdXNldXApPVwib25DbGVhckJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgLz5cbiAgICB9XG4gICAgQGlmICghc2hvdWxkQmVCbG9ja2VkKSB7XG4gICAgICA8YnV0dG9uXG4gICAgICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImFyZC1icm93c2UtYnV0dG9uXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5Ccm93c2VEaWFsb2coKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtZm9jdXMtb3ZlcmxheVwiPjwvZGl2PlxuICAgICAgICA8YXJkLWljb24+Zm9sZGVyPC9hcmQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG48L2FyZC1mb3JtLWZpZWxkLWZyYW1lPlxuXG48aW5wdXRcbiAgI2ZpbGVJbnB1dFxuICBjbGFzcz1cImFyZC1maWxlLWlucHV0X19pbnB1dFwiXG4gIHR5cGU9XCJmaWxlXCJcbiAgW25hbWVdPVwibmFtZSgpXCJcbiAgW211bHRpcGxlXT1cIm11bHRpcGxlKClcIlxuICBbYXR0ci5pZF09XCJodG1sSWQoKVwiXG4gIChjaGFuZ2UpPVwib25JbnB1dENoYW5nZSgpXCJcbi8+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdElkbGVUZW1wbGF0ZVxuICBsZXQtYnJvd3NlPVwiYnJvd3NlXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9faWRsZVwiPlxuICAgIEBpZiAobXVsdGlwbGUoKSkge1xuICAgICAgPHNwYW4+VXBsb2FkIGEgZmlsZTwvc3Bhbj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxzcGFuPlVwbG9hZCBmaWxlczwvc3Bhbj5cbiAgICB9XG4gIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdERyYWdvdmVyVGVtcGxhdGVcbiAgbGV0LWFtb3VudD1cImFtb3VudFwiXG4+XG4gIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2RyYWdvdmVyLXRleHRcIj5Ecm9wIDwvc3Bhbj5cbiAgQGlmIChtdWx0aXBsZSgpKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZHJhZ292ZXItYW1vdW50XCI+XG4gICAgICB7eyBhbW91bnQgfX1cbiAgICAgIDxuZy1jb250YWluZXIgW25nUGx1cmFsXT1cImFtb3VudFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbmdQbHVyYWxDYXNlPVwiPTFcIj5maWxlPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIm90aGVyXCI+ZmlsZXM8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICB9IEBlbHNlIHtcbiAgICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X19kcmFnb3Zlci1hbW91bnRcIj4gYSBmaWxlIDwvc3Bhbj5cbiAgfVxuICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X19kcmFnb3Zlci10ZXh0XCI+IGhlcmUgdG8gdXBsb2FkIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdFVwbG9hZGVkVGVtcGxhdGVcbiAgbGV0LWFtb3VudD1cImFtb3VudFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdXBsb2FkZWRcIj5cbiAgICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X191cGxvYWRlZC1hbW91bnRcIj5cbiAgICAgIHt7IGFtb3VudCB9fVxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdQbHVyYWxdPVwiYW1vdW50XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ1BsdXJhbENhc2U9XCI9MVwiPmZpbGU8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgbmdQbHVyYWxDYXNlPVwib3RoZXJcIj5maWxlczwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdXBsb2FkZWQtdGV4dFwiPiB1cGxvYWRlZC48L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,14 +1,12 @@
1
1
  import { Directive, Input, input, output, signal, viewChild } from '@angular/core';
2
2
  import { coerceBooleanProperty } from '@ardium-ui/devkit';
3
3
  import { isDefined } from 'simple-bool';
4
- import { TakeChance as Random } from 'take-chance';
5
4
  import { _NgModelComponentBase } from '../_internal/ngmodel-component';
6
5
  import * as i0 from "@angular/core";
7
6
  export class _FileInputComponentBase extends _NgModelComponentBase {
8
7
  constructor() {
9
8
  super(...arguments);
10
9
  this.fileInputEl = viewChild('fileInput');
11
- this.htmlId = input(Random.id());
12
10
  this.name = input('');
13
11
  this._wasViewInit = false;
14
12
  //! appearance
@@ -30,6 +28,7 @@ export class _FileInputComponentBase extends _NgModelComponentBase {
30
28
  this._beforeDragoverState = 'idle';
31
29
  }
32
30
  ngOnInit() {
31
+ super.ngOnInit();
33
32
  if (!(window.File && window.FileReader && window.Blob)) {
34
33
  console.error(new Error(`ARD-${this.componentId}0: Cannot use Ardium UI file features because this browser does not support file handling!`));
35
34
  }
@@ -144,11 +143,11 @@ export class _FileInputComponentBase extends _NgModelComponentBase {
144
143
  inputEl.files = dataTransfer.files;
145
144
  }
146
145
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: _FileInputComponentBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
147
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: _FileInputComponentBase, inputs: { htmlId: { classPropertyName: "htmlId", publicName: "htmlId", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, blockAfterUpload: { classPropertyName: "blockAfterUpload", publicName: "blockAfterUpload", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", changeEvent: "change", dragFilesEvent: "dragFiles" }, viewQueries: [{ propertyName: "fileInputEl", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
146
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: _FileInputComponentBase, inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, blockAfterUpload: { classPropertyName: "blockAfterUpload", publicName: "blockAfterUpload", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", changeEvent: "change", dragFilesEvent: "dragFiles" }, viewQueries: [{ propertyName: "fileInputEl", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
148
147
  }
149
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: _FileInputComponentBase, decorators: [{
150
149
  type: Directive
151
150
  }], propDecorators: { value: [{
152
151
  type: Input
153
152
  }] } });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9maWxlLWlucHV0cy9maWxlLWlucHV0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsS0FBSyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLElBQUksTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUl2RSxNQUFNLE9BQWdCLHVCQUF3QixTQUFRLHFCQUFxQjtJQUQzRTs7UUFNVyxnQkFBVyxHQUFHLFNBQVMsQ0FBK0IsV0FBVyxDQUFDLENBQUM7UUFFbkUsV0FBTSxHQUFHLEtBQUssQ0FBUyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQyxTQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBV3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBTy9CLGNBQWM7UUFDTCxZQUFPLEdBQUcsS0FBSyxDQUFlLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU1RixZQUFZO1FBQ0gsYUFBUSxHQUFHLEtBQUssQ0FBZSxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEYscUJBQWdCLEdBQUcsS0FB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O1lBQUUsT0FBTztRQUNyQixJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNyQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyQixZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ3JDLENBQUM7K0dBckttQix1QkFBdUI7bUdBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFENUMsU0FBUzs4QkF5Q0osS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBpbnB1dCwgb3V0cHV0LCBzaWduYWwsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnc2ltcGxlLWJvb2wnO1xuaW1wb3J0IHsgVGFrZUNoYW5jZSBhcyBSYW5kb20gfSBmcm9tICd0YWtlLWNoYW5jZSc7XG5pbXBvcnQgeyBfTmdNb2RlbENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9faW50ZXJuYWwvbmdtb2RlbC1jb21wb25lbnQnO1xuaW1wb3J0IHsgX0ZpbGVJbnB1dEJhc2VEZWZhdWx0cyB9IGZyb20gJy4vZmlsZS1pbnB1dC1iYXNlLmRlZmF1bHRzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgX0ZpbGVJbnB1dENvbXBvbmVudEJhc2UgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX0RFRkFVTFRTITogX0ZpbGVJbnB1dEJhc2VEZWZhdWx0cztcblxuICBhYnN0cmFjdCByZWFkb25seSBjb21wb25lbnRJZDogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IGZpbGVJbnB1dEVsID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdmaWxlSW5wdXQnKTtcblxuICByZWFkb25seSBodG1sSWQgPSBpbnB1dDxzdHJpbmc+KFJhbmRvbS5pZCgpKTtcbiAgcmVhZG9ubHkgbmFtZSA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghKHdpbmRvdy5GaWxlICYmIHdpbmRvdy5GaWxlUmVhZGVyICYmIHdpbmRvdy5CbG9iKSkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgbmV3IEVycm9yKFxuICAgICAgICAgIGBBUkQtJHt0aGlzLmNvbXBvbmVudElkfTA6IENhbm5vdCB1c2UgQXJkaXVtIFVJIGZpbGUgZmVhdHVyZXMgYmVjYXVzZSB0aGlzIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBmaWxlIGhhbmRsaW5nIWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcHJvdGVjdGVkIF93YXNWaWV3SW5pdCA9IGZhbHNlO1xuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fd2FzVmlld0luaXQgPSB0cnVlO1xuXG4gICAgdGhpcy5fdXBkYXRlRWxlbWVudFZhbHVlKCk7XG4gIH1cblxuICAvLyEgYXBwZWFyYW5jZVxuICByZWFkb25seSBjb21wYWN0ID0gaW5wdXQ8Ym9vbGVhbiwgYW55PihmYWxzZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xuXG4gIC8vISBzZXR0aW5nc1xuICByZWFkb25seSBtdWx0aXBsZSA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcbiAgcmVhZG9ubHkgYmxvY2tBZnRlclVwbG9hZCA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICBnZXQgc2hvdWxkQmVCbG9ja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmJsb2NrQWZ0ZXJVcGxvYWQoKSAmJiBpc0RlZmluZWQodGhpcy52YWx1ZSk7XG4gIH1cblxuICAvLyEgdmFsdWVcbiAgcHJvdGVjdGVkIF92YWx1ZTogRmlsZVtdIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpOiBGaWxlW10gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgc2V0IHZhbHVlKHY6IEZpbGUgfCBGaWxlW10gfCBudWxsKSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKHYpO1xuICB9XG5cbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBvdXRwdXQ8RmlsZVtdIHwgbnVsbD4oKTtcbiAgcmVhZG9ubHkgY2hhbmdlRXZlbnQgPSBvdXRwdXQ8RmlsZVtdIHwgbnVsbD4oeyBhbGlhczogJ2NoYW5nZScgfSk7XG4gIHJlYWRvbmx5IGRyYWdGaWxlc0V2ZW50ID0gb3V0cHV0PEZpbGVbXSB8IG51bGw+KHsgYWxpYXM6ICdkcmFnRmlsZXMnIH0pO1xuXG4gIHByb3RlY3RlZCBfdmFsdWVCZWZvcmVJbml0OiBGaWxlW10gfCBudWxsID0gbnVsbDtcbiAgd3JpdGVWYWx1ZSh2OiBGaWxlIHwgRmlsZVtdIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuX3dyaXRlVmFsdWUodiwgZmFsc2UpO1xuICB9XG4gIHByb3RlY3RlZCBfd3JpdGVWYWx1ZSh2OiBGaWxlIHwgRmlsZVtdIHwgbnVsbCwgZW1pdEV2ZW50cyA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAodiBpbnN0YW5jZW9mIEZpbGUpIHtcbiAgICAgIHYgPSBbdl07XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlLnNldCgndXBsb2FkZWQnKTtcbiAgICB0aGlzLl92YWx1ZSA9IHY7XG5cbiAgICBpZiAodGhpcy5fd2FzVmlld0luaXQpIHRoaXMuX3VwZGF0ZUVsZW1lbnRWYWx1ZSgpO1xuXG4gICAgaWYgKGVtaXRFdmVudHMpIHtcbiAgICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2VtaXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgdiA9IHRoaXMudmFsdWU7XG4gICAgdGhpcy5fb25DaGFuZ2VSZWdpc3RlcmVkPy4odik7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xuICAgIHRoaXMuY2hhbmdlRXZlbnQuZW1pdCh2KTtcbiAgfVxuXG4gIG9wZW5Ccm93c2VEaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5maWxlSW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH1cblxuICAvLyEgdGVtcG9yYXJ5IHZhbHVlXG4gIC8vZm9yIGRyYWcgZXZlbnQgaGFuZGxpbmdcbiAgcHJvdGVjdGVkIF9kcmFnZ2VkRmlsZXM6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIC8vISB2aWV3IHN0YXRlXG4gIHJlYWRvbmx5IGN1cnJlbnRWaWV3U3RhdGUgPSBzaWduYWw8J2lkbGUnIHwgJ2RyYWdvdmVyJyB8ICd1cGxvYWRlZCc+KCdpZGxlJyk7XG4gIHByaXZhdGUgX2JlZm9yZURyYWdvdmVyU3RhdGU6ICdpZGxlJyB8ICd1cGxvYWRlZCcgPSAnaWRsZSc7XG5cbiAgLy8hIGV2ZW50IGhhbmRsZXJzXG4gIG9uRHJhZ292ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuc2hvdWxkQmVCbG9ja2VkKSB7XG4gICAgICBpZiAoIWV2ZW50LmRhdGFUcmFuc2ZlcikgcmV0dXJuO1xuXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdub25lJztcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuY3VycmVudFZpZXdTdGF0ZSgpID09PSAnZHJhZ292ZXInKSByZXR1cm47XG5cbiAgICB0aGlzLl9kcmFnZ2VkRmlsZXMgPSB0aGlzLl9jb3VudERyYWdlbnRlckZpbGVzKGV2ZW50LmRhdGFUcmFuc2Zlcik7XG5cbiAgICBpZiAoIXRoaXMuX2RyYWdnZWRGaWxlcykgcmV0dXJuO1xuXG4gICAgdGhpcy5fYmVmb3JlRHJhZ292ZXJTdGF0ZSA9IHRoaXMuY3VycmVudFZpZXdTdGF0ZSgpIGFzICdpZGxlJyB8ICd1cGxvYWRlZCc7XG4gICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlLnNldCgnZHJhZ292ZXInKTtcbiAgfVxuICBvbkRyYWdsZWF2ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaG91bGRCZUJsb2NrZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5jdXJyZW50Vmlld1N0YXRlKCkgIT09ICdkcmFnb3ZlcicpIHJldHVybjtcblxuICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQodGhpcy5fYmVmb3JlRHJhZ292ZXJTdGF0ZSk7XG4gIH1cbiAgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKHRoaXMuc2hvdWxkQmVCbG9ja2VkKSByZXR1cm47XG5cbiAgICBjb25zdCBmaWxlbGlzdCA9IGV2ZW50LmRhdGFUcmFuc2Zlcj8uZmlsZXM7XG4gICAgaWYgKCFmaWxlbGlzdCkge1xuICAgICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlLnNldCgnaWRsZScpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmaWxlcyA9IEFycmF5LmZyb20oZmlsZWxpc3QpO1xuICAgIGlmICghZmlsZXMpIHtcbiAgICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ2lkbGUnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmN1cnJlbnRWaWV3U3RhdGUuc2V0KCd1cGxvYWRlZCcpO1xuICAgIHRoaXMuX3dyaXRlVmFsdWUoZmlsZXMpO1xuICB9XG4gIG9uSW5wdXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKHRoaXMuZmlsZUlucHV0RWwoKT8ubmF0aXZlRWxlbWVudC5maWxlcyA/PyBbXSk7XG4gICAgaWYgKGZpbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5fd3JpdGVWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ2lkbGUnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fd3JpdGVWYWx1ZShmaWxlcyk7XG4gICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlLnNldCgndXBsb2FkZWQnKTtcbiAgfVxuXG4gIC8vISBoZWxwZXJzXG4gIHByb3RlY3RlZCBfY291bnREcmFnZW50ZXJGaWxlcyhkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgaWYgKCFkYXRhKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiBBcnJheS5mcm9tKGRhdGEuaXRlbXMpLmZpbHRlcihpdGVtID0+IGl0ZW0ua2luZCA9PT0gJ2ZpbGUnKS5sZW5ndGg7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3VwZGF0ZUVsZW1lbnRWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCB2ID0gdGhpcy52YWx1ZTtcblxuICAgIGNvbnN0IGlucHV0RWwgPSB0aGlzLmZpbGVJbnB1dEVsKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFpbnB1dEVsKSByZXR1cm47XG4gICAgaWYgKCF2KSB7XG4gICAgICBpbnB1dEVsLmZpbGVzID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRhVHJhbnNmZXIgPSBuZXcgRGF0YVRyYW5zZmVyKCk7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIHYpIHtcbiAgICAgIGRhdGFUcmFuc2Zlci5pdGVtcy5hZGQoZmlsZSk7XG4gICAgfVxuICAgIGlucHV0RWwuZmlsZXMgPSBkYXRhVHJhbnNmZXIuZmlsZXM7XG4gIH1cbn1cbiJdfQ==
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9maWxlLWlucHV0cy9maWxlLWlucHV0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsS0FBSyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUl2RSxNQUFNLE9BQWdCLHVCQUF3QixTQUFRLHFCQUFxQjtJQUQzRTs7UUFNVyxnQkFBVyxHQUFHLFNBQVMsQ0FBK0IsV0FBVyxDQUFDLENBQUM7UUFFbkUsU0FBSSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQVl4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQU8vQixjQUFjO1FBQ0wsWUFBTyxHQUFHLEtBQUssQ0FBZSxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFNUYsWUFBWTtRQUNILGFBQVEsR0FBRyxLQUFLLENBQWUsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BGLHFCQUFnQixHQUFHLEtBQUssQ0FBZSxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFNckcsU0FBUztRQUNDLFdB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O1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4QyxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JCLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDckMsQ0FBQzsrR0FyS21CLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUQ1QyxTQUFTOzhCQXlDSixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XG5pbXBvcnQgeyBpc0RlZmluZWQgfSBmcm9tICdzaW1wbGUtYm9vbCc7XG5pbXBvcnQgeyBfTmdNb2RlbENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9faW50ZXJuYWwvbmdtb2RlbC1jb21wb25lbnQnO1xuaW1wb3J0IHsgX0ZpbGVJbnB1dEJhc2VEZWZhdWx0cyB9IGZyb20gJy4vZmlsZS1pbnB1dC1iYXNlLmRlZmF1bHRzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgX0ZpbGVJbnB1dENvbXBvbmVudEJhc2UgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX0RFRkFVTFRTITogX0ZpbGVJbnB1dEJhc2VEZWZhdWx0cztcblxuICBhYnN0cmFjdCByZWFkb25seSBjb21wb25lbnRJZDogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IGZpbGVJbnB1dEVsID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdmaWxlSW5wdXQnKTtcblxuICByZWFkb25seSBuYW1lID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBpZiAoISh3aW5kb3cuRmlsZSAmJiB3aW5kb3cuRmlsZVJlYWRlciAmJiB3aW5kb3cuQmxvYikpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIG5ldyBFcnJvcihcbiAgICAgICAgICBgQVJELSR7dGhpcy5jb21wb25lbnRJZH0wOiBDYW5ub3QgdXNlIEFyZGl1bSBVSSBmaWxlIGZlYXR1cmVzIGJlY2F1c2UgdGhpcyBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgZmlsZSBoYW5kbGluZyFgXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBfd2FzVmlld0luaXQgPSBmYWxzZTtcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3dhc1ZpZXdJbml0ID0gdHJ1ZTtcblxuICAgIHRoaXMuX3VwZGF0ZUVsZW1lbnRWYWx1ZSgpO1xuICB9XG5cbiAgLy8hIGFwcGVhcmFuY2VcbiAgcmVhZG9ubHkgY29tcGFjdCA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICAvLyEgc2V0dGluZ3NcbiAgcmVhZG9ubHkgbXVsdGlwbGUgPSBpbnB1dDxib29sZWFuLCBhbnk+KGZhbHNlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XG4gIHJlYWRvbmx5IGJsb2NrQWZ0ZXJVcGxvYWQgPSBpbnB1dDxib29sZWFuLCBhbnk+KGZhbHNlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XG5cbiAgZ2V0IHNob3VsZEJlQmxvY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ibG9ja0FmdGVyVXBsb2FkKCkgJiYgaXNEZWZpbmVkKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgLy8hIHZhbHVlXG4gIHByb3RlY3RlZCBfdmFsdWU6IEZpbGVbXSB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogRmlsZVtdIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG4gIHNldCB2YWx1ZSh2OiBGaWxlIHwgRmlsZVtdIHwgbnVsbCkge1xuICAgIHRoaXMud3JpdGVWYWx1ZSh2KTtcbiAgfVxuXG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gb3V0cHV0PEZpbGVbXSB8IG51bGw+KCk7XG4gIHJlYWRvbmx5IGNoYW5nZUV2ZW50ID0gb3V0cHV0PEZpbGVbXSB8IG51bGw+KHsgYWxpYXM6ICdjaGFuZ2UnIH0pO1xuICByZWFkb25seSBkcmFnRmlsZXNFdmVudCA9IG91dHB1dDxGaWxlW10gfCBudWxsPih7IGFsaWFzOiAnZHJhZ0ZpbGVzJyB9KTtcblxuICBwcm90ZWN0ZWQgX3ZhbHVlQmVmb3JlSW5pdDogRmlsZVtdIHwgbnVsbCA9IG51bGw7XG4gIHdyaXRlVmFsdWUodjogRmlsZSB8IEZpbGVbXSB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLl93cml0ZVZhbHVlKHYsIGZhbHNlKTtcbiAgfVxuICBwcm90ZWN0ZWQgX3dyaXRlVmFsdWUodjogRmlsZSB8IEZpbGVbXSB8IG51bGwsIGVtaXRFdmVudHMgPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKHYgaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgICB2ID0gW3ZdO1xuICAgIH1cblxuICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ3VwbG9hZGVkJyk7XG4gICAgdGhpcy5fdmFsdWUgPSB2O1xuXG4gICAgaWYgKHRoaXMuX3dhc1ZpZXdJbml0KSB0aGlzLl91cGRhdGVFbGVtZW50VmFsdWUoKTtcblxuICAgIGlmIChlbWl0RXZlbnRzKSB7XG4gICAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9lbWl0Q2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHYgPSB0aGlzLnZhbHVlO1xuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHYpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcbiAgICB0aGlzLmNoYW5nZUV2ZW50LmVtaXQodik7XG4gIH1cblxuICBvcGVuQnJvd3NlRGlhbG9nKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZUlucHV0RWwoKT8ubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgLy8hIHRlbXBvcmFyeSB2YWx1ZVxuICAvL2ZvciBkcmFnIGV2ZW50IGhhbmRsaW5nXG4gIHByb3RlY3RlZCBfZHJhZ2dlZEZpbGVzOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvLyEgdmlldyBzdGF0ZVxuICByZWFkb25seSBjdXJyZW50Vmlld1N0YXRlID0gc2lnbmFsPCdpZGxlJyB8ICdkcmFnb3ZlcicgfCAndXBsb2FkZWQnPignaWRsZScpO1xuICBwcml2YXRlIF9iZWZvcmVEcmFnb3ZlclN0YXRlOiAnaWRsZScgfCAndXBsb2FkZWQnID0gJ2lkbGUnO1xuXG4gIC8vISBldmVudCBoYW5kbGVyc1xuICBvbkRyYWdvdmVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICh0aGlzLnNob3VsZEJlQmxvY2tlZCkge1xuICAgICAgaWYgKCFldmVudC5kYXRhVHJhbnNmZXIpIHJldHVybjtcblxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnbm9uZSc7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmN1cnJlbnRWaWV3U3RhdGUoKSA9PT0gJ2RyYWdvdmVyJykgcmV0dXJuO1xuXG4gICAgdGhpcy5fZHJhZ2dlZEZpbGVzID0gdGhpcy5fY291bnREcmFnZW50ZXJGaWxlcyhldmVudC5kYXRhVHJhbnNmZXIpO1xuXG4gICAgaWYgKCF0aGlzLl9kcmFnZ2VkRmlsZXMpIHJldHVybjtcblxuICAgIHRoaXMuX2JlZm9yZURyYWdvdmVyU3RhdGUgPSB0aGlzLmN1cnJlbnRWaWV3U3RhdGUoKSBhcyAnaWRsZScgfCAndXBsb2FkZWQnO1xuICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ2RyYWdvdmVyJyk7XG4gIH1cbiAgb25EcmFnbGVhdmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2hvdWxkQmVCbG9ja2VkKSByZXR1cm47XG4gICAgaWYgKHRoaXMuY3VycmVudFZpZXdTdGF0ZSgpICE9PSAnZHJhZ292ZXInKSByZXR1cm47XG5cbiAgICB0aGlzLmN1cnJlbnRWaWV3U3RhdGUuc2V0KHRoaXMuX2JlZm9yZURyYWdvdmVyU3RhdGUpO1xuICB9XG4gIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGlmICh0aGlzLnNob3VsZEJlQmxvY2tlZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgZmlsZWxpc3QgPSBldmVudC5kYXRhVHJhbnNmZXI/LmZpbGVzO1xuICAgIGlmICghZmlsZWxpc3QpIHtcbiAgICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ2lkbGUnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKGZpbGVsaXN0KTtcbiAgICBpZiAoIWZpbGVzKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWaWV3U3RhdGUuc2V0KCdpZGxlJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlLnNldCgndXBsb2FkZWQnKTtcbiAgICB0aGlzLl93cml0ZVZhbHVlKGZpbGVzKTtcbiAgfVxuICBvbklucHV0Q2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbGVzID0gQXJyYXkuZnJvbSh0aGlzLmZpbGVJbnB1dEVsKCk/Lm5hdGl2ZUVsZW1lbnQuZmlsZXMgPz8gW10pO1xuICAgIGlmIChmaWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuX3dyaXRlVmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmN1cnJlbnRWaWV3U3RhdGUuc2V0KCdpZGxlJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3dyaXRlVmFsdWUoZmlsZXMpO1xuICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ3VwbG9hZGVkJyk7XG4gIH1cblxuICAvLyEgaGVscGVyc1xuICBwcm90ZWN0ZWQgX2NvdW50RHJhZ2VudGVyRmlsZXMoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICghZGF0YSkgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gQXJyYXkuZnJvbShkYXRhLml0ZW1zKS5maWx0ZXIoaXRlbSA9PiBpdGVtLmtpbmQgPT09ICdmaWxlJykubGVuZ3RoO1xuICB9XG5cbiAgcHJvdGVjdGVkIF91cGRhdGVFbGVtZW50VmFsdWUoKTogdm9pZCB7XG4gICAgY29uc3QgdiA9IHRoaXMudmFsdWU7XG5cbiAgICBjb25zdCBpbnB1dEVsID0gdGhpcy5maWxlSW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmICghaW5wdXRFbCkgcmV0dXJuO1xuICAgIGlmICghdikge1xuICAgICAgaW5wdXRFbC5maWxlcyA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YVRyYW5zZmVyID0gbmV3IERhdGFUcmFuc2ZlcigpO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiB2KSB7XG4gICAgICBkYXRhVHJhbnNmZXIuaXRlbXMuYWRkKGZpbGUpO1xuICAgIH1cbiAgICBpbnB1dEVsLmZpbGVzID0gZGF0YVRyYW5zZmVyLmZpbGVzO1xuICB9XG59XG4iXX0=