@evotor-dev/ui-kit 8.0.0-beta.14 → 8.0.0-beta.3
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.
- package/esm2022/lib/common/collection/evo-collection-fabric.mjs +1 -1
- package/esm2022/lib/common/evo-base-control.mjs +5 -5
- package/esm2022/lib/common/form-helper/form-helper.mjs +1 -1
- package/esm2022/lib/components/evo-accordion/evo-accordion-content/evo-accordion-content.component.mjs +6 -6
- package/esm2022/lib/components/evo-accordion/evo-accordion-panel/evo-accordion-panel.component.mjs +4 -4
- package/esm2022/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.mjs +5 -5
- package/esm2022/lib/components/evo-accordion/evo-accordion.component.mjs +5 -5
- package/esm2022/lib/components/evo-accordion/evo-accordion.module.mjs +4 -4
- package/esm2022/lib/components/evo-alert/evo-alert.component.mjs +79 -0
- package/esm2022/lib/components/evo-alert/evo-alert.module.mjs +27 -0
- package/esm2022/lib/components/evo-alert/index.mjs +2 -0
- package/esm2022/lib/components/evo-alert/public-api.mjs +3 -0
- package/esm2022/lib/components/evo-autocomplete/components/evo-autocomplete.component.mjs +6 -6
- package/esm2022/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.mjs +5 -5
- package/esm2022/lib/components/evo-autocomplete/evo-autocomplete.module.mjs +4 -4
- package/esm2022/lib/components/evo-autocomplete/models/DaDataParty.mjs +1 -1
- package/esm2022/lib/components/evo-badge/evo-badge.component.mjs +4 -4
- package/esm2022/lib/components/evo-badge/evo-badge.module.mjs +4 -4
- package/esm2022/lib/components/evo-banner/evo-banner.component.mjs +109 -0
- package/esm2022/lib/components/evo-banner/evo-banner.module.mjs +23 -0
- package/esm2022/lib/components/evo-banner/index.mjs +2 -0
- package/esm2022/lib/components/evo-banner/public-api.mjs +3 -0
- package/esm2022/lib/components/evo-button/components/evo-button/evo-button.component.mjs +5 -5
- package/esm2022/lib/components/evo-button/components/evo-button-old/evo-button-old.component.mjs +91 -0
- package/esm2022/lib/components/evo-button/evo-button.module.mjs +8 -7
- package/esm2022/lib/components/evo-button/public-api.mjs +2 -1
- package/esm2022/lib/components/evo-checkbox/evo-checkbox.component.mjs +7 -7
- package/esm2022/lib/components/evo-checkbox/evo-checkbox.module.mjs +4 -4
- package/esm2022/lib/components/evo-chip/evo-chip.component.mjs +4 -4
- package/esm2022/lib/components/evo-chip/evo-chip.module.mjs +4 -4
- package/esm2022/lib/components/evo-control-error/evo-control-error.component.mjs +4 -4
- package/esm2022/lib/components/evo-control-error/evo-control-error.module.mjs +4 -4
- package/esm2022/lib/components/evo-control-label/evo-control-label.component.mjs +3 -3
- package/esm2022/lib/components/evo-control-label/evo-control-label.module.mjs +4 -4
- package/esm2022/lib/components/evo-counter/evo-counter.component.mjs +5 -5
- package/esm2022/lib/components/evo-counter/evo-counter.module.mjs +4 -4
- package/esm2022/lib/components/evo-datepicker/evo-datepicker.component.mjs +7 -7
- package/esm2022/lib/components/evo-datepicker/evo-datepicker.module.mjs +4 -4
- package/esm2022/lib/components/evo-dropdown/evo-dropdown-origin.directive.mjs +5 -5
- package/esm2022/lib/components/evo-dropdown/evo-dropdown.component.mjs +5 -5
- package/esm2022/lib/components/evo-dropdown/evo-dropdown.module.mjs +4 -4
- package/esm2022/lib/components/evo-icon/evo-icon.component.mjs +5 -5
- package/esm2022/lib/components/evo-icon/evo-icon.module.mjs +4 -4
- package/esm2022/lib/components/evo-icon-button/evo-icon-button.component.mjs +24 -8
- package/esm2022/lib/components/evo-icon-button/evo-icon-button.module.mjs +4 -4
- package/esm2022/lib/components/evo-icon-button/types/evo-icon-button-theme.mjs +2 -0
- package/esm2022/lib/components/evo-icon-number/components/evo-icon-number/evo-icon-number.component.mjs +5 -5
- package/esm2022/lib/components/evo-icon-number/evo-icon-number.module.mjs +4 -4
- package/esm2022/lib/components/evo-input/evo-input-icon/evo-input-icon.directive.mjs +3 -3
- package/esm2022/lib/components/evo-input/evo-input.component.mjs +6 -6
- package/esm2022/lib/components/evo-input/evo-input.module.mjs +4 -4
- package/esm2022/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.mjs +7 -7
- package/esm2022/lib/components/evo-input-contenteditable/evo-input-contenteditable.module.mjs +4 -4
- package/esm2022/lib/components/evo-input-contenteditable/utils/clear-multiline.mjs +1 -1
- package/esm2022/lib/components/evo-loader/evo-circular-loader.component.mjs +3 -3
- package/esm2022/lib/components/evo-loader/evo-loader.component.mjs +27 -0
- package/esm2022/lib/components/evo-loader/evo-loader.module.mjs +13 -7
- package/esm2022/lib/components/evo-loader/public-api.mjs +2 -1
- package/esm2022/lib/components/evo-modal/evo-modal.component.mjs +5 -5
- package/esm2022/lib/components/evo-modal/evo-modal.module.mjs +4 -4
- package/esm2022/lib/components/evo-modal/evo-modal.service.mjs +3 -3
- package/esm2022/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.mjs +4 -4
- package/esm2022/lib/components/evo-navbar/evo-navbar.component.mjs +6 -6
- package/esm2022/lib/components/evo-navbar/evo-navbar.module.mjs +4 -4
- package/esm2022/lib/components/evo-navigation-button/evo-navigation-button.component.mjs +4 -4
- package/esm2022/lib/components/evo-navigation-button/evo-navigation-button.module.mjs +4 -4
- package/esm2022/lib/components/evo-note/evo-note.component.mjs +4 -4
- package/esm2022/lib/components/evo-note/evo-note.module.mjs +4 -4
- package/esm2022/lib/components/evo-paginator/evo-paginator.component.mjs +4 -4
- package/esm2022/lib/components/evo-paginator/evo-paginator.module.mjs +4 -4
- package/esm2022/lib/components/evo-plus-minus/evo-plus-minus.component.mjs +26 -0
- package/esm2022/lib/components/evo-plus-minus/evo-plus-minus.module.mjs +20 -0
- package/esm2022/lib/components/evo-plus-minus/index.mjs +2 -0
- package/esm2022/lib/components/evo-plus-minus/public-api.mjs +3 -0
- package/esm2022/lib/components/evo-popover/evo-popover.component.mjs +5 -5
- package/esm2022/lib/components/evo-popover/evo-popover.module.mjs +4 -4
- package/esm2022/lib/components/evo-portal/evo-portal-outlet.directive.mjs +4 -4
- package/esm2022/lib/components/evo-portal/evo-portal.module.mjs +4 -4
- package/esm2022/lib/components/evo-portal/evo-portal.service.mjs +5 -5
- package/esm2022/lib/components/evo-radio/evo-radio.component.mjs +3 -3
- package/esm2022/lib/components/evo-radio/evo-radio.module.mjs +4 -4
- package/esm2022/lib/components/evo-radio-group/evo-radio-group.component.mjs +123 -0
- package/esm2022/lib/components/evo-radio-group/evo-radio-group.module.mjs +32 -0
- package/esm2022/lib/components/evo-radio-group/index.mjs +2 -0
- package/esm2022/lib/components/evo-radio-group/public-api.mjs +3 -0
- package/esm2022/lib/components/evo-radio-group/typings/options.mjs +2 -0
- package/esm2022/lib/components/evo-radioshape/components/evo-radioshape.component.mjs +3 -3
- package/esm2022/lib/components/evo-radioshape/evo-radioshape.module.mjs +4 -4
- package/esm2022/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.mjs +21 -0
- package/esm2022/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.mjs +77 -0
- package/esm2022/lib/components/evo-segmented-bar/evo-segmented-bar.module.mjs +24 -0
- package/esm2022/lib/components/evo-segmented-bar/index.mjs +2 -0
- package/esm2022/lib/components/evo-segmented-bar/public-api.mjs +4 -0
- package/esm2022/lib/components/evo-select/evo-select.component.mjs +115 -0
- package/esm2022/lib/components/evo-select/evo-select.module.mjs +32 -0
- package/esm2022/lib/components/evo-select/index.mjs +2 -0
- package/esm2022/lib/components/evo-select/public-api.mjs +3 -0
- package/esm2022/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.mjs +6 -6
- package/esm2022/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.mjs +3 -3
- package/esm2022/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.mjs +6 -6
- package/esm2022/lib/components/evo-sidebar/evo-sidebar.component.mjs +5 -5
- package/esm2022/lib/components/evo-sidebar/evo-sidebar.module.mjs +4 -4
- package/esm2022/lib/components/evo-sidebar/evo-sidebar.service.mjs +6 -6
- package/esm2022/lib/components/evo-stepper/evo-stepper-events.mjs +3 -3
- package/esm2022/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.mjs +6 -6
- package/esm2022/lib/components/evo-stepper/evo-stepper.component.mjs +5 -5
- package/esm2022/lib/components/evo-stepper/evo-stepper.module.mjs +4 -4
- package/esm2022/lib/components/evo-submenu/evo-submenu.component.mjs +159 -0
- package/esm2022/lib/components/evo-submenu/evo-submenu.module.mjs +26 -0
- package/esm2022/lib/components/evo-submenu/index.mjs +2 -0
- package/esm2022/lib/components/evo-submenu/public-api.mjs +3 -0
- package/esm2022/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.mjs +11 -0
- package/esm2022/lib/components/evo-switcher/evo-switcher.component.mjs +32 -0
- package/esm2022/lib/components/evo-switcher/evo-switcher.module.mjs +25 -0
- package/esm2022/lib/components/evo-switcher/index.mjs +2 -0
- package/esm2022/lib/components/evo-switcher/public-api.mjs +4 -0
- package/esm2022/lib/components/evo-table/evo-table/evo-table.component.mjs +4 -4
- package/esm2022/lib/components/evo-table/evo-table-column/evo-table-column.component.mjs +5 -5
- package/esm2022/lib/components/evo-table/evo-table.module.mjs +4 -4
- package/esm2022/lib/components/evo-tabs/evo-tab/evo-tab.component.mjs +6 -6
- package/esm2022/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.mjs +5 -5
- package/esm2022/lib/components/evo-tabs/evo-tab-state.collection.mjs +1 -1
- package/esm2022/lib/components/evo-tabs/evo-tabs-size.service.mjs +5 -5
- package/esm2022/lib/components/evo-tabs/evo-tabs.component.mjs +5 -5
- package/esm2022/lib/components/evo-tabs/evo-tabs.module.mjs +4 -4
- package/esm2022/lib/components/evo-tabs/evo-tabs.service.mjs +4 -4
- package/esm2022/lib/components/evo-textarea/evo-textarea.component.mjs +4 -4
- package/esm2022/lib/components/evo-textarea/evo-textarea.module.mjs +4 -4
- package/esm2022/lib/components/evo-toast/evo-toast.component.mjs +5 -5
- package/esm2022/lib/components/evo-toast/evo-toast.module.mjs +4 -4
- package/esm2022/lib/components/evo-toast/evo-toast.service.mjs +5 -5
- package/esm2022/lib/components/evo-toggle/evo-toggle.component.mjs +5 -5
- package/esm2022/lib/components/evo-toggle/evo-toggle.module.mjs +4 -4
- package/esm2022/lib/components/evo-upload/evo-upload.component.mjs +8 -8
- package/esm2022/lib/components/evo-upload/evo-upload.module.mjs +13 -17
- package/esm2022/lib/directives/evo-click-outside.directive.mjs +5 -5
- package/esm2022/lib/directives/evo-is-expanded.directive.mjs +6 -6
- package/esm2022/lib/directives/evo-let/evo-let.directive.mjs +6 -6
- package/esm2022/lib/directives/evo-ui-class.directive.mjs +5 -5
- package/esm2022/lib/evo-ui-kit.module.mjs +4 -4
- package/esm2022/lib/pipes/declination.pipe.mjs +4 -4
- package/esm2022/lib/pipes/evo-pipes.module.mjs +4 -4
- package/esm2022/lib/pipes/safe-html.pipe.mjs +4 -4
- package/esm2022/lib/services/evo-expanded.service.mjs +5 -5
- package/esm2022/lib/services/window.service.mjs +5 -5
- package/esm2022/public_api.mjs +9 -1
- package/fesm2022/evotor-dev-ui-kit.mjs +1441 -457
- package/fesm2022/evotor-dev-ui-kit.mjs.map +1 -1
- package/lib/components/evo-alert/evo-alert.component.d.ts +38 -0
- package/lib/components/evo-alert/evo-alert.module.d.ts +9 -0
- package/lib/components/evo-alert/index.d.ts +1 -0
- package/lib/components/evo-alert/public-api.d.ts +2 -0
- package/lib/components/evo-banner/evo-banner.component.d.ts +46 -0
- package/lib/components/evo-banner/evo-banner.module.d.ts +9 -0
- package/lib/components/evo-banner/index.d.ts +1 -0
- package/lib/components/evo-banner/public-api.d.ts +2 -0
- package/lib/components/evo-button/components/evo-button-old/evo-button-old.component.d.ts +39 -0
- package/lib/components/evo-button/evo-button.module.d.ts +5 -4
- package/lib/components/evo-button/public-api.d.ts +1 -0
- package/lib/components/evo-chip/evo-chip.component.d.ts +2 -2
- package/lib/components/evo-icon-button/evo-icon-button.component.d.ts +13 -3
- package/lib/components/evo-icon-button/types/evo-icon-button-theme.d.ts +1 -0
- package/lib/components/evo-loader/evo-loader.component.d.ts +14 -0
- package/lib/components/evo-loader/evo-loader.module.d.ts +5 -4
- package/lib/components/evo-loader/public-api.d.ts +1 -0
- package/lib/components/evo-plus-minus/evo-plus-minus.component.d.ts +13 -0
- package/lib/components/evo-plus-minus/evo-plus-minus.module.d.ts +8 -0
- package/lib/components/evo-plus-minus/index.d.ts +1 -0
- package/lib/components/evo-plus-minus/public-api.d.ts +2 -0
- package/lib/components/evo-radio-group/evo-radio-group.component.d.ts +56 -0
- package/lib/components/evo-radio-group/evo-radio-group.module.d.ts +11 -0
- package/lib/components/evo-radio-group/index.d.ts +1 -0
- package/lib/components/evo-radio-group/public-api.d.ts +2 -0
- package/lib/components/evo-radio-group/typings/options.d.ts +6 -0
- package/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.d.ts +10 -0
- package/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.d.ts +22 -0
- package/lib/components/evo-segmented-bar/evo-segmented-bar.module.d.ts +11 -0
- package/lib/components/evo-segmented-bar/index.d.ts +1 -0
- package/lib/components/evo-segmented-bar/public-api.d.ts +3 -0
- package/lib/components/evo-select/evo-select.component.d.ts +37 -0
- package/lib/components/evo-select/evo-select.module.d.ts +11 -0
- package/lib/components/evo-select/index.d.ts +1 -0
- package/lib/components/evo-select/public-api.d.ts +2 -0
- package/lib/components/evo-submenu/evo-submenu.component.d.ts +49 -0
- package/lib/components/evo-submenu/evo-submenu.module.d.ts +11 -0
- package/lib/components/evo-submenu/index.d.ts +1 -0
- package/lib/components/evo-submenu/public-api.d.ts +2 -0
- package/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.d.ts +9 -0
- package/lib/components/evo-switcher/evo-switcher.component.d.ts +14 -0
- package/lib/components/evo-switcher/evo-switcher.module.d.ts +10 -0
- package/lib/components/evo-switcher/index.d.ts +1 -0
- package/lib/components/evo-switcher/public-api.d.ts +3 -0
- package/lib/components/evo-upload/evo-upload.module.d.ts +2 -2
- package/package.json +12 -12
- package/public_api.d.ts +8 -0
- package/styles/components/evo-alert.scss +64 -0
- package/styles/components/evo-form.scss +2 -2
- package/styles/components/evo-title.scss +4 -4
- package/styles/main.scss +1 -0
- package/styles/mixins/_evo-input-mixins.scss +6 -0
- package/styles/mixins.scss +42 -0
- package/styles/variables.scss +8 -0
- package/esm2022/lib/components/evo-icon-button/types/evo-icon-button-color.mjs +0 -2
- package/esm2022/lib/components/evo-icon-button/types/index.mjs +0 -3
- package/lib/components/evo-icon-button/types/evo-icon-button-color.d.ts +0 -2
- package/lib/components/evo-icon-button/types/index.d.ts +0 -2
|
@@ -8,7 +8,7 @@ import { EvoBaseControl } from '../../common/evo-base-control';
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "@angular/forms";
|
|
10
10
|
import * as i2 from "@angular/common";
|
|
11
|
-
import * as i3 from "../evo-
|
|
11
|
+
import * as i3 from "../evo-alert/evo-alert.component";
|
|
12
12
|
import * as i4 from "../evo-button/components/evo-button/evo-button.component";
|
|
13
13
|
import * as i5 from "../evo-icon/evo-icon.component";
|
|
14
14
|
import * as i6 from "../../directives/evo-ui-class.directive";
|
|
@@ -225,14 +225,14 @@ export class EvoUploadComponent extends EvoBaseControl {
|
|
|
225
225
|
}
|
|
226
226
|
return control.controls.length > this.maxFiles ? { maxFiles: true } : null;
|
|
227
227
|
}
|
|
228
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
229
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
228
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EvoUploadComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
229
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EvoUploadComponent, selector: "evo-upload", inputs: { accept: "accept", dropZoneLabel: "dropZoneLabel", dropZoneHint: "dropZoneHint", hideClearButton: "hideClearButton", hideSubmitButton: "hideSubmitButton", clickableFiles: "clickableFiles", earlyValidation: "earlyValidation", fileSizeLimit: "fileSizeLimit", maxFiles: "maxFiles", loading: "loading" }, outputs: { submit: "submit", addFiles: "addFiles", remove: "remove", clickFile: "clickFile" }, providers: [
|
|
230
230
|
{
|
|
231
231
|
provide: NG_VALUE_ACCESSOR,
|
|
232
232
|
useExisting: forwardRef(() => EvoUploadComponent),
|
|
233
233
|
multi: true,
|
|
234
234
|
},
|
|
235
|
-
], viewQueries: [{ propertyName: "inputFileElement", first: true, predicate: ["inputFile"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"evo-upload\">\n <label\n class=\"evo-upload__wrapper\"\n [evoUiClass]=\"{over: states.isDragOver, disabled: isDisabled || loading}\"\n (click)=\"onTouched()\"\n (dragover)=\"handleDragOver($event)\"\n (dragleave)=\"handleDragLeave($event)\"\n (drop)=\"handleDrop($event)\"\n >\n <evo-icon\n shape=\"upload\"\n class=\"evo-upload__upload-icon\"\n [evoUiClass]=\"{disabled: isDisabled || loading}\"\n ></evo-icon>\n <span class=\"evo-upload__title\" [evoUiClass]=\"{disabled: isDisabled || loading}\">{{ dropZoneLabel }}</span>\n\n <span class=\"evo-upload__hint\" [evoUiClass]=\"{disabled: isDisabled || loading}\">\n \u0438\u043B\u0438\n <span class=\"evo-upload__fake-link\" [evoUiClass]=\"{disabled: isDisabled || loading}\">\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435</span>\n <ng-container *ngIf=\"dropZoneHint\">\n (\n <span class=\"evo-upload__additional-hint\" [innerHTML]=\"dropZoneHint | safeHtml\"></span>\n )\n </ng-container>\n </span>\n\n <input\n #inputFile\n type=\"file\"\n class=\"evo-upload__input\"\n [accept]=\"accept\"\n [disabled]=\"loading || isDisabled\"\n [attr.multiple]=\"maxFiles === 1 ? null : true\"\n (change)=\"inputChange($event.target.files)\"\n />\n </label>\n\n <evo-
|
|
235
|
+
], viewQueries: [{ propertyName: "inputFileElement", first: true, predicate: ["inputFile"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"evo-upload\">\n <label\n class=\"evo-upload__wrapper\"\n [evoUiClass]=\"{over: states.isDragOver, disabled: isDisabled || loading}\"\n (click)=\"onTouched()\"\n (dragover)=\"handleDragOver($event)\"\n (dragleave)=\"handleDragLeave($event)\"\n (drop)=\"handleDrop($event)\"\n >\n <evo-icon\n shape=\"upload\"\n class=\"evo-upload__upload-icon\"\n [evoUiClass]=\"{disabled: isDisabled || loading}\"\n ></evo-icon>\n <span class=\"evo-upload__title\" [evoUiClass]=\"{disabled: isDisabled || loading}\">{{ dropZoneLabel }}</span>\n\n <span class=\"evo-upload__hint\" [evoUiClass]=\"{disabled: isDisabled || loading}\">\n \u0438\u043B\u0438\n <span class=\"evo-upload__fake-link\" [evoUiClass]=\"{disabled: isDisabled || loading}\">\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435</span>\n <ng-container *ngIf=\"dropZoneHint\">\n (\n <span class=\"evo-upload__additional-hint\" [innerHTML]=\"dropZoneHint | safeHtml\"></span>\n )\n </ng-container>\n </span>\n\n <input\n #inputFile\n type=\"file\"\n class=\"evo-upload__input\"\n [accept]=\"accept\"\n [disabled]=\"loading || isDisabled\"\n [attr.multiple]=\"maxFiles === 1 ? null : true\"\n (change)=\"inputChange($event.target.files)\"\n />\n </label>\n\n <evo-alert *ngIf=\"!earlyValidation && filesForm.errors?.maxFiles\" type=\"danger\">\n <ng-container>\n \u041D\u0435\u043B\u044C\u0437\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0431\u043E\u043B\u0435\u0435 {{ maxFiles || 1 | declination:[\"\u0444\u0430\u0439\u043B\u0430\", \"\u0444\u0430\u0439\u043B\u043E\u0432\", \"\u0444\u0430\u0439\u043B\u043E\u0432\"] }}\n </ng-container>\n </evo-alert>\n <evo-alert *ngIf=\"earlyValidation && filesForm.errors\" type=\"danger\">\n <ul class=\"evo-list\">\n <li *ngIf=\"filesForm.errors.maxFiles\">\n \u041D\u0435\u043B\u044C\u0437\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0431\u043E\u043B\u0435\u0435 {{ maxFiles || 1 | declination:[\"\u0444\u0430\u0439\u043B\u0430\", \"\u0444\u0430\u0439\u043B\u043E\u0432\", \"\u0444\u0430\u0439\u043B\u043E\u0432\"] }}\n </li>\n <li *ngIf=\"filesForm.errors.size\">\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u043E\u0434\u043D\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430 \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 {{ filesSizeLimitText }}</li>\n <li *ngIf=\"filesForm.errors.extension\">\u0412\u044B\u0431\u0440\u0430\u043D \u0444\u0430\u0439\u043B \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0433\u043E \u0444\u043E\u0440\u043C\u0430\u0442\u0430</li>\n </ul>\n </evo-alert>\n\n <ul class=\"evo-upload__list\">\n <li *ngFor=\"let file of filesForm.controls; let i = index\" class=\"evo-upload__list-item\">\n <div class=\"evo-upload__item-inner\">\n <evo-icon shape=\"file\" svgWidth=\"24\" svgHeight=\"24\" class=\"evo-upload__file-icon\"></evo-icon>\n\n <span\n *ngIf=\"clickableFiles\"\n class=\"evo-upload__link evo-link\"\n (click)=\"clickFile.emit({ file: file.value, index: i })\"\n >\n {{ file.value.name }}\n </span>\n\n <span *ngIf=\"!clickableFiles\">{{ file.value.name }}</span>\n </div>\n\n <evo-icon\n shape=\"decline\"\n svgWidth=\"24\"\n svgHeight=\"24\"\n class=\"evo-upload__button-remove\"\n [evoUiClass]=\"{disabled: loading || isDisabled}\"\n (click)=\"handleItemRemove(i)\"\n ></evo-icon>\n\n <div\n class=\"evo-upload__list-delimiter\"\n [evoUiClass]=\"{error: filesForm.controls[i].errors}\"\n [ngSwitch]=\"getControlError(filesForm.controls[i])\"\n >\n <ng-container *ngSwitchCase=\"'size'\">\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430 \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u0435\u0442 \u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439</ng-container>\n <ng-container *ngSwitchCase=\"'extension'\">\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430</ng-container>\n </div>\n </li>\n </ul>\n\n <div *ngIf=\"filesForm.controls.length\" class=\"evo-upload__controls\">\n <button\n *ngIf=\"!hideClearButton\"\n evoButton\n color=\"secondary\"\n theme=\"rounded-outline\"\n [disabled]=\"loading || isDisabled\"\n [loading]=\"loading\"\n (click)=\"handleResetButtonClick()\"\n >\n \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0451\n </button>\n <button\n *ngIf=\"!hideSubmitButton\"\n evoButton\n color=\"success\"\n class=\"evo-upload__submit\"\n [disabled]=\"filesForm.invalid || loading || isDisabled\"\n [loading]=\"loading\"\n (click)=\"handleSubmitButtonClick()\"\n >\n \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C\n </button>\n </div>\n</div>\n", styles: [".evo-link,.evo-upload__fake-link{color:#0986e2;font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}.evo-link:hover,.evo-upload__fake-link:hover{color:#0986e2;border-bottom-color:#0986e2}.evo-link:active,.evo-upload__fake-link:active{color:#0879cb}.evo-link_dashed{border-bottom:1px dashed}.evo-link_dashed:hover{text-decoration:none;border-bottom-color:transparent}.evo-link_danger{color:#ff1817}.evo-link_danger:hover{color:#ff4645;border-bottom-color:#ff4645}.evo-link_danger:active{color:#e51715;border-bottom-color:#e51715}.evo-upload{width:100%}.evo-upload__wrapper{display:flex;flex-direction:column;align-items:center;width:100%;margin-bottom:24px;padding:32px 0;color:#231f20;background:#f4f6f8;border:2px solid transparent;border-radius:8px}@media (max-width: 767px){.evo-upload__wrapper{padding:16px}}.evo-upload__wrapper_disabled{pointer-events:none}.evo-upload__wrapper_over{border-color:#dbe3ea}.evo-upload__upload-icon{flex:0 0 48px;width:48px;height:48px;margin-bottom:24px;transition:fill .3s;fill:#91b1b8}.evo-upload__upload-icon_disabled{fill:#727272}@media (max-width: 767px){.evo-upload__upload-icon{margin-bottom:16px}}.evo-upload__title{margin-bottom:8px;font-weight:700;font-size:24px;text-align:center;transition:color .3s}.evo-upload__title_disabled{color:#727272}@media (max-width: 767px){.evo-upload__title{font-size:16px}}.evo-upload__hint{font-size:18px;text-align:center;transition:color .3s}.evo-upload__hint_disabled{color:#727272}@media (max-width: 767px){.evo-upload__hint{font-size:14px}}.evo-upload__fake-link_disabled{color:#727272}.evo-upload__input{display:none}.evo-upload__list{margin-top:24px;margin-bottom:24px}.evo-upload__list:empty{display:none}.evo-upload__file-icon{margin-right:8px;fill:#91b1b8}.evo-upload__list-item{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:15px;color:#212121;font-weight:600;font-size:16px}.evo-upload__list-item:last-of-type{margin-bottom:24px}.evo-upload__item-inner{display:flex;flex-flow:row wrap;align-items:center}.evo-upload__list-delimiter{width:100%;margin-top:15px;color:#ff1817;font-size:14px;font-style:italic;line-height:22px;border-top:1px solid #C6C6C6}.evo-upload__list-delimiter_error{border-top-color:#ff1817}.evo-upload__button-remove{margin-left:auto;cursor:pointer;transition:fill .3s;fill:#91b1b8}.evo-upload__button-remove:not(.evo-upload__button-remove_disabled):hover{fill:#231f20}.evo-upload__button-remove_disabled{cursor:default;fill:#c6c6c6}.evo-upload__controls{display:flex;justify-content:space-between}.evo-upload__submit{margin-left:auto}.evo-upload__link{cursor:pointer}.evo-list{margin-bottom:0}.evo-list li:before{color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.EvoAlertComponent, selector: "evo-alert", inputs: ["closable", "icon", "iconSrc", "type", "size"], outputs: ["close"] }, { kind: "component", type: i4.EvoButtonComponent, selector: "button[evoButton], a[evoButton]", inputs: ["size", "color", "theme", "disabled", "loading"] }, { kind: "component", type: i5.EvoIconComponent, selector: "evo-icon", inputs: ["shape", "svgWidth", "svgHeight", "svgViewBox"] }, { kind: "directive", type: i6.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { kind: "pipe", type: i7.DeclinationPipe, name: "declination" }, { kind: "pipe", type: i8.SafeHtmlPipe, name: "safeHtml" }] }); }
|
|
236
236
|
}
|
|
237
237
|
__decorate([
|
|
238
238
|
autobind
|
|
@@ -243,7 +243,7 @@ __decorate([
|
|
|
243
243
|
__decorate([
|
|
244
244
|
autobind
|
|
245
245
|
], EvoUploadComponent.prototype, "maxFilesValidator", null);
|
|
246
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EvoUploadComponent, decorators: [{
|
|
247
247
|
type: Component,
|
|
248
248
|
args: [{ selector: 'evo-upload', providers: [
|
|
249
249
|
{
|
|
@@ -251,8 +251,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
251
251
|
useExisting: forwardRef(() => EvoUploadComponent),
|
|
252
252
|
multi: true,
|
|
253
253
|
},
|
|
254
|
-
], template: "<div class=\"evo-upload\">\n <label\n class=\"evo-upload__wrapper\"\n [evoUiClass]=\"{over: states.isDragOver, disabled: isDisabled || loading}\"\n (click)=\"onTouched()\"\n (dragover)=\"handleDragOver($event)\"\n (dragleave)=\"handleDragLeave($event)\"\n (drop)=\"handleDrop($event)\"\n >\n <evo-icon\n shape=\"upload\"\n class=\"evo-upload__upload-icon\"\n [evoUiClass]=\"{disabled: isDisabled || loading}\"\n ></evo-icon>\n <span class=\"evo-upload__title\" [evoUiClass]=\"{disabled: isDisabled || loading}\">{{ dropZoneLabel }}</span>\n\n <span class=\"evo-upload__hint\" [evoUiClass]=\"{disabled: isDisabled || loading}\">\n \u0438\u043B\u0438\n <span class=\"evo-upload__fake-link\" [evoUiClass]=\"{disabled: isDisabled || loading}\">\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435</span>\n <ng-container *ngIf=\"dropZoneHint\">\n (\n <span class=\"evo-upload__additional-hint\" [innerHTML]=\"dropZoneHint | safeHtml\"></span>\n )\n </ng-container>\n </span>\n\n <input\n #inputFile\n type=\"file\"\n class=\"evo-upload__input\"\n [accept]=\"accept\"\n [disabled]=\"loading || isDisabled\"\n [attr.multiple]=\"maxFiles === 1 ? null : true\"\n (change)=\"inputChange($event.target.files)\"\n />\n </label>\n\n <evo-
|
|
255
|
-
}], ctorParameters: ()
|
|
254
|
+
], template: "<div class=\"evo-upload\">\n <label\n class=\"evo-upload__wrapper\"\n [evoUiClass]=\"{over: states.isDragOver, disabled: isDisabled || loading}\"\n (click)=\"onTouched()\"\n (dragover)=\"handleDragOver($event)\"\n (dragleave)=\"handleDragLeave($event)\"\n (drop)=\"handleDrop($event)\"\n >\n <evo-icon\n shape=\"upload\"\n class=\"evo-upload__upload-icon\"\n [evoUiClass]=\"{disabled: isDisabled || loading}\"\n ></evo-icon>\n <span class=\"evo-upload__title\" [evoUiClass]=\"{disabled: isDisabled || loading}\">{{ dropZoneLabel }}</span>\n\n <span class=\"evo-upload__hint\" [evoUiClass]=\"{disabled: isDisabled || loading}\">\n \u0438\u043B\u0438\n <span class=\"evo-upload__fake-link\" [evoUiClass]=\"{disabled: isDisabled || loading}\">\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435</span>\n <ng-container *ngIf=\"dropZoneHint\">\n (\n <span class=\"evo-upload__additional-hint\" [innerHTML]=\"dropZoneHint | safeHtml\"></span>\n )\n </ng-container>\n </span>\n\n <input\n #inputFile\n type=\"file\"\n class=\"evo-upload__input\"\n [accept]=\"accept\"\n [disabled]=\"loading || isDisabled\"\n [attr.multiple]=\"maxFiles === 1 ? null : true\"\n (change)=\"inputChange($event.target.files)\"\n />\n </label>\n\n <evo-alert *ngIf=\"!earlyValidation && filesForm.errors?.maxFiles\" type=\"danger\">\n <ng-container>\n \u041D\u0435\u043B\u044C\u0437\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0431\u043E\u043B\u0435\u0435 {{ maxFiles || 1 | declination:[\"\u0444\u0430\u0439\u043B\u0430\", \"\u0444\u0430\u0439\u043B\u043E\u0432\", \"\u0444\u0430\u0439\u043B\u043E\u0432\"] }}\n </ng-container>\n </evo-alert>\n <evo-alert *ngIf=\"earlyValidation && filesForm.errors\" type=\"danger\">\n <ul class=\"evo-list\">\n <li *ngIf=\"filesForm.errors.maxFiles\">\n \u041D\u0435\u043B\u044C\u0437\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0431\u043E\u043B\u0435\u0435 {{ maxFiles || 1 | declination:[\"\u0444\u0430\u0439\u043B\u0430\", \"\u0444\u0430\u0439\u043B\u043E\u0432\", \"\u0444\u0430\u0439\u043B\u043E\u0432\"] }}\n </li>\n <li *ngIf=\"filesForm.errors.size\">\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u043E\u0434\u043D\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430 \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 {{ filesSizeLimitText }}</li>\n <li *ngIf=\"filesForm.errors.extension\">\u0412\u044B\u0431\u0440\u0430\u043D \u0444\u0430\u0439\u043B \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u043E\u0433\u043E \u0444\u043E\u0440\u043C\u0430\u0442\u0430</li>\n </ul>\n </evo-alert>\n\n <ul class=\"evo-upload__list\">\n <li *ngFor=\"let file of filesForm.controls; let i = index\" class=\"evo-upload__list-item\">\n <div class=\"evo-upload__item-inner\">\n <evo-icon shape=\"file\" svgWidth=\"24\" svgHeight=\"24\" class=\"evo-upload__file-icon\"></evo-icon>\n\n <span\n *ngIf=\"clickableFiles\"\n class=\"evo-upload__link evo-link\"\n (click)=\"clickFile.emit({ file: file.value, index: i })\"\n >\n {{ file.value.name }}\n </span>\n\n <span *ngIf=\"!clickableFiles\">{{ file.value.name }}</span>\n </div>\n\n <evo-icon\n shape=\"decline\"\n svgWidth=\"24\"\n svgHeight=\"24\"\n class=\"evo-upload__button-remove\"\n [evoUiClass]=\"{disabled: loading || isDisabled}\"\n (click)=\"handleItemRemove(i)\"\n ></evo-icon>\n\n <div\n class=\"evo-upload__list-delimiter\"\n [evoUiClass]=\"{error: filesForm.controls[i].errors}\"\n [ngSwitch]=\"getControlError(filesForm.controls[i])\"\n >\n <ng-container *ngSwitchCase=\"'size'\">\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430 \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u0435\u0442 \u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0439</ng-container>\n <ng-container *ngSwitchCase=\"'extension'\">\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0430</ng-container>\n </div>\n </li>\n </ul>\n\n <div *ngIf=\"filesForm.controls.length\" class=\"evo-upload__controls\">\n <button\n *ngIf=\"!hideClearButton\"\n evoButton\n color=\"secondary\"\n theme=\"rounded-outline\"\n [disabled]=\"loading || isDisabled\"\n [loading]=\"loading\"\n (click)=\"handleResetButtonClick()\"\n >\n \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0451\n </button>\n <button\n *ngIf=\"!hideSubmitButton\"\n evoButton\n color=\"success\"\n class=\"evo-upload__submit\"\n [disabled]=\"filesForm.invalid || loading || isDisabled\"\n [loading]=\"loading\"\n (click)=\"handleSubmitButtonClick()\"\n >\n \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C\n </button>\n </div>\n</div>\n", styles: [".evo-link,.evo-upload__fake-link{color:#0986e2;font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}.evo-link:hover,.evo-upload__fake-link:hover{color:#0986e2;border-bottom-color:#0986e2}.evo-link:active,.evo-upload__fake-link:active{color:#0879cb}.evo-link_dashed{border-bottom:1px dashed}.evo-link_dashed:hover{text-decoration:none;border-bottom-color:transparent}.evo-link_danger{color:#ff1817}.evo-link_danger:hover{color:#ff4645;border-bottom-color:#ff4645}.evo-link_danger:active{color:#e51715;border-bottom-color:#e51715}.evo-upload{width:100%}.evo-upload__wrapper{display:flex;flex-direction:column;align-items:center;width:100%;margin-bottom:24px;padding:32px 0;color:#231f20;background:#f4f6f8;border:2px solid transparent;border-radius:8px}@media (max-width: 767px){.evo-upload__wrapper{padding:16px}}.evo-upload__wrapper_disabled{pointer-events:none}.evo-upload__wrapper_over{border-color:#dbe3ea}.evo-upload__upload-icon{flex:0 0 48px;width:48px;height:48px;margin-bottom:24px;transition:fill .3s;fill:#91b1b8}.evo-upload__upload-icon_disabled{fill:#727272}@media (max-width: 767px){.evo-upload__upload-icon{margin-bottom:16px}}.evo-upload__title{margin-bottom:8px;font-weight:700;font-size:24px;text-align:center;transition:color .3s}.evo-upload__title_disabled{color:#727272}@media (max-width: 767px){.evo-upload__title{font-size:16px}}.evo-upload__hint{font-size:18px;text-align:center;transition:color .3s}.evo-upload__hint_disabled{color:#727272}@media (max-width: 767px){.evo-upload__hint{font-size:14px}}.evo-upload__fake-link_disabled{color:#727272}.evo-upload__input{display:none}.evo-upload__list{margin-top:24px;margin-bottom:24px}.evo-upload__list:empty{display:none}.evo-upload__file-icon{margin-right:8px;fill:#91b1b8}.evo-upload__list-item{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:15px;color:#212121;font-weight:600;font-size:16px}.evo-upload__list-item:last-of-type{margin-bottom:24px}.evo-upload__item-inner{display:flex;flex-flow:row wrap;align-items:center}.evo-upload__list-delimiter{width:100%;margin-top:15px;color:#ff1817;font-size:14px;font-style:italic;line-height:22px;border-top:1px solid #C6C6C6}.evo-upload__list-delimiter_error{border-top-color:#ff1817}.evo-upload__button-remove{margin-left:auto;cursor:pointer;transition:fill .3s;fill:#91b1b8}.evo-upload__button-remove:not(.evo-upload__button-remove_disabled):hover{fill:#231f20}.evo-upload__button-remove_disabled{cursor:default;fill:#c6c6c6}.evo-upload__controls{display:flex;justify-content:space-between}.evo-upload__submit{margin-left:auto}.evo-upload__link{cursor:pointer}.evo-list{margin-bottom:0}.evo-list li:before{color:#fff}\n"] }]
|
|
255
|
+
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i0.Injector }]; }, propDecorators: { accept: [{
|
|
256
256
|
type: Input
|
|
257
257
|
}], dropZoneLabel: [{
|
|
258
258
|
type: Input
|
|
@@ -284,4 +284,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
284
284
|
type: ViewChild,
|
|
285
285
|
args: ['inputFile']
|
|
286
286
|
}], fileSizeValidator: [], fileExtensionValidator: [], maxFilesValidator: [] } });
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tdXBsb2FkL2V2by11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXVwbG9hZC9ldm8tdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBRVYsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdILGlCQUFpQixFQUdqQixrQkFBa0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLFFBQVEsTUFBTSxvQkFBb0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBbUI3RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsY0FBYztJQUVsRCxJQUFhLE1BQU0sQ0FBQyxVQUFrQjtRQUNsQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVU7aUJBQzlCLEtBQUssQ0FBQyxHQUFHLENBQUM7aUJBQ1YsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDTCxDQUFDO0lBUUQsSUFBYSxhQUFhLENBQUMsUUFBZ0I7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztRQUNu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O3NCQUFsQixNQUFNO2dCQUVpQixnQkFBZ0I7c0JBQXZDLFNBQVM7dUJBQUMsV0FBVztnQkEyTWQsaUJBQWlCLE1BU2pCLHNCQUFzQixNQVl0QixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gICAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgVW50eXBlZEZvcm1BcnJheSxcbiAgICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgVW50eXBlZEZvcm1Db250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgYXV0b2JpbmQgZnJvbSAnYXV0b2JpbmQtZGVjb3JhdG9yJztcbmltcG9ydCBieXRlcyBmcm9tICdieXRlcyc7XG5pbXBvcnQgKiBhcyBtaW1lIGZyb20gJ21pbWUnO1xuaW1wb3J0IHtFdm9CYXNlQ29udHJvbH0gZnJvbSAnLi4vLi4vY29tbW9uL2V2by1iYXNlLWNvbnRyb2wnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2b1VwbG9hZEl0ZW1DbGlja0V2ZW50IHtcbiAgICBmaWxlOiBGaWxlO1xuICAgIGluZGV4OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXZvLXVwbG9hZCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXZvLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldm8tdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFdm9VcGxvYWRDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXZvVXBsb2FkQ29tcG9uZW50IGV4dGVuZHMgRXZvQmFzZUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJDb250ZW50SW5pdCwgT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIHNldCBhY2NlcHQoZXh0ZW5zaW9uczogc3RyaW5nKSB7XG4gICAgICAgIGlmIChleHRlbnNpb25zKSB7XG4gICAgICAgICAgICB0aGlzLmFjY2VwdGVkTWltZVR5cGVzID0gZXh0ZW5zaW9uc1xuICAgICAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgICAgICAgLm1hcChleHRlbnNpb24gPT4gbWltZS5nZXRUeXBlKGV4dGVuc2lvbikpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBJbnB1dCgpIGRyb3Bab25lTGFiZWwgPSAn0J/QtdGA0LXRgtCw0YnQuNGC0LUg0YHRjtC00LAg0YTQsNC50LvRiyDQtNC70Y8g0LfQsNCz0YDRg9C30LrQuCc7XG4gICAgQElucHV0KCkgZHJvcFpvbmVIaW50OiBzdHJpbmc7XG4gICAgQElucHV0KCkgaGlkZUNsZWFyQnV0dG9uID0gZmFsc2U7XG4gICAgQElucHV0KCkgaGlkZVN1Ym1pdEJ1dHRvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNsaWNrYWJsZUZpbGVzID0gZmFsc2U7XG4gICAgQElucHV0KCkgZWFybHlWYWxpZGF0aW9uID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBzZXQgZmlsZVNpemVMaW1pdChmaWxlU2l6ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZmlsZXNTaXplTGltaXRUZXh0ID0gZmlsZVNpemU7XG4gICAgICAgIHRoaXMuZmlsZXNTaXplTGltaXRJbkJ5dGVzID0gYnl0ZXMoZmlsZVNpemUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIG1heEZpbGVzOiBudW1iZXI7XG4gICAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIHN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZUxpc3Q+KCk7XG4gICAgQE91dHB1dCgpIGFkZEZpbGVzID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlTGlzdD4oKTtcbiAgICBAT3V0cHV0KCkgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgQE91dHB1dCgpIGNsaWNrRmlsZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZvVXBsb2FkSXRlbUNsaWNrRXZlbnQ+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dEZpbGUnKSBpbnB1dEZpbGVFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgaXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgIGZpbGVzRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuYXJyYXkoW10sIFt0aGlzLm1heEZpbGVzVmFsaWRhdG9yXSk7XG4gICAgZmlsZXNTaXplTGltaXRUZXh0OiBzdHJpbmc7XG4gICAgZmlsZXNTaXplTGltaXRJbkJ5dGVzOiBudW1iZXI7XG4gICAgc3RhdGVzID0ge1xuICAgICAgICBpc0RyYWdPdmVyOiBmYWxzZSxcbiAgICB9O1xuICAgIGFjY2VwdGVkTWltZVR5cGVzOiBzdHJpbmdbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVPbkZvcm1DaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLm1lcmdlQ29udHJvbHNFcnJvcnMoKTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZSA9ICh2YWx1ZSkgPT4ge307XG4gICAgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcblxuICAgICAgICBpZiAoIWlzRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMubWVyZ2VDb250cm9sc0Vycm9ycygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZShmaWxlTGlzdDogRmlsZUxpc3QgfCBGaWxlW10pIHtcbiAgICAgICAgaWYgKGZpbGVMaXN0ICYmIGZpbGVMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGlmIChmaWxlTGlzdCBpbnN0YW5jZW9mIEFycmF5IHx8IGZpbGVMaXN0IGluc3RhbmNlb2YgRmlsZUxpc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLndpcGVVcGxvYWRMaXN0KCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZWFybHlWYWxpZGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWFybHlWYWxpZGF0aW9uRm4oZmlsZUxpc3QpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5maWxlc0Zvcm0uZXJyb3JzKSB7IHJldHVybjsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NGaWxlcyhmaWxlTGlzdCBhcyBGaWxlTGlzdCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKCdbRXZvVWlLaXRdOiB3cm9uZyBpbml0aWFsIHZhbHVlIHBhc3NlZCB0byBcImV2by11cGxvYWRcIiBjb21wb25lbnQuIE9ubHkgRmlsZUxpc3QgYW5kIEZpbGVbXSBhcmUgYWxsb3dlZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q29udHJvbEVycm9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHN0cmluZyB7XG4gICAgICAgIGlmICghY29udHJvbC5lcnJvcnMpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGNvbnRyb2wuZXJyb3JzKVswXTtcbiAgICB9XG5cbiAgICBoYW5kbGVEcmFnT3ZlcihldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgaWYgKHRoaXMubG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RhdGVzLmlzRHJhZ092ZXIgPSB0cnVlO1xuICAgIH1cblxuICAgIGhhbmRsZURyYWdMZWF2ZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuc3RhdGVzLmlzRHJhZ092ZXIgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBoYW5kbGVEcm9wKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgY29uc3QgZmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXM7XG5cbiAgICAgICAgdGhpcy5zdGF0ZXMuaXNEcmFnT3ZlciA9IGZhbHNlO1xuICAgICAgICBpZiAoZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5lYXJseVZhbGlkYXRpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVhcmx5VmFsaWRhdGlvbkZuKGZpbGVzKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maWxlc0Zvcm0uZXJyb3JzKSB7IHJldHVybjsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5hZGRGaWxlcy5lbWl0KGZpbGVzKTtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0ZpbGVzKGZpbGVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZUl0ZW1SZW1vdmUoaW5kZXgpIHtcbiAgICAgICAgaWYgKHRoaXMubG9hZGluZyB8fCB0aGlzLmlzRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZpbGVzRm9ybS5yZW1vdmVBdChpbmRleCk7XG4gICAgICAgIHRoaXMucmVtb3ZlLmVtaXQoaW5kZXgpO1xuICAgIH1cblxuICAgIGhhbmRsZVJlc2V0QnV0dG9uQ2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRpbmcgfHwgdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLndpcGVVcGxvYWRMaXN0KCk7XG4gICAgfVxuXG4gICAgaGFuZGxlU3VibWl0QnV0dG9uQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuc3VibWl0LmVtaXQodGhpcy5maWxlc0Zvcm0udmFsdWUpO1xuICAgIH1cblxuICAgIGlucHV0Q2hhbmdlKGZpbGVzOiBGaWxlTGlzdCkge1xuICAgICAgICBpZiAodGhpcy5lYXJseVZhbGlkYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZWFybHlWYWxpZGF0aW9uRm4oZmlsZXMpO1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlsZXNGb3JtLmVycm9ycykgeyByZXR1cm47IH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFkZEZpbGVzLmVtaXQoZmlsZXMpO1xuICAgICAgICB0aGlzLnByb2Nlc3NGaWxlcyhmaWxlcyk7XG4gICAgfVxuXG4gICAgZWFybHlWYWxpZGF0aW9uRm4oZmlsZXM6IEZpbGVMaXN0IHwgRmlsZVtdKSB7XG4gICAgICAgIHRoaXMuZmlsZXNGb3JtLnNldEVycm9ycyhudWxsKTtcbiAgICAgICAgY29uc3QgZmlsZXNBcnJheSA9IEFycmF5LmZyb20oZmlsZXMpO1xuICAgICAgICBjb25zdCBlcnJvcnMgPSBbXTtcbiAgICAgICAgaWYgKHRoaXMubWF4RmlsZXMgJiYgdGhpcy5pc0ZpbGVzTGVuZ3RoVmFsaWQoZmlsZXNBcnJheSkpIHtcbiAgICAgICAgICAgIGVycm9ycy5wdXNoKHsgbWF4RmlsZXM6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZmlsZXNTaXplTGltaXRJbkJ5dGVzICYmICF0aGlzLmlzRmlsZXNTaXplVmFsaWQoZmlsZXNBcnJheSkpIHtcbiAgICAgICAgICAgIGVycm9ycy5wdXNoKHsgc2l6ZTogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hY2NlcHRlZE1pbWVUeXBlcyAmJiAhdGhpcy5pc0ZpbGVzRXh0ZW5zaW9uVmFsaWQoZmlsZXNBcnJheSkpIHtcbiAgICAgICAgICAgIGVycm9ycy5wdXNoKHsgZXh0ZW5zaW9uOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVzRm9ybS5zZXRFcnJvcnMoT2JqZWN0LmFzc2lnbih7fSwgLi4uZXJyb3JzKSk7XG4gICAgICAgICAgICB0aGlzLm1lcmdlQ29udHJvbHNFcnJvcnMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzRmlsZXNMZW5ndGhWYWxpZChmaWxlczogRmlsZVtdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1heEZpbGVzIDwgKGZpbGVzLmxlbmd0aCArIHRoaXMuZmlsZXNGb3JtLmNvbnRyb2xzLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgaXNGaWxlc1NpemVWYWxpZChmaWxlczogRmlsZVtdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhZmlsZXMuc29tZSgoeyBzaXplIH0pID0+IHRoaXMuZmlsZXNTaXplTGltaXRJbkJ5dGVzIDwgc2l6ZSk7XG4gICAgfVxuXG4gICAgaXNGaWxlc0V4dGVuc2lvblZhbGlkKGZpbGVzOiBGaWxlW10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpbGVzLmV2ZXJ5KCh7IHR5cGUgfSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWNjZXB0ZWRNaW1lVHlwZXMuaW5jbHVkZXModHlwZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb2Nlc3NGaWxlcyhmaWxlczogRmlsZUxpc3QpIHtcbiAgICAgICAgaWYgKHRoaXMubG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgQXJyYXkuZnJvbShmaWxlcykuZm9yRWFjaCgoZmlsZTogRmlsZSkgPT4geyAvLyB0c2xpbnQ6ZGlzYWJsZTpuby1mb3ItZWFjaC1wdXNoXG4gICAgICAgICAgICB0aGlzLmZpbGVzRm9ybS5wdXNoKG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZmlsZSwgW3RoaXMuZmlsZUV4dGVuc2lvblZhbGlkYXRvciwgdGhpcy5maWxlU2l6ZVZhbGlkYXRvcl0pKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRGaWxlRWxlbWVudCAmJiB0aGlzLmlucHV0RmlsZUVsZW1lbnQubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dEZpbGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHdpcGVVcGxvYWRMaXN0KCkge1xuICAgICAgICB3aGlsZSAodGhpcy5maWxlc0Zvcm0uY29udHJvbHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVzRm9ybS5yZW1vdmVBdCgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgbWVyZ2VDb250cm9sc0Vycm9ycygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVycm9ycyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZmlsZXNGb3JtLmVycm9ycyk7XG4gICAgICAgIHRoaXMuZmlsZXNGb3JtLmNvbnRyb2xzLmZvckVhY2goKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCkgPT4ge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihlcnJvcnMsIGNvbnRyb2wuZXJyb3JzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRFcnJvcnMoT2JqZWN0LmtleXMoZXJyb3JzKS5sZW5ndGggPyBlcnJvcnMgOiBudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZU9uRm9ybUNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMuZmlsZXNGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMubWVyZ2VDb250cm9sc0Vycm9ycygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAYXV0b2JpbmRcbiAgICBwcml2YXRlIGZpbGVTaXplVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgICAgICBpZiAoIXRoaXMuZmlsZXNTaXplTGltaXRJbkJ5dGVzKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb250cm9sLnZhbHVlLnNpemUgPiB0aGlzLmZpbGVzU2l6ZUxpbWl0SW5CeXRlcyA/IHsgc2l6ZTogdHJ1ZSB9IDogbnVsbDtcbiAgICB9XG5cbiAgICBAYXV0b2JpbmRcbiAgICBwcml2YXRlIGZpbGVFeHRlbnNpb25WYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgICAgIGlmICghdGhpcy5hY2NlcHRlZE1pbWVUeXBlcykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWxlVHlwZSA9IChjb250cm9sLnZhbHVlIGFzIEZpbGUpLnR5cGU7XG4gICAgICAgIGNvbnN0IGlzRXh0ZW5zaW9uQWxsb3dlZCA9IHRoaXMuYWNjZXB0ZWRNaW1lVHlwZXMuaW5jbHVkZXMoZmlsZVR5cGUpO1xuXG4gICAgICAgIHJldHVybiBpc0V4dGVuc2lvbkFsbG93ZWQgPyBudWxsIDogeyBleHRlbnNpb246IHRydWUgfTtcbiAgICB9XG5cbiAgICBAYXV0b2JpbmRcbiAgICBwcml2YXRlIG1heEZpbGVzVmFsaWRhdG9yKGNvbnRyb2w6IFVudHlwZWRGb3JtQXJyYXkpIHtcbiAgICAgICAgaWYgKCF0aGlzLm1heEZpbGVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29udHJvbC5jb250cm9scy5sZW5ndGggPiB0aGlzLm1heEZpbGVzID8geyBtYXhGaWxlczogdHJ1ZSB9IDogbnVsbDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZXZvLXVwbG9hZFwiPlxuICAgIDxsYWJlbFxuICAgICAgICBjbGFzcz1cImV2by11cGxvYWRfX3dyYXBwZXJcIlxuICAgICAgICBbZXZvVWlDbGFzc109XCJ7b3Zlcjogc3RhdGVzLmlzRHJhZ092ZXIsIGRpc2FibGVkOiBpc0Rpc2FibGVkIHx8IGxvYWRpbmd9XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgKGRyYWdvdmVyKT1cImhhbmRsZURyYWdPdmVyKCRldmVudClcIlxuICAgICAgICAoZHJhZ2xlYXZlKT1cImhhbmRsZURyYWdMZWF2ZSgkZXZlbnQpXCJcbiAgICAgICAgKGRyb3ApPVwiaGFuZGxlRHJvcCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxldm8taWNvblxuICAgICAgICAgICAgc2hhcGU9XCJ1cGxvYWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJldm8tdXBsb2FkX191cGxvYWQtaWNvblwiXG4gICAgICAgICAgICBbZXZvVWlDbGFzc109XCJ7ZGlzYWJsZWQ6IGlzRGlzYWJsZWQgfHwgbG9hZGluZ31cIlxuICAgICAgICA+PC9ldm8taWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJldm8tdXBsb2FkX190aXRsZVwiIFtldm9VaUNsYXNzXT1cIntkaXNhYmxlZDogaXNEaXNhYmxlZCB8fCBsb2FkaW5nfVwiPnt7IGRyb3Bab25lTGFiZWwgfX08L3NwYW4+XG5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJldm8tdXBsb2FkX19oaW50XCIgW2V2b1VpQ2xhc3NdPVwie2Rpc2FibGVkOiBpc0Rpc2FibGVkIHx8IGxvYWRpbmd9XCI+XG4gICAgICAgICAgICDQuNC70LhcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXZvLXVwbG9hZF9fZmFrZS1saW5rXCIgW2V2b1VpQ2xhc3NdPVwie2Rpc2FibGVkOiBpc0Rpc2FibGVkIHx8IGxvYWRpbmd9XCI+0LfQsNCz0YDRg9C30LjRgtC1PC9zcGFuPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRyb3Bab25lSGludFwiPlxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV2by11cGxvYWRfX2FkZGl0aW9uYWwtaGludFwiIFtpbm5lckhUTUxdPVwiZHJvcFpvbmVIaW50IHwgc2FmZUh0bWxcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICNpbnB1dEZpbGVcbiAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZXZvLXVwbG9hZF9faW5wdXRcIlxuICAgICAgICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmcgfHwgaXNEaXNhYmxlZFwiXG4gICAgICAgICAgICBbYXR0ci5tdWx0aXBsZV09XCJtYXhGaWxlcyA9PT0gMSA/IG51bGwgOiB0cnVlXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoJGV2ZW50LnRhcmdldC5maWxlcylcIlxuICAgICAgICAvPlxuICAgIDwvbGFiZWw+XG5cbiAgICA8ZXZvLW5vdGUgKm5nSWY9XCIhZWFybHlWYWxpZGF0aW9uICYmIGZpbGVzRm9ybS5lcnJvcnM/Lm1heEZpbGVzXCIgdHlwZT1cImRhbmdlclwiPlxuICAgICAgICDQndC10LvRjNC30Y8g0LfQsNCz0YDRg9C30LjRgtGMINCx0L7Qu9C10LUge3sgbWF4RmlsZXMgfHwgMSB8IGRlY2xpbmF0aW9uOltcItGE0LDQudC70LBcIiwgXCLRhNCw0LnQu9C+0LJcIiwgXCLRhNCw0LnQu9C+0LJcIl0gfX1cbiAgICA8L2V2by1ub3RlPlxuICAgIDxldm8tbm90ZSAqbmdJZj1cImVhcmx5VmFsaWRhdGlvbiAmJiBmaWxlc0Zvcm0uZXJyb3JzXCIgdHlwZT1cImRhbmdlclwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJldm8tbGlzdFwiPlxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiZmlsZXNGb3JtLmVycm9ycy5tYXhGaWxlc1wiPlxuICAgICAgICAgICAgICAgINCd0LXQu9GM0LfRjyDQt9Cw0LPRgNGD0LfQuNGC0Ywg0LHQvtC70LXQtSB7eyBtYXhGaWxlcyB8fCAxIHwgZGVjbGluYXRpb246W1wi0YTQsNC50LvQsFwiLCBcItGE0LDQudC70L7QslwiLCBcItGE0LDQudC70L7QslwiXSB9fVxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImZpbGVzRm9ybS5lcnJvcnMuc2l6ZVwiPtCc0LDQutGB0LjQvNCw0LvRjNC90YvQuSDRgNCw0LfQvNC10YAg0L7QtNC90L7Qs9C+INGE0LDQudC70LAg0L3QtSDQsdC+0LvQtdC1IHt7IGZpbGVzU2l6ZUxpbWl0VGV4dCB9fTwvbGk+XG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJmaWxlc0Zvcm0uZXJyb3JzLmV4dGVuc2lvblwiPtCS0YvQsdGA0LDQvSDRhNCw0LnQuyDQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LPQviDRhNC+0YDQvNCw0YLQsDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9ldm8tbm90ZT5cblxuICAgIDx1bCBjbGFzcz1cImV2by11cGxvYWRfX2xpc3RcIj5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpbGVzRm9ybS5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwiZXZvLXVwbG9hZF9fbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLXVwbG9hZF9faXRlbS1pbm5lclwiPlxuICAgICAgICAgICAgICAgIDxldm8taWNvbiBzaGFwZT1cImZpbGVcIiBzdmdXaWR0aD1cIjI0XCIgc3ZnSGVpZ2h0PVwiMjRcIiBjbGFzcz1cImV2by11cGxvYWRfX2ZpbGUtaWNvblwiPjwvZXZvLWljb24+XG5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNsaWNrYWJsZUZpbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldm8tdXBsb2FkX19saW5rIGV2by1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrRmlsZS5lbWl0KHsgZmlsZTogZmlsZS52YWx1ZSwgaW5kZXg6IGkgfSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgZmlsZS52YWx1ZS5uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhY2xpY2thYmxlRmlsZXNcIj57eyBmaWxlLnZhbHVlLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGV2by1pY29uXG4gICAgICAgICAgICAgICAgc2hhcGU9XCJkZWNsaW5lXCJcbiAgICAgICAgICAgICAgICBzdmdXaWR0aD1cIjI0XCJcbiAgICAgICAgICAgICAgICBzdmdIZWlnaHQ9XCIyNFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJldm8tdXBsb2FkX19idXR0b24tcmVtb3ZlXCJcbiAgICAgICAgICAgICAgICBbZXZvVWlDbGFzc109XCJ7ZGlzYWJsZWQ6IGxvYWRpbmcgfHwgaXNEaXNhYmxlZH1cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVJdGVtUmVtb3ZlKGkpXCJcbiAgICAgICAgICAgID48L2V2by1pY29uPlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJldm8tdXBsb2FkX19saXN0LWRlbGltaXRlclwiXG4gICAgICAgICAgICAgICAgW2V2b1VpQ2xhc3NdPVwie2Vycm9yOiBmaWxlc0Zvcm0uY29udHJvbHNbaV0uZXJyb3JzfVwiXG4gICAgICAgICAgICAgICAgW25nU3dpdGNoXT1cImdldENvbnRyb2xFcnJvcihmaWxlc0Zvcm0uY29udHJvbHNbaV0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2l6ZSdcIj7QoNCw0LfQvNC10YAg0YTQsNC50LvQsCDQv9GA0LXQstGL0YjQsNC10YIg0LTQvtC/0YPRgdGC0LjQvNGL0Lk8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZXh0ZW5zaW9uJ1wiPtCd0LXQstC10YDQvdGL0Lkg0YTQvtGA0LzQsNGCINGE0LDQudC70LA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiZmlsZXNGb3JtLmNvbnRyb2xzLmxlbmd0aFwiIGNsYXNzPVwiZXZvLXVwbG9hZF9fY29udHJvbHNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCIhaGlkZUNsZWFyQnV0dG9uXCJcbiAgICAgICAgICAgIGV2b0J1dHRvblxuICAgICAgICAgICAgY29sb3I9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgdGhlbWU9XCJyb3VuZGVkLW91dGxpbmVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmcgfHwgaXNEaXNhYmxlZFwiXG4gICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVSZXNldEJ1dHRvbkNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICDQo9C00LDQu9C40YLRjCDQstGB0ZFcbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiIWhpZGVTdWJtaXRCdXR0b25cIlxuICAgICAgICAgICAgZXZvQnV0dG9uXG4gICAgICAgICAgICBjb2xvcj1cInN1Y2Nlc3NcIlxuICAgICAgICAgICAgY2xhc3M9XCJldm8tdXBsb2FkX19zdWJtaXRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpbGVzRm9ybS5pbnZhbGlkIHx8IGxvYWRpbmcgfHwgaXNEaXNhYmxlZFwiXG4gICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTdWJtaXRCdXR0b25DbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAg0JfQsNCz0YDRg9C30LjRgtGMXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
287
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tdXBsb2FkL2V2by11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLXVwbG9hZC9ldm8tdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBRVYsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdILGlCQUFpQixFQUdqQixrQkFBa0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLFFBQVEsTUFBTSxvQkFBb0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBbUI3RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsY0FBYztJQUVsRCxJQUFhLE1BQU0sQ0FBQyxVQUFrQjtRQUNsQyxJQUFJLFVBQVUsRUFBRTtZQUNaLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVO2lCQUM5QixLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUNWLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUNsRDtJQUNMLENBQUM7SUFRRCxJQUFhLGFBQWEsQ0FBQyxRQUFnQjtRQUN2QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxDQUFDO1FBQ25DLElBQUksQ0FB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QzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2pELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixnS0N4Q0wscWpMQWlIQTs7QURpS0k7SUFEQyxRQUFROzJEQU9SO0FBR0Q7SUFEQyxRQUFRO2dFQVVSO0FBR0Q7SUFEQyxRQUFROzJEQU9SOzRGQW5RUSxrQkFBa0I7a0JBWjlCLFNBQVM7K0JBQ0ksWUFBWSxhQUdYO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtnSUFJWSxNQUFNO3NCQUFsQixLQUFLO2dCQU9HLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRU8sYUFBYTtzQkFBekIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFFaUIsZ0JBQWdCO3NCQUF2QyxTQUFTO3VCQUFDLFdBQVc7Z0JBMk1kLGlCQUFpQixNQVNqQixzQkFBc0IsTUFZdEIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIFVudHlwZWRGb3JtQXJyYXksXG4gICAgVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIFVudHlwZWRGb3JtQ29udHJvbCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IGF1dG9iaW5kIGZyb20gJ2F1dG9iaW5kLWRlY29yYXRvcic7XG5pbXBvcnQgYnl0ZXMgZnJvbSAnYnl0ZXMnO1xuaW1wb3J0ICogYXMgbWltZSBmcm9tICdtaW1lJztcbmltcG9ydCB7RXZvQmFzZUNvbnRyb2x9IGZyb20gJy4uLy4uL2NvbW1vbi9ldm8tYmFzZS1jb250cm9sJztcblxuZXhwb3J0IGludGVyZmFjZSBFdm9VcGxvYWRJdGVtQ2xpY2tFdmVudCB7XG4gICAgZmlsZTogRmlsZTtcbiAgICBpbmRleDogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V2by11cGxvYWQnLFxuICAgIHN0eWxlVXJsczogWycuL2V2by11cGxvYWQuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRXZvVXBsb2FkQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEV2b1VwbG9hZENvbXBvbmVudCBleHRlbmRzIEV2b0Jhc2VDb250cm9sIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyQ29udGVudEluaXQsIE9uSW5pdCB7XG5cbiAgICBASW5wdXQoKSBzZXQgYWNjZXB0KGV4dGVuc2lvbnM6IHN0cmluZykge1xuICAgICAgICBpZiAoZXh0ZW5zaW9ucykge1xuICAgICAgICAgICAgdGhpcy5hY2NlcHRlZE1pbWVUeXBlcyA9IGV4dGVuc2lvbnNcbiAgICAgICAgICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAgICAgICAgIC5tYXAoZXh0ZW5zaW9uID0+IG1pbWUuZ2V0VHlwZShleHRlbnNpb24pKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBASW5wdXQoKSBkcm9wWm9uZUxhYmVsID0gJ9Cf0LXRgNC10YLQsNGJ0LjRgtC1INGB0Y7QtNCwINGE0LDQudC70Ysg0LTQu9GPINC30LDQs9GA0YPQt9C60LgnO1xuICAgIEBJbnB1dCgpIGRyb3Bab25lSGludDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGhpZGVDbGVhckJ1dHRvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGhpZGVTdWJtaXRCdXR0b24gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBjbGlja2FibGVGaWxlcyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGVhcmx5VmFsaWRhdGlvbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgc2V0IGZpbGVTaXplTGltaXQoZmlsZVNpemU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmZpbGVzU2l6ZUxpbWl0VGV4dCA9IGZpbGVTaXplO1xuICAgICAgICB0aGlzLmZpbGVzU2l6ZUxpbWl0SW5CeXRlcyA9IGJ5dGVzKGZpbGVTaXplKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBtYXhGaWxlczogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBzdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVMaXN0PigpO1xuICAgIEBPdXRwdXQoKSBhZGRGaWxlcyA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZUxpc3Q+KCk7XG4gICAgQE91dHB1dCgpIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICAgIEBPdXRwdXQoKSBjbGlja0ZpbGUgPSBuZXcgRXZlbnRFbWl0dGVyPEV2b1VwbG9hZEl0ZW1DbGlja0V2ZW50PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRGaWxlJykgaW5wdXRGaWxlRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIGlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICBmaWxlc0Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KFtdLCBbdGhpcy5tYXhGaWxlc1ZhbGlkYXRvcl0pO1xuICAgIGZpbGVzU2l6ZUxpbWl0VGV4dDogc3RyaW5nO1xuICAgIGZpbGVzU2l6ZUxpbWl0SW5CeXRlczogbnVtYmVyO1xuICAgIHN0YXRlcyA9IHtcbiAgICAgICAgaXNEcmFnT3ZlcjogZmFsc2UsXG4gICAgfTtcbiAgICBhY2NlcHRlZE1pbWVUeXBlczogc3RyaW5nW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgICAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlT25Gb3JtQ2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5tZXJnZUNvbnRyb2xzRXJyb3JzKCk7XG4gICAgfVxuXG4gICAgb25DaGFuZ2UgPSAodmFsdWUpID0+IHt9O1xuICAgIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG5cbiAgICAgICAgaWYgKCFpc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLm1lcmdlQ29udHJvbHNFcnJvcnMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHdyaXRlVmFsdWUoZmlsZUxpc3Q6IEZpbGVMaXN0IHwgRmlsZVtdKSB7XG4gICAgICAgIGlmIChmaWxlTGlzdCAmJiBmaWxlTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpZiAoZmlsZUxpc3QgaW5zdGFuY2VvZiBBcnJheSB8fCBmaWxlTGlzdCBpbnN0YW5jZW9mIEZpbGVMaXN0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy53aXBlVXBsb2FkTGlzdCgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmVhcmx5VmFsaWRhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVhcmx5VmFsaWRhdGlvbkZuKGZpbGVMaXN0KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlsZXNGb3JtLmVycm9ycykgeyByZXR1cm47IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzRmlsZXMoZmlsZUxpc3QgYXMgRmlsZUxpc3QpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcignW0V2b1VpS2l0XTogd3JvbmcgaW5pdGlhbCB2YWx1ZSBwYXNzZWQgdG8gXCJldm8tdXBsb2FkXCIgY29tcG9uZW50LiBPbmx5IEZpbGVMaXN0IGFuZCBGaWxlW10gYXJlIGFsbG93ZWQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENvbnRyb2xFcnJvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWNvbnRyb2wuZXJyb3JzKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhjb250cm9sLmVycm9ycylbMF07XG4gICAgfVxuXG4gICAgaGFuZGxlRHJhZ092ZXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN0YXRlcy5pc0RyYWdPdmVyID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBoYW5kbGVEcmFnTGVhdmUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnN0YXRlcy5pc0RyYWdPdmVyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaGFuZGxlRHJvcChldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGNvbnN0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzO1xuXG4gICAgICAgIHRoaXMuc3RhdGVzLmlzRHJhZ092ZXIgPSBmYWxzZTtcbiAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZWFybHlWYWxpZGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lYXJseVZhbGlkYXRpb25GbihmaWxlcyk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlsZXNGb3JtLmVycm9ycykgeyByZXR1cm47IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuYWRkRmlsZXMuZW1pdChmaWxlcyk7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NGaWxlcyhmaWxlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVJdGVtUmVtb3ZlKGluZGV4KSB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRpbmcgfHwgdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5maWxlc0Zvcm0ucmVtb3ZlQXQoaW5kZXgpO1xuICAgICAgICB0aGlzLnJlbW92ZS5lbWl0KGluZGV4KTtcbiAgICB9XG5cbiAgICBoYW5kbGVSZXNldEJ1dHRvbkNsaWNrKCkge1xuICAgICAgICBpZiAodGhpcy5sb2FkaW5nIHx8IHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy53aXBlVXBsb2FkTGlzdCgpO1xuICAgIH1cblxuICAgIGhhbmRsZVN1Ym1pdEJ1dHRvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLnN1Ym1pdC5lbWl0KHRoaXMuZmlsZXNGb3JtLnZhbHVlKTtcbiAgICB9XG5cbiAgICBpbnB1dENoYW5nZShmaWxlczogRmlsZUxpc3QpIHtcbiAgICAgICAgaWYgKHRoaXMuZWFybHlWYWxpZGF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmVhcmx5VmFsaWRhdGlvbkZuKGZpbGVzKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpbGVzRm9ybS5lcnJvcnMpIHsgcmV0dXJuOyB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hZGRGaWxlcy5lbWl0KGZpbGVzKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzRmlsZXMoZmlsZXMpO1xuICAgIH1cblxuICAgIGVhcmx5VmFsaWRhdGlvbkZuKGZpbGVzOiBGaWxlTGlzdCB8IEZpbGVbXSkge1xuICAgICAgICB0aGlzLmZpbGVzRm9ybS5zZXRFcnJvcnMobnVsbCk7XG4gICAgICAgIGNvbnN0IGZpbGVzQXJyYXkgPSBBcnJheS5mcm9tKGZpbGVzKTtcbiAgICAgICAgY29uc3QgZXJyb3JzID0gW107XG4gICAgICAgIGlmICh0aGlzLm1heEZpbGVzICYmIHRoaXMuaXNGaWxlc0xlbmd0aFZhbGlkKGZpbGVzQXJyYXkpKSB7XG4gICAgICAgICAgICBlcnJvcnMucHVzaCh7IG1heEZpbGVzOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmZpbGVzU2l6ZUxpbWl0SW5CeXRlcyAmJiAhdGhpcy5pc0ZpbGVzU2l6ZVZhbGlkKGZpbGVzQXJyYXkpKSB7XG4gICAgICAgICAgICBlcnJvcnMucHVzaCh7IHNpemU6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYWNjZXB0ZWRNaW1lVHlwZXMgJiYgIXRoaXMuaXNGaWxlc0V4dGVuc2lvblZhbGlkKGZpbGVzQXJyYXkpKSB7XG4gICAgICAgICAgICBlcnJvcnMucHVzaCh7IGV4dGVuc2lvbjogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5maWxlc0Zvcm0uc2V0RXJyb3JzKE9iamVjdC5hc3NpZ24oe30sIC4uLmVycm9ycykpO1xuICAgICAgICAgICAgdGhpcy5tZXJnZUNvbnRyb2xzRXJyb3JzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0ZpbGVzTGVuZ3RoVmFsaWQoZmlsZXM6IEZpbGVbXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhGaWxlcyA8IChmaWxlcy5sZW5ndGggKyB0aGlzLmZpbGVzRm9ybS5jb250cm9scy5sZW5ndGgpO1xuICAgIH1cblxuICAgIGlzRmlsZXNTaXplVmFsaWQoZmlsZXM6IEZpbGVbXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIWZpbGVzLnNvbWUoKHsgc2l6ZSB9KSA9PiB0aGlzLmZpbGVzU2l6ZUxpbWl0SW5CeXRlcyA8IHNpemUpO1xuICAgIH1cblxuICAgIGlzRmlsZXNFeHRlbnNpb25WYWxpZChmaWxlczogRmlsZVtdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmaWxlcy5ldmVyeSgoeyB0eXBlIH0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFjY2VwdGVkTWltZVR5cGVzLmluY2x1ZGVzKHR5cGUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm9jZXNzRmlsZXMoZmlsZXM6IEZpbGVMaXN0KSB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIEFycmF5LmZyb20oZmlsZXMpLmZvckVhY2goKGZpbGU6IEZpbGUpID0+IHsgLy8gdHNsaW50OmRpc2FibGU6bm8tZm9yLWVhY2gtcHVzaFxuICAgICAgICAgICAgdGhpcy5maWxlc0Zvcm0ucHVzaChuZXcgVW50eXBlZEZvcm1Db250cm9sKGZpbGUsIFt0aGlzLmZpbGVFeHRlbnNpb25WYWxpZGF0b3IsIHRoaXMuZmlsZVNpemVWYWxpZGF0b3JdKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmlucHV0RmlsZUVsZW1lbnQgJiYgdGhpcy5pbnB1dEZpbGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRGaWxlRWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3aXBlVXBsb2FkTGlzdCgpIHtcbiAgICAgICAgd2hpbGUgKHRoaXMuZmlsZXNGb3JtLmNvbnRyb2xzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5maWxlc0Zvcm0ucmVtb3ZlQXQoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1lcmdlQ29udHJvbHNFcnJvcnMoKSB7XG4gICAgICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlcnJvcnMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmZpbGVzRm9ybS5lcnJvcnMpO1xuICAgICAgICB0aGlzLmZpbGVzRm9ybS5jb250cm9scy5mb3JFYWNoKChjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wpID0+IHtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oZXJyb3JzLCBjb250cm9sLmVycm9ycyk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0RXJyb3JzKE9iamVjdC5rZXlzKGVycm9ycykubGVuZ3RoID8gZXJyb3JzIDogbnVsbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVPbkZvcm1DaGFuZ2VzKCkge1xuICAgICAgICB0aGlzLmZpbGVzRm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLm1lcmdlQ29udHJvbHNFcnJvcnMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQGF1dG9iaW5kXG4gICAgcHJpdmF0ZSBmaWxlU2l6ZVZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZpbGVzU2l6ZUxpbWl0SW5CeXRlcykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29udHJvbC52YWx1ZS5zaXplID4gdGhpcy5maWxlc1NpemVMaW1pdEluQnl0ZXMgPyB7IHNpemU6IHRydWUgfSA6IG51bGw7XG4gICAgfVxuXG4gICAgQGF1dG9iaW5kXG4gICAgcHJpdmF0ZSBmaWxlRXh0ZW5zaW9uVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgICAgICBpZiAoIXRoaXMuYWNjZXB0ZWRNaW1lVHlwZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlsZVR5cGUgPSAoY29udHJvbC52YWx1ZSBhcyBGaWxlKS50eXBlO1xuICAgICAgICBjb25zdCBpc0V4dGVuc2lvbkFsbG93ZWQgPSB0aGlzLmFjY2VwdGVkTWltZVR5cGVzLmluY2x1ZGVzKGZpbGVUeXBlKTtcblxuICAgICAgICByZXR1cm4gaXNFeHRlbnNpb25BbGxvd2VkID8gbnVsbCA6IHsgZXh0ZW5zaW9uOiB0cnVlIH07XG4gICAgfVxuXG4gICAgQGF1dG9iaW5kXG4gICAgcHJpdmF0ZSBtYXhGaWxlc1ZhbGlkYXRvcihjb250cm9sOiBVbnR5cGVkRm9ybUFycmF5KSB7XG4gICAgICAgIGlmICghdGhpcy5tYXhGaWxlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbnRyb2wuY29udHJvbHMubGVuZ3RoID4gdGhpcy5tYXhGaWxlcyA/IHsgbWF4RmlsZXM6IHRydWUgfSA6IG51bGw7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImV2by11cGxvYWRcIj5cbiAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJldm8tdXBsb2FkX193cmFwcGVyXCJcbiAgICAgICAgW2V2b1VpQ2xhc3NdPVwie292ZXI6IHN0YXRlcy5pc0RyYWdPdmVyLCBkaXNhYmxlZDogaXNEaXNhYmxlZCB8fCBsb2FkaW5nfVwiXG4gICAgICAgIChjbGljayk9XCJvblRvdWNoZWQoKVwiXG4gICAgICAgIChkcmFnb3Zlcik9XCJoYW5kbGVEcmFnT3ZlcigkZXZlbnQpXCJcbiAgICAgICAgKGRyYWdsZWF2ZSk9XCJoYW5kbGVEcmFnTGVhdmUoJGV2ZW50KVwiXG4gICAgICAgIChkcm9wKT1cImhhbmRsZURyb3AoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8ZXZvLWljb25cbiAgICAgICAgICAgIHNoYXBlPVwidXBsb2FkXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZXZvLXVwbG9hZF9fdXBsb2FkLWljb25cIlxuICAgICAgICAgICAgW2V2b1VpQ2xhc3NdPVwie2Rpc2FibGVkOiBpc0Rpc2FibGVkIHx8IGxvYWRpbmd9XCJcbiAgICAgICAgPjwvZXZvLWljb24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXZvLXVwbG9hZF9fdGl0bGVcIiBbZXZvVWlDbGFzc109XCJ7ZGlzYWJsZWQ6IGlzRGlzYWJsZWQgfHwgbG9hZGluZ31cIj57eyBkcm9wWm9uZUxhYmVsIH19PC9zcGFuPlxuXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXZvLXVwbG9hZF9faGludFwiIFtldm9VaUNsYXNzXT1cIntkaXNhYmxlZDogaXNEaXNhYmxlZCB8fCBsb2FkaW5nfVwiPlxuICAgICAgICAgICAg0LjQu9C4XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV2by11cGxvYWRfX2Zha2UtbGlua1wiIFtldm9VaUNsYXNzXT1cIntkaXNhYmxlZDogaXNEaXNhYmxlZCB8fCBsb2FkaW5nfVwiPtC30LDQs9GA0YPQt9C40YLQtTwvc3Bhbj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkcm9wWm9uZUhpbnRcIj5cbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldm8tdXBsb2FkX19hZGRpdGlvbmFsLWhpbnRcIiBbaW5uZXJIVE1MXT1cImRyb3Bab25lSGludCB8IHNhZmVIdG1sXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjaW5wdXRGaWxlXG4gICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICBjbGFzcz1cImV2by11cGxvYWRfX2lucHV0XCJcbiAgICAgICAgICAgIFthY2NlcHRdPVwiYWNjZXB0XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8IGlzRGlzYWJsZWRcIlxuICAgICAgICAgICAgW2F0dHIubXVsdGlwbGVdPVwibWF4RmlsZXMgPT09IDEgPyBudWxsIDogdHJ1ZVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImlucHV0Q2hhbmdlKCRldmVudC50YXJnZXQuZmlsZXMpXCJcbiAgICAgICAgLz5cbiAgICA8L2xhYmVsPlxuXG4gICAgPGV2by1hbGVydCAqbmdJZj1cIiFlYXJseVZhbGlkYXRpb24gJiYgZmlsZXNGb3JtLmVycm9ycz8ubWF4RmlsZXNcIiB0eXBlPVwiZGFuZ2VyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgICDQndC10LvRjNC30Y8g0LfQsNCz0YDRg9C30LjRgtGMINCx0L7Qu9C10LUge3sgbWF4RmlsZXMgfHwgMSB8IGRlY2xpbmF0aW9uOltcItGE0LDQudC70LBcIiwgXCLRhNCw0LnQu9C+0LJcIiwgXCLRhNCw0LnQu9C+0LJcIl0gfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9ldm8tYWxlcnQ+XG4gICAgPGV2by1hbGVydCAqbmdJZj1cImVhcmx5VmFsaWRhdGlvbiAmJiBmaWxlc0Zvcm0uZXJyb3JzXCIgdHlwZT1cImRhbmdlclwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJldm8tbGlzdFwiPlxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiZmlsZXNGb3JtLmVycm9ycy5tYXhGaWxlc1wiPlxuICAgICAgICAgICAgICAgINCd0LXQu9GM0LfRjyDQt9Cw0LPRgNGD0LfQuNGC0Ywg0LHQvtC70LXQtSB7eyBtYXhGaWxlcyB8fCAxIHwgZGVjbGluYXRpb246W1wi0YTQsNC50LvQsFwiLCBcItGE0LDQudC70L7QslwiLCBcItGE0LDQudC70L7QslwiXSB9fVxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImZpbGVzRm9ybS5lcnJvcnMuc2l6ZVwiPtCc0LDQutGB0LjQvNCw0LvRjNC90YvQuSDRgNCw0LfQvNC10YAg0L7QtNC90L7Qs9C+INGE0LDQudC70LAg0L3QtSDQsdC+0LvQtdC1IHt7IGZpbGVzU2l6ZUxpbWl0VGV4dCB9fTwvbGk+XG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJmaWxlc0Zvcm0uZXJyb3JzLmV4dGVuc2lvblwiPtCS0YvQsdGA0LDQvSDRhNCw0LnQuyDQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LPQviDRhNC+0YDQvNCw0YLQsDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9ldm8tYWxlcnQ+XG5cbiAgICA8dWwgY2xhc3M9XCJldm8tdXBsb2FkX19saXN0XCI+XG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZmlsZSBvZiBmaWxlc0Zvcm0uY29udHJvbHM7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImV2by11cGxvYWRfX2xpc3QtaXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2by11cGxvYWRfX2l0ZW0taW5uZXJcIj5cbiAgICAgICAgICAgICAgICA8ZXZvLWljb24gc2hhcGU9XCJmaWxlXCIgc3ZnV2lkdGg9XCIyNFwiIHN2Z0hlaWdodD1cIjI0XCIgY2xhc3M9XCJldm8tdXBsb2FkX19maWxlLWljb25cIj48L2V2by1pY29uPlxuXG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjbGlja2FibGVGaWxlc1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZvLXVwbG9hZF9fbGluayBldm8tbGlua1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0ZpbGUuZW1pdCh7IGZpbGU6IGZpbGUudmFsdWUsIGluZGV4OiBpIH0pXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGZpbGUudmFsdWUubmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWNsaWNrYWJsZUZpbGVzXCI+e3sgZmlsZS52YWx1ZS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxldm8taWNvblxuICAgICAgICAgICAgICAgIHNoYXBlPVwiZGVjbGluZVwiXG4gICAgICAgICAgICAgICAgc3ZnV2lkdGg9XCIyNFwiXG4gICAgICAgICAgICAgICAgc3ZnSGVpZ2h0PVwiMjRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZvLXVwbG9hZF9fYnV0dG9uLXJlbW92ZVwiXG4gICAgICAgICAgICAgICAgW2V2b1VpQ2xhc3NdPVwie2Rpc2FibGVkOiBsb2FkaW5nIHx8IGlzRGlzYWJsZWR9XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlSXRlbVJlbW92ZShpKVwiXG4gICAgICAgICAgICA+PC9ldm8taWNvbj5cblxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZvLXVwbG9hZF9fbGlzdC1kZWxpbWl0ZXJcIlxuICAgICAgICAgICAgICAgIFtldm9VaUNsYXNzXT1cIntlcnJvcjogZmlsZXNGb3JtLmNvbnRyb2xzW2ldLmVycm9yc31cIlxuICAgICAgICAgICAgICAgIFtuZ1N3aXRjaF09XCJnZXRDb250cm9sRXJyb3IoZmlsZXNGb3JtLmNvbnRyb2xzW2ldKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NpemUnXCI+0KDQsNC30LzQtdGAINGE0LDQudC70LAg0L/RgNC10LLRi9GI0LDQtdGCINC00L7Qv9GD0YHRgtC40LzRi9C5PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2V4dGVuc2lvbidcIj7QndC10LLQtdGA0L3Ri9C5INGE0L7RgNC80LDRgiDRhNCw0LnQu9CwPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuXG4gICAgPGRpdiAqbmdJZj1cImZpbGVzRm9ybS5jb250cm9scy5sZW5ndGhcIiBjbGFzcz1cImV2by11cGxvYWRfX2NvbnRyb2xzXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiIWhpZGVDbGVhckJ1dHRvblwiXG4gICAgICAgICAgICBldm9CdXR0b25cbiAgICAgICAgICAgIGNvbG9yPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIHRoZW1lPVwicm91bmRlZC1vdXRsaW5lXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8IGlzRGlzYWJsZWRcIlxuICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlUmVzZXRCdXR0b25DbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAg0KPQtNCw0LvQuNGC0Ywg0LLRgdGRXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cIiFoaWRlU3VibWl0QnV0dG9uXCJcbiAgICAgICAgICAgIGV2b0J1dHRvblxuICAgICAgICAgICAgY29sb3I9XCJzdWNjZXNzXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZXZvLXVwbG9hZF9fc3VibWl0XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmaWxlc0Zvcm0uaW52YWxpZCB8fCBsb2FkaW5nIHx8IGlzRGlzYWJsZWRcIlxuICAgICAgICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU3VibWl0QnV0dG9uQ2xpY2soKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgINCX0LDQs9GA0YPQt9C40YLRjFxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -7,20 +7,19 @@ import { iconClose } from '@evotor-dev/ui-kit/icons/header';
|
|
|
7
7
|
import { iconDecline, iconFile, iconUpload } from '@evotor-dev/ui-kit/icons/system';
|
|
8
8
|
import { EvoUiKitModule } from '../../evo-ui-kit.module';
|
|
9
9
|
import { EvoPipesModule } from '../../pipes/evo-pipes.module';
|
|
10
|
-
import {
|
|
10
|
+
import { EvoAlertModule } from '../evo-alert/evo-alert.module';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "../evo-icon/evo-icon.module";
|
|
13
13
|
export class EvoUploadModule {
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
15
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
16
|
-
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EvoUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
15
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EvoUploadModule, declarations: [EvoUploadComponent], imports: [CommonModule,
|
|
16
|
+
EvoAlertModule,
|
|
17
17
|
EvoButtonModule, i1.EvoIconModule, EvoPipesModule,
|
|
18
18
|
EvoUiKitModule], exports: [EvoUploadComponent] }); }
|
|
19
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
20
|
-
|
|
19
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EvoUploadModule, imports: [CommonModule,
|
|
20
|
+
EvoAlertModule,
|
|
21
21
|
EvoButtonModule,
|
|
22
|
-
EvoIconModule.forRoot([
|
|
23
|
-
{
|
|
22
|
+
EvoIconModule.forRoot([{
|
|
24
23
|
name: 'icons',
|
|
25
24
|
shapes: {
|
|
26
25
|
close: iconClose,
|
|
@@ -28,20 +27,18 @@ export class EvoUploadModule {
|
|
|
28
27
|
file: iconFile,
|
|
29
28
|
upload: iconUpload,
|
|
30
29
|
},
|
|
31
|
-
},
|
|
32
|
-
]),
|
|
30
|
+
}]),
|
|
33
31
|
EvoPipesModule,
|
|
34
32
|
EvoUiKitModule] }); }
|
|
35
33
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EvoUploadModule, decorators: [{
|
|
37
35
|
type: NgModule,
|
|
38
36
|
args: [{
|
|
39
37
|
imports: [
|
|
40
38
|
CommonModule,
|
|
41
|
-
|
|
39
|
+
EvoAlertModule,
|
|
42
40
|
EvoButtonModule,
|
|
43
|
-
EvoIconModule.forRoot([
|
|
44
|
-
{
|
|
41
|
+
EvoIconModule.forRoot([{
|
|
45
42
|
name: 'icons',
|
|
46
43
|
shapes: {
|
|
47
44
|
close: iconClose,
|
|
@@ -49,8 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
49
46
|
file: iconFile,
|
|
50
47
|
upload: iconUpload,
|
|
51
48
|
},
|
|
52
|
-
},
|
|
53
|
-
]),
|
|
49
|
+
}]),
|
|
54
50
|
EvoPipesModule,
|
|
55
51
|
EvoUiKitModule,
|
|
56
52
|
],
|
|
@@ -58,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
58
54
|
exports: [EvoUploadComponent],
|
|
59
55
|
}]
|
|
60
56
|
}] });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLXVwbG9hZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tdXBsb2FkL2V2by11cGxvYWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFzQi9ELE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxpQkFIVCxrQkFBa0IsYUFmN0IsWUFBWTtZQUNaLGNBQWM7WUFDZCxlQUFlLG9CQVVmLGNBQWM7WUFDZCxjQUFjLGFBR1Isa0JBQWtCO2dIQUVuQixlQUFlLFlBbEJwQixZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWU7WUFDZixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ25CLElBQUksRUFBRSxPQUFPO29CQUNiLE1BQU0sRUFBRTt3QkFDSixLQUFLLEVBQUUsU0FBUzt3QkFDaEIsT0FBTyxFQUFFLFdBQVc7d0JBQ3BCLElBQUksRUFBRSxRQUFRO3dCQUNkLE1BQU0sRUFBRSxVQUFVO3FCQUNyQjtpQkFDSixDQUFDLENBQUM7WUFDSCxjQUFjO1lBQ2QsY0FBYzs7NEZBS1QsZUFBZTtrQkFwQjNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQ0FDbkIsSUFBSSxFQUFFLE9BQU87Z0NBQ2IsTUFBTSxFQUFFO29DQUNKLEtBQUssRUFBRSxTQUFTO29DQUNoQixPQUFPLEVBQUUsV0FBVztvQ0FDcEIsSUFBSSxFQUFFLFFBQVE7b0NBQ2QsTUFBTSxFQUFFLFVBQVU7aUNBQ3JCOzZCQUNKLENBQUMsQ0FBQzt3QkFDSCxjQUFjO3dCQUNkLGNBQWM7cUJBQ2pCO29CQUNELFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUNsQyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZvVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9ldm8tdXBsb2FkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFdm9CdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9ldm8tYnV0dG9uL2V2by1idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFdm9JY29uTW9kdWxlIH0gZnJvbSAnLi4vZXZvLWljb24vZXZvLWljb24ubW9kdWxlJztcbmltcG9ydCB7IGljb25DbG9zZSB9IGZyb20gJ0Bldm90b3ItZGV2L3VpLWtpdC9pY29ucy9oZWFkZXInO1xuaW1wb3J0IHsgaWNvbkRlY2xpbmUsIGljb25GaWxlLCBpY29uVXBsb2FkIH0gZnJvbSAnQGV2b3Rvci1kZXYvdWkta2l0L2ljb25zL3N5c3RlbSc7XG5pbXBvcnQgeyBFdm9VaUtpdE1vZHVsZSB9IGZyb20gJy4uLy4uL2V2by11aS1raXQubW9kdWxlJztcbmltcG9ydCB7IEV2b1BpcGVzTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGlwZXMvZXZvLXBpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBFdm9BbGVydE1vZHVsZSB9IGZyb20gJy4uL2V2by1hbGVydC9ldm8tYWxlcnQubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRXZvQWxlcnRNb2R1bGUsXG4gICAgICAgIEV2b0J1dHRvbk1vZHVsZSxcbiAgICAgICAgRXZvSWNvbk1vZHVsZS5mb3JSb290KFt7XG4gICAgICAgICAgICBuYW1lOiAnaWNvbnMnLFxuICAgICAgICAgICAgc2hhcGVzOiB7XG4gICAgICAgICAgICAgICAgY2xvc2U6IGljb25DbG9zZSxcbiAgICAgICAgICAgICAgICBkZWNsaW5lOiBpY29uRGVjbGluZSxcbiAgICAgICAgICAgICAgICBmaWxlOiBpY29uRmlsZSxcbiAgICAgICAgICAgICAgICB1cGxvYWQ6IGljb25VcGxvYWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9XSksXG4gICAgICAgIEV2b1BpcGVzTW9kdWxlLFxuICAgICAgICBFdm9VaUtpdE1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW0V2b1VwbG9hZENvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0V2b1VwbG9hZENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEV2b1VwbG9hZE1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -20,15 +20,15 @@ export class EvoClickOutsideDirective {
|
|
|
20
20
|
this.evoClickOutside.emit(event);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
24
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EvoClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
24
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EvoClickOutsideDirective, selector: "[evoClickOutside]", outputs: { evoClickOutside: "evoClickOutside" }, host: { listeners: { "document:click": "onClick($event,$event.target)", "document:touchstart": "onTouchStart($event,$event.target)" } }, ngImport: i0 }); }
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EvoClickOutsideDirective, decorators: [{
|
|
27
27
|
type: Directive,
|
|
28
28
|
args: [{
|
|
29
29
|
selector: '[evoClickOutside]',
|
|
30
30
|
}]
|
|
31
|
-
}], ctorParameters: ()
|
|
31
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { evoClickOutside: [{
|
|
32
32
|
type: Output
|
|
33
33
|
}], onClick: [{
|
|
34
34
|
type: HostListener,
|
|
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
37
37
|
type: HostListener,
|
|
38
38
|
args: ['document:touchstart', ['$event', '$event.target']]
|
|
39
39
|
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWNsaWNrLW91dHNpZGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2RpcmVjdGl2ZXMvZXZvLWNsaWNrLW91dHNpZGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzFGLE1BQU0sT0FBTyx3QkFBd0I7SUFLakMsWUFBb0IsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFGcEMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRzVDLENBQUM7SUFHTSxPQUFPLENBQThDLEtBQVEsRUFBRSxhQUFnQjtRQUNsRixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFHTSxZQUFZLENBQThDLEtBQVEsRUFBRSxhQUFnQjtRQUN2RixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxtQkFBbUIsQ0FBOEMsS0FBUSxFQUFFLGFBQWdCO1FBQ3ZGLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEIsT0FBTztTQUNWO1FBQ0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDOytHQTFCUSx3QkFBd0I7bUdBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFIcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2lCQUNoQztpR0FJVSxlQUFlO3NCQURyQixNQUFNO2dCQU9BLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUM7Z0JBTXBELFlBQVk7c0JBRGxCLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2V2b0NsaWNrT3V0c2lkZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBFdm9DbGlja091dHNpZGVEaXJlY3RpdmUge1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGV2b0NsaWNrT3V0c2lkZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50JywgJyRldmVudC50YXJnZXQnXSlcbiAgICBwdWJsaWMgb25DbGljazxUIGV4dGVuZHMgTW91c2VFdmVudCwgRiBleHRlbmRzIEhUTUxFbGVtZW50PihldmVudDogVCwgdGFyZ2V0RWxlbWVudDogRikge1xuICAgICAgICB0aGlzLmNsaWNrT3JUb3VjaE91dHNpZGUoZXZlbnQsIHRhcmdldEVsZW1lbnQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OnRvdWNoc3RhcnQnLCBbJyRldmVudCcsICckZXZlbnQudGFyZ2V0J10pXG4gICAgcHVibGljIG9uVG91Y2hTdGFydDxUIGV4dGVuZHMgTW91c2VFdmVudCwgRiBleHRlbmRzIEhUTUxFbGVtZW50PihldmVudDogVCwgdGFyZ2V0RWxlbWVudDogRikge1xuICAgICAgICB0aGlzLmNsaWNrT3JUb3VjaE91dHNpZGUoZXZlbnQsIHRhcmdldEVsZW1lbnQpO1xuICAgIH1cblxuICAgIGNsaWNrT3JUb3VjaE91dHNpZGU8VCBleHRlbmRzIE1vdXNlRXZlbnQsIEYgZXh0ZW5kcyBIVE1MRWxlbWVudD4oZXZlbnQ6IFQsIHRhcmdldEVsZW1lbnQ6IEYpIHtcbiAgICAgICAgaWYgKCF0YXJnZXRFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XG4gICAgICAgICAgICB0aGlzLmV2b0NsaWNrT3V0c2lkZS5lbWl0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -53,19 +53,19 @@ export class EvoIsExpandedDirective {
|
|
|
53
53
|
this.viewContainer.clear();
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
57
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EvoIsExpandedDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.EvoExpandedService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
57
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EvoIsExpandedDirective, selector: "[evoIsExpanded]", inputs: { evoIsExpanded: "evoIsExpanded" }, outputs: { evoIsExpandedChange: "evoIsExpandedChange" }, usesOnChanges: true, ngImport: i0 }); }
|
|
58
58
|
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EvoIsExpandedDirective, decorators: [{
|
|
60
60
|
type: Directive,
|
|
61
61
|
args: [{
|
|
62
62
|
selector: '[evoIsExpanded]'
|
|
63
63
|
}]
|
|
64
|
-
}], ctorParameters: ()
|
|
64
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.EvoExpandedService, decorators: [{
|
|
65
65
|
type: Optional
|
|
66
|
-
}] }], propDecorators: { evoIsExpanded: [{
|
|
66
|
+
}] }]; }, propDecorators: { evoIsExpanded: [{
|
|
67
67
|
type: Input
|
|
68
68
|
}], evoIsExpandedChange: [{
|
|
69
69
|
type: Output
|
|
70
70
|
}] } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWlzLWV4cGFuZGVkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9kaXJlY3RpdmVzL2V2by1pcy1leHBhbmRlZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLFFBQVEsRUFDUixNQUFNLEVBSVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sc0JBQXNCO0lBTS9CLFlBQ1ksV0FBNkIsRUFDN0IsYUFBK0IsRUFDbkIsZUFBbUM7UUFGL0MsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUNuQixvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFQakQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFekQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFNbkMsQ0FBQztJQUVMLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUN4RDtRQUNELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDakUsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEIsT0FBTzthQUNWO1lBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1NBQ2hEO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixJQUFJLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FDeEMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDM0IsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckIsSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDN0M7WUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sVUFBVTtRQUNkLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdkQsT0FBTztTQUNWO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzNEO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzlCO0lBQ0wsQ0FBQzsrR0ExRFEsc0JBQXNCO21HQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtpQkFDOUI7OzBCQVVRLFFBQVE7NENBUkosYUFBYTtzQkFBckIsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEV2b0V4cGFuZGVkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V2by1leHBhbmRlZC5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZXZvSXNFeHBhbmRlZF0nXG59KVxuZXhwb3J0IGNsYXNzIEV2b0lzRXhwYW5kZWREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBldm9Jc0V4cGFuZGVkOiBib29sZWFuO1xuICAgIEBPdXRwdXQoKSBldm9Jc0V4cGFuZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZXhwYW5kZWRTZXJ2aWNlOiBFdm9FeHBhbmRlZFNlcnZpY2UsXG4gICAgKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5leHBhbmRlZFNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWRTZXJ2aWNlLmlzRXhwYW5kZWQgPSB0aGlzLmV2b0lzRXhwYW5kZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gICAgICAgIHRoaXMuaGFuZGxlRXhwYW5kZWRDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmV2b0lzRXhwYW5kZWQgJiYgIWNoYW5nZXMuZXZvSXNFeHBhbmRlZC5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzRXhwYW5kZWQgPSBjaGFuZ2VzLmV2b0lzRXhwYW5kZWQuY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmV4cGFuZGVkU2VydmljZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXZvSXNFeHBhbmRlZENoYW5nZS5lbWl0KGlzRXhwYW5kZWQpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWRTZXJ2aWNlLmlzRXhwYW5kZWQgPSBpc0V4cGFuZGVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgaGFuZGxlRXhwYW5kZWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWRTZXJ2aWNlPy5pc0V4cGFuZGVkQ2hhbmdlJC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICAgICkuc3Vic2NyaWJlKGlzRXhwYW5kZWQgPT4ge1xuICAgICAgICAgICAgaWYgKGlzRXhwYW5kZWQgIT09IHRoaXMuZXZvSXNFeHBhbmRlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXZvSXNFeHBhbmRlZCA9IGlzRXhwYW5kZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5ldm9Jc0V4cGFuZGVkQ2hhbmdlLmVtaXQoaXNFeHBhbmRlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVWaWV3KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ldm9Jc0V4cGFuZGVkICYmIHRoaXMudmlld0NvbnRhaW5lci5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ldm9Jc0V4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -25,21 +25,21 @@ export class EvoLetDirective {
|
|
|
25
25
|
static ngTemplateContextGuard(dir, ctx) {
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
29
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EvoLetDirective, deps: [{ token: ViewContainerRef }, { token: TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EvoLetDirective, selector: "[evoLet]", inputs: { evoLet: "evoLet" }, ngImport: i0 }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EvoLetDirective, decorators: [{
|
|
32
32
|
type: Directive,
|
|
33
33
|
args: [{
|
|
34
34
|
selector: '[evoLet]',
|
|
35
35
|
}]
|
|
36
|
-
}], ctorParameters: ()
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef, decorators: [{
|
|
37
37
|
type: Inject,
|
|
38
38
|
args: [ViewContainerRef]
|
|
39
39
|
}] }, { type: i0.TemplateRef, decorators: [{
|
|
40
40
|
type: Inject,
|
|
41
41
|
args: [TemplateRef]
|
|
42
|
-
}] }], propDecorators: { evoLet: [{
|
|
42
|
+
}] }]; }, propDecorators: { evoLet: [{
|
|
43
43
|
type: Input
|
|
44
44
|
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWxldC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvZGlyZWN0aXZlcy9ldm8tbGV0L2V2by1sZXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBRXRGLE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQTZCLEdBQXVCO1FBQXZCLFFBQUcsR0FBSCxHQUFHLENBQW9CO0lBQUcsQ0FBQztJQUV4RCxJQUFXLE1BQU07UUFDYixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7Q0FDSjtBQUVEOzs7R0FHRztBQUlILE1BQU0sT0FBTyxlQUFlO0lBR3hCLFlBQzhCLGFBQStCLEVBQ3BDLFdBQTBDO1FBRS9ELGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxhQUFhLENBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBWUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsc0JBQXNCLENBQUksR0FBdUIsRUFBRSxHQUFRO1FBQzlELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7K0dBNUJRLGVBQWUsa0JBSVosZ0JBQWdCLGFBQ2hCLFdBQVc7bUdBTGQsZUFBZTs7NEZBQWYsZUFBZTtrQkFIM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsVUFBVTtpQkFDdkI7OzBCQUtRLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDdkIsTUFBTTsyQkFBQyxXQUFXOzRDQUpkLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbmplY3QsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBFdm9MZXRDb250ZXh0PFQ+IHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpcjogRXZvTGV0RGlyZWN0aXZlPFQ+KSB7fVxuXG4gICAgcHVibGljIGdldCBldm9MZXQoKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpci5ldm9MZXQ7XG4gICAgfVxufVxuXG4vKipcbiAqIFdvcmtzIGxpa2UgbmdJZiwgYnV0IGNvbmRpdGlvbiBub3QgYWZmZWN0cyBvbiByZW5kZXJpbmcuXG4gKiBVc2VkIGZvciBhbGlhc2VzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tldm9MZXRdJyxcbn0pXG5leHBvcnQgY2xhc3MgRXZvTGV0RGlyZWN0aXZlPFQ+IHtcbiAgICBASW5wdXQoKSBldm9MZXQhOiBUO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVmlld0NvbnRhaW5lclJlZikgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQEluamVjdChUZW1wbGF0ZVJlZikgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPEV2b0xldENvbnRleHQ8VD4+LFxuICAgICkge1xuICAgICAgICB2aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZVJlZiwgbmV3IEV2b0xldENvbnRleHQ8VD4odGhpcykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFzc2VydCB0aGUgY29ycmVjdCB0eXBlIG9mIHRoZSBleHByZXNzaW9uIGJvdW5kIHRvIHRoZSBgZXZvTGV0YCBpbnB1dCB3aXRoaW4gdGhlIHRlbXBsYXRlLlxuICAgICAqXG4gICAgICogVGhlIHByZXNlbmNlIG9mIHRoaXMgc3RhdGljIGZpZWxkIGlzIGEgc2lnbmFsIHRvIHRoZSBJdnkgdGVtcGxhdGUgdHlwZSBjaGVjayBjb21waWxlciB0aGF0XG4gICAgICogd2hlbiB0aGUgYEV2b0xldERpcmVjdGl2ZWAgc3RydWN0dXJhbCBkaXJlY3RpdmUgcmVuZGVycyBpdHMgdGVtcGxhdGUsIHRoZSB0eXBlIG9mIHRoZSBleHByZXNzaW9uIGJvdW5kXG4gICAgICogdG8gYGV2b0xldGAgc2hvdWxkIGJlIG5hcnJvd2VkIGluIHNvbWUgd2F5LiBGb3IgYEV2b0xldERpcmVjdGl2ZWAsIHRoZSBiaW5kaW5nIGV4cHJlc3Npb24gaXRzZWxmIGlzIHVzZWQgdG9cbiAgICAgKiBuYXJyb3cgaXRzIHR5cGUsIHdoaWNoIGFsbG93cyB0aGUgc3RyaWN0TnVsbENoZWNrcyBmZWF0dXJlIG9mIFR5cGVTY3JpcHQgdG8gd29yayB3aXRoIGBFdm9MZXREaXJlY3RpdmVgLlxuICAgICAqL1xuICAgIHN0YXRpYyBuZ1RlbXBsYXRlR3VhcmRfZXZvTGV0OiAnYmluZGluZyc7XG5cbiAgICAvKipcbiAgICAgKiBBc3NlcnRzIHRoZSBjb3JyZWN0IHR5cGUgb2YgdGhlIGNvbnRleHQgZm9yIHRoZSB0ZW1wbGF0ZSB0aGF0IGBFdm9MZXREaXJlY3RpdmVgIHdpbGwgcmVuZGVyLlxuICAgICAqXG4gICAgICogVGhlIHByZXNlbmNlIG9mIHRoaXMgbWV0aG9kIGlzIGEgc2lnbmFsIHRvIHRoZSBJdnkgdGVtcGxhdGUgdHlwZS1jaGVjayBjb21waWxlciB0aGF0IHRoZVxuICAgICAqIGBFdm9MZXREaXJlY3RpdmVgIHN0cnVjdHVyYWwgZGlyZWN0aXZlIHJlbmRlcnMgaXRzIHRlbXBsYXRlIHdpdGggYSBzcGVjaWZpYyBjb250ZXh0IHR5cGUuXG4gICAgICovXG4gICAgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQ8VD4oZGlyOiBFdm9MZXREaXJlY3RpdmU8VD4sIGN0eDogYW55KTogY3R4IGlzIEV2b0xldENvbnRleHQ8VD4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
|