keevo-components 2.0.269 → 2.0.270

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.
@@ -0,0 +1,140 @@
1
+ import { ImageCutterService } from './../../api/services/image.cutter.service';
2
+ import { Component, inject, model, viewChild, input, output } from '@angular/core';
3
+ import { NotificationService } from '../../api/services/notification.service';
4
+ import { CommonModule } from '@angular/common';
5
+ import { ButtonModule } from 'primeng/button';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "primeng/button";
8
+ export class KvImageUploadComponentNew {
9
+ constructor() {
10
+ this.notificationService = inject(NotificationService);
11
+ this.imageCutterService = inject(ImageCutterService);
12
+ this.file = null;
13
+ this.fileSrc = model(null);
14
+ this.widthComponent = input('auto');
15
+ this.heightComponent = input('auto');
16
+ this.maxHeightImage = input('400px');
17
+ this.description = input();
18
+ this.cutImage = input(false);
19
+ this.cutWidth = input(0);
20
+ this.cutHeight = input(0);
21
+ this.cutCircle = input(false);
22
+ this.maintainAspectRatio = input(true);
23
+ this.fileEmit = output();
24
+ this.deleteEmit = output();
25
+ this.fileInput = viewChild('fileInput');
26
+ }
27
+ onDragOver(event) {
28
+ event.preventDefault();
29
+ event.stopPropagation();
30
+ this.addDragOverClass(event);
31
+ }
32
+ onDragLeave(event) {
33
+ event.preventDefault();
34
+ event.stopPropagation();
35
+ this.removeDragOverClass(event);
36
+ }
37
+ onDrop(event) {
38
+ event.preventDefault();
39
+ event.stopPropagation();
40
+ this.removeDragOverClass(event);
41
+ if (event.dataTransfer && event.dataTransfer.files.length > 0) {
42
+ this.handleFile(event.dataTransfer.files[0]);
43
+ }
44
+ }
45
+ onFileSelected(event) {
46
+ const inputElement = event.target;
47
+ if (inputElement.files && inputElement.files.length > 0) {
48
+ this.handleFile(inputElement.files[0]);
49
+ }
50
+ }
51
+ triggerClick() {
52
+ if (!this.fileSrc()) {
53
+ this.fileInput()?.nativeElement.click();
54
+ }
55
+ }
56
+ handleFile(file) {
57
+ if (file.type.startsWith('image/')) {
58
+ if (this.cutImage() == true) {
59
+ const reader = new FileReader();
60
+ reader.onload = async () => {
61
+ try {
62
+ const result = await this.imageCutterService.cut(reader.result?.toString() ?? '', this.cutWidth(), this.cutHeight(), this.cutCircle(), false, this.maintainAspectRatio());
63
+ if (result) {
64
+ this.file = file;
65
+ this.fileSrc.set(result);
66
+ const processedFile = this.base64ToFile(this.fileSrc(), this.file?.name ?? 'file.png');
67
+ this.fileEmit.emit(processedFile);
68
+ }
69
+ else {
70
+ const inputEl = this.fileInput();
71
+ if (inputEl) {
72
+ inputEl.nativeElement.value = '';
73
+ }
74
+ }
75
+ }
76
+ catch (error) {
77
+ console.error('Erro ao cortar a imagem:', error);
78
+ this.notificationService.toastError('Erro ao cortar a imagem');
79
+ }
80
+ };
81
+ reader.readAsDataURL(file);
82
+ }
83
+ else {
84
+ this.file = file;
85
+ const reader = new FileReader();
86
+ reader.onload = () => {
87
+ this.fileSrc.set(reader.result);
88
+ };
89
+ reader.readAsDataURL(file);
90
+ this.fileEmit.emit(file);
91
+ }
92
+ }
93
+ else {
94
+ this.notificationService.toastError('Apenas arquivos de imagem são permitidos.');
95
+ }
96
+ }
97
+ base64ToFile(base64String, fileName) {
98
+ // Extrair o tipo MIME da string base64
99
+ const arr = base64String.split(',');
100
+ const mime = arr[0].match(/:(.*?);/)[1];
101
+ // Converter Base64 para Binário
102
+ const binaryString = atob(arr[1]);
103
+ const len = binaryString.length;
104
+ const uint8Array = new Uint8Array(len);
105
+ for (let i = 0; i < len; i++) {
106
+ uint8Array[i] = binaryString.charCodeAt(i);
107
+ }
108
+ // Criar um Blob e, em seguida, um objeto File
109
+ const blob = new Blob([uint8Array], { type: mime });
110
+ const file = new File([blob], fileName, { type: mime });
111
+ return file;
112
+ }
113
+ addDragOverClass(event) {
114
+ const container = event.target;
115
+ container.classList.add('dragover');
116
+ }
117
+ removeDragOverClass(event) {
118
+ const container = event.target;
119
+ container.classList.remove('dragover');
120
+ }
121
+ deleteImage() {
122
+ this.file = null;
123
+ this.fileSrc.set(null);
124
+ const inputEl = this.fileInput();
125
+ if (inputEl) {
126
+ inputEl.nativeElement.value = '';
127
+ }
128
+ this.deleteEmit.emit();
129
+ }
130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvImageUploadComponentNew, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
131
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvImageUploadComponentNew, isStandalone: true, selector: "kv-image-upload-new", inputs: { fileSrc: { classPropertyName: "fileSrc", publicName: "fileSrc", isSignal: true, isRequired: false, transformFunction: null }, widthComponent: { classPropertyName: "widthComponent", publicName: "widthComponent", isSignal: true, isRequired: false, transformFunction: null }, heightComponent: { classPropertyName: "heightComponent", publicName: "heightComponent", isSignal: true, isRequired: false, transformFunction: null }, maxHeightImage: { classPropertyName: "maxHeightImage", publicName: "maxHeightImage", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, cutImage: { classPropertyName: "cutImage", publicName: "cutImage", isSignal: true, isRequired: false, transformFunction: null }, cutWidth: { classPropertyName: "cutWidth", publicName: "cutWidth", isSignal: true, isRequired: false, transformFunction: null }, cutHeight: { classPropertyName: "cutHeight", publicName: "cutHeight", isSignal: true, isRequired: false, transformFunction: null }, cutCircle: { classPropertyName: "cutCircle", publicName: "cutCircle", isSignal: true, isRequired: false, transformFunction: null }, maintainAspectRatio: { classPropertyName: "maintainAspectRatio", publicName: "maintainAspectRatio", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fileSrc: "fileSrcChange", fileEmit: "fileEmit", deleteEmit: "deleteEmit" }, host: { properties: { "style.width": "widthComponent()", "style.height": "heightComponent()" } }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\r\n class=\"file-upload-container\"\r\n [class.has-file]=\"fileSrc()\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (drop)=\"onDrop($event)\"\r\n (click)=\"triggerClick()\"\r\n>\r\n <input\r\n type=\"file\"\r\n #fileInput\r\n (change)=\"onFileSelected($event)\"\r\n accept=\"image/*\"\r\n hidden\r\n />\r\n\r\n @if (!fileSrc()) {\r\n <div class=\"dropzone-content\">\r\n <div class=\"cloud-icon-wrapper\">\r\n <span class=\"material-symbols-outlined\">cloud_upload</span>\r\n </div>\r\n <div class=\"text-content\">\r\n @if (description()) {\r\n <p class=\"main-text description-text\">{{ description() }}</p>\r\n } @else {\r\n <p class=\"main-text\">\r\n <span class=\"blue-text\">Clique para selecionar</span> ou arraste uma\r\n imagem aqui\r\n </p>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (fileSrc() || file) {\r\n <div class=\"preview-wrapper\">\r\n <img\r\n [src]=\"fileSrc()\"\r\n [alt]=\"file?.name\"\r\n class=\"preview-image\"\r\n [style.maxHeight]=\"maxHeightImage()\"\r\n />\r\n\r\n <button\r\n pButton\r\n (click)=\"deleteImage(); $event.stopPropagation()\"\r\n class=\"delete-button\"\r\n [text]=\"true\"\r\n [icon]=\"'pi pi-trash'\"\r\n ></button>\r\n </div>\r\n }\r\n</div>", styles: [":host{display:block}.file-upload-container{width:100%;border:1px dashed #cbd5e1;border-radius:.75rem;background-color:#f8fafc;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease-in-out;position:relative;padding:1.5rem;box-sizing:border-box;height:100%;overflow:hidden}.file-upload-container:hover,.file-upload-container.dragover{border-color:#3b82f6!important;background-color:#eff6ff}.file-upload-container.has-file{cursor:default;border-color:#cbd5e1;padding:0;border-style:solid;overflow:hidden;min-height:160px}.file-upload-container.has-file:hover{border-color:#3b82f6!important}.dropzone-content{display:flex;flex-direction:column;align-items:center;pointer-events:none;width:100%}.cloud-icon-wrapper{background-color:#e0f2fe;color:#3b82f6;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.cloud-icon-wrapper span{font-size:24px}.text-content{text-align:center}.main-text{font-size:.875rem;color:#4b5563;margin:0}.main-text.description-text{font-weight:600}.main-text .blue-text{color:#2563eb;font-weight:600}.sub-text{font-size:.75rem;color:#9ca3af;margin:.25rem 0 0}.preview-wrapper{width:100%;height:100%;min-height:160px;background-color:#f1f5f9;position:relative;display:flex;align-items:center;justify-content:center}.preview-image{width:auto;height:auto;max-width:100%;display:block;object-fit:contain}.image-preview-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.delete-button{position:absolute;top:0;right:0;width:2rem;height:2rem;background-color:transparent!important;color:#b91c1c!important;transition:color .5s ease;border:none}.delete-button:hover{color:#ef4444!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }] }); }
132
+ }
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvImageUploadComponentNew, decorators: [{
134
+ type: Component,
135
+ args: [{ selector: 'kv-image-upload-new', standalone: true, imports: [CommonModule, ButtonModule], host: {
136
+ '[style.width]': 'widthComponent()',
137
+ '[style.height]': 'heightComponent()',
138
+ }, template: "<div\r\n class=\"file-upload-container\"\r\n [class.has-file]=\"fileSrc()\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (drop)=\"onDrop($event)\"\r\n (click)=\"triggerClick()\"\r\n>\r\n <input\r\n type=\"file\"\r\n #fileInput\r\n (change)=\"onFileSelected($event)\"\r\n accept=\"image/*\"\r\n hidden\r\n />\r\n\r\n @if (!fileSrc()) {\r\n <div class=\"dropzone-content\">\r\n <div class=\"cloud-icon-wrapper\">\r\n <span class=\"material-symbols-outlined\">cloud_upload</span>\r\n </div>\r\n <div class=\"text-content\">\r\n @if (description()) {\r\n <p class=\"main-text description-text\">{{ description() }}</p>\r\n } @else {\r\n <p class=\"main-text\">\r\n <span class=\"blue-text\">Clique para selecionar</span> ou arraste uma\r\n imagem aqui\r\n </p>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (fileSrc() || file) {\r\n <div class=\"preview-wrapper\">\r\n <img\r\n [src]=\"fileSrc()\"\r\n [alt]=\"file?.name\"\r\n class=\"preview-image\"\r\n [style.maxHeight]=\"maxHeightImage()\"\r\n />\r\n\r\n <button\r\n pButton\r\n (click)=\"deleteImage(); $event.stopPropagation()\"\r\n class=\"delete-button\"\r\n [text]=\"true\"\r\n [icon]=\"'pi pi-trash'\"\r\n ></button>\r\n </div>\r\n }\r\n</div>", styles: [":host{display:block}.file-upload-container{width:100%;border:1px dashed #cbd5e1;border-radius:.75rem;background-color:#f8fafc;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease-in-out;position:relative;padding:1.5rem;box-sizing:border-box;height:100%;overflow:hidden}.file-upload-container:hover,.file-upload-container.dragover{border-color:#3b82f6!important;background-color:#eff6ff}.file-upload-container.has-file{cursor:default;border-color:#cbd5e1;padding:0;border-style:solid;overflow:hidden;min-height:160px}.file-upload-container.has-file:hover{border-color:#3b82f6!important}.dropzone-content{display:flex;flex-direction:column;align-items:center;pointer-events:none;width:100%}.cloud-icon-wrapper{background-color:#e0f2fe;color:#3b82f6;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.cloud-icon-wrapper span{font-size:24px}.text-content{text-align:center}.main-text{font-size:.875rem;color:#4b5563;margin:0}.main-text.description-text{font-weight:600}.main-text .blue-text{color:#2563eb;font-weight:600}.sub-text{font-size:.75rem;color:#9ca3af;margin:.25rem 0 0}.preview-wrapper{width:100%;height:100%;min-height:160px;background-color:#f1f5f9;position:relative;display:flex;align-items:center;justify-content:center}.preview-image{width:auto;height:auto;max-width:100%;display:block;object-fit:contain}.image-preview-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.delete-button{position:absolute;top:0;right:0;width:2rem;height:2rem;background-color:transparent!important;color:#b91c1c!important;transition:color .5s ease;border:none}.delete-button:hover{color:#ef4444!important}\n"] }]
139
+ }] });
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtaW1hZ2UtdXBsb2FkLW5ldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi1pbWFnZS11cGxvYWQtbmV3L2t2LWltYWdlLXVwbG9hZC1uZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW1hZ2UtdXBsb2FkLW5ldy9rdi1pbWFnZS11cGxvYWQtbmV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFjOUMsTUFBTSxPQUFPLHlCQUF5QjtJQVp0QztRQWNVLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xELHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXhELFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBRXpCLFlBQU8sR0FBRyxLQUFLLENBQThCLElBQUksQ0FBQyxDQUFDO1FBRW5ELG1CQUFjLEdBQUcsS0FBSyxDQUFTLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLG9CQUFlLEdBQUcsS0FBSyxDQUFTLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLG1CQUFjLEdBQUcs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QWdCLENBQUMsS0FBZ0I7UUFDL0IsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDOUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQWdCO1FBQ2xDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFxQixDQUFDO1FBQzlDLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDbkMsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0ExSlUseUJBQXlCO2tHQUF6Qix5QkFBeUIsNHZEQ2xCdEMsaTdDQW9ETSxrekREekNNLFlBQVksOEJBQUUsWUFBWTs7MkZBT3pCLHlCQUF5QjtrQkFackMsU0FBUzsrQkFDRSxxQkFBcUIsY0FHbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUMvQjt3QkFDSixlQUFlLEVBQUUsa0JBQWtCO3dCQUNuQyxnQkFBZ0IsRUFBRSxtQkFBbUI7cUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW1hZ2VDdXR0ZXJTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9hcGkvc2VydmljZXMvaW1hZ2UuY3V0dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGluamVjdCwgbW9kZWwsIHZpZXdDaGlsZCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1pbWFnZS11cGxvYWQtbmV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4va3YtaW1hZ2UtdXBsb2FkLW5ldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2t2LWltYWdlLXVwbG9hZC1uZXcuY29tcG9uZW50LnNjc3MnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uTW9kdWxlXSxcclxuICBob3N0OiB7XHJcbiAgICAnW3N0eWxlLndpZHRoXSc6ICd3aWR0aENvbXBvbmVudCgpJyxcclxuICAgICdbc3R5bGUuaGVpZ2h0XSc6ICdoZWlnaHRDb21wb25lbnQoKScsXHJcbiAgfSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBLdkltYWdlVXBsb2FkQ29tcG9uZW50TmV3IHtcclxuXHJcbiAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlID0gaW5qZWN0KE5vdGlmaWNhdGlvblNlcnZpY2UpO1xyXG4gIHByaXZhdGUgaW1hZ2VDdXR0ZXJTZXJ2aWNlID0gaW5qZWN0KEltYWdlQ3V0dGVyU2VydmljZSk7XHJcblxyXG4gIGZpbGU6IEZpbGUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgZmlsZVNyYyA9IG1vZGVsPHN0cmluZyB8IEFycmF5QnVmZmVyIHwgbnVsbD4obnVsbCk7XHJcblxyXG4gIHdpZHRoQ29tcG9uZW50ID0gaW5wdXQ8c3RyaW5nPignYXV0bycpO1xyXG4gIGhlaWdodENvbXBvbmVudCA9IGlucHV0PHN0cmluZz4oJ2F1dG8nKTtcclxuICBtYXhIZWlnaHRJbWFnZSA9IGlucHV0PHN0cmluZz4oJzQwMHB4Jyk7XHJcbiAgZGVzY3JpcHRpb24gPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XHJcbiAgY3V0SW1hZ2UgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgY3V0V2lkdGggPSBpbnB1dDxudW1iZXI+KDApO1xyXG4gIGN1dEhlaWdodCA9IGlucHV0PG51bWJlcj4oMCk7XHJcbiAgY3V0Q2lyY2xlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIG1haW50YWluQXNwZWN0UmF0aW8gPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHJcbiAgZmlsZUVtaXQgPSBvdXRwdXQ8RmlsZT4oKTtcclxuICBkZWxldGVFbWl0ID0gb3V0cHV0PHZvaWQ+KCk7XHJcblxyXG4gIGZpbGVJbnB1dCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PignZmlsZUlucHV0Jyk7XHJcblxyXG4gIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5hZGREcmFnT3ZlckNsYXNzKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMucmVtb3ZlRHJhZ092ZXJDbGFzcyhldmVudCk7XHJcbiAgfVxyXG5cclxuICBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5yZW1vdmVEcmFnT3ZlckNsYXNzKGV2ZW50KTtcclxuXHJcbiAgICBpZiAoZXZlbnQuZGF0YVRyYW5zZmVyICYmIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlRmlsZShldmVudC5kYXRhVHJhbnNmZXIuZmlsZXNbMF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25GaWxlU2VsZWN0ZWQoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuXHJcbiAgICBpZiAoaW5wdXRFbGVtZW50LmZpbGVzICYmIGlucHV0RWxlbWVudC5maWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlRmlsZShpbnB1dEVsZW1lbnQuZmlsZXNbMF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdHJpZ2dlckNsaWNrKCkge1xyXG4gICAgaWYgKCF0aGlzLmZpbGVTcmMoKSkge1xyXG4gICAgICB0aGlzLmZpbGVJbnB1dCgpPy5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVGaWxlKGZpbGU6IEZpbGUpIHtcclxuICAgIGlmIChmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcclxuICAgICAgaWYgKHRoaXMuY3V0SW1hZ2UoKSA9PSB0cnVlKSB7XHJcblxyXG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9IGFzeW5jICgpID0+IHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuaW1hZ2VDdXR0ZXJTZXJ2aWNlLmN1dChcclxuICAgICAgICAgICAgICByZWFkZXIucmVzdWx0Py50b1N0cmluZygpID8/ICcnLFxyXG4gICAgICAgICAgICAgIHRoaXMuY3V0V2lkdGgoKSxcclxuICAgICAgICAgICAgICB0aGlzLmN1dEhlaWdodCgpLFxyXG4gICAgICAgICAgICAgIHRoaXMuY3V0Q2lyY2xlKCksXHJcbiAgICAgICAgICAgICAgZmFsc2UsXHJcbiAgICAgICAgICAgICAgdGhpcy5tYWludGFpbkFzcGVjdFJhdGlvKCksXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgdGhpcy5maWxlID0gZmlsZTtcclxuICAgICAgICAgICAgICB0aGlzLmZpbGVTcmMuc2V0KHJlc3VsdCk7XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgY29uc3QgcHJvY2Vzc2VkRmlsZSA9IHRoaXMuYmFzZTY0VG9GaWxlKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5maWxlU3JjKCkgYXMgc3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5maWxlPy5uYW1lID8/ICdmaWxlLnBuZycsXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB0aGlzLmZpbGVFbWl0LmVtaXQocHJvY2Vzc2VkRmlsZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaW5wdXRFbCA9IHRoaXMuZmlsZUlucHV0KCk7XHJcbiAgICAgICAgICAgICAgaWYgKGlucHV0RWwpIHtcclxuICAgICAgICAgICAgICAgIGlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJybyBhbyBjb3J0YXIgYSBpbWFnZW06JywgZXJyb3IpO1xyXG4gICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcignRXJybyBhbyBjb3J0YXIgYSBpbWFnZW0nKTsgXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmZpbGUgPSBmaWxlO1xyXG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZmlsZVNyYy5zZXQocmVhZGVyLnJlc3VsdCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICAgICAgICB0aGlzLmZpbGVFbWl0LmVtaXQoZmlsZSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS50b2FzdEVycm9yKFxyXG4gICAgICAgICdBcGVuYXMgYXJxdWl2b3MgZGUgaW1hZ2VtIHPDo28gcGVybWl0aWRvcy4nLFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYmFzZTY0VG9GaWxlKGJhc2U2NFN0cmluZzogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKSB7XHJcbiAgICAvLyBFeHRyYWlyIG8gdGlwbyBNSU1FIGRhIHN0cmluZyBiYXNlNjRcclxuICAgIGNvbnN0IGFyciA9IGJhc2U2NFN0cmluZy5zcGxpdCgnLCcpO1xyXG4gICAgY29uc3QgbWltZSA9IGFyclswXS5tYXRjaCgvOiguKj8pOy8pIVsxXTtcclxuXHJcbiAgICAvLyBDb252ZXJ0ZXIgQmFzZTY0IHBhcmEgQmluw6FyaW9cclxuICAgIGNvbnN0IGJpbmFyeVN0cmluZyA9IGF0b2IoYXJyWzFdKTtcclxuICAgIGNvbnN0IGxlbiA9IGJpbmFyeVN0cmluZy5sZW5ndGg7XHJcbiAgICBjb25zdCB1aW50OEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkobGVuKTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgIHVpbnQ4QXJyYXlbaV0gPSBiaW5hcnlTdHJpbmcuY2hhckNvZGVBdChpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDcmlhciB1bSBCbG9iIGUsIGVtIHNlZ3VpZGEsIHVtIG9iamV0byBGaWxlXHJcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3VpbnQ4QXJyYXldLCB7IHR5cGU6IG1pbWUgfSk7XHJcbiAgICBjb25zdCBmaWxlID0gbmV3IEZpbGUoW2Jsb2JdLCBmaWxlTmFtZSwgeyB0eXBlOiBtaW1lIH0pO1xyXG5cclxuICAgIHJldHVybiBmaWxlO1xyXG4gIH1cclxuXHJcbiAgYWRkRHJhZ092ZXJDbGFzcyhldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnZHJhZ292ZXInKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZURyYWdPdmVyQ2xhc3MoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgY29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoJ2RyYWdvdmVyJyk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVJbWFnZSgpIHtcclxuICAgIHRoaXMuZmlsZSA9IG51bGw7XHJcbiAgICB0aGlzLmZpbGVTcmMuc2V0KG51bGwpO1xyXG5cclxuICAgIGNvbnN0IGlucHV0RWwgPSB0aGlzLmZpbGVJbnB1dCgpO1xyXG4gICAgaWYgKGlucHV0RWwpIHtcclxuICAgICAgaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRlbGV0ZUVtaXQuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJmaWxlLXVwbG9hZC1jb250YWluZXJcIlxyXG4gIFtjbGFzcy5oYXMtZmlsZV09XCJmaWxlU3JjKClcIlxyXG4gIChkcmFnb3Zlcik9XCJvbkRyYWdPdmVyKCRldmVudClcIlxyXG4gIChkcmFnbGVhdmUpPVwib25EcmFnTGVhdmUoJGV2ZW50KVwiXHJcbiAgKGRyb3ApPVwib25Ecm9wKCRldmVudClcIlxyXG4gIChjbGljayk9XCJ0cmlnZ2VyQ2xpY2soKVwiXHJcbj5cclxuICA8aW5wdXRcclxuICAgIHR5cGU9XCJmaWxlXCJcclxuICAgICNmaWxlSW5wdXRcclxuICAgIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICBhY2NlcHQ9XCJpbWFnZS8qXCJcclxuICAgIGhpZGRlblxyXG4gIC8+XHJcblxyXG4gIEBpZiAoIWZpbGVTcmMoKSkge1xyXG4gICAgPGRpdiBjbGFzcz1cImRyb3B6b25lLWNvbnRlbnRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNsb3VkLWljb24td3JhcHBlclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmNsb3VkX3VwbG9hZDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNvbnRlbnRcIj5cclxuICAgICAgICBAaWYgKGRlc2NyaXB0aW9uKCkpIHtcclxuICAgICAgICAgIDxwIGNsYXNzPVwibWFpbi10ZXh0IGRlc2NyaXB0aW9uLXRleHRcIj57eyBkZXNjcmlwdGlvbigpIH19PC9wPlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgPHAgY2xhc3M9XCJtYWluLXRleHRcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJibHVlLXRleHRcIj5DbGlxdWUgcGFyYSBzZWxlY2lvbmFyPC9zcGFuPiBvdSBhcnJhc3RlIHVtYVxyXG4gICAgICAgICAgICBpbWFnZW0gYXF1aVxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcblxyXG4gIEBpZiAoZmlsZVNyYygpIHx8IGZpbGUpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LXdyYXBwZXJcIj5cclxuICAgICAgPGltZ1xyXG4gICAgICAgIFtzcmNdPVwiZmlsZVNyYygpXCJcclxuICAgICAgICBbYWx0XT1cImZpbGU/Lm5hbWVcIlxyXG4gICAgICAgIGNsYXNzPVwicHJldmlldy1pbWFnZVwiXHJcbiAgICAgICAgW3N0eWxlLm1heEhlaWdodF09XCJtYXhIZWlnaHRJbWFnZSgpXCJcclxuICAgICAgLz5cclxuXHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBwQnV0dG9uXHJcbiAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUltYWdlKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgY2xhc3M9XCJkZWxldGUtYnV0dG9uXCJcclxuICAgICAgICBbdGV4dF09XCJ0cnVlXCJcclxuICAgICAgICBbaWNvbl09XCIncGkgcGktdHJhc2gnXCJcclxuICAgICAgPjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj4iXX0=
@@ -343,4 +343,5 @@ export * from './lib/components/kv-file-upload-new/kv-file-upload-new.component'
343
343
  export * from './lib/components/kv-accordion/kv-accordion.component';
344
344
  export * from './lib/components/kv-card-color/kv-card-color.component';
345
345
  export * from './lib/components/kv-progress-bar-new/kv-progress-bar-new.component';
346
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSDs7R0FFRztBQUNILGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywwQ0FBMEMsQ0FBQztBQUt6RDs7R0FFRztBQUNILGNBQWMsNEJBQTRCLENBQUM7QUFHM0M7O0dBRUc7QUFDSCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRDs7R0FFRztBQUNILGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRDs7R0FFRztBQUNILGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMseUNBQXlDLENBQUM7QUFD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O0dBRUc7QUFDSCxjQUFjLG1HQUFtRyxDQUFDO0FBQ2xILGNBQWMsK0VBQStFLENBQUM7QUFDOUYsY0FBYyw2REFBNkQsQ0FBQztBQUU1RTs7R0FFRztBQUNILGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxtREFBbUQsQ0FBQztBQUVsRSx1Q0FBdUM7QUFFdkMsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLGtHQUFrRyxDQUFDO0FBRWpILGNBQWMsd0RBQXdELENBQUM7QUFFdkUsY0FBYyw0REFBNEQsQ0FBQTtBQUUxRSxjQUFjLGtFQUFrRSxDQUFBO0FBRWhGLGNBQWMsc0RBQXNELENBQUE7QUFFcEUsY0FBYyx3REFBd0QsQ0FBQztBQUV2RSxjQUFjLG9FQUFvRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGtlZXZvLWNvbXBvbmVudHNcclxuICovXHJcblxyXG4vKipcclxuICogQ2xhc3NlcyBiYXNlIGRlIGNvbXBvbmVudGVzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWJ1dHRvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtY2hhcnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWNydWQtZm9ybSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtY3J1ZC1saXN0JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1jcnVkJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1kcm9wZG93bi1leHRlcm5hbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtZHJvcGRvd24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWlucHV0JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1tdWx0aS1zZWxlY3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LXRhYmxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudCc7XHJcblxyXG5cclxuXHJcblxyXG4vKipcclxuICogVHlwZXNcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS90eXBlcy9rdi1zdmVyaXR5JztcclxuXHJcblxyXG4vKipcclxuICogSGVscGVyc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2hlbHBlcnMvY29tcG9uZW50LXByb3ZpZGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9oZWxwZXJzL2tlZXZvLXZhbGlkYXRvcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvaGVscGVycy90cmFuc2xhdGUtcHJpbWVuZyc7XHJcblxyXG4vKipcclxuICogUGlwZXNcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9waXBlcy9jcGZjbnBqLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvcGlwZXMvbWFzay5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3BpcGVzL3BpcGVzLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9waXBlcy90ZWxlZm9uZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3BpcGVzL2NhcGl0YWxpemUucGlwZSc7XHJcblxyXG4vKipcclxuICogU2VydmljZXNcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcy9iYXNlLmFwaS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3NlcnZpY2VzL2JyZWFkY3J1bWJzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMvY29tcG9uZW50LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMvZG9jcy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3NlcnZpY2VzL2Zvcm0uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcy9pbWFnZW5zLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMvb2JqZWN0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMvY2hhdC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3NlcnZpY2VzL2ltYWdlLmN1dHRlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3NlcnZpY2VzL2VudW0udXRpbHMuc2VydmljZSc7XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBQcmltZU5HXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvbW9kdWxlcy9wcmltZW5nLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva2Vldm8tY29tcG9uZW50cy5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIENoYXJ0c1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQuY29uZmlnJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWNoYXJ0L2t2LWNoYXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtY2hhcnQva3YtY2hhcnQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBFcnJvclxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1lcnJvci9rdi1lcnJvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWVycm9yL2t2LWVycm9yLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogQnV0dG9uc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1idXR0b25zL2t2LWJ1dHRvbi1wZXJzb25hbGl6ZS9rdi1idXR0b24tcGVyc29uYWxpemUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1idXR0b25zL2t2LWJ1dHRvbi1wb3B1cC9rdi1idXR0b24tcG9wdXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1idXR0b25zL2t2LWJ1dHRvbi1zZWNvbmRhcnkva3YtYnV0dG9uLXNlY29uZGFyeS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWJ1dHRvbnMva3YtYnV0dG9uLXN1Y2Nlc3Mva3YtYnV0dG9uLXN1Y2Nlc3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1idXR0b25zL2t2LWJ1dHRvbi5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWJ1dHRvbi9rdi1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1idXR0b24va3YtYnV0dG9uLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL2J1dHRvbi9idXR0b24ubW9kZWwnO1xyXG5cclxuLyoqXHJcbiAqIElucHV0c1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvZHJvcGRvd24vZmlsdHJvLmNvbWJvJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtY2hlY2sva3YtY2hlY2suY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtZHJvcGRvd24va3YtZHJvcGRvd24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtZWRpdG9yL2t2LWVkaXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1lZGl0b3Iva3YtZWRpdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtaW5wdXQtY2FsZW5kYXIva3YtaW5wdXQtY2FsZW5kYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtaW5wdXQtbWFzay9rdi1pbnB1dC1tYXNrLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LW51bWJlci9rdi1pbnB1dC1udW1iZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtaW5wdXQtcGFzc3dvcmQva3YtaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtaW5wdXQtdGV4dC1jaGVja2JveC9rdi1pbnB1dC10ZXh0LWNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LXRleHQva3YtaW5wdXQtdGV4dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC10ZXh0YXJlYS9rdi1pbnB1dC10ZXh0YXJlYS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC10aW1lL2t2LWlucHV0LXRpbWUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtaW5wdXRzLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LW11bHRpLXNlbGVjdC9rdi1tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtcmFkaW8tZ3JvdXAva3YtcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3Ytc3dpdGNoL2t2LXN3aXRjaC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1zZWxlY3QtYnV0dG9uL2t2LXNlbGVjdC1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3Ytc2VsZWN0LWJ1dHRvbnMva3Ytc2VsZWN0LWJ1dHRvbnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtdHJlZS1tdWx0aS1zZWxlY3Qva3YtdHJlZS1tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtaW5wdXQtdGV4dC1hZGRvbi9rdi1pbnB1dC10ZXh0LWFkZG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LW51bWJlci1hZGRvbi9rdi1pbnB1dC1udW1iZXItYWRkb24uY29tcG9uZW50JztcclxuXHJcblxyXG4vKipcclxuICogT3JnY2hhcnRcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3Ytb3JnY2hhcnQva3Ytb3JnY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1vcmdjaGFydC9rdi1vcmdjaGFydC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMvb3JnY2hhcnQuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogUGlja2xpc3RcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcGljay1saXN0L2t2LXBpY2stbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXBpY2stbGlzdC9rdi1waWNrLWxpc3QubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBDb25maXJtYXRpb25Nb2RhbFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1jb25maXJtYXRpb24tbW9kYWwva3YtY29uZmlybWF0aW9uLW1vZGFsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtY29uZmlybWF0aW9uLW1vZGFsL2t2LWNvbmZpcm1hdGlvbi1tb2RhbC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIGVkaXRcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL3RhYmxlL3RhYmxlZGl0LmNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL3RhYmxlL3RhYmxlZWRpdC5jb25maWcuY29sdW1uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10YWJsZS1lZGl0L2t2LXRhYmxlLWVkaXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10YWJsZS1lZGl0L2t2LXRhYmxlLWVkaXQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZVxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvdGFibGUvYWN0aW9uLWl0ZW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvY29tcG9uZW50cy90YWJsZS9rdi1tZW51aXRlbSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbmZpZy5jb2x1bW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvY29tcG9uZW50cy90YWJsZS90YWJsZS5wYWdpbmF0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdGFibGUva3YtdGFibGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10YWJsZS9rdi10YWJsZS5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFRyZWVUYWJsZVxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10cmVlLXRhYmxlL2t2LXRyZWUtdGFibGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10cmVlLXRhYmxlL2t2LXRyZWUtdGFibGUubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBFeHBhbmRhYmxlXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlLWV4cGFuZGFibGUva3YtdGFibGUtZXhwYW5kYWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlLWV4cGFuZGFibGUva3YtdGFibGUtZXhwYW5kYWJsZS5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIFZpZXdlclxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10YWJsZS12aWV3ZXIva3YtdGFibGUtdmlld2VyLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogTGlzdCBEZXRhaWxlZFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1kZXRhaWxlZC1saXN0L2t2LWRldGFpbGVkLWxpc3QuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBUcmVldmlld1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10cmVlLXZpZXcva3YtdHJlZS12aWV3LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdHJlZS12aWV3L2t2LXRyZWUtdmlldy5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgZGUgbWVudSArIGxheW91dFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1sYXlvdXQvbGF5b3V0L2t2LWxheW91dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC9rdi1sYXlvdXQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIGRlIGxvZ2luXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWxvZ2luL2t2LWxvZ2luLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtbG9naW4va3YtbG9naW4ubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIGRlIHdvcmtzcGFjZXNcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3Ytd29ya3NwYWNlL2t2LXdvcmtzcGFjZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXdvcmtzcGFjZS93b3Jrc3BhY2Uva3Ytd29ya3NwYWNlLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogRm9ybXVsw6FyaW8gYmFzZVxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1wYWdlLWZvcm0va3YtcGFnZS1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcGFnZS1mb3JtL2t2LXBhZ2UtZm9ybS5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFBhZ2UtU3RlcHBlclxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1wYWdlLXN0ZXBwZXIva3YtcGFnZS1zdGVwcGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcGFnZS1zdGVwcGVyL2t2LXBhZ2Utc3RlcHBlci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvY29tcG9uZW50cy9zdGVwcGVyLy9rdi1zdGVwcGVycGFuZWwnO1xyXG5cclxuLyoqXHJcbiAqIEt2LVN0ZXBcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3Ytc3RlcHMva3Ytc3RlcHMuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBEaXJldGl2YXNcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9kaXJlY3RpdmVzL3RlbXBsYXRlL3RlbXBsYXRlLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9kaXJlY3RpdmVzL2RyYWcvZHJhZy5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvZGlyZWN0aXZlcy9zdGVwcGVyL2R5bmFtaWNpbnB1dC5kaXJlY3RpdmUnO1xyXG5cclxuLyoqXHJcbiAqIExvYWRlclxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1sb2FkZXIva3YtbG9hZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtbG9hZGVyL2t2LWxvYWRlci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWxvYWRlci9rdi1sb2FkZXIuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQ2Fyb3VzZWxcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtY2Fyb3VzZWwva3YtY2Fyb3VzZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1jYXJvdXNlbC9rdi1jYXJvdXNlbC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFByb2dyZXNzIEJhclxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1wcm9ncmVzcy1iYXIva3YtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcHJvZ3Jlc3MtYmFyL2t2LXByb2dyZXNzLWJhci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXByb2dyZXNzLWJhci1hbHRlcm5hdGl2ZS9rdi1wcm9ncmVzcy1iYXItYWx0ZXJuYXRpdmUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1wcm9ncmVzcy1iYXItYWx0ZXJuYXRpdmUva3YtcHJvZ3Jlc3MtYmFyLWFsdGVybmF0aXZlLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogTW9kYWxcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtbW9kYWwva3YtbW9kYWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1tb2RhbC9rdi1tb2RhbC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFN0ZXBwZXJcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3Ytc3RlcHBlci9rdi1zdGVwcGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3Ytc3RlcHBlci9rdi1zdGVwcGVyLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogSW1hZ2UgVXBsb2FkXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWltYWdlLXVwbG9hZC9rdi1pbWFnZS11cGxvYWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbWFnZS11cGxvYWQva3YtaW1hZ2UtdXBsb2FkLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogRmlsZSBVcGxvYWQnXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWZpbGUtdXBsb2FkL2t2LWZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZmlsZS11cGxvYWQva3YtZmlsZS11cGxvYWQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBSZXBvcnRcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcmVwb3J0L2t2LXJlcG9ydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXJlcG9ydC9rdi1yZXBvcnQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBGaWx0ZXIgQ2FyZFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1maWx0ZXItY2FyZC9rdi1maWx0ZXItY2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWZpbHRlci1jYXJkL2t2LWZpbHRlci1jYXJkLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogRmlsdGVyIEZpZWxkc2V0XHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWZpbHRlci1maWVsZHNldC9rdi1maWx0ZXItZmllbGRzZXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1maWx0ZXItZmllbGRzZXQva3YtZmlsdGVyLWZpZWxkc2V0Lm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogRyBpY29uXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWctaWNvbi9rdi1nLWljb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1nLWljb24va3YtZy1pY29uLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogRmlsZS1WaWV3ZXJcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZmlsZS12aWV3ZXIva3YtZmlsZS12aWV3ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1maWxlLXZpZXdlci9rdi1maWxlLXZpZXdlci5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIEZpbGUtVmlld2VyIE5vdm9cclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZmlsZS12aWV3ZXItbm92by9rdi1maWxlLXZpZXdlci1ub3ZvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZmlsZS12aWV3ZXItbm92by9rdi1maWxlLXZpZXdlci1ub3ZvLm1vZHVsZSc7XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbnRlbnQtVmlld2VyIFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1jb250ZW50LXZpZXdlci9rdi1jb250ZW50LXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWNvbnRlbnQtdmlld2VyL2t2LWNvbnRlbnQtdmlld2VyLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZXMgY29tdW5zIHV0aWxpemFkb3Mgbm8ga2VleFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1ob21lLWNhcmQva3YtaG9tZS1jYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaG9tZS1jYXJkL2t2LWhvbWUtY2FyZC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIEF2YXRhclxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1hdmF0YXIva3YtYXZhdGFyLmNvbXBvbmVudCc7XHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtYXZhdGFyL2t2LWNyb3AtaW1hZ2Uva3YtY3JvcC1pbWFnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWF2YXRhci9rdi1hdmF0YXIubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBDYXJkIFNlbGVjdGlvblxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1jYXJkLXNlbGVjdGlvbi9rdi1jYXJkLXNlbGVjdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWNhcmQtc2VsZWN0aW9uL2t2LWNhcmQtc2VsZWN0aW9uLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogQ2FyZCBNZXNzYWdlXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWNhcmQtbWVzc2FnZS9rdi1jYXJkLW1lc3NhZ2UuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBUQUdcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdGFnL2t2LXRhZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhZy9rdi10YWcubW9kdWxlJztcclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIEZpbHRlciBDYXJkc1xyXG4qL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWZpbHRlci1jYXJkcy9rdi1maWx0ZXItY2FyZHMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1maWx0ZXItY2FyZHMva3YtZmlsdGVyLWNhcmRzLmNvbXBvbmVudCc7XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBUYWdzXHJcbiovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdGFncy9rdi10YWdzLm1vZHVsZSc7XHJcbmV4cG9ydCB7IEt2VGFnQ29uZmlnLCBLdlRhZ3NDb21wb25lbnQgfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhZ3Mva3YtdGFncy5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIFRpbWVsaW5lXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRpbWVsaW5lL2t2LXRpbWVsaW5lLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogSWNvblxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pY29uL2t2LWljb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pY29uL2t2LWljb24ubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pY29uL2t2LWljb24ubW9kZWwnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBXaWRnZXQgQ2FyZFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi13aWRnZXQtY2FyZC9rdi13aWRnZXQtY2FyZC5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIFN0YWNrZWQgQmFyIENoYXJ0XHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXN0YWNrZWQtYmFyLWNoYXJ0L2t2LXN0YWNrZWQtYmFyLWNoYXJ0LmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogVGFibGUgRHJhZ2dhYmxlXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlLWRyYWdnYWJsZS9rdi10YWJsZS1kcmFnZ2FibGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10YWJsZS1kcmFnZ2FibGUva3YtdGFibGUtZHJhZ2dhYmxlLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogVHJlZSBFbnZpcm9ubWVudFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10cmVlLWVudmlyb25tZW50L2NvbXBvbmVudHMva3YtdHJlZS1lbnZpcm9ubWVudC9rdi10cmVlLWVudmlyb25tZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdHJlZS1lbnZpcm9ubWVudC9jb21wb25lbnRzL25vLWFydm9yZS9uby1hcnZvcmUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10cmVlLWVudmlyb25tZW50L21vZGVscy9uby1hcnZvcmUubW9kZWwnO1xyXG5cclxuLyoqXHJcbiAqIEthbmJhblxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1rYW5iYW4va3Yta2FuYmFuLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3Yta2FuYmFuL2t2LWthbmJhbi1tb2RlbHMubW9kZWwnO1xyXG5cclxuLy8gZXhwb3J0ICogZnJvbSAnLi93ZWJwYWNrL21mZS1zaGFyZWQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWluc3RydWN0aW9uLXBhZ2Uva3YtaW5zdHJ1Y3Rpb24tcGFnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWluc3RydWN0aW9uLXBhZ2UvY29tcG9uZW50cy9jYXJkcy1pbnN0cnVjdGlvbi9rdi1jYXJkcy1pbnN0cnVjdGlvbi5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtY2hpcHMva3YtY2hpcHMuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3Ytc2VsZWN0LWNhcmRzL2t2LXNlbGVjdC1jYXJkcy5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWZpbGUtdXBsb2FkLW5ldy9rdi1maWxlLXVwbG9hZC1uZXcuY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1hY2NvcmRpb24va3YtYWNjb3JkaW9uLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtY2FyZC1jb2xvci9rdi1jYXJkLWNvbG9yLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXByb2dyZXNzLWJhci1uZXcva3YtcHJvZ3Jlc3MtYmFyLW5ldy5jb21wb25lbnQnOyJdfQ==
346
+ export * from './lib/components/kv-image-upload-new/kv-image-upload-new.component';
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSDs7R0FFRztBQUNILGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywwQ0FBMEMsQ0FBQztBQUt6RDs7R0FFRztBQUNILGNBQWMsNEJBQTRCLENBQUM7QUFHM0M7O0dBRUc7QUFDSCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRDs7R0FFRztBQUNILGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRDs7R0FFRztBQUNILGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMseUNBQXlDLENBQUM7QUFD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O0dBRUc7QUFDSCxjQUFjLG1HQUFtRyxDQUFDO0FBQ2xILGNBQWMsK0VBQStFLENBQUM7QUFDOUYsY0FBYyw2REFBNkQsQ0FBQztBQUU1RTs7R0FFRztBQUNILGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxtREFBbUQsQ0FBQztBQUVsRSx1Q0FBdUM7QUFFdkMsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLGtHQUFrRyxDQUFDO0FBRWpILGNBQWMsd0RBQXdELENBQUM7QUFFdkUsY0FBYyw0REFBNEQsQ0FBQTtBQUUxRSxjQUFjLGtFQUFrRSxDQUFBO0FBRWhGLGNBQWMsc0RBQXNELENBQUE7QUFFcEUsY0FBYyx3REFBd0QsQ0FBQztBQUV2RSxjQUFjLG9FQUFvRSxDQUFDO0FBRW5GLGNBQWMsb0VBQW9FLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Yga2Vldm8tY29tcG9uZW50c1xyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBDbGFzc2VzIGJhc2UgZGUgY29tcG9uZW50ZXNcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtYnV0dG9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1jaGFydCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtY3J1ZC1mb3JtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1jcnVkLWxpc3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWNydWQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWRyb3Bkb3duLWV4dGVybmFsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1kcm9wZG93bic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtaW5wdXQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LW11bHRpLXNlbGVjdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtdGFibGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBUeXBlc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3R5cGVzL2t2LXN2ZXJpdHknO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBIZWxwZXJzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvaGVscGVycy9jb21wb25lbnQtcHJvdmlkZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2hlbHBlcnMva2Vldm8tdmFsaWRhdG9ycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9oZWxwZXJzL3RyYW5zbGF0ZS1wcmltZW5nJztcclxuXHJcbi8qKlxyXG4gKiBQaXBlc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3BpcGVzL2NwZmNucGoucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9waXBlcy9tYXNrLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvcGlwZXMvcGlwZXMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3BpcGVzL3RlbGVmb25lLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvcGlwZXMvY2FwaXRhbGl6ZS5waXBlJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3NlcnZpY2VzL2Jhc2UuYXBpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMvYnJlYWRjcnVtYnMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcy9jb21wb25lbnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcy9kb2NzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3NlcnZpY2VzL2ltYWdlbnMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcy9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcy9vYmplY3Quc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcy9jaGF0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMvaW1hZ2UuY3V0dGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMvZW51bS51dGlscy5zZXJ2aWNlJztcclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIFByaW1lTkdcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9tb2R1bGVzL3ByaW1lbmcubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rZWV2by1jb21wb25lbnRzLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogQ2hhcnRzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvY29tcG9uZW50cy9jaGFydC9jaGFydC5jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvY29tcG9uZW50cy9jaGFydC9jaGFydC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtY2hhcnQva3YtY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1jaGFydC9rdi1jaGFydC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIEVycm9yXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWVycm9yL2t2LWVycm9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZXJyb3Iva3YtZXJyb3IubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBCdXR0b25zXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWJ1dHRvbnMva3YtYnV0dG9uLXBlcnNvbmFsaXplL2t2LWJ1dHRvbi1wZXJzb25hbGl6ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWJ1dHRvbnMva3YtYnV0dG9uLXBvcHVwL2t2LWJ1dHRvbi1wb3B1cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWJ1dHRvbnMva3YtYnV0dG9uLXNlY29uZGFyeS9rdi1idXR0b24tc2Vjb25kYXJ5LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtYnV0dG9ucy9rdi1idXR0b24tc3VjY2Vzcy9rdi1idXR0b24tc3VjY2Vzcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWJ1dHRvbnMva3YtYnV0dG9uLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtYnV0dG9uL2t2LWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWJ1dHRvbi9rdi1idXR0b24ubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5tb2RlbCc7XHJcblxyXG4vKipcclxuICogSW5wdXRzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvY29tcG9uZW50cy9kcm9wZG93bi9maWx0cm8uY29tYm8nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1jaGVjay9rdi1jaGVjay5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1kcm9wZG93bi9rdi1kcm9wZG93bi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1lZGl0b3Iva3YtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWVkaXRvci9rdi1lZGl0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC1jYWxlbmRhci9rdi1pbnB1dC1jYWxlbmRhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC1tYXNrL2t2LWlucHV0LW1hc2suY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtaW5wdXQtbnVtYmVyL2t2LWlucHV0LW51bWJlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC1wYXNzd29yZC9rdi1pbnB1dC1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC10ZXh0LWNoZWNrYm94L2t2LWlucHV0LXRleHQtY2hlY2tib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtaW5wdXQtdGV4dC9rdi1pbnB1dC10ZXh0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LXRleHRhcmVhL2t2LWlucHV0LXRleHRhcmVhLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWlucHV0LXRpbWUva3YtaW5wdXQtdGltZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dHMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtbXVsdGktc2VsZWN0L2t2LW11bHRpLXNlbGVjdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1yYWRpby1ncm91cC9rdi1yYWRpby1ncm91cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1zd2l0Y2gva3Ytc3dpdGNoLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LXNlbGVjdC1idXR0b24va3Ytc2VsZWN0LWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1zZWxlY3QtYnV0dG9ucy9rdi1zZWxlY3QtYnV0dG9ucy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi10cmVlLW11bHRpLXNlbGVjdC9rdi10cmVlLW11bHRpLXNlbGVjdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1pbnB1dC10ZXh0LWFkZG9uL2t2LWlucHV0LXRleHQtYWRkb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtaW5wdXQtbnVtYmVyLWFkZG9uL2t2LWlucHV0LW51bWJlci1hZGRvbi5jb21wb25lbnQnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBPcmdjaGFydFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1vcmdjaGFydC9rdi1vcmdjaGFydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LW9yZ2NoYXJ0L2t2LW9yZ2NoYXJ0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcy9vcmdjaGFydC5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBQaWNrbGlzdFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1waWNrLWxpc3Qva3YtcGljay1saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcGljay1saXN0L2t2LXBpY2stbGlzdC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpcm1hdGlvbk1vZGFsXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWNvbmZpcm1hdGlvbi1tb2RhbC9rdi1jb25maXJtYXRpb24tbW9kYWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1jb25maXJtYXRpb24tbW9kYWwva3YtY29uZmlybWF0aW9uLW1vZGFsLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogVGFibGUgZWRpdFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGVkaXQuY29uZmlnJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGVlZGl0LmNvbmZpZy5jb2x1bW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlLWVkaXQva3YtdGFibGUtZWRpdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlLWVkaXQva3YtdGFibGUtZWRpdC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvY29tcG9uZW50cy90YWJsZS9hY3Rpb24taXRlbSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL3RhYmxlL2t2LW1lbnVpdGVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29uZmlnLmNvbHVtbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL3RhYmxlL3RhYmxlLnBhZ2luYXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10YWJsZS9rdi10YWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlL2t2LXRhYmxlLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogVHJlZVRhYmxlXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRyZWUtdGFibGUva3YtdHJlZS10YWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRyZWUtdGFibGUva3YtdHJlZS10YWJsZS5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIEV4cGFuZGFibGVcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdGFibGUtZXhwYW5kYWJsZS9rdi10YWJsZS1leHBhbmRhYmxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdGFibGUtZXhwYW5kYWJsZS9rdi10YWJsZS1leHBhbmRhYmxlLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogVGFibGUgVmlld2VyXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlLXZpZXdlci9rdi10YWJsZS12aWV3ZXIuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBMaXN0IERldGFpbGVkXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWRldGFpbGVkLWxpc3Qva3YtZGV0YWlsZWQtbGlzdC5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIFRyZWV2aWV3XHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRyZWUtdmlldy9rdi10cmVlLXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10cmVlLXZpZXcva3YtdHJlZS12aWV3Lm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBkZSBtZW51ICsgbGF5b3V0XHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWxheW91dC9sYXlvdXQva3YtbGF5b3V0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtbGF5b3V0L2t2LWxheW91dC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgZGUgbG9naW5cclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtbG9naW4va3YtbG9naW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1sb2dpbi9rdi1sb2dpbi5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgZGUgd29ya3NwYWNlc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi13b3Jrc3BhY2Uva3Ytd29ya3NwYWNlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3Ytd29ya3NwYWNlL3dvcmtzcGFjZS9rdi13b3Jrc3BhY2UuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBGb3JtdWzDoXJpbyBiYXNlXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXBhZ2UtZm9ybS9rdi1wYWdlLWZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1wYWdlLWZvcm0va3YtcGFnZS1mb3JtLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogUGFnZS1TdGVwcGVyXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXBhZ2Utc3RlcHBlci9rdi1wYWdlLXN0ZXBwZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1wYWdlLXN0ZXBwZXIva3YtcGFnZS1zdGVwcGVyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9jb21wb25lbnRzL3N0ZXBwZXIvL2t2LXN0ZXBwZXJwYW5lbCc7XHJcblxyXG4vKipcclxuICogS3YtU3RlcFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1zdGVwcy9rdi1zdGVwcy5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIERpcmV0aXZhc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2RpcmVjdGl2ZXMvdGVtcGxhdGUvdGVtcGxhdGUuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL2RpcmVjdGl2ZXMvZHJhZy9kcmFnLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9kaXJlY3RpdmVzL3N0ZXBwZXIvZHluYW1pY2lucHV0LmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogTG9hZGVyXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWxvYWRlci9rdi1sb2FkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1sb2FkZXIva3YtbG9hZGVyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtbG9hZGVyL2t2LWxvYWRlci5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBDYXJvdXNlbFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1jYXJvdXNlbC9rdi1jYXJvdXNlbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWNhcm91c2VsL2t2LWNhcm91c2VsLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogUHJvZ3Jlc3MgQmFyXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXByb2dyZXNzLWJhci9rdi1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1wcm9ncmVzcy1iYXIva3YtcHJvZ3Jlc3MtYmFyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcHJvZ3Jlc3MtYmFyLWFsdGVybmF0aXZlL2t2LXByb2dyZXNzLWJhci1hbHRlcm5hdGl2ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXByb2dyZXNzLWJhci1hbHRlcm5hdGl2ZS9rdi1wcm9ncmVzcy1iYXItYWx0ZXJuYXRpdmUubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBNb2RhbFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1tb2RhbC9rdi1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LW1vZGFsL2t2LW1vZGFsLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogU3RlcHBlclxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1zdGVwcGVyL2t2LXN0ZXBwZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1zdGVwcGVyL2t2LXN0ZXBwZXIubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBJbWFnZSBVcGxvYWRcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW1hZ2UtdXBsb2FkL2t2LWltYWdlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWltYWdlLXVwbG9hZC9rdi1pbWFnZS11cGxvYWQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBGaWxlIFVwbG9hZCdcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZmlsZS11cGxvYWQva3YtZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1maWxlLXVwbG9hZC9rdi1maWxlLXVwbG9hZC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFJlcG9ydFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1yZXBvcnQva3YtcmVwb3J0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcmVwb3J0L2t2LXJlcG9ydC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIEZpbHRlciBDYXJkXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWZpbHRlci1jYXJkL2t2LWZpbHRlci1jYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZmlsdGVyLWNhcmQva3YtZmlsdGVyLWNhcmQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBGaWx0ZXIgRmllbGRzZXRcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZmlsdGVyLWZpZWxkc2V0L2t2LWZpbHRlci1maWVsZHNldC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWZpbHRlci1maWVsZHNldC9rdi1maWx0ZXItZmllbGRzZXQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBHIGljb25cclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZy1pY29uL2t2LWctaWNvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWctaWNvbi9rdi1nLWljb24ubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBGaWxlLVZpZXdlclxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1maWxlLXZpZXdlci9rdi1maWxlLXZpZXdlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWZpbGUtdmlld2VyL2t2LWZpbGUtdmlld2VyLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogRmlsZS1WaWV3ZXIgTm92b1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1maWxlLXZpZXdlci1ub3ZvL2t2LWZpbGUtdmlld2VyLW5vdm8uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1maWxlLXZpZXdlci1ub3ZvL2t2LWZpbGUtdmlld2VyLW5vdm8ubW9kdWxlJztcclxuXHJcblxyXG4vKipcclxuICogQ29udGVudC1WaWV3ZXIgXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWNvbnRlbnQtdmlld2VyL2t2LWNvbnRlbnQtdmlld2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlcyBjb211bnMgdXRpbGl6YWRvcyBubyBrZWV4XHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWhvbWUtY2FyZC9rdi1ob21lLWNhcmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1ob21lLWNhcmQva3YtaG9tZS1jYXJkLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogQXZhdGFyXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWF2YXRhci9rdi1hdmF0YXIuY29tcG9uZW50JztcclxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1hdmF0YXIva3YtY3JvcC1pbWFnZS9rdi1jcm9wLWltYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtYXZhdGFyL2t2LWF2YXRhci5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIENhcmQgU2VsZWN0aW9uXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWNhcmQtc2VsZWN0aW9uL2t2LWNhcmQtc2VsZWN0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtY2FyZC1zZWxlY3Rpb24va3YtY2FyZC1zZWxlY3Rpb24ubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBDYXJkIE1lc3NhZ2VcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtY2FyZC1tZXNzYWdlL2t2LWNhcmQtbWVzc2FnZS5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIFRBR1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10YWcva3YtdGFnLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdGFnL2t2LXRhZy5tb2R1bGUnO1xyXG5cclxuXHJcblxyXG4vKipcclxuICogRmlsdGVyIENhcmRzXHJcbiovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZmlsdGVyLWNhcmRzL2t2LWZpbHRlci1jYXJkcy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWZpbHRlci1jYXJkcy9rdi1maWx0ZXItY2FyZHMuY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIFRhZ3NcclxuKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10YWdzL2t2LXRhZ3MubW9kdWxlJztcclxuZXhwb3J0IHsgS3ZUYWdDb25maWcsIEt2VGFnc0NvbXBvbmVudCB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdGFncy9rdi10YWdzLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogVGltZWxpbmVcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdGltZWxpbmUva3YtdGltZWxpbmUuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBJY29uXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWljb24va3YtaWNvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWljb24va3YtaWNvbi5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWljb24va3YtaWNvbi5tb2RlbCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIFdpZGdldCBDYXJkXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXdpZGdldC1jYXJkL2t2LXdpZGdldC1jYXJkLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogU3RhY2tlZCBCYXIgQ2hhcnRcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3Ytc3RhY2tlZC1iYXItY2hhcnQva3Ytc3RhY2tlZC1iYXItY2hhcnQuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBUYWJsZSBEcmFnZ2FibGVcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtdGFibGUtZHJhZ2dhYmxlL2t2LXRhYmxlLWRyYWdnYWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRhYmxlLWRyYWdnYWJsZS9rdi10YWJsZS1kcmFnZ2FibGUubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBUcmVlIEVudmlyb25tZW50XHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRyZWUtZW52aXJvbm1lbnQvY29tcG9uZW50cy9rdi10cmVlLWVudmlyb25tZW50L2t2LXRyZWUtZW52aXJvbm1lbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi10cmVlLWVudmlyb25tZW50L2NvbXBvbmVudHMvbm8tYXJ2b3JlL25vLWFydm9yZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LXRyZWUtZW52aXJvbm1lbnQvbW9kZWxzL25vLWFydm9yZS5tb2RlbCc7XHJcblxyXG4vKipcclxuICogS2FuYmFuXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWthbmJhbi9rdi1rYW5iYW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1rYW5iYW4va3Yta2FuYmFuLW1vZGVscy5tb2RlbCc7XHJcblxyXG4vLyBleHBvcnQgKiBmcm9tICcuL3dlYnBhY2svbWZlLXNoYXJlZCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5zdHJ1Y3Rpb24tcGFnZS9rdi1pbnN0cnVjdGlvbi1wYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtaW5zdHJ1Y3Rpb24tcGFnZS9jb21wb25lbnRzL2NhcmRzLWluc3RydWN0aW9uL2t2LWNhcmRzLWluc3RydWN0aW9uLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1jaGlwcy9rdi1jaGlwcy5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1zZWxlY3QtY2FyZHMva3Ytc2VsZWN0LWNhcmRzLmNvbXBvbmVudCdcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtZmlsZS11cGxvYWQtbmV3L2t2LWZpbGUtdXBsb2FkLW5ldy5jb21wb25lbnQnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWFjY29yZGlvbi9rdi1hY2NvcmRpb24uY29tcG9uZW50J1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9rdi1jYXJkLWNvbG9yL2t2LWNhcmQtY29sb3IuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMva3YtcHJvZ3Jlc3MtYmFyLW5ldy9rdi1wcm9ncmVzcy1iYXItbmV3LmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2t2LWltYWdlLXVwbG9hZC1uZXcva3YtaW1hZ2UtdXBsb2FkLW5ldy5jb21wb25lbnQnO1xyXG4iXX0=
@@ -14985,6 +14985,139 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
14985
14985
  args: [{ selector: 'kv-progress-bar-new', standalone: true, imports: [], template: "<div class=\"flex flex-row align-items-center gap-2 p-2 w-full\">\r\n <span class=\"text-gray-500 text-{{setSize()}}\">{{ currentProgress() }} de {{ totalProgress() }} |</span>\r\n\r\n <div class=\"progress-bar\">\r\n <div class=\"progress-bar-fill\" [style.width.%]=\"percentage()\"></div>\r\n </div>\r\n\r\n <span class=\"text-gray-500 text-{{setSize()}}\">{{percentage()}}%</span>\r\n \r\n</div>\r\n", styles: [".progress-bar{flex:1;height:.5rem;background-color:#e0e0e0;border-radius:10px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#0a8765,#0fc288);border-radius:10px;transition:width .3s ease-in-out}\n"] }]
14986
14986
  }] });
14987
14987
 
14988
+ class KvImageUploadComponentNew {
14989
+ constructor() {
14990
+ this.notificationService = inject(NotificationService);
14991
+ this.imageCutterService = inject(ImageCutterService);
14992
+ this.file = null;
14993
+ this.fileSrc = model(null);
14994
+ this.widthComponent = input('auto');
14995
+ this.heightComponent = input('auto');
14996
+ this.maxHeightImage = input('400px');
14997
+ this.description = input();
14998
+ this.cutImage = input(false);
14999
+ this.cutWidth = input(0);
15000
+ this.cutHeight = input(0);
15001
+ this.cutCircle = input(false);
15002
+ this.maintainAspectRatio = input(true);
15003
+ this.fileEmit = output();
15004
+ this.deleteEmit = output();
15005
+ this.fileInput = viewChild('fileInput');
15006
+ }
15007
+ onDragOver(event) {
15008
+ event.preventDefault();
15009
+ event.stopPropagation();
15010
+ this.addDragOverClass(event);
15011
+ }
15012
+ onDragLeave(event) {
15013
+ event.preventDefault();
15014
+ event.stopPropagation();
15015
+ this.removeDragOverClass(event);
15016
+ }
15017
+ onDrop(event) {
15018
+ event.preventDefault();
15019
+ event.stopPropagation();
15020
+ this.removeDragOverClass(event);
15021
+ if (event.dataTransfer && event.dataTransfer.files.length > 0) {
15022
+ this.handleFile(event.dataTransfer.files[0]);
15023
+ }
15024
+ }
15025
+ onFileSelected(event) {
15026
+ const inputElement = event.target;
15027
+ if (inputElement.files && inputElement.files.length > 0) {
15028
+ this.handleFile(inputElement.files[0]);
15029
+ }
15030
+ }
15031
+ triggerClick() {
15032
+ if (!this.fileSrc()) {
15033
+ this.fileInput()?.nativeElement.click();
15034
+ }
15035
+ }
15036
+ handleFile(file) {
15037
+ if (file.type.startsWith('image/')) {
15038
+ if (this.cutImage() == true) {
15039
+ const reader = new FileReader();
15040
+ reader.onload = async () => {
15041
+ try {
15042
+ const result = await this.imageCutterService.cut(reader.result?.toString() ?? '', this.cutWidth(), this.cutHeight(), this.cutCircle(), false, this.maintainAspectRatio());
15043
+ if (result) {
15044
+ this.file = file;
15045
+ this.fileSrc.set(result);
15046
+ const processedFile = this.base64ToFile(this.fileSrc(), this.file?.name ?? 'file.png');
15047
+ this.fileEmit.emit(processedFile);
15048
+ }
15049
+ else {
15050
+ const inputEl = this.fileInput();
15051
+ if (inputEl) {
15052
+ inputEl.nativeElement.value = '';
15053
+ }
15054
+ }
15055
+ }
15056
+ catch (error) {
15057
+ console.error('Erro ao cortar a imagem:', error);
15058
+ this.notificationService.toastError('Erro ao cortar a imagem');
15059
+ }
15060
+ };
15061
+ reader.readAsDataURL(file);
15062
+ }
15063
+ else {
15064
+ this.file = file;
15065
+ const reader = new FileReader();
15066
+ reader.onload = () => {
15067
+ this.fileSrc.set(reader.result);
15068
+ };
15069
+ reader.readAsDataURL(file);
15070
+ this.fileEmit.emit(file);
15071
+ }
15072
+ }
15073
+ else {
15074
+ this.notificationService.toastError('Apenas arquivos de imagem são permitidos.');
15075
+ }
15076
+ }
15077
+ base64ToFile(base64String, fileName) {
15078
+ // Extrair o tipo MIME da string base64
15079
+ const arr = base64String.split(',');
15080
+ const mime = arr[0].match(/:(.*?);/)[1];
15081
+ // Converter Base64 para Binário
15082
+ const binaryString = atob(arr[1]);
15083
+ const len = binaryString.length;
15084
+ const uint8Array = new Uint8Array(len);
15085
+ for (let i = 0; i < len; i++) {
15086
+ uint8Array[i] = binaryString.charCodeAt(i);
15087
+ }
15088
+ // Criar um Blob e, em seguida, um objeto File
15089
+ const blob = new Blob([uint8Array], { type: mime });
15090
+ const file = new File([blob], fileName, { type: mime });
15091
+ return file;
15092
+ }
15093
+ addDragOverClass(event) {
15094
+ const container = event.target;
15095
+ container.classList.add('dragover');
15096
+ }
15097
+ removeDragOverClass(event) {
15098
+ const container = event.target;
15099
+ container.classList.remove('dragover');
15100
+ }
15101
+ deleteImage() {
15102
+ this.file = null;
15103
+ this.fileSrc.set(null);
15104
+ const inputEl = this.fileInput();
15105
+ if (inputEl) {
15106
+ inputEl.nativeElement.value = '';
15107
+ }
15108
+ this.deleteEmit.emit();
15109
+ }
15110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvImageUploadComponentNew, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvImageUploadComponentNew, isStandalone: true, selector: "kv-image-upload-new", inputs: { fileSrc: { classPropertyName: "fileSrc", publicName: "fileSrc", isSignal: true, isRequired: false, transformFunction: null }, widthComponent: { classPropertyName: "widthComponent", publicName: "widthComponent", isSignal: true, isRequired: false, transformFunction: null }, heightComponent: { classPropertyName: "heightComponent", publicName: "heightComponent", isSignal: true, isRequired: false, transformFunction: null }, maxHeightImage: { classPropertyName: "maxHeightImage", publicName: "maxHeightImage", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, cutImage: { classPropertyName: "cutImage", publicName: "cutImage", isSignal: true, isRequired: false, transformFunction: null }, cutWidth: { classPropertyName: "cutWidth", publicName: "cutWidth", isSignal: true, isRequired: false, transformFunction: null }, cutHeight: { classPropertyName: "cutHeight", publicName: "cutHeight", isSignal: true, isRequired: false, transformFunction: null }, cutCircle: { classPropertyName: "cutCircle", publicName: "cutCircle", isSignal: true, isRequired: false, transformFunction: null }, maintainAspectRatio: { classPropertyName: "maintainAspectRatio", publicName: "maintainAspectRatio", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fileSrc: "fileSrcChange", fileEmit: "fileEmit", deleteEmit: "deleteEmit" }, host: { properties: { "style.width": "widthComponent()", "style.height": "heightComponent()" } }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\r\n class=\"file-upload-container\"\r\n [class.has-file]=\"fileSrc()\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (drop)=\"onDrop($event)\"\r\n (click)=\"triggerClick()\"\r\n>\r\n <input\r\n type=\"file\"\r\n #fileInput\r\n (change)=\"onFileSelected($event)\"\r\n accept=\"image/*\"\r\n hidden\r\n />\r\n\r\n @if (!fileSrc()) {\r\n <div class=\"dropzone-content\">\r\n <div class=\"cloud-icon-wrapper\">\r\n <span class=\"material-symbols-outlined\">cloud_upload</span>\r\n </div>\r\n <div class=\"text-content\">\r\n @if (description()) {\r\n <p class=\"main-text description-text\">{{ description() }}</p>\r\n } @else {\r\n <p class=\"main-text\">\r\n <span class=\"blue-text\">Clique para selecionar</span> ou arraste uma\r\n imagem aqui\r\n </p>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (fileSrc() || file) {\r\n <div class=\"preview-wrapper\">\r\n <img\r\n [src]=\"fileSrc()\"\r\n [alt]=\"file?.name\"\r\n class=\"preview-image\"\r\n [style.maxHeight]=\"maxHeightImage()\"\r\n />\r\n\r\n <button\r\n pButton\r\n (click)=\"deleteImage(); $event.stopPropagation()\"\r\n class=\"delete-button\"\r\n [text]=\"true\"\r\n [icon]=\"'pi pi-trash'\"\r\n ></button>\r\n </div>\r\n }\r\n</div>", styles: [":host{display:block}.file-upload-container{width:100%;border:1px dashed #cbd5e1;border-radius:.75rem;background-color:#f8fafc;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease-in-out;position:relative;padding:1.5rem;box-sizing:border-box;height:100%;overflow:hidden}.file-upload-container:hover,.file-upload-container.dragover{border-color:#3b82f6!important;background-color:#eff6ff}.file-upload-container.has-file{cursor:default;border-color:#cbd5e1;padding:0;border-style:solid;overflow:hidden;min-height:160px}.file-upload-container.has-file:hover{border-color:#3b82f6!important}.dropzone-content{display:flex;flex-direction:column;align-items:center;pointer-events:none;width:100%}.cloud-icon-wrapper{background-color:#e0f2fe;color:#3b82f6;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.cloud-icon-wrapper span{font-size:24px}.text-content{text-align:center}.main-text{font-size:.875rem;color:#4b5563;margin:0}.main-text.description-text{font-weight:600}.main-text .blue-text{color:#2563eb;font-weight:600}.sub-text{font-size:.75rem;color:#9ca3af;margin:.25rem 0 0}.preview-wrapper{width:100%;height:100%;min-height:160px;background-color:#f1f5f9;position:relative;display:flex;align-items:center;justify-content:center}.preview-image{width:auto;height:auto;max-width:100%;display:block;object-fit:contain}.image-preview-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.delete-button{position:absolute;top:0;right:0;width:2rem;height:2rem;background-color:transparent!important;color:#b91c1c!important;transition:color .5s ease;border:none}.delete-button:hover{color:#ef4444!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }] }); }
15112
+ }
15113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvImageUploadComponentNew, decorators: [{
15114
+ type: Component,
15115
+ args: [{ selector: 'kv-image-upload-new', standalone: true, imports: [CommonModule, ButtonModule], host: {
15116
+ '[style.width]': 'widthComponent()',
15117
+ '[style.height]': 'heightComponent()',
15118
+ }, template: "<div\r\n class=\"file-upload-container\"\r\n [class.has-file]=\"fileSrc()\"\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (drop)=\"onDrop($event)\"\r\n (click)=\"triggerClick()\"\r\n>\r\n <input\r\n type=\"file\"\r\n #fileInput\r\n (change)=\"onFileSelected($event)\"\r\n accept=\"image/*\"\r\n hidden\r\n />\r\n\r\n @if (!fileSrc()) {\r\n <div class=\"dropzone-content\">\r\n <div class=\"cloud-icon-wrapper\">\r\n <span class=\"material-symbols-outlined\">cloud_upload</span>\r\n </div>\r\n <div class=\"text-content\">\r\n @if (description()) {\r\n <p class=\"main-text description-text\">{{ description() }}</p>\r\n } @else {\r\n <p class=\"main-text\">\r\n <span class=\"blue-text\">Clique para selecionar</span> ou arraste uma\r\n imagem aqui\r\n </p>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (fileSrc() || file) {\r\n <div class=\"preview-wrapper\">\r\n <img\r\n [src]=\"fileSrc()\"\r\n [alt]=\"file?.name\"\r\n class=\"preview-image\"\r\n [style.maxHeight]=\"maxHeightImage()\"\r\n />\r\n\r\n <button\r\n pButton\r\n (click)=\"deleteImage(); $event.stopPropagation()\"\r\n class=\"delete-button\"\r\n [text]=\"true\"\r\n [icon]=\"'pi pi-trash'\"\r\n ></button>\r\n </div>\r\n }\r\n</div>", styles: [":host{display:block}.file-upload-container{width:100%;border:1px dashed #cbd5e1;border-radius:.75rem;background-color:#f8fafc;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease-in-out;position:relative;padding:1.5rem;box-sizing:border-box;height:100%;overflow:hidden}.file-upload-container:hover,.file-upload-container.dragover{border-color:#3b82f6!important;background-color:#eff6ff}.file-upload-container.has-file{cursor:default;border-color:#cbd5e1;padding:0;border-style:solid;overflow:hidden;min-height:160px}.file-upload-container.has-file:hover{border-color:#3b82f6!important}.dropzone-content{display:flex;flex-direction:column;align-items:center;pointer-events:none;width:100%}.cloud-icon-wrapper{background-color:#e0f2fe;color:#3b82f6;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.cloud-icon-wrapper span{font-size:24px}.text-content{text-align:center}.main-text{font-size:.875rem;color:#4b5563;margin:0}.main-text.description-text{font-weight:600}.main-text .blue-text{color:#2563eb;font-weight:600}.sub-text{font-size:.75rem;color:#9ca3af;margin:.25rem 0 0}.preview-wrapper{width:100%;height:100%;min-height:160px;background-color:#f1f5f9;position:relative;display:flex;align-items:center;justify-content:center}.preview-image{width:auto;height:auto;max-width:100%;display:block;object-fit:contain}.image-preview-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.delete-button{position:absolute;top:0;right:0;width:2rem;height:2rem;background-color:transparent!important;color:#b91c1c!important;transition:color .5s ease;border:none}.delete-button:hover{color:#ef4444!important}\n"] }]
15119
+ }] });
15120
+
14988
15121
  /*
14989
15122
  * Public API Surface of keevo-components
14990
15123
  */
@@ -14996,5 +15129,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
14996
15129
  * Generated bundle index. Do not edit.
14997
15130
  */
14998
15131
 
14999
- export { BaseApiService, BaseChartComponent, BaseComponent, BaseComponentButton, BaseComponentCrud, BaseComponentCrudForm, BaseComponentCrudList, BaseComponentDropDown, BaseComponentDropDownExternal, BaseComponentInput, BaseComponentMultiSelect, BasecomponentTable, BreadcrumbsService, CDN_URLS, CUSTOM_FONTS, CapitalizePipe, ChatService, ComponentProviders, ComponentService, CpfCnpjPipe, DEBOUNCE_TIME, DEFAULT_KV_EDITOR_CONFIG, DEFAULT_QUILL_CONFIG, DocsService, DragDirective, DynamicInputDirective, ERROR_MESSAGES, EnumUtils, FONT_SIZES, FormService, ImageCutterService, ImagensService, KeevoComponentsModule, KeevoValidators, KvAccordionComponent, KvAvatarComponent, KvAvatarModule, KvButtonComponent, KvButtonModule, KvButtonPersonalizeComponent, KvButtonPopupComponent, KvButtonSecondaryComponent, KvButtonSuccessComponent, KvButtonsModule, KvCardColorComponent, KvCardMessageComponent, KvCardSelectionComponent, KvCardSelectionModule, KvCardsInstructionComponent, KvCarouselComponent, KvCarouselModule, KvChartComponent, KvChartModule, KvCheckComponent, KvChipsComponent, KvConfirmationModalComponent, KvConfirmationModalModule, KvContentViewerComponent, KvContentViewerModule, KvDetailedListComponent, KvDropdownComponent, KvEditorComponent, KvEditorMentionService, KvEditorPdfService, KvEditorQuillService, KvEditorRelatorioService, KvErrorComponent, KvFileUploadComponent, KvFileUploadModule, KvFileUploadNewComponent, KvFileViewerComponent, KvFileViewerModule, KvFileViewerNovoComponent, KvFileViewerNovoModule, KvFilterCardComponent, KvFilterCardModule, KvFilterCardsComponent, KvFilterCardsModule, KvFilterFieldsetComponent, KvFilterFieldsetModule, KvGIconComponent, KvGIconModule, KvHomeCardComponent, KvHomeCardModule, KvIconComponent, KvIconModule, KvImageUploadComponent, KvImageUploadModule, KvInputCalendarComponent, KvInputMaskComponent, KvInputNumberAddonComponent, KvInputNumberComponent, KvInputPasswordComponent, KvInputTextAddonComponent, KvInputTextCheckboxComponent, KvInputTextComponent, KvInputTextareaComponent, KvInputTimeComponent, KvInputsModule, KvInstructionPageComponent, KvKanbanComponent, KvLayoutComponent, KvLayoutModule, KvLoaderComponent, KvLoaderModule, KvLoaderService, KvLoginComponent, KvLoginModule, KvModalComponent, KvModalModule, KvMultiSelectComponent, KvOrgchartComponent, KvOrgchartModule, KvPageFormComponent, KvPageFormModule, KvPageStepperComponent, KvPageStepperodule, KvPickListComponent, KvPickListModule, KvProgressBarAlternativeComponent, KvProgressBarAlternativeModule, KvProgressBarModule, KvProgressBarNewComponent, KvRadioGroupComponent, KvReportComponent, KvReportModule, KvSelectButtonComponent, KvSelectButtonsComponent, KvSelectCardsComponent, KvStackedBarChartComponent, KvStepperComponent, KvStepperModule, KvStepsComponent, KvSwitchComponent, KvTableComponent, KvTableDraggableComponent, KvTableDraggableModule, KvTableEditComponent, KvTableEditModule, KvTableExpandableComponent, KvTableExpandableModule, KvTableModule, KvTableViewerComponent, KvTagComponent, KvTagModule, KvTagsComponent, KvTagsModule, KvTimelineComponent, KvTreeEnvironmentComponent, KvTreeMultiSelectComponent, KvTreeViewComponent, KvTreetableComponent, KvTreetableModule, KvWidgetCardComponent, KvWorkspaceModule, KvtreeViewModule, MaskPipe, NoArvoreComponent, NotificationService, ObjectService, OrgChartService, PDF_STYLES, PeriodosChart, PipesModule, PrimeNgModule, ProgressBarComponent, TIMEOUTS, TablePaginate, TelefonePipe, TemplateDirective, TranslatePrimeng, WorkspaceComponent, getOrExecute, kvErrorModule, loading, mapToMenuItem, mapaSeverityColors };
15132
+ export { BaseApiService, BaseChartComponent, BaseComponent, BaseComponentButton, BaseComponentCrud, BaseComponentCrudForm, BaseComponentCrudList, BaseComponentDropDown, BaseComponentDropDownExternal, BaseComponentInput, BaseComponentMultiSelect, BasecomponentTable, BreadcrumbsService, CDN_URLS, CUSTOM_FONTS, CapitalizePipe, ChatService, ComponentProviders, ComponentService, CpfCnpjPipe, DEBOUNCE_TIME, DEFAULT_KV_EDITOR_CONFIG, DEFAULT_QUILL_CONFIG, DocsService, DragDirective, DynamicInputDirective, ERROR_MESSAGES, EnumUtils, FONT_SIZES, FormService, ImageCutterService, ImagensService, KeevoComponentsModule, KeevoValidators, KvAccordionComponent, KvAvatarComponent, KvAvatarModule, KvButtonComponent, KvButtonModule, KvButtonPersonalizeComponent, KvButtonPopupComponent, KvButtonSecondaryComponent, KvButtonSuccessComponent, KvButtonsModule, KvCardColorComponent, KvCardMessageComponent, KvCardSelectionComponent, KvCardSelectionModule, KvCardsInstructionComponent, KvCarouselComponent, KvCarouselModule, KvChartComponent, KvChartModule, KvCheckComponent, KvChipsComponent, KvConfirmationModalComponent, KvConfirmationModalModule, KvContentViewerComponent, KvContentViewerModule, KvDetailedListComponent, KvDropdownComponent, KvEditorComponent, KvEditorMentionService, KvEditorPdfService, KvEditorQuillService, KvEditorRelatorioService, KvErrorComponent, KvFileUploadComponent, KvFileUploadModule, KvFileUploadNewComponent, KvFileViewerComponent, KvFileViewerModule, KvFileViewerNovoComponent, KvFileViewerNovoModule, KvFilterCardComponent, KvFilterCardModule, KvFilterCardsComponent, KvFilterCardsModule, KvFilterFieldsetComponent, KvFilterFieldsetModule, KvGIconComponent, KvGIconModule, KvHomeCardComponent, KvHomeCardModule, KvIconComponent, KvIconModule, KvImageUploadComponent, KvImageUploadComponentNew, KvImageUploadModule, KvInputCalendarComponent, KvInputMaskComponent, KvInputNumberAddonComponent, KvInputNumberComponent, KvInputPasswordComponent, KvInputTextAddonComponent, KvInputTextCheckboxComponent, KvInputTextComponent, KvInputTextareaComponent, KvInputTimeComponent, KvInputsModule, KvInstructionPageComponent, KvKanbanComponent, KvLayoutComponent, KvLayoutModule, KvLoaderComponent, KvLoaderModule, KvLoaderService, KvLoginComponent, KvLoginModule, KvModalComponent, KvModalModule, KvMultiSelectComponent, KvOrgchartComponent, KvOrgchartModule, KvPageFormComponent, KvPageFormModule, KvPageStepperComponent, KvPageStepperodule, KvPickListComponent, KvPickListModule, KvProgressBarAlternativeComponent, KvProgressBarAlternativeModule, KvProgressBarModule, KvProgressBarNewComponent, KvRadioGroupComponent, KvReportComponent, KvReportModule, KvSelectButtonComponent, KvSelectButtonsComponent, KvSelectCardsComponent, KvStackedBarChartComponent, KvStepperComponent, KvStepperModule, KvStepsComponent, KvSwitchComponent, KvTableComponent, KvTableDraggableComponent, KvTableDraggableModule, KvTableEditComponent, KvTableEditModule, KvTableExpandableComponent, KvTableExpandableModule, KvTableModule, KvTableViewerComponent, KvTagComponent, KvTagModule, KvTagsComponent, KvTagsModule, KvTimelineComponent, KvTreeEnvironmentComponent, KvTreeMultiSelectComponent, KvTreeViewComponent, KvTreetableComponent, KvTreetableModule, KvWidgetCardComponent, KvWorkspaceModule, KvtreeViewModule, MaskPipe, NoArvoreComponent, NotificationService, ObjectService, OrgChartService, PDF_STYLES, PeriodosChart, PipesModule, PrimeNgModule, ProgressBarComponent, TIMEOUTS, TablePaginate, TelefonePipe, TemplateDirective, TranslatePrimeng, WorkspaceComponent, getOrExecute, kvErrorModule, loading, mapToMenuItem, mapaSeverityColors };
15000
15133
  //# sourceMappingURL=keevo-components.mjs.map