@wizco/fenixds-ngx 17.0.22 → 17.1.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.
@@ -318,7 +318,7 @@ export class SmartSelectComponent {
318
318
  useExisting: SmartSelectComponent,
319
319
  multi: true,
320
320
  },
321
- ], queries: [{ propertyName: "options", predicate: SmartSelectOptionComponent }], ngImport: i0, template: "<div\n class=\"wco-smartSelect\"\n [ngClass]=\"{\n 'wco-smartSelect--open': showList,\n 'wco-smartSelect--isMobile': isMobile,\n}\"\n (resize)=\"onResize()\"\n (mouseleave)=\"onFocusOut()\"\n>\n <div class=\"form-field\">\n <input\n *ngIf=\"!multiSelect\"\n class=\"form-field__input\"\n [ngClass]=\"{\n 'form-field--error':\n autocompleteControl.invalid && autocompleteControl.touched\n }\"\n [disabled]=\"autocompleteControl.disabled\"\n id=\"{{ inputId ? inputId : '' }}\"\n name=\"{{ inputName ? inputName : '' }}\"\n (click)=\"onFocusIn(true)\"\n (focusin)=\"onFocusIn()\"\n (keyup.escape)=\"onFocusOut()\"\n (keypress)=\"onKeyPress($event)\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n [value]=\"selectedLabel\"\n aria-label=\"Selecione uma op\u00E7\u00E3o\"\n />\n <div\n *ngIf=\"multiSelect\"\n class=\"form-field__input readonly multiSelect\"\n [ngClass]=\"{\n 'form-field--error': autocompleteControl.invalid && autocompleteControl.touched,\n 'form-field--disabled': autocompleteControl.disabled,\n }\"\n (click)=\"onFocusIn(true)\"\n (focusin)=\"onFocusIn()\"\n (keyup.escape)=\"onFocusOut()\"\n >\n <ng-container *ngIf=\"!selectedLabelMulti.length\">\n <span class=\"wco-smart-select-placeholder\">{{ placeholder || 'Selecione uma op\u00E7\u00E3o' }}</span>\n </ng-container>\n <ng-container *ngIf=\"selectedLabelMulti.length\">\n <span *ngFor=\"let optionSelected of selectedLabelMulti\" class=\"wco-smart-select-item\">\n {{optionSelected.label}} \n <span class=\"wco-smart-select-remove\" (click)=\"removeItem(optionSelected)\">\n <span class=\"material-icons\">close</span>\n </span>\n </span>\n <span class=\"wco-smart-select-item\" *ngIf=\"selectedLabelMultiCount >= 1\">\n +{{selectedLabelMultiCount}} \n </span>\n </ng-container>\n </div>\n <label>{{ label }}</label>\n <span class=\"material-icons\">{{ IconMaterial }}</span>\n </div>\n <div\n class=\"wco-smartSelect--box\"\n [ngClass]=\"{\n 'wco-smartSelect--box--open': showList && !autocompleteControl.disabled\n }\"\n >\n <div class=\"wco-smartSelect--isMobile-close\">\n <button\n (click)=\"closeList()\"\n class=\"btn btn-sm btn-primary btn-outline mb-nano\"\n >\n fechar\n </button>\n </div>\n <ul>\n <li\n tabindex=\"0\"\n class=\"wco-smart-selected-filter\"\n *ngIf=\"showList && showSearch\"\n >\n <input\n placeholder=\"buscar\"\n (keyup)=\"onFilter($event)\"\n aria-label=\"Search through site content\"\n type=\"text\"\n />\n </li>\n <li\n *ngFor=\"let option of filteredOptions; let i = index\"\n [tabindex]=\"i + 1\"\n [ngClass]=\"{\n 'wco-smart-selected': selectedValue(option),\n 'wc-smart-select-disabled-option': option.disabled,\n 'wc-smart-select-view-only-option': option.viewOnly,\n }\"\n (click)=\"onSelect(option)\"\n >\n <span class=\"wco-smart-select-label-prefix\">\n <ng-container *ngIf=\"typePrefix === 'checkbox'\">\n <span class=\"material-icons-outlined\">\n {{\n selectedValue(option) ? \"check_box\" : \"check_box_outline_blank\"\n }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"typePrefix === 'radio'\">\n <span class=\"material-icons-outlined\">\n {{\n selectedValue(option)\n ? \"radio_button_checked\"\n : \"radio_button_unchecked\"\n }}\n </span>\n </ng-container>\n <ng-container\n *ngIf=\"\n !!option.iconPrefix &&\n typePrefix !== 'radio' &&\n typePrefix !== 'checkbox'\n \"\n >\n <span class=\"material-icons-outlined\">\n {{ option.iconPrefix }}\n </span>\n </ng-container>\n </span>\n <span\n class=\"wco-smart-select-label\"\n [innerHTML]=\"option.htmlLabel\"\n ></span>\n </li>\n <li *ngIf=\"!filteredOptions.length\">\n <p class=\"display-body\">{{ textEmpty }}</p>\n </li>\n </ul>\n </div>\n</div>\n", styles: [".wco-smartSelect{width:100%;position:relative;display:inline-block;--wco-smart-select-box-height: 0px;--wco-smart-select-box-max-height: 300px;--wco-smart-select-box-radius: 8px;--wco-smart-select-box-shadow: var(--wco-shadow-level-1, 0 2px 4px rgba(0, 0, 0, .2));--wco-smart-select-box-default-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-default-color-bg: var(--wco-color-neutral-100, #e0e0e0);--wco-smart-select-box-default-padding: var(--wco-spacing-nano) var(--wco-spacing-xxxs);--wco-smart-select-box-hover-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-hover-color-bg: var(--wco-color-neutral-300, #bdbdbd);--wco-smart-select-box-selected-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-selected-color-bg: var(--wco-color-primary-100, #819ed3);--wco-smart-select-option-disabled-bg: var(--wco-color-neutral-100, #e0e0e0);--wco-smart-select-option-disabled-color: var(--wco-color-neutral-500, #9e9e9e);--wco-smart-select-box-option-height: 48px}.wco-smartSelect--open{--wco-smart-select-box-height: auto }.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--isMobile-close{display:flex;padding:var(--wco-spacing-nano);align-items:center;justify-content:flex-end}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box{position:fixed;bottom:0;left:0;width:100%}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open{padding:0}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open ul,.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open input{border-radius:0}.wco-smartSelect .wco-smartSelect--isMobile-close{display:none}.wco-smartSelect input{cursor:pointer}.wco-smartSelect .form-field__input.multiSelect{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--wco-spacing-nano);padding-right:var(--wco-spacing-sm)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-placeholder{opacity:.5}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item{display:inline-flex;align-items:center;justify-content:center;padding:var(--wco-spacing-quark) var(--wco-spacing-xxs);border-radius:var(--wco-smart-select-box-radius);background-color:var(--wco-smart-select-box-default-color-bg);position:relative}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item:hover>span{width:calc(var(--wco-spacing-xxs) - 2px)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span{position:absolute;right:0;top:50%;transform:translateY(-50%);border-radius:0 var(--wco-smart-select-box-radius) var(--wco-smart-select-box-radius) 0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;height:100%;width:0px;transition:width .1s linear,margin .1s linear;overflow:hidden;z-index:1}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span>span{font-size:var(--wco-font-size-xxxs);font-weight:400;line-height:var(--wco-font-lineheight-500);letter-spacing:.4px;color:var(--wco-smart-select-box-default-color-label)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span:hover{color:var(--wco-smart-select-box-hover-color-label);background-color:var(--wco-smart-select-box-hover-color-bg)}.wco-smartSelect .wco-smartSelect--box{position:absolute;left:-12px;width:calc(100% + 24px);z-index:999;display:grid;grid-template-columns:1fr;grid-template-rows:var(--wco-smart-select-box-height, 0px);max-height:var(--wco-smart-select-box-max-height);transition:all .4s ease-in-out,padding 0ms linear;padding:0;opacity:0;visibility:hidden;pointer-events:none}.wco-smartSelect .wco-smartSelect--box.wco-smartSelect--box--open{pointer-events:all;padding:var(--wco-spacing-nano) var(--wco-spacing-xxxs) var(--wco-spacing-xxxs) var(--wco-spacing-xxxs);animation:introSmartSelectBox .4s ease-in-out .1s forwards}@keyframes introSmartSelectBox{0%{opacity:0;visibility:hidden;transform:translateY(-10px)}to{opacity:1;visibility:visible;transform:translateY(0)}}.wco-smartSelect .wco-smartSelect--box ul{border-top:none;border-radius:var(--wco-smart-select-box-radius);box-shadow:var(--wco-smart-select-box-shadow);background-color:var(--wco-smart-select-box-default-color-bg);overflow-y:auto;overflow-x:hidden;max-height:var(--wco-smart-select-box-max-height)}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar{width:8px}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar-track{background-color:transparent}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar-thumb{border-radius:99px;background-color:var(--wco-color-neutral-500, #9e9e9e)}.wco-smartSelect .wco-smartSelect--box ul li{color:var(--wco-smart-select-box-default-color-label);padding:var(--wco-smart-select-box-default-padding);display:grid;width:100%;align-items:center;justify-content:flex-start;grid-template-columns:auto 1fr auto;gap:var(--wco-spacing-xxxs);font-family:var(--wco-font-family);font-size:var(--wco-font-size-xs);font-weight:400;line-height:var(--wco-font-lineheight-500);letter-spacing:.4px;min-height:var(--wco-smart-select-box-option-height)}.wco-smartSelect .wco-smartSelect--box ul li .wco-smart-select-label-prefix{display:inline-flex;align-items:center}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter{padding:0;align-items:stretch;display:flex}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter input{width:100%;height:auto;padding:var(--wco-smart-select-box-default-padding);border:none;border-bottom:1px solid #ccc;border-radius:var(--wco-smart-select-box-radius) var(--wco-smart-select-box-radius) 0 0}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter input:focus{outline:none}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter){cursor:pointer}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):hover{background-color:var(--wco-smart-select-box-hover-color-bg);color:var(--wco-smart-select-box-hover-color-label);cursor:pointer}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):focus,.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):active{background-color:var(--wco-smart-select-box-selected-color-bg);color:var(--wco-smart-select-box-selected-color-label)}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter).wco-smart-selected{background-color:var(--wco-smart-select-box-selected-color-bg);color:var(--wco-smart-select-box-selected-color-label);font-weight:600}.wco-smartSelect .wco-smartSelect--box ul li.wc-smart-select-disabled-option{background-color:var(--wco-smart-select-option-disabled-bg);color:var(--wco-smart-select-option-disabled-color);cursor:not-allowed}.wco-smartSelect .wco-smartSelect--box ul li.wc-smart-select-disabled-option .wco-smart-select-remove{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }], encapsulation: i0.ViewEncapsulation.None });
321
+ ], queries: [{ propertyName: "options", predicate: SmartSelectOptionComponent }], ngImport: i0, template: "<div\n class=\"wco-smartSelect\"\n [ngClass]=\"{\n 'wco-smartSelect--open': showList,\n 'wco-smartSelect--isMobile': isMobile,\n}\"\n (resize)=\"onResize()\"\n (mouseleave)=\"onFocusOut()\"\n>\n <div class=\"form-field\">\n <input\n *ngIf=\"!multiSelect\"\n class=\"form-field__input\"\n [ngClass]=\"{\n 'form-field--error':\n autocompleteControl.invalid && autocompleteControl.touched\n }\"\n [disabled]=\"autocompleteControl.disabled\"\n id=\"{{ inputId ? inputId : '' }}\"\n name=\"{{ inputName ? inputName : '' }}\"\n (click)=\"onFocusIn(true)\"\n (focusin)=\"onFocusIn()\"\n (keyup.escape)=\"onFocusOut()\"\n (keypress)=\"onKeyPress($event)\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n [value]=\"selectedLabel\"\n aria-label=\"Selecione uma op\u00E7\u00E3o\"\n />\n <div\n *ngIf=\"multiSelect\"\n class=\"form-field__input readonly multiSelect\"\n [ngClass]=\"{\n 'form-field--error': autocompleteControl.invalid && autocompleteControl.touched,\n 'form-field--disabled': autocompleteControl.disabled,\n }\"\n (click)=\"onFocusIn(true)\"\n (focusin)=\"onFocusIn()\"\n (keyup.escape)=\"onFocusOut()\"\n >\n <ng-container *ngIf=\"!selectedLabelMulti.length\">\n <span class=\"wco-smart-select-placeholder\">{{ placeholder || 'Selecione uma op\u00E7\u00E3o' }}</span>\n </ng-container>\n <ng-container *ngIf=\"selectedLabelMulti.length\">\n <span *ngFor=\"let optionSelected of selectedLabelMulti\" class=\"wco-smart-select-item\">\n {{optionSelected.label}} \n <span class=\"wco-smart-select-remove\" (click)=\"removeItem(optionSelected)\">\n <span class=\"material-icons\">close</span>\n </span>\n </span>\n <span class=\"wco-smart-select-item\" *ngIf=\"selectedLabelMultiCount >= 1\">\n +{{selectedLabelMultiCount}} \n </span>\n </ng-container>\n </div>\n <label>{{ label }}</label>\n <span class=\"material-icons\">{{ IconMaterial }}</span>\n </div>\n <div\n class=\"wco-smartSelect--box\"\n [ngClass]=\"{\n 'wco-smartSelect--box--open': showList && !autocompleteControl.disabled\n }\"\n >\n <div class=\"wco-smartSelect--isMobile-close\">\n <button\n (click)=\"closeList()\"\n class=\"btn btn-sm btn-primary btn-outline mb-nano\"\n >\n fechar\n </button>\n </div>\n <ul>\n <li\n tabindex=\"0\"\n class=\"wco-smart-selected-filter\"\n *ngIf=\"showList && showSearch\"\n >\n <input\n placeholder=\"buscar\"\n (keyup)=\"onFilter($event)\"\n aria-label=\"Search through site content\"\n type=\"text\"\n />\n </li>\n <li\n *ngFor=\"let option of filteredOptions; let i = index\"\n [tabindex]=\"i + 1\"\n [ngClass]=\"{\n 'wco-smart-selected': selectedValue(option),\n 'wc-smart-select-disabled-option': option.disabled,\n 'wc-smart-select-view-only-option': option.viewOnly,\n }\"\n (click)=\"onSelect(option)\"\n >\n <span class=\"wco-smart-select-label-prefix\">\n <ng-container *ngIf=\"typePrefix === 'checkbox'\">\n <span class=\"material-icons-outlined\">\n {{\n selectedValue(option) ? \"check_box\" : \"check_box_outline_blank\"\n }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"typePrefix === 'radio'\">\n <span class=\"material-icons-outlined\">\n {{\n selectedValue(option)\n ? \"radio_button_checked\"\n : \"radio_button_unchecked\"\n }}\n </span>\n </ng-container>\n <ng-container\n *ngIf=\"\n !!option.iconPrefix &&\n typePrefix !== 'radio' &&\n typePrefix !== 'checkbox'\n \"\n >\n <span class=\"material-icons-outlined\">\n {{ option.iconPrefix }}\n </span>\n </ng-container>\n </span>\n <span\n class=\"wco-smart-select-label\"\n [innerHTML]=\"option.htmlLabel\"\n ></span>\n </li>\n <li *ngIf=\"!filteredOptions.length\">\n <p class=\"display-body\">{{ textEmpty }}</p>\n </li>\n </ul>\n </div>\n</div>\n", styles: [":host{width:100%}.wco-smartSelect{width:100%;position:relative;display:inline-block;--wco-smart-select-box-height: 0px;--wco-smart-select-box-max-height: 300px;--wco-smart-select-box-radius: 8px;--wco-smart-select-box-shadow: var(--wco-shadow-level-1, 0 2px 4px rgba(0, 0, 0, .2));--wco-smart-select-box-default-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-default-color-bg: var(--wco-color-neutral-100, #e0e0e0);--wco-smart-select-box-default-padding: var(--wco-spacing-nano) var(--wco-spacing-xxxs);--wco-smart-select-box-hover-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-hover-color-bg: var(--wco-color-neutral-300, #bdbdbd);--wco-smart-select-box-selected-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-selected-color-bg: var(--wco-color-primary-100, #819ed3);--wco-smart-select-option-disabled-bg: var(--wco-color-neutral-100, #e0e0e0);--wco-smart-select-option-disabled-color: var(--wco-color-neutral-500, #9e9e9e);--wco-smart-select-box-option-height: 48px}.wco-smartSelect--open{--wco-smart-select-box-height: auto }.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--isMobile-close{display:flex;padding:var(--wco-spacing-nano);align-items:center;justify-content:flex-end}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box{position:fixed;bottom:0;left:0;width:100%}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open{padding:0}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open ul,.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open input{border-radius:0}.wco-smartSelect .wco-smartSelect--isMobile-close{display:none}.wco-smartSelect input{cursor:pointer}.wco-smartSelect .form-field__input.multiSelect{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--wco-spacing-nano);padding-right:var(--wco-spacing-sm)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-placeholder{opacity:.5}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item{display:inline-flex;align-items:center;justify-content:center;padding:var(--wco-spacing-quark) var(--wco-spacing-xxs);border-radius:var(--wco-smart-select-box-radius);background-color:var(--wco-smart-select-box-default-color-bg);position:relative}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item:hover>span{width:calc(var(--wco-spacing-xxs) - 2px)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span{position:absolute;right:0;top:50%;transform:translateY(-50%);border-radius:0 var(--wco-smart-select-box-radius) var(--wco-smart-select-box-radius) 0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;height:100%;width:0px;transition:width .1s linear,margin .1s linear;overflow:hidden;z-index:1}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span>span{font-size:var(--wco-font-size-xxxs);font-weight:400;line-height:var(--wco-font-lineheight-500);letter-spacing:.4px;color:var(--wco-smart-select-box-default-color-label)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span:hover{color:var(--wco-smart-select-box-hover-color-label);background-color:var(--wco-smart-select-box-hover-color-bg)}.wco-smartSelect .wco-smartSelect--box{position:absolute;left:-12px;width:calc(100% + 24px);z-index:999;display:grid;grid-template-columns:1fr;grid-template-rows:var(--wco-smart-select-box-height, 0px);max-height:var(--wco-smart-select-box-max-height);transition:all .4s ease-in-out,padding 0ms linear;padding:0;opacity:0;visibility:hidden;pointer-events:none}.wco-smartSelect .wco-smartSelect--box.wco-smartSelect--box--open{pointer-events:all;padding:var(--wco-spacing-nano) var(--wco-spacing-xxxs) var(--wco-spacing-xxxs) var(--wco-spacing-xxxs);animation:introSmartSelectBox .4s ease-in-out .1s forwards}@keyframes introSmartSelectBox{0%{opacity:0;visibility:hidden;transform:translateY(-10px)}to{opacity:1;visibility:visible;transform:translateY(0)}}.wco-smartSelect .wco-smartSelect--box ul{border-top:none;border-radius:var(--wco-smart-select-box-radius);box-shadow:var(--wco-smart-select-box-shadow);background-color:var(--wco-smart-select-box-default-color-bg);overflow-y:auto;overflow-x:hidden;max-height:var(--wco-smart-select-box-max-height)}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar{width:8px}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar-track{background-color:transparent}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar-thumb{border-radius:99px;background-color:var(--wco-color-neutral-500, #9e9e9e)}.wco-smartSelect .wco-smartSelect--box ul li{color:var(--wco-smart-select-box-default-color-label);padding:var(--wco-smart-select-box-default-padding);display:grid;width:100%;align-items:center;justify-content:flex-start;grid-template-columns:auto 1fr auto;gap:var(--wco-spacing-xxxs);font-family:var(--wco-font-family);font-size:var(--wco-font-size-xs);font-weight:400;line-height:var(--wco-font-lineheight-500);letter-spacing:.4px;min-height:var(--wco-smart-select-box-option-height)}.wco-smartSelect .wco-smartSelect--box ul li .wco-smart-select-label-prefix{display:inline-flex;align-items:center}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter{padding:0;align-items:stretch;display:flex}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter input{width:100%;height:auto;padding:var(--wco-smart-select-box-default-padding);border:none;border-bottom:1px solid #ccc;border-radius:var(--wco-smart-select-box-radius) var(--wco-smart-select-box-radius) 0 0}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter input:focus{outline:none}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter){cursor:pointer}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):hover{background-color:var(--wco-smart-select-box-hover-color-bg);color:var(--wco-smart-select-box-hover-color-label);cursor:pointer}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):focus,.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):active{background-color:var(--wco-smart-select-box-selected-color-bg);color:var(--wco-smart-select-box-selected-color-label)}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter).wco-smart-selected{background-color:var(--wco-smart-select-box-selected-color-bg);color:var(--wco-smart-select-box-selected-color-label);font-weight:600}.wco-smartSelect .wco-smartSelect--box ul li.wc-smart-select-disabled-option{background-color:var(--wco-smart-select-option-disabled-bg);color:var(--wco-smart-select-option-disabled-color);cursor:not-allowed}.wco-smartSelect .wco-smartSelect--box ul li.wc-smart-select-disabled-option .wco-smart-select-remove{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }], encapsulation: i0.ViewEncapsulation.None });
322
322
  }
323
323
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SmartSelectComponent, decorators: [{
324
324
  type: Component,
@@ -333,7 +333,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
333
333
  useExisting: SmartSelectComponent,
334
334
  multi: true,
335
335
  },
336
- ], template: "<div\n class=\"wco-smartSelect\"\n [ngClass]=\"{\n 'wco-smartSelect--open': showList,\n 'wco-smartSelect--isMobile': isMobile,\n}\"\n (resize)=\"onResize()\"\n (mouseleave)=\"onFocusOut()\"\n>\n <div class=\"form-field\">\n <input\n *ngIf=\"!multiSelect\"\n class=\"form-field__input\"\n [ngClass]=\"{\n 'form-field--error':\n autocompleteControl.invalid && autocompleteControl.touched\n }\"\n [disabled]=\"autocompleteControl.disabled\"\n id=\"{{ inputId ? inputId : '' }}\"\n name=\"{{ inputName ? inputName : '' }}\"\n (click)=\"onFocusIn(true)\"\n (focusin)=\"onFocusIn()\"\n (keyup.escape)=\"onFocusOut()\"\n (keypress)=\"onKeyPress($event)\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n [value]=\"selectedLabel\"\n aria-label=\"Selecione uma op\u00E7\u00E3o\"\n />\n <div\n *ngIf=\"multiSelect\"\n class=\"form-field__input readonly multiSelect\"\n [ngClass]=\"{\n 'form-field--error': autocompleteControl.invalid && autocompleteControl.touched,\n 'form-field--disabled': autocompleteControl.disabled,\n }\"\n (click)=\"onFocusIn(true)\"\n (focusin)=\"onFocusIn()\"\n (keyup.escape)=\"onFocusOut()\"\n >\n <ng-container *ngIf=\"!selectedLabelMulti.length\">\n <span class=\"wco-smart-select-placeholder\">{{ placeholder || 'Selecione uma op\u00E7\u00E3o' }}</span>\n </ng-container>\n <ng-container *ngIf=\"selectedLabelMulti.length\">\n <span *ngFor=\"let optionSelected of selectedLabelMulti\" class=\"wco-smart-select-item\">\n {{optionSelected.label}} \n <span class=\"wco-smart-select-remove\" (click)=\"removeItem(optionSelected)\">\n <span class=\"material-icons\">close</span>\n </span>\n </span>\n <span class=\"wco-smart-select-item\" *ngIf=\"selectedLabelMultiCount >= 1\">\n +{{selectedLabelMultiCount}} \n </span>\n </ng-container>\n </div>\n <label>{{ label }}</label>\n <span class=\"material-icons\">{{ IconMaterial }}</span>\n </div>\n <div\n class=\"wco-smartSelect--box\"\n [ngClass]=\"{\n 'wco-smartSelect--box--open': showList && !autocompleteControl.disabled\n }\"\n >\n <div class=\"wco-smartSelect--isMobile-close\">\n <button\n (click)=\"closeList()\"\n class=\"btn btn-sm btn-primary btn-outline mb-nano\"\n >\n fechar\n </button>\n </div>\n <ul>\n <li\n tabindex=\"0\"\n class=\"wco-smart-selected-filter\"\n *ngIf=\"showList && showSearch\"\n >\n <input\n placeholder=\"buscar\"\n (keyup)=\"onFilter($event)\"\n aria-label=\"Search through site content\"\n type=\"text\"\n />\n </li>\n <li\n *ngFor=\"let option of filteredOptions; let i = index\"\n [tabindex]=\"i + 1\"\n [ngClass]=\"{\n 'wco-smart-selected': selectedValue(option),\n 'wc-smart-select-disabled-option': option.disabled,\n 'wc-smart-select-view-only-option': option.viewOnly,\n }\"\n (click)=\"onSelect(option)\"\n >\n <span class=\"wco-smart-select-label-prefix\">\n <ng-container *ngIf=\"typePrefix === 'checkbox'\">\n <span class=\"material-icons-outlined\">\n {{\n selectedValue(option) ? \"check_box\" : \"check_box_outline_blank\"\n }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"typePrefix === 'radio'\">\n <span class=\"material-icons-outlined\">\n {{\n selectedValue(option)\n ? \"radio_button_checked\"\n : \"radio_button_unchecked\"\n }}\n </span>\n </ng-container>\n <ng-container\n *ngIf=\"\n !!option.iconPrefix &&\n typePrefix !== 'radio' &&\n typePrefix !== 'checkbox'\n \"\n >\n <span class=\"material-icons-outlined\">\n {{ option.iconPrefix }}\n </span>\n </ng-container>\n </span>\n <span\n class=\"wco-smart-select-label\"\n [innerHTML]=\"option.htmlLabel\"\n ></span>\n </li>\n <li *ngIf=\"!filteredOptions.length\">\n <p class=\"display-body\">{{ textEmpty }}</p>\n </li>\n </ul>\n </div>\n</div>\n", styles: [".wco-smartSelect{width:100%;position:relative;display:inline-block;--wco-smart-select-box-height: 0px;--wco-smart-select-box-max-height: 300px;--wco-smart-select-box-radius: 8px;--wco-smart-select-box-shadow: var(--wco-shadow-level-1, 0 2px 4px rgba(0, 0, 0, .2));--wco-smart-select-box-default-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-default-color-bg: var(--wco-color-neutral-100, #e0e0e0);--wco-smart-select-box-default-padding: var(--wco-spacing-nano) var(--wco-spacing-xxxs);--wco-smart-select-box-hover-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-hover-color-bg: var(--wco-color-neutral-300, #bdbdbd);--wco-smart-select-box-selected-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-selected-color-bg: var(--wco-color-primary-100, #819ed3);--wco-smart-select-option-disabled-bg: var(--wco-color-neutral-100, #e0e0e0);--wco-smart-select-option-disabled-color: var(--wco-color-neutral-500, #9e9e9e);--wco-smart-select-box-option-height: 48px}.wco-smartSelect--open{--wco-smart-select-box-height: auto }.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--isMobile-close{display:flex;padding:var(--wco-spacing-nano);align-items:center;justify-content:flex-end}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box{position:fixed;bottom:0;left:0;width:100%}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open{padding:0}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open ul,.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open input{border-radius:0}.wco-smartSelect .wco-smartSelect--isMobile-close{display:none}.wco-smartSelect input{cursor:pointer}.wco-smartSelect .form-field__input.multiSelect{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--wco-spacing-nano);padding-right:var(--wco-spacing-sm)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-placeholder{opacity:.5}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item{display:inline-flex;align-items:center;justify-content:center;padding:var(--wco-spacing-quark) var(--wco-spacing-xxs);border-radius:var(--wco-smart-select-box-radius);background-color:var(--wco-smart-select-box-default-color-bg);position:relative}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item:hover>span{width:calc(var(--wco-spacing-xxs) - 2px)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span{position:absolute;right:0;top:50%;transform:translateY(-50%);border-radius:0 var(--wco-smart-select-box-radius) var(--wco-smart-select-box-radius) 0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;height:100%;width:0px;transition:width .1s linear,margin .1s linear;overflow:hidden;z-index:1}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span>span{font-size:var(--wco-font-size-xxxs);font-weight:400;line-height:var(--wco-font-lineheight-500);letter-spacing:.4px;color:var(--wco-smart-select-box-default-color-label)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span:hover{color:var(--wco-smart-select-box-hover-color-label);background-color:var(--wco-smart-select-box-hover-color-bg)}.wco-smartSelect .wco-smartSelect--box{position:absolute;left:-12px;width:calc(100% + 24px);z-index:999;display:grid;grid-template-columns:1fr;grid-template-rows:var(--wco-smart-select-box-height, 0px);max-height:var(--wco-smart-select-box-max-height);transition:all .4s ease-in-out,padding 0ms linear;padding:0;opacity:0;visibility:hidden;pointer-events:none}.wco-smartSelect .wco-smartSelect--box.wco-smartSelect--box--open{pointer-events:all;padding:var(--wco-spacing-nano) var(--wco-spacing-xxxs) var(--wco-spacing-xxxs) var(--wco-spacing-xxxs);animation:introSmartSelectBox .4s ease-in-out .1s forwards}@keyframes introSmartSelectBox{0%{opacity:0;visibility:hidden;transform:translateY(-10px)}to{opacity:1;visibility:visible;transform:translateY(0)}}.wco-smartSelect .wco-smartSelect--box ul{border-top:none;border-radius:var(--wco-smart-select-box-radius);box-shadow:var(--wco-smart-select-box-shadow);background-color:var(--wco-smart-select-box-default-color-bg);overflow-y:auto;overflow-x:hidden;max-height:var(--wco-smart-select-box-max-height)}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar{width:8px}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar-track{background-color:transparent}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar-thumb{border-radius:99px;background-color:var(--wco-color-neutral-500, #9e9e9e)}.wco-smartSelect .wco-smartSelect--box ul li{color:var(--wco-smart-select-box-default-color-label);padding:var(--wco-smart-select-box-default-padding);display:grid;width:100%;align-items:center;justify-content:flex-start;grid-template-columns:auto 1fr auto;gap:var(--wco-spacing-xxxs);font-family:var(--wco-font-family);font-size:var(--wco-font-size-xs);font-weight:400;line-height:var(--wco-font-lineheight-500);letter-spacing:.4px;min-height:var(--wco-smart-select-box-option-height)}.wco-smartSelect .wco-smartSelect--box ul li .wco-smart-select-label-prefix{display:inline-flex;align-items:center}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter{padding:0;align-items:stretch;display:flex}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter input{width:100%;height:auto;padding:var(--wco-smart-select-box-default-padding);border:none;border-bottom:1px solid #ccc;border-radius:var(--wco-smart-select-box-radius) var(--wco-smart-select-box-radius) 0 0}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter input:focus{outline:none}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter){cursor:pointer}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):hover{background-color:var(--wco-smart-select-box-hover-color-bg);color:var(--wco-smart-select-box-hover-color-label);cursor:pointer}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):focus,.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):active{background-color:var(--wco-smart-select-box-selected-color-bg);color:var(--wco-smart-select-box-selected-color-label)}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter).wco-smart-selected{background-color:var(--wco-smart-select-box-selected-color-bg);color:var(--wco-smart-select-box-selected-color-label);font-weight:600}.wco-smartSelect .wco-smartSelect--box ul li.wc-smart-select-disabled-option{background-color:var(--wco-smart-select-option-disabled-bg);color:var(--wco-smart-select-option-disabled-color);cursor:not-allowed}.wco-smartSelect .wco-smartSelect--box ul li.wc-smart-select-disabled-option .wco-smart-select-remove{display:none}\n"] }]
336
+ ], template: "<div\n class=\"wco-smartSelect\"\n [ngClass]=\"{\n 'wco-smartSelect--open': showList,\n 'wco-smartSelect--isMobile': isMobile,\n}\"\n (resize)=\"onResize()\"\n (mouseleave)=\"onFocusOut()\"\n>\n <div class=\"form-field\">\n <input\n *ngIf=\"!multiSelect\"\n class=\"form-field__input\"\n [ngClass]=\"{\n 'form-field--error':\n autocompleteControl.invalid && autocompleteControl.touched\n }\"\n [disabled]=\"autocompleteControl.disabled\"\n id=\"{{ inputId ? inputId : '' }}\"\n name=\"{{ inputName ? inputName : '' }}\"\n (click)=\"onFocusIn(true)\"\n (focusin)=\"onFocusIn()\"\n (keyup.escape)=\"onFocusOut()\"\n (keypress)=\"onKeyPress($event)\"\n [placeholder]=\"placeholder\"\n type=\"text\"\n [value]=\"selectedLabel\"\n aria-label=\"Selecione uma op\u00E7\u00E3o\"\n />\n <div\n *ngIf=\"multiSelect\"\n class=\"form-field__input readonly multiSelect\"\n [ngClass]=\"{\n 'form-field--error': autocompleteControl.invalid && autocompleteControl.touched,\n 'form-field--disabled': autocompleteControl.disabled,\n }\"\n (click)=\"onFocusIn(true)\"\n (focusin)=\"onFocusIn()\"\n (keyup.escape)=\"onFocusOut()\"\n >\n <ng-container *ngIf=\"!selectedLabelMulti.length\">\n <span class=\"wco-smart-select-placeholder\">{{ placeholder || 'Selecione uma op\u00E7\u00E3o' }}</span>\n </ng-container>\n <ng-container *ngIf=\"selectedLabelMulti.length\">\n <span *ngFor=\"let optionSelected of selectedLabelMulti\" class=\"wco-smart-select-item\">\n {{optionSelected.label}} \n <span class=\"wco-smart-select-remove\" (click)=\"removeItem(optionSelected)\">\n <span class=\"material-icons\">close</span>\n </span>\n </span>\n <span class=\"wco-smart-select-item\" *ngIf=\"selectedLabelMultiCount >= 1\">\n +{{selectedLabelMultiCount}} \n </span>\n </ng-container>\n </div>\n <label>{{ label }}</label>\n <span class=\"material-icons\">{{ IconMaterial }}</span>\n </div>\n <div\n class=\"wco-smartSelect--box\"\n [ngClass]=\"{\n 'wco-smartSelect--box--open': showList && !autocompleteControl.disabled\n }\"\n >\n <div class=\"wco-smartSelect--isMobile-close\">\n <button\n (click)=\"closeList()\"\n class=\"btn btn-sm btn-primary btn-outline mb-nano\"\n >\n fechar\n </button>\n </div>\n <ul>\n <li\n tabindex=\"0\"\n class=\"wco-smart-selected-filter\"\n *ngIf=\"showList && showSearch\"\n >\n <input\n placeholder=\"buscar\"\n (keyup)=\"onFilter($event)\"\n aria-label=\"Search through site content\"\n type=\"text\"\n />\n </li>\n <li\n *ngFor=\"let option of filteredOptions; let i = index\"\n [tabindex]=\"i + 1\"\n [ngClass]=\"{\n 'wco-smart-selected': selectedValue(option),\n 'wc-smart-select-disabled-option': option.disabled,\n 'wc-smart-select-view-only-option': option.viewOnly,\n }\"\n (click)=\"onSelect(option)\"\n >\n <span class=\"wco-smart-select-label-prefix\">\n <ng-container *ngIf=\"typePrefix === 'checkbox'\">\n <span class=\"material-icons-outlined\">\n {{\n selectedValue(option) ? \"check_box\" : \"check_box_outline_blank\"\n }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"typePrefix === 'radio'\">\n <span class=\"material-icons-outlined\">\n {{\n selectedValue(option)\n ? \"radio_button_checked\"\n : \"radio_button_unchecked\"\n }}\n </span>\n </ng-container>\n <ng-container\n *ngIf=\"\n !!option.iconPrefix &&\n typePrefix !== 'radio' &&\n typePrefix !== 'checkbox'\n \"\n >\n <span class=\"material-icons-outlined\">\n {{ option.iconPrefix }}\n </span>\n </ng-container>\n </span>\n <span\n class=\"wco-smart-select-label\"\n [innerHTML]=\"option.htmlLabel\"\n ></span>\n </li>\n <li *ngIf=\"!filteredOptions.length\">\n <p class=\"display-body\">{{ textEmpty }}</p>\n </li>\n </ul>\n </div>\n</div>\n", styles: [":host{width:100%}.wco-smartSelect{width:100%;position:relative;display:inline-block;--wco-smart-select-box-height: 0px;--wco-smart-select-box-max-height: 300px;--wco-smart-select-box-radius: 8px;--wco-smart-select-box-shadow: var(--wco-shadow-level-1, 0 2px 4px rgba(0, 0, 0, .2));--wco-smart-select-box-default-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-default-color-bg: var(--wco-color-neutral-100, #e0e0e0);--wco-smart-select-box-default-padding: var(--wco-spacing-nano) var(--wco-spacing-xxxs);--wco-smart-select-box-hover-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-hover-color-bg: var(--wco-color-neutral-300, #bdbdbd);--wco-smart-select-box-selected-color-label: var(--wco-color-neutral-900, #000);--wco-smart-select-box-selected-color-bg: var(--wco-color-primary-100, #819ed3);--wco-smart-select-option-disabled-bg: var(--wco-color-neutral-100, #e0e0e0);--wco-smart-select-option-disabled-color: var(--wco-color-neutral-500, #9e9e9e);--wco-smart-select-box-option-height: 48px}.wco-smartSelect--open{--wco-smart-select-box-height: auto }.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--isMobile-close{display:flex;padding:var(--wco-spacing-nano);align-items:center;justify-content:flex-end}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box{position:fixed;bottom:0;left:0;width:100%}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open{padding:0}.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open ul,.wco-smartSelect.wco-smartSelect--isMobile .wco-smartSelect--box.wco-smartSelect--box--open input{border-radius:0}.wco-smartSelect .wco-smartSelect--isMobile-close{display:none}.wco-smartSelect input{cursor:pointer}.wco-smartSelect .form-field__input.multiSelect{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--wco-spacing-nano);padding-right:var(--wco-spacing-sm)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-placeholder{opacity:.5}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item{display:inline-flex;align-items:center;justify-content:center;padding:var(--wco-spacing-quark) var(--wco-spacing-xxs);border-radius:var(--wco-smart-select-box-radius);background-color:var(--wco-smart-select-box-default-color-bg);position:relative}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item:hover>span{width:calc(var(--wco-spacing-xxs) - 2px)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span{position:absolute;right:0;top:50%;transform:translateY(-50%);border-radius:0 var(--wco-smart-select-box-radius) var(--wco-smart-select-box-radius) 0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;height:100%;width:0px;transition:width .1s linear,margin .1s linear;overflow:hidden;z-index:1}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span>span{font-size:var(--wco-font-size-xxxs);font-weight:400;line-height:var(--wco-font-lineheight-500);letter-spacing:.4px;color:var(--wco-smart-select-box-default-color-label)}.wco-smartSelect .form-field__input.multiSelect .wco-smart-select-item>span:hover{color:var(--wco-smart-select-box-hover-color-label);background-color:var(--wco-smart-select-box-hover-color-bg)}.wco-smartSelect .wco-smartSelect--box{position:absolute;left:-12px;width:calc(100% + 24px);z-index:999;display:grid;grid-template-columns:1fr;grid-template-rows:var(--wco-smart-select-box-height, 0px);max-height:var(--wco-smart-select-box-max-height);transition:all .4s ease-in-out,padding 0ms linear;padding:0;opacity:0;visibility:hidden;pointer-events:none}.wco-smartSelect .wco-smartSelect--box.wco-smartSelect--box--open{pointer-events:all;padding:var(--wco-spacing-nano) var(--wco-spacing-xxxs) var(--wco-spacing-xxxs) var(--wco-spacing-xxxs);animation:introSmartSelectBox .4s ease-in-out .1s forwards}@keyframes introSmartSelectBox{0%{opacity:0;visibility:hidden;transform:translateY(-10px)}to{opacity:1;visibility:visible;transform:translateY(0)}}.wco-smartSelect .wco-smartSelect--box ul{border-top:none;border-radius:var(--wco-smart-select-box-radius);box-shadow:var(--wco-smart-select-box-shadow);background-color:var(--wco-smart-select-box-default-color-bg);overflow-y:auto;overflow-x:hidden;max-height:var(--wco-smart-select-box-max-height)}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar{width:8px}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar-track{background-color:transparent}.wco-smartSelect .wco-smartSelect--box ul::-webkit-scrollbar-thumb{border-radius:99px;background-color:var(--wco-color-neutral-500, #9e9e9e)}.wco-smartSelect .wco-smartSelect--box ul li{color:var(--wco-smart-select-box-default-color-label);padding:var(--wco-smart-select-box-default-padding);display:grid;width:100%;align-items:center;justify-content:flex-start;grid-template-columns:auto 1fr auto;gap:var(--wco-spacing-xxxs);font-family:var(--wco-font-family);font-size:var(--wco-font-size-xs);font-weight:400;line-height:var(--wco-font-lineheight-500);letter-spacing:.4px;min-height:var(--wco-smart-select-box-option-height)}.wco-smartSelect .wco-smartSelect--box ul li .wco-smart-select-label-prefix{display:inline-flex;align-items:center}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter{padding:0;align-items:stretch;display:flex}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter input{width:100%;height:auto;padding:var(--wco-smart-select-box-default-padding);border:none;border-bottom:1px solid #ccc;border-radius:var(--wco-smart-select-box-radius) var(--wco-smart-select-box-radius) 0 0}.wco-smartSelect .wco-smartSelect--box ul li.wco-smart-selected-filter input:focus{outline:none}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter){cursor:pointer}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):hover{background-color:var(--wco-smart-select-box-hover-color-bg);color:var(--wco-smart-select-box-hover-color-label);cursor:pointer}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):focus,.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter):active{background-color:var(--wco-smart-select-box-selected-color-bg);color:var(--wco-smart-select-box-selected-color-label)}.wco-smartSelect .wco-smartSelect--box ul li:not(.wc-smart-select-view-only-option):not(.wc-smart-select-disabled-option):not(.wco-smart-selected-filter).wco-smart-selected{background-color:var(--wco-smart-select-box-selected-color-bg);color:var(--wco-smart-select-box-selected-color-label);font-weight:600}.wco-smartSelect .wco-smartSelect--box ul li.wc-smart-select-disabled-option{background-color:var(--wco-smart-select-option-disabled-bg);color:var(--wco-smart-select-option-disabled-color);cursor:not-allowed}.wco-smartSelect .wco-smartSelect--box ul li.wc-smart-select-disabled-option .wco-smart-select-remove{display:none}\n"] }]
337
337
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { options: [{
338
338
  type: ContentChildren,
339
339
  args: [SmartSelectOptionComponent]
@@ -360,4 +360,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
360
360
  }], typePrefix: [{
361
361
  type: Input
362
362
  }] } });
363
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9saWIvc21hcnQtc2VsZWN0L3NtYXJ0LXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3NtYXJ0LXNlbGVjdC9zbWFydC1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLFdBQVcsRUFDWCxXQUFXLEVBQ1gsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixtQkFBbUIsR0FFcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBc0I5RSxNQUFNLE9BQU8sb0JBQW9CO0lBb0RYO0lBbkR5QixPQUFPLENBRXRDO0lBRUosUUFBUSxHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO0lBRXRFLG9CQUFvQjtJQUVwQixPQUFPLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTlELDJCQUEyQjtJQUNsQixTQUFTLENBQVU7SUFFbkIsWUFBWSxHQUFHLGlCQUFpQixDQUFDO0lBRTFDLDJCQUEyQjtJQUUzQixXQUFXLEdBQUcscUJBQXFCLENBQUM7SUFFcEMscUJBQXFCO0lBQ1osS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUdyQixV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b0I7c0JBRG5CLEtBQUs7Z0JBS04sVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Db250cm9sLFxuICBGb3Jtc01vZHVsZSxcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU21hcnRTZWxlY3RPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXNlbGVjdC1vcHRpb25zLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby1zbWFydC1zZWxlY3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbWFydC1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbWFydFNlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogU21hcnRTZWxlY3RDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuICBAQ29udGVudENoaWxkcmVuKFNtYXJ0U2VsZWN0T3B0aW9uQ29tcG9uZW50KSBvcHRpb25zOlxuICAgIHwgUXVlcnlMaXN0PFNtYXJ0U2VsZWN0T3B0aW9uQ29tcG9uZW50PlxuICAgIHwgdW5kZWZpbmVkO1xuXG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyB0eXBlOiBzdHJpbmc7IHZhbHVlOiBhbnkgfT4oKTtcblxuICAvKiBJZCBkbyBlbGVtZW50byAqL1xuICBASW5wdXQoKVxuICBpbnB1dElkID0gJ3NlbGVjdF8nICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xuXG4gIC8qIEF0dHIgbmFtZSBkbyBlbGVtZW50byAqL1xuICBASW5wdXQoKSBpbnB1dE5hbWU/OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgSWNvbk1hdGVyaWFsID0gJ2Fycm93X2Ryb3BfZG93bic7XG5cbiAgLyogUGxhY2Vob2xkZXIgZG8gc2VsZWN0ICovXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJ1NlbGVjaW9uZSB1bWEgb3DDp8Ojbyc7XG5cbiAgLyogTGFiZWwgZG8gc2VsZWN0ICovXG4gIEBJbnB1dCgpIGxhYmVsID0gJyAnO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dTZWFyY2ggPSBmYWxzZTtcblxuICAvKiBUZXh0byBleGliaWRvIHF1YW5kbyBuw6NvIGjDoSByZXN1bHRhZG9zICovXG4gIEBJbnB1dCgpXG4gIHRleHRFbXB0eSA9ICdOw6NvIGjDoSByZXN1bHRhZG9zIHBhcmEgYSBidXNjYSc7XG5cbiAgLyogaGFiaWxpdGFyIG9ww6fDo28gZGUgbXVsdGlwbGFzIHNlbGXDp8O1ZXMgKi9cbiAgQElucHV0KClcbiAgbXVsdGlTZWxlY3QgPSBmYWxzZTtcblxuICAvKiBMaW1pdGFyIHZpc3VhbGl6YcOnw6NvIGRlIGl0ZW5zIHNlbGVjaW9uYWRvcyAqL1xuICBASW5wdXQoKVxuICBzaG93TWF4U2VsZWN0ZWRMYWJlbCA9IDA7XG5cbiAgLyogVGlwb3MgcHLDqSBkZWZpbmlkb3MgZGUgY2hlY2tib3gsIHJhZGlvIG91IG51bGwgKi9cbiAgQElucHV0KClcbiAgdHlwZVByZWZpeDogJ2NoZWNrYm94JyB8ICdyYWRpbycgfCBudWxsID0gbnVsbDtcblxuICBpc01vYmlsZSA9IHdpbmRvdy5pbm5lcldpZHRoIDw9IDc2ODtcblxuICBmb3JtVmFsdWU6IGFueTtcbiAgaXNGb2N1c2VkID0gZmFsc2U7XG4gIHByZXZlbnRFc2NhcGVGb2N1cyA9IGZhbHNlO1xuICBhdXRvY29tcGxldGVDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIGZpbHRlcmVkT3B0aW9uczogYW55W10gPSBbXTtcblxuICBzaG93TGlzdCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBcbiAgfVxuXG4gIG9uVG91Y2hlZCA9ICgpID0+IHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gIH07XG5cbiAgLy8vIGVzdGFkb3MgZG8gY29udHJvbFxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb3JtVmFsdWUgPSBvYmo7XG4gICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLnNldFZhbHVlKG9iaik7XG4gIH1cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICBmbih2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHZhbGlkYXRlKF9jb250cm9sOiBGb3JtQ29udHJvbCkge1xuICAgIGlmICh0aGlzLm11bHRpU2VsZWN0KSB7XG4gICAgICBpZiAodGhpcy5mb3JtVmFsdWU/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7IHJlcXVpcmVkOiB0cnVlIH07XG4gICAgfVxuICAgIGlmICh0aGlzLmZvcm1WYWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB7IHJlcXVpcmVkOiB0cnVlIH07XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICAvLy8gQWJlcnR1cmEgZSBmZWNoYW1lbnRvIGRhIGxpc3RhXG4gIG9uRm9jdXNJbihmb2N1cyA9IGZhbHNlKSB7XG4gICAgdGhpcy5yZW5kZXJCb3hPcHRpb25zKCk7XG4gICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZm9jdXM7XG4gICAgdGhpcy5zaG93TGlzdCA9IGZvY3VzO1xuICAgIHRoaXMucG9zaXRpb25Cb3goKTtcbiAgfVxuXG4gIC8vLyBoZXJlIGZ1bmN0aW9uIHRvIHBvc2l0aW9uIGJveCBlbGVtZW50IHRvcCBvciBib3R0b21cbiAgcG9zaXRpb25Cb3goKSB7XG4gICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb21wb25lbnRCb3ggPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFjb21wb25lbnRCb3gpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY29tcG9uZW50Qm94UG9zaXRpb24gPSBjb21wb25lbnRCb3guZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgaW5wdXRJZCA9IGNvbXBvbmVudEJveC5xdWVyeVNlbGVjdG9yKCcuZm9ybS1maWVsZCcpO1xuICAgIGNvbnN0IGJveCA9IGNvbXBvbmVudEJveC5xdWVyeVNlbGVjdG9yKCcud2NvLXNtYXJ0U2VsZWN0LS1ib3gnKTtcbiAgICBjb25zdCBpbnB1dElkUG9zaXRpb24gPSBpbnB1dElkLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICBjb25zdCBwYWdlSGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIGlmIChib3ggJiYgY29tcG9uZW50Qm94UG9zaXRpb24ueSArIDMyMCA+PSBwYWdlSGVpZ2h0KSB7XG4gICAgICBib3guc3R5bGUuYm90dG9tID0gaW5wdXRJZFBvc2l0aW9uICsgJ3B4JztcbiAgICAgIGJveC5zdHlsZS5oZWlnaHQgPSBgdmFyKC0td2NvLXNtYXJ0LXNlbGVjdC1ib3gtbWF4LWhlaWdodClgO1xuICAgICAgYm94LnN0eWxlLnRvcCA9ICdpbml0aWFsJztcbiAgICB9IGVsc2Uge1xuICAgICAgYm94LnN0eWxlLnRvcCA9IGlucHV0SWRQb3NpdGlvbiArICdweCc7XG4gICAgICBib3guc3R5bGUuYm90dG9tID0gJ2luaXRpYWwnO1xuICAgICAgYm94LnN0eWxlLmhlaWdodCA9IGBhdXRvYDtcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdChvcHRpb24/OiBhbnkpIHtcbiAgICBpZiAob3B0aW9uLmRpc2FibGVkIHx8IG9wdGlvbi52aWV3T25seSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5mb3JtVmFsdWU7XG5cbiAgICBpZiAodGhpcy5tdWx0aVNlbGVjdCkge1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb24udmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLmNvbXBhcmVNdWx0aVZhbHVlc0FycmF5KG9wdGlvbik7XG4gICAgICAgIGNvbnN0IGhhc1ZhbHVlT3B0aW9uID0gbGlzdC5zb21lKChpdGVtOiBhbnkpID0+IGl0ZW0uc2VsZWN0ZWQpO1xuICAgICAgICBpZiAoaGFzVmFsdWVPcHRpb24pIHtcbiAgICAgICAgICB0aGlzLmZvcm1WYWx1ZSA9IGxpc3RcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW06IGFueSkgPT4gIWl0ZW0uc2VsZWN0ZWQpXG4gICAgICAgICAgICAubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5mb3JtVmFsdWUgPSBbLi4uKHRoaXMuZm9ybVZhbHVlIHx8IFtdKSwgb3B0aW9uLnZhbHVlXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZvcm1WYWx1ZT8uaW5kZXhPZihvcHRpb24udmFsdWUpO1xuICAgICAgICBpZiAoaW5kZXggIT09IHVuZGVmaW5lZCAmJiBpbmRleCA+IC0xKSB7XG4gICAgICAgICAgdGhpcy5mb3JtVmFsdWU/LnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5mb3JtVmFsdWUgPSBbLi4uKHRoaXMuZm9ybVZhbHVlIHx8IFtdKSwgb3B0aW9uLnZhbHVlXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLnNldFZhbHVlKHRoaXMuZm9ybVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtVmFsdWUgPSBvcHRpb24udmFsdWU7XG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnRyb2wuc2V0VmFsdWUob3B0aW9uLnZhbHVlKTtcbiAgICAgIHRoaXMuc2hvd0xpc3QgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAob2xkVmFsdWUgIT09IHRoaXMuZm9ybVZhbHVlKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyB0eXBlOiAndXBkYXRlVmFsdWUnLCB2YWx1ZTogdGhpcy5mb3JtVmFsdWUgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJCb3hPcHRpb25zKCk7XG4gIH1cblxuICAvLyBTaG93IGxhYmVsIHNwYW5cbiAgZ2V0IHNlbGVjdGVkTGFiZWwoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSB0aGlzLm9wdGlvbnM/LmZpbmQoXG4gICAgICAob3B0aW9uKSA9PlxuICAgICAgICB0aGlzLm5vcm1hbGl6ZVRleHQoU3RyaW5nKG9wdGlvbi52YWx1ZSkpID09PVxuICAgICAgICB0aGlzLm5vcm1hbGl6ZVRleHQoU3RyaW5nKHRoaXMuZm9ybVZhbHVlKSlcbiAgICApO1xuICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbj8ubGFiZWwgfHwgJyAnO1xuICB9XG5cbiAgLy8gc2hvdyBsYWJlbCBtdWx0aSBzZWxlY3RcbiAgZ2V0IHNlbGVjdGVkTGFiZWxNdWx0aSgpOiB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVtdIHtcbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnM/LmZpbHRlcigob3B0aW9uKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbi52YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZVZhbHVlQXJyYXkob3B0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1WYWx1ZT8uaW5jbHVkZXMob3B0aW9uLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICghc2VsZWN0ZWRPcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuc2hvd01heFNlbGVjdGVkTGFiZWwpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbnM7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdGhpcy5zaG93TWF4U2VsZWN0ZWRMYWJlbCAmJlxuICAgICAgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IHRoaXMuc2hvd01heFNlbGVjdGVkTGFiZWxcbiAgICApIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbnMuc2xpY2UoMCwgdGhpcy5zaG93TWF4U2VsZWN0ZWRMYWJlbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGVkT3B0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgdmFsdWVUb0FycmF5KG9wdGlvbnM6IGFueSkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvcHRpb25zKTtcbiAgICBjb25zdCB2YWx1ZTogYW55W10gPSBbXTtcbiAgICBrZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBvcHRpb25zW2tleV0gJiYgXG4gICAgICAgIG9wdGlvbnNba2V5XSAhPT0gJycgJiZcbiAgICAgICAgdHlwZW9mIG9wdGlvbnNba2V5XSAhPT0gJ29iamVjdCcgJiYgXG4gICAgICAgIHR5cGVvZiBvcHRpb25zW2tleV0gIT09ICdmdW5jdGlvbicmJiBcbiAgICAgICAgdHlwZW9mIG9wdGlvbnNba2V5XSAhPT0gJ2Jvb2xlYW4nXG4gICAgICApIHtcbiAgICAgICAgdmFsdWUucHVzaChvcHRpb25zW2tleV0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcGFyZVZhbHVlQXJyYXkob3B0aW9uOiBhbnksIHZhbHVlID0gdGhpcy5mb3JtVmFsdWUpOiBhbnlbXSB7XG4gICAgaWYgKG9wdGlvbiAmJiBvcHRpb24udmFsdWUpIHtcbiAgICAgIGNvbnN0IHZhbHVlc0l0ZW1zID0gdGhpcy52YWx1ZVRvQXJyYXkob3B0aW9uLnZhbHVlKTtcbiAgICAgIHJldHVybiB2YWx1ZS5zb21lKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbUFycmF5ID0gdGhpcy52YWx1ZVRvQXJyYXkoaXRlbSk7XG4gICAgICAgIHJldHVybiBpdGVtQXJyYXkuZXZlcnkoKGl0ZW1WYWx1ZTogYW55KSA9PlxuICAgICAgICAgIHZhbHVlc0l0ZW1zLmluY2x1ZGVzKGl0ZW1WYWx1ZSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwcml2YXRlIGNvbXBhcmVNdWx0aVZhbHVlc0FycmF5KG9wdGlvbjogYW55LCB2YWx1ZSA9IHRoaXMuZm9ybVZhbHVlKTogYW55W10ge1xuICAgIGlmIChvcHRpb24gJiYgb3B0aW9uLnZhbHVlKSB7XG4gICAgICBjb25zdCB2YWx1ZXNJdGVtcyA9IHRoaXMudmFsdWVUb0FycmF5KG9wdGlvbi52YWx1ZSk7XG4gICAgICBjb25zdCBmb3JtVmFsdWVBcnJheSA9IHZhbHVlLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW1BcnJheSA9IHRoaXMudmFsdWVUb0FycmF5KGl0ZW0pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGluZGV4LFxuICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgc2VsZWN0ZWQ6IGl0ZW1BcnJheS5zb21lKChpdGVtVmFsdWU6IGFueSkgPT5cbiAgICAgICAgICAgIHZhbHVlc0l0ZW1zLmluY2x1ZGVzKGl0ZW1WYWx1ZSlcbiAgICAgICAgICApLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgICAvLyBSZW1vdmUgZHVwbGljYXRlIGl0ZW1zXG4gICAgICBjb25zdCB1bmlxdWVGb3JtVmFsdWVBcnJheSA9IEFycmF5LmZyb20oXG4gICAgICAgIG5ldyBTZXQoZm9ybVZhbHVlQXJyYXkubWFwKChpdGVtOiBhbnkpID0+IEpTT04uc3RyaW5naWZ5KGl0ZW0pKSlcbiAgICAgICkubWFwKChpdGVtOiBhbnkpID0+IEpTT04ucGFyc2UoaXRlbSkpO1xuXG4gICAgICByZXR1cm4gdW5pcXVlRm9ybVZhbHVlQXJyYXk7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZExhYmVsTXVsdGlDb3VudCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHNob3cgPSB0aGlzLnNob3dNYXhTZWxlY3RlZExhYmVsIHx8IDA7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5vcHRpb25zPy5maWx0ZXIoKG9wdGlvbikgPT5cbiAgICAgIHRoaXMuZm9ybVZhbHVlPy5pbmNsdWRlcyhvcHRpb24udmFsdWUpXG4gICAgKTtcbiAgICBpZiAoIXNlbGVjdGVkT3B0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBpZiAoc2hvdyA+IDAgJiYgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IHNob3cpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoIC0gc2hvdztcbiAgICB9XG5cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0ob3B0aW9uOiBhbnkpIHtcbiAgICB0aGlzLm9uU2VsZWN0KG9wdGlvbik7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNob3dMaXN0ID0gZmFsc2U7XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIG9uS2V5UHJlc3MoZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5yZW5kZXJCb3hPcHRpb25zKCk7XG4gIH1cblxuICBvbkZpbHRlcihldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgdGhpcy5yZW5kZXJCb3hPcHRpb25zKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgdGhpcy5yZW5kZXJCb3hPcHRpb25zKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvblJlc2l6ZSgpIHtcbiAgICB0aGlzLnJlbmRlckJveE9wdGlvbnMoKTtcbiAgICB0aGlzLnBvc2l0aW9uQm94KCk7XG4gIH1cblxuICBvbkZvY3VzT3V0KCkge1xuICAgIGlmICghdGhpcy5wcmV2ZW50RXNjYXBlRm9jdXMgJiYgIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgICB0aGlzLnNob3dMaXN0ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgY2xvc2VMaXN0KCkge1xuICAgIHRoaXMucHJldmVudEVzY2FwZUZvY3VzID0gdHJ1ZTtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd0xpc3QgPSBmYWxzZTtcbiAgfVxuXG4gIHNlbGVjdGVkVmFsdWUob3B0aW9uOiB7IHZhbHVlOiBhbnk7IGxhYmVsOiBzdHJpbmc7IHNhZmVIdG1sQ29udGVudDogYW55IH0pIHtcbiAgICBpZiAodGhpcy5tdWx0aVNlbGVjdCkge1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb24udmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGlmIChvcHRpb24gJiYgb3B0aW9uLnZhbHVlKSB7XG4gICAgICAgICAgY29uc3QgdmFsdWVzSXRlbXMgPSB0aGlzLnZhbHVlVG9BcnJheShvcHRpb24udmFsdWUpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1WYWx1ZS5zb21lKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1BcnJheSA9IHRoaXMudmFsdWVUb0FycmF5KGl0ZW0pO1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1BcnJheS5ldmVyeSgoaXRlbVZhbHVlOiBhbnkpID0+XG4gICAgICAgICAgICAgIHZhbHVlc0l0ZW1zLmluY2x1ZGVzKGl0ZW1WYWx1ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1WYWx1ZT8uaW5jbHVkZXMob3B0aW9uLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9uLnZhbHVlID09PSB0aGlzLmZvcm1WYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyQm94T3B0aW9ucyhmaWx0ZXJWYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucyB8fCAhdGhpcy5vcHRpb25zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9uc1xuICAgICAgPy5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgICAgaWNvblByZWZpeDogb3B0aW9uLmljb25QcmVmaXgsXG4gICAgICAgICAgaHRtbExhYmVsOiBvcHRpb24uc2FmZUh0bWxDb250ZW50IHx8IG9wdGlvbi5sYWJlbCxcbiAgICAgICAgICBkaXNhYmxlZDogb3B0aW9uLmRpc2FibGVkLFxuICAgICAgICAgIHZpZXdPbmx5OiBvcHRpb24udmlld09ubHksXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICAgLmZpbHRlcigob3B0aW9uKSA9PiB7XG4gICAgICAgIGlmICghZmlsdGVyVmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBub3JtYWxpemVkRmlsdGVyID0gdGhpcy5ub3JtYWxpemVUZXh0KGZpbHRlclZhbHVlKTtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZExhYmVsID0gdGhpcy5ub3JtYWxpemVUZXh0KFxuICAgICAgICAgIG9wdGlvbi5odG1sTGFiZWw/LnRvU3RyaW5nKCkgfHwgJydcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWRMYWJlbC5pbmNsdWRlcyhub3JtYWxpemVkRmlsdGVyKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVUZXh0KHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRleHRcbiAgICAgIC5yZXBsYWNlKC9bXFxXX10rL2csICcnKSAvLyBSZW1vdmUgY2FyYWN0ZXJlcyBlc3BlY2lhaXMgZSBzdWJsaW5oYWRvc1xuICAgICAgLnRvTG93ZXJDYXNlKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJ3Y28tc21hcnRTZWxlY3RcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3djby1zbWFydFNlbGVjdC0tb3Blbic6IHNob3dMaXN0LFxuICAgICd3Y28tc21hcnRTZWxlY3QtLWlzTW9iaWxlJzogaXNNb2JpbGUsXG59XCJcbiAgKHJlc2l6ZSk9XCJvblJlc2l6ZSgpXCJcbiAgKG1vdXNlbGVhdmUpPVwib25Gb2N1c091dCgpXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRcIj5cbiAgICA8aW5wdXRcbiAgICAgICpuZ0lmPVwiIW11bHRpU2VsZWN0XCJcbiAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXRcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnZm9ybS1maWVsZC0tZXJyb3InOlxuICAgICAgICAgIGF1dG9jb21wbGV0ZUNvbnRyb2wuaW52YWxpZCAmJiBhdXRvY29tcGxldGVDb250cm9sLnRvdWNoZWRcbiAgICAgIH1cIlxuICAgICAgW2Rpc2FibGVkXT1cImF1dG9jb21wbGV0ZUNvbnRyb2wuZGlzYWJsZWRcIlxuICAgICAgaWQ9XCJ7eyBpbnB1dElkID8gaW5wdXRJZCA6ICcnIH19XCJcbiAgICAgIG5hbWU9XCJ7eyBpbnB1dE5hbWUgPyBpbnB1dE5hbWUgOiAnJyB9fVwiXG4gICAgICAoY2xpY2spPVwib25Gb2N1c0luKHRydWUpXCJcbiAgICAgIChmb2N1c2luKT1cIm9uRm9jdXNJbigpXCJcbiAgICAgIChrZXl1cC5lc2NhcGUpPVwib25Gb2N1c091dCgpXCJcbiAgICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZExhYmVsXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJTZWxlY2lvbmUgdW1hIG9ww6fDo29cIlxuICAgIC8+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJtdWx0aVNlbGVjdFwiXG4gICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHJlYWRvbmx5IG11bHRpU2VsZWN0XCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAnZm9ybS1maWVsZC0tZXJyb3InOiBhdXRvY29tcGxldGVDb250cm9sLmludmFsaWQgJiYgYXV0b2NvbXBsZXRlQ29udHJvbC50b3VjaGVkLFxuICAgICAgICAgICAgICAgICdmb3JtLWZpZWxkLS1kaXNhYmxlZCc6IGF1dG9jb21wbGV0ZUNvbnRyb2wuZGlzYWJsZWQsXG4gICAgICAgICAgICB9XCJcbiAgICAgIChjbGljayk9XCJvbkZvY3VzSW4odHJ1ZSlcIlxuICAgICAgKGZvY3VzaW4pPVwib25Gb2N1c0luKClcIlxuICAgICAgKGtleXVwLmVzY2FwZSk9XCJvbkZvY3VzT3V0KClcIlxuICAgID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlbGVjdGVkTGFiZWxNdWx0aS5sZW5ndGhcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3Y28tc21hcnQtc2VsZWN0LXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfHwgJ1NlbGVjaW9uZSB1bWEgb3DDp8OjbycgfX08L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZExhYmVsTXVsdGkubGVuZ3RoXCI+XG4gICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBvcHRpb25TZWxlY3RlZCBvZiBzZWxlY3RlZExhYmVsTXVsdGlcIiBjbGFzcz1cIndjby1zbWFydC1zZWxlY3QtaXRlbVwiPlxuICAgICAgICAgIHt7b3B0aW9uU2VsZWN0ZWQubGFiZWx9fSBcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIndjby1zbWFydC1zZWxlY3QtcmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZUl0ZW0ob3B0aW9uU2VsZWN0ZWQpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+Y2xvc2U8L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3Y28tc21hcnQtc2VsZWN0LWl0ZW1cIiAgKm5nSWY9XCJzZWxlY3RlZExhYmVsTXVsdGlDb3VudCA+PSAxXCI+XG4gICAgICAgICAgICAre3tzZWxlY3RlZExhYmVsTXVsdGlDb3VudH19IFxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgICA8bGFiZWw+e3sgbGFiZWwgfX08L2xhYmVsPlxuICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj57eyBJY29uTWF0ZXJpYWwgfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ3Y28tc21hcnRTZWxlY3QtLWJveFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3djby1zbWFydFNlbGVjdC0tYm94LS1vcGVuJzogc2hvd0xpc3QgJiYgIWF1dG9jb21wbGV0ZUNvbnRyb2wuZGlzYWJsZWRcbiAgICB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ3Y28tc21hcnRTZWxlY3QtLWlzTW9iaWxlLWNsb3NlXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJjbG9zZUxpc3QoKVwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSBidG4tb3V0bGluZSBtYi1uYW5vXCJcbiAgICAgID5cbiAgICAgICAgZmVjaGFyXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8dWw+XG4gICAgICA8bGlcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgY2xhc3M9XCJ3Y28tc21hcnQtc2VsZWN0ZWQtZmlsdGVyXCJcbiAgICAgICAgKm5nSWY9XCJzaG93TGlzdCAmJiBzaG93U2VhcmNoXCJcbiAgICAgID5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJidXNjYXJcIlxuICAgICAgICAgIChrZXl1cCk9XCJvbkZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VhcmNoIHRocm91Z2ggc2l0ZSBjb250ZW50XCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIC8+XG4gICAgICA8L2xpPlxuICAgICAgPGxpXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgW3RhYmluZGV4XT1cImkgKyAxXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ3djby1zbWFydC1zZWxlY3RlZCc6IHNlbGVjdGVkVmFsdWUob3B0aW9uKSxcbiAgICAgICAgICAgICd3Yy1zbWFydC1zZWxlY3QtZGlzYWJsZWQtb3B0aW9uJzogb3B0aW9uLmRpc2FibGVkLFxuICAgICAgICAgICAgJ3djLXNtYXJ0LXNlbGVjdC12aWV3LW9ubHktb3B0aW9uJzogb3B0aW9uLnZpZXdPbmx5LFxuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KG9wdGlvbilcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndjby1zbWFydC1zZWxlY3QtbGFiZWwtcHJlZml4XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGVQcmVmaXggPT09ICdjaGVja2JveCdcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlKG9wdGlvbikgPyBcImNoZWNrX2JveFwiIDogXCJjaGVja19ib3hfb3V0bGluZV9ibGFua1wiXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGVQcmVmaXggPT09ICdyYWRpbydcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlKG9wdGlvbilcbiAgICAgICAgICAgICAgICAgID8gXCJyYWRpb19idXR0b25fY2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgICA6IFwicmFkaW9fYnV0dG9uX3VuY2hlY2tlZFwiXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgISFvcHRpb24uaWNvblByZWZpeCAmJlxuICAgICAgICAgICAgICB0eXBlUHJlZml4ICE9PSAncmFkaW8nICYmXG4gICAgICAgICAgICAgIHR5cGVQcmVmaXggIT09ICdjaGVja2JveCdcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPlxuICAgICAgICAgICAgICB7eyBvcHRpb24uaWNvblByZWZpeCB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJ3Y28tc21hcnQtc2VsZWN0LWxhYmVsXCJcbiAgICAgICAgICBbaW5uZXJIVE1MXT1cIm9wdGlvbi5odG1sTGFiZWxcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgPC9saT5cbiAgICAgIDxsaSAqbmdJZj1cIiFmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiZGlzcGxheS1ib2R5XCI+e3sgdGV4dEVtcHR5IH19PC9wPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
363
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9saWIvc21hcnQtc2VsZWN0L3NtYXJ0LXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3NtYXJ0LXNlbGVjdC9zbWFydC1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLFdBQVcsRUFDWCxXQUFXLEVBQ1gsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixtQkFBbUIsR0FFcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBc0I5RSxNQUFNLE9BQU8sb0JBQW9CO0lBb0RYO0lBbkR5QixPQUFPLENBRXRDO0lBRUosUUFBUSxHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO0lBRXRFLG9CQUFvQjtJQUVwQixPQUFPLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTlELDJCQUEyQjtJQUNsQixTQUFTLENBQVU7SUFFbkIsWUFBWSxHQUFHLGlCQUFpQixDQUFDO0lBRTFDLDJCQUEyQjtJQUUzQixXQUFXLEdBQUcscUJBQXFCLENBQUM7SUFFcEMscUJBQXFCO0lBQ1osS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUdyQixV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b0I7c0JBRG5CLEtBQUs7Z0JBS04sVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Db250cm9sLFxuICBGb3Jtc01vZHVsZSxcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU21hcnRTZWxlY3RPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXNlbGVjdC1vcHRpb25zLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby1zbWFydC1zZWxlY3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbWFydC1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbWFydFNlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogU21hcnRTZWxlY3RDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuICBAQ29udGVudENoaWxkcmVuKFNtYXJ0U2VsZWN0T3B0aW9uQ29tcG9uZW50KSBvcHRpb25zOlxuICAgIHwgUXVlcnlMaXN0PFNtYXJ0U2VsZWN0T3B0aW9uQ29tcG9uZW50PlxuICAgIHwgdW5kZWZpbmVkO1xuXG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyB0eXBlOiBzdHJpbmc7IHZhbHVlOiBhbnkgfT4oKTtcblxuICAvKiBJZCBkbyBlbGVtZW50byAqL1xuICBASW5wdXQoKVxuICBpbnB1dElkID0gJ3NlbGVjdF8nICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xuXG4gIC8qIEF0dHIgbmFtZSBkbyBlbGVtZW50byAqL1xuICBASW5wdXQoKSBpbnB1dE5hbWU/OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgSWNvbk1hdGVyaWFsID0gJ2Fycm93X2Ryb3BfZG93bic7XG5cbiAgLyogUGxhY2Vob2xkZXIgZG8gc2VsZWN0ICovXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJ1NlbGVjaW9uZSB1bWEgb3DDp8Ojbyc7XG5cbiAgLyogTGFiZWwgZG8gc2VsZWN0ICovXG4gIEBJbnB1dCgpIGxhYmVsID0gJyAnO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dTZWFyY2ggPSBmYWxzZTtcblxuICAvKiBUZXh0byBleGliaWRvIHF1YW5kbyBuw6NvIGjDoSByZXN1bHRhZG9zICovXG4gIEBJbnB1dCgpXG4gIHRleHRFbXB0eSA9ICdOw6NvIGjDoSByZXN1bHRhZG9zIHBhcmEgYSBidXNjYSc7XG5cbiAgLyogaGFiaWxpdGFyIG9ww6fDo28gZGUgbXVsdGlwbGFzIHNlbGXDp8O1ZXMgKi9cbiAgQElucHV0KClcbiAgbXVsdGlTZWxlY3QgPSBmYWxzZTtcblxuICAvKiBMaW1pdGFyIHZpc3VhbGl6YcOnw6NvIGRlIGl0ZW5zIHNlbGVjaW9uYWRvcyAqL1xuICBASW5wdXQoKVxuICBzaG93TWF4U2VsZWN0ZWRMYWJlbCA9IDA7XG5cbiAgLyogVGlwb3MgcHLDqSBkZWZpbmlkb3MgZGUgY2hlY2tib3gsIHJhZGlvIG91IG51bGwgKi9cbiAgQElucHV0KClcbiAgdHlwZVByZWZpeDogJ2NoZWNrYm94JyB8ICdyYWRpbycgfCBudWxsID0gbnVsbDtcblxuICBpc01vYmlsZSA9IHdpbmRvdy5pbm5lcldpZHRoIDw9IDc2ODtcblxuICBmb3JtVmFsdWU6IGFueTtcbiAgaXNGb2N1c2VkID0gZmFsc2U7XG4gIHByZXZlbnRFc2NhcGVGb2N1cyA9IGZhbHNlO1xuICBhdXRvY29tcGxldGVDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIGZpbHRlcmVkT3B0aW9uczogYW55W10gPSBbXTtcblxuICBzaG93TGlzdCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBcbiAgfVxuXG4gIG9uVG91Y2hlZCA9ICgpID0+IHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gIH07XG5cbiAgLy8vIGVzdGFkb3MgZG8gY29udHJvbFxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb3JtVmFsdWUgPSBvYmo7XG4gICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLnNldFZhbHVlKG9iaik7XG4gIH1cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICBmbih2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHZhbGlkYXRlKF9jb250cm9sOiBGb3JtQ29udHJvbCkge1xuICAgIGlmICh0aGlzLm11bHRpU2VsZWN0KSB7XG4gICAgICBpZiAodGhpcy5mb3JtVmFsdWU/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7IHJlcXVpcmVkOiB0cnVlIH07XG4gICAgfVxuICAgIGlmICh0aGlzLmZvcm1WYWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB7IHJlcXVpcmVkOiB0cnVlIH07XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICAvLy8gQWJlcnR1cmEgZSBmZWNoYW1lbnRvIGRhIGxpc3RhXG4gIG9uRm9jdXNJbihmb2N1cyA9IGZhbHNlKSB7XG4gICAgdGhpcy5yZW5kZXJCb3hPcHRpb25zKCk7XG4gICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZm9jdXM7XG4gICAgdGhpcy5zaG93TGlzdCA9IGZvY3VzO1xuICAgIHRoaXMucG9zaXRpb25Cb3goKTtcbiAgfVxuXG4gIC8vLyBoZXJlIGZ1bmN0aW9uIHRvIHBvc2l0aW9uIGJveCBlbGVtZW50IHRvcCBvciBib3R0b21cbiAgcG9zaXRpb25Cb3goKSB7XG4gICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb21wb25lbnRCb3ggPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFjb21wb25lbnRCb3gpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY29tcG9uZW50Qm94UG9zaXRpb24gPSBjb21wb25lbnRCb3guZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgaW5wdXRJZCA9IGNvbXBvbmVudEJveC5xdWVyeVNlbGVjdG9yKCcuZm9ybS1maWVsZCcpO1xuICAgIGNvbnN0IGJveCA9IGNvbXBvbmVudEJveC5xdWVyeVNlbGVjdG9yKCcud2NvLXNtYXJ0U2VsZWN0LS1ib3gnKTtcbiAgICBjb25zdCBpbnB1dElkUG9zaXRpb24gPSBpbnB1dElkLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICBjb25zdCBwYWdlSGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIGlmIChib3ggJiYgY29tcG9uZW50Qm94UG9zaXRpb24ueSArIDMyMCA+PSBwYWdlSGVpZ2h0KSB7XG4gICAgICBib3guc3R5bGUuYm90dG9tID0gaW5wdXRJZFBvc2l0aW9uICsgJ3B4JztcbiAgICAgIGJveC5zdHlsZS5oZWlnaHQgPSBgdmFyKC0td2NvLXNtYXJ0LXNlbGVjdC1ib3gtbWF4LWhlaWdodClgO1xuICAgICAgYm94LnN0eWxlLnRvcCA9ICdpbml0aWFsJztcbiAgICB9IGVsc2Uge1xuICAgICAgYm94LnN0eWxlLnRvcCA9IGlucHV0SWRQb3NpdGlvbiArICdweCc7XG4gICAgICBib3guc3R5bGUuYm90dG9tID0gJ2luaXRpYWwnO1xuICAgICAgYm94LnN0eWxlLmhlaWdodCA9IGBhdXRvYDtcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdChvcHRpb24/OiBhbnkpIHtcbiAgICBpZiAob3B0aW9uLmRpc2FibGVkIHx8IG9wdGlvbi52aWV3T25seSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5mb3JtVmFsdWU7XG5cbiAgICBpZiAodGhpcy5tdWx0aVNlbGVjdCkge1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb24udmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLmNvbXBhcmVNdWx0aVZhbHVlc0FycmF5KG9wdGlvbik7XG4gICAgICAgIGNvbnN0IGhhc1ZhbHVlT3B0aW9uID0gbGlzdC5zb21lKChpdGVtOiBhbnkpID0+IGl0ZW0uc2VsZWN0ZWQpO1xuICAgICAgICBpZiAoaGFzVmFsdWVPcHRpb24pIHtcbiAgICAgICAgICB0aGlzLmZvcm1WYWx1ZSA9IGxpc3RcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW06IGFueSkgPT4gIWl0ZW0uc2VsZWN0ZWQpXG4gICAgICAgICAgICAubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5mb3JtVmFsdWUgPSBbLi4uKHRoaXMuZm9ybVZhbHVlIHx8IFtdKSwgb3B0aW9uLnZhbHVlXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZvcm1WYWx1ZT8uaW5kZXhPZihvcHRpb24udmFsdWUpO1xuICAgICAgICBpZiAoaW5kZXggIT09IHVuZGVmaW5lZCAmJiBpbmRleCA+IC0xKSB7XG4gICAgICAgICAgdGhpcy5mb3JtVmFsdWU/LnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5mb3JtVmFsdWUgPSBbLi4uKHRoaXMuZm9ybVZhbHVlIHx8IFtdKSwgb3B0aW9uLnZhbHVlXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5hdXRvY29tcGxldGVDb250cm9sLnNldFZhbHVlKHRoaXMuZm9ybVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtVmFsdWUgPSBvcHRpb24udmFsdWU7XG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnRyb2wuc2V0VmFsdWUob3B0aW9uLnZhbHVlKTtcbiAgICAgIHRoaXMuc2hvd0xpc3QgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAob2xkVmFsdWUgIT09IHRoaXMuZm9ybVZhbHVlKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyB0eXBlOiAndXBkYXRlVmFsdWUnLCB2YWx1ZTogdGhpcy5mb3JtVmFsdWUgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJCb3hPcHRpb25zKCk7XG4gIH1cblxuICAvLyBTaG93IGxhYmVsIHNwYW5cbiAgZ2V0IHNlbGVjdGVkTGFiZWwoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSB0aGlzLm9wdGlvbnM/LmZpbmQoXG4gICAgICAob3B0aW9uKSA9PlxuICAgICAgICB0aGlzLm5vcm1hbGl6ZVRleHQoU3RyaW5nKG9wdGlvbi52YWx1ZSkpID09PVxuICAgICAgICB0aGlzLm5vcm1hbGl6ZVRleHQoU3RyaW5nKHRoaXMuZm9ybVZhbHVlKSlcbiAgICApO1xuICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbj8ubGFiZWwgfHwgJyAnO1xuICB9XG5cbiAgLy8gc2hvdyBsYWJlbCBtdWx0aSBzZWxlY3RcbiAgZ2V0IHNlbGVjdGVkTGFiZWxNdWx0aSgpOiB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVtdIHtcbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnM/LmZpbHRlcigob3B0aW9uKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbi52YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZVZhbHVlQXJyYXkob3B0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1WYWx1ZT8uaW5jbHVkZXMob3B0aW9uLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICghc2VsZWN0ZWRPcHRpb25zPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuc2hvd01heFNlbGVjdGVkTGFiZWwpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbnM7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdGhpcy5zaG93TWF4U2VsZWN0ZWRMYWJlbCAmJlxuICAgICAgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IHRoaXMuc2hvd01heFNlbGVjdGVkTGFiZWxcbiAgICApIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbnMuc2xpY2UoMCwgdGhpcy5zaG93TWF4U2VsZWN0ZWRMYWJlbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGVkT3B0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgdmFsdWVUb0FycmF5KG9wdGlvbnM6IGFueSkge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvcHRpb25zKTtcbiAgICBjb25zdCB2YWx1ZTogYW55W10gPSBbXTtcbiAgICBrZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBvcHRpb25zW2tleV0gJiYgXG4gICAgICAgIG9wdGlvbnNba2V5XSAhPT0gJycgJiZcbiAgICAgICAgdHlwZW9mIG9wdGlvbnNba2V5XSAhPT0gJ29iamVjdCcgJiYgXG4gICAgICAgIHR5cGVvZiBvcHRpb25zW2tleV0gIT09ICdmdW5jdGlvbicmJiBcbiAgICAgICAgdHlwZW9mIG9wdGlvbnNba2V5XSAhPT0gJ2Jvb2xlYW4nXG4gICAgICApIHtcbiAgICAgICAgdmFsdWUucHVzaChvcHRpb25zW2tleV0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcGFyZVZhbHVlQXJyYXkob3B0aW9uOiBhbnksIHZhbHVlID0gdGhpcy5mb3JtVmFsdWUpOiBhbnlbXSB7XG4gICAgaWYgKG9wdGlvbiAmJiBvcHRpb24udmFsdWUpIHtcbiAgICAgIGNvbnN0IHZhbHVlc0l0ZW1zID0gdGhpcy52YWx1ZVRvQXJyYXkob3B0aW9uLnZhbHVlKTtcbiAgICAgIHJldHVybiB2YWx1ZS5zb21lKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbUFycmF5ID0gdGhpcy52YWx1ZVRvQXJyYXkoaXRlbSk7XG4gICAgICAgIHJldHVybiBpdGVtQXJyYXkuZXZlcnkoKGl0ZW1WYWx1ZTogYW55KSA9PlxuICAgICAgICAgIHZhbHVlc0l0ZW1zLmluY2x1ZGVzKGl0ZW1WYWx1ZSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwcml2YXRlIGNvbXBhcmVNdWx0aVZhbHVlc0FycmF5KG9wdGlvbjogYW55LCB2YWx1ZSA9IHRoaXMuZm9ybVZhbHVlKTogYW55W10ge1xuICAgIGlmIChvcHRpb24gJiYgb3B0aW9uLnZhbHVlKSB7XG4gICAgICBjb25zdCB2YWx1ZXNJdGVtcyA9IHRoaXMudmFsdWVUb0FycmF5KG9wdGlvbi52YWx1ZSk7XG4gICAgICBjb25zdCBmb3JtVmFsdWVBcnJheSA9IHZhbHVlLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW1BcnJheSA9IHRoaXMudmFsdWVUb0FycmF5KGl0ZW0pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGluZGV4LFxuICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgc2VsZWN0ZWQ6IGl0ZW1BcnJheS5zb21lKChpdGVtVmFsdWU6IGFueSkgPT5cbiAgICAgICAgICAgIHZhbHVlc0l0ZW1zLmluY2x1ZGVzKGl0ZW1WYWx1ZSlcbiAgICAgICAgICApLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgICAvLyBSZW1vdmUgZHVwbGljYXRlIGl0ZW1zXG4gICAgICBjb25zdCB1bmlxdWVGb3JtVmFsdWVBcnJheSA9IEFycmF5LmZyb20oXG4gICAgICAgIG5ldyBTZXQoZm9ybVZhbHVlQXJyYXkubWFwKChpdGVtOiBhbnkpID0+IEpTT04uc3RyaW5naWZ5KGl0ZW0pKSlcbiAgICAgICkubWFwKChpdGVtOiBhbnkpID0+IEpTT04ucGFyc2UoaXRlbSkpO1xuXG4gICAgICByZXR1cm4gdW5pcXVlRm9ybVZhbHVlQXJyYXk7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZExhYmVsTXVsdGlDb3VudCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHNob3cgPSB0aGlzLnNob3dNYXhTZWxlY3RlZExhYmVsIHx8IDA7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5vcHRpb25zPy5maWx0ZXIoKG9wdGlvbikgPT5cbiAgICAgIHRoaXMuZm9ybVZhbHVlPy5pbmNsdWRlcyhvcHRpb24udmFsdWUpXG4gICAgKTtcbiAgICBpZiAoIXNlbGVjdGVkT3B0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBpZiAoc2hvdyA+IDAgJiYgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IHNob3cpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoIC0gc2hvdztcbiAgICB9XG5cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0ob3B0aW9uOiBhbnkpIHtcbiAgICB0aGlzLm9uU2VsZWN0KG9wdGlvbik7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNob3dMaXN0ID0gZmFsc2U7XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIG9uS2V5UHJlc3MoZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5yZW5kZXJCb3hPcHRpb25zKCk7XG4gIH1cblxuICBvbkZpbHRlcihldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgdGhpcy5yZW5kZXJCb3hPcHRpb25zKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgdGhpcy5yZW5kZXJCb3hPcHRpb25zKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvblJlc2l6ZSgpIHtcbiAgICB0aGlzLnJlbmRlckJveE9wdGlvbnMoKTtcbiAgICB0aGlzLnBvc2l0aW9uQm94KCk7XG4gIH1cblxuICBvbkZvY3VzT3V0KCkge1xuICAgIGlmICghdGhpcy5wcmV2ZW50RXNjYXBlRm9jdXMgJiYgIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgICB0aGlzLnNob3dMaXN0ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgY2xvc2VMaXN0KCkge1xuICAgIHRoaXMucHJldmVudEVzY2FwZUZvY3VzID0gdHJ1ZTtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd0xpc3QgPSBmYWxzZTtcbiAgfVxuXG4gIHNlbGVjdGVkVmFsdWUob3B0aW9uOiB7IHZhbHVlOiBhbnk7IGxhYmVsOiBzdHJpbmc7IHNhZmVIdG1sQ29udGVudDogYW55IH0pIHtcbiAgICBpZiAodGhpcy5tdWx0aVNlbGVjdCkge1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb24udmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGlmIChvcHRpb24gJiYgb3B0aW9uLnZhbHVlKSB7XG4gICAgICAgICAgY29uc3QgdmFsdWVzSXRlbXMgPSB0aGlzLnZhbHVlVG9BcnJheShvcHRpb24udmFsdWUpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1WYWx1ZS5zb21lKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1BcnJheSA9IHRoaXMudmFsdWVUb0FycmF5KGl0ZW0pO1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1BcnJheS5ldmVyeSgoaXRlbVZhbHVlOiBhbnkpID0+XG4gICAgICAgICAgICAgIHZhbHVlc0l0ZW1zLmluY2x1ZGVzKGl0ZW1WYWx1ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1WYWx1ZT8uaW5jbHVkZXMob3B0aW9uLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9uLnZhbHVlID09PSB0aGlzLmZvcm1WYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyQm94T3B0aW9ucyhmaWx0ZXJWYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucyB8fCAhdGhpcy5vcHRpb25zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9uc1xuICAgICAgPy5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgICAgaWNvblByZWZpeDogb3B0aW9uLmljb25QcmVmaXgsXG4gICAgICAgICAgaHRtbExhYmVsOiBvcHRpb24uc2FmZUh0bWxDb250ZW50IHx8IG9wdGlvbi5sYWJlbCxcbiAgICAgICAgICBkaXNhYmxlZDogb3B0aW9uLmRpc2FibGVkLFxuICAgICAgICAgIHZpZXdPbmx5OiBvcHRpb24udmlld09ubHksXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICAgLmZpbHRlcigob3B0aW9uKSA9PiB7XG4gICAgICAgIGlmICghZmlsdGVyVmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBub3JtYWxpemVkRmlsdGVyID0gdGhpcy5ub3JtYWxpemVUZXh0KGZpbHRlclZhbHVlKTtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZExhYmVsID0gdGhpcy5ub3JtYWxpemVUZXh0KFxuICAgICAgICAgIG9wdGlvbi5odG1sTGFiZWw/LnRvU3RyaW5nKCkgfHwgJydcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWRMYWJlbC5pbmNsdWRlcyhub3JtYWxpemVkRmlsdGVyKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVUZXh0KHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRleHRcbiAgICAgIC5yZXBsYWNlKC9bXFxXX10rL2csICcnKSAvLyBSZW1vdmUgY2FyYWN0ZXJlcyBlc3BlY2lhaXMgZSBzdWJsaW5oYWRvc1xuICAgICAgLnRvTG93ZXJDYXNlKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJ3Y28tc21hcnRTZWxlY3RcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3djby1zbWFydFNlbGVjdC0tb3Blbic6IHNob3dMaXN0LFxuICAgICd3Y28tc21hcnRTZWxlY3QtLWlzTW9iaWxlJzogaXNNb2JpbGUsXG59XCJcbiAgKHJlc2l6ZSk9XCJvblJlc2l6ZSgpXCJcbiAgKG1vdXNlbGVhdmUpPVwib25Gb2N1c091dCgpXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRcIj5cbiAgICA8aW5wdXRcbiAgICAgICpuZ0lmPVwiIW11bHRpU2VsZWN0XCJcbiAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXRcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnZm9ybS1maWVsZC0tZXJyb3InOlxuICAgICAgICAgIGF1dG9jb21wbGV0ZUNvbnRyb2wuaW52YWxpZCAmJiBhdXRvY29tcGxldGVDb250cm9sLnRvdWNoZWRcbiAgICAgIH1cIlxuICAgICAgW2Rpc2FibGVkXT1cImF1dG9jb21wbGV0ZUNvbnRyb2wuZGlzYWJsZWRcIlxuICAgICAgaWQ9XCJ7eyBpbnB1dElkID8gaW5wdXRJZCA6ICcnIH19XCJcbiAgICAgIG5hbWU9XCJ7eyBpbnB1dE5hbWUgPyBpbnB1dE5hbWUgOiAnJyB9fVwiXG4gICAgICAoY2xpY2spPVwib25Gb2N1c0luKHRydWUpXCJcbiAgICAgIChmb2N1c2luKT1cIm9uRm9jdXNJbigpXCJcbiAgICAgIChrZXl1cC5lc2NhcGUpPVwib25Gb2N1c091dCgpXCJcbiAgICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZExhYmVsXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJTZWxlY2lvbmUgdW1hIG9ww6fDo29cIlxuICAgIC8+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJtdWx0aVNlbGVjdFwiXG4gICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHJlYWRvbmx5IG11bHRpU2VsZWN0XCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAnZm9ybS1maWVsZC0tZXJyb3InOiBhdXRvY29tcGxldGVDb250cm9sLmludmFsaWQgJiYgYXV0b2NvbXBsZXRlQ29udHJvbC50b3VjaGVkLFxuICAgICAgICAgICAgICAgICdmb3JtLWZpZWxkLS1kaXNhYmxlZCc6IGF1dG9jb21wbGV0ZUNvbnRyb2wuZGlzYWJsZWQsXG4gICAgICAgICAgICB9XCJcbiAgICAgIChjbGljayk9XCJvbkZvY3VzSW4odHJ1ZSlcIlxuICAgICAgKGZvY3VzaW4pPVwib25Gb2N1c0luKClcIlxuICAgICAgKGtleXVwLmVzY2FwZSk9XCJvbkZvY3VzT3V0KClcIlxuICAgID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlbGVjdGVkTGFiZWxNdWx0aS5sZW5ndGhcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3Y28tc21hcnQtc2VsZWN0LXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfHwgJ1NlbGVjaW9uZSB1bWEgb3DDp8OjbycgfX08L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZExhYmVsTXVsdGkubGVuZ3RoXCI+XG4gICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBvcHRpb25TZWxlY3RlZCBvZiBzZWxlY3RlZExhYmVsTXVsdGlcIiBjbGFzcz1cIndjby1zbWFydC1zZWxlY3QtaXRlbVwiPlxuICAgICAgICAgIHt7b3B0aW9uU2VsZWN0ZWQubGFiZWx9fSBcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIndjby1zbWFydC1zZWxlY3QtcmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZUl0ZW0ob3B0aW9uU2VsZWN0ZWQpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+Y2xvc2U8L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3Y28tc21hcnQtc2VsZWN0LWl0ZW1cIiAgKm5nSWY9XCJzZWxlY3RlZExhYmVsTXVsdGlDb3VudCA+PSAxXCI+XG4gICAgICAgICAgICAre3tzZWxlY3RlZExhYmVsTXVsdGlDb3VudH19IFxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgICA8bGFiZWw+e3sgbGFiZWwgfX08L2xhYmVsPlxuICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj57eyBJY29uTWF0ZXJpYWwgfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ3Y28tc21hcnRTZWxlY3QtLWJveFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3djby1zbWFydFNlbGVjdC0tYm94LS1vcGVuJzogc2hvd0xpc3QgJiYgIWF1dG9jb21wbGV0ZUNvbnRyb2wuZGlzYWJsZWRcbiAgICB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ3Y28tc21hcnRTZWxlY3QtLWlzTW9iaWxlLWNsb3NlXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJjbG9zZUxpc3QoKVwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSBidG4tb3V0bGluZSBtYi1uYW5vXCJcbiAgICAgID5cbiAgICAgICAgZmVjaGFyXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8dWw+XG4gICAgICA8bGlcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgY2xhc3M9XCJ3Y28tc21hcnQtc2VsZWN0ZWQtZmlsdGVyXCJcbiAgICAgICAgKm5nSWY9XCJzaG93TGlzdCAmJiBzaG93U2VhcmNoXCJcbiAgICAgID5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJidXNjYXJcIlxuICAgICAgICAgIChrZXl1cCk9XCJvbkZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VhcmNoIHRocm91Z2ggc2l0ZSBjb250ZW50XCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIC8+XG4gICAgICA8L2xpPlxuICAgICAgPGxpXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgW3RhYmluZGV4XT1cImkgKyAxXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ3djby1zbWFydC1zZWxlY3RlZCc6IHNlbGVjdGVkVmFsdWUob3B0aW9uKSxcbiAgICAgICAgICAgICd3Yy1zbWFydC1zZWxlY3QtZGlzYWJsZWQtb3B0aW9uJzogb3B0aW9uLmRpc2FibGVkLFxuICAgICAgICAgICAgJ3djLXNtYXJ0LXNlbGVjdC12aWV3LW9ubHktb3B0aW9uJzogb3B0aW9uLnZpZXdPbmx5LFxuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KG9wdGlvbilcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndjby1zbWFydC1zZWxlY3QtbGFiZWwtcHJlZml4XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGVQcmVmaXggPT09ICdjaGVja2JveCdcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlKG9wdGlvbikgPyBcImNoZWNrX2JveFwiIDogXCJjaGVja19ib3hfb3V0bGluZV9ibGFua1wiXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGVQcmVmaXggPT09ICdyYWRpbydcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlKG9wdGlvbilcbiAgICAgICAgICAgICAgICAgID8gXCJyYWRpb19idXR0b25fY2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgICA6IFwicmFkaW9fYnV0dG9uX3VuY2hlY2tlZFwiXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgISFvcHRpb24uaWNvblByZWZpeCAmJlxuICAgICAgICAgICAgICB0eXBlUHJlZml4ICE9PSAncmFkaW8nICYmXG4gICAgICAgICAgICAgIHR5cGVQcmVmaXggIT09ICdjaGVja2JveCdcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPlxuICAgICAgICAgICAgICB7eyBvcHRpb24uaWNvblByZWZpeCB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJ3Y28tc21hcnQtc2VsZWN0LWxhYmVsXCJcbiAgICAgICAgICBbaW5uZXJIVE1MXT1cIm9wdGlvbi5odG1sTGFiZWxcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgPC9saT5cbiAgICAgIDxsaSAqbmdJZj1cIiFmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiZGlzcGxheS1ib2R5XCI+e3sgdGV4dEVtcHR5IH19PC9wPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -383,11 +383,11 @@ export class UploadComponent {
383
383
  event.dataTransfer.dropEffect = 'copy';
384
384
  }
385
385
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadComponent, deps: [{ token: i1.HttpClient, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
386
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UploadComponent, isStandalone: true, selector: "wco-file-upload", inputs: { description: "description", config: "config", resetUpload: "resetUpload" }, outputs: { ApiResponse: "apiResponse", fileSelected: "fileSelected" }, usesOnChanges: true, ngImport: i0, template: "<label for=\"sel{{id}}\" class=\"wco-file-upload\" (drop)=\"drop($event)\" (dragover)=\"allowDrop($event)\">\n <div class=\"upload__drop-info\">\n <span>Arraste-os aqui ou</span>\n <div class=\"upload__button\">\n <span class=\"material-icons\">cloud_upload</span>\n <span>{{replaceTexts.selectFileBtn}}</span>\n </div>\n </div>\n <span class=\"upload__info\" *ngIf=\"!allowedFiles.length\" >{{description}}</span>\n <ng-container *ngIf=\"allowedFiles.length\">\n <span class=\"upload__info\" *ngFor=\"let sf of allowedFiles;let i=index\">\n {{sf.name}} <small>({{convertSize(sf.size)}})</small>\n </span>\n </ng-container>\n <input class=\"upload__file\" type=\"file\" id=\"sel{{id}}\" (change)=\"onChange($event)\" style=\"display: none\" title=\"Select file\"\n name=\"files[]\" [accept]=\"formatsAllowed\" [attr.multiple]=\"multiple ? '' : null\" />\n</label>", styles: [".wco-file-upload{--color-button: var(--wco-color-primary-600);--color-button-hover: var(--wco-color-primary-700);border:2px dashed #c1c3c5;border-radius:10px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer}.wco-file-upload .upload__drop-info{display:inherit;justify-content:center;align-items:center;gap:16px}.wco-file-upload .upload__button{display:inherit;justify-content:center;gap:8px;padding:10px 0}.wco-file-upload .upload__button span,.wco-file-upload .upload__button label{color:var(--color-button);cursor:pointer}.wco-file-upload .upload__file{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: HttpClientModule }] });
386
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UploadComponent, isStandalone: true, selector: "wco-file-upload", inputs: { description: "description", config: "config", resetUpload: "resetUpload" }, outputs: { ApiResponse: "apiResponse", fileSelected: "fileSelected" }, usesOnChanges: true, ngImport: i0, template: "<label for=\"sel{{id}}\" class=\"wco-form-upload\" (drop)=\"drop($event)\" (dragover)=\"allowDrop($event)\">\n <div class=\"wco-form-upload__info\">\n <span>Arraste-os aqui ou</span>\n <span>\n <span class=\"material-icons\">cloud_upload</span>\n <span>{{replaceTexts.selectFileBtn}}</span>\n </span>\n </div>\n <span class=\"upload__info\" *ngIf=\"!allowedFiles.length\" >{{description}}</span>\n <ng-container *ngIf=\"allowedFiles.length\">\n <span class=\"upload__info\" *ngFor=\"let sf of allowedFiles;let i=index\">\n {{sf.name}} <small>({{convertSize(sf.size)}})</small>\n </span>\n </ng-container>\n <input type=\"file\" id=\"sel{{id}}\" (change)=\"onChange($event)\" style=\"display: none\" title=\"Select file\"\n name=\"files[]\" [accept]=\"formatsAllowed\" [attr.multiple]=\"multiple ? '' : null\" />\n</label>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: HttpClientModule }] });
387
387
  }
388
388
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadComponent, decorators: [{
389
389
  type: Component,
390
- args: [{ selector: 'wco-file-upload', standalone: true, imports: [CommonModule, HttpClientModule], template: "<label for=\"sel{{id}}\" class=\"wco-file-upload\" (drop)=\"drop($event)\" (dragover)=\"allowDrop($event)\">\n <div class=\"upload__drop-info\">\n <span>Arraste-os aqui ou</span>\n <div class=\"upload__button\">\n <span class=\"material-icons\">cloud_upload</span>\n <span>{{replaceTexts.selectFileBtn}}</span>\n </div>\n </div>\n <span class=\"upload__info\" *ngIf=\"!allowedFiles.length\" >{{description}}</span>\n <ng-container *ngIf=\"allowedFiles.length\">\n <span class=\"upload__info\" *ngFor=\"let sf of allowedFiles;let i=index\">\n {{sf.name}} <small>({{convertSize(sf.size)}})</small>\n </span>\n </ng-container>\n <input class=\"upload__file\" type=\"file\" id=\"sel{{id}}\" (change)=\"onChange($event)\" style=\"display: none\" title=\"Select file\"\n name=\"files[]\" [accept]=\"formatsAllowed\" [attr.multiple]=\"multiple ? '' : null\" />\n</label>", styles: [".wco-file-upload{--color-button: var(--wco-color-primary-600);--color-button-hover: var(--wco-color-primary-700);border:2px dashed #c1c3c5;border-radius:10px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer}.wco-file-upload .upload__drop-info{display:inherit;justify-content:center;align-items:center;gap:16px}.wco-file-upload .upload__button{display:inherit;justify-content:center;gap:8px;padding:10px 0}.wco-file-upload .upload__button span,.wco-file-upload .upload__button label{color:var(--color-button);cursor:pointer}.wco-file-upload .upload__file{display:none}\n"] }]
390
+ args: [{ selector: 'wco-file-upload', standalone: true, imports: [CommonModule, HttpClientModule], template: "<label for=\"sel{{id}}\" class=\"wco-form-upload\" (drop)=\"drop($event)\" (dragover)=\"allowDrop($event)\">\n <div class=\"wco-form-upload__info\">\n <span>Arraste-os aqui ou</span>\n <span>\n <span class=\"material-icons\">cloud_upload</span>\n <span>{{replaceTexts.selectFileBtn}}</span>\n </span>\n </div>\n <span class=\"upload__info\" *ngIf=\"!allowedFiles.length\" >{{description}}</span>\n <ng-container *ngIf=\"allowedFiles.length\">\n <span class=\"upload__info\" *ngFor=\"let sf of allowedFiles;let i=index\">\n {{sf.name}} <small>({{convertSize(sf.size)}})</small>\n </span>\n </ng-container>\n <input type=\"file\" id=\"sel{{id}}\" (change)=\"onChange($event)\" style=\"display: none\" title=\"Select file\"\n name=\"files[]\" [accept]=\"formatsAllowed\" [attr.multiple]=\"multiple ? '' : null\" />\n</label>" }]
391
391
  }], ctorParameters: function () { return [{ type: i1.HttpClient, decorators: [{
392
392
  type: SkipSelf
393
393
  }] }]; }, propDecorators: { description: [{
@@ -402,4 +402,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
402
402
  }], fileSelected: [{
403
403
  type: Output
404
404
  }] } });
405
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9saWIvdXBsb2FkL3VwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3VwbG9hZC91cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixhQUFhLEdBR2QsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFjL0MsTUFBTSxPQUFPLGVBQWU7SUErS007SUE5S2hDLG1DQUFtQztJQUMxQixXQUFXLEdBQ2xCLG1FQUFtRSxDQUFDO0lBQ3RFLHlGQUF5RjtJQUNoRixNQUFNLEdBQThCO1FBQzNDLFNBQVMsRUFBRTtZQUNULEdBQUcsRUFBRSxFQUFFO1lBQ1AsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUU7Z0JBQ1AsY0FBYyxFQUFFLDBCQUEwQjthQUMzQztZQUNELFlBQVksRUFBRSxNQUFNO1lBQ3BCLGVBQWUsRUFBRSxLQUFLO1NBQ3ZCO0tBQ0YsQ0FBQztJQUVGOztPQUVHO0lBQ00sV0FBVyxHQUFHLEtBQUssQ0FBQztJQUU3Qjs7T0FFRztJQUNvQixXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN4RDs7T0FFRztJQUNPLFlBQVksR0FBb0MsSUFBSSxZQUFZLEVBRXZFLENBQUM7SUFFSjs7T0FFRztJQUNILEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkI7O09BRUc7SUFDSCxFQUFFLEdBQVcsQ0FBQyxDQUFDO0lBQ2Y7O09B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XG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTa2lwU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEh0dHBDbGllbnQsXG4gIEh0dHBDbGllbnRNb2R1bGUsXG4gIEh0dHBFdmVudFR5cGUsXG4gIEh0dHBIZWFkZXJzLFxuICBIdHRwUGFyYW1zLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBbmd1bGFyRmlsZVVwbG9hZGVyQ29uZmlnLFxuICBSZXBsYWNlVGV4dHMsXG4gIFVwbG9hZEluZm9UeXBlcyxcbn0gZnJvbSAnLi91cGxvYWQudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3Y28tZmlsZS11cGxvYWQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBIdHRwQ2xpZW50TW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VwbG9hZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAvKiBUZXh0byBkZSBkZXNjcmnDp8OjbyBkbyBhcnF1aXZvICovXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmcgPVxuICAgICcoWFggTUIgZGUgdGFtYW5obyBtw6F4aW1vIGUgw6kgcGVybWl0aWRvIHF1YWxxdWVyIHRpcG8gZGUgYXJxdWl2b3MpJztcbiAgLyogY29uZmlnIDxBbmd1bGFyRmlsZVVwbG9hZGVyQ29uZmlnPiBjb25maWd1cmHDp8OjbyBkbyBjb21wb25lbnRlIHByaW5jaXBhaXMgcGFyw6JtZXRyb3MgKi9cbiAgQElucHV0KCkgY29uZmlnOiBBbmd1bGFyRmlsZVVwbG9hZGVyQ29uZmlnID0ge1xuICAgIHVwbG9hZEFQSToge1xuICAgICAgdXJsOiAnJyxcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ3RleHQvcGxhaW47Y2hhcnNldD1VVEYtOCcsXG4gICAgICB9LFxuICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IGZhbHNlLFxuICAgIH0sXG4gIH07XG5cbiAgLypcbiAgICogT3DDp8OjbyBkZSByZXNldGFyIG8gY29tcG9uZW50ZVxuICAgKi9cbiAgQElucHV0KCkgcmVzZXRVcGxvYWQgPSBmYWxzZTtcblxuICAvKlxuICAgKiBFdmVudG8gUmVzcG9zdGEgZGEgcmVxdWlzacOnw6NvIHNlbmRvIHN1Y2Vzc28gb3UgZXJyb1xuICAgKi9cbiAgQE91dHB1dCgnYXBpUmVzcG9uc2UnKSBBcGlSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLypcbiAgICogRXZlbnRvIGphdmFzY3JpcHQgcHVybyBwYXJhIHJldG9ybm8gZG8gYXJxdWl2b1xuICAgKi9cbiAgQE91dHB1dCgpIGZpbGVTZWxlY3RlZDogRXZlbnRFbWl0dGVyPFVwbG9hZEluZm9UeXBlc1tdPiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgVXBsb2FkSW5mb1R5cGVzW11cbiAgPigpO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICB0aGVtZTogc3RyaW5nID0gJyc7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBpZDogbnVtYmVyID0gMDtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGhpZGVQcm9ncmVzc0JhcjogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbWF4U2l6ZTogbnVtYmVyID0gMjAgKiAxMDI0MDAwOyAvLyBtYiB0byBieXRlcy5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHVwbG9hZEFQSTogc3RyaW5nID0gJyc7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBtZXRob2Q6IHN0cmluZyA9ICdQT1NUJztcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGZvcm1hdHNBbGxvd2VkOiBzdHJpbmcgPSAnKic7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBmb3JtYXRzQWxsb3dlZFRleHQ6IHN0cmluZyA9ICcnO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGhlYWRlcnM6IEh0dHBIZWFkZXJzIHwgeyBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9ID0ge307XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwYXJhbXM6IEh0dHBQYXJhbXMgfCB7IFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfSA9IHt9O1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcmVzcG9uc2VUeXBlOiAnanNvbicgfCAnYXJyYXlidWZmZXInIHwgJ2Jsb2InIHwgJ3RleHQnID0gJ2Jsb2InO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaGlkZVJlc2V0QnRuOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBoaWRlU2VsZWN0QnRuOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBhbGxvd2VkRmlsZXM6IEZpbGVbXSA9IFtdO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbm90QWxsb3dlZEZpbGVzOiB7XG4gICAgZmlsZU5hbWU6IHN0cmluZztcbiAgICBmaWxlU2l6ZTogc3RyaW5nO1xuICAgIGVycm9yTXNnOiBzdHJpbmc7XG4gIH1bXSA9IFtdO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQ2FwdGlvbjogc3RyaW5nW10gPSBbXTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGlzQWxsb3dlZEZpbGVTaW5nbGUgPSB0cnVlO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJvZ3Jlc3NCYXJTaG93ID0gZmFsc2U7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBlbmFibGVVcGxvYWRCdG4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHVwbG9hZE1zZyA9IGZhbHNlO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgYWZ0ZXJVcGxvYWQgPSBmYWxzZTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHVwbG9hZFN0YXJ0ZWQgPSBmYWxzZTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHVwbG9hZE1zZ1RleHQ6IHN0cmluZyA9ICcnO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgdXBsb2FkTXNnQ2xhc3M6IHN0cmluZyA9ICd0ZXh0LXN1Y2Nlc3MnO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgdXBsb2FkUGVyY2VudDogbnVtYmVyID0gMDtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHJlcGxhY2VUZXh0czogUmVwbGFjZVRleHRzID0ge1xuICAgIHNlbGVjdEZpbGVCdG46ICdTZWxlY2lvbmFyIEFycXVpdm8nLFxuICAgIHJlc2V0QnRuOiAnUmVzZXRhcicsXG4gICAgdXBsb2FkQnRuOiAnRW52aWFyJyxcbiAgICBkcmFnTkRyb3BCb3g6ICdBcnJhc3RlIGUgc29sdGUnLFxuICAgIGF0dGFjaFBpbkJ0bjogJ0FuZXhhciBBcnF1aXZvLi4uJyxcbiAgICBhZnRlclVwbG9hZE1zZ19zdWNjZXNzOiAnRW52aWFkbyBjb20gc3VjZXNzbyAhJyxcbiAgICBhZnRlclVwbG9hZE1zZ19lcnJvcjogJ0ZhbGhhIG5vIGVudmlvICEnLFxuICAgIHNpemVMaW1pdDogJ1RhbWFuaG8gbcOheGltbycsXG4gIH07XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjdXJyZW50VXBsb2FkczogYW55W10gPSBbXTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGZpbGVOYW1lSW5kZXggPSB0cnVlO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgd2l0aENyZWRlbnRpYWxzID0gZmFsc2U7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBhdXRvVXBsb2FkID0gdHJ1ZTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgaWREYXRlOiBudW1iZXIgPSArbmV3IERhdGUoKTtcblxuICBjb25zdHJ1Y3RvcihAU2tpcFNlbGYoKSBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSkge1xuICAgIC8vIFRyYWNrIGNoYW5nZXMgaW4gQ29uZmlndXJhdGlvbiBhbmQgc2VlIGlmIHVzZXIgaGFzIGV2ZW4gcHJvdmlkZWQgQ29uZmlndXJhdGlvbi5cbiAgICBpZiAoY2hhbmdlcy5jb25maWcgJiYgdGhpcy5jb25maWcpIHtcbiAgICAgIC8vIEFzc2lnbiBVc2VyIENvbmZpZ3VyYXRpb25zIHRvIExpYnJhcnkgUHJvcGVydGllcy5cbiAgICAgIHRoaXMudGhlbWUgPSB0aGlzLmNvbmZpZy50aGVtZSB8fCAnJztcbiAgICAgIHRoaXMuaWQgPVxuICAgICAgICB0aGlzLmNvbmZpZy5pZCB8fFxuICAgICAgICBwYXJzZUludCgodGhpcy5pZERhdGUgLyAxMDAwMCkudG9TdHJpbmcoKS5zcGxpdCgnLicpWzFdLCAxMCkgK1xuICAgICAgICAgIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDIwKSAqIDEwMDAwO1xuICAgICAgdGhpcy5oaWRlUHJvZ3Jlc3NCYXIgPSB0aGlzLmNvbmZpZy5oaWRlUHJvZ3Jlc3NCYXIgfHwgZmFsc2U7XG4gICAgICB0aGlzLmhpZGVSZXNldEJ0biA9IHRoaXMuY29uZmlnLmhpZGVSZXNldEJ0biB8fCBmYWxzZTtcbiAgICAgIHRoaXMuaGlkZVNlbGVjdEJ0biA9IHRoaXMuY29uZmlnLmhpZGVTZWxlY3RCdG4gfHwgZmFsc2U7XG4gICAgICB0aGlzLm1heFNpemUgPSAodGhpcy5jb25maWcubWF4U2l6ZSB8fCAyMCkgKiAxMDI0MDAwOyAvLyBtYiB0byBieXRlcy5cbiAgICAgIGlmICh0aGlzLmNvbmZpZy51cGxvYWRBUEkpIHtcbiAgICAgICAgdGhpcy51cGxvYWRBUEkgPSB0aGlzLmNvbmZpZy51cGxvYWRBUEkudXJsO1xuICAgICAgICB0aGlzLm1ldGhvZCA9IHRoaXMuY29uZmlnLnVwbG9hZEFQSS5tZXRob2QgfHwgJ1BPU1QnO1xuICAgICAgICB0aGlzLmZvcm1hdHNBbGxvd2VkID0gdGhpcy5jb25maWcuZm9ybWF0c0FsbG93ZWQgfHwgJyonO1xuICAgICAgICB0aGlzLm11bHRpcGxlID0gdGhpcy5jb25maWcubXVsdGlwbGUgfHwgZmFsc2U7XG4gICAgICAgIHRoaXMuaGVhZGVycyA9IHRoaXMuY29uZmlnLnVwbG9hZEFQSS5oZWFkZXJzIHx8IHt9O1xuICAgICAgICB0aGlzLnBhcmFtcyA9IHRoaXMuY29uZmlnLnVwbG9hZEFQSS5wYXJhbXMgfHwge307XG4gICAgICAgIHRoaXMucmVzcG9uc2VUeXBlID0gdGhpcy5jb25maWcudXBsb2FkQVBJLnJlc3BvbnNlVHlwZSB8fCAnanNvbic7XG4gICAgICAgIHRoaXMud2l0aENyZWRlbnRpYWxzID0gdGhpcy5jb25maWcudXBsb2FkQVBJLndpdGhDcmVkZW50aWFscyB8fCBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZm9ybWF0c0FsbG93ZWRUZXh0ID1cbiAgICAgICAgdGhpcy5mb3JtYXRzQWxsb3dlZCA9PT0gJyonID8gJycgOiAnKCcgKyB0aGlzLmZvcm1hdHNBbGxvd2VkICsgJyknO1xuICAgICAgdGhpcy5maWxlTmFtZUluZGV4ID0gdGhpcy5jb25maWcuZmlsZU5hbWVJbmRleCA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWU7XG4gICAgICB0aGlzLmF1dG9VcGxvYWQgPSB0aGlzLmNvbmZpZy5hdXRvVXBsb2FkIHx8IGZhbHNlO1xuICAgICAgaWYgKHRoaXMuY29uZmlnLnJlcGxhY2VUZXh0cykge1xuICAgICAgICB0aGlzLnJlcGxhY2VUZXh0cyA9IHtcbiAgICAgICAgICAuLi50aGlzLnJlcGxhY2VUZXh0cyxcbiAgICAgICAgICAuLi50aGlzLmNvbmZpZy5yZXBsYWNlVGV4dHMsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgd2hlbiByZXNldFVwbG9hZCB2YWx1ZSBjaGFuZ2VzIGZyb20gZmFsc2UgdG8gdHJ1ZS5cbiAgICBpZiAoY2hhbmdlcy5yZXNldFVwbG9hZCkge1xuICAgICAgaWYgKGNoYW5nZXMucmVzZXRVcGxvYWQuY3VycmVudFZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgIHRoaXMucmVzZXRGaWxlVXBsb2FkKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogRnVuw6fDo28gcmVzZXRhciBjb21wb25lbnRlICovXG4gIHJlc2V0RmlsZVVwbG9hZCgpIHtcbiAgICB0aGlzLmFsbG93ZWRGaWxlcyA9IFtdO1xuICAgIHRoaXMuQ2FwdGlvbiA9IFtdO1xuICAgIHRoaXMubm90QWxsb3dlZEZpbGVzID0gW107XG4gICAgdGhpcy51cGxvYWRNc2cgPSBmYWxzZTtcbiAgICB0aGlzLmVuYWJsZVVwbG9hZEJ0biA9IGZhbHNlO1xuICB9XG5cbiAgLyogRGV0ZWN0YXIgbXVkYW7Dp2EgICovXG4gIG9uQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmZpbGVTZWxlY3RlZC5lbWl0KGV2ZW50KTtcbiAgICB0aGlzLm5vdEFsbG93ZWRGaWxlcyA9IFtdO1xuICAgIGNvbnN0IGZpbGVFeHRSZWdFeHA6IFJlZ0V4cCA9IC8oPzpcXC4oW14uXSspKT8kLztcbiAgICBsZXQgZmlsZUxpc3Q6IEZpbGVMaXN0O1xuXG4gICAgaWYgKHRoaXMuYWZ0ZXJVcGxvYWQgfHwgIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuYWxsb3dlZEZpbGVzID0gW107XG4gICAgICB0aGlzLkNhcHRpb24gPSBbXTtcbiAgICAgIHRoaXMuYWZ0ZXJVcGxvYWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2Ryb3AnKSB7XG4gICAgICBmaWxlTGlzdCA9IGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcztcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsZUxpc3QgPSBldmVudC50YXJnZXQuZmlsZXMgfHwgZXZlbnQuc3JjRWxlbWVudC5maWxlcztcbiAgICB9XG5cbiAgICAvLyAnZm9yRWFjaCcgZG9lcyBub3QgZXhpc3Qgb24gJ2ZpbGVsaXN0JyB0aGF0J3Mgd2h5IHRoaXMgZ29vZCBvbGQgJ2ZvcicgaXMgdXNlZC5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGZvci1vZlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZUxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IF9jdXJyZW50RmlsZUV4dDogYW55ID0gZmlsZUV4dFJlZ0V4cC5leGVjKGZpbGVMaXN0W2ldLm5hbWUpO1xuICAgICAgY29uc3QgY3VycmVudEZpbGVFeHQgPVxuICAgICAgICB0eXBlb2YgX2N1cnJlbnRGaWxlRXh0WzFdID09PSAnc3RyaW5nJ1xuICAgICAgICAgID8gX2N1cnJlbnRGaWxlRXh0WzFdLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICA6ICcnO1xuICAgICAgY29uc3QgaXNGb3JtYXRWYWxpZCA9IHRoaXMuZm9ybWF0c0FsbG93ZWQuaW5jbHVkZXMoJyonKVxuICAgICAgICA/IHRydWVcbiAgICAgICAgOiB0aGlzLmZvcm1hdHNBbGxvd2VkLmluY2x1ZGVzKGN1cnJlbnRGaWxlRXh0KTtcblxuICAgICAgY29uc3QgaXNTaXplVmFsaWQgPSBmaWxlTGlzdFtpXS5zaXplIDw9IHRoaXMubWF4U2l6ZTtcblxuICAgICAgLy8gQ2hlY2sgd2hldGhlciBjdXJyZW50IGZpbGUgZm9ybWF0IGFuZCBzaXplIGlzIGNvcnJlY3QgYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWd1cmF0aW9ucy5cbiAgICAgIGlmIChpc0Zvcm1hdFZhbGlkICYmIGlzU2l6ZVZhbGlkKSB7XG4gICAgICAgIHRoaXMuYWxsb3dlZEZpbGVzLnB1c2goZmlsZUxpc3RbaV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5ub3RBbGxvd2VkRmlsZXMucHVzaCh7XG4gICAgICAgICAgZmlsZU5hbWU6IGZpbGVMaXN0W2ldLm5hbWUsXG4gICAgICAgICAgZmlsZVNpemU6IHRoaXMuY29udmVydFNpemUoZmlsZUxpc3RbaV0uc2l6ZSksXG4gICAgICAgICAgZXJyb3JNc2c6ICFpc0Zvcm1hdFZhbGlkID8gJ0ludmFsaWQgZm9ybWF0JyA6ICdJbnZhbGlkIHNpemUnLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSdzIGFueSBhbGxvd2VkRmlsZXMuXG4gICAgaWYgKHRoaXMuYWxsb3dlZEZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZW5hYmxlVXBsb2FkQnRuID0gdHJ1ZTtcbiAgICAgIC8vIFVwbG9hZCB0aGUgZmlsZXMgZGlyZWN0bHkgaWYgdGhlbWUgaXMgYXR0YWNoIHBpbiAoYXMgdXBsb2FkIGJ0biBpcyBub3QgdGhlcmUgZm9yIHRoaXMgdGhlbWUpIG9yIGF1dG9VcGxvYWQgaXMgdHJ1ZS5cbiAgICAgIGlmICh0aGlzLnRoZW1lID09PSAnYXR0YWNoUGluJyB8fCB0aGlzLmF1dG9VcGxvYWQpIHtcbiAgICAgICAgdGhpcy51cGxvYWRGaWxlcygpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVuYWJsZVVwbG9hZEJ0biA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMudXBsb2FkTXNnID0gZmFsc2U7XG4gICAgdGhpcy51cGxvYWRTdGFydGVkID0gZmFsc2U7XG4gICAgdGhpcy51cGxvYWRQZXJjZW50ID0gMDtcbiAgICBldmVudC50YXJnZXQudmFsdWUgPSBudWxsO1xuICB9XG5cbiAgLyogRnVuw6fDo28gcGFyYSBlbnZpYXIgYXJxdWl2byBwYXJhIHNlcnZpZG9yICovXG4gIHVwbG9hZEZpbGVzKCkge1xuICAgIHRoaXMucHJvZ3Jlc3NCYXJTaG93ID0gdHJ1ZTtcbiAgICB0aGlzLnVwbG9hZFN0YXJ0ZWQgPSB0cnVlO1xuICAgIHRoaXMubm90QWxsb3dlZEZpbGVzID0gW107XG4gICAgbGV0IGlzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLmlzQWxsb3dlZEZpbGVTaW5nbGUgPSB0aGlzLmFsbG93ZWRGaWxlcy5sZW5ndGggPD0gMTtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuXG4gICAgLy8gQWRkIGRhdGEgdG8gYmUgc2VudCBpbiB0aGlzIHJlcXVlc3RcbiAgICB0aGlzLmFsbG93ZWRGaWxlcy5mb3JFYWNoKChmaWxlLCBpKSA9PiB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoXG4gICAgICAgIHRoaXMuQ2FwdGlvbltpXSB8fCAnZmlsZScgKyAodGhpcy5maWxlTmFtZUluZGV4ID8gaSA6ICcnKSxcbiAgICAgICAgdGhpcy5hbGxvd2VkRmlsZXNbaV1cbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmh0dHBcbiAgICAgIC5yZXF1ZXN0KHRoaXMubWV0aG9kLnRvVXBwZXJDYXNlKCksIHRoaXMudXBsb2FkQVBJLCB7XG4gICAgICAgIGJvZHk6IGZvcm1EYXRhLFxuICAgICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcbiAgICAgICAgb2JzZXJ2ZTogJ2V2ZW50cycsXG4gICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVycyxcbiAgICAgICAgcGFyYW1zOiB0aGlzLnBhcmFtcyxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiB0aGlzLnJlc3BvbnNlVHlwZSxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLndpdGhDcmVkZW50aWFscyxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgICAvLyBVcGxvYWQgUHJvZ3Jlc3NcbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcykge1xuICAgICAgICAgICAgdGhpcy5lbmFibGVVcGxvYWRCdG4gPSBmYWxzZTsgLy8gYnV0dG9uIHNob3VsZCBiZSBkaXNhYmxlZCBpZiBwcm9jZXNzIHVwbG9hZGluZ1xuICAgICAgICAgICAgY29uc3QgY3VycmVudERvbmUgPSBldmVudC5sb2FkZWQgLyBldmVudC50b3RhbDtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkUGVyY2VudCA9IE1hdGgucm91bmQoKGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsKSAqIDEwMCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlKSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQuc3RhdHVzID09PSAyMDAgfHwgZXZlbnQuc3RhdHVzID09PSAyMDEpIHtcbiAgICAgICAgICAgICAgLy8gU3VjY2Vzc1xuICAgICAgICAgICAgICB0aGlzLnByb2dyZXNzQmFyU2hvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLmVuYWJsZVVwbG9hZEJ0biA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLnVwbG9hZE1zZyA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuYWZ0ZXJVcGxvYWQgPSB0cnVlO1xuICAgICAgICAgICAgICBpZiAoIWlzRXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZE1zZ1RleHQgPVxuICAgICAgICAgICAgICAgICAgdGhpcy5yZXBsYWNlVGV4dHMuYWZ0ZXJVcGxvYWRNc2dfc3VjY2VzcyB8fFxuICAgICAgICAgICAgICAgICAgJ1N1Y2Nlc3NmdWxseSBVcGxvYWRlZCAhJztcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZE1zZ0NsYXNzID0gJ3RleHQtc3VjY2VzcyBsZWFkJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gRmFpbHVyZVxuICAgICAgICAgICAgICBpc0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuQXBpUmVzcG9uc2UuZW1pdChldmVudCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vY29uc29sZS5sb2coJ0V2ZW50IE90aGVyOiAnLCBldmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAvLyBGYWlsdXJlXG4gICAgICAgICAgaXNFcnJvciA9IHRydWU7XG4gICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcnMoKTtcbiAgICAgICAgICB0aGlzLkFwaVJlc3BvbnNlLmVtaXQoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgaGFuZGxlRXJyb3JzKCkge1xuICAgIHRoaXMucHJvZ3Jlc3NCYXJTaG93ID0gZmFsc2U7XG4gICAgdGhpcy5lbmFibGVVcGxvYWRCdG4gPSBmYWxzZTtcbiAgICB0aGlzLnVwbG9hZE1zZyA9IHRydWU7XG4gICAgdGhpcy5hZnRlclVwbG9hZCA9IHRydWU7XG4gICAgdGhpcy51cGxvYWRNc2dUZXh0ID1cbiAgICAgIHRoaXMucmVwbGFjZVRleHRzLmFmdGVyVXBsb2FkTXNnX2Vycm9yIHx8ICdFcnJvciBpbiB1cGxvYWRpbmcgZmlsZXMnO1xuICAgIHRoaXMudXBsb2FkTXNnQ2xhc3MgPSAndGV4dC1kYW5nZXIgbGVhZCc7XG4gIH1cblxuICByZW1vdmVGaWxlKGk6IGFueSwgc2ZfbmE6IGFueSkge1xuICAgIGlmIChzZl9uYSA9PT0gJ3NmJykge1xuICAgICAgdGhpcy5hbGxvd2VkRmlsZXMuc3BsaWNlKGksIDEpO1xuICAgICAgdGhpcy5DYXB0aW9uLnNwbGljZShpLCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ub3RBbGxvd2VkRmlsZXMuc3BsaWNlKGksIDEpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFsbG93ZWRGaWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZW5hYmxlVXBsb2FkQnRuID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgY29udmVydFNpemUoZmlsZVNpemU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGZpbGVTaXplIDwgMTAyNDAwMFxuICAgICAgPyAoZmlsZVNpemUgLyAxMDI0KS50b0ZpeGVkKDIpICsgJyBLQidcbiAgICAgIDogKGZpbGVTaXplIC8gMTAyNDAwMCkudG9GaXhlZCgyKSArICcgTUInO1xuICB9XG5cbiAgYXR0YWNocGluT25jbGljaygpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlbCcgKyB0aGlzLmlkKTtcbiAgICBpZiAoZWxlbWVudCAhPT0gbnVsbCkge1xuICAgICAgZWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIGRyb3AoZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5vbkNoYW5nZShldmVudCk7XG4gIH1cblxuICBhbGxvd0Ryb3AoZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnY29weSc7XG4gIH1cbn1cbiIsIjxsYWJlbCBmb3I9XCJzZWx7e2lkfX1cIiBjbGFzcz1cIndjby1maWxlLXVwbG9hZFwiIChkcm9wKT1cImRyb3AoJGV2ZW50KVwiIChkcmFnb3Zlcik9XCJhbGxvd0Ryb3AoJGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwidXBsb2FkX19kcm9wLWluZm9cIj5cbiAgICA8c3Bhbj5BcnJhc3RlLW9zIGFxdWkgb3U8L3NwYW4+XG4gICAgPGRpdiBjbGFzcz1cInVwbG9hZF9fYnV0dG9uXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+Y2xvdWRfdXBsb2FkPC9zcGFuPlxuICAgICAgPHNwYW4+e3tyZXBsYWNlVGV4dHMuc2VsZWN0RmlsZUJ0bn19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHNwYW4gY2xhc3M9XCJ1cGxvYWRfX2luZm9cIiAqbmdJZj1cIiFhbGxvd2VkRmlsZXMubGVuZ3RoXCIgPnt7ZGVzY3JpcHRpb259fTwvc3Bhbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFsbG93ZWRGaWxlcy5sZW5ndGhcIj5cbiAgICA8c3BhbiBjbGFzcz1cInVwbG9hZF9faW5mb1wiICpuZ0Zvcj1cImxldCBzZiBvZiBhbGxvd2VkRmlsZXM7bGV0IGk9aW5kZXhcIj5cbiAgICAgIHt7c2YubmFtZX19IDxzbWFsbD4oe3tjb252ZXJ0U2l6ZShzZi5zaXplKX19KTwvc21hbGw+XG4gICAgPC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGlucHV0IGNsYXNzPVwidXBsb2FkX19maWxlXCIgdHlwZT1cImZpbGVcIiBpZD1cInNlbHt7aWR9fVwiIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIHRpdGxlPVwiU2VsZWN0IGZpbGVcIlxuICBuYW1lPVwiZmlsZXNbXVwiIFthY2NlcHRdPVwiZm9ybWF0c0FsbG93ZWRcIiBbYXR0ci5tdWx0aXBsZV09XCJtdWx0aXBsZSA/ICcnIDogbnVsbFwiIC8+XG48L2xhYmVsPiJdfQ==
405
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9saWIvdXBsb2FkL3VwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3VwbG9hZC91cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixhQUFhLEdBR2QsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFjL0MsTUFBTSxPQUFPLGVBQWU7SUErS007SUE5S2hDLG1DQUFtQztJQUMxQixXQUFXLEdBQ2xCLG1FQUFtRSxDQUFDO0lBQ3RFLHlGQUF5RjtJQUNoRixNQUFNLEdBQThCO1FBQzNDLFNBQVMsRUFBRTtZQUNULEdBQUcsRUFBRSxFQUFFO1lBQ1AsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUU7Z0JBQ1AsY0FBYyxFQUFFLDBCQUEwQjthQUMzQztZQUNELFlBQVksRUFBRSxNQUFNO1lBQ3BCLGVBQWUsRUFBRSxLQUFLO1NBQ3ZCO0tBQ0YsQ0FBQztJQUVGOztPQUVHO0lBQ00sV0FBVyxHQUFHLEtBQUssQ0FBQztJQUU3Qjs7T0FFRztJQUNvQixXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN4RDs7T0FFRztJQUNPLFlBQVksR0FBb0MsSUFBSSxZQUFZLEVBRXZFLENBQUM7SUFFSjs7T0FFRztJQUNILEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkI7O09BRUc7SUFDSCxFQUFFLEdBQVcsQ0FBQyxDQUFDO0lBQ2Y7O09B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biAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNraXBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgSHR0cENsaWVudCxcbiAgSHR0cENsaWVudE1vZHVsZSxcbiAgSHR0cEV2ZW50VHlwZSxcbiAgSHR0cEhlYWRlcnMsXG4gIEh0dHBQYXJhbXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFuZ3VsYXJGaWxlVXBsb2FkZXJDb25maWcsXG4gIFJlcGxhY2VUZXh0cyxcbiAgVXBsb2FkSW5mb1R5cGVzLFxufSBmcm9tICcuL3VwbG9hZC50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby1maWxlLXVwbG9hZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEh0dHBDbGllbnRNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8qIFRleHRvIGRlIGRlc2NyacOnw6NvIGRvIGFycXVpdm8gKi9cbiAgQElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZyA9XG4gICAgJyhYWCBNQiBkZSB0YW1hbmhvIG3DoXhpbW8gZSDDqSBwZXJtaXRpZG8gcXVhbHF1ZXIgdGlwbyBkZSBhcnF1aXZvcyknO1xuICAvKiBjb25maWcgPEFuZ3VsYXJGaWxlVXBsb2FkZXJDb25maWc+IGNvbmZpZ3VyYcOnw6NvIGRvIGNvbXBvbmVudGUgcHJpbmNpcGFpcyBwYXLDom1ldHJvcyAqL1xuICBASW5wdXQoKSBjb25maWc6IEFuZ3VsYXJGaWxlVXBsb2FkZXJDb25maWcgPSB7XG4gICAgdXBsb2FkQVBJOiB7XG4gICAgICB1cmw6ICcnLFxuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAndGV4dC9wbGFpbjtjaGFyc2V0PVVURi04JyxcbiAgICAgIH0sXG4gICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogZmFsc2UsXG4gICAgfSxcbiAgfTtcblxuICAvKlxuICAgKiBPcMOnw6NvIGRlIHJlc2V0YXIgbyBjb21wb25lbnRlXG4gICAqL1xuICBASW5wdXQoKSByZXNldFVwbG9hZCA9IGZhbHNlO1xuXG4gIC8qXG4gICAqIEV2ZW50byBSZXNwb3N0YSBkYSByZXF1aXNpw6fDo28gc2VuZG8gc3VjZXNzbyBvdSBlcnJvXG4gICAqL1xuICBAT3V0cHV0KCdhcGlSZXNwb25zZScpIEFwaVJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvKlxuICAgKiBFdmVudG8gamF2YXNjcmlwdCBwdXJvIHBhcmEgcmV0b3JubyBkbyBhcnF1aXZvXG4gICAqL1xuICBAT3V0cHV0KCkgZmlsZVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8VXBsb2FkSW5mb1R5cGVzW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBVcGxvYWRJbmZvVHlwZXNbXVxuICA+KCk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHRoZW1lOiBzdHJpbmcgPSAnJztcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGlkOiBudW1iZXIgPSAwO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaGlkZVByb2dyZXNzQmFyOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBtYXhTaXplOiBudW1iZXIgPSAyMCAqIDEwMjQwMDA7IC8vIG1iIHRvIGJ5dGVzLlxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgdXBsb2FkQVBJOiBzdHJpbmcgPSAnJztcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG1ldGhvZDogc3RyaW5nID0gJ1BPU1QnO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgZm9ybWF0c0FsbG93ZWQ6IHN0cmluZyA9ICcqJztcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGZvcm1hdHNBbGxvd2VkVGV4dDogc3RyaW5nID0gJyc7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaGVhZGVyczogSHR0cEhlYWRlcnMgfCB7IFtoZWFkZXI6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIH0gPSB7fTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHBhcmFtczogSHR0cFBhcmFtcyB8IHsgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9ID0ge307XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICByZXNwb25zZVR5cGU6ICdqc29uJyB8ICdhcnJheWJ1ZmZlcicgfCAnYmxvYicgfCAndGV4dCcgPSAnYmxvYic7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBoaWRlUmVzZXRCdG46IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGhpZGVTZWxlY3RCdG46IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGFsbG93ZWRGaWxlczogRmlsZVtdID0gW107XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBub3RBbGxvd2VkRmlsZXM6IHtcbiAgICBmaWxlTmFtZTogc3RyaW5nO1xuICAgIGZpbGVTaXplOiBzdHJpbmc7XG4gICAgZXJyb3JNc2c6IHN0cmluZztcbiAgfVtdID0gW107XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBDYXB0aW9uOiBzdHJpbmdbXSA9IFtdO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaXNBbGxvd2VkRmlsZVNpbmdsZSA9IHRydWU7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcm9ncmVzc0JhclNob3cgPSBmYWxzZTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGVuYWJsZVVwbG9hZEJ0biA9IGZhbHNlO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgdXBsb2FkTXNnID0gZmFsc2U7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBhZnRlclVwbG9hZCA9IGZhbHNlO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgdXBsb2FkU3RhcnRlZCA9IGZhbHNlO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgdXBsb2FkTXNnVGV4dDogc3RyaW5nID0gJyc7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICB1cGxvYWRNc2dDbGFzczogc3RyaW5nID0gJ3RleHQtc3VjY2Vzcyc7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICB1cGxvYWRQZXJjZW50OiBudW1iZXIgPSAwO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcmVwbGFjZVRleHRzOiBSZXBsYWNlVGV4dHMgPSB7XG4gICAgc2VsZWN0RmlsZUJ0bjogJ1NlbGVjaW9uYXIgQXJxdWl2bycsXG4gICAgcmVzZXRCdG46ICdSZXNldGFyJyxcbiAgICB1cGxvYWRCdG46ICdFbnZpYXInLFxuICAgIGRyYWdORHJvcEJveDogJ0FycmFzdGUgZSBzb2x0ZScsXG4gICAgYXR0YWNoUGluQnRuOiAnQW5leGFyIEFycXVpdm8uLi4nLFxuICAgIGFmdGVyVXBsb2FkTXNnX3N1Y2Nlc3M6ICdFbnZpYWRvIGNvbSBzdWNlc3NvICEnLFxuICAgIGFmdGVyVXBsb2FkTXNnX2Vycm9yOiAnRmFsaGEgbm8gZW52aW8gIScsXG4gICAgc2l6ZUxpbWl0OiAnVGFtYW5obyBtw6F4aW1vJyxcbiAgfTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGN1cnJlbnRVcGxvYWRzOiBhbnlbXSA9IFtdO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgZmlsZU5hbWVJbmRleCA9IHRydWU7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICB3aXRoQ3JlZGVudGlhbHMgPSBmYWxzZTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGF1dG9VcGxvYWQgPSB0cnVlO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBpZERhdGU6IG51bWJlciA9ICtuZXcgRGF0ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKEBTa2lwU2VsZigpIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogYW55KSB7XG4gICAgLy8gVHJhY2sgY2hhbmdlcyBpbiBDb25maWd1cmF0aW9uIGFuZCBzZWUgaWYgdXNlciBoYXMgZXZlbiBwcm92aWRlZCBDb25maWd1cmF0aW9uLlxuICAgIGlmIChjaGFuZ2VzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZykge1xuICAgICAgLy8gQXNzaWduIFVzZXIgQ29uZmlndXJhdGlvbnMgdG8gTGlicmFyeSBQcm9wZXJ0aWVzLlxuICAgICAgdGhpcy50aGVtZSA9IHRoaXMuY29uZmlnLnRoZW1lIHx8ICcnO1xuICAgICAgdGhpcy5pZCA9XG4gICAgICAgIHRoaXMuY29uZmlnLmlkIHx8XG4gICAgICAgIHBhcnNlSW50KCh0aGlzLmlkRGF0ZSAvIDEwMDAwKS50b1N0cmluZygpLnNwbGl0KCcuJylbMV0sIDEwKSArXG4gICAgICAgICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjApICogMTAwMDA7XG4gICAgICB0aGlzLmhpZGVQcm9ncmVzc0JhciA9IHRoaXMuY29uZmlnLmhpZGVQcm9ncmVzc0JhciB8fCBmYWxzZTtcbiAgICAgIHRoaXMuaGlkZVJlc2V0QnRuID0gdGhpcy5jb25maWcuaGlkZVJlc2V0QnRuIHx8IGZhbHNlO1xuICAgICAgdGhpcy5oaWRlU2VsZWN0QnRuID0gdGhpcy5jb25maWcuaGlkZVNlbGVjdEJ0biB8fCBmYWxzZTtcbiAgICAgIHRoaXMubWF4U2l6ZSA9ICh0aGlzLmNvbmZpZy5tYXhTaXplIHx8IDIwKSAqIDEwMjQwMDA7IC8vIG1iIHRvIGJ5dGVzLlxuICAgICAgaWYgKHRoaXMuY29uZmlnLnVwbG9hZEFQSSkge1xuICAgICAgICB0aGlzLnVwbG9hZEFQSSA9IHRoaXMuY29uZmlnLnVwbG9hZEFQSS51cmw7XG4gICAgICAgIHRoaXMubWV0aG9kID0gdGhpcy5jb25maWcudXBsb2FkQVBJLm1ldGhvZCB8fCAnUE9TVCc7XG4gICAgICAgIHRoaXMuZm9ybWF0c0FsbG93ZWQgPSB0aGlzLmNvbmZpZy5mb3JtYXRzQWxsb3dlZCB8fCAnKic7XG4gICAgICAgIHRoaXMubXVsdGlwbGUgPSB0aGlzLmNvbmZpZy5tdWx0aXBsZSB8fCBmYWxzZTtcbiAgICAgICAgdGhpcy5oZWFkZXJzID0gdGhpcy5jb25maWcudXBsb2FkQVBJLmhlYWRlcnMgfHwge307XG4gICAgICAgIHRoaXMucGFyYW1zID0gdGhpcy5jb25maWcudXBsb2FkQVBJLnBhcmFtcyB8fCB7fTtcbiAgICAgICAgdGhpcy5yZXNwb25zZVR5cGUgPSB0aGlzLmNvbmZpZy51cGxvYWRBUEkucmVzcG9uc2VUeXBlIHx8ICdqc29uJztcbiAgICAgICAgdGhpcy53aXRoQ3JlZGVudGlhbHMgPSB0aGlzLmNvbmZpZy51cGxvYWRBUEkud2l0aENyZWRlbnRpYWxzIHx8IGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy5mb3JtYXRzQWxsb3dlZFRleHQgPVxuICAgICAgICB0aGlzLmZvcm1hdHNBbGxvd2VkID09PSAnKicgPyAnJyA6ICcoJyArIHRoaXMuZm9ybWF0c0FsbG93ZWQgKyAnKSc7XG4gICAgICB0aGlzLmZpbGVOYW1lSW5kZXggPSB0aGlzLmNvbmZpZy5maWxlTmFtZUluZGV4ID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZTtcbiAgICAgIHRoaXMuYXV0b1VwbG9hZCA9IHRoaXMuY29uZmlnLmF1dG9VcGxvYWQgfHwgZmFsc2U7XG4gICAgICBpZiAodGhpcy5jb25maWcucmVwbGFjZVRleHRzKSB7XG4gICAgICAgIHRoaXMucmVwbGFjZVRleHRzID0ge1xuICAgICAgICAgIC4uLnRoaXMucmVwbGFjZVRleHRzLFxuICAgICAgICAgIC4uLnRoaXMuY29uZmlnLnJlcGxhY2VUZXh0cyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNldCB3aGVuIHJlc2V0VXBsb2FkIHZhbHVlIGNoYW5nZXMgZnJvbSBmYWxzZSB0byB0cnVlLlxuICAgIGlmIChjaGFuZ2VzLnJlc2V0VXBsb2FkKSB7XG4gICAgICBpZiAoY2hhbmdlcy5yZXNldFVwbG9hZC5jdXJyZW50VmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgdGhpcy5yZXNldEZpbGVVcGxvYWQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBGdW7Dp8OjbyByZXNldGFyIGNvbXBvbmVudGUgKi9cbiAgcmVzZXRGaWxlVXBsb2FkKCkge1xuICAgIHRoaXMuYWxsb3dlZEZpbGVzID0gW107XG4gICAgdGhpcy5DYXB0aW9uID0gW107XG4gICAgdGhpcy5ub3RBbGxvd2VkRmlsZXMgPSBbXTtcbiAgICB0aGlzLnVwbG9hZE1zZyA9IGZhbHNlO1xuICAgIHRoaXMuZW5hYmxlVXBsb2FkQnRuID0gZmFsc2U7XG4gIH1cblxuICAvKiBEZXRlY3RhciBtdWRhbsOnYSAgKi9cbiAgb25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZmlsZVNlbGVjdGVkLmVtaXQoZXZlbnQpO1xuICAgIHRoaXMubm90QWxsb3dlZEZpbGVzID0gW107XG4gICAgY29uc3QgZmlsZUV4dFJlZ0V4cDogUmVnRXhwID0gLyg/OlxcLihbXi5dKykpPyQvO1xuICAgIGxldCBmaWxlTGlzdDogRmlsZUxpc3Q7XG5cbiAgICBpZiAodGhpcy5hZnRlclVwbG9hZCB8fCAhdGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy5hbGxvd2VkRmlsZXMgPSBbXTtcbiAgICAgIHRoaXMuQ2FwdGlvbiA9IFtdO1xuICAgICAgdGhpcy5hZnRlclVwbG9hZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChldmVudC50eXBlID09PSAnZHJvcCcpIHtcbiAgICAgIGZpbGVMaXN0ID0gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWxlTGlzdCA9IGV2ZW50LnRhcmdldC5maWxlcyB8fCBldmVudC5zcmNFbGVtZW50LmZpbGVzO1xuICAgIH1cblxuICAgIC8vICdmb3JFYWNoJyBkb2VzIG5vdCBleGlzdCBvbiAnZmlsZWxpc3QnIHRoYXQncyB3aHkgdGhpcyBnb29kIG9sZCAnZm9yJyBpcyB1c2VkLlxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZm9yLW9mXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWxlTGlzdC5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgX2N1cnJlbnRGaWxlRXh0OiBhbnkgPSBmaWxlRXh0UmVnRXhwLmV4ZWMoZmlsZUxpc3RbaV0ubmFtZSk7XG4gICAgICBjb25zdCBjdXJyZW50RmlsZUV4dCA9XG4gICAgICAgIHR5cGVvZiBfY3VycmVudEZpbGVFeHRbMV0gPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBfY3VycmVudEZpbGVFeHRbMV0udG9Mb3dlckNhc2UoKVxuICAgICAgICAgIDogJyc7XG4gICAgICBjb25zdCBpc0Zvcm1hdFZhbGlkID0gdGhpcy5mb3JtYXRzQWxsb3dlZC5pbmNsdWRlcygnKicpXG4gICAgICAgID8gdHJ1ZVxuICAgICAgICA6IHRoaXMuZm9ybWF0c0FsbG93ZWQuaW5jbHVkZXMoY3VycmVudEZpbGVFeHQpO1xuXG4gICAgICBjb25zdCBpc1NpemVWYWxpZCA9IGZpbGVMaXN0W2ldLnNpemUgPD0gdGhpcy5tYXhTaXplO1xuXG4gICAgICAvLyBDaGVjayB3aGV0aGVyIGN1cnJlbnQgZmlsZSBmb3JtYXQgYW5kIHNpemUgaXMgY29ycmVjdCBhcyBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZ3VyYXRpb25zLlxuICAgICAgaWYgKGlzRm9ybWF0VmFsaWQgJiYgaXNTaXplVmFsaWQpIHtcbiAgICAgICAgdGhpcy5hbGxvd2VkRmlsZXMucHVzaChmaWxlTGlzdFtpXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm5vdEFsbG93ZWRGaWxlcy5wdXNoKHtcbiAgICAgICAgICBmaWxlTmFtZTogZmlsZUxpc3RbaV0ubmFtZSxcbiAgICAgICAgICBmaWxlU2l6ZTogdGhpcy5jb252ZXJ0U2l6ZShmaWxlTGlzdFtpXS5zaXplKSxcbiAgICAgICAgICBlcnJvck1zZzogIWlzRm9ybWF0VmFsaWQgPyAnSW52YWxpZCBmb3JtYXQnIDogJ0ludmFsaWQgc2l6ZScsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHRoZXJlJ3MgYW55IGFsbG93ZWRGaWxlcy5cbiAgICBpZiAodGhpcy5hbGxvd2VkRmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5lbmFibGVVcGxvYWRCdG4gPSB0cnVlO1xuICAgICAgLy8gVXBsb2FkIHRoZSBmaWxlcyBkaXJlY3RseSBpZiB0aGVtZSBpcyBhdHRhY2ggcGluIChhcyB1cGxvYWQgYnRuIGlzIG5vdCB0aGVyZSBmb3IgdGhpcyB0aGVtZSkgb3IgYXV0b1VwbG9hZCBpcyB0cnVlLlxuICAgICAgaWYgKHRoaXMudGhlbWUgPT09ICdhdHRhY2hQaW4nIHx8IHRoaXMuYXV0b1VwbG9hZCkge1xuICAgICAgICB0aGlzLnVwbG9hZEZpbGVzKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW5hYmxlVXBsb2FkQnRuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy51cGxvYWRNc2cgPSBmYWxzZTtcbiAgICB0aGlzLnVwbG9hZFN0YXJ0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnVwbG9hZFBlcmNlbnQgPSAwO1xuICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IG51bGw7XG4gIH1cblxuICAvKiBGdW7Dp8OjbyBwYXJhIGVudmlhciBhcnF1aXZvIHBhcmEgc2Vydmlkb3IgKi9cbiAgdXBsb2FkRmlsZXMoKSB7XG4gICAgdGhpcy5wcm9ncmVzc0JhclNob3cgPSB0cnVlO1xuICAgIHRoaXMudXBsb2FkU3RhcnRlZCA9IHRydWU7XG4gICAgdGhpcy5ub3RBbGxvd2VkRmlsZXMgPSBbXTtcbiAgICBsZXQgaXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuaXNBbGxvd2VkRmlsZVNpbmdsZSA9IHRoaXMuYWxsb3dlZEZpbGVzLmxlbmd0aCA8PSAxO1xuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG5cbiAgICAvLyBBZGQgZGF0YSB0byBiZSBzZW50IGluIHRoaXMgcmVxdWVzdFxuICAgIHRoaXMuYWxsb3dlZEZpbGVzLmZvckVhY2goKGZpbGUsIGkpID0+IHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChcbiAgICAgICAgdGhpcy5DYXB0aW9uW2ldIHx8ICdmaWxlJyArICh0aGlzLmZpbGVOYW1lSW5kZXggPyBpIDogJycpLFxuICAgICAgICB0aGlzLmFsbG93ZWRGaWxlc1tpXVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHRoaXMuaHR0cFxuICAgICAgLnJlcXVlc3QodGhpcy5tZXRob2QudG9VcHBlckNhc2UoKSwgdGhpcy51cGxvYWRBUEksIHtcbiAgICAgICAgYm9keTogZm9ybURhdGEsXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuICAgICAgICBvYnNlcnZlOiAnZXZlbnRzJyxcbiAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzLFxuICAgICAgICBwYXJhbXM6IHRoaXMucGFyYW1zLFxuICAgICAgICByZXNwb25zZVR5cGU6IHRoaXMucmVzcG9uc2VUeXBlLFxuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMud2l0aENyZWRlbnRpYWxzLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgIC8vIFVwbG9hZCBQcm9ncmVzc1xuICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzKSB7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZVVwbG9hZEJ0biA9IGZhbHNlOyAvLyBidXR0b24gc2hvdWxkIGJlIGRpc2FibGVkIGlmIHByb2Nlc3MgdXBsb2FkaW5nXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RG9uZSA9IGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsO1xuICAgICAgICAgICAgdGhpcy51cGxvYWRQZXJjZW50ID0gTWF0aC5yb3VuZCgoZXZlbnQubG9hZGVkIC8gZXZlbnQudG90YWwpICogMTAwKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5zdGF0dXMgPT09IDIwMCB8fCBldmVudC5zdGF0dXMgPT09IDIwMSkge1xuICAgICAgICAgICAgICAvLyBTdWNjZXNzXG4gICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3NCYXJTaG93ID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMuZW5hYmxlVXBsb2FkQnRuID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRoaXMudXBsb2FkTXNnID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5hZnRlclVwbG9hZCA9IHRydWU7XG4gICAgICAgICAgICAgIGlmICghaXNFcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkTXNnVGV4dCA9XG4gICAgICAgICAgICAgICAgICB0aGlzLnJlcGxhY2VUZXh0cy5hZnRlclVwbG9hZE1zZ19zdWNjZXNzIHx8XG4gICAgICAgICAgICAgICAgICAnU3VjY2Vzc2Z1bGx5IFVwbG9hZGVkICEnO1xuICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkTXNnQ2xhc3MgPSAndGV4dC1zdWNjZXNzIGxlYWQnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBGYWlsdXJlXG4gICAgICAgICAgICAgIGlzRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9ycygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5BcGlSZXNwb25zZS5lbWl0KGV2ZW50KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy9jb25zb2xlLmxvZygnRXZlbnQgT3RoZXI6ICcsIGV2ZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgIC8vIEZhaWx1cmVcbiAgICAgICAgICBpc0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmhhbmRsZUVycm9ycygpO1xuICAgICAgICAgIHRoaXMuQXBpUmVzcG9uc2UuZW1pdChlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBoYW5kbGVFcnJvcnMoKSB7XG4gICAgdGhpcy5wcm9ncmVzc0JhclNob3cgPSBmYWxzZTtcbiAgICB0aGlzLmVuYWJsZVVwbG9hZEJ0biA9IGZhbHNlO1xuICAgIHRoaXMudXBsb2FkTXNnID0gdHJ1ZTtcbiAgICB0aGlzLmFmdGVyVXBsb2FkID0gdHJ1ZTtcbiAgICB0aGlzLnVwbG9hZE1zZ1RleHQgPVxuICAgICAgdGhpcy5yZXBsYWNlVGV4dHMuYWZ0ZXJVcGxvYWRNc2dfZXJyb3IgfHwgJ0Vycm9yIGluIHVwbG9hZGluZyBmaWxlcyc7XG4gICAgdGhpcy51cGxvYWRNc2dDbGFzcyA9ICd0ZXh0LWRhbmdlciBsZWFkJztcbiAgfVxuXG4gIHJlbW92ZUZpbGUoaTogYW55LCBzZl9uYTogYW55KSB7XG4gICAgaWYgKHNmX25hID09PSAnc2YnKSB7XG4gICAgICB0aGlzLmFsbG93ZWRGaWxlcy5zcGxpY2UoaSwgMSk7XG4gICAgICB0aGlzLkNhcHRpb24uc3BsaWNlKGksIDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5vdEFsbG93ZWRGaWxlcy5zcGxpY2UoaSwgMSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYWxsb3dlZEZpbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5lbmFibGVVcGxvYWRCdG4gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjb252ZXJ0U2l6ZShmaWxlU2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZmlsZVNpemUgPCAxMDI0MDAwXG4gICAgICA/IChmaWxlU2l6ZSAvIDEwMjQpLnRvRml4ZWQoMikgKyAnIEtCJ1xuICAgICAgOiAoZmlsZVNpemUgLyAxMDI0MDAwKS50b0ZpeGVkKDIpICsgJyBNQic7XG4gIH1cblxuICBhdHRhY2hwaW5PbmNsaWNrKCkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VsJyArIHRoaXMuaWQpO1xuICAgIGlmIChlbGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBlbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgZHJvcChldmVudDogYW55KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLm9uQ2hhbmdlKGV2ZW50KTtcbiAgfVxuXG4gIGFsbG93RHJvcChldmVudDogYW55KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdjb3B5JztcbiAgfVxufVxuIiwiPGxhYmVsIGZvcj1cInNlbHt7aWR9fVwiIGNsYXNzPVwid2NvLWZvcm0tdXBsb2FkXCIgKGRyb3ApPVwiZHJvcCgkZXZlbnQpXCIgKGRyYWdvdmVyKT1cImFsbG93RHJvcCgkZXZlbnQpXCI+XG4gIDxkaXYgY2xhc3M9XCJ3Y28tZm9ybS11cGxvYWRfX2luZm9cIj5cbiAgICA8c3Bhbj5BcnJhc3RlLW9zIGFxdWkgb3U8L3NwYW4+XG4gICAgPHNwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+Y2xvdWRfdXBsb2FkPC9zcGFuPlxuICAgICAgPHNwYW4+e3tyZXBsYWNlVGV4dHMuc2VsZWN0RmlsZUJ0bn19PC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxzcGFuIGNsYXNzPVwidXBsb2FkX19pbmZvXCIgKm5nSWY9XCIhYWxsb3dlZEZpbGVzLmxlbmd0aFwiID57e2Rlc2NyaXB0aW9ufX08L3NwYW4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJhbGxvd2VkRmlsZXMubGVuZ3RoXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ1cGxvYWRfX2luZm9cIiAqbmdGb3I9XCJsZXQgc2Ygb2YgYWxsb3dlZEZpbGVzO2xldCBpPWluZGV4XCI+XG4gICAgICB7e3NmLm5hbWV9fSA8c21hbGw+KHt7Y29udmVydFNpemUoc2Yuc2l6ZSl9fSk8L3NtYWxsPlxuICAgIDwvc3Bhbj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxpbnB1dCB0eXBlPVwiZmlsZVwiIGlkPVwic2Vse3tpZH19XCIgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgdGl0bGU9XCJTZWxlY3QgZmlsZVwiXG4gIG5hbWU9XCJmaWxlc1tdXCIgW2FjY2VwdF09XCJmb3JtYXRzQWxsb3dlZFwiIFthdHRyLm11bHRpcGxlXT1cIm11bHRpcGxlID8gJycgOiBudWxsXCIgLz5cbjwvbGFiZWw+Il19
@@ -35,11 +35,11 @@ export class UserAvatarComponent {
35
35
  this.userNameLetters = capitalizeLetters.toUpperCase();
36
36
  }
37
37
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UserAvatarComponent, isStandalone: true, selector: "wco-avatar", inputs: { userName: ["name", "userName"], userAvatar: ["image", "userAvatar"], size: "size", theme: "theme", solid: "solid" }, usesOnChanges: true, ngImport: i0, template: "<div\r\n [class]=\"\r\n 'wco-user-avatar wco-user-avatar__size--' + size + ' wco-user-avatar__theme--' + theme + ' ' + (solid ? 'wco-user-solid' : '') \"\r\n [title]=\"userName\" >\r\n <span>{{userNameLetters}}</span>\r\n <img *ngIf=\"userAvatar\" [src]=\"userAvatar\" [alt]=\"userName\" />\r\n</div>\r\n", styles: [".wco-user-avatar{--wco-user-avatar-bg: var(--wco-color-secondary-50);--wco-user-avatar-color: var(--wco-color-secondary-500);overflow:hidden;position:relative;border-radius:50%;background:var(--wco-user-avatar-bg);display:flex;align-items:center;justify-content:center;border:1px solid var(--wco-user-avatar-color, #576ff7);width:var(--wco-size-xy-user-photo, 48px);height:var(--wco-size-xy-user-photo, 48px)}.wco-user-avatar.wco-user-avatar__size--xs{--wco-size-xy-user-photo: 24px;--wco-size-user-photo: 11px}.wco-user-avatar.wco-user-avatar__size--sm{--wco-size-xy-user-photo: 32px;--wco-size-user-photo: 14px}.wco-user-avatar.wco-user-avatar__size--md{--wco-size-xy-user-photo: 48px;--wco-size-user-photo: 16px}.wco-user-avatar.wco-user-avatar__size--lg{--wco-size-xy-user-photo: 56px;--wco-size-user-photo: 18px}.wco-user-avatar.wco-user-avatar__size--xl{--wco-size-xy-user-photo: 90px;--wco-size-user-photo: 20px}.wco-user-avatar .wco-user-avatar__theme--primary{--wco-user-avatar-color: var(--wco-color-primary-500);--wco-user-avatar-bg: var(--wco-color-primary-50)}.wco-user-avatar .wco-user-avatar__theme--secondary{--wco-user-avatar-color: var(--wco-color-secondary-500);--wco-user-avatar-bg: var(--wco-color-secondary-50)}.wco-user-avatar .wco-user-avatar__theme--light{--wco-user-avatar-color: var(--wco-color-neutral-100);--wco-user-avatar-bg: var(--wco-color-neutral-900)}.wco-user-avatar .wco-user-avatar__theme--dark{--wco-user-avatar-color: var(--wco-color-neutral-700);--wco-user-avatar-bg: var(--wco-color-neutral-50)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--primary{--wco-user-avatar-bg: var(--wco-color-primary-500);--wco-user-avatar-color: var(--wco-color-primary-50)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--secondary{--wco-user-avatar-bg: var(--wco-color-secondary-500);--wco-user-avatar-color: var(--wco-color-secondary-50)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--light{--wco-user-avatar-bg: var(--wco-color-neutral-100);--wco-user-avatar-color: var(--wco-color-neutral-900)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--dark{--wco-user-avatar-bg: var(--wco-color-neutral-700);--wco-user-avatar-color: var(--wco-color-neutral-50)}.wco-user-avatar span,.wco-user-avatar img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:0;margin:0;display:block}.wco-user-avatar img{width:var(--wco-size-xy-user-photo);height:var(--wco-size-xy-user-photo);object-fit:cover}.wco-user-avatar span{font-family:var(--wco-font-family, \"Roboto\", sans-serif);width:var(--wco-size-xy-user-photo);text-align:center;font-weight:700;font-size:var(--wco-size-user-photo, 18px);color:var(--wco-user-avatar-color, #ffffff);letter-spacing:.4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UserAvatarComponent, isStandalone: true, selector: "wco-avatar", inputs: { userName: ["name", "userName"], userAvatar: ["image", "userAvatar"], size: "size", theme: "theme", solid: "solid" }, usesOnChanges: true, ngImport: i0, template: "<div\r\n [class]=\"\r\n 'wco-user-avatar wco-user-avatar__size--' + size + ' wco-user-avatar__theme--' + theme + ' ' + (solid ? 'wco-user-solid' : '') \"\r\n [title]=\"userName\" >\r\n <span>{{userNameLetters}}</span>\r\n <img *ngIf=\"userAvatar\" [src]=\"userAvatar\" [alt]=\"userName\" />\r\n</div>\r\n", styles: [".wco-user-avatar{--wco-user-avatar-bg: var(--wco-color-secondary-50);--wco-user-avatar-color: var(--wco-color-secondary-500);overflow:hidden;position:relative;border-radius:50%;background:var(--wco-user-avatar-bg);display:flex;align-items:center;justify-content:center;border:1px solid var(--wco-user-avatar-color, #576ff7);width:var(--wco-size-xy-user-photo, 48px);height:var(--wco-size-xy-user-photo, 48px)}.wco-user-avatar.wco-user-avatar__size--xs{--wco-size-xy-user-photo: 24px;--wco-size-user-photo: 11px}.wco-user-avatar.wco-user-avatar__size--sm{--wco-size-xy-user-photo: 32px;--wco-size-user-photo: 14px}.wco-user-avatar.wco-user-avatar__size--md{--wco-size-xy-user-photo: 48px;--wco-size-user-photo: 16px}.wco-user-avatar.wco-user-avatar__size--lg{--wco-size-xy-user-photo: 56px;--wco-size-user-photo: 18px}.wco-user-avatar.wco-user-avatar__size--xl{--wco-size-xy-user-photo: 90px;--wco-size-user-photo: 20px}.wco-user-avatar.wco-user-avatar__theme--primary{--wco-user-avatar-color: var(--wco-color-primary-500);--wco-user-avatar-bg: var(--wco-color-primary-50)}.wco-user-avatar.wco-user-avatar__theme--secondary{--wco-user-avatar-color: var(--wco-color-secondary-500);--wco-user-avatar-bg: var(--wco-color-secondary-50)}.wco-user-avatar.wco-user-avatar__theme--light{--wco-user-avatar-color: var(--wco-color-neutral-100);--wco-user-avatar-bg: var(--wco-color-neutral-900)}.wco-user-avatar.wco-user-avatar__theme--dark{--wco-user-avatar-color: var(--wco-color-neutral-700);--wco-user-avatar-bg: var(--wco-color-neutral-50)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--primary{--wco-user-avatar-bg: var(--wco-color-primary-500);--wco-user-avatar-color: var(--wco-color-primary-50)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--secondary{--wco-user-avatar-bg: var(--wco-color-secondary-500);--wco-user-avatar-color: var(--wco-color-secondary-50)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--light{--wco-user-avatar-bg: var(--wco-color-neutral-100);--wco-user-avatar-color: var(--wco-color-neutral-900)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--dark{--wco-user-avatar-bg: var(--wco-color-neutral-700);--wco-user-avatar-color: var(--wco-color-neutral-50)}.wco-user-avatar span,.wco-user-avatar img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:0;margin:0;display:block}.wco-user-avatar img{width:var(--wco-size-xy-user-photo);height:var(--wco-size-xy-user-photo);object-fit:cover}.wco-user-avatar span{font-family:var(--wco-font-family, \"Roboto\", sans-serif);width:var(--wco-size-xy-user-photo);text-align:center;font-weight:700;font-size:var(--wco-size-user-photo, 18px);color:var(--wco-user-avatar-color, #ffffff);letter-spacing:.4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
39
39
  }
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserAvatarComponent, decorators: [{
41
41
  type: Component,
42
- args: [{ selector: 'wco-avatar', standalone: true, encapsulation: ViewEncapsulation.None, imports: [CommonModule], template: "<div\r\n [class]=\"\r\n 'wco-user-avatar wco-user-avatar__size--' + size + ' wco-user-avatar__theme--' + theme + ' ' + (solid ? 'wco-user-solid' : '') \"\r\n [title]=\"userName\" >\r\n <span>{{userNameLetters}}</span>\r\n <img *ngIf=\"userAvatar\" [src]=\"userAvatar\" [alt]=\"userName\" />\r\n</div>\r\n", styles: [".wco-user-avatar{--wco-user-avatar-bg: var(--wco-color-secondary-50);--wco-user-avatar-color: var(--wco-color-secondary-500);overflow:hidden;position:relative;border-radius:50%;background:var(--wco-user-avatar-bg);display:flex;align-items:center;justify-content:center;border:1px solid var(--wco-user-avatar-color, #576ff7);width:var(--wco-size-xy-user-photo, 48px);height:var(--wco-size-xy-user-photo, 48px)}.wco-user-avatar.wco-user-avatar__size--xs{--wco-size-xy-user-photo: 24px;--wco-size-user-photo: 11px}.wco-user-avatar.wco-user-avatar__size--sm{--wco-size-xy-user-photo: 32px;--wco-size-user-photo: 14px}.wco-user-avatar.wco-user-avatar__size--md{--wco-size-xy-user-photo: 48px;--wco-size-user-photo: 16px}.wco-user-avatar.wco-user-avatar__size--lg{--wco-size-xy-user-photo: 56px;--wco-size-user-photo: 18px}.wco-user-avatar.wco-user-avatar__size--xl{--wco-size-xy-user-photo: 90px;--wco-size-user-photo: 20px}.wco-user-avatar .wco-user-avatar__theme--primary{--wco-user-avatar-color: var(--wco-color-primary-500);--wco-user-avatar-bg: var(--wco-color-primary-50)}.wco-user-avatar .wco-user-avatar__theme--secondary{--wco-user-avatar-color: var(--wco-color-secondary-500);--wco-user-avatar-bg: var(--wco-color-secondary-50)}.wco-user-avatar .wco-user-avatar__theme--light{--wco-user-avatar-color: var(--wco-color-neutral-100);--wco-user-avatar-bg: var(--wco-color-neutral-900)}.wco-user-avatar .wco-user-avatar__theme--dark{--wco-user-avatar-color: var(--wco-color-neutral-700);--wco-user-avatar-bg: var(--wco-color-neutral-50)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--primary{--wco-user-avatar-bg: var(--wco-color-primary-500);--wco-user-avatar-color: var(--wco-color-primary-50)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--secondary{--wco-user-avatar-bg: var(--wco-color-secondary-500);--wco-user-avatar-color: var(--wco-color-secondary-50)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--light{--wco-user-avatar-bg: var(--wco-color-neutral-100);--wco-user-avatar-color: var(--wco-color-neutral-900)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--dark{--wco-user-avatar-bg: var(--wco-color-neutral-700);--wco-user-avatar-color: var(--wco-color-neutral-50)}.wco-user-avatar span,.wco-user-avatar img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:0;margin:0;display:block}.wco-user-avatar img{width:var(--wco-size-xy-user-photo);height:var(--wco-size-xy-user-photo);object-fit:cover}.wco-user-avatar span{font-family:var(--wco-font-family, \"Roboto\", sans-serif);width:var(--wco-size-xy-user-photo);text-align:center;font-weight:700;font-size:var(--wco-size-user-photo, 18px);color:var(--wco-user-avatar-color, #ffffff);letter-spacing:.4px}\n"] }]
42
+ args: [{ selector: 'wco-avatar', standalone: true, encapsulation: ViewEncapsulation.None, imports: [CommonModule], template: "<div\r\n [class]=\"\r\n 'wco-user-avatar wco-user-avatar__size--' + size + ' wco-user-avatar__theme--' + theme + ' ' + (solid ? 'wco-user-solid' : '') \"\r\n [title]=\"userName\" >\r\n <span>{{userNameLetters}}</span>\r\n <img *ngIf=\"userAvatar\" [src]=\"userAvatar\" [alt]=\"userName\" />\r\n</div>\r\n", styles: [".wco-user-avatar{--wco-user-avatar-bg: var(--wco-color-secondary-50);--wco-user-avatar-color: var(--wco-color-secondary-500);overflow:hidden;position:relative;border-radius:50%;background:var(--wco-user-avatar-bg);display:flex;align-items:center;justify-content:center;border:1px solid var(--wco-user-avatar-color, #576ff7);width:var(--wco-size-xy-user-photo, 48px);height:var(--wco-size-xy-user-photo, 48px)}.wco-user-avatar.wco-user-avatar__size--xs{--wco-size-xy-user-photo: 24px;--wco-size-user-photo: 11px}.wco-user-avatar.wco-user-avatar__size--sm{--wco-size-xy-user-photo: 32px;--wco-size-user-photo: 14px}.wco-user-avatar.wco-user-avatar__size--md{--wco-size-xy-user-photo: 48px;--wco-size-user-photo: 16px}.wco-user-avatar.wco-user-avatar__size--lg{--wco-size-xy-user-photo: 56px;--wco-size-user-photo: 18px}.wco-user-avatar.wco-user-avatar__size--xl{--wco-size-xy-user-photo: 90px;--wco-size-user-photo: 20px}.wco-user-avatar.wco-user-avatar__theme--primary{--wco-user-avatar-color: var(--wco-color-primary-500);--wco-user-avatar-bg: var(--wco-color-primary-50)}.wco-user-avatar.wco-user-avatar__theme--secondary{--wco-user-avatar-color: var(--wco-color-secondary-500);--wco-user-avatar-bg: var(--wco-color-secondary-50)}.wco-user-avatar.wco-user-avatar__theme--light{--wco-user-avatar-color: var(--wco-color-neutral-100);--wco-user-avatar-bg: var(--wco-color-neutral-900)}.wco-user-avatar.wco-user-avatar__theme--dark{--wco-user-avatar-color: var(--wco-color-neutral-700);--wco-user-avatar-bg: var(--wco-color-neutral-50)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--primary{--wco-user-avatar-bg: var(--wco-color-primary-500);--wco-user-avatar-color: var(--wco-color-primary-50)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--secondary{--wco-user-avatar-bg: var(--wco-color-secondary-500);--wco-user-avatar-color: var(--wco-color-secondary-50)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--light{--wco-user-avatar-bg: var(--wco-color-neutral-100);--wco-user-avatar-color: var(--wco-color-neutral-900)}.wco-user-avatar.wco-user-solid.wco-user-avatar__theme--dark{--wco-user-avatar-bg: var(--wco-color-neutral-700);--wco-user-avatar-color: var(--wco-color-neutral-50)}.wco-user-avatar span,.wco-user-avatar img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:0;margin:0;display:block}.wco-user-avatar img{width:var(--wco-size-xy-user-photo);height:var(--wco-size-xy-user-photo);object-fit:cover}.wco-user-avatar span{font-family:var(--wco-font-family, \"Roboto\", sans-serif);width:var(--wco-size-xy-user-photo);text-align:center;font-weight:700;font-size:var(--wco-size-user-photo, 18px);color:var(--wco-user-avatar-color, #ffffff);letter-spacing:.4px}\n"] }]
43
43
  }], ctorParameters: function () { return []; }, propDecorators: { userName: [{
44
44
  type: Input,
45
45
  args: ['name']
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
56
56
  type: Input,
57
57
  args: ['solid']
58
58
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hdmF0YXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvbmVudHMvc3JjL2xpYi91c2VyLWF2YXRhci91c2VyLWF2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBVS9FLE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsc0JBQXNCO0lBQ1AsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUNyQyw2QkFBNkI7SUFDYixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hDLDZCQUE2QjtJQUNkLElBQUksR0FBcUMsSUFBSSxDQUFDO0lBQzdELDRDQUE0QztJQUM1QixLQUFLLEdBQStDLFdBQVcsQ0FBQztJQUVoRixxQ0FBcUM7SUFDckIsS0FBSyxHQUFZLEtBQUssQ0FBQztJQUV2Qzs7TUFFRTtJQUNLLGVBQWUsR0FBVyxFQUFFLENBQUM7SUFFcEMsZ0JBQWdCLENBQUM7SUFHakIsc0NBQXNDO0lBQ3RDLFdBQVc7UUFDVCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsK0JBQStCO0lBQ3ZCLG1CQUFtQjtRQUN6QixJQUFJLGlCQUFpQixHQUFXLEVBQUUsQ0FBQztRQUNuQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUc7WUFDbEIsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsSUFBSSxZQUFZLEdBQWEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEQsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDM0IsaUJBQWlCLElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3JFO1NBQ0Y7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3pELENBQUM7d0dBdENVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDBOQ1hoQyx5VEFPQSw2dEZEQ1ksWUFBWTs7NEZBR1gsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLGlCQUVELGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxZQUFZLENBQUM7MEVBTVIsUUFBUTtzQkFBdEIsS0FBSzt1QkFBQyxNQUFNO2dCQUVHLFVBQVU7c0JBQXpCLEtBQUs7dUJBQUMsT0FBTztnQkFFQyxJQUFJO3NCQUFsQixLQUFLO3VCQUFDLE1BQU07Z0JBRUcsS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUdFLEtBQUs7c0JBQXBCLEtBQUs7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd2NvLWF2YXRhcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXNlci1hdmF0YXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlckF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIC8qKiBOb21lIGRvIHVzdcOhcmlvICovXHJcbiAgQElucHV0KCduYW1lJykgdXNlck5hbWU6IHN0cmluZyA9IFwiXCI7XHJcbiAgLyoqIFVybCBkYSBpbWFnZW0gb3BjaW9uYWwgKi9cclxuICBASW5wdXQoJ2ltYWdlJykgdXNlckF2YXRhcjogc3RyaW5nID0gXCJcIjtcclxuICAvKiogVGFtYW5obyBkbyBjb21wb25lbnRlICAqL1xyXG4gIEBJbnB1dCgnc2l6ZScpIHNpemU6ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnID0gJ21kJztcclxuICAvKiogVGhlbWUgbXVkYW7Dp2EgZGUgY29yZXMgZG8gY29tcG9uZW50ZSAgKi9cclxuICBASW5wdXQoJ3RoZW1lJykgdGhlbWU6ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2xpZ2h0JyB8ICdkYXJrJyA9ICdzZWNvbmRhcnknO1xyXG5cclxuICAvKiogc29saWQgdGlwbyBjb20gYmcgcHJlZG9taW5hbnQgICovXHJcbiAgQElucHV0KCdzb2xpZCcpIHNvbGlkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICogQGlnbm9yZVxyXG4gICovXHJcbiAgcHVibGljIHVzZXJOYW1lTGV0dGVyczogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcblxyXG4gIC8qKiBNdWRhbsOnYSBkZSBwYXLDom1ldHJvcyBkaW7Dom1pY29zICovXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLl9wcmVwYXJlTmFtZUxldHRlcnMoKTtcclxuICB9XHJcblxyXG4gIC8qKiBSZXRvcm5lIG8gbm9tZSBhYnJldmlhZG8gKi9cclxuICBwcml2YXRlIF9wcmVwYXJlTmFtZUxldHRlcnMoKTogdm9pZCB7XHJcbiAgICBsZXQgY2FwaXRhbGl6ZUxldHRlcnM6IHN0cmluZyA9IFwiXCI7XHJcbiAgICBpZiggdGhpcy51c2VyTmFtZSApIHtcclxuICAgICAgY2FwaXRhbGl6ZUxldHRlcnMgPSB0aGlzLnVzZXJOYW1lLmNoYXJBdCgwKTtcclxuICAgICAgbGV0IF9hcnJVc2VyTmFtZTogc3RyaW5nW10gPSB0aGlzLnVzZXJOYW1lLnNwbGl0KCcgJyk7XHJcbiAgICAgIGlmIChfYXJyVXNlck5hbWUubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIGNhcGl0YWxpemVMZXR0ZXJzICs9IF9hcnJVc2VyTmFtZVtfYXJyVXNlck5hbWUubGVuZ3RoIC0xXS5jaGFyQXQoMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMudXNlck5hbWVMZXR0ZXJzID0gY2FwaXRhbGl6ZUxldHRlcnMudG9VcHBlckNhc2UoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXZcclxuICBbY2xhc3NdPVwiXHJcbiAgICAnd2NvLXVzZXItYXZhdGFyIHdjby11c2VyLWF2YXRhcl9fc2l6ZS0tJyArIHNpemUgKyAnIHdjby11c2VyLWF2YXRhcl9fdGhlbWUtLScgKyB0aGVtZSArICcgJyArIChzb2xpZCA/ICd3Y28tdXNlci1zb2xpZCcgOiAnJykgXCJcclxuICBbdGl0bGVdPVwidXNlck5hbWVcIiA+XHJcbiAgPHNwYW4+e3t1c2VyTmFtZUxldHRlcnN9fTwvc3Bhbj5cclxuICA8aW1nICpuZ0lmPVwidXNlckF2YXRhclwiIFtzcmNdPVwidXNlckF2YXRhclwiIFthbHRdPVwidXNlck5hbWVcIiAvPlxyXG48L2Rpdj5cclxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hdmF0YXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvbmVudHMvc3JjL2xpYi91c2VyLWF2YXRhci91c2VyLWF2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBVS9FLE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsc0JBQXNCO0lBQ1AsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUNyQyw2QkFBNkI7SUFDYixVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hDLDZCQUE2QjtJQUNkLElBQUksR0FBcUMsSUFBSSxDQUFDO0lBQzdELDRDQUE0QztJQUM1QixLQUFLLEdBQStDLFdBQVcsQ0FBQztJQUVoRixxQ0FBcUM7SUFDckIsS0FBSyxHQUFZLEtBQUssQ0FBQztJQUV2Qzs7TUFFRTtJQUNLLGVBQWUsR0FBVyxFQUFFLENBQUM7SUFFcEMsZ0JBQWdCLENBQUM7SUFHakIsc0NBQXNDO0lBQ3RDLFdBQVc7UUFDVCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsK0JBQStCO0lBQ3ZCLG1CQUFtQjtRQUN6QixJQUFJLGlCQUFpQixHQUFXLEVBQUUsQ0FBQztRQUNuQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUc7WUFDbEIsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsSUFBSSxZQUFZLEdBQWEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEQsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDM0IsaUJBQWlCLElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3JFO1NBQ0Y7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3pELENBQUM7d0dBdENVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDBOQ1hoQyx5VEFPQSx5dEZEQ1ksWUFBWTs7NEZBR1gsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLGlCQUVELGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxZQUFZLENBQUM7MEVBTVIsUUFBUTtzQkFBdEIsS0FBSzt1QkFBQyxNQUFNO2dCQUVHLFVBQVU7c0JBQXpCLEtBQUs7dUJBQUMsT0FBTztnQkFFQyxJQUFJO3NCQUFsQixLQUFLO3VCQUFDLE1BQU07Z0JBRUcsS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUdFLEtBQUs7c0JBQXBCLEtBQUs7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd2NvLWF2YXRhcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXNlci1hdmF0YXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlckF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIC8qKiBOb21lIGRvIHVzdcOhcmlvICovXHJcbiAgQElucHV0KCduYW1lJykgdXNlck5hbWU6IHN0cmluZyA9IFwiXCI7XHJcbiAgLyoqIFVybCBkYSBpbWFnZW0gb3BjaW9uYWwgKi9cclxuICBASW5wdXQoJ2ltYWdlJykgdXNlckF2YXRhcjogc3RyaW5nID0gXCJcIjtcclxuICAvKiogVGFtYW5obyBkbyBjb21wb25lbnRlICAqL1xyXG4gIEBJbnB1dCgnc2l6ZScpIHNpemU6ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnID0gJ21kJztcclxuICAvKiogVGhlbWUgbXVkYW7Dp2EgZGUgY29yZXMgZG8gY29tcG9uZW50ZSAgKi9cclxuICBASW5wdXQoJ3RoZW1lJykgdGhlbWU6ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2xpZ2h0JyB8ICdkYXJrJyA9ICdzZWNvbmRhcnknO1xyXG5cclxuICAvKiogc29saWQgdGlwbyBjb20gYmcgcHJlZG9taW5hbnQgICovXHJcbiAgQElucHV0KCdzb2xpZCcpIHNvbGlkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICogQGlnbm9yZVxyXG4gICovXHJcbiAgcHVibGljIHVzZXJOYW1lTGV0dGVyczogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcblxyXG4gIC8qKiBNdWRhbsOnYSBkZSBwYXLDom1ldHJvcyBkaW7Dom1pY29zICovXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLl9wcmVwYXJlTmFtZUxldHRlcnMoKTtcclxuICB9XHJcblxyXG4gIC8qKiBSZXRvcm5lIG8gbm9tZSBhYnJldmlhZG8gKi9cclxuICBwcml2YXRlIF9wcmVwYXJlTmFtZUxldHRlcnMoKTogdm9pZCB7XHJcbiAgICBsZXQgY2FwaXRhbGl6ZUxldHRlcnM6IHN0cmluZyA9IFwiXCI7XHJcbiAgICBpZiggdGhpcy51c2VyTmFtZSApIHtcclxuICAgICAgY2FwaXRhbGl6ZUxldHRlcnMgPSB0aGlzLnVzZXJOYW1lLmNoYXJBdCgwKTtcclxuICAgICAgbGV0IF9hcnJVc2VyTmFtZTogc3RyaW5nW10gPSB0aGlzLnVzZXJOYW1lLnNwbGl0KCcgJyk7XHJcbiAgICAgIGlmIChfYXJyVXNlck5hbWUubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIGNhcGl0YWxpemVMZXR0ZXJzICs9IF9hcnJVc2VyTmFtZVtfYXJyVXNlck5hbWUubGVuZ3RoIC0xXS5jaGFyQXQoMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMudXNlck5hbWVMZXR0ZXJzID0gY2FwaXRhbGl6ZUxldHRlcnMudG9VcHBlckNhc2UoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXZcclxuICBbY2xhc3NdPVwiXHJcbiAgICAnd2NvLXVzZXItYXZhdGFyIHdjby11c2VyLWF2YXRhcl9fc2l6ZS0tJyArIHNpemUgKyAnIHdjby11c2VyLWF2YXRhcl9fdGhlbWUtLScgKyB0aGVtZSArICcgJyArIChzb2xpZCA/ICd3Y28tdXNlci1zb2xpZCcgOiAnJykgXCJcclxuICBbdGl0bGVdPVwidXNlck5hbWVcIiA+XHJcbiAgPHNwYW4+e3t1c2VyTmFtZUxldHRlcnN9fTwvc3Bhbj5cclxuICA8aW1nICpuZ0lmPVwidXNlckF2YXRhclwiIFtzcmNdPVwidXNlckF2YXRhclwiIFthbHRdPVwidXNlck5hbWVcIiAvPlxyXG48L2Rpdj5cclxuIl19