appproject-components 0.0.29 → 0.0.31

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.
@@ -39,15 +39,15 @@ InputAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
39
39
  provide: NG_VALUE_ACCESSOR,
40
40
  useExisting: InputAreaComponent,
41
41
  multi: true
42
- }], usesInheritance: true, ngImport: i0, template: "<div>\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\">\n <ion-label position=\"{{ labelPosition }}\">{{ label }}</ion-label>\n <!-- formControlName=\"{{ formControlName }}\" -->\n <ion-textarea #inputArea\n type=\"{{type}}\" \n [placeholder]=\"placeholder\" \n maxlength=\"{{ max }}\"\n (ionBlur)=\"onBlur()\"\n [value]=\"data\"\n [rows]=\"linhas\" \n (input)=\"writeValue(inputArea.value)\"\n [disabled]=\"readonly\"></ion-textarea>\n </ion-item>\n \n <div class=\"validation-errors\" *ngIf=\"form\">\n \n <ng-container *ngFor=\"let validation of validation_messages\">\n <div class=\"error-message\"\n *ngIf=\"form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\n &#8226; {{ validation.message }}\n </div>\n </ng-container>\n \n </div>\n </div>", styles: ["ion-label{margin-bottom:4px!important}ion-textarea{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}\n", "ion-label{margin-bottom:4px!important;opacity:1!important}ion-input{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:var(--input-max-height, 29px)}.has-focus{border:1px solid var(--ion-color-bluetool, #1f477d)}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}.padding{padding:auto}.no-padding{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:55px!important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-shake ion-label{color:var(--error-text-color, red)!important}.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid var(--error-text-color, red)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "debounce", "disabled", "enterkeyhint", "inputmode", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "spellcheck", "value", "wrap"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }] });
42
+ }], usesInheritance: true, ngImport: i0, template: "<div>\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\">\n <ion-label position=\"{{ labelPosition }}\">{{ label }}</ion-label>\n <!-- formControlName=\"{{ formControlName }}\" -->\n <ion-textarea #inputArea\n type=\"{{type}}\" \n [placeholder]=\"placeholder\" \n maxlength=\"{{ max }}\"\n (ionBlur)=\"onBlur()\"\n [value]=\"data\"\n [rows]=\"linhas\" \n (input)=\"writeValue(inputArea.value)\"\n [disabled]=\"readonly\"></ion-textarea>\n </ion-item>\n \n <div class=\"validation-errors\" *ngIf=\"form\">\n \n <ng-container *ngFor=\"let validation of validation_messages\">\n <div class=\"error-message\"\n *ngIf=\"form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\n &#8226; {{ validation.message }}\n </div>\n </ng-container>\n \n </div>\n </div>", styles: ["ion-label{margin-bottom:4px!important}ion-textarea{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}\n", "ion-label{margin-bottom:4px!important;opacity:1!important}ion-input{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:var(--input-max-height, 29px)}.has-focus{border:1px solid var(--ion-color-bluetool, #1f477d)}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}.padding{padding:auto}.no-padding{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:55px!important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-shake ion-label{color:var(--error-text-color, red)!important}.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid var(--error-text-color, red)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "debounce", "disabled", "enterkeyhint", "inputmode", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "spellcheck", "value", "wrap"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }] });
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: InputAreaComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: 'kb-input-area', providers: [{
46
46
  provide: NG_VALUE_ACCESSOR,
47
47
  useExisting: InputAreaComponent,
48
48
  multi: true
49
- }], template: "<div>\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\">\n <ion-label position=\"{{ labelPosition }}\">{{ label }}</ion-label>\n <!-- formControlName=\"{{ formControlName }}\" -->\n <ion-textarea #inputArea\n type=\"{{type}}\" \n [placeholder]=\"placeholder\" \n maxlength=\"{{ max }}\"\n (ionBlur)=\"onBlur()\"\n [value]=\"data\"\n [rows]=\"linhas\" \n (input)=\"writeValue(inputArea.value)\"\n [disabled]=\"readonly\"></ion-textarea>\n </ion-item>\n \n <div class=\"validation-errors\" *ngIf=\"form\">\n \n <ng-container *ngFor=\"let validation of validation_messages\">\n <div class=\"error-message\"\n *ngIf=\"form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\n &#8226; {{ validation.message }}\n </div>\n </ng-container>\n \n </div>\n </div>", styles: ["ion-label{margin-bottom:4px!important}ion-textarea{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}\n", "ion-label{margin-bottom:4px!important;opacity:1!important}ion-input{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:var(--input-max-height, 29px)}.has-focus{border:1px solid var(--ion-color-bluetool, #1f477d)}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}.padding{padding:auto}.no-padding{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:55px!important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-shake ion-label{color:var(--error-text-color, red)!important}.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid var(--error-text-color, red)!important}\n"] }]
49
+ }], template: "<div>\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\">\n <ion-label position=\"{{ labelPosition }}\">{{ label }}</ion-label>\n <!-- formControlName=\"{{ formControlName }}\" -->\n <ion-textarea #inputArea\n type=\"{{type}}\" \n [placeholder]=\"placeholder\" \n maxlength=\"{{ max }}\"\n (ionBlur)=\"onBlur()\"\n [value]=\"data\"\n [rows]=\"linhas\" \n (input)=\"writeValue(inputArea.value)\"\n [disabled]=\"readonly\"></ion-textarea>\n </ion-item>\n \n <div class=\"validation-errors\" *ngIf=\"form\">\n \n <ng-container *ngFor=\"let validation of validation_messages\">\n <div class=\"error-message\"\n *ngIf=\"form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\n &#8226; {{ validation.message }}\n </div>\n </ng-container>\n \n </div>\n </div>", styles: ["ion-label{margin-bottom:4px!important}ion-textarea{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}\n", "ion-label{margin-bottom:4px!important;opacity:1!important}ion-input{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:var(--input-max-height, 29px)}.has-focus{border:1px solid var(--ion-color-bluetool, #1f477d)}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}.padding{padding:auto}.no-padding{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:55px!important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-shake ion-label{color:var(--error-text-color, red)!important}.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid var(--error-text-color, red)!important}\n"] }]
50
50
  }], ctorParameters: function () { return []; }, propDecorators: { linhas: [{
51
51
  type: Input
52
52
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcHBwcm9qZWN0LWNvbXBvbmVudHMvc3JjL2xpYi9pbnB1dC1hcmVhL2lucHV0LWFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtYXJlYS9pbnB1dC1hcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQVkzRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsa0JBQWtCO0lBd0J4RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBeEJELFdBQU0sR0FBVyxDQUFDLENBQUM7UUFJcEIsYUFBUSxHQUFhLENBQUMsSUFBWSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDMUMsWUFBTyxHQUFhLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUM3QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzNCLFlBQU8sR0FBRyxPQUFPLENBQUM7SUFrQnpCLENBQUM7SUFoQkQsVUFBVSxDQUFDLEtBQW1CO1FBQzVCLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDaEMsQ0FBQztJQUtRLFFBQVEsS0FBSSxDQUFDO0lBRXRCLE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUM7U0FDdEQ7SUFDSCxDQUFDOzsrR0FsQ1Usa0JBQWtCO21HQUFsQixrQkFBa0Isc0VBTmxCLENBQUM7WUFDVixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxrQkFBa0I7WUFDL0IsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLGlEQ1pKLGkrQkF5QlE7MkZEWEssa0JBQWtCO2tCQVY5QixTQUFTOytCQUNFLGVBQWUsYUFHZCxDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsb0JBQW9COzRCQUMvQixLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDOzBFQUdPLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmFzZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZUlucHV0Q29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna2ItaW5wdXQtYXJlYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1hcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtYXJlYS5jb21wb25lbnQuc2NzcycsICcuLy4uL2Jhc2VDb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IElucHV0QXJlYUNvbXBvbmVudCxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEFyZWFDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgbGluaGFzOiBudW1iZXIgPSA1O1xuICBcbiAgLy9jb250cm9sIHZhbHVlIGFjZXNzb3JcbiAgcHVibGljIGRhdGE6IHN0cmluZyB8IGFueTtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAoZGF0YTogc3RyaW5nKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuICBwcml2YXRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBjb25zb2xlID0gY29uc29sZTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBhbnkpOiB2b2lkIHtcbiAgICAvL2NvbnNvbGUubG9nKCd3cml0ZSB2YWx1ZScsIHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgfVxuICBjb25zdHJ1Y3RvcigpIHsgXG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge31cblxuICBvbkJsdXIoKSB7XG4gICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSk/Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXY+XG4gICAgPGlvbi1pdGVtIGxpbmVzPVwibm9uZVwiIHN0eWxlPVwiLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6IHRyYW5zcGFyZW50O1wiPlxuICAgICAgPGlvbi1sYWJlbCBwb3NpdGlvbj1cInt7IGxhYmVsUG9zaXRpb24gfX1cIj57eyBsYWJlbCB9fTwvaW9uLWxhYmVsPlxuICAgICAgPCEtLSBmb3JtQ29udHJvbE5hbWU9XCJ7eyBmb3JtQ29udHJvbE5hbWUgfX1cIiAgLS0+XG4gICAgICA8aW9uLXRleHRhcmVhICNpbnB1dEFyZWFcbiAgICAgICAgdHlwZT1cInt7dHlwZX19XCIgXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiICAgICAgIFxuICAgICAgICBtYXhsZW5ndGg9XCJ7eyBtYXggfX1cIlxuICAgICAgICAoaW9uQmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAgIFt2YWx1ZV09XCJkYXRhXCJcbiAgICAgICAgW3Jvd3NdPVwibGluaGFzXCIgICAgICBcbiAgICAgICAgKGlucHV0KT1cIndyaXRlVmFsdWUoaW5wdXRBcmVhLnZhbHVlKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiPjwvaW9uLXRleHRhcmVhPlxuICAgIDwvaW9uLWl0ZW0+XG4gIFxuICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yc1wiICpuZ0lmPVwiZm9ybVwiPlxuICBcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbGlkYXRpb24gb2YgdmFsaWRhdGlvbl9tZXNzYWdlc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgKm5nSWY9XCJmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy5oYXNFcnJvcih2YWxpZGF0aW9uLnR5cGUpICYmIChmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy5kaXJ0eSB8fCBmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy50b3VjaGVkKVwiPlxuICAgICAgICAgICYjODIyNjsge3sgdmFsaWRhdGlvbi5tZXNzYWdlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gIFxuICAgIDwvZGl2PlxuICA8L2Rpdj4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcHBwcm9qZWN0LWNvbXBvbmVudHMvc3JjL2xpYi9pbnB1dC1hcmVhL2lucHV0LWFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtYXJlYS9pbnB1dC1hcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQVkzRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsa0JBQWtCO0lBd0J4RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBeEJELFdBQU0sR0FBVyxDQUFDLENBQUM7UUFJcEIsYUFBUSxHQUFhLENBQUMsSUFBWSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDMUMsWUFBTyxHQUFhLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUM3QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzNCLFlBQU8sR0FBRyxPQUFPLENBQUM7SUFrQnpCLENBQUM7SUFoQkQsVUFBVSxDQUFDLEtBQW1CO1FBQzVCLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDaEMsQ0FBQztJQUtRLFFBQVEsS0FBSSxDQUFDO0lBRXRCLE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUM7U0FDdEQ7SUFDSCxDQUFDOzsrR0FsQ1Usa0JBQWtCO21HQUFsQixrQkFBa0Isc0VBTmxCLENBQUM7WUFDVixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxrQkFBa0I7WUFDL0IsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLGlEQ1pKLHUvQkF5QlE7MkZEWEssa0JBQWtCO2tCQVY5QixTQUFTOytCQUNFLGVBQWUsYUFHZCxDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsb0JBQW9COzRCQUMvQixLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDOzBFQUdPLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmFzZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZUlucHV0Q29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna2ItaW5wdXQtYXJlYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1hcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtYXJlYS5jb21wb25lbnQuc2NzcycsICcuLy4uL2Jhc2VDb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IElucHV0QXJlYUNvbXBvbmVudCxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEFyZWFDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgbGluaGFzOiBudW1iZXIgPSA1O1xuICBcbiAgLy9jb250cm9sIHZhbHVlIGFjZXNzb3JcbiAgcHVibGljIGRhdGE6IHN0cmluZyB8IGFueTtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAoZGF0YTogc3RyaW5nKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuICBwcml2YXRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBjb25zb2xlID0gY29uc29sZTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBhbnkpOiB2b2lkIHtcbiAgICAvL2NvbnNvbGUubG9nKCd3cml0ZSB2YWx1ZScsIHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgfVxuICBjb25zdHJ1Y3RvcigpIHsgXG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge31cblxuICBvbkJsdXIoKSB7XG4gICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSk/Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXY+XG4gICAgPGlvbi1pdGVtIGxpbmVzPVwibm9uZVwiIHN0eWxlPVwiLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6IHRyYW5zcGFyZW50O1wiIFtjbGFzc109XCJpdGVtQ2xhc3NcIj5cbiAgICAgIDxpb24tbGFiZWwgcG9zaXRpb249XCJ7eyBsYWJlbFBvc2l0aW9uIH19XCI+e3sgbGFiZWwgfX08L2lvbi1sYWJlbD5cbiAgICAgIDwhLS0gZm9ybUNvbnRyb2xOYW1lPVwie3sgZm9ybUNvbnRyb2xOYW1lIH19XCIgIC0tPlxuICAgICAgPGlvbi10ZXh0YXJlYSAjaW5wdXRBcmVhXG4gICAgICAgIHR5cGU9XCJ7e3R5cGV9fVwiIFxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiAgICAgICBcbiAgICAgICAgbWF4bGVuZ3RoPVwie3sgbWF4IH19XCJcbiAgICAgICAgKGlvbkJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICBbdmFsdWVdPVwiZGF0YVwiXG4gICAgICAgIFtyb3dzXT1cImxpbmhhc1wiICAgICAgXG4gICAgICAgIChpbnB1dCk9XCJ3cml0ZVZhbHVlKGlucHV0QXJlYS52YWx1ZSlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIj48L2lvbi10ZXh0YXJlYT5cbiAgICA8L2lvbi1pdGVtPlxuICBcbiAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdGlvbi1lcnJvcnNcIiAqbmdJZj1cImZvcm1cIj5cbiAgXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWxpZGF0aW9uIG9mIHZhbGlkYXRpb25fbWVzc2FnZXNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICpuZ0lmPVwiZm9ybS5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uaGFzRXJyb3IodmFsaWRhdGlvbi50eXBlKSAmJiAoZm9ybS5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uZGlydHkgfHwgZm9ybS5nZXQoZm9ybUNvbnRyb2xOYW1lKT8udG91Y2hlZClcIj5cbiAgICAgICAgICAmIzgyMjY7IHt7IHZhbGlkYXRpb24ubWVzc2FnZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICBcbiAgICA8L2Rpdj5cbiAgPC9kaXY+Il19
@@ -3,12 +3,14 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { Subject } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "appproject-utils";
6
- import * as i2 from "@ionic/angular";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@ionic/angular";
7
8
  export class InputArquivoComponent {
8
9
  constructor(utils) {
9
10
  this.utils = utils;
10
11
  this.subir = false;
11
12
  this.form = false;
13
+ this.showIcon = false;
12
14
  this.sucessoEvent = new Subject();
13
15
  this.onChange = (selectedColor) => { };
14
16
  this.onTouch = () => { };
@@ -79,18 +81,18 @@ export class InputArquivoComponent {
79
81
  }
80
82
  }
81
83
  InputArquivoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: InputArquivoComponent, deps: [{ token: i1.AppprojectUtilsService }], target: i0.ɵɵFactoryTarget.Component });
82
- InputArquivoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: InputArquivoComponent, selector: "kb-input-arquivo", inputs: { nomeArquivo: "nomeArquivo", caption: "caption", pasta: "pasta", subir: "subir", callback: "callback", form: "form" }, providers: [{
84
+ InputArquivoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: InputArquivoComponent, selector: "kb-input-arquivo", inputs: { nomeArquivo: "nomeArquivo", caption: "caption", pasta: "pasta", subir: "subir", callback: "callback", form: "form", showIcon: "showIcon" }, providers: [{
83
85
  provide: NG_VALUE_ACCESSOR,
84
86
  useExisting: InputArquivoComponent,
85
87
  multi: true
86
- }], viewQueries: [{ propertyName: "myInput", first: true, predicate: ["inputNome"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div style=\"text-align:center;\">\n <ion-button style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\" fill=\"outline\" size=\"normal\" color=\"primary\" (click)=\"showImageBrowser()\">\n <ion-icon class=\"ion-padding-end\" src=\"/assets/icon/image_primary_24dp.svg\"></ion-icon>\n {{ caption }}\n </ion-button>\n <input type=\"file\" id=\"upimgfile\" name=\"uploadfile\" #inputNome accept=\"image/*\" (change)=\"loadImagem()\"\n style=\"display: none;\" />\n </div>\n ", styles: [""], dependencies: [{ kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] });
88
+ }], viewQueries: [{ propertyName: "myInput", first: true, predicate: ["inputNome"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div style=\"text-align:center;\">\n <ion-button style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\" fill=\"outline\" size=\"normal\" color=\"primary\" \n (click)=\"showImageBrowser()\" expand=\"block\">\n <ion-icon *ngIf=\"showIcon\" class=\"ion-padding-end\" src=\"/assets/icon/image_primary_24dp.svg\"></ion-icon>\n {{ caption }}\n </ion-button>\n <input type=\"file\" id=\"upimgfile\" name=\"uploadfile\" #inputNome accept=\"image/*\" (change)=\"loadImagem()\"\n style=\"display: none;\" />\n </div>\n ", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i3.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] });
87
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: InputArquivoComponent, decorators: [{
88
90
  type: Component,
89
91
  args: [{ selector: 'kb-input-arquivo', providers: [{
90
92
  provide: NG_VALUE_ACCESSOR,
91
93
  useExisting: InputArquivoComponent,
92
94
  multi: true
93
- }], template: "<div style=\"text-align:center;\">\n <ion-button style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\" fill=\"outline\" size=\"normal\" color=\"primary\" (click)=\"showImageBrowser()\">\n <ion-icon class=\"ion-padding-end\" src=\"/assets/icon/image_primary_24dp.svg\"></ion-icon>\n {{ caption }}\n </ion-button>\n <input type=\"file\" id=\"upimgfile\" name=\"uploadfile\" #inputNome accept=\"image/*\" (change)=\"loadImagem()\"\n style=\"display: none;\" />\n </div>\n " }]
95
+ }], template: "<div style=\"text-align:center;\">\n <ion-button style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\" fill=\"outline\" size=\"normal\" color=\"primary\" \n (click)=\"showImageBrowser()\" expand=\"block\">\n <ion-icon *ngIf=\"showIcon\" class=\"ion-padding-end\" src=\"/assets/icon/image_primary_24dp.svg\"></ion-icon>\n {{ caption }}\n </ion-button>\n <input type=\"file\" id=\"upimgfile\" name=\"uploadfile\" #inputNome accept=\"image/*\" (change)=\"loadImagem()\"\n style=\"display: none;\" />\n </div>\n " }]
94
96
  }], ctorParameters: function () { return [{ type: i1.AppprojectUtilsService }]; }, propDecorators: { nomeArquivo: [{
95
97
  type: Input
96
98
  }], caption: [{
@@ -103,8 +105,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
103
105
  type: Input
104
106
  }], form: [{
105
107
  type: Input
108
+ }], showIcon: [{
109
+ type: Input
106
110
  }], myInput: [{
107
111
  type: ViewChild,
108
112
  args: ['inputNome', { read: ElementRef, static: true }]
109
113
  }] } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYXJxdWl2by5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcHBwcm9qZWN0LWNvbXBvbmVudHMvc3JjL2xpYi9pbnB1dC1hcnF1aXZvL2lucHV0LWFycXVpdm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtYXJxdWl2by9pbnB1dC1hcnF1aXZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFZL0IsTUFBTSxPQUFPLHFCQUFxQjtJQTJDaEMsWUFBb0IsS0FBNkI7UUFBN0IsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFwQ3hDLFVBQUssR0FBWSxLQUFLLENBQUM7UUFFdkIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUt4QixpQkFBWSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBSzlDLGFBQVEsR0FBYSxDQUFDLGFBQXFCLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNwRCxZQUFPLEdBQWEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLGFBQVEsR0FBWSxLQUFLLENBQUM7SUF3QmxDLENBQUM7SUF0QkQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLElB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LE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLHFCQUFxQjtZQUNsQyxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsMkdBYThCLFVBQVUsMkNDMUI1Qyw0ZUFRRTsyRkRPVyxxQkFBcUI7a0JBVmpDLFNBQVM7K0JBQ0Usa0JBQWtCLGFBR2pCLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyx1QkFBdUI7NEJBQ2xDLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUM7NkdBR08sV0FBVztzQkFBbkIsS0FBSztnQkFJRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFc0QsT0FBTztzQkFBbEUsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXBwcHJvamVjdFV0aWxzU2VydmljZSB9IGZyb20gJ2FwcHByb2plY3QtdXRpbHMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrYi1pbnB1dC1hcnF1aXZvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWFycXVpdm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1hcnF1aXZvLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogSW5wdXRBcnF1aXZvQ29tcG9uZW50LFxuICAgIG11bHRpOiB0cnVlXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIElucHV0QXJxdWl2b0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBub21lQXJxdWl2bzogc3RyaW5nO1xuXG4gIC8vQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBjYXB0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBhc3RhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN1YmlyOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhbGxiYWNrOiBGdW5jdGlvbjtcbiAgQElucHV0KCkgZm9ybTogYm9vbGVhbiA9IGZhbHNlO1xuICAvL2ltYWdlbVxuICBAVmlld0NoaWxkKCdpbnB1dE5vbWUnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBteUlucHV0O1xuICBjYXB0dXJlRGF0YVVybDogc3RyaW5nO1xuICBwdWJsaWMgZm9ybUZpbGU6IGFueTtcbiAgcHVibGljIHN1Y2Vzc29FdmVudDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgZGF0YTogc3RyaW5nO1xuICBmaWxlbmFtZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKHNlbGVjdGVkQ29sb3I6IHN0cmluZykgPT4geyB9O1xuICBwcml2YXRlIG9uVG91Y2g6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xuICBwcml2YXRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgc2hvd0ltYWdlQnJvd3NlcigpIHtcbiAgICB0aGlzLm15SW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5kYXRhID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuY2FsbGJhY2spXG4gICAgICB0aGlzLmNhbGxiYWNrKHRoaXMuZmlsZW5hbWUpO1xuICB9XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1dGlsczogQXBwcHJvamVjdFV0aWxzU2VydmljZSkge1xuXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICB9XG5cbiAgbG9hZEltYWdlbSgpIHtcbiAgICAvL2NvbnNvbGUubG9nKHRoaXMubXlJbnB1dCk7XG4gICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtRmlsZSA9IHRoaXMubXlJbnB1dC5uYXRpdmVFbGVtZW50LmZpbGVzWzBdO1xuICAgICAgdGhpcy5zdWNlc3NvRXZlbnQubmV4dCh0cnVlKTtcblxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1GaWxlID0gdGhpcy5teUlucHV0Lm5hdGl2ZUVsZW1lbnQuZmlsZXNbMF07XG4gICAgICB0aGlzLnV0aWxzLmdldEJhc2U2NEZyb21GaWxlKHRoaXMubXlJbnB1dC5uYXRpdmVFbGVtZW50LmZpbGVzWzBdKVxuICAgICAgICAudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICAgIC8vY29uc29sZS5sb2coJ2ZpbGU6ICcsIHJlc3VsdC50b1N0cmluZygpKTtcbiAgICAgICAgICAvL2NvbnNvbGUubG9nKCdub21lIGRvIGFycXVpdm86ICcsIHRoaXMubm9tZUFycXVpdm8udG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgbGV0IHNlYXJjaHN0ciA9IHJlc3VsdC50b1N0cmluZygpLnN1YnN0cmluZygwLCByZXN1bHQudG9TdHJpbmcoKS5pbmRleE9mKCdiYXNlNjQsJykpICsgJ2Jhc2U2NCwnO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdzZWFyY2hzdHJpbmcnLCBzZWFyY2hzdHIpO1xuICAgICAgICAgIGlmICh0aGlzLnN1YmlyKSB7XG4gICAgICAgICAgICB0aGlzLmNhcHR1cmVEYXRhVXJsID0gcmVzdWx0LnRvU3RyaW5nKCkucmVwbGFjZShzZWFyY2hzdHIsICcnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jYXB0dXJlRGF0YVVybCA9IHJlc3VsdC50b1N0cmluZygpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvL3RoaXMudXRpbHMuc2hvd1RvYXN0KCdJbWFnZW0gY2FycmVnYWRhIGVtIG1lbcOzcmlhLicpO1xuICAgICAgICAgIHRoaXMuc3VjZXNzb0V2ZW50Lm5leHQodHJ1ZSk7XG4gICAgICAgICAgY29uc29sZS5sb2coJ2ZpbGUnLCB0aGlzLm15SW5wdXQubmF0aXZlRWxlbWVudC5maWxlc1swXSk7XG4gICAgICAgICAgdGhpcy5maWxlbmFtZSA9IHRoaXMubXlJbnB1dC5uYXRpdmVFbGVtZW50LmZpbGVzWzBdLm5hbWU7XG4gICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuY2FwdHVyZURhdGFVcmwpO1xuXG5cblxuICAgICAgICAgIC8vIGlmICh0aGlzLm5vbWVBcnF1aXZvICYmIHRoaXMuc3ViaXIpIHtcbiAgICAgICAgICAvLyAgIHRoaXMuYXJxdWl2b1NlcnZpY2Uuc2V0SW1hZ2VtKHsgTm9tZTogdGhpcy5ub21lQXJxdWl2bywgQ29udGV1ZG86IHRoaXMuY2FwdHVyZURhdGFVcmwsIFN0YXR1czogMCwgUGFzdGE6IHRoaXMucGFzdGEgfSlcbiAgICAgICAgICAvLyAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgIC8vICAgICAgIGNvbnNvbGUubG9nKCdyZXN1bHQgc2V0IGltYWdlbScsIHJlc3VsdCk7XG4gICAgICAgICAgLy8gICAgICAgaWYgKHJlc3VsdC5TdGF0dXMgPT0gMjAwKSB7XG4gICAgICAgICAgLy8gICAgICAgICB0aGlzLnV0aWxzLnNob3dUb2FzdCgnU3VjZXNzbyEnKTtcbiAgICAgICAgICAvLyAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vICAgICAgICAgdGhpcy51dGlscy5zaG93QWxlcnQoJ0Vycm8uIFRlbnRlIG1haXMgdGFyZGUuJyArIHJlc3VsdC5Db250ZXVkbyk7XG4gICAgICAgICAgLy8gICAgICAgfVxuICAgICAgICAgIC8vICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgLy8gICAgICAgdGhpcy51dGlscy5zaG93QWxlcnQoJ0Vycm8uIFRlbnRlIG1haXMgdGFyZGUuJyk7XG4gICAgICAgICAgLy8gICAgIH0pXG4gICAgICAgICAgLy8gfVxuXG4gICAgICAgIH0pLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLnN1Y2Vzc29FdmVudC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfSlcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlcjtcIj5cbiAgICA8aW9uLWJ1dHRvbiBzdHlsZT1cImJveC1zaGFkb3c6ICM0YzhkZmYgMHB4IDNweCAzcHggMC4wNXB4XCIgZmlsbD1cIm91dGxpbmVcIiBzaXplPVwibm9ybWFsXCIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInNob3dJbWFnZUJyb3dzZXIoKVwiPlxuICAgICAgPGlvbi1pY29uIGNsYXNzPVwiaW9uLXBhZGRpbmctZW5kXCIgc3JjPVwiL2Fzc2V0cy9pY29uL2ltYWdlX3ByaW1hcnlfMjRkcC5zdmdcIj48L2lvbi1pY29uPlxuICAgICAge3sgY2FwdGlvbiB9fVxuICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBpZD1cInVwaW1nZmlsZVwiIG5hbWU9XCJ1cGxvYWRmaWxlXCIgI2lucHV0Tm9tZSBhY2NlcHQ9XCJpbWFnZS8qXCIgKGNoYW5nZSk9XCJsb2FkSW1hZ2VtKClcIlxuICAgICAgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIC8+XG4gIDwvZGl2PlxuICAiXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYXJxdWl2by5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcHBwcm9qZWN0LWNvbXBvbmVudHMvc3JjL2xpYi9pbnB1dC1hcnF1aXZvL2lucHV0LWFycXVpdm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtYXJxdWl2by9pbnB1dC1hcnF1aXZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBWS9CLE1BQU0sT0FBTyxxQkFBcUI7SUE0Q2hDLFlBQW9CLEtBQTZCO1FBQTdCLFVBQUssR0FBTCxLQUFLLENBQXdCO1FBckN4QyxVQUFLLEdBQVksS0FBSyxDQUFDO1FBRXZCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUs1QixpQkFBWSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBSzlDLGFBQVEsR0FBYSxDQUFDLGFBQXFCLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNwRCxZQUFPLEdBQWEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLGFBQVEsR0FBWSxLQUFLLENBQUM7SUF3QmxDLENBQUM7SUF0QkQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxD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QXJCLHFCQUFxQixpTUFOckIsQ0FBQztZQUNWLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLHFCQUFxQjtZQUNsQyxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsMkdBYzhCLFVBQVUsMkNDM0I1Qyx3aEJBU0U7MkZETVcscUJBQXFCO2tCQVZqQyxTQUFTOytCQUNFLGtCQUFrQixhQUdqQixDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsdUJBQXVCOzRCQUNsQyxLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDOzZHQUdPLFdBQVc7c0JBQW5CLEtBQUs7Z0JBSUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFc0QsT0FBTztzQkFBbEUsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXBwcHJvamVjdFV0aWxzU2VydmljZSB9IGZyb20gJ2FwcHByb2plY3QtdXRpbHMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrYi1pbnB1dC1hcnF1aXZvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWFycXVpdm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1hcnF1aXZvLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogSW5wdXRBcnF1aXZvQ29tcG9uZW50LFxuICAgIG11bHRpOiB0cnVlXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIElucHV0QXJxdWl2b0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBub21lQXJxdWl2bzogc3RyaW5nO1xuXG4gIC8vQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBjYXB0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBhc3RhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN1YmlyOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhbGxiYWNrOiBGdW5jdGlvbjtcbiAgQElucHV0KCkgZm9ybTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuICAvL2ltYWdlbVxuICBAVmlld0NoaWxkKCdpbnB1dE5vbWUnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBteUlucHV0O1xuICBjYXB0dXJlRGF0YVVybDogc3RyaW5nO1xuICBwdWJsaWMgZm9ybUZpbGU6IGFueTtcbiAgcHVibGljIHN1Y2Vzc29FdmVudDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgZGF0YTogc3RyaW5nO1xuICBmaWxlbmFtZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKHNlbGVjdGVkQ29sb3I6IHN0cmluZykgPT4geyB9O1xuICBwcml2YXRlIG9uVG91Y2g6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xuICBwcml2YXRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgc2hvd0ltYWdlQnJvd3NlcigpIHtcbiAgICB0aGlzLm15SW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5kYXRhID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuY2FsbGJhY2spXG4gICAgICB0aGlzLmNhbGxiYWNrKHRoaXMuZmlsZW5hbWUpO1xuICB9XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1dGlsczogQXBwcHJvamVjdFV0aWxzU2VydmljZSkge1xuXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICB9XG5cbiAgbG9hZEltYWdlbSgpIHtcbiAgICAvL2NvbnNvbGUubG9nKHRoaXMubXlJbnB1dCk7XG4gICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtRmlsZSA9IHRoaXMubXlJbnB1dC5uYXRpdmVFbGVtZW50LmZpbGVzWzBdO1xuICAgICAgdGhpcy5zdWNlc3NvRXZlbnQubmV4dCh0cnVlKTtcblxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1GaWxlID0gdGhpcy5teUlucHV0Lm5hdGl2ZUVsZW1lbnQuZmlsZXNbMF07XG4gICAgICB0aGlzLnV0aWxzLmdldEJhc2U2NEZyb21GaWxlKHRoaXMubXlJbnB1dC5uYXRpdmVFbGVtZW50LmZpbGVzWzBdKVxuICAgICAgICAudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICAgIC8vY29uc29sZS5sb2coJ2ZpbGU6ICcsIHJlc3VsdC50b1N0cmluZygpKTtcbiAgICAgICAgICAvL2NvbnNvbGUubG9nKCdub21lIGRvIGFycXVpdm86ICcsIHRoaXMubm9tZUFycXVpdm8udG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgbGV0IHNlYXJjaHN0ciA9IHJlc3VsdC50b1N0cmluZygpLnN1YnN0cmluZygwLCByZXN1bHQudG9TdHJpbmcoKS5pbmRleE9mKCdiYXNlNjQsJykpICsgJ2Jhc2U2NCwnO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdzZWFyY2hzdHJpbmcnLCBzZWFyY2hzdHIpO1xuICAgICAgICAgIGlmICh0aGlzLnN1YmlyKSB7XG4gICAgICAgICAgICB0aGlzLmNhcHR1cmVEYXRhVXJsID0gcmVzdWx0LnRvU3RyaW5nKCkucmVwbGFjZShzZWFyY2hzdHIsICcnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jYXB0dXJlRGF0YVVybCA9IHJlc3VsdC50b1N0cmluZygpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvL3RoaXMudXRpbHMuc2hvd1RvYXN0KCdJbWFnZW0gY2FycmVnYWRhIGVtIG1lbcOzcmlhLicpO1xuICAgICAgICAgIHRoaXMuc3VjZXNzb0V2ZW50Lm5leHQodHJ1ZSk7XG4gICAgICAgICAgY29uc29sZS5sb2coJ2ZpbGUnLCB0aGlzLm15SW5wdXQubmF0aXZlRWxlbWVudC5maWxlc1swXSk7XG4gICAgICAgICAgdGhpcy5maWxlbmFtZSA9IHRoaXMubXlJbnB1dC5uYXRpdmVFbGVtZW50LmZpbGVzWzBdLm5hbWU7XG4gICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuY2FwdHVyZURhdGFVcmwpO1xuXG5cblxuICAgICAgICAgIC8vIGlmICh0aGlzLm5vbWVBcnF1aXZvICYmIHRoaXMuc3ViaXIpIHtcbiAgICAgICAgICAvLyAgIHRoaXMuYXJxdWl2b1NlcnZpY2Uuc2V0SW1hZ2VtKHsgTm9tZTogdGhpcy5ub21lQXJxdWl2bywgQ29udGV1ZG86IHRoaXMuY2FwdHVyZURhdGFVcmwsIFN0YXR1czogMCwgUGFzdGE6IHRoaXMucGFzdGEgfSlcbiAgICAgICAgICAvLyAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgIC8vICAgICAgIGNvbnNvbGUubG9nKCdyZXN1bHQgc2V0IGltYWdlbScsIHJlc3VsdCk7XG4gICAgICAgICAgLy8gICAgICAgaWYgKHJlc3VsdC5TdGF0dXMgPT0gMjAwKSB7XG4gICAgICAgICAgLy8gICAgICAgICB0aGlzLnV0aWxzLnNob3dUb2FzdCgnU3VjZXNzbyEnKTtcbiAgICAgICAgICAvLyAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vICAgICAgICAgdGhpcy51dGlscy5zaG93QWxlcnQoJ0Vycm8uIFRlbnRlIG1haXMgdGFyZGUuJyArIHJlc3VsdC5Db250ZXVkbyk7XG4gICAgICAgICAgLy8gICAgICAgfVxuICAgICAgICAgIC8vICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgLy8gICAgICAgdGhpcy51dGlscy5zaG93QWxlcnQoJ0Vycm8uIFRlbnRlIG1haXMgdGFyZGUuJyk7XG4gICAgICAgICAgLy8gICAgIH0pXG4gICAgICAgICAgLy8gfVxuXG4gICAgICAgIH0pLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLnN1Y2Vzc29FdmVudC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfSlcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlcjtcIj5cbiAgICA8aW9uLWJ1dHRvbiBzdHlsZT1cImJveC1zaGFkb3c6ICM0YzhkZmYgMHB4IDNweCAzcHggMC4wNXB4XCIgZmlsbD1cIm91dGxpbmVcIiBzaXplPVwibm9ybWFsXCIgY29sb3I9XCJwcmltYXJ5XCIgXG4gICAgICAoY2xpY2spPVwic2hvd0ltYWdlQnJvd3NlcigpXCIgZXhwYW5kPVwiYmxvY2tcIj5cbiAgICAgIDxpb24taWNvbiAqbmdJZj1cInNob3dJY29uXCIgY2xhc3M9XCJpb24tcGFkZGluZy1lbmRcIiBzcmM9XCIvYXNzZXRzL2ljb24vaW1hZ2VfcHJpbWFyeV8yNGRwLnN2Z1wiPjwvaW9uLWljb24+XG4gICAgICB7eyBjYXB0aW9uIH19XG4gICAgPC9pb24tYnV0dG9uPlxuICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIGlkPVwidXBpbWdmaWxlXCIgbmFtZT1cInVwbG9hZGZpbGVcIiAjaW5wdXROb21lIGFjY2VwdD1cImltYWdlLypcIiAoY2hhbmdlKT1cImxvYWRJbWFnZW0oKVwiXG4gICAgICBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgLz5cbiAgPC9kaXY+XG4gICJdfQ==
@@ -162,14 +162,14 @@ InputCepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
162
162
  provide: NG_VALUE_ACCESSOR,
163
163
  useExisting: InputCepComponent,
164
164
  multi: true
165
- }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div>\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\n >\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputCep\n type=\"tel\" \n [placeholder]=\"placeholder\"\n maxlength=\"{{ max }}\" \n (keydown)=\"digitarFormatado($event)\" \n (keyup.enter)=\"onKeyEnter()\"\n (ionBlur)=\"onBlur()\"\n [value]=\"data\"\n (input)=\"writeValue(inputCep.value)\"\n [disabled]=\"readonly\"></ion-input>\n\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\"\n style=\"margin-top: 25px; margin-inline-start: 4px !important; --padding-start:2px; --padding-end: 2px;\" fill=\"clear\" color=\"medium\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n \n </ion-item>\n \n <div class=\"validation-errors\" *ngIf=\"form\">\n <ng-container *ngFor=\"let validation of validation_messages\">\n <div class=\"error-message\"\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\n &#8226; {{ validation.message }}\n </div>\n </ng-container>\n </div>\n </div>", styles: ["", "ion-label{margin-bottom:4px!important;opacity:1!important}ion-input{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:var(--input-max-height, 29px)}.has-focus{border:1px solid var(--ion-color-bluetool, #1f477d)}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}.padding{padding:auto}.no-padding{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:55px!important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-shake ion-label{color:var(--error-text-color, red)!important}.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid var(--error-text-color, red)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }] });
165
+ }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div>\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\" [class]=\"itemClass\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\n >\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputCep\n type=\"tel\" \n [placeholder]=\"placeholder\"\n maxlength=\"{{ max }}\" \n (keydown)=\"digitarFormatado($event)\" \n (keyup.enter)=\"onKeyEnter()\"\n (ionBlur)=\"onBlur()\"\n [value]=\"data\"\n (input)=\"writeValue(inputCep.value)\"\n [disabled]=\"readonly\"></ion-input>\n\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\"\n style=\"margin-top: 25px; margin-inline-start: 4px !important; --padding-start:2px; --padding-end: 2px;\" fill=\"clear\" color=\"medium\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n \n </ion-item>\n \n <div class=\"validation-errors\" *ngIf=\"form\">\n <ng-container *ngFor=\"let validation of validation_messages\">\n <div class=\"error-message\"\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\n &#8226; {{ validation.message }}\n </div>\n </ng-container>\n </div>\n </div>", styles: ["", "ion-label{margin-bottom:4px!important;opacity:1!important}ion-input{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:var(--input-max-height, 29px)}.has-focus{border:1px solid var(--ion-color-bluetool, #1f477d)}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}.padding{padding:auto}.no-padding{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:55px!important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-shake ion-label{color:var(--error-text-color, red)!important}.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid var(--error-text-color, red)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }] });
166
166
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: InputCepComponent, decorators: [{
167
167
  type: Component,
168
168
  args: [{ selector: 'kb-input-cep', providers: [{
169
169
  provide: NG_VALUE_ACCESSOR,
170
170
  useExisting: InputCepComponent,
171
171
  multi: true
172
- }], template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div>\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\n >\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputCep\n type=\"tel\" \n [placeholder]=\"placeholder\"\n maxlength=\"{{ max }}\" \n (keydown)=\"digitarFormatado($event)\" \n (keyup.enter)=\"onKeyEnter()\"\n (ionBlur)=\"onBlur()\"\n [value]=\"data\"\n (input)=\"writeValue(inputCep.value)\"\n [disabled]=\"readonly\"></ion-input>\n\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\"\n style=\"margin-top: 25px; margin-inline-start: 4px !important; --padding-start:2px; --padding-end: 2px;\" fill=\"clear\" color=\"medium\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n \n </ion-item>\n \n <div class=\"validation-errors\" *ngIf=\"form\">\n <ng-container *ngFor=\"let validation of validation_messages\">\n <div class=\"error-message\"\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\n &#8226; {{ validation.message }}\n </div>\n </ng-container>\n </div>\n </div>", styles: ["ion-label{margin-bottom:4px!important;opacity:1!important}ion-input{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:var(--input-max-height, 29px)}.has-focus{border:1px solid var(--ion-color-bluetool, #1f477d)}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}.padding{padding:auto}.no-padding{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:55px!important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-shake ion-label{color:var(--error-text-color, red)!important}.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid var(--error-text-color, red)!important}\n"] }]
172
+ }], template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div>\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\" [class]=\"itemClass\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\n >\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputCep\n type=\"tel\" \n [placeholder]=\"placeholder\"\n maxlength=\"{{ max }}\" \n (keydown)=\"digitarFormatado($event)\" \n (keyup.enter)=\"onKeyEnter()\"\n (ionBlur)=\"onBlur()\"\n [value]=\"data\"\n (input)=\"writeValue(inputCep.value)\"\n [disabled]=\"readonly\"></ion-input>\n\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\"\n style=\"margin-top: 25px; margin-inline-start: 4px !important; --padding-start:2px; --padding-end: 2px;\" fill=\"clear\" color=\"medium\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n \n </ion-item>\n \n <div class=\"validation-errors\" *ngIf=\"form\">\n <ng-container *ngFor=\"let validation of validation_messages\">\n <div class=\"error-message\"\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\n &#8226; {{ validation.message }}\n </div>\n </ng-container>\n </div>\n </div>", styles: ["ion-label{margin-bottom:4px!important;opacity:1!important}ion-input{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:var(--input-max-height, 29px)}.has-focus{border:1px solid var(--ion-color-bluetool, #1f477d)}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}.padding{padding:auto}.no-padding{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:55px!important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-shake ion-label{color:var(--error-text-color, red)!important}.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid var(--error-text-color, red)!important}\n"] }]
173
173
  }], ctorParameters: function () { return []; }, propDecorators: { formato: [{
174
174
  type: Input
175
175
  }], keyEnter: [{
@@ -177,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
177
177
  }], getResultados: [{
178
178
  type: Input
179
179
  }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcHByb2plY3QtY29tcG9uZW50cy9zcmMvbGliL2lucHV0LWNlcC9pbnB1dC1jZXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtY2VwL2lucHV0LWNlcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQVkzRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBV3ZEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFWRCxZQUFPLEdBQWtCLFdBQVcsQ0FBQztRQUNyQyxhQUFRLEdBQW9CLElBQUksQ0FBQztRQUNqQyxrQkFBYSxHQUFvQixJQUFJLENBQUM7UUFFL0MsdUJBQXVCO1FBQ2hCLFNBQUksR0FBaUIsSUFBSSxDQUFDO1FBQ3pCLGFBQVEsR0FBYSxDQUFDLElBQVksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLFlBQU8sR0FBYSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUIsYUFBUSxHQUFZLEtBQUssQ0FBQztJQUdsQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQW1CO1FBQzVCLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxn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WUFDMUIsV0FBVyxFQUFFLGlCQUFpQjtZQUM5QixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsaURDYkosNm9EQXFDUTsyRkR0QkssaUJBQWlCO2tCQVY3QixTQUFTOytCQUNFLGNBQWMsYUFHYixDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsbUJBQW1COzRCQUM5QixLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDOzBFQUlPLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhc2VJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2VJbnB1dENvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tiLWlucHV0LWNlcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1jZXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1jZXAuY29tcG9uZW50LnNjc3MnLCAnLi8uLi9iYXNlQ29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBJbnB1dENlcENvbXBvbmVudCxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dENlcENvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIEBJbnB1dCgpIGZvcm1hdG86IHN0cmluZyB8IG51bGwgPSAnMDAwMDAtMDAwJztcbiAgQElucHV0KCkga2V5RW50ZXI6IEZ1bmN0aW9uIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGdldFJlc3VsdGFkb3M6IEZ1bmN0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgLy9jb250cm9sIHZhbHVlIGFjZXNzb3JcbiAgcHVibGljIGRhdGE6IHN0cmluZyB8IGFueSA9IG51bGw7XG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKGRhdGE6IHN0cmluZykgPT4geyB9O1xuICBwcml2YXRlIG9uVG91Y2g6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xuICBwcml2YXRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBhbnkpOiB2b2lkIHtcbiAgICAvL2NvbnNvbGUubG9nKCd3cml0ZSB2YWx1ZScsIHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgZGlnaXRhckZvcm1hdGFkbyhldmVudDogYW55KSB7XG4gICAgY29uc29sZS5sb2coZXZlbnQpO1xuICAgIGlmICgoZXZlbnQua2V5Q29kZSA+PSA0OCAmJiBldmVudC5rZXlDb2RlIDw9IDU3KVxuICAgICAgfHwgKGV2ZW50LmtleUNvZGUgPj0gOTYgJiYgZXZlbnQua2V5Q29kZSA8PSAxMDUpXG4gICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA4KVxuICAgICAgfHwgKGV2ZW50LmtleUNvZGUgPT0gOSlcbiAgICAgIHx8IChldmVudC5rZXlDb2RlID09IDM5KVxuICAgICAgfHwgKGV2ZW50LmtleUNvZGUgPT0gMzcpXG4gICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA0NikpIHtcblxuICAgICAgLy9jb25zb2xlLmxvZyh0aGlzLmZvcm1Db250cm9sTmFtZSwgdGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSkudmFsdWUpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIFt0aGlzLmZvcm1Db250cm9sTmFtZV06IHRoaXMuZm9ybWF0YUNhbXBvVmFsb3IodGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSk/LnZhbHVlLCB0aGlzLmZvcm1hdG8gPz8gJycsIGV2ZW50KVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZm9ybWF0YUNhbXBvVmFsb3IodGhpcy5kYXRhID8/ICcnLCB0aGlzLmZvcm1hdG8gPz8gJycsIGV2ZW50KTtcbiAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSwgMTAwKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5RW50ZXIoKSB7XG4gICAgaWYgKHRoaXMua2V5RW50ZXIgIT0gbnVsbCkge1xuICAgICAgdGhpcy5rZXlFbnRlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5nZXRSZXN1bHRhZG9zICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5wZXNxdWlzYXJDbGljaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICB0aGlzLmZvcm0uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKT8ubWFya0FzVG91Y2hlZCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ibHVyKSB7XG4gICAgICB0aGlzLmJsdXIodGhpcy5ibHVyQXJncyk7XG4gICAgfVxuICB9XG5cbiAgZm9ybWF0YUNhbXBvVmFsb3IodmFsb3I6IHN0cmluZywgTWFzY2FyYTogc3RyaW5nLCBldmVudG86IGFueSkge1xuICAgIGNvbnNvbGUubG9nKHZhbG9yKTtcbiAgICBpZiAoIXZhbG9yKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgLy9jb25zb2xlLmxvZyhldmVudG8pO1xuXG4gICAgLy9pZiAoIXRoaXMua2V5cHJlc3NJbnRlaXJvKGV2ZW50bykpXG4gICAgLy8gIHJldHVybjtcblxuICAgIHZhciBib2xlYW5vTWFzY2FyYTtcblxuICAgIHZhciBEaWdpdGF0byA9IGV2ZW50byAhPSBudWxsID8gZXZlbnRvLmtleUNvZGUgOiAwO1xuICAgIGxldCBleHAgPSAvXFwtfFxcLnxcXC98XFwofFxcKXwgL2dcbiAgICBsZXQgY2FtcG9Tb051bWVyb3MgPSB2YWxvci5yZXBsYWNlKGV4cCwgXCJcIik7XG5cbiAgICB2YXIgcG9zaWNhb0NhbXBvID0gMDtcbiAgICB2YXIgTm92b1ZhbG9yQ2FtcG8gPSBcIlwiO1xuICAgIHZhciBUYW1hbmhvTWFzY2FyYSA9IGNhbXBvU29OdW1lcm9zLmxlbmd0aDs7XG5cbiAgICBpZiAoRGlnaXRhdG8gIT0gOCkgeyAvLyBiYWNrc3BhY2UgXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBUYW1hbmhvTWFzY2FyYTsgaSsrKSB7XG4gICAgICAgIGJvbGVhbm9NYXNjYXJhID0gKChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIi1cIikgfHwgKE1hc2NhcmEuY2hhckF0KGkpID09IFwiLlwiKVxuICAgICAgICAgIHx8IChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIi9cIikpXG4gICAgICAgIGJvbGVhbm9NYXNjYXJhID0gYm9sZWFub01hc2NhcmEgfHwgKChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIihcIilcbiAgICAgICAgICB8fCAoTWFzY2FyYS5jaGFyQXQoaSkgPT0gXCIpXCIpIHx8IChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIiBcIikpXG4gICAgICAgIGlmIChib2xlYW5vTWFzY2FyYSkge1xuICAgICAgICAgIE5vdm9WYWxvckNhbXBvICs9IE1hc2NhcmEuY2hhckF0KGkpO1xuICAgICAgICAgIFRhbWFuaG9NYXNjYXJhKys7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgTm92b1ZhbG9yQ2FtcG8gKz0gY2FtcG9Tb051bWVyb3MuY2hhckF0KHBvc2ljYW9DYW1wbyk7XG4gICAgICAgICAgcG9zaWNhb0NhbXBvKys7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBOb3ZvVmFsb3JDYW1wbztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbG9yO1xuICAgIH1cbiAgfVxuXG4gIHBlc3F1aXNhckNsaWNrKCkge1xuICAgIGNvbnN0IGNlcCA9IHRoaXMuZGF0YTtcbiAgICAvL3NlIG7Do28gZXN0aXZlciBpbmZvcm1hZG8gbyBjZXAsIG7Do28gZmF6ZXIgYSBwZXNxdWlzYVxuICAgIGlmIChjZXAgPT0gbnVsbCB8fCBjZXAgPT0gXCJcIikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZ2V0RW5kZXJlY29QZWxvQ2VwKGNlcCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXN1bHQpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ3Jlc3VsdCBDRVAnLCByZXN1bHQpO1xuXG4gICAgICAgIGxldCBjaWRhZGVQZXNxdWlzYTogc3RyaW5nID0gcmVzdWx0LmxvY2FsaWRhZGU7XG4gICAgICAgIGNpZGFkZVBlc3F1aXNhID0gdGhpcy5jb252ZXJ0ZUNhcmFjdGVyZXNFc3BlY2lhaXMoY2lkYWRlUGVzcXVpc2EudG9VcHBlckNhc2UoKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2V0UmVzdWx0YWRvcykge1xuICAgICAgICAgIHRoaXMuZ2V0UmVzdWx0YWRvcyhyZXN1bHQpO1xuICAgICAgICB9XG5cbiAgICAgIH0sIGVycm9yOiAoZXJyb3IpID0+IHtcblxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy9zdWJzdGl0dWnDp8OjbyBkZSBjYXJhY3RlcmVzXG4gIGNvbnZlcnRlQ2FyYWN0ZXJlc0VzcGVjaWFpcyhub21lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHZhciByZXMgPSBub21lLnJlcGxhY2UoL8ODL2csIFwiQVwiKTtcbiAgICByZXMgPSByZXMucmVwbGFjZSgvw4EvZywgXCJBXCIpO1xuICAgIHJlcyA9IHJlcy5yZXBsYWNlKC/Dhy9nLCBcIkNcIik7XG4gICAgcmVzID0gcmVzLnJlcGxhY2UoL8OJL2csIFwiRVwiKTtcbiAgICByZXMgPSByZXMucmVwbGFjZSgvw4IvZywgXCJBXCIpO1xuICAgIHJlcyA9IHJlcy5yZXBsYWNlKC/DlC9nLCBcIk9cIik7XG4gICAgcmVzID0gcmVzLnJlcGxhY2UoL8OTL2csIFwiT1wiKTtcbiAgICByZXMgPSByZXMucmVwbGFjZSgvw5ovZywgXCJVXCIpO1xuICAgIHJlcyA9IHJlcy5yZXBsYWNlKC/DjS9nLCBcIklcIik7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIGdldEVuZGVyZWNvUGVsb0NlcChjZXA6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKCh4KSA9PiB7XG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgICAgcmVxdWVzdC5vcGVuKCdnZXQnLCBgaHR0cHM6Ly92aWFjZXAuY29tLmJyL3dzLyR7Y2VwfS9qc29uL2AsIHRydWUpO1xuICAgICAgcmVxdWVzdC5zZW5kKCk7XG4gICAgICByZXF1ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGRhdGEgPSBKU09OLnBhcnNlKHRoaXMucmVzcG9uc2UpO1xuICAgICAgICB4Lm5leHQoZGF0YSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG4iLCI8IS0tXG48ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuLS0+XG48IS0tY29tYW5kbyAtLWlubmVyLXBhZGRpbmctZW5kOiB1dGlsaXphZG8gcHJhIHJlbW92ZXIgcGFkZGluZyBkZXNuZWNlc3PDoXJpb3MtLT5cbjxkaXY+XG4gICAgPGlvbi1pdGVtIGxpbmVzPVwibm9uZVwiIHN0eWxlPVwiLS1iYWNrZ3JvdW5kOiBpbmhlcml0ZWQ7LS1iYWNrZ3JvdW5kLWZvY3VzZWQ6IHRyYW5zcGFyZW50Oy0taW5uZXItcGFkZGluZy1lbmQ6IDBweDtcIlxuICAgIFtuZ0NsYXNzXT1cImZvcm0/LmdldChmb3JtQ29udHJvbE5hbWUpPy5lcnJvcnMgJiYgKGZvcm0/LmdldChmb3JtQ29udHJvbE5hbWUpPy5kaXJ0eSB8fCBmb3JtPy5nZXQoZm9ybUNvbnRyb2xOYW1lKT8udG91Y2hlZCkgPyAnZXJyb3Itc2hha2UnIDogJycgXCJcbiAgICA+XG4gICAgICA8aW9uLWxhYmVsIFtwb3NpdGlvbl09XCJsYWJlbFBvc2l0aW9uXCI+e3sgbGFiZWwgfX08L2lvbi1sYWJlbD5cbiAgICAgIDwhLS0gZm9ybUNvbnRyb2xOYW1lPXt7Zm9ybUNvbnRyb2xOYW1lfX0gLS0+XG4gICAgICA8aW9uLWlucHV0ICNpbnB1dENlcFxuICAgICAgdHlwZT1cInRlbFwiIFxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIG1heGxlbmd0aD1cInt7IG1heCB9fVwiIFxuICAgICAgKGtleWRvd24pPVwiZGlnaXRhckZvcm1hdGFkbygkZXZlbnQpXCIgXG4gICAgICAoa2V5dXAuZW50ZXIpPVwib25LZXlFbnRlcigpXCJcbiAgICAgIChpb25CbHVyKT1cIm9uQmx1cigpXCJcbiAgICAgIFt2YWx1ZV09XCJkYXRhXCJcbiAgICAgIChpbnB1dCk9XCJ3cml0ZVZhbHVlKGlucHV0Q2VwLnZhbHVlKVwiXG4gICAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIj48L2lvbi1pbnB1dD5cblxuICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgc2xvdD1cImVuZFwiIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDI1cHg7IG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDRweCAhaW1wb3J0YW50OyAtLXBhZGRpbmctc3RhcnQ6MnB4OyAtLXBhZGRpbmctZW5kOiAycHg7XCIgZmlsbD1cImNsZWFyXCIgY29sb3I9XCJtZWRpdW1cIlxuICAgICAgICAoY2xpY2spPVwicGVzcXVpc2FyQ2xpY2soKVwiPlxuICAgICAgICA8aW9uLWljb24gY29sb3I9XCJwcmltYXJ5XCIgbmFtZT1cInNlYXJjaFwiPjwvaW9uLWljb24+XG4gICAgICA8L2lvbi1idXR0b24+XG4gIFxuICAgIDwvaW9uLWl0ZW0+XG4gIFxuICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yc1wiICpuZ0lmPVwiZm9ybVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdmFsaWRhdGlvbiBvZiB2YWxpZGF0aW9uX21lc3NhZ2VzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAqbmdJZj1cImZvcm0gJiYgZm9ybS5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uaGFzRXJyb3IodmFsaWRhdGlvbi50eXBlKSAmJiAoZm9ybS5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uZGlydHkgfHwgZm9ybS5nZXQoZm9ybUNvbnRyb2xOYW1lKT8udG91Y2hlZClcIj5cbiAgICAgICAgICAmIzgyMjY7IHt7IHZhbGlkYXRpb24ubWVzc2FnZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj4iXX0=
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcHByb2plY3QtY29tcG9uZW50cy9zcmMvbGliL2lucHV0LWNlcC9pbnB1dC1jZXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtY2VwL2lucHV0LWNlcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQVkzRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBV3ZEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFWRCxZQUFPLEdBQWtCLFdBQVcsQ0FBQztRQUNyQyxhQUFRLEdBQW9CLElBQUksQ0FBQztRQUNqQyxrQkFBYSxHQUFvQixJQUFJLENBQUM7UUFFL0MsdUJBQXVCO1FBQ2hCLFNBQUksR0FBaUIsSUFBSSxDQUFDO1FBQ3pCLGFBQVEsR0FBYSxDQUFDLElBQVksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLFlBQU8sR0FBYSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUIsYUFBUSxHQUFZLEtBQUssQ0FBQztJQUdsQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQW1CO1FBQzVCLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxn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WUFDMUIsV0FBVyxFQUFFLGlCQUFpQjtZQUM5QixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsaURDYkosbXFEQXFDUTsyRkR0QkssaUJBQWlCO2tCQVY3QixTQUFTOytCQUNFLGNBQWMsYUFHYixDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsbUJBQW1COzRCQUM5QixLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDOzBFQUlPLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhc2VJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2VJbnB1dENvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tiLWlucHV0LWNlcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1jZXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1jZXAuY29tcG9uZW50LnNjc3MnLCAnLi8uLi9iYXNlQ29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBJbnB1dENlcENvbXBvbmVudCxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dENlcENvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIEBJbnB1dCgpIGZvcm1hdG86IHN0cmluZyB8IG51bGwgPSAnMDAwMDAtMDAwJztcbiAgQElucHV0KCkga2V5RW50ZXI6IEZ1bmN0aW9uIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGdldFJlc3VsdGFkb3M6IEZ1bmN0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgLy9jb250cm9sIHZhbHVlIGFjZXNzb3JcbiAgcHVibGljIGRhdGE6IHN0cmluZyB8IGFueSA9IG51bGw7XG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKGRhdGE6IHN0cmluZykgPT4geyB9O1xuICBwcml2YXRlIG9uVG91Y2g6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xuICBwcml2YXRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBhbnkpOiB2b2lkIHtcbiAgICAvL2NvbnNvbGUubG9nKCd3cml0ZSB2YWx1ZScsIHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgZGlnaXRhckZvcm1hdGFkbyhldmVudDogYW55KSB7XG4gICAgY29uc29sZS5sb2coZXZlbnQpO1xuICAgIGlmICgoZXZlbnQua2V5Q29kZSA+PSA0OCAmJiBldmVudC5rZXlDb2RlIDw9IDU3KVxuICAgICAgfHwgKGV2ZW50LmtleUNvZGUgPj0gOTYgJiYgZXZlbnQua2V5Q29kZSA8PSAxMDUpXG4gICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA4KVxuICAgICAgfHwgKGV2ZW50LmtleUNvZGUgPT0gOSlcbiAgICAgIHx8IChldmVudC5rZXlDb2RlID09IDM5KVxuICAgICAgfHwgKGV2ZW50LmtleUNvZGUgPT0gMzcpXG4gICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA0NikpIHtcblxuICAgICAgLy9jb25zb2xlLmxvZyh0aGlzLmZvcm1Db250cm9sTmFtZSwgdGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSkudmFsdWUpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIFt0aGlzLmZvcm1Db250cm9sTmFtZV06IHRoaXMuZm9ybWF0YUNhbXBvVmFsb3IodGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSk/LnZhbHVlLCB0aGlzLmZvcm1hdG8gPz8gJycsIGV2ZW50KVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZm9ybWF0YUNhbXBvVmFsb3IodGhpcy5kYXRhID8/ICcnLCB0aGlzLmZvcm1hdG8gPz8gJycsIGV2ZW50KTtcbiAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSwgMTAwKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5RW50ZXIoKSB7XG4gICAgaWYgKHRoaXMua2V5RW50ZXIgIT0gbnVsbCkge1xuICAgICAgdGhpcy5rZXlFbnRlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5nZXRSZXN1bHRhZG9zICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5wZXNxdWlzYXJDbGljaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICB0aGlzLmZvcm0uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKT8ubWFya0FzVG91Y2hlZCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ibHVyKSB7XG4gICAgICB0aGlzLmJsdXIodGhpcy5ibHVyQXJncyk7XG4gICAgfVxuICB9XG5cbiAgZm9ybWF0YUNhbXBvVmFsb3IodmFsb3I6IHN0cmluZywgTWFzY2FyYTogc3RyaW5nLCBldmVudG86IGFueSkge1xuICAgIGNvbnNvbGUubG9nKHZhbG9yKTtcbiAgICBpZiAoIXZhbG9yKVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgLy9jb25zb2xlLmxvZyhldmVudG8pO1xuXG4gICAgLy9pZiAoIXRoaXMua2V5cHJlc3NJbnRlaXJvKGV2ZW50bykpXG4gICAgLy8gIHJldHVybjtcblxuICAgIHZhciBib2xlYW5vTWFzY2FyYTtcblxuICAgIHZhciBEaWdpdGF0byA9IGV2ZW50byAhPSBudWxsID8gZXZlbnRvLmtleUNvZGUgOiAwO1xuICAgIGxldCBleHAgPSAvXFwtfFxcLnxcXC98XFwofFxcKXwgL2dcbiAgICBsZXQgY2FtcG9Tb051bWVyb3MgPSB2YWxvci5yZXBsYWNlKGV4cCwgXCJcIik7XG5cbiAgICB2YXIgcG9zaWNhb0NhbXBvID0gMDtcbiAgICB2YXIgTm92b1ZhbG9yQ2FtcG8gPSBcIlwiO1xuICAgIHZhciBUYW1hbmhvTWFzY2FyYSA9IGNhbXBvU29OdW1lcm9zLmxlbmd0aDs7XG5cbiAgICBpZiAoRGlnaXRhdG8gIT0gOCkgeyAvLyBiYWNrc3BhY2UgXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBUYW1hbmhvTWFzY2FyYTsgaSsrKSB7XG4gICAgICAgIGJvbGVhbm9NYXNjYXJhID0gKChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIi1cIikgfHwgKE1hc2NhcmEuY2hhckF0KGkpID09IFwiLlwiKVxuICAgICAgICAgIHx8IChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIi9cIikpXG4gICAgICAgIGJvbGVhbm9NYXNjYXJhID0gYm9sZWFub01hc2NhcmEgfHwgKChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIihcIilcbiAgICAgICAgICB8fCAoTWFzY2FyYS5jaGFyQXQoaSkgPT0gXCIpXCIpIHx8IChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIiBcIikpXG4gICAgICAgIGlmIChib2xlYW5vTWFzY2FyYSkge1xuICAgICAgICAgIE5vdm9WYWxvckNhbXBvICs9IE1hc2NhcmEuY2hhckF0KGkpO1xuICAgICAgICAgIFRhbWFuaG9NYXNjYXJhKys7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgTm92b1ZhbG9yQ2FtcG8gKz0gY2FtcG9Tb051bWVyb3MuY2hhckF0KHBvc2ljYW9DYW1wbyk7XG4gICAgICAgICAgcG9zaWNhb0NhbXBvKys7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBOb3ZvVmFsb3JDYW1wbztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbG9yO1xuICAgIH1cbiAgfVxuXG4gIHBlc3F1aXNhckNsaWNrKCkge1xuICAgIGNvbnN0IGNlcCA9IHRoaXMuZGF0YTtcbiAgICAvL3NlIG7Do28gZXN0aXZlciBpbmZvcm1hZG8gbyBjZXAsIG7Do28gZmF6ZXIgYSBwZXNxdWlzYVxuICAgIGlmIChjZXAgPT0gbnVsbCB8fCBjZXAgPT0gXCJcIikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZ2V0RW5kZXJlY29QZWxvQ2VwKGNlcCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXN1bHQpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ3Jlc3VsdCBDRVAnLCByZXN1bHQpO1xuXG4gICAgICAgIGxldCBjaWRhZGVQZXNxdWlzYTogc3RyaW5nID0gcmVzdWx0LmxvY2FsaWRhZGU7XG4gICAgICAgIGNpZGFkZVBlc3F1aXNhID0gdGhpcy5jb252ZXJ0ZUNhcmFjdGVyZXNFc3BlY2lhaXMoY2lkYWRlUGVzcXVpc2EudG9VcHBlckNhc2UoKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2V0UmVzdWx0YWRvcykge1xuICAgICAgICAgIHRoaXMuZ2V0UmVzdWx0YWRvcyhyZXN1bHQpO1xuICAgICAgICB9XG5cbiAgICAgIH0sIGVycm9yOiAoZXJyb3IpID0+IHtcblxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy9zdWJzdGl0dWnDp8OjbyBkZSBjYXJhY3RlcmVzXG4gIGNvbnZlcnRlQ2FyYWN0ZXJlc0VzcGVjaWFpcyhub21lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHZhciByZXMgPSBub21lLnJlcGxhY2UoL8ODL2csIFwiQVwiKTtcbiAgICByZXMgPSByZXMucmVwbGFjZSgvw4EvZywgXCJBXCIpO1xuICAgIHJlcyA9IHJlcy5yZXBsYWNlKC/Dhy9nLCBcIkNcIik7XG4gICAgcmVzID0gcmVzLnJlcGxhY2UoL8OJL2csIFwiRVwiKTtcbiAgICByZXMgPSByZXMucmVwbGFjZSgvw4IvZywgXCJBXCIpO1xuICAgIHJlcyA9IHJlcy5yZXBsYWNlKC/DlC9nLCBcIk9cIik7XG4gICAgcmVzID0gcmVzLnJlcGxhY2UoL8OTL2csIFwiT1wiKTtcbiAgICByZXMgPSByZXMucmVwbGFjZSgvw5ovZywgXCJVXCIpO1xuICAgIHJlcyA9IHJlcy5yZXBsYWNlKC/DjS9nLCBcIklcIik7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIGdldEVuZGVyZWNvUGVsb0NlcChjZXA6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKCh4KSA9PiB7XG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgICAgcmVxdWVzdC5vcGVuKCdnZXQnLCBgaHR0cHM6Ly92aWFjZXAuY29tLmJyL3dzLyR7Y2VwfS9qc29uL2AsIHRydWUpO1xuICAgICAgcmVxdWVzdC5zZW5kKCk7XG4gICAgICByZXF1ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGRhdGEgPSBKU09OLnBhcnNlKHRoaXMucmVzcG9uc2UpO1xuICAgICAgICB4Lm5leHQoZGF0YSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG4iLCI8IS0tXG48ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuLS0+XG48IS0tY29tYW5kbyAtLWlubmVyLXBhZGRpbmctZW5kOiB1dGlsaXphZG8gcHJhIHJlbW92ZXIgcGFkZGluZyBkZXNuZWNlc3PDoXJpb3MtLT5cbjxkaXY+XG4gICAgPGlvbi1pdGVtIGxpbmVzPVwibm9uZVwiIHN0eWxlPVwiLS1iYWNrZ3JvdW5kOiBpbmhlcml0ZWQ7LS1iYWNrZ3JvdW5kLWZvY3VzZWQ6IHRyYW5zcGFyZW50Oy0taW5uZXItcGFkZGluZy1lbmQ6IDBweDtcIiBbY2xhc3NdPVwiaXRlbUNsYXNzXCJcbiAgICBbbmdDbGFzc109XCJmb3JtPy5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uZXJyb3JzICYmIChmb3JtPy5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uZGlydHkgfHwgZm9ybT8uZ2V0KGZvcm1Db250cm9sTmFtZSk/LnRvdWNoZWQpID8gJ2Vycm9yLXNoYWtlJyA6ICcnIFwiXG4gICAgPlxuICAgICAgPGlvbi1sYWJlbCBbcG9zaXRpb25dPVwibGFiZWxQb3NpdGlvblwiPnt7IGxhYmVsIH19PC9pb24tbGFiZWw+XG4gICAgICA8IS0tIGZvcm1Db250cm9sTmFtZT17e2Zvcm1Db250cm9sTmFtZX19IC0tPlxuICAgICAgPGlvbi1pbnB1dCAjaW5wdXRDZXBcbiAgICAgIHR5cGU9XCJ0ZWxcIiBcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBtYXhsZW5ndGg9XCJ7eyBtYXggfX1cIiBcbiAgICAgIChrZXlkb3duKT1cImRpZ2l0YXJGb3JtYXRhZG8oJGV2ZW50KVwiIFxuICAgICAgKGtleXVwLmVudGVyKT1cIm9uS2V5RW50ZXIoKVwiXG4gICAgICAoaW9uQmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICBbdmFsdWVdPVwiZGF0YVwiXG4gICAgICAoaW5wdXQpPVwid3JpdGVWYWx1ZShpbnB1dENlcC52YWx1ZSlcIlxuICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCI+PC9pb24taW5wdXQ+XG5cbiAgICAgIDxpb24tYnV0dG9uIHNpemU9XCJzbWFsbFwiIHNsb3Q9XCJlbmRcIiB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAyNXB4OyBtYXJnaW4taW5saW5lLXN0YXJ0OiA0cHggIWltcG9ydGFudDsgLS1wYWRkaW5nLXN0YXJ0OjJweDsgLS1wYWRkaW5nLWVuZDogMnB4O1wiIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwibWVkaXVtXCJcbiAgICAgICAgKGNsaWNrKT1cInBlc3F1aXNhckNsaWNrKClcIj5cbiAgICAgICAgPGlvbi1pY29uIGNvbG9yPVwicHJpbWFyeVwiIG5hbWU9XCJzZWFyY2hcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICBcbiAgICA8L2lvbi1pdGVtPlxuICBcbiAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdGlvbi1lcnJvcnNcIiAqbmdJZj1cImZvcm1cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbGlkYXRpb24gb2YgdmFsaWRhdGlvbl9tZXNzYWdlc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgKm5nSWY9XCJmb3JtICYmIGZvcm0uZ2V0KGZvcm1Db250cm9sTmFtZSk/Lmhhc0Vycm9yKHZhbGlkYXRpb24udHlwZSkgJiYgKGZvcm0uZ2V0KGZvcm1Db250cm9sTmFtZSk/LmRpcnR5IHx8IGZvcm0uZ2V0KGZvcm1Db250cm9sTmFtZSk/LnRvdWNoZWQpXCI+XG4gICAgICAgICAgJiM4MjI2OyB7eyB2YWxpZGF0aW9uLm1lc3NhZ2UgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+Il19
@@ -113,17 +113,17 @@ InputFormatComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
113
113
  provide: NG_VALUE_ACCESSOR,
114
114
  useExisting: InputFormatComponent,
115
115
  multi: true
116
- }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div>\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\n >\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputFormat\n type=\"tel\" \n [placeholder]=\"placeholder\"\n maxlength=\"{{ max }}\" \n (keydown)=\"digitarFormatado($event)\" \n (keyup.enter)=\"onKeyEnter()\"\n (ionBlur)=\"onBlur()\"\n [value]=\"data\"\n (input)=\"writeValue(inputFormat.value)\"\n [disabled]=\"readonly\"></ion-input>\n \n </ion-item>\n \n <div class=\"validation-errors\" *ngIf=\"form\">\n <ng-container *ngFor=\"let validation of validation_messages\">\n <div class=\"error-message\"\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\n &#8226; {{ validation.message }}\n </div>\n </ng-container>\n </div>\n </div>", styles: [".item-inner{padding-right:0!important}\n", "ion-label{margin-bottom:4px!important;opacity:1!important}ion-input{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:var(--input-max-height, 29px)}.has-focus{border:1px solid var(--ion-color-bluetool, #1f477d)}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}.padding{padding:auto}.no-padding{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:55px!important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-shake ion-label{color:var(--error-text-color, red)!important}.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid var(--error-text-color, red)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }] });
116
+ }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div>\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\" [class]=\"itemClass\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\n >\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputFormat\n type=\"tel\" \n [placeholder]=\"placeholder\"\n maxlength=\"{{ max }}\" \n (keydown)=\"digitarFormatado($event)\" \n (keyup.enter)=\"onKeyEnter()\"\n (ionBlur)=\"onBlur()\"\n [value]=\"data\"\n (input)=\"writeValue(inputFormat.value)\"\n [disabled]=\"readonly\"></ion-input>\n \n </ion-item>\n \n <div class=\"validation-errors\" *ngIf=\"form\">\n <ng-container *ngFor=\"let validation of validation_messages\">\n <div class=\"error-message\"\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\n &#8226; {{ validation.message }}\n </div>\n </ng-container>\n </div>\n </div>", styles: [".item-inner{padding-right:0!important}\n", "ion-label{margin-bottom:4px!important;opacity:1!important}ion-input{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:var(--input-max-height, 29px)}.has-focus{border:1px solid var(--ion-color-bluetool, #1f477d)}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}.padding{padding:auto}.no-padding{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:55px!important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-shake ion-label{color:var(--error-text-color, red)!important}.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid var(--error-text-color, red)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }] });
117
117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: InputFormatComponent, decorators: [{
118
118
  type: Component,
119
119
  args: [{ selector: 'kb-input-format', providers: [{
120
120
  provide: NG_VALUE_ACCESSOR,
121
121
  useExisting: InputFormatComponent,
122
122
  multi: true
123
- }], template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div>\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\n >\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputFormat\n type=\"tel\" \n [placeholder]=\"placeholder\"\n maxlength=\"{{ max }}\" \n (keydown)=\"digitarFormatado($event)\" \n (keyup.enter)=\"onKeyEnter()\"\n (ionBlur)=\"onBlur()\"\n [value]=\"data\"\n (input)=\"writeValue(inputFormat.value)\"\n [disabled]=\"readonly\"></ion-input>\n \n </ion-item>\n \n <div class=\"validation-errors\" *ngIf=\"form\">\n <ng-container *ngFor=\"let validation of validation_messages\">\n <div class=\"error-message\"\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\n &#8226; {{ validation.message }}\n </div>\n </ng-container>\n </div>\n </div>", styles: [".item-inner{padding-right:0!important}\n", "ion-label{margin-bottom:4px!important;opacity:1!important}ion-input{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:var(--input-max-height, 29px)}.has-focus{border:1px solid var(--ion-color-bluetool, #1f477d)}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}.padding{padding:auto}.no-padding{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:55px!important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-shake ion-label{color:var(--error-text-color, red)!important}.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid var(--error-text-color, red)!important}\n"] }]
123
+ }], template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div>\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\" [class]=\"itemClass\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\n >\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputFormat\n type=\"tel\" \n [placeholder]=\"placeholder\"\n maxlength=\"{{ max }}\" \n (keydown)=\"digitarFormatado($event)\" \n (keyup.enter)=\"onKeyEnter()\"\n (ionBlur)=\"onBlur()\"\n [value]=\"data\"\n (input)=\"writeValue(inputFormat.value)\"\n [disabled]=\"readonly\"></ion-input>\n \n </ion-item>\n \n <div class=\"validation-errors\" *ngIf=\"form\">\n <ng-container *ngFor=\"let validation of validation_messages\">\n <div class=\"error-message\"\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\n &#8226; {{ validation.message }}\n </div>\n </ng-container>\n </div>\n </div>", styles: [".item-inner{padding-right:0!important}\n", "ion-label{margin-bottom:4px!important;opacity:1!important}ion-input{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:var(--input-max-height, 29px)}.has-focus{border:1px solid var(--ion-color-bluetool, #1f477d)}input:focus{border:1px solid lightblue!important}input:focus ion-label{--color: blue !important}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}.padding{padding:auto}.no-padding{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:55px!important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-shake ion-label{color:var(--error-text-color, red)!important}.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid var(--error-text-color, red)!important}\n"] }]
124
124
  }], ctorParameters: function () { return []; }, propDecorators: { formato: [{
125
125
  type: Input
126
126
  }], keyEnter: [{
127
127
  type: Input
128
128
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZm9ybWF0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcHByb2plY3QtY29tcG9uZW50cy9zcmMvbGliL2lucHV0LWZvcm1hdC9pbnB1dC1mb3JtYXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtZm9ybWF0L2lucHV0LWZvcm1hdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFZM0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFrQjtJQTJCMUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQTFCRCxZQUFPLEdBQWtCLElBQUksQ0FBQztRQUM5QixhQUFRLEdBQW9CLElBQUksQ0FBQztRQUUxQyx1QkFBdUI7UUFDaEIsU0FBSSxHQUFpQixJQUFJLENBQUM7UUFDekIsYUFBUSxHQUFhLENBQUMsSUFBWSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDMUMsWUFBTyxHQUFhLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUM3QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzNCLFlBQU8sR0FBRyxPQUFPLENBQUM7SUFtQnpCLENBQUM7SUFqQkQsVUFBVSxDQUFDLEtBQW1CO1FBQzVCLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElB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O2FBQ0Y7WUFDRCxPQUFPLGNBQWMsQ0FBQztTQUN2QjthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7O2lIQW5IVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixnR0FOcEIsQ0FBQztZQUNWLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLG9CQUFvQjtZQUNqQyxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsaURDWkosazBDQStCUTsyRkRqQkssb0JBQW9CO2tCQVZoQyxTQUFTOytCQUNFLGlCQUFpQixhQUdoQixDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsc0JBQXNCOzRCQUNqQyxLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDOzBFQUlPLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlSW5wdXRDb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrYi1pbnB1dC1mb3JtYXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZm9ybWF0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZm9ybWF0LmNvbXBvbmVudC5zY3NzJywgJy4vLi4vYmFzZUNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogSW5wdXRGb3JtYXRDb21wb25lbnQsXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRGb3JtYXRDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICBASW5wdXQoKSBmb3JtYXRvOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkga2V5RW50ZXI6IEZ1bmN0aW9uIHwgbnVsbCA9IG51bGw7XG4gIFxuICAvL2NvbnRyb2wgdmFsdWUgYWNlc3NvclxuICBwdWJsaWMgZGF0YTogc3RyaW5nIHwgYW55ID0gbnVsbDtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAoZGF0YTogc3RyaW5nKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuICBwcml2YXRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBjb25zb2xlID0gY29uc29sZTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBhbnkpOiB2b2lkIHtcbiAgICAvL2NvbnNvbGUubG9nKCd3cml0ZSB2YWx1ZScsIHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkgeyBcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7IH1cblxuICBkaWdpdGFyRm9ybWF0YWRvKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgaWYgKChldmVudC5rZXlDb2RlID49IDQ4ICYmIGV2ZW50LmtleUNvZGUgPD0gNTcpXG4gICAgIHx8IChldmVudC5rZXlDb2RlID49IDk2ICYmIGV2ZW50LmtleUNvZGUgPD0gMTA1KVxuICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA4KVxuICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA5KVxuICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSAzOSlcbiAgICAgfHwgKGV2ZW50LmtleUNvZGUgPT0gMzcpIFxuICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA0NikpIHtcblxuICAgICAgLy9jb25zb2xlLmxvZyh0aGlzLmZvcm1Db250cm9sTmFtZSwgdGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSkudmFsdWUpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIFt0aGlzLmZvcm1Db250cm9sTmFtZV06IHRoaXMuZm9ybWF0YUNhbXBvVmFsb3IodGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSk/LnZhbHVlLCB0aGlzLmZvcm1hdG8gPz8gJycsIGV2ZW50KVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZm9ybWF0YUNhbXBvVmFsb3IodGhpcy5kYXRhID8/ICcnLCB0aGlzLmZvcm1hdG8gPz8gJycsIGV2ZW50KTtcbiAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSwgMTAwKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gICAgICAgIFxuICB9XG5cbiAgb25LZXlFbnRlcigpIHtcbiAgICBpZiAodGhpcy5rZXlFbnRlciAhPSBudWxsKSB7XG4gICAgICB0aGlzLmtleUVudGVyKCk7XG4gICAgfVxuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIGlmICh0aGlzLmZvcm0pIHtcbiAgICAgIHRoaXMuZm9ybS5nZXQodGhpcy5mb3JtQ29udHJvbE5hbWUpPy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmJsdXIpIHtcbiAgICAgIHRoaXMuYmx1cih0aGlzLmJsdXJBcmdzKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXRhQ2FtcG9WYWxvcih2YWxvcjogc3RyaW5nLCBNYXNjYXJhOiBzdHJpbmcsIGV2ZW50bzogYW55KSB7XG4gICAgY29uc29sZS5sb2codmFsb3IpO1xuICAgIGlmICghdmFsb3IpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICAvL2NvbnNvbGUubG9nKGV2ZW50byk7XG5cbiAgICAvL2lmICghdGhpcy5rZXlwcmVzc0ludGVpcm8oZXZlbnRvKSlcbiAgICAvLyAgcmV0dXJuO1xuXG4gICAgdmFyIGJvbGVhbm9NYXNjYXJhO1xuXG4gICAgdmFyIERpZ2l0YXRvID0gZXZlbnRvICE9IG51bGwgPyBldmVudG8ua2V5Q29kZSA6IDA7XG4gICAgbGV0IGV4cCA9IC9cXC18XFwufFxcL3xcXCh8XFwpfCAvZ1xuICAgIGxldCBjYW1wb1NvTnVtZXJvcyA9IHZhbG9yLnJlcGxhY2UoZXhwLCBcIlwiKTtcblxuICAgIHZhciBwb3NpY2FvQ2FtcG8gPSAwO1xuICAgIHZhciBOb3ZvVmFsb3JDYW1wbyA9IFwiXCI7XG4gICAgdmFyIFRhbWFuaG9NYXNjYXJhID0gY2FtcG9Tb051bWVyb3MubGVuZ3RoOztcblxuICAgIGlmIChEaWdpdGF0byAhPSA4KSB7IC8vIGJhY2tzcGFjZSBcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IFRhbWFuaG9NYXNjYXJhOyBpKyspIHtcbiAgICAgICAgYm9sZWFub01hc2NhcmEgPSAoKE1hc2NhcmEuY2hhckF0KGkpID09IFwiLVwiKSB8fCAoTWFzY2FyYS5jaGFyQXQoaSkgPT0gXCIuXCIpXG4gICAgICAgICAgfHwgKE1hc2NhcmEuY2hhckF0KGkpID09IFwiL1wiKSlcbiAgICAgICAgYm9sZWFub01hc2NhcmEgPSBib2xlYW5vTWFzY2FyYSB8fCAoKE1hc2NhcmEuY2hhckF0KGkpID09IFwiKFwiKVxuICAgICAgICAgIHx8IChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIilcIikgfHwgKE1hc2NhcmEuY2hhckF0KGkpID09IFwiIFwiKSlcbiAgICAgICAgaWYgKGJvbGVhbm9NYXNjYXJhKSB7XG4gICAgICAgICAgTm92b1ZhbG9yQ2FtcG8gKz0gTWFzY2FyYS5jaGFyQXQoaSk7XG4gICAgICAgICAgVGFtYW5ob01hc2NhcmErKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBOb3ZvVmFsb3JDYW1wbyArPSBjYW1wb1NvTnVtZXJvcy5jaGFyQXQocG9zaWNhb0NhbXBvKTtcbiAgICAgICAgICBwb3NpY2FvQ2FtcG8rKztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIE5vdm9WYWxvckNhbXBvO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsb3I7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG48ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuLS0+XG48IS0tY29tYW5kbyAtLWlubmVyLXBhZGRpbmctZW5kOiB1dGlsaXphZG8gcHJhIHJlbW92ZXIgcGFkZGluZyBkZXNuZWNlc3PDoXJpb3MtLT5cbjxkaXY+XG4gICAgPGlvbi1pdGVtIGxpbmVzPVwibm9uZVwiIHN0eWxlPVwiLS1iYWNrZ3JvdW5kOiBpbmhlcml0ZWQ7LS1iYWNrZ3JvdW5kLWZvY3VzZWQ6IHRyYW5zcGFyZW50Oy0taW5uZXItcGFkZGluZy1lbmQ6IDBweDtcIlxuICAgIFtuZ0NsYXNzXT1cImZvcm0/LmdldChmb3JtQ29udHJvbE5hbWUpPy5lcnJvcnMgJiYgKGZvcm0/LmdldChmb3JtQ29udHJvbE5hbWUpPy5kaXJ0eSB8fCBmb3JtPy5nZXQoZm9ybUNvbnRyb2xOYW1lKT8udG91Y2hlZCkgPyAnZXJyb3Itc2hha2UnIDogJycgXCJcbiAgICA+XG4gICAgICA8aW9uLWxhYmVsIFtwb3NpdGlvbl09XCJsYWJlbFBvc2l0aW9uXCI+e3sgbGFiZWwgfX08L2lvbi1sYWJlbD5cbiAgICAgIDwhLS0gZm9ybUNvbnRyb2xOYW1lPXt7Zm9ybUNvbnRyb2xOYW1lfX0gLS0+XG4gICAgICA8aW9uLWlucHV0ICNpbnB1dEZvcm1hdFxuICAgICAgdHlwZT1cInRlbFwiIFxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIG1heGxlbmd0aD1cInt7IG1heCB9fVwiIFxuICAgICAgKGtleWRvd24pPVwiZGlnaXRhckZvcm1hdGFkbygkZXZlbnQpXCIgXG4gICAgICAoa2V5dXAuZW50ZXIpPVwib25LZXlFbnRlcigpXCJcbiAgICAgIChpb25CbHVyKT1cIm9uQmx1cigpXCJcbiAgICAgIFt2YWx1ZV09XCJkYXRhXCJcbiAgICAgIChpbnB1dCk9XCJ3cml0ZVZhbHVlKGlucHV0Rm9ybWF0LnZhbHVlKVwiXG4gICAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIj48L2lvbi1pbnB1dD5cbiAgXG4gICAgPC9pb24taXRlbT5cbiAgXG4gICAgPGRpdiBjbGFzcz1cInZhbGlkYXRpb24tZXJyb3JzXCIgKm5nSWY9XCJmb3JtXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWxpZGF0aW9uIG9mIHZhbGlkYXRpb25fbWVzc2FnZXNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICpuZ0lmPVwiZm9ybSAmJiBmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy5oYXNFcnJvcih2YWxpZGF0aW9uLnR5cGUpICYmIChmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy5kaXJ0eSB8fCBmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy50b3VjaGVkKVwiPlxuICAgICAgICAgICYjODIyNjsge3sgdmFsaWRhdGlvbi5tZXNzYWdlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PiJdfQ==
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZm9ybWF0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcHByb2plY3QtY29tcG9uZW50cy9zcmMvbGliL2lucHV0LWZvcm1hdC9pbnB1dC1mb3JtYXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtZm9ybWF0L2lucHV0LWZvcm1hdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFZM0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFrQjtJQTJCMUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQTFCRCxZQUFPLEdBQWtCLElBQUksQ0FBQztRQUM5QixhQUFRLEdBQW9CLElBQUksQ0FBQztRQUUxQyx1QkFBdUI7UUFDaEIsU0FBSSxHQUFpQixJQUFJLENBQUM7UUFDekIsYUFBUSxHQUFhLENBQUMsSUFBWSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDMUMsWUFBTyxHQUFhLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUM3QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzNCLFlBQU8sR0FBRyxPQUFPLENBQUM7SUFtQnpCLENBQUM7SUFqQkQsVUFBVSxDQUFDLEtBQW1CO1FBQzVCLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElB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O2FBQ0Y7WUFDRCxPQUFPLGNBQWMsQ0FBQztTQUN2QjthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7O2lIQW5IVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixnR0FOcEIsQ0FBQztZQUNWLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLG9CQUFvQjtZQUNqQyxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsaURDWkosdzFDQStCUTsyRkRqQkssb0JBQW9CO2tCQVZoQyxTQUFTOytCQUNFLGlCQUFpQixhQUdoQixDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsc0JBQXNCOzRCQUNqQyxLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDOzBFQUlPLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlSW5wdXRDb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrYi1pbnB1dC1mb3JtYXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZm9ybWF0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZm9ybWF0LmNvbXBvbmVudC5zY3NzJywgJy4vLi4vYmFzZUNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogSW5wdXRGb3JtYXRDb21wb25lbnQsXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRGb3JtYXRDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICBASW5wdXQoKSBmb3JtYXRvOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkga2V5RW50ZXI6IEZ1bmN0aW9uIHwgbnVsbCA9IG51bGw7XG4gIFxuICAvL2NvbnRyb2wgdmFsdWUgYWNlc3NvclxuICBwdWJsaWMgZGF0YTogc3RyaW5nIHwgYW55ID0gbnVsbDtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAoZGF0YTogc3RyaW5nKSA9PiB7fTtcbiAgcHJpdmF0ZSBvblRvdWNoOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuICBwcml2YXRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBjb25zb2xlID0gY29uc29sZTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBhbnkpOiB2b2lkIHtcbiAgICAvL2NvbnNvbGUubG9nKCd3cml0ZSB2YWx1ZScsIHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkgeyBcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7IH1cblxuICBkaWdpdGFyRm9ybWF0YWRvKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgaWYgKChldmVudC5rZXlDb2RlID49IDQ4ICYmIGV2ZW50LmtleUNvZGUgPD0gNTcpXG4gICAgIHx8IChldmVudC5rZXlDb2RlID49IDk2ICYmIGV2ZW50LmtleUNvZGUgPD0gMTA1KVxuICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA4KVxuICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA5KVxuICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSAzOSlcbiAgICAgfHwgKGV2ZW50LmtleUNvZGUgPT0gMzcpIFxuICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA0NikpIHtcblxuICAgICAgLy9jb25zb2xlLmxvZyh0aGlzLmZvcm1Db250cm9sTmFtZSwgdGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSkudmFsdWUpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIFt0aGlzLmZvcm1Db250cm9sTmFtZV06IHRoaXMuZm9ybWF0YUNhbXBvVmFsb3IodGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSk/LnZhbHVlLCB0aGlzLmZvcm1hdG8gPz8gJycsIGV2ZW50KVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZm9ybWF0YUNhbXBvVmFsb3IodGhpcy5kYXRhID8/ICcnLCB0aGlzLmZvcm1hdG8gPz8gJycsIGV2ZW50KTtcbiAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSwgMTAwKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gICAgICAgIFxuICB9XG5cbiAgb25LZXlFbnRlcigpIHtcbiAgICBpZiAodGhpcy5rZXlFbnRlciAhPSBudWxsKSB7XG4gICAgICB0aGlzLmtleUVudGVyKCk7XG4gICAgfVxuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIGlmICh0aGlzLmZvcm0pIHtcbiAgICAgIHRoaXMuZm9ybS5nZXQodGhpcy5mb3JtQ29udHJvbE5hbWUpPy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmJsdXIpIHtcbiAgICAgIHRoaXMuYmx1cih0aGlzLmJsdXJBcmdzKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXRhQ2FtcG9WYWxvcih2YWxvcjogc3RyaW5nLCBNYXNjYXJhOiBzdHJpbmcsIGV2ZW50bzogYW55KSB7XG4gICAgY29uc29sZS5sb2codmFsb3IpO1xuICAgIGlmICghdmFsb3IpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICAvL2NvbnNvbGUubG9nKGV2ZW50byk7XG5cbiAgICAvL2lmICghdGhpcy5rZXlwcmVzc0ludGVpcm8oZXZlbnRvKSlcbiAgICAvLyAgcmV0dXJuO1xuXG4gICAgdmFyIGJvbGVhbm9NYXNjYXJhO1xuXG4gICAgdmFyIERpZ2l0YXRvID0gZXZlbnRvICE9IG51bGwgPyBldmVudG8ua2V5Q29kZSA6IDA7XG4gICAgbGV0IGV4cCA9IC9cXC18XFwufFxcL3xcXCh8XFwpfCAvZ1xuICAgIGxldCBjYW1wb1NvTnVtZXJvcyA9IHZhbG9yLnJlcGxhY2UoZXhwLCBcIlwiKTtcblxuICAgIHZhciBwb3NpY2FvQ2FtcG8gPSAwO1xuICAgIHZhciBOb3ZvVmFsb3JDYW1wbyA9IFwiXCI7XG4gICAgdmFyIFRhbWFuaG9NYXNjYXJhID0gY2FtcG9Tb051bWVyb3MubGVuZ3RoOztcblxuICAgIGlmIChEaWdpdGF0byAhPSA4KSB7IC8vIGJhY2tzcGFjZSBcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IFRhbWFuaG9NYXNjYXJhOyBpKyspIHtcbiAgICAgICAgYm9sZWFub01hc2NhcmEgPSAoKE1hc2NhcmEuY2hhckF0KGkpID09IFwiLVwiKSB8fCAoTWFzY2FyYS5jaGFyQXQoaSkgPT0gXCIuXCIpXG4gICAgICAgICAgfHwgKE1hc2NhcmEuY2hhckF0KGkpID09IFwiL1wiKSlcbiAgICAgICAgYm9sZWFub01hc2NhcmEgPSBib2xlYW5vTWFzY2FyYSB8fCAoKE1hc2NhcmEuY2hhckF0KGkpID09IFwiKFwiKVxuICAgICAgICAgIHx8IChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIilcIikgfHwgKE1hc2NhcmEuY2hhckF0KGkpID09IFwiIFwiKSlcbiAgICAgICAgaWYgKGJvbGVhbm9NYXNjYXJhKSB7XG4gICAgICAgICAgTm92b1ZhbG9yQ2FtcG8gKz0gTWFzY2FyYS5jaGFyQXQoaSk7XG4gICAgICAgICAgVGFtYW5ob01hc2NhcmErKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBOb3ZvVmFsb3JDYW1wbyArPSBjYW1wb1NvTnVtZXJvcy5jaGFyQXQocG9zaWNhb0NhbXBvKTtcbiAgICAgICAgICBwb3NpY2FvQ2FtcG8rKztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIE5vdm9WYWxvckNhbXBvO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsb3I7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG48ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuLS0+XG48IS0tY29tYW5kbyAtLWlubmVyLXBhZGRpbmctZW5kOiB1dGlsaXphZG8gcHJhIHJlbW92ZXIgcGFkZGluZyBkZXNuZWNlc3PDoXJpb3MtLT5cbjxkaXY+XG4gICAgPGlvbi1pdGVtIGxpbmVzPVwibm9uZVwiIHN0eWxlPVwiLS1iYWNrZ3JvdW5kOiBpbmhlcml0ZWQ7LS1iYWNrZ3JvdW5kLWZvY3VzZWQ6IHRyYW5zcGFyZW50Oy0taW5uZXItcGFkZGluZy1lbmQ6IDBweDtcIiBbY2xhc3NdPVwiaXRlbUNsYXNzXCJcbiAgICBbbmdDbGFzc109XCJmb3JtPy5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uZXJyb3JzICYmIChmb3JtPy5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uZGlydHkgfHwgZm9ybT8uZ2V0KGZvcm1Db250cm9sTmFtZSk/LnRvdWNoZWQpID8gJ2Vycm9yLXNoYWtlJyA6ICcnIFwiXG4gICAgPlxuICAgICAgPGlvbi1sYWJlbCBbcG9zaXRpb25dPVwibGFiZWxQb3NpdGlvblwiPnt7IGxhYmVsIH19PC9pb24tbGFiZWw+XG4gICAgICA8IS0tIGZvcm1Db250cm9sTmFtZT17e2Zvcm1Db250cm9sTmFtZX19IC0tPlxuICAgICAgPGlvbi1pbnB1dCAjaW5wdXRGb3JtYXRcbiAgICAgIHR5cGU9XCJ0ZWxcIiBcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBtYXhsZW5ndGg9XCJ7eyBtYXggfX1cIiBcbiAgICAgIChrZXlkb3duKT1cImRpZ2l0YXJGb3JtYXRhZG8oJGV2ZW50KVwiIFxuICAgICAgKGtleXVwLmVudGVyKT1cIm9uS2V5RW50ZXIoKVwiXG4gICAgICAoaW9uQmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICBbdmFsdWVdPVwiZGF0YVwiXG4gICAgICAoaW5wdXQpPVwid3JpdGVWYWx1ZShpbnB1dEZvcm1hdC52YWx1ZSlcIlxuICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCI+PC9pb24taW5wdXQ+XG4gIFxuICAgIDwvaW9uLWl0ZW0+XG4gIFxuICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yc1wiICpuZ0lmPVwiZm9ybVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdmFsaWRhdGlvbiBvZiB2YWxpZGF0aW9uX21lc3NhZ2VzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAqbmdJZj1cImZvcm0gJiYgZm9ybS5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uaGFzRXJyb3IodmFsaWRhdGlvbi50eXBlKSAmJiAoZm9ybS5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uZGlydHkgfHwgZm9ybS5nZXQoZm9ybUNvbnRyb2xOYW1lKT8udG91Y2hlZClcIj5cbiAgICAgICAgICAmIzgyMjY7IHt7IHZhbGlkYXRpb24ubWVzc2FnZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj4iXX0=