@wizishop/angular-components 14.1.2 → 14.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/angular-components.scss +1523 -130
  2. package/esm2020/lib/components/block-with-checkbox/block-with-checkbox.component.mjs +47 -0
  3. package/esm2020/lib/components/breadcrumbs/breadcrumbs.component.mjs +27 -0
  4. package/esm2020/lib/components/breadcrumbs/breadcrumbs.dto.mjs +2 -0
  5. package/esm2020/lib/components/button/button.component.mjs +22 -3
  6. package/esm2020/lib/components/card-price/card-price.component.mjs +66 -0
  7. package/esm2020/lib/components/confirm-delete/confirm-delete.component.mjs +64 -0
  8. package/esm2020/lib/components/content-with-buttons/content-with-buttons.component.mjs +69 -0
  9. package/esm2020/lib/components/draganddrop-list/draganddrop-list.component.mjs +61 -0
  10. package/esm2020/lib/components/free-popin/free-popin.component.mjs +1 -1
  11. package/esm2020/lib/components/header-page/header-page.component.mjs +6 -4
  12. package/esm2020/lib/components/hn/h1/h1.component.mjs +10 -5
  13. package/esm2020/lib/components/inputs/input/input.component.mjs +10 -3
  14. package/esm2020/lib/components/link/link.component.mjs +6 -4
  15. package/esm2020/lib/components/mosaic/mosaic.component.mjs +81 -0
  16. package/esm2020/lib/components/popin/popin.component.mjs +3 -3
  17. package/esm2020/lib/components/selected-list/selected-list.component.mjs +1 -1
  18. package/esm2020/lib/components/selects/select/select.component.mjs +6 -3
  19. package/esm2020/lib/components/selects/select-in-text/select-in-text.component.mjs +5 -4
  20. package/esm2020/lib/components/selects/select-test/select.component.mjs +1 -1
  21. package/esm2020/lib/components/shared-components.module.mjs +59 -3
  22. package/esm2020/lib/components/switch/switch.component.mjs +40 -11
  23. package/esm2020/lib/components/text-area/text-area.component.mjs +19 -5
  24. package/esm2020/lib/components/token-check/token-check.component.mjs +21 -0
  25. package/esm2020/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.mjs +12 -0
  26. package/esm2020/lib/components/wrapper-sidebar/wrapper-sidebar.component.mjs +27 -0
  27. package/esm2020/public-api.mjs +11 -1
  28. package/fesm2015/wizishop-angular-components.mjs +603 -41
  29. package/fesm2015/wizishop-angular-components.mjs.map +1 -1
  30. package/fesm2020/wizishop-angular-components.mjs +603 -41
  31. package/fesm2020/wizishop-angular-components.mjs.map +1 -1
  32. package/lib/components/block-with-checkbox/block-with-checkbox.component.d.ts +17 -0
  33. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +13 -0
  34. package/lib/components/breadcrumbs/breadcrumbs.dto.d.ts +5 -0
  35. package/lib/components/button/button.component.d.ts +8 -1
  36. package/lib/components/card-price/card-price.component.d.ts +27 -0
  37. package/lib/components/confirm-delete/confirm-delete.component.d.ts +21 -0
  38. package/lib/components/content-with-buttons/content-with-buttons.component.d.ts +26 -0
  39. package/lib/components/draganddrop-list/draganddrop-list.component.d.ts +20 -0
  40. package/lib/components/header-page/header-page.component.d.ts +3 -4
  41. package/lib/components/hn/h1/h1.component.d.ts +4 -4
  42. package/lib/components/inputs/input/input.component.d.ts +4 -1
  43. package/lib/components/link/link.component.d.ts +4 -4
  44. package/lib/components/mosaic/mosaic.component.d.ts +28 -0
  45. package/lib/components/selects/select/select.component.d.ts +2 -1
  46. package/lib/components/selects/select-test/select.component.d.ts +2 -2
  47. package/lib/components/shared-components.module.d.ts +48 -34
  48. package/lib/components/switch/switch.component.d.ts +13 -3
  49. package/lib/components/text-area/text-area.component.d.ts +8 -3
  50. package/lib/components/token-check/token-check.component.d.ts +10 -0
  51. package/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.d.ts +6 -0
  52. package/lib/components/wrapper-sidebar/wrapper-sidebar.component.d.ts +11 -0
  53. package/package.json +1 -1
  54. package/public-api.d.ts +10 -0
  55. package/wizishop-angular-components-14.1.3.tgz +0 -0
  56. package/wizishop-angular-components-14.1.2.tgz +0 -0
@@ -0,0 +1,61 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { moveItemInArray } from '@angular/cdk/drag-drop';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/cdk/drag-drop";
6
+ import * as i3 from "../inputs/input/input.component";
7
+ import * as i4 from "../button/button.component";
8
+ export class DraganddropListComponent {
9
+ constructor() {
10
+ this.label = '';
11
+ this.disabled = false;
12
+ this.backgroundColor = '#fff';
13
+ this.showTriggerSave = false;
14
+ this.itemsChange = new EventEmitter();
15
+ }
16
+ drop(event) {
17
+ if (!this.disabled) {
18
+ moveItemInArray(this.items, event.previousIndex, event.currentIndex);
19
+ this.itemsChange.emit(Object.values(this.items));
20
+ }
21
+ }
22
+ delete(index) {
23
+ if (!this.disabled) {
24
+ this.items = this.items.filter((value, i) => i !== index);
25
+ this.itemsChange.emit(Object.values(this.items));
26
+ }
27
+ }
28
+ saveFieldEnd(index, event) {
29
+ this.items[index] = event.target.value;
30
+ this.itemsChange.emit(Object.values(this.items));
31
+ }
32
+ addField() {
33
+ this.showTriggerSave = true;
34
+ }
35
+ saveNewField(event) {
36
+ this.items.push(event.target.value);
37
+ this.itemsChange.emit(Object.values(this.items));
38
+ this.showTriggerSave = false;
39
+ }
40
+ }
41
+ DraganddropListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DraganddropListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
+ DraganddropListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: DraganddropListComponent, selector: "wac-draganddrop-list", inputs: { label: "label", items: "items", disabled: "disabled", max: "max", labelBtnAdd: "labelBtnAdd", backgroundColor: "backgroundColor" }, outputs: { itemsChange: "itemsChange" }, ngImport: i0, template: "<div class=\"wac-draganddrop-list\" *ngIf=\"!disabled\" [style.backgroundColor]=\"backgroundColor\">\n <div class=\"wac-draganddrop-list__label\" *ngIf=\"label\"><span [innerHTML]=\"label\"></span></div>\n <div class=\"wac-draganddrop-list__wrapper\" [cdkDropListLockAxis]=\"'y'\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"wac-draganddrop-list__wrapper__item\" [style.backgroundColor]=\"backgroundColor\" *ngFor=\"let item of items;let i = index;\" cdkDrag>\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__icon\">\n <span></span>\n </span>\n <span (mousedown)=\"$event.stopPropagation()\" class=\"wac-draganddrop-list__wrapper__item__input\">\n <wac-input [value]=\"item\" [extraClasses]=\"'transparent'\" (keyup.enter)=\"saveFieldEnd(i, $event)\" (focusout)=\"saveFieldEnd(i, $event)\"></wac-input>\n </span>\n </div>\n <div (mousedown)=\"$event.stopPropagation()\">\n <div>\n <wac-button [iconFontSize]=\"14\" [opacity]=\"true\" [icon]=\"'fa-regular fa-trash-can'\" [extraClasses]=\"'is-danger'\" (click)=\"delete(i)\"></wac-button>\n </div>\n <div *ngIf=\"i === (items.length - 1) && max > items.length && !showTriggerSave\">\n <wac-button [extraClasses]=\"'is-info'\" [iconFontSize]=\"18\" [opacity]=\"true\" [icon]=\"'fa-regular fa-plus'\" (click)=\"addField()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-draganddrop-list__wrapper__item wac-draganddrop-list__wrapper__item--trigger\" *ngIf=\"showTriggerSave\">\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__icon\">\n <span></span>\n </span>\n <span class=\"wac-draganddrop-list__wrapper__item__input\">\n <wac-input [extraClasses]=\"'transparent'\" (keyup.enter)=\"saveNewField($event)\" (focusout)=\"saveNewField($event)\"></wac-input>\n </span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"wac-draganddrop-list wac-draganddrop-list--disabled\" *ngIf=\"disabled\">\n <div class=\"wac-draganddrop-list__label\" *ngIf=\"label\"><span [innerHTML]=\"label\"></span></div>\n <div class=\"wac-draganddrop-list__wrapper\">\n <div class=\"wac-draganddrop-list__wrapper__item\" *ngFor=\"let item of items;let i = index;\">\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__label\" [innerHTML]=\"item\"></span>\n </div>\n </div>\n </div>\n</div>\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: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i3.InputComponent, selector: "wac-input", inputs: ["label", "value", "type", "placeholder", "textInfo", "textError", "size", "isNumber", "withoutBlock", "icon", "big", "medium", "boldLabel", "min", "max", "disableMargin", "textPrepend", "textAppend", "progressBar", "extraClasses", "keyPreventDefault", "showTooltip", "textTooltip", "iconTooltip", "urlTooltip", "linkTooltip", "padding", "disabled", "indication", "success", "error", "maxlength", "minlength", "indicationLeft"], outputs: ["keypressEnter", "blurred"] }, { kind: "component", type: i4.ButtonComponent, selector: "wac-button", inputs: ["extraClasses", "label", "icon", "iconNext", "textcolor", "widthAuto", "contentHorizontalPosition", "iconFontSize", "hasLoader", "disabled", "whiteSpaceNowrap", "opacity", "animation", "animationRight", "animationText", "confirmDelete", "confirmDeleteText", "coin", "tooltip", "tooltipWidth", "noPadding", "tooltipPosition", "tooltipOneline", "confirmDeletePosition", "isLoading"], outputs: ["click", "isLoadingChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DraganddropListComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'wac-draganddrop-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"wac-draganddrop-list\" *ngIf=\"!disabled\" [style.backgroundColor]=\"backgroundColor\">\n <div class=\"wac-draganddrop-list__label\" *ngIf=\"label\"><span [innerHTML]=\"label\"></span></div>\n <div class=\"wac-draganddrop-list__wrapper\" [cdkDropListLockAxis]=\"'y'\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"wac-draganddrop-list__wrapper__item\" [style.backgroundColor]=\"backgroundColor\" *ngFor=\"let item of items;let i = index;\" cdkDrag>\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__icon\">\n <span></span>\n </span>\n <span (mousedown)=\"$event.stopPropagation()\" class=\"wac-draganddrop-list__wrapper__item__input\">\n <wac-input [value]=\"item\" [extraClasses]=\"'transparent'\" (keyup.enter)=\"saveFieldEnd(i, $event)\" (focusout)=\"saveFieldEnd(i, $event)\"></wac-input>\n </span>\n </div>\n <div (mousedown)=\"$event.stopPropagation()\">\n <div>\n <wac-button [iconFontSize]=\"14\" [opacity]=\"true\" [icon]=\"'fa-regular fa-trash-can'\" [extraClasses]=\"'is-danger'\" (click)=\"delete(i)\"></wac-button>\n </div>\n <div *ngIf=\"i === (items.length - 1) && max > items.length && !showTriggerSave\">\n <wac-button [extraClasses]=\"'is-info'\" [iconFontSize]=\"18\" [opacity]=\"true\" [icon]=\"'fa-regular fa-plus'\" (click)=\"addField()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-draganddrop-list__wrapper__item wac-draganddrop-list__wrapper__item--trigger\" *ngIf=\"showTriggerSave\">\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__icon\">\n <span></span>\n </span>\n <span class=\"wac-draganddrop-list__wrapper__item__input\">\n <wac-input [extraClasses]=\"'transparent'\" (keyup.enter)=\"saveNewField($event)\" (focusout)=\"saveNewField($event)\"></wac-input>\n </span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"wac-draganddrop-list wac-draganddrop-list--disabled\" *ngIf=\"disabled\">\n <div class=\"wac-draganddrop-list__label\" *ngIf=\"label\"><span [innerHTML]=\"label\"></span></div>\n <div class=\"wac-draganddrop-list__wrapper\">\n <div class=\"wac-draganddrop-list__wrapper__item\" *ngFor=\"let item of items;let i = index;\">\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__label\" [innerHTML]=\"item\"></span>\n </div>\n </div>\n </div>\n</div>\n" }]
46
+ }], propDecorators: { label: [{
47
+ type: Input
48
+ }], items: [{
49
+ type: Input
50
+ }], disabled: [{
51
+ type: Input
52
+ }], max: [{
53
+ type: Input
54
+ }], labelBtnAdd: [{
55
+ type: Input
56
+ }], backgroundColor: [{
57
+ type: Input
58
+ }], itemsChange: [{
59
+ type: Output
60
+ }] } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2FuZGRyb3AtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2RyYWdhbmRkcm9wLWxpc3QvZHJhZ2FuZGRyb3AtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2RyYWdhbmRkcm9wLWxpc3QvZHJhZ2FuZGRyb3AtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBYyxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBT3BFLE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFRRSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBTVgsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVNqQixvQkFBZSxHQUFHLE1BQU0sQ0FBQztRQUV6QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUd4QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO0tBK0JqRDtJQTdCQyxJQUFJLENBQUMsS0FBNEI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNsRDtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSztRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFFLENBQUM7WUFDM0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNsRDtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUs7UUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDOztxSEFwRFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsbVBDUnJDLDI3RUE0Q0E7MkZEcENhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxzQkFBc0IsbUJBRWYsdUJBQXVCLENBQUMsTUFBTTs4QkFLL0MsS0FBSztzQkFESixLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sR0FBRztzQkFERixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBTU4sV0FBVztzQkFEVixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Nka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtZHJhZ2FuZGRyb3AtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcmFnYW5kZHJvcC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRHJhZ2FuZGRyb3BMaXN0Q29tcG9uZW50IHtcblxuICBASW5wdXQoKVxuICBsYWJlbCA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGl0ZW1zOiBBcnJheTxzdHJpbmc+O1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgbWF4OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgbGFiZWxCdG5BZGQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBiYWNrZ3JvdW5kQ29sb3IgPSAnI2ZmZic7XG5cbiAgc2hvd1RyaWdnZXJTYXZlID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIGl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxzdHJpbmc+PigpO1xuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuaXRlbXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQoT2JqZWN0LnZhbHVlcyh0aGlzLml0ZW1zKSk7XG4gICAgfVxuICB9XG5cbiAgZGVsZXRlKGluZGV4KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoKHZhbHVlLCBpKSA9PiBpICE9PSBpbmRleCApO1xuICAgICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KE9iamVjdC52YWx1ZXModGhpcy5pdGVtcykpO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVGaWVsZEVuZChpbmRleCwgZXZlbnQpIHtcbiAgICB0aGlzLml0ZW1zW2luZGV4XSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQoT2JqZWN0LnZhbHVlcyh0aGlzLml0ZW1zKSk7XG4gIH1cblxuICBhZGRGaWVsZCgpIHtcbiAgICB0aGlzLnNob3dUcmlnZ2VyU2F2ZSA9IHRydWU7XG4gIH1cblxuICBzYXZlTmV3RmllbGQoZXZlbnQpIHtcbiAgICB0aGlzLml0ZW1zLnB1c2goZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQoT2JqZWN0LnZhbHVlcyh0aGlzLml0ZW1zKSk7XG4gICAgdGhpcy5zaG93VHJpZ2dlclNhdmUgPSBmYWxzZTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwid2FjLWRyYWdhbmRkcm9wLWxpc3RcIiAqbmdJZj1cIiFkaXNhYmxlZFwiIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiYmFja2dyb3VuZENvbG9yXCI+XG4gIDxkaXYgY2xhc3M9XCJ3YWMtZHJhZ2FuZGRyb3AtbGlzdF9fbGFiZWxcIiAqbmdJZj1cImxhYmVsXCI+PHNwYW4gW2lubmVySFRNTF09XCJsYWJlbFwiPjwvc3Bhbj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIndhYy1kcmFnYW5kZHJvcC1saXN0X193cmFwcGVyXCIgW2Nka0Ryb3BMaXN0TG9ja0F4aXNdPVwiJ3knXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2FjLWRyYWdhbmRkcm9wLWxpc3RfX3dyYXBwZXJfX2l0ZW1cIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImJhY2tncm91bmRDb2xvclwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zO2xldCBpID0gaW5kZXg7XCIgY2RrRHJhZz5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2FjLWRyYWdhbmRkcm9wLWxpc3RfX3dyYXBwZXJfX2l0ZW1fX2ljb25cIj5cbiAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKG1vdXNlZG93bik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBjbGFzcz1cIndhYy1kcmFnYW5kZHJvcC1saXN0X193cmFwcGVyX19pdGVtX19pbnB1dFwiPlxuICAgICAgICAgIDx3YWMtaW5wdXQgW3ZhbHVlXT1cIml0ZW1cIiBbZXh0cmFDbGFzc2VzXT1cIid0cmFuc3BhcmVudCdcIiAoa2V5dXAuZW50ZXIpPVwic2F2ZUZpZWxkRW5kKGksICRldmVudClcIiAoZm9jdXNvdXQpPVwic2F2ZUZpZWxkRW5kKGksICRldmVudClcIj48L3dhYy1pbnB1dD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IChtb3VzZWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHdhYy1idXR0b24gW2ljb25Gb250U2l6ZV09XCIxNFwiIFtvcGFjaXR5XT1cInRydWVcIiBbaWNvbl09XCInZmEtcmVndWxhciBmYS10cmFzaC1jYW4nXCIgW2V4dHJhQ2xhc3Nlc109XCInaXMtZGFuZ2VyJ1wiIChjbGljayk9XCJkZWxldGUoaSlcIj48L3dhYy1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaSA9PT0gKGl0ZW1zLmxlbmd0aCAtIDEpICYmIG1heCA+IGl0ZW1zLmxlbmd0aCAmJiAhc2hvd1RyaWdnZXJTYXZlXCI+XG4gICAgICAgICAgPHdhYy1idXR0b24gW2V4dHJhQ2xhc3Nlc109XCInaXMtaW5mbydcIiBbaWNvbkZvbnRTaXplXT1cIjE4XCIgW29wYWNpdHldPVwidHJ1ZVwiIFtpY29uXT1cIidmYS1yZWd1bGFyIGZhLXBsdXMnXCIgKGNsaWNrKT1cImFkZEZpZWxkKClcIj48L3dhYy1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndhYy1kcmFnYW5kZHJvcC1saXN0X193cmFwcGVyX19pdGVtIHdhYy1kcmFnYW5kZHJvcC1saXN0X193cmFwcGVyX19pdGVtLS10cmlnZ2VyXCIgKm5nSWY9XCJzaG93VHJpZ2dlclNhdmVcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2FjLWRyYWdhbmRkcm9wLWxpc3RfX3dyYXBwZXJfX2l0ZW1fX2ljb25cIj5cbiAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3YWMtZHJhZ2FuZGRyb3AtbGlzdF9fd3JhcHBlcl9faXRlbV9faW5wdXRcIj5cbiAgICAgICAgICA8d2FjLWlucHV0IFtleHRyYUNsYXNzZXNdPVwiJ3RyYW5zcGFyZW50J1wiIChrZXl1cC5lbnRlcik9XCJzYXZlTmV3RmllbGQoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzYXZlTmV3RmllbGQoJGV2ZW50KVwiPjwvd2FjLWlucHV0PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIndhYy1kcmFnYW5kZHJvcC1saXN0IHdhYy1kcmFnYW5kZHJvcC1saXN0LS1kaXNhYmxlZFwiICpuZ0lmPVwiZGlzYWJsZWRcIj5cbiAgPGRpdiBjbGFzcz1cIndhYy1kcmFnYW5kZHJvcC1saXN0X19sYWJlbFwiICpuZ0lmPVwibGFiZWxcIj48c3BhbiBbaW5uZXJIVE1MXT1cImxhYmVsXCI+PC9zcGFuPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwid2FjLWRyYWdhbmRkcm9wLWxpc3RfX3dyYXBwZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2FjLWRyYWdhbmRkcm9wLWxpc3RfX3dyYXBwZXJfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcztsZXQgaSA9IGluZGV4O1wiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3YWMtZHJhZ2FuZGRyb3AtbGlzdF9fd3JhcHBlcl9faXRlbV9fbGFiZWxcIiBbaW5uZXJIVE1MXT1cIml0ZW1cIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -39,7 +39,7 @@ export class FreePopinComponent {
39
39
  }
40
40
  }
41
41
  FreePopinComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: FreePopinComponent, deps: [{ token: i1.DomService }], target: i0.ɵɵFactoryTarget.Component });
42
- FreePopinComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: FreePopinComponent, selector: "wac-free-popin", inputs: { okButtonLabel: "okButtonLabel", koButtonLabel: "koButtonLabel", visible: "visible", disableCloseOutside: "disableCloseOutside", background: "background", zIndex: "zIndex" }, outputs: { visibleChange: "visibleChange", response: "response" }, ngImport: i0, template: "<div class=\"wac-free-popin\" *ngIf=\"visible\" [ngStyle]=\"{'z-index': zIndex}\">\n <div class=\"wac-free-popin__wrapper\" wzAutoHide (clickOutside)=\"!disableCloseOutside ? closePopin() : ''\">\n <a class=\"wac-free-popin__wrapper__button-close\" (click)=\"closePopin()\">\n <i class=\"fas fa-times\"></i>\n </a>\n <div class=\"wac-free-popin__wrapper__content\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <ng-content></ng-content>\n </perfect-scrollbar>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons\">\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"okButtonLabel\">\n <wac-button [extraClasses]=\"'is-success'\" [label]=\"okButtonLabel\" [hasLoader]=\"true\" (click)=\"validatePopin()\"></wac-button>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"koButtonLabel\">\n <wac-button [extraClasses]=\"'is-danger is-outlined'\" [label]=\"koButtonLabel\" [hasLoader]=\"true\" (click)=\"refusePopin()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-free-popin__background\" *ngIf=\"background\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "component", type: i4.PerfectScrollbarComponent, selector: "perfect-scrollbar", inputs: ["disabled", "usePSClass", "autoPropagation", "scrollIndicators", "config"], outputs: ["psScrollY", "psScrollX", "psScrollUp", "psScrollDown", "psScrollLeft", "psScrollRight", "psYReachEnd", "psYReachStart", "psXReachEnd", "psXReachStart"], exportAs: ["ngxPerfectScrollbar"] }, { kind: "component", type: i5.ButtonComponent, selector: "wac-button", inputs: ["extraClasses", "label", "icon", "iconNext", "widthAuto", "contentHorizontalPosition", "iconFontSize", "hasLoader", "disabled", "whiteSpaceNowrap", "opacity", "animation", "animationRight", "animationText", "confirmDelete", "confirmDeleteText", "confirmDeletePosition", "isLoading"], outputs: ["click", "isLoadingChange"] }] });
42
+ FreePopinComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: FreePopinComponent, selector: "wac-free-popin", inputs: { okButtonLabel: "okButtonLabel", koButtonLabel: "koButtonLabel", visible: "visible", disableCloseOutside: "disableCloseOutside", background: "background", zIndex: "zIndex" }, outputs: { visibleChange: "visibleChange", response: "response" }, ngImport: i0, template: "<div class=\"wac-free-popin\" *ngIf=\"visible\" [ngStyle]=\"{'z-index': zIndex}\">\n <div class=\"wac-free-popin__wrapper\" wzAutoHide (clickOutside)=\"!disableCloseOutside ? closePopin() : ''\">\n <a class=\"wac-free-popin__wrapper__button-close\" (click)=\"closePopin()\">\n <i class=\"fas fa-times\"></i>\n </a>\n <div class=\"wac-free-popin__wrapper__content\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <ng-content></ng-content>\n </perfect-scrollbar>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons\">\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"okButtonLabel\">\n <wac-button [extraClasses]=\"'is-success'\" [label]=\"okButtonLabel\" [hasLoader]=\"true\" (click)=\"validatePopin()\"></wac-button>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"koButtonLabel\">\n <wac-button [extraClasses]=\"'is-danger is-outlined'\" [label]=\"koButtonLabel\" [hasLoader]=\"true\" (click)=\"refusePopin()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-free-popin__background\" *ngIf=\"background\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "component", type: i4.PerfectScrollbarComponent, selector: "perfect-scrollbar", inputs: ["disabled", "usePSClass", "autoPropagation", "scrollIndicators", "config"], outputs: ["psScrollY", "psScrollX", "psScrollUp", "psScrollDown", "psScrollLeft", "psScrollRight", "psYReachEnd", "psYReachStart", "psXReachEnd", "psXReachStart"], exportAs: ["ngxPerfectScrollbar"] }, { kind: "component", type: i5.ButtonComponent, selector: "wac-button", inputs: ["extraClasses", "label", "icon", "iconNext", "textcolor", "widthAuto", "contentHorizontalPosition", "iconFontSize", "hasLoader", "disabled", "whiteSpaceNowrap", "opacity", "animation", "animationRight", "animationText", "confirmDelete", "confirmDeleteText", "coin", "tooltip", "tooltipWidth", "noPadding", "tooltipPosition", "tooltipOneline", "confirmDeletePosition", "isLoading"], outputs: ["click", "isLoadingChange"] }] });
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: FreePopinComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: 'wac-free-popin', template: "<div class=\"wac-free-popin\" *ngIf=\"visible\" [ngStyle]=\"{'z-index': zIndex}\">\n <div class=\"wac-free-popin__wrapper\" wzAutoHide (clickOutside)=\"!disableCloseOutside ? closePopin() : ''\">\n <a class=\"wac-free-popin__wrapper__button-close\" (click)=\"closePopin()\">\n <i class=\"fas fa-times\"></i>\n </a>\n <div class=\"wac-free-popin__wrapper__content\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <ng-content></ng-content>\n </perfect-scrollbar>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons\">\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"okButtonLabel\">\n <wac-button [extraClasses]=\"'is-success'\" [label]=\"okButtonLabel\" [hasLoader]=\"true\" (click)=\"validatePopin()\"></wac-button>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"koButtonLabel\">\n <wac-button [extraClasses]=\"'is-danger is-outlined'\" [label]=\"koButtonLabel\" [hasLoader]=\"true\" (click)=\"refusePopin()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-free-popin__background\" *ngIf=\"background\"></div>\n</div>\n" }]
@@ -6,19 +6,21 @@ import * as i3 from "../hn/h1/h1.component";
6
6
  export class HeaderPageComponent {
7
7
  constructor() {
8
8
  this.withImg = false;
9
+ this.center = false;
9
10
  }
10
- ngOnInit() { }
11
11
  }
12
12
  HeaderPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HeaderPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- HeaderPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: HeaderPageComponent, selector: "wac-header-page", inputs: { title: "title", linkBack: "linkBack", withImg: "withImg" }, ngImport: i0, template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\">\n <div class=\"wac-header-page__maxWidth__top__left\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <a *ngIf=\"linkBack\" [routerLink]=\"linkBack\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "component", type: i3.H1Component, selector: "wac-h1", inputs: ["withImg"] }] });
13
+ HeaderPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: HeaderPageComponent, selector: "wac-header-page", inputs: { title: "title", linkBack: "linkBack", withImg: "withImg", center: "center" }, ngImport: i0, template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\" [ngClass]=\"{'center':center}\">\n <div class=\"wac-header-page__maxWidth__top__left\" [ngClass]=\"{'fullsize':center}\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <div class=\"wac-header-page__maxWidth__top__left__nowrap\">\n <a *ngIf=\"linkBack\" [routerLink]=\"linkBack\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [center]=\"center\" [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <p class=\"subtitle\"><ng-content select=\"[role=subtitle]\"></ng-content></p>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\" *ngIf=\"!center\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "component", type: i3.H1Component, selector: "wac-h1", inputs: ["annotation", "withImg", "center"] }] });
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HeaderPageComponent, decorators: [{
15
15
  type: Component,
16
- args: [{ selector: 'wac-header-page', template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\">\n <div class=\"wac-header-page__maxWidth__top__left\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <a *ngIf=\"linkBack\" [routerLink]=\"linkBack\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n" }]
16
+ args: [{ selector: 'wac-header-page', template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\" [ngClass]=\"{'center':center}\">\n <div class=\"wac-header-page__maxWidth__top__left\" [ngClass]=\"{'fullsize':center}\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <div class=\"wac-header-page__maxWidth__top__left__nowrap\">\n <a *ngIf=\"linkBack\" [routerLink]=\"linkBack\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [center]=\"center\" [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <p class=\"subtitle\"><ng-content select=\"[role=subtitle]\"></ng-content></p>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\" *ngIf=\"!center\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n" }]
17
17
  }], ctorParameters: function () { return []; }, propDecorators: { title: [{
18
18
  type: Input
19
19
  }], linkBack: [{
20
20
  type: Input
21
21
  }], withImg: [{
22
22
  type: Input
23
+ }], center: [{
24
+ type: Input
23
25
  }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXItcGFnZS9oZWFkZXItcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci1wYWdlL2hlYWRlci1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztBQUt6RCxNQUFNLE9BQU8sbUJBQW1CO0lBTzlCO1FBREEsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUNELENBQUM7SUFDaEIsUUFBUSxLQUFVLENBQUM7O2dIQVJSLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDZIQ0xoQyw0bkJBY0E7MkZEVGEsbUJBQW1CO2tCQUovQixTQUFTOytCQUNFLGlCQUFpQjswRUFLM0IsS0FBSztzQkFESixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1oZWFkZXItcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXItcGFnZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGxpbmtCYWNrOiBzdHJpbmdbXTtcbiAgQElucHV0KClcbiAgd2l0aEltZyA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcigpIHt9XG4gIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3YWMtaGVhZGVyLXBhZ2VcIj5cbiAgPGRpdiBjbGFzcz1cIndhYy1oZWFkZXItcGFnZV9fbWF4V2lkdGhcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2FjLWhlYWRlci1wYWdlX19tYXhXaWR0aF9fdG9wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwid2FjLWhlYWRlci1wYWdlX19tYXhXaWR0aF9fdG9wX19sZWZ0XCI+XG4gICAgICAgIDwhLS0gVE9ETyBIYXJkIHRvIHVzZSB3aGVuIG9ubHkgd2FudCBhIGJ1dHRvbiBhbmQgbm90IGEgcm91dGVyIGxpbmsgLS0+XG4gICAgICAgIDxhICpuZ0lmPVwibGlua0JhY2tcIiBbcm91dGVyTGlua109XCJsaW5rQmFja1wiPjxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tbGVmdFwiPjwvaT48L2E+XG4gICAgICAgIDx3YWMtaDEgW3dpdGhJbWddPVwid2l0aEltZ1wiPnt7IHRpdGxlIH19PG5nLWNvbnRlbnQgc2VsZWN0PVwiW3JvbGU9aGVhZGVyXVwiPjwvbmctY29udGVudD48L3dhYy1oMT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIndhYy1oZWFkZXItcGFnZV9fbWF4V2lkdGhfX3RvcF9fcmlnaHRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXItcGFnZS9oZWFkZXItcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci1wYWdlL2hlYWRlci1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUtqRCxNQUFNLE9BQU8sbUJBQW1CO0lBUzlCO1FBSEEsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixXQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ0EsQ0FBQzs7Z0hBVEwsbUJBQW1CO29HQUFuQixtQkFBbUIsK0lDTGhDLHM1QkFpQkE7MkZEWmEsbUJBQW1CO2tCQUovQixTQUFTOytCQUNFLGlCQUFpQjswRUFLM0IsS0FBSztzQkFESixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLWhlYWRlci1wYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci1wYWdlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJQYWdlQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KClcbiAgbGlua0JhY2s6IHN0cmluZ1tdO1xuICBASW5wdXQoKVxuICB3aXRoSW1nID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGNlbnRlciA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2FjLWhlYWRlci1wYWdlXCI+XG4gIDxkaXYgY2xhc3M9XCJ3YWMtaGVhZGVyLXBhZ2VfX21heFdpZHRoXCI+XG4gICAgPGRpdiBjbGFzcz1cIndhYy1oZWFkZXItcGFnZV9fbWF4V2lkdGhfX3RvcFwiIFtuZ0NsYXNzXT1cInsnY2VudGVyJzpjZW50ZXJ9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwid2FjLWhlYWRlci1wYWdlX19tYXhXaWR0aF9fdG9wX19sZWZ0XCIgW25nQ2xhc3NdPVwieydmdWxsc2l6ZSc6Y2VudGVyfVwiPlxuICAgICAgICA8IS0tIFRPRE8gSGFyZCB0byB1c2Ugd2hlbiBvbmx5IHdhbnQgYSBidXR0b24gYW5kIG5vdCBhIHJvdXRlciBsaW5rIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwid2FjLWhlYWRlci1wYWdlX19tYXhXaWR0aF9fdG9wX19sZWZ0X19ub3dyYXBcIj5cbiAgICAgICAgICA8YSAqbmdJZj1cImxpbmtCYWNrXCIgW3JvdXRlckxpbmtdPVwibGlua0JhY2tcIj48aSBjbGFzcz1cImZhcyBmYS1jaGV2cm9uLWxlZnRcIj48L2k+PC9hPlxuICAgICAgICAgIDx3YWMtaDEgW2NlbnRlcl09XCJjZW50ZXJcIiBbd2l0aEltZ109XCJ3aXRoSW1nXCI+e3sgdGl0bGUgfX08bmctY29udGVudCBzZWxlY3Q9XCJbcm9sZT1oZWFkZXJdXCI+PC9uZy1jb250ZW50Pjwvd2FjLWgxPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHAgY2xhc3M9XCJzdWJ0aXRsZVwiPjxuZy1jb250ZW50IHNlbGVjdD1cIltyb2xlPXN1YnRpdGxlXVwiPjwvbmctY29udGVudD48L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3YWMtaGVhZGVyLXBhZ2VfX21heFdpZHRoX190b3BfX3JpZ2h0XCIgKm5nSWY9XCIhY2VudGVyXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -3,16 +3,21 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  export class H1Component {
5
5
  constructor() {
6
+ this.annotation = '';
6
7
  this.withImg = false;
8
+ this.center = false;
7
9
  }
8
- ngOnInit() { }
9
10
  }
10
11
  H1Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: H1Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- H1Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: H1Component, selector: "wac-h1", inputs: { withImg: "withImg" }, ngImport: i0, template: "<h1 class=\"wac-h1\" [ngClass]=\"{'with-img': withImg}\"><ng-content></ng-content></h1>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
12
+ H1Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: H1Component, selector: "wac-h1", inputs: { annotation: "annotation", withImg: "withImg", center: "center" }, ngImport: i0, template: "<h1 class=\"wac-h1\" [ngClass]=\"{'with-img': withImg, 'center': center}\"><ng-content></ng-content><small *ngIf=\"annotation !== ''\">{{ annotation }}</small></h1>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
12
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: H1Component, decorators: [{
13
14
  type: Component,
14
- args: [{ selector: 'wac-h1', template: "<h1 class=\"wac-h1\" [ngClass]=\"{'with-img': withImg}\"><ng-content></ng-content></h1>\n" }]
15
- }], ctorParameters: function () { return []; }, propDecorators: { withImg: [{
15
+ args: [{ selector: 'wac-h1', template: "<h1 class=\"wac-h1\" [ngClass]=\"{'with-img': withImg, 'center': center}\"><ng-content></ng-content><small *ngIf=\"annotation !== ''\">{{ annotation }}</small></h1>\n" }]
16
+ }], ctorParameters: function () { return []; }, propDecorators: { annotation: [{
17
+ type: Input
18
+ }], withImg: [{
19
+ type: Input
20
+ }], center: [{
16
21
  type: Input
17
22
  }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaDEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9obi9oMS9oMS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2huL2gxL2gxLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7QUFNdkQsTUFBTSxPQUFPLFdBQVc7SUFHdEI7UUFEQSxZQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ0QsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQzs7d0dBTFIsV0FBVzs0RkFBWCxXQUFXLDhFQ054QiwyRkFDQTsyRkRLYSxXQUFXO2tCQUp2QixTQUFTOytCQUNFLFFBQVE7MEVBS2xCLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLWgxJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2gxLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIMUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHdpdGhJbWcgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbiIsIjxoMSBjbGFzcz1cIndhYy1oMVwiIFtuZ0NsYXNzXT1cInsnd2l0aC1pbWcnOiB3aXRoSW1nfVwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2gxPlxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaDEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9obi9oMS9oMS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2huL2gxL2gxLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7QUFNdkQsTUFBTSxPQUFPLFdBQVc7SUFPdEI7UUFMQSxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsV0FBTSxHQUFHLEtBQUssQ0FBQztJQUNBLENBQUM7O3dHQVBMLFdBQVc7NEZBQVgsV0FBVywwSENOeEIsd0tBQ0E7MkZES2EsV0FBVztrQkFKdkIsU0FBUzsrQkFDRSxRQUFROzBFQUtsQixVQUFVO3NCQURULEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLWgxJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2gxLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIMUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGFubm90YXRpb24gPSAnJztcbiAgQElucHV0KClcbiAgd2l0aEltZyA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBjZW50ZXIgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiPGgxIGNsYXNzPVwid2FjLWgxXCIgW25nQ2xhc3NdPVwieyd3aXRoLWltZyc6IHdpdGhJbWcsICdjZW50ZXInOiBjZW50ZXJ9XCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjxzbWFsbCAqbmdJZj1cImFubm90YXRpb24gIT09ICcnXCI+e3sgYW5ub3RhdGlvbiB9fTwvc21hbGw+PC9oMT5cbiJdfQ==
@@ -37,6 +37,7 @@ export class InputComponent {
37
37
  this.disabled = false;
38
38
  this.indication = ''; // todo should be handle with ng-content
39
39
  this.success = false;
40
+ this.error = false;
40
41
  this.indicationLeft = false;
41
42
  this.keypressEnter = new EventEmitter();
42
43
  this.blurred = new EventEmitter();
@@ -94,10 +95,10 @@ export class InputComponent {
94
95
  }
95
96
  }
96
97
  InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
97
- InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: InputComponent, selector: "wac-input", inputs: { label: "label", value: "value", type: "type", placeholder: "placeholder", textInfo: "textInfo", textError: "textError", size: "size", isNumber: "isNumber", withoutBlock: "withoutBlock", icon: "icon", big: "big", medium: "medium", boldLabel: "boldLabel", min: "min", max: "max", disableMargin: "disableMargin", textPrepend: "textPrepend", textAppend: "textAppend", progressBar: "progressBar", extraClasses: "extraClasses", keyPreventDefault: "keyPreventDefault", showTooltip: "showTooltip", textTooltip: "textTooltip", iconTooltip: "iconTooltip", urlTooltip: "urlTooltip", linkTooltip: "linkTooltip", padding: "padding", disabled: "disabled", indication: "indication", success: "success", indicationLeft: "indicationLeft" }, outputs: { keypressEnter: "keypressEnter", blurred: "blurred" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], ngImport: i0, template: "<div\n class=\"field wac-input\"\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\n>\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\n <label\n [ngClass]=\"[boldLabel == 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '']\"\n [innerHTML]=\"label\"\n [for]=\"id\"\n ></label>\n <wac-tooltip\n *ngIf=\"showTooltip\"\n [tooltipIcon]=\"iconTooltip\"\n [tooltipText]=\"textTooltip\"\n [tooltipLink]=\"linkTooltip\"\n [tooltipUrl]=\"urlTooltip\"\n ></wac-tooltip>\n <!-- Size -->\n <span *ngIf=\"value && size && !progressBar\" class=\"is-size-7 wac-input__size\">\n <strong>{{ value.toString().length }}</strong> / {{ size }}\n </span>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p\n class=\"control\"\n [ngClass]=\"{ 'has-icons-right': textError || success, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\n >\n <!-- Text Prepend -->\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n </span>\n\n <!-- Input -->\n <input\n [class]=\"'input ' + extraClasses\"\n [id]=\"id\"\n [ngClass]=\"{\n 'is-danger': textError,\n 'is-large': big,\n 'is-number': isNumber,\n 'remove-margin': disableMargin,\n 'text-append': textAppend\n }\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n (focusout)=\"onFocusOut()\"\n [min]=\"min\"\n [max]=\"max\"\n (keypress)=\"keyPress($event)\"\n />\n\n <!-- Indication at the end of the input -->\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\n <span [innerHTML]=\"indication\"></span>\n </span>\n\n <!-- Text Append -->\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\n <!-- error if text append not empty -->\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n </span>\n\n <!-- Icon Left -->\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n\n <!-- Icon error if textAppend empty -->\n <span *ngIf=\"textError && !textAppend && !indicationLeft\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n\n <!-- Icon success -->\n <span *ngIf=\"success\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n\n <!-- Text Info -->\n <span\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\n class=\"is-size-7 wac-input__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n\n <!-- Text Error -->\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\n </p>\n\n <!-- Progress Bar -->\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.TooltipComponent, selector: "wac-tooltip", inputs: ["tooltipIcon", "tooltipText", "tooltipLink", "tooltipUrl"] }, { kind: "component", type: i4.ProgressBarComponent, selector: "wac-progress-bar", inputs: ["valueLength", "min", "max"] }] });
98
+ InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: InputComponent, selector: "wac-input", inputs: { label: "label", value: "value", type: "type", placeholder: "placeholder", textInfo: "textInfo", textError: "textError", size: "size", isNumber: "isNumber", withoutBlock: "withoutBlock", icon: "icon", big: "big", medium: "medium", boldLabel: "boldLabel", min: "min", max: "max", disableMargin: "disableMargin", textPrepend: "textPrepend", textAppend: "textAppend", progressBar: "progressBar", extraClasses: "extraClasses", keyPreventDefault: "keyPreventDefault", showTooltip: "showTooltip", textTooltip: "textTooltip", iconTooltip: "iconTooltip", urlTooltip: "urlTooltip", linkTooltip: "linkTooltip", padding: "padding", disabled: "disabled", indication: "indication", success: "success", error: "error", maxlength: "maxlength", minlength: "minlength", indicationLeft: "indicationLeft" }, outputs: { keypressEnter: "keypressEnter", blurred: "blurred" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], ngImport: i0, template: "<div\n class=\"field wac-input\"\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\n>\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\n <label\n [ngClass]=\"[boldLabel === 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '', size && !progressBar ? 'has-padding-right-mobile' : '']\"\n [innerHTML]=\"label\"\n [for]=\"id\"\n ></label>\n <wac-tooltip\n *ngIf=\"showTooltip\"\n [tooltipIcon]=\"iconTooltip\"\n [tooltipText]=\"textTooltip\"\n [tooltipLink]=\"linkTooltip\"\n [tooltipUrl]=\"urlTooltip\"\n ></wac-tooltip>\n <!-- Size -->\n <span *ngIf=\"size && !progressBar\" class=\"is-size-7 wac-input__size\">\n <strong>{{ !value ? 0 : value.toString().length }}</strong> / {{ size }}\n </span>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p\n class=\"control\"\n [ngClass]=\"{ 'has-icons-right': textError || success || error, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\n >\n <!-- Text Prepend -->\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n </span>\n\n <!-- Input -->\n <input\n [class]=\"'input ' + extraClasses\"\n [id]=\"id\"\n [ngClass]=\"{\n 'is-danger': (textError || error) && !disabled,\n 'is-empty': value === '',\n 'is-large': big,\n 'is-number': isNumber,\n 'remove-margin': disableMargin,\n 'text-append': textAppend\n }\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n (focusout)=\"onFocusOut()\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n (keypress)=\"keyPress($event)\"\n />\n\n <!-- Indication at the end of the input -->\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\n <span [innerHTML]=\"indication\"></span>\n </span>\n\n <!-- Text Append -->\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\n <!-- error if text append not empty -->\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n </span>\n\n <!-- Icon Left -->\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n\n <!-- Icon error if textAppend empty -->\n <span *ngIf=\"(textError || error) && !textAppend && !indicationLeft && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n\n <!-- Text Info -->\n <span\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\n class=\"is-size-7 wac-input__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n\n <!-- Text Error -->\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\n </p>\n\n <!-- Progress Bar -->\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.TooltipComponent, selector: "wac-tooltip", inputs: ["tooltipIcon", "tooltipText", "tooltipLink", "tooltipUrl"] }, { kind: "component", type: i4.ProgressBarComponent, selector: "wac-progress-bar", inputs: ["valueLength", "min", "max"] }] });
98
99
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: InputComponent, decorators: [{
99
100
  type: Component,
100
- args: [{ selector: 'wac-input', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], template: "<div\n class=\"field wac-input\"\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\n>\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\n <label\n [ngClass]=\"[boldLabel == 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '']\"\n [innerHTML]=\"label\"\n [for]=\"id\"\n ></label>\n <wac-tooltip\n *ngIf=\"showTooltip\"\n [tooltipIcon]=\"iconTooltip\"\n [tooltipText]=\"textTooltip\"\n [tooltipLink]=\"linkTooltip\"\n [tooltipUrl]=\"urlTooltip\"\n ></wac-tooltip>\n <!-- Size -->\n <span *ngIf=\"value && size && !progressBar\" class=\"is-size-7 wac-input__size\">\n <strong>{{ value.toString().length }}</strong> / {{ size }}\n </span>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p\n class=\"control\"\n [ngClass]=\"{ 'has-icons-right': textError || success, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\n >\n <!-- Text Prepend -->\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n </span>\n\n <!-- Input -->\n <input\n [class]=\"'input ' + extraClasses\"\n [id]=\"id\"\n [ngClass]=\"{\n 'is-danger': textError,\n 'is-large': big,\n 'is-number': isNumber,\n 'remove-margin': disableMargin,\n 'text-append': textAppend\n }\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n (focusout)=\"onFocusOut()\"\n [min]=\"min\"\n [max]=\"max\"\n (keypress)=\"keyPress($event)\"\n />\n\n <!-- Indication at the end of the input -->\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\n <span [innerHTML]=\"indication\"></span>\n </span>\n\n <!-- Text Append -->\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\n <!-- error if text append not empty -->\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n </span>\n\n <!-- Icon Left -->\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n\n <!-- Icon error if textAppend empty -->\n <span *ngIf=\"textError && !textAppend && !indicationLeft\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n\n <!-- Icon success -->\n <span *ngIf=\"success\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n\n <!-- Text Info -->\n <span\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\n class=\"is-size-7 wac-input__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n\n <!-- Text Error -->\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\n </p>\n\n <!-- Progress Bar -->\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n" }]
101
+ args: [{ selector: 'wac-input', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], template: "<div\n class=\"field wac-input\"\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\n>\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\n <label\n [ngClass]=\"[boldLabel === 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '', size && !progressBar ? 'has-padding-right-mobile' : '']\"\n [innerHTML]=\"label\"\n [for]=\"id\"\n ></label>\n <wac-tooltip\n *ngIf=\"showTooltip\"\n [tooltipIcon]=\"iconTooltip\"\n [tooltipText]=\"textTooltip\"\n [tooltipLink]=\"linkTooltip\"\n [tooltipUrl]=\"urlTooltip\"\n ></wac-tooltip>\n <!-- Size -->\n <span *ngIf=\"size && !progressBar\" class=\"is-size-7 wac-input__size\">\n <strong>{{ !value ? 0 : value.toString().length }}</strong> / {{ size }}\n </span>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p\n class=\"control\"\n [ngClass]=\"{ 'has-icons-right': textError || success || error, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\n >\n <!-- Text Prepend -->\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n </span>\n\n <!-- Input -->\n <input\n [class]=\"'input ' + extraClasses\"\n [id]=\"id\"\n [ngClass]=\"{\n 'is-danger': (textError || error) && !disabled,\n 'is-empty': value === '',\n 'is-large': big,\n 'is-number': isNumber,\n 'remove-margin': disableMargin,\n 'text-append': textAppend\n }\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n (focusout)=\"onFocusOut()\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n (keypress)=\"keyPress($event)\"\n />\n\n <!-- Indication at the end of the input -->\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\n <span [innerHTML]=\"indication\"></span>\n </span>\n\n <!-- Text Append -->\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\n <!-- error if text append not empty -->\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n </span>\n\n <!-- Icon Left -->\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n\n <!-- Icon error if textAppend empty -->\n <span *ngIf=\"(textError || error) && !textAppend && !indicationLeft && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n\n <!-- Text Info -->\n <span\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\n class=\"is-size-7 wac-input__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n\n <!-- Text Error -->\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\n </p>\n\n <!-- Progress Bar -->\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n" }]
101
102
  }], propDecorators: { label: [{
102
103
  type: Input
103
104
  }], value: [{
@@ -158,6 +159,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
158
159
  type: Input
159
160
  }], success: [{
160
161
  type: Input
162
+ }], error: [{
163
+ type: Input
164
+ }], maxlength: [{
165
+ type: Input
166
+ }], minlength: [{
167
+ type: Input
161
168
  }], indicationLeft: [{
162
169
  type: Input
163
170
  }], keypressEnter: [{
@@ -165,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
165
172
  }], blurred: [{
166
173
  type: Output
167
174
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQU96RSxNQUFNLE9BQU8sY0FBYztJQUwzQjtRQU9FLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVgsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUVkLGdCQUFXLEdBQUcsRUFBRSxDQUFDLENBQUMsdUNBQXVDO1FBRXpELGFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyx3Q0FBd0M7UUFFekQsY0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLHdDQUF3QztRQUUxRCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBRVosYUFBUSxHQUFHLElBQUksQ0FBQztRQUVoQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVYsUUFBRyxHQUFHLEtBQUssQ0FBQztRQUVaLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixjQUFTLEdBQUcsT0FBTyxDQUFDLENBQUMsMEJBQTBCO1FBRS9DLFFBQUcsR0FBRyxJQUFJLENBQUM7UUFFWCxRQUFHLEdBQUcsSUFBSSxDQUFDO1FBRVgsa0JBQWEsR0FBRyxL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QkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBJbnB1dENvbXBvbmVudCwgbXVsdGk6IHRydWUgfV1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpXG4gIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpXG4gIHZhbHVlID0gJyc7XG4gIEBJbnB1dCgpXG4gIHR5cGUgPSAndGV4dCc7XG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJyc7IC8vIHRvZG8gY291bGQgYmUgaGFuZGxlIHdpdGggbmctY29udGVudFxuICBASW5wdXQoKVxuICB0ZXh0SW5mbyA9IG51bGw7IC8vIHRvZG8gc2hvdWxkIGJlIGhhbmRsZSB3aXRoIG5nLWNvbnRlbnRcbiAgQElucHV0KClcbiAgdGV4dEVycm9yID0gbnVsbDsgLy8gdG9kbyBzaG91bGQgYmUgaGFuZGxlIHdpdGggbmctY29udGVudFxuICBASW5wdXQoKVxuICBzaXplID0gbnVsbDtcbiAgQElucHV0KClcbiAgaXNOdW1iZXIgPSBudWxsO1xuICBASW5wdXQoKVxuICB3aXRob3V0QmxvY2sgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgaWNvbiA9ICcnO1xuICBASW5wdXQoKVxuICBiaWcgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgbWVkaXVtID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGJvbGRMYWJlbCA9ICdmYWxzZSc7IC8vIHRvZG8gcmVmYWN0byB0byBib29sZWFuXG4gIEBJbnB1dCgpXG4gIG1pbiA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIG1heCA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVNYXJnaW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgdGV4dFByZXBlbmQgPSBudWxsOyAvLyB0b2RvIHNob3VsZCBiZSBoYW5kbGUgd2l0aCBuZy1jb250ZW50XG4gIEBJbnB1dCgpXG4gIHRleHRBcHBlbmQgPSBudWxsOyAgLy8gdG9kbyBzaG91bGQgYmUgaGFuZGxlIHdpdGggbmctY29udGVudFxuICBASW5wdXQoKVxuICBwcm9ncmVzc0JhciA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBleHRyYUNsYXNzZXMgPSAnJztcbiAgQElucHV0KClcbiAga2V5UHJldmVudERlZmF1bHQgPSBbXTtcbiAgQElucHV0KClcbiAgc2hvd1Rvb2x0aXAgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgdGV4dFRvb2x0aXAgPSAnJztcbiAgQElucHV0KClcbiAgaWNvblRvb2x0aXAgPSAnJztcbiAgQElucHV0KClcbiAgdXJsVG9vbHRpcCA9ICcnO1xuICBASW5wdXQoKVxuICBsaW5rVG9vbHRpcCA9ICcnO1xuICBASW5wdXQoKVxuICBwYWRkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGluZGljYXRpb24gPSAnJzsgLy8gdG9kbyBzaG91bGQgYmUgaGFuZGxlIHdpdGggbmctY29udGVudFxuICBASW5wdXQoKVxuICBzdWNjZXNzID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGluZGljYXRpb25MZWZ0ID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGtleXByZXNzRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBibHVycmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgS0VZUFJFU1NfRU5URVIgPSBcIkVudGVyXCI7XG5cbiAgaWQgPVxuICAgICd3ei1pbnB1dF8nICtcbiAgICBNYXRoLnJhbmRvbSgpXG4gICAgICAudG9TdHJpbmcoMzYpXG4gICAgICAuc3Vic3RyKDIsIDkpO1xuXG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKHZhbHVlOiBzdHJpbmcpID0+IHt9O1xuICBwcml2YXRlIF9vblRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBvYmo7XG4gIH1cblxuICBvbkNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuX29uQ2hhbmdlKSB7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIGlmICh0aGlzLl9vblRvdWNoZWQpIHtcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgIH1cbiAgICB0aGlzLmJsdXJyZWQubmV4dCgpO1xuICB9XG5cbiAgY2hlY2tOdW1iZXJWYWx1ZSh2YWx1ZSkge1xuICAgIGlmICh0aGlzLm1pbiAmJiB0aGlzLm1pbiA+IHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5taW47XG4gICAgfVxuICAgIGlmICh0aGlzLm1heCAmJiB0aGlzLm1heCA8IHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXg7XG4gICAgfVxuICB9XG5cbiAgb25Gb2N1c091dCgpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgdGhpcy5jaGVja051bWJlclZhbHVlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGtleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMua2V5UHJldmVudERlZmF1bHQuaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSB0aGlzLktFWVBSRVNTX0VOVEVSKSB7XG4gICAgICB0aGlzLmtleXByZXNzRW50ZXIubmV4dCh0cnVlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJmaWVsZCB3YWMtaW5wdXRcIlxuICBbbmdDbGFzc109XCJ7ICdoYXMtbm8tYmxvY2snOiB3aXRob3V0QmxvY2ssICdpcy1iaWcnOiBiaWcsICdpcy1tZWRpdW0nOiBtZWRpdW0sICd3aXRoLXBhZGRpbmcnOiBwYWRkaW5nLCAnaW5kaWNhdGlvbi1sZWZ0JzogaW5kaWNhdGlvbkxlZnQsICd3aXRoLXByb2dyZXNzLWJhcic6IHByb2dyZXNzQmFyIH1cIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmllbGQtbGFiZWwgaXMtbm9ybWFsIGhhcy10ZXh0LWxlZnRcIiAqbmdJZj1cIiF3aXRob3V0QmxvY2tcIj5cbiAgICA8bGFiZWxcbiAgICAgIFtuZ0NsYXNzXT1cIltib2xkTGFiZWwgPT0gJ3RydWUnID8gJ2xhYmVsIGhhcy10ZXh0LXdlaWdodC1ib2xkJyA6ICdsYWJlbCBoYXMtdGV4dC13ZWlnaHQtbm9ybWFsJywgc2hvd1Rvb2x0aXAgPyAnbGFiZWwtaW5saW5lJyA6ICcnXVwiXG4gICAgICBbaW5uZXJIVE1MXT1cImxhYmVsXCJcbiAgICAgIFtmb3JdPVwiaWRcIlxuICAgID48L2xhYmVsPlxuICAgIDx3YWMtdG9vbHRpcFxuICAgICAgKm5nSWY9XCJzaG93VG9vbHRpcFwiXG4gICAgICBbdG9vbHRpcEljb25dPVwiaWNvblRvb2x0aXBcIlxuICAgICAgW3Rvb2x0aXBUZXh0XT1cInRleHRUb29sdGlwXCJcbiAgICAgIFt0b29sdGlwTGlua109XCJsaW5rVG9vbHRpcFwiXG4gICAgICBbdG9vbHRpcFVybF09XCJ1cmxUb29sdGlwXCJcbiAgICA+PC93YWMtdG9vbHRpcD5cbiAgICA8IS0tIFNpemUgLS0+XG4gICAgPHNwYW4gKm5nSWY9XCJ2YWx1ZSAmJiBzaXplICYmICFwcm9ncmVzc0JhclwiIGNsYXNzPVwiaXMtc2l6ZS03IHdhYy1pbnB1dF9fc2l6ZVwiPlxuICAgICAgPHN0cm9uZz57eyB2YWx1ZS50b1N0cmluZygpLmxlbmd0aCB9fTwvc3Ryb25nPiAvIHt7IHNpemUgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmllbGQtYm9keVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgPHBcbiAgICAgICAgY2xhc3M9XCJjb250cm9sXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnaGFzLWljb25zLXJpZ2h0JzogdGV4dEVycm9yIHx8IHN1Y2Nlc3MsICdoYXMtaWNvbnMtbGVmdCc6IGljb24gIT09ICcnLCAnaGFzLWlucHV0LWdyb3VwJzogdGV4dEFwcGVuZCB8fCB0ZXh0UHJlcGVuZCB9XCJcbiAgICAgID5cbiAgICAgICAgPCEtLSBUZXh0IFByZXBlbmQgLS0+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidGV4dFByZXBlbmRcIiBjbGFzcz1cImhhcy1pbnB1dC1ncm91cFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGFzLWlucHV0LWdyb3VwLXRleHQgcHJlcGVuZFwiPnt7IHRleHRQcmVwZW5kIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaWNvbiAhPT0gJydcIiBjbGFzcz1cImljb24gaXMtc21hbGwgaXMtbGVmdFwiPlxuICAgICAgICAgICAgPGkgW2NsYXNzXT1cImljb25cIj48L2k+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPCEtLSBJbnB1dCAtLT5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgW2NsYXNzXT1cIidpbnB1dCAnICsgZXh0cmFDbGFzc2VzXCJcbiAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdpcy1kYW5nZXInOiB0ZXh0RXJyb3IsXG4gICAgICAgICAgICAnaXMtbGFyZ2UnOiBiaWcsXG4gICAgICAgICAgICAnaXMtbnVtYmVyJzogaXNOdW1iZXIsXG4gICAgICAgICAgICAncmVtb3ZlLW1hcmdpbic6IGRpc2FibGVNYXJnaW4sXG4gICAgICAgICAgICAndGV4dC1hcHBlbmQnOiB0ZXh0QXBwZW5kXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICBbYXR0ci5zaXplXT1cInNpemVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIChmb2N1c291dCk9XCJvbkZvY3VzT3V0KClcIlxuICAgICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgICAgKGtleXByZXNzKT1cImtleVByZXNzKCRldmVudClcIlxuICAgICAgICAvPlxuXG4gICAgICAgIDwhLS0gSW5kaWNhdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dCAtLT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmRpY2F0aW9uXCIgKm5nSWY9XCJpbmRpY2F0aW9uXCIgW25nQ2xhc3NdPVwieydyZXZlcnNlJzogaW5kaWNhdGlvbkxlZnR9XCI+XG4gICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJpbmRpY2F0aW9uXCI+PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPCEtLSBUZXh0IEFwcGVuZCAtLT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJ0ZXh0QXBwZW5kICYmICFpbmRpY2F0aW9uTGVmdFwiIGNsYXNzPVwiaGFzLWlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJoYXMtaW5wdXQtZ3JvdXAtdGV4dCBhcHBlbmRcIj57eyB0ZXh0QXBwZW5kIH19PC9zcGFuPlxuICAgICAgICAgIDwhLS0gZXJyb3IgaWYgdGV4dCBhcHBlbmQgbm90IGVtcHR5IC0tPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGV4dEVycm9yXCIgY2xhc3M9XCJpY29uIGlzLXNtYWxsIGlzLXJpZ2h0XCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS10aW1lcyBoYXMtdGV4dC1kYW5nZXJcIj48L2k+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPCEtLSBJY29uIExlZnQgLS0+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaWNvbiAhPT0gJycgJiYgIXRleHRQcmVwZW5kICYmICFpbmRpY2F0aW9uTGVmdFwiIGNsYXNzPVwiaWNvbiBpcy1zbWFsbCBpcy1sZWZ0XCI+XG4gICAgICAgICAgPGkgW2NsYXNzXT1cImljb25cIj48L2k+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8IS0tIEljb24gZXJyb3IgaWYgdGV4dEFwcGVuZCBlbXB0eSAtLT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJ0ZXh0RXJyb3IgJiYgIXRleHRBcHBlbmQgJiYgIWluZGljYXRpb25MZWZ0XCIgY2xhc3M9XCJpY29uIGlzLXNtYWxsIGlzLXJpZ2h0XCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtdGltZXMgaGFzLXRleHQtZGFuZ2VyXCI+PC9pPlxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPCEtLSBJY29uIHN1Y2Nlc3MgLS0+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwic3VjY2Vzc1wiIGNsYXNzPVwiaWNvbiBpcy1zbWFsbCBpcy1yaWdodFwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZWNrIGhhcy10ZXh0LXN1Y2Nlc3NcIj48L2k+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8IS0tIFRleHQgSW5mbyAtLT5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cInRleHRJbmZvICYmICh0ZXh0RXJyb3IgPT09IG51bGwgfHwgdGV4dEVycm9yID09PSAnJykgJiYgIXByb2dyZXNzQmFyICYmICFpbmRpY2F0aW9uTGVmdFwiXG4gICAgICAgICAgY2xhc3M9XCJpcy1zaXplLTcgd2FjLWlucHV0X19pbmZvIHRleHQtaW5mb1wiXG4gICAgICAgICAgW2lubmVySHRtbF09XCJ0ZXh0SW5mb1wiXG4gICAgICAgID48L3NwYW4+XG5cbiAgICAgICAgPCEtLSBUZXh0IEVycm9yIC0tPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInRleHRFcnJvciAmJiAhcHJvZ3Jlc3NCYXIgJiYgIWluZGljYXRpb25MZWZ0XCIgY2xhc3M9XCJpcy1zaXplLTcgd2FjLWlucHV0X19lcnJvciBoYXMtdGV4dC1kYW5nZXJcIiBbaW5uZXJIdG1sXT1cInRleHRFcnJvclwiPjwvc3Bhbj5cbiAgICAgIDwvcD5cblxuICAgICAgPCEtLSBQcm9ncmVzcyBCYXIgLS0+XG4gICAgICA8d2FjLXByb2dyZXNzLWJhciAqbmdJZj1cInByb2dyZXNzQmFyICYmICFpbmRpY2F0aW9uTGVmdFwiIFttaW5dPVwibWluXCIgW21heF09XCJtYXhcIiBbdmFsdWVMZW5ndGhdPVwidmFsdWUubGVuZ3RoXCI+PC93YWMtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQU96RSxNQUFNLE9BQU8sY0FBYztJQUwzQjtRQU9FLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVgsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUVkLGdCQUFXLEdBQUcsRUFBRSxDQUFDLENBQUMsdUNBQXVDO1FBRXpELGFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyx3Q0FBd0M7UUFFekQsY0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLHdDQUF3QztRQUUxRCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBRVosYUFBUSxHQUFHLElBQUksQ0FBQztRQUVoQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVYsUUFBRyxHQUFHLEtBQUssQ0FBQztRQUVaLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixjQUFTLEdBQUcsT0FBTyxDQUFDLENBQUMsMEJBQTBCO1FBRS9DLFFBQUcsR0FBRyxJQUFJLENBQUM7UUFFWCxRQUFHLEdBQUcsSUFBSSxDQUFDO1FBRVgsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFdEIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsQ0FBQyx3Q0FBd0M7UUFFNUQsZUFBVSxHQUFHLElBQUksQ0FBQyxDQUFFLHdDQUF3QztRQUU1RCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUVsQixzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFFdkIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFakIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFakIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUVqQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsZUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDLHdDQUF3QztRQUV6RCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLFVBQUssR0FBRyxLQUFLLENBQUM7UUFNZCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUViLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM1QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVyQyxtQkFBYyxHQUFHLE9BQU8sQ0FBQztRQUVqQyxPQUFFLEdBQ0EsV0FBVztZQUNYLElBQUksQ0FBQyxNQUFNLEVBQUU7aUJBQ1YsUUFBUSxDQUFDLEVBQUUsQ0FBQztpQkFDWixNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRVYsY0FBUyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDbEMsZUFBVSxHQUFhLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQXVEekM7SUFyREMsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFRO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNwQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7UUFDcEIsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUN2QjtRQUNELElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssRUFBRTtZQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsS0FBb0I7UUFDM0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM5QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDeEI7UUFFRCxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7OzJHQXhJVSxjQUFjOytGQUFkLGNBQWMsbTRCQUZkLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsMEJDTnZGLHd6SUE0R0E7MkZEcEdhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsV0FBVyxhQUVWLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7OEJBSXJGLEtBQUs7c0JBREosS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFHTixHQUFHO3NCQURGLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHTixHQUFHO3NCQURGLEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUdOLGFBQWE7c0JBRFosS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixZQUFZO3NCQURYLEtBQUs7Z0JBR04saUJBQWlCO3NCQURoQixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sV0FBVztzQkFEVixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLGNBQWM7c0JBRGIsS0FBSztnQkFHSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogSW5wdXRDb21wb25lbnQsIG11bHRpOiB0cnVlIH1dXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKVxuICBsYWJlbCA9ICcnO1xuICBASW5wdXQoKVxuICB2YWx1ZSA9ICcnO1xuICBASW5wdXQoKVxuICB0eXBlID0gJ3RleHQnO1xuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlciA9ICcnOyAvLyB0b2RvIGNvdWxkIGJlIGhhbmRsZSB3aXRoIG5nLWNvbnRlbnRcbiAgQElucHV0KClcbiAgdGV4dEluZm8gPSBudWxsOyAvLyB0b2RvIHNob3VsZCBiZSBoYW5kbGUgd2l0aCBuZy1jb250ZW50XG4gIEBJbnB1dCgpXG4gIHRleHRFcnJvciA9IG51bGw7IC8vIHRvZG8gc2hvdWxkIGJlIGhhbmRsZSB3aXRoIG5nLWNvbnRlbnRcbiAgQElucHV0KClcbiAgc2l6ZSA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIGlzTnVtYmVyID0gbnVsbDtcbiAgQElucHV0KClcbiAgd2l0aG91dEJsb2NrID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGljb24gPSAnJztcbiAgQElucHV0KClcbiAgYmlnID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIG1lZGl1bSA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBib2xkTGFiZWwgPSAnZmFsc2UnOyAvLyB0b2RvIHJlZmFjdG8gdG8gYm9vbGVhblxuICBASW5wdXQoKVxuICBtaW4gPSBudWxsO1xuICBASW5wdXQoKVxuICBtYXggPSBudWxsO1xuICBASW5wdXQoKVxuICBkaXNhYmxlTWFyZ2luID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHRleHRQcmVwZW5kID0gbnVsbDsgLy8gdG9kbyBzaG91bGQgYmUgaGFuZGxlIHdpdGggbmctY29udGVudFxuICBASW5wdXQoKVxuICB0ZXh0QXBwZW5kID0gbnVsbDsgIC8vIHRvZG8gc2hvdWxkIGJlIGhhbmRsZSB3aXRoIG5nLWNvbnRlbnRcbiAgQElucHV0KClcbiAgcHJvZ3Jlc3NCYXIgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgZXh0cmFDbGFzc2VzID0gJyc7XG4gIEBJbnB1dCgpXG4gIGtleVByZXZlbnREZWZhdWx0ID0gW107XG4gIEBJbnB1dCgpXG4gIHNob3dUb29sdGlwID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHRleHRUb29sdGlwID0gJyc7XG4gIEBJbnB1dCgpXG4gIGljb25Ub29sdGlwID0gJyc7XG4gIEBJbnB1dCgpXG4gIHVybFRvb2x0aXAgPSAnJztcbiAgQElucHV0KClcbiAgbGlua1Rvb2x0aXAgPSAnJztcbiAgQElucHV0KClcbiAgcGFkZGluZyA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBpbmRpY2F0aW9uID0gJyc7IC8vIHRvZG8gc2hvdWxkIGJlIGhhbmRsZSB3aXRoIG5nLWNvbnRlbnRcbiAgQElucHV0KClcbiAgc3VjY2VzcyA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBlcnJvciA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBtYXhsZW5ndGg6IG51bWJlciB8IHN0cmluZztcbiAgQElucHV0KClcbiAgbWlubGVuZ3RoOiBudW1iZXIgfCBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGluZGljYXRpb25MZWZ0ID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGtleXByZXNzRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBibHVycmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgS0VZUFJFU1NfRU5URVIgPSBcIkVudGVyXCI7XG5cbiAgaWQgPVxuICAgICd3ei1pbnB1dF8nICtcbiAgICBNYXRoLnJhbmRvbSgpXG4gICAgICAudG9TdHJpbmcoMzYpXG4gICAgICAuc3Vic3RyKDIsIDkpO1xuXG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKHZhbHVlOiBzdHJpbmcpID0+IHt9O1xuICBwcml2YXRlIF9vblRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBvYmo7XG4gIH1cblxuICBvbkNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuX29uQ2hhbmdlKSB7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIGlmICh0aGlzLl9vblRvdWNoZWQpIHtcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgIH1cbiAgICB0aGlzLmJsdXJyZWQubmV4dCgpO1xuICB9XG5cbiAgY2hlY2tOdW1iZXJWYWx1ZSh2YWx1ZSkge1xuICAgIGlmICh0aGlzLm1pbiAmJiB0aGlzLm1pbiA+IHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5taW47XG4gICAgfVxuICAgIGlmICh0aGlzLm1heCAmJiB0aGlzLm1heCA8IHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXg7XG4gICAgfVxuICB9XG5cbiAgb25Gb2N1c091dCgpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgdGhpcy5jaGVja051bWJlclZhbHVlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGtleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMua2V5UHJldmVudERlZmF1bHQuaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSB0aGlzLktFWVBSRVNTX0VOVEVSKSB7XG4gICAgICB0aGlzLmtleXByZXNzRW50ZXIubmV4dCh0cnVlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJmaWVsZCB3YWMtaW5wdXRcIlxuICBbbmdDbGFzc109XCJ7ICdoYXMtbm8tYmxvY2snOiB3aXRob3V0QmxvY2ssICdpcy1iaWcnOiBiaWcsICdpcy1tZWRpdW0nOiBtZWRpdW0sICd3aXRoLXBhZGRpbmcnOiBwYWRkaW5nLCAnaW5kaWNhdGlvbi1sZWZ0JzogaW5kaWNhdGlvbkxlZnQsICd3aXRoLXByb2dyZXNzLWJhcic6IHByb2dyZXNzQmFyIH1cIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmllbGQtbGFiZWwgaXMtbm9ybWFsIGhhcy10ZXh0LWxlZnRcIiAqbmdJZj1cIiF3aXRob3V0QmxvY2tcIj5cbiAgICA8bGFiZWxcbiAgICAgIFtuZ0NsYXNzXT1cIltib2xkTGFiZWwgPT09ICd0cnVlJyA/ICdsYWJlbCBoYXMtdGV4dC13ZWlnaHQtYm9sZCcgOiAnbGFiZWwgaGFzLXRleHQtd2VpZ2h0LW5vcm1hbCcsIHNob3dUb29sdGlwID8gJ2xhYmVsLWlubGluZScgOiAnJywgc2l6ZSAmJiAhcHJvZ3Jlc3NCYXIgPyAnaGFzLXBhZGRpbmctcmlnaHQtbW9iaWxlJyA6ICcnXVwiXG4gICAgICBbaW5uZXJIVE1MXT1cImxhYmVsXCJcbiAgICAgIFtmb3JdPVwiaWRcIlxuICAgID48L2xhYmVsPlxuICAgIDx3YWMtdG9vbHRpcFxuICAgICAgKm5nSWY9XCJzaG93VG9vbHRpcFwiXG4gICAgICBbdG9vbHRpcEljb25dPVwiaWNvblRvb2x0aXBcIlxuICAgICAgW3Rvb2x0aXBUZXh0XT1cInRleHRUb29sdGlwXCJcbiAgICAgIFt0b29sdGlwTGlua109XCJsaW5rVG9vbHRpcFwiXG4gICAgICBbdG9vbHRpcFVybF09XCJ1cmxUb29sdGlwXCJcbiAgICA+PC93YWMtdG9vbHRpcD5cbiAgICA8IS0tIFNpemUgLS0+XG4gICAgPHNwYW4gKm5nSWY9XCJzaXplICYmICFwcm9ncmVzc0JhclwiIGNsYXNzPVwiaXMtc2l6ZS03IHdhYy1pbnB1dF9fc2l6ZVwiPlxuICAgICAgPHN0cm9uZz57eyAhdmFsdWUgPyAwIDogdmFsdWUudG9TdHJpbmcoKS5sZW5ndGggfX08L3N0cm9uZz4gLyB7eyBzaXplIH19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZpZWxkLWJvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgIDxwXG4gICAgICAgIGNsYXNzPVwiY29udHJvbFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hhcy1pY29ucy1yaWdodCc6IHRleHRFcnJvciB8fCBzdWNjZXNzIHx8IGVycm9yLCAnaGFzLWljb25zLWxlZnQnOiBpY29uICE9PSAnJywgJ2hhcy1pbnB1dC1ncm91cCc6IHRleHRBcHBlbmQgfHwgdGV4dFByZXBlbmQgfVwiXG4gICAgICA+XG4gICAgICAgIDwhLS0gVGV4dCBQcmVwZW5kIC0tPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInRleHRQcmVwZW5kXCIgY2xhc3M9XCJoYXMtaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImhhcy1pbnB1dC1ncm91cC10ZXh0IHByZXBlbmRcIj57eyB0ZXh0UHJlcGVuZCB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImljb24gIT09ICcnXCIgY2xhc3M9XCJpY29uIGlzLXNtYWxsIGlzLWxlZnRcIj5cbiAgICAgICAgICAgIDxpIFtjbGFzc109XCJpY29uXCI+PC9pPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDwhLS0gSW5wdXQgLS0+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIFtjbGFzc109XCInaW5wdXQgJyArIGV4dHJhQ2xhc3Nlc1wiXG4gICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnaXMtZGFuZ2VyJzogKHRleHRFcnJvciB8fCBlcnJvcikgJiYgIWRpc2FibGVkLFxuICAgICAgICAgICAgJ2lzLWVtcHR5JzogdmFsdWUgPT09ICcnLFxuICAgICAgICAgICAgJ2lzLWxhcmdlJzogYmlnLFxuICAgICAgICAgICAgJ2lzLW51bWJlcic6IGlzTnVtYmVyLFxuICAgICAgICAgICAgJ3JlbW92ZS1tYXJnaW4nOiBkaXNhYmxlTWFyZ2luLFxuICAgICAgICAgICAgJ3RleHQtYXBwZW5kJzogdGV4dEFwcGVuZFxuICAgICAgICAgIH1cIlxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgW2F0dHIuc2l6ZV09XCJzaXplXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgpXCJcbiAgICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoID8gbWF4bGVuZ3RoIDogNTI0Mjg4XCJcbiAgICAgICAgICBbbWlubGVuZ3RoXT1cIm1pbmxlbmd0aCA/IG1pbmxlbmd0aCA6IDBcIlxuICAgICAgICAgIChrZXlwcmVzcyk9XCJrZXlQcmVzcygkZXZlbnQpXCJcbiAgICAgICAgLz5cblxuICAgICAgICA8IS0tIEluZGljYXRpb24gYXQgdGhlIGVuZCBvZiB0aGUgaW5wdXQgLS0+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5kaWNhdGlvblwiICpuZ0lmPVwiaW5kaWNhdGlvblwiIFtuZ0NsYXNzXT1cInsncmV2ZXJzZSc6IGluZGljYXRpb25MZWZ0fVwiPlxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiaW5kaWNhdGlvblwiPjwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDwhLS0gVGV4dCBBcHBlbmQgLS0+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidGV4dEFwcGVuZCAmJiAhaW5kaWNhdGlvbkxlZnRcIiBjbGFzcz1cImhhcy1pbnB1dC1ncm91cFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGFzLWlucHV0LWdyb3VwLXRleHQgYXBwZW5kXCI+e3sgdGV4dEFwcGVuZCB9fTwvc3Bhbj5cbiAgICAgICAgICA8IS0tIGVycm9yIGlmIHRleHQgYXBwZW5kIG5vdCBlbXB0eSAtLT5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInRleHRFcnJvclwiIGNsYXNzPVwiaWNvbiBpcy1zbWFsbCBpcy1yaWdodFwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtdGltZXMgaGFzLXRleHQtZGFuZ2VyXCI+PC9pPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDwhLS0gSWNvbiBMZWZ0IC0tPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImljb24gIT09ICcnICYmICF0ZXh0UHJlcGVuZCAmJiAhaW5kaWNhdGlvbkxlZnRcIiBjbGFzcz1cImljb24gaXMtc21hbGwgaXMtbGVmdFwiPlxuICAgICAgICAgIDxpIFtjbGFzc109XCJpY29uXCI+PC9pPlxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPCEtLSBJY29uIGVycm9yIGlmIHRleHRBcHBlbmQgZW1wdHkgLS0+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiKHRleHRFcnJvciB8fCBlcnJvcikgJiYgIXRleHRBcHBlbmQgJiYgIWluZGljYXRpb25MZWZ0ICAmJiAhZGlzYWJsZWRcIiBjbGFzcz1cImljb24gaXMtc21hbGwgaXMtcmlnaHRcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS10aW1lcyBoYXMtdGV4dC1kYW5nZXJcIj48L2k+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8IS0tIEljb24gc3VjY2VzcyAtLT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzdWNjZXNzICYmICFkaXNhYmxlZFwiIGNsYXNzPVwiaWNvbiBpcy1zbWFsbCBpcy1yaWdodFwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZWNrIGhhcy10ZXh0LXN1Y2Nlc3NcIj48L2k+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8IS0tIFRleHQgSW5mbyAtLT5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cInRleHRJbmZvICYmICh0ZXh0RXJyb3IgPT09IG51bGwgfHwgdGV4dEVycm9yID09PSAnJykgJiYgIXByb2dyZXNzQmFyICYmICFpbmRpY2F0aW9uTGVmdFwiXG4gICAgICAgICAgY2xhc3M9XCJpcy1zaXplLTcgd2FjLWlucHV0X19pbmZvIHRleHQtaW5mb1wiXG4gICAgICAgICAgW2lubmVySHRtbF09XCJ0ZXh0SW5mb1wiXG4gICAgICAgID48L3NwYW4+XG5cbiAgICAgICAgPCEtLSBUZXh0IEVycm9yIC0tPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInRleHRFcnJvciAmJiAhcHJvZ3Jlc3NCYXIgJiYgIWluZGljYXRpb25MZWZ0XCIgY2xhc3M9XCJpcy1zaXplLTcgd2FjLWlucHV0X19lcnJvciBoYXMtdGV4dC1kYW5nZXJcIiBbaW5uZXJIdG1sXT1cInRleHRFcnJvclwiPjwvc3Bhbj5cbiAgICAgIDwvcD5cblxuICAgICAgPCEtLSBQcm9ncmVzcyBCYXIgLS0+XG4gICAgICA8d2FjLXByb2dyZXNzLWJhciAqbmdJZj1cInByb2dyZXNzQmFyICYmICFpbmRpY2F0aW9uTGVmdFwiIFttaW5dPVwibWluXCIgW21heF09XCJtYXhcIiBbdmFsdWVMZW5ndGhdPVwidmFsdWUubGVuZ3RoXCI+PC93YWMtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -5,6 +5,7 @@ export class LinkComponent {
5
5
  constructor(renderer2) {
6
6
  this.renderer2 = renderer2;
7
7
  this.target = '_self';
8
+ this.fontSize = '14px';
8
9
  }
9
10
  set href(link) {
10
11
  this._link = link;
@@ -13,7 +14,6 @@ export class LinkComponent {
13
14
  get href() {
14
15
  return this._link;
15
16
  }
16
- ngOnInit() { }
17
17
  ngAfterViewInit() {
18
18
  this.setAttributesLink();
19
19
  }
@@ -32,10 +32,10 @@ export class LinkComponent {
32
32
  }
33
33
  }
34
34
  LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: LinkComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
35
- LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: LinkComponent, selector: "wac-link", inputs: { href: "href", target: "target", id: "id", class: "class" }, viewQueries: [{ propertyName: "linkComponent", first: true, predicate: ["linkComponent"], descendants: true }], ngImport: i0, template: "<a #linkComponent class=\"wac-link\" [ngClass]=\"{ class: class }\" [id]=\"{ id: id }\"><ng-content></ng-content></a>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
35
+ LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: LinkComponent, selector: "wac-link", inputs: { href: "href", target: "target", id: "id", class: "class", fontSize: "fontSize" }, viewQueries: [{ propertyName: "linkComponent", first: true, predicate: ["linkComponent"], descendants: true }], ngImport: i0, template: "<a #linkComponent class=\"wac-link\" [style.fontSize]=\"fontSize\" [ngClass]=\"{ class: class }\" [id]=\"{ id: id }\"><ng-content></ng-content></a>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: LinkComponent, decorators: [{
37
37
  type: Component,
38
- args: [{ selector: 'wac-link', template: "<a #linkComponent class=\"wac-link\" [ngClass]=\"{ class: class }\" [id]=\"{ id: id }\"><ng-content></ng-content></a>\n" }]
38
+ args: [{ selector: 'wac-link', template: "<a #linkComponent class=\"wac-link\" [style.fontSize]=\"fontSize\" [ngClass]=\"{ class: class }\" [id]=\"{ id: id }\"><ng-content></ng-content></a>\n" }]
39
39
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { href: [{
40
40
  type: Input
41
41
  }], target: [{
@@ -44,8 +44,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
44
44
  type: Input
45
45
  }], class: [{
46
46
  type: Input
47
+ }], fontSize: [{
48
+ type: Input
47
49
  }], linkComponent: [{
48
50
  type: ViewChild,
49
51
  args: ['linkComponent']
50
52
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpbmsvbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpbmsvbGluay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0YsTUFBTSxPQUFPLGFBQWE7SUFvQnhCLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFQL0IsV0FBTSxHQUE0QyxPQUFPLENBQUM7SUFPeEIsQ0FBQztJQWhCNUMsSUFBYSxJQUFJLENBQUMsSUFBYTtRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFXRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixlQUFlO1FBQ2IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0RjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDNUU7SUFDSCxDQUFDOzswR0F4Q1UsYUFBYTs4RkFBYixhQUFhLHNPQ04xQix5SEFDQTsyRkRLYSxhQUFhO2tCQUp6QixTQUFTOytCQUNFLFVBQVU7Z0dBT1AsSUFBSTtzQkFBaEIsS0FBSztnQkFTRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHTixhQUFhO3NCQURaLFNBQVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLWxpbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGluay5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTGlua0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgX2xpbms6IHN0cmluZztcblxuICBASW5wdXQoKSBzZXQgaHJlZihsaW5rIDogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGluayA9IGxpbms7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVzTGluaygpO1xuICB9XG5cbiAgZ2V0IGhyZWYoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbGluaztcbiAgfVxuXG4gIEBJbnB1dCgpIHRhcmdldDogJ19zZWxmJyB8ICdfYmxhbmsnIHwgJ19wYXJlbnQnIHwgJ190b3AnID0gJ19zZWxmJztcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3M6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdsaW5rQ29tcG9uZW50JylcbiAgbGlua0NvbXBvbmVudDogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyMjogUmVuZGVyZXIyKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVzTGluaygpO1xuICB9XG5cbiAgc2V0QXR0cmlidXRlc0xpbmsoKSB7XG4gICAgaWYgKCF0aGlzLmxpbmtDb21wb25lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ocmVmKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5zZXRBdHRyaWJ1dGUodGhpcy5saW5rQ29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQsIFwiaHJlZlwiLCB0aGlzLmhyZWYpO1xuICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0QXR0cmlidXRlKHRoaXMubGlua0NvbXBvbmVudC5uYXRpdmVFbGVtZW50LCBcInRhcmdldFwiLCB0aGlzLnRhcmdldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmxpbmtDb21wb25lbnQubmF0aXZlRWxlbWVudCwgXCJocmVmXCIpO1xuICAgICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQXR0cmlidXRlKHRoaXMubGlua0NvbXBvbmVudC5uYXRpdmVFbGVtZW50LCBcInRhcmdldFwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxhICNsaW5rQ29tcG9uZW50IGNsYXNzPVwid2FjLWxpbmtcIiBbbmdDbGFzc109XCJ7IGNsYXNzOiBjbGFzcyB9XCIgW2lkXT1cInsgaWQ6IGlkIH1cIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9hPlxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpbmsvbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpbmsvbGluay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxLQUFLLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNbEcsTUFBTSxPQUFPLGFBQWE7SUFxQnhCLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFSL0IsV0FBTSxHQUE0QyxPQUFPLENBQUM7UUFHMUQsYUFBUSxHQUFHLE1BQU0sQ0FBQztJQUtnQixDQUFDO0lBakI1QyxJQUFhLElBQUksQ0FBQyxJQUFhO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQVlELGVBQWU7UUFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3RGO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUM1RTtJQUNILENBQUM7OzBHQXZDVSxhQUFhOzhGQUFiLGFBQWEsNFBDTjFCLHVKQUNBOzJGREthLGFBQWE7a0JBSnpCLFNBQVM7K0JBQ0UsVUFBVTtnR0FPUCxJQUFJO3NCQUFoQixLQUFLO2dCQVNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixTQUFTO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtbGluaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBMaW5rQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgX2xpbms6IHN0cmluZztcblxuICBASW5wdXQoKSBzZXQgaHJlZihsaW5rIDogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGluayA9IGxpbms7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVzTGluaygpO1xuICB9XG5cbiAgZ2V0IGhyZWYoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbGluaztcbiAgfVxuXG4gIEBJbnB1dCgpIHRhcmdldDogJ19zZWxmJyB8ICdfYmxhbmsnIHwgJ19wYXJlbnQnIHwgJ190b3AnID0gJ19zZWxmJztcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3M6IHN0cmluZztcbiAgQElucHV0KCkgZm9udFNpemUgPSAnMTRweCc7XG5cbiAgQFZpZXdDaGlsZCgnbGlua0NvbXBvbmVudCcpXG4gIGxpbmtDb21wb25lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjI6IFJlbmRlcmVyMikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVzTGluaygpO1xuICB9XG5cbiAgc2V0QXR0cmlidXRlc0xpbmsoKSB7XG4gICAgaWYgKCF0aGlzLmxpbmtDb21wb25lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ocmVmKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5zZXRBdHRyaWJ1dGUodGhpcy5saW5rQ29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQsIFwiaHJlZlwiLCB0aGlzLmhyZWYpO1xuICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0QXR0cmlidXRlKHRoaXMubGlua0NvbXBvbmVudC5uYXRpdmVFbGVtZW50LCBcInRhcmdldFwiLCB0aGlzLnRhcmdldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmxpbmtDb21wb25lbnQubmF0aXZlRWxlbWVudCwgXCJocmVmXCIpO1xuICAgICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQXR0cmlidXRlKHRoaXMubGlua0NvbXBvbmVudC5uYXRpdmVFbGVtZW50LCBcInRhcmdldFwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxhICNsaW5rQ29tcG9uZW50IGNsYXNzPVwid2FjLWxpbmtcIiBbc3R5bGUuZm9udFNpemVdPVwiZm9udFNpemVcIiBbbmdDbGFzc109XCJ7IGNsYXNzOiBjbGFzcyB9XCIgW2lkXT1cInsgaWQ6IGlkIH1cIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9hPlxuIl19
@@ -0,0 +1,81 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "ngx-scrollbar";
5
+ import * as i3 from "ngx-scrollbar/reached-event";
6
+ import * as i4 from "../button/button.component";
7
+ import * as i5 from "@ngx-translate/core";
8
+ export class MosaicComponent {
9
+ constructor() {
10
+ this.imagesList = [];
11
+ this.isLoading = false;
12
+ this.numberOfColumn = 3;
13
+ this.importImageSrc = new EventEmitter();
14
+ this.loadMoreImages = new EventEmitter();
15
+ }
16
+ trackColumn(index) {
17
+ return index;
18
+ }
19
+ trackImage(index, image) {
20
+ return image.src;
21
+ }
22
+ ngOnChanges(changes) {
23
+ const isNumberOfColumnChange = changes.numberOfColumn && (changes.numberOfColumn.currentValue !== changes.numberOfColumn.previousValue);
24
+ if (changes.imagesList) {
25
+ this.generateColumns(changes.imagesList.previousValue, changes.imagesList.currentValue, isNumberOfColumnChange);
26
+ return;
27
+ }
28
+ if (isNumberOfColumnChange) {
29
+ this.generateColumns(null, this.imagesList, isNumberOfColumnChange);
30
+ }
31
+ }
32
+ generateColumns(previousList, currentList, isNumberOfColumnChange) {
33
+ const isNewListSmaller = (currentList && previousList) && (currentList.length < previousList.length);
34
+ const resetColumns = isNumberOfColumnChange || isNewListSmaller;
35
+ const isPreviousListExisting = previousList?.length;
36
+ const newImagesToDisplay = !isPreviousListExisting || resetColumns ? currentList : currentList.slice(previousList.length);
37
+ let columns = this.separateImagesIntoColumns(newImagesToDisplay);
38
+ if (isPreviousListExisting && !resetColumns) {
39
+ const existingColumns = this.columns;
40
+ columns = this.concatColumns(existingColumns, columns);
41
+ }
42
+ this.columns = columns;
43
+ }
44
+ separateImagesIntoColumns(newImagesToDisplay) {
45
+ const columns = [];
46
+ const numberOfImagePerColumn = Math.floor(newImagesToDisplay.length / this.numberOfColumn);
47
+ for (let i = 0; i < newImagesToDisplay.length; i += numberOfImagePerColumn) {
48
+ const chunk = newImagesToDisplay.slice(i, i + numberOfImagePerColumn);
49
+ columns.push(chunk);
50
+ }
51
+ return columns;
52
+ }
53
+ concatColumns(oldColumns, newColumns) {
54
+ return oldColumns.map((oldColumn, columnIndex) => [...oldColumn, ...newColumns[columnIndex]]);
55
+ }
56
+ onBottomReached() {
57
+ this.loadMoreImages.emit();
58
+ }
59
+ onImportImage(src) {
60
+ this.importImageSrc.emit(src);
61
+ }
62
+ }
63
+ MosaicComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: MosaicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
64
+ MosaicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: MosaicComponent, selector: "wac-mosaic", inputs: { imagesList: "imagesList", isLoading: "isLoading", numberOfColumn: "numberOfColumn", hoverImageTemplate: "hoverImageTemplate" }, outputs: { importImageSrc: "importImageSrc", loadMoreImages: "loadMoreImages" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"wac-mosaic\" [ngClass]=\"{'is-loading': isLoading}\">\n <ng-scrollbar (reachedBottom)=\"onBottomReached()\" [reachedOffset]=\"200\" class=\"wac-mosaic__wrapper__scrollbar\">\n <div class=\"wac-mosaic__wrapper\">\n <div class=\"wac-mosaic__wrapper__column\" *ngFor=\"let column of columns; trackBy : trackColumn;\">\n <div class=\"wac-mosaic__wrapper__column__image\" *ngFor=\"let image of column; let i = index; trackBy : trackImage\">\n <img [src]=\"image.src\" [alt]=\"image.alt\"/>\n <div class=\"hover\">\n <ng-container\n [ngTemplateOutlet]=\"hoverImageTemplate || defaultImportButton\"\n [ngTemplateOutletContext]=\"{ $implicit: image }\"\n >\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div class=\"wac-mosaic__wrapper load\">\n <div class=\"wac-mosaic__wrapper__column\" *ngFor=\"let column of columns; trackBy : trackColumn;\">\n <div class=\"load-img\">\n </div>\n </div>\n </div>\n </ng-scrollbar>\n</div>\n\n<ng-template #defaultImportButton let-image>\n <wac-button [icon]=\"'fa-solid fa-image'\" [label]=\"'wac.MosaicComponent.import' | translate\" [extraClasses]=\"'is-success'\" (click)=\"onImportImage(image.src)\"></wac-button>\n</ng-template>\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "directive", type: i3.NgScrollbarReachedBottom, selector: "[reachedBottom], [reached-bottom]", outputs: ["reachedBottom"] }, { kind: "component", type: i4.ButtonComponent, selector: "wac-button", inputs: ["extraClasses", "label", "icon", "iconNext", "textcolor", "widthAuto", "contentHorizontalPosition", "iconFontSize", "hasLoader", "disabled", "whiteSpaceNowrap", "opacity", "animation", "animationRight", "animationText", "confirmDelete", "confirmDeleteText", "coin", "tooltip", "tooltipWidth", "noPadding", "tooltipPosition", "tooltipOneline", "confirmDeletePosition", "isLoading"], outputs: ["click", "isLoadingChange"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: MosaicComponent, decorators: [{
66
+ type: Component,
67
+ args: [{ selector: 'wac-mosaic', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"wac-mosaic\" [ngClass]=\"{'is-loading': isLoading}\">\n <ng-scrollbar (reachedBottom)=\"onBottomReached()\" [reachedOffset]=\"200\" class=\"wac-mosaic__wrapper__scrollbar\">\n <div class=\"wac-mosaic__wrapper\">\n <div class=\"wac-mosaic__wrapper__column\" *ngFor=\"let column of columns; trackBy : trackColumn;\">\n <div class=\"wac-mosaic__wrapper__column__image\" *ngFor=\"let image of column; let i = index; trackBy : trackImage\">\n <img [src]=\"image.src\" [alt]=\"image.alt\"/>\n <div class=\"hover\">\n <ng-container\n [ngTemplateOutlet]=\"hoverImageTemplate || defaultImportButton\"\n [ngTemplateOutletContext]=\"{ $implicit: image }\"\n >\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div class=\"wac-mosaic__wrapper load\">\n <div class=\"wac-mosaic__wrapper__column\" *ngFor=\"let column of columns; trackBy : trackColumn;\">\n <div class=\"load-img\">\n </div>\n </div>\n </div>\n </ng-scrollbar>\n</div>\n\n<ng-template #defaultImportButton let-image>\n <wac-button [icon]=\"'fa-solid fa-image'\" [label]=\"'wac.MosaicComponent.import' | translate\" [extraClasses]=\"'is-success'\" (click)=\"onImportImage(image.src)\"></wac-button>\n</ng-template>\n" }]
68
+ }], propDecorators: { imagesList: [{
69
+ type: Input
70
+ }], isLoading: [{
71
+ type: Input
72
+ }], numberOfColumn: [{
73
+ type: Input
74
+ }], hoverImageTemplate: [{
75
+ type: Input
76
+ }], importImageSrc: [{
77
+ type: Output
78
+ }], loadMoreImages: [{
79
+ type: Output
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9zYWljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbW9zYWljL21vc2FpYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21vc2FpYy9tb3NhaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBOEIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFrQnhKLE1BQU0sT0FBTyxlQUFlO0lBTjVCO1FBUVcsZUFBVSxHQUFpQixFQUFFLENBQUM7UUFFOUIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUlsQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFFakQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBNERyRDtJQXhEQyxXQUFXLENBQUMsS0FBYTtRQUN2QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYSxFQUFFLEtBQWtCO1FBQzFDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sc0JBQXNCLEdBQUcsT0FBTyxDQUFDLGNBQWMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsWUFBWSxLQUFLLE9BQU8sQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEksSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxD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cG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIEltYWdlU291cmNlID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgSW1hZ2VBbHQgPSBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIE1vc2FpY0ltYWdlID0ge1xuICBzcmM6IEltYWdlU291cmNlLFxuICBhbHQ6IEltYWdlQWx0XG59XG5cbmV4cG9ydCB0eXBlIE1vc2FpY0ltYWdlcyA9IFJlYWRvbmx5PE1vc2FpY0ltYWdlW10+O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtbW9zYWljJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vc2FpYy5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1vc2FpY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgaW1hZ2VzTGlzdDogTW9zYWljSW1hZ2VzID0gW107XG5cbiAgQElucHV0KCkgaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbnVtYmVyT2ZDb2x1bW4gPSAzO1xuXG4gIEBJbnB1dCgpIGhvdmVySW1hZ2VUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAT3V0cHV0KCkgaW1wb3J0SW1hZ2VTcmMgPSBuZXcgRXZlbnRFbWl0dGVyPEltYWdlU291cmNlPigpO1xuXG4gIEBPdXRwdXQoKSBsb2FkTW9yZUltYWdlcyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb2x1bW5zOiBNb3NhaWNJbWFnZXNbXTtcblxuICB0cmFja0NvbHVtbihpbmRleDogbnVtYmVyICkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHRyYWNrSW1hZ2UoaW5kZXg6IG51bWJlciwgaW1hZ2U6IE1vc2FpY0ltYWdlICkge1xuICAgIHJldHVybiBpbWFnZS5zcmM7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgaXNOdW1iZXJPZkNvbHVtbkNoYW5nZSA9IGNoYW5nZXMubnVtYmVyT2ZDb2x1bW4gJiYgKGNoYW5nZXMubnVtYmVyT2ZDb2x1bW4uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzLm51bWJlck9mQ29sdW1uLnByZXZpb3VzVmFsdWUpO1xuICAgIGlmIChjaGFuZ2VzLmltYWdlc0xpc3QpIHtcbiAgICAgIHRoaXMuZ2VuZXJhdGVDb2x1bW5zKGNoYW5nZXMuaW1hZ2VzTGlzdC5wcmV2aW91c1ZhbHVlLCBjaGFuZ2VzLmltYWdlc0xpc3QuY3VycmVudFZhbHVlLCBpc051bWJlck9mQ29sdW1uQ2hhbmdlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNOdW1iZXJPZkNvbHVtbkNoYW5nZSkge1xuICAgICAgdGhpcy5nZW5lcmF0ZUNvbHVtbnMobnVsbCwgdGhpcy5pbWFnZXNMaXN0LCBpc051bWJlck9mQ29sdW1uQ2hhbmdlKTtcbiAgICB9XG4gIH1cblxuICBnZW5lcmF0ZUNvbHVtbnMocHJldmlvdXNMaXN0OiBNb3NhaWNJbWFnZXMsIGN1cnJlbnRMaXN0OiBNb3NhaWNJbWFnZXMsIGlzTnVtYmVyT2ZDb2x1bW5DaGFuZ2U6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBpc05ld0xpc3RTbWFsbGVyID0gKGN1cnJlbnRMaXN0ICYmIHByZXZpb3VzTGlzdCkgJiYgKGN1cnJlbnRMaXN0Lmxlbmd0aCA8IHByZXZpb3VzTGlzdC5sZW5ndGgpO1xuICAgIGNvbnN0IHJlc2V0Q29sdW1ucyA9IGlzTnVtYmVyT2ZDb2x1bW5DaGFuZ2UgfHwgaXNOZXdMaXN0U21hbGxlcjtcbiAgICBjb25zdCBpc1ByZXZpb3VzTGlzdEV4aXN0aW5nID0gcHJldmlvdXNMaXN0Py5sZW5ndGg7XG4gICAgY29uc3QgbmV3SW1hZ2VzVG9EaXNwbGF5ID0gIWlzUHJldmlvdXNMaXN0RXhpc3RpbmcgfHwgcmVzZXRDb2x1bW5zID8gY3VycmVudExpc3QgOiBjdXJyZW50TGlzdC5zbGljZShwcmV2aW91c0xpc3QubGVuZ3RoKTtcbiAgICBsZXQgY29sdW1ucyA9IHRoaXMuc2VwYXJhdGVJbWFnZXNJbnRvQ29sdW1ucyhuZXdJbWFnZXNUb0Rpc3BsYXkpO1xuXG4gICAgaWYgKGlzUHJldmlvdXNMaXN0RXhpc3RpbmcgJiYgIXJlc2V0Q29sdW1ucykge1xuICAgICAgY29uc3QgZXhpc3RpbmdDb2x1bW5zID0gdGhpcy5jb2x1bW5zO1xuICAgICAgY29sdW1ucyA9IHRoaXMuY29uY2F0Q29sdW1ucyhleGlzdGluZ0NvbHVtbnMsIGNvbHVtbnMpO1xuICAgIH1cblxuICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnM7XG4gIH1cblxuICBzZXBhcmF0ZUltYWdlc0ludG9Db2x1bW5zKG5ld0ltYWdlc1RvRGlzcGxheTogTW9zYWljSW1hZ2VzKTogTW9zYWljSW1hZ2VzW10geyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy84NDk1Njg3L3NwbGl0LWFycmF5LWludG8tY2h1bmtzXG4gICAgY29uc3QgY29sdW1ucyA9IFtdO1xuICAgIGNvbnN0IG51bWJlck9mSW1hZ2VQZXJDb2x1bW4gPSBNYXRoLmZsb29yKG5ld0ltYWdlc1RvRGlzcGxheS5sZW5ndGggLyB0aGlzLm51bWJlck9mQ29sdW1uKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5ld0ltYWdlc1RvRGlzcGxheS5sZW5ndGg7IGkgKz0gbnVtYmVyT2ZJbWFnZVBlckNvbHVtbikge1xuICAgICAgY29uc3QgY2h1bmsgPSBuZXdJbWFnZXNUb0Rpc3BsYXkuc2xpY2UoaSwgaSArIG51bWJlck9mSW1hZ2VQZXJDb2x1bW4pO1xuICAgICAgY29sdW1ucy5wdXNoKGNodW5rKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbHVtbnM7XG4gIH1cblxuICBjb25jYXRDb2x1bW5zKG9sZENvbHVtbnM6IE1vc2FpY0ltYWdlc1tdLCBuZXdDb2x1bW5zOiBNb3NhaWNJbWFnZXNbXSk6IE1vc2FpY0ltYWdlc1tdIHtcbiAgICByZXR1cm4gb2xkQ29sdW1ucy5tYXAoKG9sZENvbHVtbiwgY29sdW1uSW5kZXgpID0+IFsuLi5vbGRDb2x1bW4sIC4uLm5ld0NvbHVtbnNbY29sdW1uSW5kZXhdXSk7XG4gIH1cblxuICBvbkJvdHRvbVJlYWNoZWQoKSB7XG4gICAgdGhpcy5sb2FkTW9yZUltYWdlcy5lbWl0KCk7XG4gIH1cblxuICBvbkltcG9ydEltYWdlKHNyYzogSW1hZ2VTb3VyY2UpIHtcbiAgICB0aGlzLmltcG9ydEltYWdlU3JjLmVtaXQoc3JjKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndhYy1tb3NhaWNcIiAgW25nQ2xhc3NdPVwieydpcy1sb2FkaW5nJzogaXNMb2FkaW5nfVwiPlxuICA8bmctc2Nyb2xsYmFyIChyZWFjaGVkQm90dG9tKT1cIm9uQm90dG9tUmVhY2hlZCgpXCIgW3JlYWNoZWRPZmZzZXRdPVwiMjAwXCIgY2xhc3M9XCJ3YWMtbW9zYWljX193cmFwcGVyX19zY3JvbGxiYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2FjLW1vc2FpY19fd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIndhYy1tb3NhaWNfX3dyYXBwZXJfX2NvbHVtblwiICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeSA6IHRyYWNrQ29sdW1uO1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwid2FjLW1vc2FpY19fd3JhcHBlcl9fY29sdW1uX19pbWFnZVwiICpuZ0Zvcj1cImxldCBpbWFnZSBvZiBjb2x1bW47IGxldCBpID0gaW5kZXg7IHRyYWNrQnkgOiB0cmFja0ltYWdlXCI+XG4gICAgICAgICAgPGltZyBbc3JjXT1cImltYWdlLnNyY1wiIFthbHRdPVwiaW1hZ2UuYWx0XCIvPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJob3ZlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJob3ZlckltYWdlVGVtcGxhdGUgfHwgZGVmYXVsdEltcG9ydEJ1dHRvblwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaW1hZ2UgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2FjLW1vc2FpY19fd3JhcHBlciBsb2FkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwid2FjLW1vc2FpY19fd3JhcHBlcl9fY29sdW1uXCIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFja0J5IDogdHJhY2tDb2x1bW47XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2FkLWltZ1wiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXNjcm9sbGJhcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRJbXBvcnRCdXR0b24gbGV0LWltYWdlPlxuICA8d2FjLWJ1dHRvbiBbaWNvbl09XCInZmEtc29saWQgZmEtaW1hZ2UnXCIgW2xhYmVsXT1cIid3YWMuTW9zYWljQ29tcG9uZW50LmltcG9ydCcgfCB0cmFuc2xhdGVcIiBbZXh0cmFDbGFzc2VzXT1cIidpcy1zdWNjZXNzJ1wiIChjbGljayk9XCJvbkltcG9ydEltYWdlKGltYWdlLnNyYylcIj48L3dhYy1idXR0b24+XG48L25nLXRlbXBsYXRlPlxuIl19