@mozaic-ds/angular 0.30.0 → 0.30.1

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 (36) hide show
  1. package/adeo/components/autocomplete/autocomplete.component.d.ts +6 -2
  2. package/adeo/components/dropdown/dropdown.component.d.ts +2 -1
  3. package/adeo/components/listbox/listbox.component.d.ts +6 -3
  4. package/adeo/esm2020/components/autocomplete/autocomplete.component.mjs +20 -6
  5. package/adeo/esm2020/components/dropdown/dropdown.component.mjs +7 -4
  6. package/adeo/esm2020/components/listbox/listbox.component.mjs +30 -3
  7. package/adeo/esm2020/components/phone-number/phone-number.component.mjs +1 -1
  8. package/adeo/fesm2015/mozaic-ds-angular.mjs +126 -82
  9. package/adeo/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  10. package/adeo/fesm2020/mozaic-ds-angular.mjs +124 -81
  11. package/adeo/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  12. package/adeo/package.json +1 -1
  13. package/bricoman/components/autocomplete/autocomplete.component.d.ts +6 -2
  14. package/bricoman/components/dropdown/dropdown.component.d.ts +2 -1
  15. package/bricoman/components/listbox/listbox.component.d.ts +6 -3
  16. package/bricoman/esm2020/components/autocomplete/autocomplete.component.mjs +20 -6
  17. package/bricoman/esm2020/components/dropdown/dropdown.component.mjs +7 -4
  18. package/bricoman/esm2020/components/listbox/listbox.component.mjs +30 -3
  19. package/bricoman/esm2020/components/phone-number/phone-number.component.mjs +1 -1
  20. package/bricoman/fesm2015/mozaic-ds-angular.mjs +126 -82
  21. package/bricoman/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  22. package/bricoman/fesm2020/mozaic-ds-angular.mjs +124 -81
  23. package/bricoman/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  24. package/bricoman/package.json +1 -1
  25. package/components/autocomplete/autocomplete.component.d.ts +6 -2
  26. package/components/dropdown/dropdown.component.d.ts +2 -1
  27. package/components/listbox/listbox.component.d.ts +6 -3
  28. package/esm2020/components/autocomplete/autocomplete.component.mjs +20 -6
  29. package/esm2020/components/dropdown/dropdown.component.mjs +7 -4
  30. package/esm2020/components/listbox/listbox.component.mjs +30 -3
  31. package/esm2020/components/phone-number/phone-number.component.mjs +1 -1
  32. package/fesm2015/mozaic-ds-angular.mjs +126 -82
  33. package/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  34. package/fesm2020/mozaic-ds-angular.mjs +124 -81
  35. package/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  36. package/package.json +1 -1
package/adeo/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mozaic-ds/angular",
3
- "version": "0.30.0",
3
+ "version": "0.30.1",
4
4
  "exports": {
5
5
  "./adeo": {
6
6
  "types": "./adeo/index.d.ts",
@@ -2,9 +2,11 @@ import { ChangeDetectorRef, EventEmitter, OnChanges } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import { ListboxItem } from '../listbox/model/listbox-item';
4
4
  import { TextInputSize } from '../text-input/text-input';
5
+ import { ListboxComponent } from '../listbox';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class AutocompleteComponent implements ControlValueAccessor, OnChanges {
7
- private cd;
8
+ private readonly cd;
9
+ listboxComponent: ListboxComponent;
8
10
  listboxItems: ListboxItem[];
9
11
  multiple: boolean;
10
12
  placeholder: string;
@@ -21,6 +23,7 @@ export declare class AutocompleteComponent implements ControlValueAccessor, OnCh
21
23
  withSearchFilter: boolean;
22
24
  openState: boolean;
23
25
  labelClearButton: string;
26
+ useVirtualScroll: boolean;
24
27
  searchUpdated: EventEmitter<string>;
25
28
  inputClicked: EventEmitter<boolean>;
26
29
  scrollEnd: EventEmitter<boolean>;
@@ -39,6 +42,7 @@ export declare class AutocompleteComponent implements ControlValueAccessor, OnCh
39
42
  writeValue(value: ListboxItem[] | ListboxItem | undefined): void;
40
43
  registerOnChange(fn: any): void;
41
44
  registerOnTouched(fn: any): void;
45
+ triggerUpdatePosition(): void;
42
46
  openChangeEvent($event: boolean): void;
43
47
  openListbox(): void;
44
48
  closeListbox(): void;
@@ -53,5 +57,5 @@ export declare class AutocompleteComponent implements ControlValueAccessor, OnCh
53
57
  focusoutEvent($event: any): void;
54
58
  scrollEndEvent($event: boolean): void;
55
59
  static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteComponent, never>;
56
- static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "moz-autocomplete", never, { "listboxItems": "listboxItems"; "multiple": "multiple"; "placeholder": "placeholder"; "disabled": "disabled"; "loading": "loading"; "clearfield": "clearfield"; "valid": "valid"; "invalid": "invalid"; "size": "size"; "showSelectedTag": "showSelectedTag"; "layerTagsTitle": "layerTagsTitle"; "layerTagsIcon": "layerTagsIcon"; "errorContentText": "errorContentText"; "withSearchFilter": "withSearchFilter"; "openState": "openState"; "labelClearButton": "labelClearButton"; "searchValue": "searchValue"; }, { "searchUpdated": "searchUpdated"; "inputClicked": "inputClicked"; "scrollEnd": "scrollEnd"; "isOpen": "isOpen"; }, never, never, false, never>;
60
+ static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "moz-autocomplete", never, { "listboxItems": "listboxItems"; "multiple": "multiple"; "placeholder": "placeholder"; "disabled": "disabled"; "loading": "loading"; "clearfield": "clearfield"; "valid": "valid"; "invalid": "invalid"; "size": "size"; "showSelectedTag": "showSelectedTag"; "layerTagsTitle": "layerTagsTitle"; "layerTagsIcon": "layerTagsIcon"; "errorContentText": "errorContentText"; "withSearchFilter": "withSearchFilter"; "openState": "openState"; "labelClearButton": "labelClearButton"; "useVirtualScroll": "useVirtualScroll"; "searchValue": "searchValue"; }, { "searchUpdated": "searchUpdated"; "inputClicked": "inputClicked"; "scrollEnd": "scrollEnd"; "isOpen": "isOpen"; }, never, never, false, never>;
57
61
  }
@@ -19,6 +19,7 @@ export declare class DropdownComponent implements ControlValueAccessor {
19
19
  layerTagsIcon: string;
20
20
  openState: boolean;
21
21
  labelClearButton: string;
22
+ useVirtualScroll: boolean;
22
23
  scrollEnd: EventEmitter<boolean>;
23
24
  isOpen: EventEmitter<boolean>;
24
25
  selectedItems: ListboxItem[] | ListboxItem | undefined;
@@ -42,5 +43,5 @@ export declare class DropdownComponent implements ControlValueAccessor {
42
43
  canClearField(): boolean;
43
44
  scrollEndEvent($event: boolean): void;
44
45
  static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "moz-dropdown", never, { "listboxItems": "listboxItems"; "multiple": "multiple"; "placeholder": "placeholder"; "disabled": "disabled"; "loading": "loading"; "clearfield": "clearfield"; "valid": "valid"; "invalid": "invalid"; "showSelectedTag": "showSelectedTag"; "size": "size"; "layerTagsTitle": "layerTagsTitle"; "layerTagsIcon": "layerTagsIcon"; "openState": "openState"; "labelClearButton": "labelClearButton"; }, { "scrollEnd": "scrollEnd"; "isOpen": "isOpen"; }, never, never, false, never>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "moz-dropdown", never, { "listboxItems": "listboxItems"; "multiple": "multiple"; "placeholder": "placeholder"; "disabled": "disabled"; "loading": "loading"; "clearfield": "clearfield"; "valid": "valid"; "invalid": "invalid"; "showSelectedTag": "showSelectedTag"; "size": "size"; "layerTagsTitle": "layerTagsTitle"; "layerTagsIcon": "layerTagsIcon"; "openState": "openState"; "labelClearButton": "labelClearButton"; "useVirtualScroll": "useVirtualScroll"; }, { "scrollEnd": "scrollEnd"; "isOpen": "isOpen"; }, never, never, false, never>;
46
47
  }
@@ -3,7 +3,7 @@ import { ListboxItem, Type } from './model/listbox-item';
3
3
  import { Subject } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class ListboxComponent implements OnDestroy, AfterViewInit, OnInit {
6
- private eRef;
6
+ private readonly eRef;
7
7
  listboxElementRef: ElementRef;
8
8
  contentElementRef: ElementRef;
9
9
  listboxItems: any;
@@ -16,21 +16,24 @@ export declare class ListboxComponent implements OnDestroy, AfterViewInit, OnIni
16
16
  width?: string;
17
17
  disabled?: boolean;
18
18
  withoutOverflow?: boolean;
19
+ useVirtualScroll?: boolean;
19
20
  itemsSelected: EventEmitter<ListboxItem | ListboxItem[]>;
20
21
  scrollEnd: EventEmitter<boolean>;
21
22
  isOpenChange: EventEmitter<boolean>;
22
23
  uuid: number;
23
24
  originalParent?: HTMLElement | null;
24
25
  destroyed: Subject<unknown>;
25
- private _isOpen;
26
+ private readonly _isOpen;
26
27
  constructor(eRef: ElementRef);
27
28
  get isOpen(): boolean;
28
29
  set isOpen(value: boolean);
29
30
  clickout(event: Event): void;
30
31
  ngOnInit(): void;
31
32
  ngAfterViewInit(): void;
33
+ getDynamicHeight(): string;
32
34
  addScrollListeners(element: HTMLElement): void;
33
35
  scroll(): void;
36
+ updateListboxPosition(): void;
34
37
  openListbox(): void;
35
38
  closeListbox(): void;
36
39
  selectedItemEvent(listboxItem: ListboxItem): void;
@@ -51,5 +54,5 @@ export declare class ListboxComponent implements OnDestroy, AfterViewInit, OnIni
51
54
  getListboxItemId(listboxItem: ListboxItem): string;
52
55
  onScrollEvent(index: number): void;
53
56
  static ɵfac: i0.ɵɵFactoryDeclaration<ListboxComponent, never>;
54
- static ɵcmp: i0.ɵɵComponentDeclaration<ListboxComponent, "moz-listbox", never, { "listboxItems": "listboxItems"; "multiple": "multiple"; "selectedItems": "selectedItems"; "type": "type"; "overlay": "overlay"; "maxWidth": "maxWidth"; "maxHeight": "maxHeight"; "width": "width"; "disabled": "disabled"; "withoutOverflow": "withoutOverflow"; "isOpen": "isOpen"; }, { "itemsSelected": "itemsSelected"; "scrollEnd": "scrollEnd"; "isOpenChange": "isOpenChange"; }, never, ["[reference]"], false, never>;
57
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListboxComponent, "moz-listbox", never, { "listboxItems": "listboxItems"; "multiple": "multiple"; "selectedItems": "selectedItems"; "type": "type"; "overlay": "overlay"; "maxWidth": "maxWidth"; "maxHeight": "maxHeight"; "width": "width"; "disabled": "disabled"; "withoutOverflow": "withoutOverflow"; "useVirtualScroll": "useVirtualScroll"; "isOpen": "isOpen"; }, { "itemsSelected": "itemsSelected"; "scrollEnd": "scrollEnd"; "isOpenChange": "isOpenChange"; }, never, ["[reference]"], false, never>;
55
58
  }
@@ -1,5 +1,6 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, forwardRef, } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { ListboxComponent } from '../listbox';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common";
5
6
  import * as i2 from "../tag/tag.component";
@@ -27,6 +28,7 @@ export class AutocompleteComponent {
27
28
  this.withSearchFilter = true;
28
29
  this.openState = false;
29
30
  this.labelClearButton = 'Clear';
31
+ this.useVirtualScroll = false;
30
32
  this.searchUpdated = new EventEmitter();
31
33
  this.inputClicked = new EventEmitter();
32
34
  this.scrollEnd = new EventEmitter();
@@ -63,6 +65,11 @@ export class AutocompleteComponent {
63
65
  registerOnTouched(fn) {
64
66
  this.onTouch = fn;
65
67
  }
68
+ triggerUpdatePosition() {
69
+ if (this.listboxComponent) {
70
+ this.listboxComponent.updateListboxPosition();
71
+ }
72
+ }
66
73
  openChangeEvent($event) {
67
74
  this.isOpen.emit($event);
68
75
  }
@@ -135,11 +142,13 @@ export class AutocompleteComponent {
135
142
  }
136
143
  else {
137
144
  this.openState = true;
145
+ setTimeout(() => this.triggerUpdatePosition(), 0);
138
146
  }
139
147
  }
140
148
  else {
141
149
  this.listboxItems = this.initialListboxItems;
142
150
  this.openState = true;
151
+ setTimeout(() => this.triggerUpdatePosition(), 0);
143
152
  }
144
153
  }
145
154
  this.searchUpdated.emit(this.searchValue);
@@ -158,13 +167,13 @@ export class AutocompleteComponent {
158
167
  }
159
168
  }
160
169
  AutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
161
- AutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AutocompleteComponent, selector: "moz-autocomplete", inputs: { listboxItems: "listboxItems", multiple: "multiple", placeholder: "placeholder", disabled: "disabled", loading: "loading", clearfield: "clearfield", valid: "valid", invalid: "invalid", size: "size", showSelectedTag: "showSelectedTag", layerTagsTitle: "layerTagsTitle", layerTagsIcon: "layerTagsIcon", errorContentText: "errorContentText", withSearchFilter: "withSearchFilter", openState: "openState", labelClearButton: "labelClearButton", searchValue: "searchValue" }, outputs: { searchUpdated: "searchUpdated", inputClicked: "inputClicked", scrollEnd: "scrollEnd", isOpen: "isOpen" }, providers: [
170
+ AutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AutocompleteComponent, selector: "moz-autocomplete", inputs: { listboxItems: "listboxItems", multiple: "multiple", placeholder: "placeholder", disabled: "disabled", loading: "loading", clearfield: "clearfield", valid: "valid", invalid: "invalid", size: "size", showSelectedTag: "showSelectedTag", layerTagsTitle: "layerTagsTitle", layerTagsIcon: "layerTagsIcon", errorContentText: "errorContentText", withSearchFilter: "withSearchFilter", openState: "openState", labelClearButton: "labelClearButton", useVirtualScroll: "useVirtualScroll", searchValue: "searchValue" }, outputs: { searchUpdated: "searchUpdated", inputClicked: "inputClicked", scrollEnd: "scrollEnd", isOpen: "isOpen" }, providers: [
162
171
  {
163
172
  provide: NG_VALUE_ACCESSOR,
164
173
  useExisting: forwardRef(() => AutocompleteComponent),
165
174
  multi: true,
166
175
  },
167
- ], usesOnChanges: true, ngImport: i0, template: "<div\n id=\"js-autocomplete\"\n class=\"mc-autocomplete mc-autocomplete--clearable\"\n [ngClass]=\"{ 'mc-autocomplete--multi': multiple }\"\n [ngStyle]=\"{\n '--autocomplete-tag-width':\n showSelectedTag && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--autocomplete-width': '100%'\n }\"\n>\n <moz-listbox\n #listbox\n [listboxItems]=\"listboxItems\"\n [(isOpen)]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n (scrollEnd)=\"scrollEndEvent($event)\"\n (isOpenChange)=\"openChangeEvent($event)\"\n >\n <div class=\"mc-autocomplete__main\" reference>\n <moz-tag\n *ngIf=\"showSelectedTag && multiple && getSelectedListboxItems().length > 0\"\n [type]=\"disabled ? 'text' : 'removable'\"\n class=\"mc-autocomplete__tag\"\n [ngClass]=\"{ 'mc-tag-removable mc-tag-removable--s': !disabled }\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n\n <div class=\"mc-left-icon-input\">\n <moz-icon\n class=\"mc-left-icon-input__icon\"\n [iconName]=\"'Navigation_Display_Search_24px'\"\n ></moz-icon>\n <input\n moz-input\n [type]=\"'text'\"\n [invalid]=\"invalid\"\n class=\"mc-left-icon-input__input mc-text-input mc-autocomplete__trigger\"\n [valid]=\"valid\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"searchEvent()\"\n (focusin)=\"focusinEvent()\"\n (focusout)=\"focusoutEvent($event)\"\n (click)=\"openListbox()\"\n />\n </div>\n\n <div class=\"mc-autocomplete__tools\">\n <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\n <moz-icon\n class=\"mc-autocomplete__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon\n ><span class=\"mc-autocomplete__clear-text\">{{ labelClearButton }}</span>\n </button>\n </div>\n </div>\n </moz-listbox>\n</div>\n<div class=\"mc-autocomplete__error\" *ngIf=\"invalid\">\n {{ errorContentText }}\n</div>\n", styles: [".mc-left-icon-input{position:relative}.mc-left-icon-input__icon{position:absolute;z-index:1;top:50%;transform:translateY(-50%);fill:gray;pointer-events:none}.mc-left-icon-input .mc-left-icon-input__icon{left:.75rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input .mc-left-icon-input__input{padding-left:2.9375rem}.mc-left-icon-input--s .mc-left-icon-input__icon{left:.5rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input--s .mc-left-icon-input__input{padding-left:2.4375rem}.mc-text-input{font-family:LeroyMerlin,sans-serif;font-weight:400;box-sizing:border-box;outline:none;appearance:none;padding:0;margin:0;box-shadow:none;border:none;font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem;transition:box-shadow .2s ease;display:block;width:100%;position:relative;border:1px solid #808080;color:#333;background-color:#fff;border-radius:4px}.mc-text-input[type=number]::-webkit-inner-spin-button,.mc-text-input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.mc-text-input[type=number]{-moz-appearance:textfield}.mc-text-input[type=search]::-webkit-search-decoration:hover,.mc-text-input[type=search]::-webkit-search-cancel-button:hover{cursor:pointer}.mc-text-input::placeholder{font-size:1rem;line-height:1.375}.mc-text-input::placeholder{margin:0;color:gray;opacity:1}.mc-text-input.is-valid,.mc-text-input.is-invalid{background-repeat:no-repeat;background-size:1.5rem 1.5rem;background-position:right .4375rem center;padding-right:2.5rem}.mc-text-input.is-valid{border-color:#46a610;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' fill='%2346a610' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a8 8 0 11-8 8 8 8 0 018-8m0-2a10 10 0 1010 10A10 10 0 0012 2z'/%3E%3Cpath d='M10.73 15.75a1 1 0 01-.68-.26l-3-2.74a1 1 0 011.36-1.47l2.25 2.08 4.36-4.42a1 1 0 111.42 1.41l-5 5.1a1 1 0 01-.71.3z'/%3E%3C/svg%3E\")}.mc-text-input.is-valid:hover,.mc-text-input.is-valid.is-hover{border-color:#035010}.mc-text-input.is-invalid{border-color:#c61112;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' viewBox='0 0 24 24' fill='%23c61112'%3E%3Cpath d='M12 2a10 10 0 1010 10A10 10 0 0012 2zm0 18a8 8 0 118-8 8 8 0 01-8 8z'/%3E%3Cpath d='M12 7a1 1 0 00-1 1v4.38a1 1 0 002 0V8a1 1 0 00-1-1z'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3C/svg%3E\")}.mc-text-input.is-invalid:hover,.mc-text-input.is-invalid.is-hover{border-color:#530000}.mc-text-input:hover{border-color:#191919}.mc-text-input:focus{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #0b96cc}.mc-text-input:disabled{background:#e6e6e6;border-color:#e6e6e6;color:gray;cursor:not-allowed}.mc-text-input--s{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s::placeholder{font-size:.875rem;line-height:1.2857142857}@media screen and (min-width: 680px){.mc-text-input--s\\@from-m{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-m::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1024px){.mc-text-input--s\\@from-l{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-l::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1280px){.mc-text-input--s\\@from-xl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xl::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1920px){.mc-text-input--s\\@from-xxl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xxl::placeholder{font-size:.875rem;line-height:1.2857142857}}.mc-text-input--m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m::placeholder{font-size:1rem;line-height:1.375}@media screen and (min-width: 680px){.mc-text-input--m\\@from-m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-m::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1024px){.mc-text-input--m\\@from-l{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-l::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1280px){.mc-text-input--m\\@from-xl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xl::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1920px){.mc-text-input--m\\@from-xxl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xxl::placeholder{font-size:1rem;line-height:1.375}}.mc-listbox{background-color:#fff;border:1px solid #666666;border-radius:3px;overflow-y:auto;max-width:var(--listbox-maxwidth, none);width:var(--listbox-width, auto)}.mc-listbox::-webkit-scrollbar{background-color:#e6e6e6;width:.25rem}.mc-listbox::-webkit-scrollbar-thumb{background:#666666}.mc-listbox__list{list-style:none;margin:0;padding-left:0}.mc-listbox__tile{align-items:center;display:flex;gap:.5rem;justify-content:flex-start;padding-left:.75rem;padding-right:.75rem;position:relative}.mc-listbox__tile:not(.mc-listbox__tile--empty):not(.is-disabled):hover{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox__tile--danger,.mc-listbox__tile.is-danger{color:#c61112}.mc-listbox__tile--empty{color:#666;justify-content:center}.mc-listbox__tile--empty .mc-listbox__label{cursor:default}.mc-listbox__tile.is-disabled{box-shadow:none;background-color:#ccc;color:#666;pointer-events:none}.mc-listbox__flag{font-size:1.5rem;line-height:1.3333333333;text-align:center}.mc-listbox__icon{fill:#666}.is-danger .mc-listbox__icon{fill:#c61112}.mc-listbox__label{font-size:1rem;line-height:1.375;color:currentColor;cursor:pointer;white-space:nowrap}button.mc-listbox__label{background:none;border:none;padding:0;font-size:inherit;font-family:inherit}.mc-listbox__label:after{content:\"\";position:absolute;inset:0;z-index:2}.mc-listbox__input{margin-left:auto;order:1}.mc-listbox--left{right:0}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-listbox--options{max-height:13.8125rem;min-width:18rem}.mc-listbox--options .mc-listbox__flag,.mc-listbox--options .mc-listbox__icon,.mc-listbox--options .mc-listbox__logo{height:2rem;width:2rem}.mc-listbox--options .mc-listbox__tile{height:3rem}.mc-listbox--options .mc-listbox__tile:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox--options .mc-listbox__tile.is-selected .mc-listbox__label:before{visibility:visible}.mc-listbox--options .mc-listbox__tile.is-selected.is-disabled .mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666666' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\")}.mc-listbox--options .mc-listbox__input:checked+.mc-listbox__label:before{visibility:visible}.mc-listbox--options .mc-listbox__input:checked:disabled+.mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666666' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\")}.mc-listbox--options .mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23191919' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-position:center;background-repeat:no-repeat;background-size:1.5rem;content:\"\";height:1.5rem;position:absolute;right:.75rem;top:0;transform:translateY(50%);width:1.5rem;visibility:hidden}.mc-listbox--actions{min-width:17.375rem}.mc-listbox--actions.align-top{transform:translateY(calc(-100% - 1.5rem))}.mc-listbox--actions.align-right{transform:translate(calc(-100% + 1.5rem))}.mc-listbox--actions.align-right.align-top{transform:translate(calc(-100% + 1.5rem),calc(-100% - 1.5rem))}.mc-listbox--actions .mc-listbox__list:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox--actions .mc-listbox__list:first-child{padding-top:.4375rem;padding-bottom:.5rem}.mc-listbox--actions .mc-listbox__list:last-child{padding-top:.5rem;padding-bottom:.4375rem}.mc-listbox--actions .mc-listbox__list:not(:first-child):not(:last-child){padding-top:.5rem;padding-bottom:.5rem}.mc-listbox--actions .mc-listbox__tile{height:2.5rem}.mc-listbox--actions .mc-listbox__flag,.mc-listbox--actions .mc-listbox__icon,.mc-listbox--actions .mc-listbox__logo{height:1.5rem;width:1.5rem}.mc-listbox--overlay{position:absolute;z-index:10}.mc-loader{color:#ff5800;align-items:center;display:inline-flex;flex-direction:column}.mc-loader .mc-loader__spinner{height:2rem;width:2rem}.mc-loader .mc-loader__path{stroke-width:4}.mc-loader .mc-loader__path{stroke:currentColor}.mc-loader__spinner:not(:only-child){margin-bottom:1rem}.mc-loader__icon{animation:rotate-loader 2s linear infinite;transform-origin:center}.mc-loader__path{fill:none;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:animate-dash-loader 2s ease-in-out infinite}.mc-loader__text{font-size:1rem;line-height:1.375;color:currentColor}.mc-loader--s .mc-loader__spinner{height:1.5rem;width:1.5rem}.mc-loader--s .mc-loader__path{stroke-width:4}.mc-loader--l .mc-loader__spinner{height:4rem;width:4rem}.mc-loader--l .mc-loader__path{stroke-width:8}.mc-loader--dark{color:#191919}.mc-loader--dark .mc-loader__path{stroke:currentColor}.mc-loader--light{color:#fff}.mc-loader--light .mc-loader__path{stroke:currentColor}@keyframes rotate-loader{0%{transform:rotate(0)}to{transform:rotate(270deg)}}@keyframes animate-dash-loader{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.mc-autocomplete{align-self:start;position:relative;min-width:18rem;max-width:var(--autocomplete-width, auto);width:100%}.mc-autocomplete__main{position:relative}.mc-autocomplete__tag,.mc-autocomplete__tools{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.mc-autocomplete__tag{left:2.75rem}.mc-autocomplete__trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-autocomplete__tools{align-items:center;background-color:#fff;display:flex;gap:.5rem;justify-content:flex-end;right:.75rem}.is-valid+.mc-autocomplete__tools,.is-invalid+.mc-autocomplete__tools{right:2.5rem}.mc-autocomplete__clear{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s ease;background:none;border-radius:50%}.mc-autocomplete__clear:focus{box-shadow:0 0 0 2px #0b96cc}.mc-autocomplete__clear,.mc-autocomplete__clear-icon{height:1.5rem;width:1.5rem}.mc-autocomplete__clear-icon{fill:#666}.mc-autocomplete__clear-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-autocomplete__error{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-autocomplete--multi .mc-autocomplete__trigger{padding-left:calc(2.9375rem + var(--autocomplete-tag-width, 0px))}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.TagComponent, selector: "moz-tag, a[moz-tag]", inputs: ["type", "size", "select"], outputs: ["selectChange", "clickOnRemove"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ListboxComponent, selector: "moz-listbox", inputs: ["listboxItems", "multiple", "selectedItems", "type", "overlay", "maxWidth", "maxHeight", "width", "disabled", "withoutOverflow", "isOpen"], outputs: ["itemsSelected", "scrollEnd", "isOpenChange"] }, { kind: "component", type: i5.IconComponent, selector: "moz-icon", inputs: ["iconName", "size"] }, { kind: "component", type: i6.LoaderComponent, selector: "moz-loader", inputs: ["size", "theme", "isOverlay", "text", "hideOverlay"] }, { kind: "component", type: i7.TextInputComponent, selector: "input[moz-input]", inputs: ["size", "invalid", "valid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
176
+ ], viewQueries: [{ propertyName: "listboxComponent", first: true, predicate: ListboxComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n id=\"js-autocomplete\"\n class=\"mc-autocomplete mc-autocomplete--clearable\"\n [ngClass]=\"{ 'mc-autocomplete--multi': multiple }\"\n [ngStyle]=\"{\n '--autocomplete-tag-width':\n showSelectedTag && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--autocomplete-width': '100%'\n }\"\n>\n <moz-listbox\n #listbox\n [listboxItems]=\"listboxItems\"\n [(isOpen)]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n (scrollEnd)=\"scrollEndEvent($event)\"\n (isOpenChange)=\"openChangeEvent($event)\"\n [useVirtualScroll]=\"useVirtualScroll\"\n >\n <div class=\"mc-autocomplete__main\" reference>\n <moz-tag\n *ngIf=\"showSelectedTag && multiple && getSelectedListboxItems().length > 0\"\n [type]=\"disabled ? 'text' : 'removable'\"\n class=\"mc-autocomplete__tag\"\n [ngClass]=\"{ 'mc-tag-removable mc-tag-removable--s': !disabled }\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n\n <div class=\"mc-left-icon-input\">\n <moz-icon\n class=\"mc-left-icon-input__icon\"\n [iconName]=\"'Navigation_Display_Search_24px'\"\n ></moz-icon>\n <input\n moz-input\n [type]=\"'text'\"\n [invalid]=\"invalid\"\n class=\"mc-left-icon-input__input mc-text-input mc-autocomplete__trigger\"\n [valid]=\"valid\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"searchEvent()\"\n (focusin)=\"focusinEvent()\"\n (focusout)=\"focusoutEvent($event)\"\n (click)=\"openListbox()\"\n />\n </div>\n\n <div class=\"mc-autocomplete__tools\">\n <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\n <moz-icon\n class=\"mc-autocomplete__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon\n ><span class=\"mc-autocomplete__clear-text\">{{ labelClearButton }}</span>\n </button>\n </div>\n </div>\n </moz-listbox>\n</div>\n<div class=\"mc-autocomplete__error\" *ngIf=\"invalid\">\n {{ errorContentText }}\n</div>\n", styles: [".mc-left-icon-input{position:relative}.mc-left-icon-input__icon{position:absolute;z-index:1;top:50%;transform:translateY(-50%);fill:gray;pointer-events:none}.mc-left-icon-input .mc-left-icon-input__icon{left:.75rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input .mc-left-icon-input__input{padding-left:2.9375rem}.mc-left-icon-input--s .mc-left-icon-input__icon{left:.5rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input--s .mc-left-icon-input__input{padding-left:2.4375rem}.mc-text-input{font-family:LeroyMerlin,sans-serif;font-weight:400;box-sizing:border-box;outline:none;appearance:none;padding:0;margin:0;box-shadow:none;border:none;font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem;transition:box-shadow .2s ease;display:block;width:100%;position:relative;border:1px solid #808080;color:#333;background-color:#fff;border-radius:4px}.mc-text-input[type=number]::-webkit-inner-spin-button,.mc-text-input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.mc-text-input[type=number]{-moz-appearance:textfield}.mc-text-input[type=search]::-webkit-search-decoration:hover,.mc-text-input[type=search]::-webkit-search-cancel-button:hover{cursor:pointer}.mc-text-input::placeholder{font-size:1rem;line-height:1.375}.mc-text-input::placeholder{margin:0;color:gray;opacity:1}.mc-text-input.is-valid,.mc-text-input.is-invalid{background-repeat:no-repeat;background-size:1.5rem 1.5rem;background-position:right .4375rem center;padding-right:2.5rem}.mc-text-input.is-valid{border-color:#46a610;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' fill='%2346a610' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a8 8 0 11-8 8 8 8 0 018-8m0-2a10 10 0 1010 10A10 10 0 0012 2z'/%3E%3Cpath d='M10.73 15.75a1 1 0 01-.68-.26l-3-2.74a1 1 0 011.36-1.47l2.25 2.08 4.36-4.42a1 1 0 111.42 1.41l-5 5.1a1 1 0 01-.71.3z'/%3E%3C/svg%3E\")}.mc-text-input.is-valid:hover,.mc-text-input.is-valid.is-hover{border-color:#035010}.mc-text-input.is-invalid{border-color:#c61112;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' viewBox='0 0 24 24' fill='%23c61112'%3E%3Cpath d='M12 2a10 10 0 1010 10A10 10 0 0012 2zm0 18a8 8 0 118-8 8 8 0 01-8 8z'/%3E%3Cpath d='M12 7a1 1 0 00-1 1v4.38a1 1 0 002 0V8a1 1 0 00-1-1z'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3C/svg%3E\")}.mc-text-input.is-invalid:hover,.mc-text-input.is-invalid.is-hover{border-color:#530000}.mc-text-input:hover{border-color:#191919}.mc-text-input:focus{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #0b96cc}.mc-text-input:disabled{background:#e6e6e6;border-color:#e6e6e6;color:gray;cursor:not-allowed}.mc-text-input--s{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s::placeholder{font-size:.875rem;line-height:1.2857142857}@media screen and (min-width: 680px){.mc-text-input--s\\@from-m{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-m::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1024px){.mc-text-input--s\\@from-l{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-l::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1280px){.mc-text-input--s\\@from-xl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xl::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1920px){.mc-text-input--s\\@from-xxl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xxl::placeholder{font-size:.875rem;line-height:1.2857142857}}.mc-text-input--m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m::placeholder{font-size:1rem;line-height:1.375}@media screen and (min-width: 680px){.mc-text-input--m\\@from-m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-m::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1024px){.mc-text-input--m\\@from-l{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-l::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1280px){.mc-text-input--m\\@from-xl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xl::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1920px){.mc-text-input--m\\@from-xxl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xxl::placeholder{font-size:1rem;line-height:1.375}}.mc-listbox{background-color:#fff;border:1px solid #666666;border-radius:3px;overflow-y:auto;max-width:var(--listbox-maxwidth, none);width:var(--listbox-width, auto)}.mc-listbox::-webkit-scrollbar{background-color:#e6e6e6;width:.25rem}.mc-listbox::-webkit-scrollbar-thumb{background:#666666}.mc-listbox__list{list-style:none;margin:0;padding-left:0}.mc-listbox__tile{align-items:center;display:flex;gap:.5rem;justify-content:flex-start;padding-left:.75rem;padding-right:.75rem;position:relative}.mc-listbox__tile:not(.mc-listbox__tile--empty):not(.is-disabled):hover{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox__tile--danger,.mc-listbox__tile.is-danger{color:#c61112}.mc-listbox__tile--empty{color:#666;justify-content:center}.mc-listbox__tile--empty .mc-listbox__label{cursor:default}.mc-listbox__tile.is-disabled{box-shadow:none;background-color:#ccc;color:#666;pointer-events:none}.mc-listbox__flag{font-size:1.5rem;line-height:1.3333333333;text-align:center}.mc-listbox__icon{fill:#666}.is-danger .mc-listbox__icon{fill:#c61112}.mc-listbox__label{font-size:1rem;line-height:1.375;color:currentColor;cursor:pointer;white-space:nowrap}button.mc-listbox__label{background:none;border:none;padding:0;font-size:inherit;font-family:inherit}.mc-listbox__label:after{content:\"\";position:absolute;inset:0;z-index:2}.mc-listbox__input{margin-left:auto;order:1}.mc-listbox--left{right:0}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-listbox--options{max-height:13.8125rem;min-width:18rem}.mc-listbox--options .mc-listbox__flag,.mc-listbox--options .mc-listbox__icon,.mc-listbox--options .mc-listbox__logo{height:2rem;width:2rem}.mc-listbox--options .mc-listbox__tile{height:3rem}.mc-listbox--options .mc-listbox__tile:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox--options .mc-listbox__tile.is-selected .mc-listbox__label:before{visibility:visible}.mc-listbox--options .mc-listbox__tile.is-selected.is-disabled .mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666666' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\")}.mc-listbox--options .mc-listbox__input:checked+.mc-listbox__label:before{visibility:visible}.mc-listbox--options .mc-listbox__input:checked:disabled+.mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666666' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\")}.mc-listbox--options .mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23191919' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-position:center;background-repeat:no-repeat;background-size:1.5rem;content:\"\";height:1.5rem;position:absolute;right:.75rem;top:0;transform:translateY(50%);width:1.5rem;visibility:hidden}.mc-listbox--actions{min-width:17.375rem}.mc-listbox--actions.align-top{transform:translateY(calc(-100% - 1.5rem))}.mc-listbox--actions.align-right{transform:translate(calc(-100% + 1.5rem))}.mc-listbox--actions.align-right.align-top{transform:translate(calc(-100% + 1.5rem),calc(-100% - 1.5rem))}.mc-listbox--actions .mc-listbox__list:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox--actions .mc-listbox__list:first-child{padding-top:.4375rem;padding-bottom:.5rem}.mc-listbox--actions .mc-listbox__list:last-child{padding-top:.5rem;padding-bottom:.4375rem}.mc-listbox--actions .mc-listbox__list:not(:first-child):not(:last-child){padding-top:.5rem;padding-bottom:.5rem}.mc-listbox--actions .mc-listbox__tile{height:2.5rem}.mc-listbox--actions .mc-listbox__flag,.mc-listbox--actions .mc-listbox__icon,.mc-listbox--actions .mc-listbox__logo{height:1.5rem;width:1.5rem}.mc-listbox--overlay{position:absolute;z-index:10}.mc-loader{color:#ff5800;align-items:center;display:inline-flex;flex-direction:column}.mc-loader .mc-loader__spinner{height:2rem;width:2rem}.mc-loader .mc-loader__path{stroke-width:4}.mc-loader .mc-loader__path{stroke:currentColor}.mc-loader__spinner:not(:only-child){margin-bottom:1rem}.mc-loader__icon{animation:rotate-loader 2s linear infinite;transform-origin:center}.mc-loader__path{fill:none;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:animate-dash-loader 2s ease-in-out infinite}.mc-loader__text{font-size:1rem;line-height:1.375;color:currentColor}.mc-loader--s .mc-loader__spinner{height:1.5rem;width:1.5rem}.mc-loader--s .mc-loader__path{stroke-width:4}.mc-loader--l .mc-loader__spinner{height:4rem;width:4rem}.mc-loader--l .mc-loader__path{stroke-width:8}.mc-loader--dark{color:#191919}.mc-loader--dark .mc-loader__path{stroke:currentColor}.mc-loader--light{color:#fff}.mc-loader--light .mc-loader__path{stroke:currentColor}@keyframes rotate-loader{0%{transform:rotate(0)}to{transform:rotate(270deg)}}@keyframes animate-dash-loader{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.mc-autocomplete{align-self:start;position:relative;min-width:18rem;max-width:var(--autocomplete-width, auto);width:100%}.mc-autocomplete__main{position:relative}.mc-autocomplete__tag,.mc-autocomplete__tools{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.mc-autocomplete__tag{left:2.75rem}.mc-autocomplete__trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-autocomplete__tools{align-items:center;background-color:#fff;display:flex;gap:.5rem;justify-content:flex-end;right:.75rem}.is-valid+.mc-autocomplete__tools,.is-invalid+.mc-autocomplete__tools{right:2.5rem}.mc-autocomplete__clear{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s ease;background:none;border-radius:50%}.mc-autocomplete__clear:focus{box-shadow:0 0 0 2px #0b96cc}.mc-autocomplete__clear,.mc-autocomplete__clear-icon{height:1.5rem;width:1.5rem}.mc-autocomplete__clear-icon{fill:#666}.mc-autocomplete__clear-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-autocomplete__error{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-autocomplete--multi .mc-autocomplete__trigger{padding-left:calc(2.9375rem + var(--autocomplete-tag-width, 0px))}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.TagComponent, selector: "moz-tag, a[moz-tag]", inputs: ["type", "size", "select"], outputs: ["selectChange", "clickOnRemove"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ListboxComponent, selector: "moz-listbox", inputs: ["listboxItems", "multiple", "selectedItems", "type", "overlay", "maxWidth", "maxHeight", "width", "disabled", "withoutOverflow", "useVirtualScroll", "isOpen"], outputs: ["itemsSelected", "scrollEnd", "isOpenChange"] }, { kind: "component", type: i5.IconComponent, selector: "moz-icon", inputs: ["iconName", "size"] }, { kind: "component", type: i6.LoaderComponent, selector: "moz-loader", inputs: ["size", "theme", "isOverlay", "text", "hideOverlay"] }, { kind: "component", type: i7.TextInputComponent, selector: "input[moz-input]", inputs: ["size", "invalid", "valid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
168
177
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AutocompleteComponent, decorators: [{
169
178
  type: Component,
170
179
  args: [{ selector: 'moz-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -173,8 +182,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
173
182
  useExisting: forwardRef(() => AutocompleteComponent),
174
183
  multi: true,
175
184
  },
176
- ], template: "<div\n id=\"js-autocomplete\"\n class=\"mc-autocomplete mc-autocomplete--clearable\"\n [ngClass]=\"{ 'mc-autocomplete--multi': multiple }\"\n [ngStyle]=\"{\n '--autocomplete-tag-width':\n showSelectedTag && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--autocomplete-width': '100%'\n }\"\n>\n <moz-listbox\n #listbox\n [listboxItems]=\"listboxItems\"\n [(isOpen)]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n (scrollEnd)=\"scrollEndEvent($event)\"\n (isOpenChange)=\"openChangeEvent($event)\"\n >\n <div class=\"mc-autocomplete__main\" reference>\n <moz-tag\n *ngIf=\"showSelectedTag && multiple && getSelectedListboxItems().length > 0\"\n [type]=\"disabled ? 'text' : 'removable'\"\n class=\"mc-autocomplete__tag\"\n [ngClass]=\"{ 'mc-tag-removable mc-tag-removable--s': !disabled }\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n\n <div class=\"mc-left-icon-input\">\n <moz-icon\n class=\"mc-left-icon-input__icon\"\n [iconName]=\"'Navigation_Display_Search_24px'\"\n ></moz-icon>\n <input\n moz-input\n [type]=\"'text'\"\n [invalid]=\"invalid\"\n class=\"mc-left-icon-input__input mc-text-input mc-autocomplete__trigger\"\n [valid]=\"valid\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"searchEvent()\"\n (focusin)=\"focusinEvent()\"\n (focusout)=\"focusoutEvent($event)\"\n (click)=\"openListbox()\"\n />\n </div>\n\n <div class=\"mc-autocomplete__tools\">\n <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\n <moz-icon\n class=\"mc-autocomplete__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon\n ><span class=\"mc-autocomplete__clear-text\">{{ labelClearButton }}</span>\n </button>\n </div>\n </div>\n </moz-listbox>\n</div>\n<div class=\"mc-autocomplete__error\" *ngIf=\"invalid\">\n {{ errorContentText }}\n</div>\n", styles: [".mc-left-icon-input{position:relative}.mc-left-icon-input__icon{position:absolute;z-index:1;top:50%;transform:translateY(-50%);fill:gray;pointer-events:none}.mc-left-icon-input .mc-left-icon-input__icon{left:.75rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input .mc-left-icon-input__input{padding-left:2.9375rem}.mc-left-icon-input--s .mc-left-icon-input__icon{left:.5rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input--s .mc-left-icon-input__input{padding-left:2.4375rem}.mc-text-input{font-family:LeroyMerlin,sans-serif;font-weight:400;box-sizing:border-box;outline:none;appearance:none;padding:0;margin:0;box-shadow:none;border:none;font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem;transition:box-shadow .2s ease;display:block;width:100%;position:relative;border:1px solid #808080;color:#333;background-color:#fff;border-radius:4px}.mc-text-input[type=number]::-webkit-inner-spin-button,.mc-text-input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.mc-text-input[type=number]{-moz-appearance:textfield}.mc-text-input[type=search]::-webkit-search-decoration:hover,.mc-text-input[type=search]::-webkit-search-cancel-button:hover{cursor:pointer}.mc-text-input::placeholder{font-size:1rem;line-height:1.375}.mc-text-input::placeholder{margin:0;color:gray;opacity:1}.mc-text-input.is-valid,.mc-text-input.is-invalid{background-repeat:no-repeat;background-size:1.5rem 1.5rem;background-position:right .4375rem center;padding-right:2.5rem}.mc-text-input.is-valid{border-color:#46a610;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' fill='%2346a610' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a8 8 0 11-8 8 8 8 0 018-8m0-2a10 10 0 1010 10A10 10 0 0012 2z'/%3E%3Cpath d='M10.73 15.75a1 1 0 01-.68-.26l-3-2.74a1 1 0 011.36-1.47l2.25 2.08 4.36-4.42a1 1 0 111.42 1.41l-5 5.1a1 1 0 01-.71.3z'/%3E%3C/svg%3E\")}.mc-text-input.is-valid:hover,.mc-text-input.is-valid.is-hover{border-color:#035010}.mc-text-input.is-invalid{border-color:#c61112;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' viewBox='0 0 24 24' fill='%23c61112'%3E%3Cpath d='M12 2a10 10 0 1010 10A10 10 0 0012 2zm0 18a8 8 0 118-8 8 8 0 01-8 8z'/%3E%3Cpath d='M12 7a1 1 0 00-1 1v4.38a1 1 0 002 0V8a1 1 0 00-1-1z'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3C/svg%3E\")}.mc-text-input.is-invalid:hover,.mc-text-input.is-invalid.is-hover{border-color:#530000}.mc-text-input:hover{border-color:#191919}.mc-text-input:focus{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #0b96cc}.mc-text-input:disabled{background:#e6e6e6;border-color:#e6e6e6;color:gray;cursor:not-allowed}.mc-text-input--s{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s::placeholder{font-size:.875rem;line-height:1.2857142857}@media screen and (min-width: 680px){.mc-text-input--s\\@from-m{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-m::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1024px){.mc-text-input--s\\@from-l{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-l::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1280px){.mc-text-input--s\\@from-xl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xl::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1920px){.mc-text-input--s\\@from-xxl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xxl::placeholder{font-size:.875rem;line-height:1.2857142857}}.mc-text-input--m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m::placeholder{font-size:1rem;line-height:1.375}@media screen and (min-width: 680px){.mc-text-input--m\\@from-m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-m::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1024px){.mc-text-input--m\\@from-l{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-l::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1280px){.mc-text-input--m\\@from-xl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xl::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1920px){.mc-text-input--m\\@from-xxl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xxl::placeholder{font-size:1rem;line-height:1.375}}.mc-listbox{background-color:#fff;border:1px solid #666666;border-radius:3px;overflow-y:auto;max-width:var(--listbox-maxwidth, none);width:var(--listbox-width, auto)}.mc-listbox::-webkit-scrollbar{background-color:#e6e6e6;width:.25rem}.mc-listbox::-webkit-scrollbar-thumb{background:#666666}.mc-listbox__list{list-style:none;margin:0;padding-left:0}.mc-listbox__tile{align-items:center;display:flex;gap:.5rem;justify-content:flex-start;padding-left:.75rem;padding-right:.75rem;position:relative}.mc-listbox__tile:not(.mc-listbox__tile--empty):not(.is-disabled):hover{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox__tile--danger,.mc-listbox__tile.is-danger{color:#c61112}.mc-listbox__tile--empty{color:#666;justify-content:center}.mc-listbox__tile--empty .mc-listbox__label{cursor:default}.mc-listbox__tile.is-disabled{box-shadow:none;background-color:#ccc;color:#666;pointer-events:none}.mc-listbox__flag{font-size:1.5rem;line-height:1.3333333333;text-align:center}.mc-listbox__icon{fill:#666}.is-danger .mc-listbox__icon{fill:#c61112}.mc-listbox__label{font-size:1rem;line-height:1.375;color:currentColor;cursor:pointer;white-space:nowrap}button.mc-listbox__label{background:none;border:none;padding:0;font-size:inherit;font-family:inherit}.mc-listbox__label:after{content:\"\";position:absolute;inset:0;z-index:2}.mc-listbox__input{margin-left:auto;order:1}.mc-listbox--left{right:0}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-listbox--options{max-height:13.8125rem;min-width:18rem}.mc-listbox--options .mc-listbox__flag,.mc-listbox--options .mc-listbox__icon,.mc-listbox--options .mc-listbox__logo{height:2rem;width:2rem}.mc-listbox--options .mc-listbox__tile{height:3rem}.mc-listbox--options .mc-listbox__tile:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox--options .mc-listbox__tile.is-selected .mc-listbox__label:before{visibility:visible}.mc-listbox--options .mc-listbox__tile.is-selected.is-disabled .mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666666' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\")}.mc-listbox--options .mc-listbox__input:checked+.mc-listbox__label:before{visibility:visible}.mc-listbox--options .mc-listbox__input:checked:disabled+.mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666666' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\")}.mc-listbox--options .mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23191919' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-position:center;background-repeat:no-repeat;background-size:1.5rem;content:\"\";height:1.5rem;position:absolute;right:.75rem;top:0;transform:translateY(50%);width:1.5rem;visibility:hidden}.mc-listbox--actions{min-width:17.375rem}.mc-listbox--actions.align-top{transform:translateY(calc(-100% - 1.5rem))}.mc-listbox--actions.align-right{transform:translate(calc(-100% + 1.5rem))}.mc-listbox--actions.align-right.align-top{transform:translate(calc(-100% + 1.5rem),calc(-100% - 1.5rem))}.mc-listbox--actions .mc-listbox__list:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox--actions .mc-listbox__list:first-child{padding-top:.4375rem;padding-bottom:.5rem}.mc-listbox--actions .mc-listbox__list:last-child{padding-top:.5rem;padding-bottom:.4375rem}.mc-listbox--actions .mc-listbox__list:not(:first-child):not(:last-child){padding-top:.5rem;padding-bottom:.5rem}.mc-listbox--actions .mc-listbox__tile{height:2.5rem}.mc-listbox--actions .mc-listbox__flag,.mc-listbox--actions .mc-listbox__icon,.mc-listbox--actions .mc-listbox__logo{height:1.5rem;width:1.5rem}.mc-listbox--overlay{position:absolute;z-index:10}.mc-loader{color:#ff5800;align-items:center;display:inline-flex;flex-direction:column}.mc-loader .mc-loader__spinner{height:2rem;width:2rem}.mc-loader .mc-loader__path{stroke-width:4}.mc-loader .mc-loader__path{stroke:currentColor}.mc-loader__spinner:not(:only-child){margin-bottom:1rem}.mc-loader__icon{animation:rotate-loader 2s linear infinite;transform-origin:center}.mc-loader__path{fill:none;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:animate-dash-loader 2s ease-in-out infinite}.mc-loader__text{font-size:1rem;line-height:1.375;color:currentColor}.mc-loader--s .mc-loader__spinner{height:1.5rem;width:1.5rem}.mc-loader--s .mc-loader__path{stroke-width:4}.mc-loader--l .mc-loader__spinner{height:4rem;width:4rem}.mc-loader--l .mc-loader__path{stroke-width:8}.mc-loader--dark{color:#191919}.mc-loader--dark .mc-loader__path{stroke:currentColor}.mc-loader--light{color:#fff}.mc-loader--light .mc-loader__path{stroke:currentColor}@keyframes rotate-loader{0%{transform:rotate(0)}to{transform:rotate(270deg)}}@keyframes animate-dash-loader{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.mc-autocomplete{align-self:start;position:relative;min-width:18rem;max-width:var(--autocomplete-width, auto);width:100%}.mc-autocomplete__main{position:relative}.mc-autocomplete__tag,.mc-autocomplete__tools{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.mc-autocomplete__tag{left:2.75rem}.mc-autocomplete__trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-autocomplete__tools{align-items:center;background-color:#fff;display:flex;gap:.5rem;justify-content:flex-end;right:.75rem}.is-valid+.mc-autocomplete__tools,.is-invalid+.mc-autocomplete__tools{right:2.5rem}.mc-autocomplete__clear{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s ease;background:none;border-radius:50%}.mc-autocomplete__clear:focus{box-shadow:0 0 0 2px #0b96cc}.mc-autocomplete__clear,.mc-autocomplete__clear-icon{height:1.5rem;width:1.5rem}.mc-autocomplete__clear-icon{fill:#666}.mc-autocomplete__clear-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-autocomplete__error{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-autocomplete--multi .mc-autocomplete__trigger{padding-left:calc(2.9375rem + var(--autocomplete-tag-width, 0px))}\n"] }]
177
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { listboxItems: [{
185
+ ], template: "<div\n id=\"js-autocomplete\"\n class=\"mc-autocomplete mc-autocomplete--clearable\"\n [ngClass]=\"{ 'mc-autocomplete--multi': multiple }\"\n [ngStyle]=\"{\n '--autocomplete-tag-width':\n showSelectedTag && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--autocomplete-width': '100%'\n }\"\n>\n <moz-listbox\n #listbox\n [listboxItems]=\"listboxItems\"\n [(isOpen)]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n (scrollEnd)=\"scrollEndEvent($event)\"\n (isOpenChange)=\"openChangeEvent($event)\"\n [useVirtualScroll]=\"useVirtualScroll\"\n >\n <div class=\"mc-autocomplete__main\" reference>\n <moz-tag\n *ngIf=\"showSelectedTag && multiple && getSelectedListboxItems().length > 0\"\n [type]=\"disabled ? 'text' : 'removable'\"\n class=\"mc-autocomplete__tag\"\n [ngClass]=\"{ 'mc-tag-removable mc-tag-removable--s': !disabled }\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n\n <div class=\"mc-left-icon-input\">\n <moz-icon\n class=\"mc-left-icon-input__icon\"\n [iconName]=\"'Navigation_Display_Search_24px'\"\n ></moz-icon>\n <input\n moz-input\n [type]=\"'text'\"\n [invalid]=\"invalid\"\n class=\"mc-left-icon-input__input mc-text-input mc-autocomplete__trigger\"\n [valid]=\"valid\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"searchEvent()\"\n (focusin)=\"focusinEvent()\"\n (focusout)=\"focusoutEvent($event)\"\n (click)=\"openListbox()\"\n />\n </div>\n\n <div class=\"mc-autocomplete__tools\">\n <div class=\"mc-autocomplete__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\n <moz-icon\n class=\"mc-autocomplete__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon\n ><span class=\"mc-autocomplete__clear-text\">{{ labelClearButton }}</span>\n </button>\n </div>\n </div>\n </moz-listbox>\n</div>\n<div class=\"mc-autocomplete__error\" *ngIf=\"invalid\">\n {{ errorContentText }}\n</div>\n", styles: [".mc-left-icon-input{position:relative}.mc-left-icon-input__icon{position:absolute;z-index:1;top:50%;transform:translateY(-50%);fill:gray;pointer-events:none}.mc-left-icon-input .mc-left-icon-input__icon{left:.75rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input .mc-left-icon-input__input{padding-left:2.9375rem}.mc-left-icon-input--s .mc-left-icon-input__icon{left:.5rem;top:50%;width:1.5rem;height:1.5rem}.mc-left-icon-input--s .mc-left-icon-input__input{padding-left:2.4375rem}.mc-text-input{font-family:LeroyMerlin,sans-serif;font-weight:400;box-sizing:border-box;outline:none;appearance:none;padding:0;margin:0;box-shadow:none;border:none;font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem;transition:box-shadow .2s ease;display:block;width:100%;position:relative;border:1px solid #808080;color:#333;background-color:#fff;border-radius:4px}.mc-text-input[type=number]::-webkit-inner-spin-button,.mc-text-input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.mc-text-input[type=number]{-moz-appearance:textfield}.mc-text-input[type=search]::-webkit-search-decoration:hover,.mc-text-input[type=search]::-webkit-search-cancel-button:hover{cursor:pointer}.mc-text-input::placeholder{font-size:1rem;line-height:1.375}.mc-text-input::placeholder{margin:0;color:gray;opacity:1}.mc-text-input.is-valid,.mc-text-input.is-invalid{background-repeat:no-repeat;background-size:1.5rem 1.5rem;background-position:right .4375rem center;padding-right:2.5rem}.mc-text-input.is-valid{border-color:#46a610;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' fill='%2346a610' viewBox='0 0 24 24'%3E%3Cpath d='M12 4a8 8 0 11-8 8 8 8 0 018-8m0-2a10 10 0 1010 10A10 10 0 0012 2z'/%3E%3Cpath d='M10.73 15.75a1 1 0 01-.68-.26l-3-2.74a1 1 0 011.36-1.47l2.25 2.08 4.36-4.42a1 1 0 111.42 1.41l-5 5.1a1 1 0 01-.71.3z'/%3E%3C/svg%3E\")}.mc-text-input.is-valid:hover,.mc-text-input.is-valid.is-hover{border-color:#035010}.mc-text-input.is-invalid{border-color:#c61112;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.5rem' width='1.5rem' viewBox='0 0 24 24' fill='%23c61112'%3E%3Cpath d='M12 2a10 10 0 1010 10A10 10 0 0012 2zm0 18a8 8 0 118-8 8 8 0 01-8 8z'/%3E%3Cpath d='M12 7a1 1 0 00-1 1v4.38a1 1 0 002 0V8a1 1 0 00-1-1z'/%3E%3Ccircle cx='12' cy='16' r='1'/%3E%3C/svg%3E\")}.mc-text-input.is-invalid:hover,.mc-text-input.is-invalid.is-hover{border-color:#530000}.mc-text-input:hover{border-color:#191919}.mc-text-input:focus{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #0b96cc}.mc-text-input:disabled{background:#e6e6e6;border-color:#e6e6e6;color:gray;cursor:not-allowed}.mc-text-input--s{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s::placeholder{font-size:.875rem;line-height:1.2857142857}@media screen and (min-width: 680px){.mc-text-input--s\\@from-m{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-m::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1024px){.mc-text-input--s\\@from-l{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-l::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1280px){.mc-text-input--s\\@from-xl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xl::placeholder{font-size:.875rem;line-height:1.2857142857}}@media screen and (min-width: 1920px){.mc-text-input--s\\@from-xxl{font-size:.875rem;line-height:1.2857142857;min-height:2rem;padding:.375rem .4375rem}.mc-text-input--s\\@from-xxl::placeholder{font-size:.875rem;line-height:1.2857142857}}.mc-text-input--m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m::placeholder{font-size:1rem;line-height:1.375}@media screen and (min-width: 680px){.mc-text-input--m\\@from-m{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-m::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1024px){.mc-text-input--m\\@from-l{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-l::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1280px){.mc-text-input--m\\@from-xl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xl::placeholder{font-size:1rem;line-height:1.375}}@media screen and (min-width: 1920px){.mc-text-input--m\\@from-xxl{font-size:1rem;line-height:1.375;min-height:3rem;padding:.75rem .6875rem}.mc-text-input--m\\@from-xxl::placeholder{font-size:1rem;line-height:1.375}}.mc-listbox{background-color:#fff;border:1px solid #666666;border-radius:3px;overflow-y:auto;max-width:var(--listbox-maxwidth, none);width:var(--listbox-width, auto)}.mc-listbox::-webkit-scrollbar{background-color:#e6e6e6;width:.25rem}.mc-listbox::-webkit-scrollbar-thumb{background:#666666}.mc-listbox__list{list-style:none;margin:0;padding-left:0}.mc-listbox__tile{align-items:center;display:flex;gap:.5rem;justify-content:flex-start;padding-left:.75rem;padding-right:.75rem;position:relative}.mc-listbox__tile:not(.mc-listbox__tile--empty):not(.is-disabled):hover{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox__tile--danger,.mc-listbox__tile.is-danger{color:#c61112}.mc-listbox__tile--empty{color:#666;justify-content:center}.mc-listbox__tile--empty .mc-listbox__label{cursor:default}.mc-listbox__tile.is-disabled{box-shadow:none;background-color:#ccc;color:#666;pointer-events:none}.mc-listbox__flag{font-size:1.5rem;line-height:1.3333333333;text-align:center}.mc-listbox__icon{fill:#666}.is-danger .mc-listbox__icon{fill:#c61112}.mc-listbox__label{font-size:1rem;line-height:1.375;color:currentColor;cursor:pointer;white-space:nowrap}button.mc-listbox__label{background:none;border:none;padding:0;font-size:inherit;font-family:inherit}.mc-listbox__label:after{content:\"\";position:absolute;inset:0;z-index:2}.mc-listbox__input{margin-left:auto;order:1}.mc-listbox--left{right:0}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-listbox--options{max-height:13.8125rem;min-width:18rem}.mc-listbox--options .mc-listbox__flag,.mc-listbox--options .mc-listbox__icon,.mc-listbox--options .mc-listbox__logo{height:2rem;width:2rem}.mc-listbox--options .mc-listbox__tile{height:3rem}.mc-listbox--options .mc-listbox__tile:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox--options .mc-listbox__tile.is-selected .mc-listbox__label:before{visibility:visible}.mc-listbox--options .mc-listbox__tile.is-selected.is-disabled .mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666666' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\")}.mc-listbox--options .mc-listbox__input:checked+.mc-listbox__label:before{visibility:visible}.mc-listbox--options .mc-listbox__input:checked:disabled+.mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666666' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\")}.mc-listbox--options .mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23191919' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-position:center;background-repeat:no-repeat;background-size:1.5rem;content:\"\";height:1.5rem;position:absolute;right:.75rem;top:0;transform:translateY(50%);width:1.5rem;visibility:hidden}.mc-listbox--actions{min-width:17.375rem}.mc-listbox--actions.align-top{transform:translateY(calc(-100% - 1.5rem))}.mc-listbox--actions.align-right{transform:translate(calc(-100% + 1.5rem))}.mc-listbox--actions.align-right.align-top{transform:translate(calc(-100% + 1.5rem),calc(-100% - 1.5rem))}.mc-listbox--actions .mc-listbox__list:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox--actions .mc-listbox__list:first-child{padding-top:.4375rem;padding-bottom:.5rem}.mc-listbox--actions .mc-listbox__list:last-child{padding-top:.5rem;padding-bottom:.4375rem}.mc-listbox--actions .mc-listbox__list:not(:first-child):not(:last-child){padding-top:.5rem;padding-bottom:.5rem}.mc-listbox--actions .mc-listbox__tile{height:2.5rem}.mc-listbox--actions .mc-listbox__flag,.mc-listbox--actions .mc-listbox__icon,.mc-listbox--actions .mc-listbox__logo{height:1.5rem;width:1.5rem}.mc-listbox--overlay{position:absolute;z-index:10}.mc-loader{color:#ff5800;align-items:center;display:inline-flex;flex-direction:column}.mc-loader .mc-loader__spinner{height:2rem;width:2rem}.mc-loader .mc-loader__path{stroke-width:4}.mc-loader .mc-loader__path{stroke:currentColor}.mc-loader__spinner:not(:only-child){margin-bottom:1rem}.mc-loader__icon{animation:rotate-loader 2s linear infinite;transform-origin:center}.mc-loader__path{fill:none;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:animate-dash-loader 2s ease-in-out infinite}.mc-loader__text{font-size:1rem;line-height:1.375;color:currentColor}.mc-loader--s .mc-loader__spinner{height:1.5rem;width:1.5rem}.mc-loader--s .mc-loader__path{stroke-width:4}.mc-loader--l .mc-loader__spinner{height:4rem;width:4rem}.mc-loader--l .mc-loader__path{stroke-width:8}.mc-loader--dark{color:#191919}.mc-loader--dark .mc-loader__path{stroke:currentColor}.mc-loader--light{color:#fff}.mc-loader--light .mc-loader__path{stroke:currentColor}@keyframes rotate-loader{0%{transform:rotate(0)}to{transform:rotate(270deg)}}@keyframes animate-dash-loader{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.mc-autocomplete{align-self:start;position:relative;min-width:18rem;max-width:var(--autocomplete-width, auto);width:100%}.mc-autocomplete__main{position:relative}.mc-autocomplete__tag,.mc-autocomplete__tools{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.mc-autocomplete__tag{left:2.75rem}.mc-autocomplete__trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-autocomplete__tools{align-items:center;background-color:#fff;display:flex;gap:.5rem;justify-content:flex-end;right:.75rem}.is-valid+.mc-autocomplete__tools,.is-invalid+.mc-autocomplete__tools{right:2.5rem}.mc-autocomplete__clear{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s ease;background:none;border-radius:50%}.mc-autocomplete__clear:focus{box-shadow:0 0 0 2px #0b96cc}.mc-autocomplete__clear,.mc-autocomplete__clear-icon{height:1.5rem;width:1.5rem}.mc-autocomplete__clear-icon{fill:#666}.mc-autocomplete__clear-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-autocomplete__error{font-size:.875rem;line-height:1.2857142857;color:#c61112;display:inline-block;margin-top:.25rem}.mc-autocomplete--multi .mc-autocomplete__trigger{padding-left:calc(2.9375rem + var(--autocomplete-tag-width, 0px))}\n"] }]
186
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { listboxComponent: [{
187
+ type: ViewChild,
188
+ args: [ListboxComponent]
189
+ }], listboxItems: [{
178
190
  type: Input
179
191
  }], multiple: [{
180
192
  type: Input
@@ -206,6 +218,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
206
218
  type: Input
207
219
  }], labelClearButton: [{
208
220
  type: Input
221
+ }], useVirtualScroll: [{
222
+ type: Input
209
223
  }], searchUpdated: [{
210
224
  type: Output
211
225
  }], inputClicked: [{
@@ -217,4 +231,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
217
231
  }], searchValue: [{
218
232
  type: Input
219
233
  }] } });
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFpQnpFLE1BQU0sT0FBTyxxQkFBcUI7SUE2QmhDLFlBQW9CLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBNUJ6QixpQkFBWSxHQUFrQixFQUFFLENBQUM7UUFDakMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixnQkFBVyxHQUFXLGFBQWEsQ0FBQztRQUNwQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsU0FBSSxHQUFrQixHQUFHLENBQUM7UUFDMUIsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMsbUJBQWMsR0FBVyxtQkFBbUIsQ0FBQztRQUM3QyxrQkFBYSxHQUFXLGlDQUFpQyxDQUFDO1FBQzFELHFCQUFnQixHQUFXLGtCQUFrQixDQUFDO1FBQzlDLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUNqQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLHFCQUFnQixHQUFXLE9BQU8sQ0FBQztRQUVsQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDM0MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzNDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3hDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBSS9DLHdCQUFtQixHQUFrQixFQUFFLENBQUM7UUFDeEMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUNsQyxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQWtCMUIsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN6QixZQUFPLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBakJvQixDQUFDO0lBRTdDLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBYSxXQUFXLENBQUMsS0FBYTtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBS0QsVUFBVSxDQUFDLEtBQThDO1FBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssRUFBRTtZQUMzQixJQUFJLENBQUMsV0FBVyxHQUFJLEtBQXFCLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztTQUN2RDtRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxlQUFlLENBQUMsTUFBZTtRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUMvQyxDQUFDO0lBRU0seUJBQXlCLENBQUMsbUJBQWdEO1FBQy9FLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUksbUJBQW1DLENBQUMsS0FBSyxDQUFDO1lBQzlELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztZQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7YUFDdkI7WUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFTSxxQkFBcUI7UUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE9BQVEsSUFBSSxDQUFDLGFBQStCO2lCQUN6QyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7aUJBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNmO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRU0sdUJBQXVCO1FBQzVCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLGFBQThCLENBQUM7U0FDNUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN4QyxPQUFPLElBQUksQ0FBQyxhQUE0QixDQUFDO1NBQzFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUN2RjthQUFNO1lBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxJQUFJLENBQUM7U0FDbkY7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRztvQkFDbEIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDakQsV0FBVyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FDckY7aUJBQ0YsQ0FBQztnQkFDRixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtvQkFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO29CQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztpQkFDckI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7aUJBQ3ZCO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2FBQ3ZCO1NBQ0Y7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxNQUFXO1FBQzlCLElBQUksTUFBTSxDQUFDLGFBQWEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQ3hGLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFTSxjQUFjLENBQUMsTUFBZTtRQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDOzttSEF6S1UscUJBQXFCO3VHQUFyQixxQkFBcUIsOG5CQVJyQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO1lBQ3BELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwrQ0N6QkgsOHJGQStFQTs0RkRwRGEscUJBQXFCO2tCQWJqQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt3R0FHZSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUVXLGFBQWE7c0JBQTdCLE1BQU07Z0JBQ1UsWUFBWTtzQkFBNUIsTUFBTTtnQkFDVSxTQUFTO3NCQUF6QixNQUFNO2dCQUNVLE1BQU07c0JBQXRCLE1BQU07Z0JBY00sV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBMaXN0Ym94SXRlbSB9IGZyb20gJy4uL2xpc3Rib3gvbW9kZWwvbGlzdGJveC1pdGVtJztcbmltcG9ydCB7IFRleHRJbnB1dFNpemUgfSBmcm9tICcuLi90ZXh0LWlucHV0L3RleHQtaW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb3otYXV0b2NvbXBsZXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBdXRvY29tcGxldGVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0Ym94SXRlbXM6IExpc3Rib3hJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1BsYWNlaG9sZGVyJztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhcmZpZWxkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyB2YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogVGV4dElucHV0U2l6ZSA9ICdzJztcbiAgQElucHV0KCkgcHVibGljIHNob3dTZWxlY3RlZFRhZzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbGF5ZXJUYWdzVGl0bGU6IHN0cmluZyA9ICdBdXRvY29tcGxldGUgdGFncyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYXllclRhZ3NJY29uOiBzdHJpbmcgPSAnTmF2aWdhdGlvbl9EaXNwbGF5X1NldHRpbmdfMjRweCc7XG4gIEBJbnB1dCgpIHB1YmxpYyBlcnJvckNvbnRlbnRUZXh0OiBzdHJpbmcgPSAnTm8gcmVzdWx0cyBmb3VuZCc7XG4gIEBJbnB1dCgpIHB1YmxpYyB3aXRoU2VhcmNoRmlsdGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIG9wZW5TdGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWxDbGVhckJ1dHRvbjogc3RyaW5nID0gJ0NsZWFyJztcblxuICBAT3V0cHV0KCkgcHVibGljIHNlYXJjaFVwZGF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBpbnB1dENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc2Nyb2xsRW5kID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGlzT3BlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgc2VsZWN0ZWRJdGVtczogTGlzdGJveEl0ZW1bXSB8IExpc3Rib3hJdGVtIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgb3JpZ2luYWxMaXN0Ym94UGFyZW50PzogSFRNTEVsZW1lbnQgfCBudWxsO1xuICBwdWJsaWMgaW5pdGlhbExpc3Rib3hJdGVtczogTGlzdGJveEl0ZW1bXSA9IFtdO1xuICBwdWJsaWMgbm9SZXN1bHRzOiBib29sZWFuID0gZmFsc2U7XG4gIF9zZWFyY2hWYWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgZ2V0IHNlYXJjaFZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaFZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHNlYXJjaFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zZWFyY2hWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxMaXN0Ym94SXRlbXMgPSB0aGlzLmxpc3Rib3hJdGVtcy5tYXAoKHgpID0+ICh7IC4uLnggfSkpO1xuICB9XG5cbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBMaXN0Ym94SXRlbVtdIHwgTGlzdGJveEl0ZW0gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VhcmNoVmFsdWUgPSAodmFsdWUgYXMgTGlzdGJveEl0ZW0pLmxhYmVsIHx8ICcnO1xuICAgIH1cbiAgICB0aGlzLm5vUmVzdWx0cyA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgcHVibGljIG9wZW5DaGFuZ2VFdmVudCgkZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzT3Blbi5lbWl0KCRldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb3Blbkxpc3Rib3goKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuU3RhdGUgPSB0cnVlO1xuICAgIHRoaXMuaW5wdXRDbGlja2VkLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VMaXN0Ym94KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblN0YXRlID0gZmFsc2U7XG4gICAgdGhpcy5saXN0Ym94SXRlbXMgPSB0aGlzLmluaXRpYWxMaXN0Ym94SXRlbXM7XG4gIH1cblxuICBwdWJsaWMgaXRlbXNTZWxlY3RlZExpc3Rib3hFdmVudChsaXN0Ym94SXRlbVNlbGVjdGVkOiBMaXN0Ym94SXRlbVtdIHwgTGlzdGJveEl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuc2VhcmNoVmFsdWUgPSAobGlzdGJveEl0ZW1TZWxlY3RlZCBhcyBMaXN0Ym94SXRlbSkubGFiZWw7XG4gICAgICB0aGlzLmNsb3NlTGlzdGJveCgpO1xuICAgIH1cbiAgICB0aGlzLmludmFsaWQgPSBmYWxzZTtcbiAgICB0aGlzLndyaXRlVmFsdWUobGlzdGJveEl0ZW1TZWxlY3RlZCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJGaWVsZEV2ZW50KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICB0aGlzLnNlYXJjaFZhbHVlID0gJyc7XG4gICAgICB9XG4gICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0TXVsdGlTZWxlY3RlZExhYmVsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHJldHVybiAodGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtW10pXG4gICAgICAgIC5tYXAoKHNlbGVjdGVkSXRlbSkgPT4gc2VsZWN0ZWRJdGVtLmxhYmVsKVxuICAgICAgICAuam9pbignLCAnKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCk6IExpc3Rib3hJdGVtW10ge1xuICAgIGlmICh0aGlzLm11bHRpcGxlICYmIHRoaXMuc2VsZWN0ZWRJdGVtcykge1xuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcyBhcyBMaXN0Ym94SXRlbVtdO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbSgpOiBMaXN0Ym94SXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHRoaXMuc2VsZWN0ZWRJdGVtcykge1xuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcyBhcyBMaXN0Ym94SXRlbTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBjYW5DbGVhckZpZWxkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICByZXR1cm4gIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5jbGVhcmZpZWxkICYmIHRoaXMuZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbXMoKS5sZW5ndGggPiAwO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5jbGVhcmZpZWxkICYmIHRoaXMuZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbSgpICE9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlYXJjaEV2ZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLndpdGhTZWFyY2hGaWx0ZXIpIHtcbiAgICAgIHRoaXMubm9SZXN1bHRzID0gZmFsc2U7XG4gICAgICB0aGlzLmludmFsaWQgPSBmYWxzZTtcbiAgICAgIGlmICh0aGlzLnNlYXJjaFZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5saXN0Ym94SXRlbXMgPSBbXG4gICAgICAgICAgLi4udGhpcy5pbml0aWFsTGlzdGJveEl0ZW1zLmZpbHRlcigobGlzdGJveEl0ZW0pID0+XG4gICAgICAgICAgICBsaXN0Ym94SXRlbS5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoVmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICAgICAgICApLFxuICAgICAgICBdO1xuICAgICAgICBpZiAodGhpcy5saXN0Ym94SXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm5vUmVzdWx0cyA9IHRydWU7XG4gICAgICAgICAgdGhpcy5pbnZhbGlkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9wZW5TdGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubGlzdGJveEl0ZW1zID0gdGhpcy5pbml0aWFsTGlzdGJveEl0ZW1zO1xuICAgICAgICB0aGlzLm9wZW5TdGF0ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VhcmNoVXBkYXRlZC5lbWl0KHRoaXMuc2VhcmNoVmFsdWUpO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzaW5FdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5MaXN0Ym94KCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNvdXRFdmVudCgkZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICgkZXZlbnQucmVsYXRlZFRhcmdldCAmJiAhJGV2ZW50LnJlbGF0ZWRUYXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdtYy1saXN0Ym94X19saXN0JykpIHtcbiAgICAgIHRoaXMuY2xvc2VMaXN0Ym94KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNjcm9sbEVuZEV2ZW50KCRldmVudDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc2Nyb2xsRW5kLmVtaXQoJGV2ZW50KTtcbiAgfVxufVxuIiwiPGRpdlxuICBpZD1cImpzLWF1dG9jb21wbGV0ZVwiXG4gIGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlIG1jLWF1dG9jb21wbGV0ZS0tY2xlYXJhYmxlXCJcbiAgW25nQ2xhc3NdPVwieyAnbWMtYXV0b2NvbXBsZXRlLS1tdWx0aSc6IG11bHRpcGxlIH1cIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgJy0tYXV0b2NvbXBsZXRlLXRhZy13aWR0aCc6XG4gICAgICBzaG93U2VsZWN0ZWRUYWcgJiYgbXVsdGlwbGUgJiYgZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbXMoKS5sZW5ndGggPiAwID8gJzMuNXJlbScgOiAnJyxcbiAgICAnLS1hdXRvY29tcGxldGUtd2lkdGgnOiAnMTAwJSdcbiAgfVwiXG4+XG4gIDxtb3otbGlzdGJveFxuICAgICNsaXN0Ym94XG4gICAgW2xpc3Rib3hJdGVtc109XCJsaXN0Ym94SXRlbXNcIlxuICAgIFsoaXNPcGVuKV09XCJvcGVuU3RhdGVcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgW3NlbGVjdGVkSXRlbXNdPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgKGl0ZW1zU2VsZWN0ZWQpPVwiaXRlbXNTZWxlY3RlZExpc3Rib3hFdmVudCgkZXZlbnQpXCJcbiAgICAoc2Nyb2xsRW5kKT1cInNjcm9sbEVuZEV2ZW50KCRldmVudClcIlxuICAgIChpc09wZW5DaGFuZ2UpPVwib3BlbkNoYW5nZUV2ZW50KCRldmVudClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fbWFpblwiIHJlZmVyZW5jZT5cbiAgICAgIDxtb3otdGFnXG4gICAgICAgICpuZ0lmPVwic2hvd1NlbGVjdGVkVGFnICYmIG11bHRpcGxlICYmIGdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCkubGVuZ3RoID4gMFwiXG4gICAgICAgIFt0eXBlXT1cImRpc2FibGVkID8gJ3RleHQnIDogJ3JlbW92YWJsZSdcIlxuICAgICAgICBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fdGFnXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnbWMtdGFnLXJlbW92YWJsZSBtYy10YWctcmVtb3ZhYmxlLS1zJzogIWRpc2FibGVkIH1cIlxuICAgICAgICBbc2l6ZV09XCIncydcIlxuICAgICAgICAoY2xpY2tPblJlbW92ZSk9XCJjbGVhckZpZWxkRXZlbnQoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IGdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCkubGVuZ3RoIH19PC9tb3otdGFnXG4gICAgICA+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYy1sZWZ0LWljb24taW5wdXRcIj5cbiAgICAgICAgPG1vei1pY29uXG4gICAgICAgICAgY2xhc3M9XCJtYy1sZWZ0LWljb24taW5wdXRfX2ljb25cIlxuICAgICAgICAgIFtpY29uTmFtZV09XCInTmF2aWdhdGlvbl9EaXNwbGF5X1NlYXJjaF8yNHB4J1wiXG4gICAgICAgID48L21vei1pY29uPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtb3otaW5wdXRcbiAgICAgICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgIFtpbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgICAgIGNsYXNzPVwibWMtbGVmdC1pY29uLWlucHV0X19pbnB1dCBtYy10ZXh0LWlucHV0IG1jLWF1dG9jb21wbGV0ZV9fdHJpZ2dlclwiXG4gICAgICAgICAgW3ZhbGlkXT1cInZhbGlkXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoRXZlbnQoKVwiXG4gICAgICAgICAgKGZvY3VzaW4pPVwiZm9jdXNpbkV2ZW50KClcIlxuICAgICAgICAgIChmb2N1c291dCk9XCJmb2N1c291dEV2ZW50KCRldmVudClcIlxuICAgICAgICAgIChjbGljayk9XCJvcGVuTGlzdGJveCgpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX190b29sc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX19sb2FkZXIgbWMtbG9hZGVyIG1jLWxvYWRlci0tc1wiICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWMtbG9hZGVyX19zcGlubmVyXCI+XG4gICAgICAgICAgICA8bW96LWxvYWRlciBjbGFzcz1cIm1jLWxvYWRlcl9faWNvblwiIHNpemU9XCJzXCI+PC9tb3otbG9hZGVyPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fY2xlYXJcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICpuZ0lmPVwiY2FuQ2xlYXJGaWVsZCgpXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJGaWVsZEV2ZW50KClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1vei1pY29uXG4gICAgICAgICAgICBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fY2xlYXItaWNvblwiXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwiJ05hdmlnYXRpb25fQ29udHJvbF9UYWctLUNyb3NzXzI0cHgnXCJcbiAgICAgICAgICA+PC9tb3otaWNvblxuICAgICAgICAgID48c3BhbiBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fY2xlYXItdGV4dFwiPnt7IGxhYmVsQ2xlYXJCdXR0b24gfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbW96LWxpc3Rib3g+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX2Vycm9yXCIgKm5nSWY9XCJpbnZhbGlkXCI+XG4gIHt7IGVycm9yQ29udGVudFRleHQgfX1cbjwvZGl2PlxuIl19
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7OztBQWU5QyxNQUFNLE9BQU8scUJBQXFCO0lBZ0NoQyxZQUE2QixFQUFxQjtRQUFyQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQTdCbEMsaUJBQVksR0FBa0IsRUFBRSxDQUFDO1FBQ2pDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZ0JBQVcsR0FBVyxhQUFhLENBQUM7UUFDcEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFNBQUksR0FBa0IsR0FBRyxDQUFDO1FBQzFCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLG1CQUFjLEdBQVcsbUJBQW1CLENBQUM7UUFDN0Msa0JBQWEsR0FBVyxpQ0FBaUMsQ0FBQztRQUMxRCxxQkFBZ0IsR0FBVyxrQkFBa0IsQ0FBQztRQUM5QyxxQkFB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c0JBQXZCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFFVyxhQUFhO3NCQUE3QixNQUFNO2dCQUNVLFlBQVk7c0JBQTVCLE1BQU07Z0JBQ1UsU0FBUztzQkFBekIsTUFBTTtnQkFDVSxNQUFNO3NCQUF0QixNQUFNO2dCQWNNLFdBQVc7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBMaXN0Ym94SXRlbSB9IGZyb20gJy4uL2xpc3Rib3gvbW9kZWwvbGlzdGJveC1pdGVtJztcbmltcG9ydCB7IFRleHRJbnB1dFNpemUgfSBmcm9tICcuLi90ZXh0LWlucHV0L3RleHQtaW5wdXQnO1xuaW1wb3J0IHsgTGlzdGJveENvbXBvbmVudCB9IGZyb20gJy4uL2xpc3Rib3gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb3otYXV0b2NvbXBsZXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBdXRvY29tcGxldGVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcyB7XG4gIEBWaWV3Q2hpbGQoTGlzdGJveENvbXBvbmVudCkgbGlzdGJveENvbXBvbmVudCE6IExpc3Rib3hDb21wb25lbnQ7XG5cbiAgQElucHV0KCkgcHVibGljIGxpc3Rib3hJdGVtczogTGlzdGJveEl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnUGxhY2Vob2xkZXInO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGNsZWFyZmllbGQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHZhbGlkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaXplOiBUZXh0SW5wdXRTaXplID0gJ3MnO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd1NlbGVjdGVkVGFnOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYXllclRhZ3NUaXRsZTogc3RyaW5nID0gJ0F1dG9jb21wbGV0ZSB0YWdzJztcbiAgQElucHV0KCkgcHVibGljIGxheWVyVGFnc0ljb246IHN0cmluZyA9ICdOYXZpZ2F0aW9uX0Rpc3BsYXlfU2V0dGluZ18yNHB4JztcbiAgQElucHV0KCkgcHVibGljIGVycm9yQ29udGVudFRleHQ6IHN0cmluZyA9ICdObyByZXN1bHRzIGZvdW5kJztcbiAgQElucHV0KCkgcHVibGljIHdpdGhTZWFyY2hGaWx0ZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgb3BlblN0YXRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbENsZWFyQnV0dG9uOiBzdHJpbmcgPSAnQ2xlYXInO1xuICBASW5wdXQoKSBwdWJsaWMgdXNlVmlydHVhbFNjcm9sbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VhcmNoVXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGlucHV0Q2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzY3JvbGxFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgaXNPcGVuID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBMaXN0Ym94SXRlbVtdIHwgTGlzdGJveEl0ZW0gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyBvcmlnaW5hbExpc3Rib3hQYXJlbnQ/OiBIVE1MRWxlbWVudCB8IG51bGw7XG4gIHB1YmxpYyBpbml0aWFsTGlzdGJveEl0ZW1zOiBMaXN0Ym94SXRlbVtdID0gW107XG4gIHB1YmxpYyBub1Jlc3VsdHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgX3NlYXJjaFZhbHVlOiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBnZXQgc2VhcmNoVmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoVmFsdWU7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgc2VhcmNoVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NlYXJjaFZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbExpc3Rib3hJdGVtcyA9IHRoaXMubGlzdGJveEl0ZW1zLm1hcCgoeCkgPT4gKHsgLi4ueCB9KSk7XG4gIH1cblxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IExpc3Rib3hJdGVtW10gfCBMaXN0Ym94SXRlbSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiB2YWx1ZSkge1xuICAgICAgdGhpcy5zZWFyY2hWYWx1ZSA9ICh2YWx1ZSBhcyBMaXN0Ym94SXRlbSkubGFiZWwgfHwgJyc7XG4gICAgfVxuICAgIHRoaXMubm9SZXN1bHRzID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5vblRvdWNoKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlclVwZGF0ZVBvc2l0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3Rib3hDb21wb25lbnQpIHtcbiAgICAgIHRoaXMubGlzdGJveENvbXBvbmVudC51cGRhdGVMaXN0Ym94UG9zaXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3BlbkNoYW5nZUV2ZW50KCRldmVudDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNPcGVuLmVtaXQoJGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuTGlzdGJveCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5TdGF0ZSA9IHRydWU7XG4gICAgdGhpcy5pbnB1dENsaWNrZWQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUxpc3Rib3goKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICB0aGlzLmxpc3Rib3hJdGVtcyA9IHRoaXMuaW5pdGlhbExpc3Rib3hJdGVtcztcbiAgfVxuXG4gIHB1YmxpYyBpdGVtc1NlbGVjdGVkTGlzdGJveEV2ZW50KGxpc3Rib3hJdGVtU2VsZWN0ZWQ6IExpc3Rib3hJdGVtW10gfCBMaXN0Ym94SXRlbSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy5zZWFyY2hWYWx1ZSA9IChsaXN0Ym94SXRlbVNlbGVjdGVkIGFzIExpc3Rib3hJdGVtKS5sYWJlbDtcbiAgICAgIHRoaXMuY2xvc2VMaXN0Ym94KCk7XG4gICAgfVxuICAgIHRoaXMuaW52YWxpZCA9IGZhbHNlO1xuICAgIHRoaXMud3JpdGVWYWx1ZShsaXN0Ym94SXRlbVNlbGVjdGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckZpZWxkRXZlbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLm9wZW5TdGF0ZSA9IGZhbHNlO1xuICAgICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoVmFsdWUgPSAnJztcbiAgICAgIH1cbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRNdWx0aVNlbGVjdGVkTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgcmV0dXJuICh0aGlzLnNlbGVjdGVkSXRlbXMgYXMgTGlzdGJveEl0ZW1bXSlcbiAgICAgICAgLm1hcCgoc2VsZWN0ZWRJdGVtKSA9PiBzZWxlY3RlZEl0ZW0ubGFiZWwpXG4gICAgICAgIC5qb2luKCcsICcpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbXMoKTogTGlzdGJveEl0ZW1bXSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtW107XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3RlZExpc3Rib3hJdGVtKCk6IExpc3Rib3hJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGNhbkNsZWFyRmllbGQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmNsZWFyZmllbGQgJiYgdGhpcy5nZXRTZWxlY3RlZExpc3Rib3hJdGVtcygpLmxlbmd0aCA+IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmNsZWFyZmllbGQgJiYgdGhpcy5nZXRTZWxlY3RlZExpc3Rib3hJdGVtKCkgIT0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoRXZlbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMud2l0aFNlYXJjaEZpbHRlcikge1xuICAgICAgdGhpcy5ub1Jlc3VsdHMgPSBmYWxzZTtcbiAgICAgIHRoaXMuaW52YWxpZCA9IGZhbHNlO1xuICAgICAgaWYgKHRoaXMuc2VhcmNoVmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmxpc3Rib3hJdGVtcyA9IFtcbiAgICAgICAgICAuLi50aGlzLmluaXRpYWxMaXN0Ym94SXRlbXMuZmlsdGVyKChsaXN0Ym94SXRlbSkgPT5cbiAgICAgICAgICAgIGxpc3Rib3hJdGVtLmxhYmVsLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hWYWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpKVxuICAgICAgICAgICksXG4gICAgICAgIF07XG4gICAgICAgIGlmICh0aGlzLmxpc3Rib3hJdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aGlzLm9wZW5TdGF0ZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubm9SZXN1bHRzID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmludmFsaWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub3BlblN0YXRlID0gdHJ1ZTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudHJpZ2dlclVwZGF0ZVBvc2l0aW9uKCksIDApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxpc3Rib3hJdGVtcyA9IHRoaXMuaW5pdGlhbExpc3Rib3hJdGVtcztcbiAgICAgICAgdGhpcy5vcGVuU3RhdGUgPSB0cnVlO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudHJpZ2dlclVwZGF0ZVBvc2l0aW9uKCksIDApO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNlYXJjaFVwZGF0ZWQuZW1pdCh0aGlzLnNlYXJjaFZhbHVlKTtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c2luRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuTGlzdGJveCgpO1xuICB9XG5cbiAgcHVibGljIGZvY3Vzb3V0RXZlbnQoJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoJGV2ZW50LnJlbGF0ZWRUYXJnZXQgJiYgISRldmVudC5yZWxhdGVkVGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnbWMtbGlzdGJveF9fbGlzdCcpKSB7XG4gICAgICB0aGlzLmNsb3NlTGlzdGJveCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxFbmRFdmVudCgkZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbEVuZC5lbWl0KCRldmVudCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgaWQ9XCJqcy1hdXRvY29tcGxldGVcIlxuICBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZSBtYy1hdXRvY29tcGxldGUtLWNsZWFyYWJsZVwiXG4gIFtuZ0NsYXNzXT1cInsgJ21jLWF1dG9jb21wbGV0ZS0tbXVsdGknOiBtdWx0aXBsZSB9XCJcbiAgW25nU3R5bGVdPVwie1xuICAgICctLWF1dG9jb21wbGV0ZS10YWctd2lkdGgnOlxuICAgICAgc2hvd1NlbGVjdGVkVGFnICYmIG11bHRpcGxlICYmIGdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCkubGVuZ3RoID4gMCA/ICczLjVyZW0nIDogJycsXG4gICAgJy0tYXV0b2NvbXBsZXRlLXdpZHRoJzogJzEwMCUnXG4gIH1cIlxuPlxuICA8bW96LWxpc3Rib3hcbiAgICAjbGlzdGJveFxuICAgIFtsaXN0Ym94SXRlbXNdPVwibGlzdGJveEl0ZW1zXCJcbiAgICBbKGlzT3BlbildPVwib3BlblN0YXRlXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgIFtzZWxlY3RlZEl0ZW1zXT1cInNlbGVjdGVkSXRlbXNcIlxuICAgIChpdGVtc1NlbGVjdGVkKT1cIml0ZW1zU2VsZWN0ZWRMaXN0Ym94RXZlbnQoJGV2ZW50KVwiXG4gICAgKHNjcm9sbEVuZCk9XCJzY3JvbGxFbmRFdmVudCgkZXZlbnQpXCJcbiAgICAoaXNPcGVuQ2hhbmdlKT1cIm9wZW5DaGFuZ2VFdmVudCgkZXZlbnQpXCJcbiAgICBbdXNlVmlydHVhbFNjcm9sbF09XCJ1c2VWaXJ0dWFsU2Nyb2xsXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX21haW5cIiByZWZlcmVuY2U+XG4gICAgICA8bW96LXRhZ1xuICAgICAgICAqbmdJZj1cInNob3dTZWxlY3RlZFRhZyAmJiBtdWx0aXBsZSAmJiBnZXRTZWxlY3RlZExpc3Rib3hJdGVtcygpLmxlbmd0aCA+IDBcIlxuICAgICAgICBbdHlwZV09XCJkaXNhYmxlZCA/ICd0ZXh0JyA6ICdyZW1vdmFibGUnXCJcbiAgICAgICAgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX3RhZ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ21jLXRhZy1yZW1vdmFibGUgbWMtdGFnLXJlbW92YWJsZS0tcyc6ICFkaXNhYmxlZCB9XCJcbiAgICAgICAgW3NpemVdPVwiJ3MnXCJcbiAgICAgICAgKGNsaWNrT25SZW1vdmUpPVwiY2xlYXJGaWVsZEV2ZW50KClcIlxuICAgICAgPlxuICAgICAgICB7eyBnZXRTZWxlY3RlZExpc3Rib3hJdGVtcygpLmxlbmd0aCB9fTwvbW96LXRhZ1xuICAgICAgPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibWMtbGVmdC1pY29uLWlucHV0XCI+XG4gICAgICAgIDxtb3otaWNvblxuICAgICAgICAgIGNsYXNzPVwibWMtbGVmdC1pY29uLWlucHV0X19pY29uXCJcbiAgICAgICAgICBbaWNvbk5hbWVdPVwiJ05hdmlnYXRpb25fRGlzcGxheV9TZWFyY2hfMjRweCdcIlxuICAgICAgICA+PC9tb3otaWNvbj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbW96LWlucHV0XG4gICAgICAgICAgW3R5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICBbaW52YWxpZF09XCJpbnZhbGlkXCJcbiAgICAgICAgICBjbGFzcz1cIm1jLWxlZnQtaWNvbi1pbnB1dF9faW5wdXQgbWMtdGV4dC1pbnB1dCBtYy1hdXRvY29tcGxldGVfX3RyaWdnZXJcIlxuICAgICAgICAgIFt2YWxpZF09XCJ2YWxpZFwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlYXJjaEV2ZW50KClcIlxuICAgICAgICAgIChmb2N1c2luKT1cImZvY3VzaW5FdmVudCgpXCJcbiAgICAgICAgICAoZm9jdXNvdXQpPVwiZm9jdXNvdXRFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAoY2xpY2spPVwib3Blbkxpc3Rib3goKVwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fdG9vbHNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1jLWF1dG9jb21wbGV0ZV9fbG9hZGVyIG1jLWxvYWRlciBtYy1sb2FkZXItLXNcIiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1jLWxvYWRlcl9fc3Bpbm5lclwiPlxuICAgICAgICAgICAgPG1vei1sb2FkZXIgY2xhc3M9XCJtYy1sb2FkZXJfX2ljb25cIiBzaXplPVwic1wiPjwvbW96LWxvYWRlcj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX2NsZWFyXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAqbmdJZj1cImNhbkNsZWFyRmllbGQoKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyRmllbGRFdmVudCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtb3otaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX2NsZWFyLWljb25cIlxuICAgICAgICAgICAgW2ljb25OYW1lXT1cIidOYXZpZ2F0aW9uX0NvbnRyb2xfVGFnLS1Dcm9zc18yNHB4J1wiXG4gICAgICAgICAgPjwvbW96LWljb25cbiAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJtYy1hdXRvY29tcGxldGVfX2NsZWFyLXRleHRcIj57eyBsYWJlbENsZWFyQnV0dG9uIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L21vei1saXN0Ym94PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibWMtYXV0b2NvbXBsZXRlX19lcnJvclwiICpuZ0lmPVwiaW52YWxpZFwiPlxuICB7eyBlcnJvckNvbnRlbnRUZXh0IH19XG48L2Rpdj5cbiJdfQ==