@wizco/fenixds-ngx 17.8.3 → 17.8.5

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.
@@ -1,6 +1,5 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { animate, style, transition, trigger } from '@angular/animations';
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "@angular/common";
6
5
  export class MsgBoxFeedbackComponent {
@@ -38,41 +37,37 @@ export class MsgBoxFeedbackComponent {
38
37
  * @param {boolean} hideClose
39
38
  */
40
39
  hideClose = false;
40
+ /*
41
+ * Texto do botão
42
+ * @param {string} textButton
43
+ */
44
+ textButton;
41
45
  /*
42
46
  * Evento emitido ao fechar o componente
43
47
  * @param {EventEmitter<any>}
44
48
  */
45
49
  onClose = new EventEmitter();
50
+ /*
51
+ * Evento emitido ao clicar no botão
52
+ * @param {EventEmitter<any>}
53
+ */
54
+ clickButton = new EventEmitter();
46
55
  constructor() { }
47
56
  close() {
48
57
  this.onClose.emit(true);
49
58
  }
59
+ handleClickButton() {
60
+ this.clickButton.emit(true);
61
+ }
62
+ get hasButton() {
63
+ return !!this.textButton && this.clickButton.observers.length > 0;
64
+ }
50
65
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MsgBoxFeedbackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
51
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MsgBoxFeedbackComponent, isStandalone: true, selector: "wco-msg-box-feedback", inputs: { shadow: "shadow", mode: "mode", title: "title", message: "message", type: "type", hideClose: "hideClose" }, outputs: { onClose: "onClose" }, ngImport: i0, template: "<div \n [ngClass]=\"'box-feedback box-feedback-' + type + ' mode-' + mode\"\n [className]=\"shadow ? 'mode-shadow' : ''\"\n @fadeSlideInOut>\n <div class=\"box-feedback--icon\" *ngIf=\"type !== 'loading'\">\n <span *ngIf=\"type === 'error'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">error</span>\n <span *ngIf=\"type === 'warning'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">warning</span>\n <span *ngIf=\"type === 'info'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">info</span>\n <span *ngIf=\"type === 'success'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">check_circle</span>\n </div>\n <svg *ngIf=\"type === 'loading'\" class=\"spinner\" viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle class=\"loading-icon\" fill=\"none\" stroke=\"var(--box-feedback-icon-color)\" stroke-width=\"6\"\n stroke-linecap=\"round\" cx=\"33\" cy=\"33\" r=\"30\"></circle>\n </svg>\n <div class=\"box-feedback--content\">\n <div class=\"box-feedback--header\"> \n <h6 class=\"display-6 bold\">\n {{ title }}\n </h6>\n <a class=\"btn-close\" (click)=\"close()\" *ngIf=\"!hideClose\" >\n <svg viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M11.25 0.758431C10.925 0.433431 10.4 0.433431 10.075 0.758431L5.99998 4.8251L1.92498 0.750098C1.59998 0.425098 1.07498 0.425098 0.749976 0.750098C0.424976 1.0751 0.424976 1.6001 0.749976 1.9251L4.82498 6.0001L0.749976 10.0751C0.424976 10.4001 0.424976 10.9251 0.749976 11.2501C1.07498 11.5751 1.59998 11.5751 1.92498 11.2501L5.99998 7.1751L10.075 11.2501C10.4 11.5751 10.925 11.5751 11.25 11.2501C11.575 10.9251 11.575 10.4001 11.25 10.0751L7.17497 6.0001L11.25 1.9251C11.5666 1.60843 11.5666 1.0751 11.25 0.758431Z\" />\n </svg>\n </a>\n </div>\n <p class=\"display-p\">{{ message }}</p>\n </div>\n</div>\n", styles: ["wco-msg-box-feedback{display:block;width:100%;max-width:100%}div.box-feedback{align-content:initial;align-items:flex-start;background:var(--box-feedback-bg);border-radius:var(--wco-radius-sm);border:4px solid var(--box-feedback-border);display:inline-flex;padding:var(--wco-spacing-xxxs, 8px);position:relative;box-sizing:border-box;min-width:274px;min-height:84px;max-width:580px;width:auto}div.box-feedback.mode-full{width:100%;min-width:100%;max-width:100%}div.box-feedback.mode-shadow{box-shadow:var(--wco-shadow-level-1)}div.box-feedback .box-feedback--content{width:100%;display:block}div.box-feedback .box-feedback--header{display:flex;align-items:flex-start;justify-content:space-between;width:100%}div.box-feedback a.btn-close{cursor:pointer}div.box-feedback a.btn-close svg{width:12px;margin:0}div.box-feedback a.btn-close svg path{fill:var(--wco-color-neutral-700)}div.box-feedback .box-feedback--icon,div.box-feedback svg{margin:0 10px 0 0;flex:0 0 20px}div.box-feedback .box-feedback--icon path,div.box-feedback svg path{fill:var(--box-feedback-icon-color)}div.box-feedback h6{color:var(--box-feedback-title);line-height:1.2;text-wrap:pretty}div.box-feedback p{color:var(--box-feedback-text);text-wrap:pretty;line-height:1.1;margin-top:var(--wco-spacing-nano, 8px)}div.box-feedback .spinner{width:20px;height:20px;animation:rotator 1.4s linear infinite}@keyframes rotator{0%{transform:rotate(0)}to{transform:rotate(270deg)}}div.box-feedback .loading-icon{stroke-dasharray:187;stroke-dashoffset:12px;transform-origin:center;animation:dash 1.4s ease-in-out infinite}@keyframes dash{0%{stroke-dashoffset:187}50%{stroke-dashoffset:46.75;transform:rotate(135deg)}to{stroke-dashoffset:187;transform:rotate(450deg)}}div.box-feedback.box-feedback-error{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-danger-500);--box-feedback-icon-color: var(--wco-color-danger-600);--box-feedback-title: var(--wco-color-danger-600)}div.box-feedback.box-feedback-success{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-success-500);--box-feedback-icon-color: var(--wco-color-success-600);--box-feedback-title: var(--wco-color-success-600)}div.box-feedback.box-feedback-warning{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-warning-500);--box-feedback-icon-color: var(--wco-color-warning-600);--box-feedback-title: var(--wco-color-warning-600)}div.box-feedback.box-feedback-info{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-info-500);--box-feedback-icon-color: var(--wco-color-info-600);--box-feedback-title: var(--wco-color-info-600)}div.box-feedback.box-feedback-loading{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-secondary-500);--box-feedback-icon-color: var(--wco-color-secondary-600);--box-feedback-title: var(--wco-color-secondary-600)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
52
- trigger('fadeSlideInOut', [
53
- transition(':enter', [
54
- style({ opacity: 0, transform: 'translateY(10px)' }),
55
- animate('500ms', style({ opacity: 1, transform: 'translateY(0)' })),
56
- ]),
57
- transition(':leave', [
58
- animate('500ms', style({ opacity: 0, transform: 'translateY(10px)' })),
59
- ]),
60
- ]),
61
- ], encapsulation: i0.ViewEncapsulation.None });
66
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MsgBoxFeedbackComponent, isStandalone: true, selector: "wco-msg-box-feedback", inputs: { shadow: "shadow", mode: "mode", title: "title", message: "message", type: "type", hideClose: "hideClose", textButton: "textButton" }, outputs: { onClose: "onClose", clickButton: "clickButton" }, ngImport: i0, template: "<div \n [ngClass]=\"'box-feedback box-feedback-' + type + ' mode-' + mode\"\n [className]=\"shadow ? 'mode-shadow' : ''\"\n>\n <div class=\"box-feedback--icon\" *ngIf=\"type !== 'loading'\">\n <span *ngIf=\"type === 'error'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">error</span>\n <span *ngIf=\"type === 'warning'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">warning</span>\n <span *ngIf=\"type === 'info'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">info</span>\n <span *ngIf=\"type === 'success'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">check_circle</span>\n </div>\n <svg *ngIf=\"type === 'loading'\" class=\"spinner\" viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle class=\"loading-icon\" fill=\"none\" stroke=\"var(--box-feedback-icon-color)\" stroke-width=\"6\"\n stroke-linecap=\"round\" cx=\"33\" cy=\"33\" r=\"30\"></circle>\n </svg>\n <div class=\"box-feedback--content\">\n <div class=\"box-feedback--header\"> \n <h6 class=\"display-6 bold\">\n {{ title }}\n </h6>\n <a class=\"btn-close\" (click)=\"close()\" *ngIf=\"!hideClose\" >\n <svg viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M11.25 0.758431C10.925 0.433431 10.4 0.433431 10.075 0.758431L5.99998 4.8251L1.92498 0.750098C1.59998 0.425098 1.07498 0.425098 0.749976 0.750098C0.424976 1.0751 0.424976 1.6001 0.749976 1.9251L4.82498 6.0001L0.749976 10.0751C0.424976 10.4001 0.424976 10.9251 0.749976 11.2501C1.07498 11.5751 1.59998 11.5751 1.92498 11.2501L5.99998 7.1751L10.075 11.2501C10.4 11.5751 10.925 11.5751 11.25 11.2501C11.575 10.9251 11.575 10.4001 11.25 10.0751L7.17497 6.0001L11.25 1.9251C11.5666 1.60843 11.5666 1.0751 11.25 0.758431Z\" />\n </svg>\n </a>\n </div>\n <p class=\"display-p\">{{ message }}</p>\n <ng-content></ng-content>\n <div class=\"flex gap-xxs justify-end mt-xs\" *ngIf=\"hasButton\">\n <button \n class=\"btn btn-sm btn-link btn-primary\"\n (click)=\"handleClickButton()\"\n type=\"button\">\n {{ textButton }}\n </button>\n </div>\n </div>\n</div>\n", styles: ["wco-msg-box-feedback{display:block;width:100%;max-width:100%}div.box-feedback{align-content:initial;align-items:flex-start;background:var(--box-feedback-bg);border-radius:var(--wco-radius-md);border:2px solid var(--box-feedback-border);display:inline-flex;padding:var(--wco-spacing-xxxs, 8px);position:relative;box-sizing:border-box;min-width:274px;min-height:84px;max-width:580px;width:auto}div.box-feedback.mode-full{width:100%;min-width:100%;max-width:100%}div.box-feedback.mode-shadow{box-shadow:var(--wco-shadow-level-1)}div.box-feedback .box-feedback--content{width:100%;display:block}div.box-feedback .box-feedback--header{display:flex;align-items:flex-start;justify-content:space-between;width:100%}div.box-feedback a.btn-close{cursor:pointer}div.box-feedback a.btn-close svg{width:12px;margin:0}div.box-feedback a.btn-close svg path{fill:var(--wco-color-neutral-700)}div.box-feedback .box-feedback--icon,div.box-feedback svg{margin:0 10px 0 0;flex:0 0 20px}div.box-feedback .box-feedback--icon path,div.box-feedback svg path{fill:var(--box-feedback-icon-color)}div.box-feedback h6{color:var(--box-feedback-title);line-height:1.2;text-wrap:pretty}div.box-feedback p{color:var(--box-feedback-text);text-wrap:pretty;line-height:1.1;margin-top:var(--wco-spacing-nano, 8px)}div.box-feedback .spinner{width:20px;height:20px;animation:rotator 1.4s linear infinite}@keyframes rotator{0%{transform:rotate(0)}to{transform:rotate(270deg)}}div.box-feedback .loading-icon{stroke-dasharray:187;stroke-dashoffset:12px;transform-origin:center;animation:dash 1.4s ease-in-out infinite}@keyframes dash{0%{stroke-dashoffset:187}50%{stroke-dashoffset:46.75;transform:rotate(135deg)}to{stroke-dashoffset:187;transform:rotate(450deg)}}div.box-feedback.box-feedback-error{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-danger-500);--box-feedback-icon-color: var(--wco-color-danger-600);--box-feedback-title: var(--wco-color-danger-600)}div.box-feedback.box-feedback-success{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-success-500);--box-feedback-icon-color: var(--wco-color-success-600);--box-feedback-title: var(--wco-color-success-600)}div.box-feedback.box-feedback-warning{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-warning-500);--box-feedback-icon-color: var(--wco-color-warning-600);--box-feedback-title: var(--wco-color-warning-600)}div.box-feedback.box-feedback-info{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-info-500);--box-feedback-icon-color: var(--wco-color-info-600);--box-feedback-title: var(--wco-color-info-600)}div.box-feedback.box-feedback-loading{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-secondary-500);--box-feedback-icon-color: var(--wco-color-secondary-600);--box-feedback-title: var(--wco-color-secondary-600)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
62
67
  }
63
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MsgBoxFeedbackComponent, decorators: [{
64
69
  type: Component,
65
- args: [{ selector: 'wco-msg-box-feedback', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, animations: [
66
- trigger('fadeSlideInOut', [
67
- transition(':enter', [
68
- style({ opacity: 0, transform: 'translateY(10px)' }),
69
- animate('500ms', style({ opacity: 1, transform: 'translateY(0)' })),
70
- ]),
71
- transition(':leave', [
72
- animate('500ms', style({ opacity: 0, transform: 'translateY(10px)' })),
73
- ]),
74
- ]),
75
- ], template: "<div \n [ngClass]=\"'box-feedback box-feedback-' + type + ' mode-' + mode\"\n [className]=\"shadow ? 'mode-shadow' : ''\"\n @fadeSlideInOut>\n <div class=\"box-feedback--icon\" *ngIf=\"type !== 'loading'\">\n <span *ngIf=\"type === 'error'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">error</span>\n <span *ngIf=\"type === 'warning'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">warning</span>\n <span *ngIf=\"type === 'info'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">info</span>\n <span *ngIf=\"type === 'success'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">check_circle</span>\n </div>\n <svg *ngIf=\"type === 'loading'\" class=\"spinner\" viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle class=\"loading-icon\" fill=\"none\" stroke=\"var(--box-feedback-icon-color)\" stroke-width=\"6\"\n stroke-linecap=\"round\" cx=\"33\" cy=\"33\" r=\"30\"></circle>\n </svg>\n <div class=\"box-feedback--content\">\n <div class=\"box-feedback--header\"> \n <h6 class=\"display-6 bold\">\n {{ title }}\n </h6>\n <a class=\"btn-close\" (click)=\"close()\" *ngIf=\"!hideClose\" >\n <svg viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M11.25 0.758431C10.925 0.433431 10.4 0.433431 10.075 0.758431L5.99998 4.8251L1.92498 0.750098C1.59998 0.425098 1.07498 0.425098 0.749976 0.750098C0.424976 1.0751 0.424976 1.6001 0.749976 1.9251L4.82498 6.0001L0.749976 10.0751C0.424976 10.4001 0.424976 10.9251 0.749976 11.2501C1.07498 11.5751 1.59998 11.5751 1.92498 11.2501L5.99998 7.1751L10.075 11.2501C10.4 11.5751 10.925 11.5751 11.25 11.2501C11.575 10.9251 11.575 10.4001 11.25 10.0751L7.17497 6.0001L11.25 1.9251C11.5666 1.60843 11.5666 1.0751 11.25 0.758431Z\" />\n </svg>\n </a>\n </div>\n <p class=\"display-p\">{{ message }}</p>\n </div>\n</div>\n", styles: ["wco-msg-box-feedback{display:block;width:100%;max-width:100%}div.box-feedback{align-content:initial;align-items:flex-start;background:var(--box-feedback-bg);border-radius:var(--wco-radius-sm);border:4px solid var(--box-feedback-border);display:inline-flex;padding:var(--wco-spacing-xxxs, 8px);position:relative;box-sizing:border-box;min-width:274px;min-height:84px;max-width:580px;width:auto}div.box-feedback.mode-full{width:100%;min-width:100%;max-width:100%}div.box-feedback.mode-shadow{box-shadow:var(--wco-shadow-level-1)}div.box-feedback .box-feedback--content{width:100%;display:block}div.box-feedback .box-feedback--header{display:flex;align-items:flex-start;justify-content:space-between;width:100%}div.box-feedback a.btn-close{cursor:pointer}div.box-feedback a.btn-close svg{width:12px;margin:0}div.box-feedback a.btn-close svg path{fill:var(--wco-color-neutral-700)}div.box-feedback .box-feedback--icon,div.box-feedback svg{margin:0 10px 0 0;flex:0 0 20px}div.box-feedback .box-feedback--icon path,div.box-feedback svg path{fill:var(--box-feedback-icon-color)}div.box-feedback h6{color:var(--box-feedback-title);line-height:1.2;text-wrap:pretty}div.box-feedback p{color:var(--box-feedback-text);text-wrap:pretty;line-height:1.1;margin-top:var(--wco-spacing-nano, 8px)}div.box-feedback .spinner{width:20px;height:20px;animation:rotator 1.4s linear infinite}@keyframes rotator{0%{transform:rotate(0)}to{transform:rotate(270deg)}}div.box-feedback .loading-icon{stroke-dasharray:187;stroke-dashoffset:12px;transform-origin:center;animation:dash 1.4s ease-in-out infinite}@keyframes dash{0%{stroke-dashoffset:187}50%{stroke-dashoffset:46.75;transform:rotate(135deg)}to{stroke-dashoffset:187;transform:rotate(450deg)}}div.box-feedback.box-feedback-error{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-danger-500);--box-feedback-icon-color: var(--wco-color-danger-600);--box-feedback-title: var(--wco-color-danger-600)}div.box-feedback.box-feedback-success{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-success-500);--box-feedback-icon-color: var(--wco-color-success-600);--box-feedback-title: var(--wco-color-success-600)}div.box-feedback.box-feedback-warning{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-warning-500);--box-feedback-icon-color: var(--wco-color-warning-600);--box-feedback-title: var(--wco-color-warning-600)}div.box-feedback.box-feedback-info{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-info-500);--box-feedback-icon-color: var(--wco-color-info-600);--box-feedback-title: var(--wco-color-info-600)}div.box-feedback.box-feedback-loading{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-secondary-500);--box-feedback-icon-color: var(--wco-color-secondary-600);--box-feedback-title: var(--wco-color-secondary-600)}\n"] }]
70
+ args: [{ selector: 'wco-msg-box-feedback', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div \n [ngClass]=\"'box-feedback box-feedback-' + type + ' mode-' + mode\"\n [className]=\"shadow ? 'mode-shadow' : ''\"\n>\n <div class=\"box-feedback--icon\" *ngIf=\"type !== 'loading'\">\n <span *ngIf=\"type === 'error'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">error</span>\n <span *ngIf=\"type === 'warning'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">warning</span>\n <span *ngIf=\"type === 'info'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">info</span>\n <span *ngIf=\"type === 'success'\" class=\"material-icons\" style=\"color: var(--box-feedback-icon-color);\">check_circle</span>\n </div>\n <svg *ngIf=\"type === 'loading'\" class=\"spinner\" viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle class=\"loading-icon\" fill=\"none\" stroke=\"var(--box-feedback-icon-color)\" stroke-width=\"6\"\n stroke-linecap=\"round\" cx=\"33\" cy=\"33\" r=\"30\"></circle>\n </svg>\n <div class=\"box-feedback--content\">\n <div class=\"box-feedback--header\"> \n <h6 class=\"display-6 bold\">\n {{ title }}\n </h6>\n <a class=\"btn-close\" (click)=\"close()\" *ngIf=\"!hideClose\" >\n <svg viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M11.25 0.758431C10.925 0.433431 10.4 0.433431 10.075 0.758431L5.99998 4.8251L1.92498 0.750098C1.59998 0.425098 1.07498 0.425098 0.749976 0.750098C0.424976 1.0751 0.424976 1.6001 0.749976 1.9251L4.82498 6.0001L0.749976 10.0751C0.424976 10.4001 0.424976 10.9251 0.749976 11.2501C1.07498 11.5751 1.59998 11.5751 1.92498 11.2501L5.99998 7.1751L10.075 11.2501C10.4 11.5751 10.925 11.5751 11.25 11.2501C11.575 10.9251 11.575 10.4001 11.25 10.0751L7.17497 6.0001L11.25 1.9251C11.5666 1.60843 11.5666 1.0751 11.25 0.758431Z\" />\n </svg>\n </a>\n </div>\n <p class=\"display-p\">{{ message }}</p>\n <ng-content></ng-content>\n <div class=\"flex gap-xxs justify-end mt-xs\" *ngIf=\"hasButton\">\n <button \n class=\"btn btn-sm btn-link btn-primary\"\n (click)=\"handleClickButton()\"\n type=\"button\">\n {{ textButton }}\n </button>\n </div>\n </div>\n</div>\n", styles: ["wco-msg-box-feedback{display:block;width:100%;max-width:100%}div.box-feedback{align-content:initial;align-items:flex-start;background:var(--box-feedback-bg);border-radius:var(--wco-radius-md);border:2px solid var(--box-feedback-border);display:inline-flex;padding:var(--wco-spacing-xxxs, 8px);position:relative;box-sizing:border-box;min-width:274px;min-height:84px;max-width:580px;width:auto}div.box-feedback.mode-full{width:100%;min-width:100%;max-width:100%}div.box-feedback.mode-shadow{box-shadow:var(--wco-shadow-level-1)}div.box-feedback .box-feedback--content{width:100%;display:block}div.box-feedback .box-feedback--header{display:flex;align-items:flex-start;justify-content:space-between;width:100%}div.box-feedback a.btn-close{cursor:pointer}div.box-feedback a.btn-close svg{width:12px;margin:0}div.box-feedback a.btn-close svg path{fill:var(--wco-color-neutral-700)}div.box-feedback .box-feedback--icon,div.box-feedback svg{margin:0 10px 0 0;flex:0 0 20px}div.box-feedback .box-feedback--icon path,div.box-feedback svg path{fill:var(--box-feedback-icon-color)}div.box-feedback h6{color:var(--box-feedback-title);line-height:1.2;text-wrap:pretty}div.box-feedback p{color:var(--box-feedback-text);text-wrap:pretty;line-height:1.1;margin-top:var(--wco-spacing-nano, 8px)}div.box-feedback .spinner{width:20px;height:20px;animation:rotator 1.4s linear infinite}@keyframes rotator{0%{transform:rotate(0)}to{transform:rotate(270deg)}}div.box-feedback .loading-icon{stroke-dasharray:187;stroke-dashoffset:12px;transform-origin:center;animation:dash 1.4s ease-in-out infinite}@keyframes dash{0%{stroke-dashoffset:187}50%{stroke-dashoffset:46.75;transform:rotate(135deg)}to{stroke-dashoffset:187;transform:rotate(450deg)}}div.box-feedback.box-feedback-error{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-danger-500);--box-feedback-icon-color: var(--wco-color-danger-600);--box-feedback-title: var(--wco-color-danger-600)}div.box-feedback.box-feedback-success{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-success-500);--box-feedback-icon-color: var(--wco-color-success-600);--box-feedback-title: var(--wco-color-success-600)}div.box-feedback.box-feedback-warning{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-warning-500);--box-feedback-icon-color: var(--wco-color-warning-600);--box-feedback-title: var(--wco-color-warning-600)}div.box-feedback.box-feedback-info{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-info-500);--box-feedback-icon-color: var(--wco-color-info-600);--box-feedback-title: var(--wco-color-info-600)}div.box-feedback.box-feedback-loading{--box-feedback-text: var(--wco-color-neutral-700);--box-feedback-bg: var(--wco-color-neutral-50);--box-feedback-border: var(--wco-color-secondary-500);--box-feedback-icon-color: var(--wco-color-secondary-600);--box-feedback-title: var(--wco-color-secondary-600)}\n"] }]
76
71
  }], ctorParameters: () => [], propDecorators: { shadow: [{
77
72
  type: Input
78
73
  }], mode: [{
@@ -85,7 +80,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
85
80
  type: Input
86
81
  }], hideClose: [{
87
82
  type: Input
83
+ }], textButton: [{
84
+ type: Input
88
85
  }], onClose: [{
89
86
  type: Output
87
+ }], clickButton: [{
88
+ type: Output
90
89
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXNnLWJveC1mZWVkYmFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL21zZy1ib3gtZmVlZGJhY2svbXNnLWJveC1mZWVkYmFjay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL21zZy1ib3gtZmVlZGJhY2svbXNnLWJveC1mZWVkYmFjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQW9CMUUsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQzs7Ozs7T0FLRztJQUNNLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFeEI7Ozs7O09BS0c7SUFDTSxJQUFJLEdBQWdDLEtBQUssQ0FBQztJQUNuRDs7O09BR0c7SUFDTSxLQUFLLENBQWdDO0lBQzlDOzs7T0FHRztJQUNNLE9BQU8sQ0FBa0M7SUFDbEQ7OztPQUdHO0lBQ00sSUFBSSxHQUFnQyxPQUFPLENBQUM7SUFFckQ7OztPQUdHO0lBQ00sU0FBUyxHQUFHLEtBQUssQ0FBQztJQUUzQjs7O09BR0c7SUFDTyxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUU1QyxnQkFBZSxDQUFDO0lBRWhCLEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO3dHQWhEVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qix1T0N2QnBDLGkrREE2QkEsd3FHRHRCWSxZQUFZLG1OQUlWO1lBQ1YsT0FBTyxDQUFDLGdCQUFnQixFQUFFO2dCQUN4QixVQUFVLENBQUMsUUFBUSxFQUFFO29CQUNuQixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO29CQUNwRCxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7aUJBQ3BFLENBQUM7Z0JBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDbkIsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7aUJBQ3ZFLENBQUM7YUFDSCxDQUFDO1NBQ0g7OzRGQUVVLHVCQUF1QjtrQkFuQm5DLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCO3dCQUNWLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTs0QkFDeEIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztnQ0FDcEQsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDOzZCQUNwRSxDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDOzZCQUN2RSxDQUFDO3lCQUNILENBQUM7cUJBQ0g7d0RBU1EsTUFBTTtzQkFBZCxLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1JLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNc2dCb3hGZWVkYmFja1R5cGVzIH0gZnJvbSAnLi9tc2ctYm94LWZlZWJhY2sudHlwZXMnO1xuaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby1tc2ctYm94LWZlZWRiYWNrJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tc2ctYm94LWZlZWRiYWNrLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXNnLWJveC1mZWVkYmFjay5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmFkZVNsaWRlSW5PdXQnLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCwgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMHB4KScgfSksXG4gICAgICAgIGFuaW1hdGUoJzUwMG1zJywgc3R5bGUoeyBvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJyB9KSksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZSgnNTAwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDAsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTBweCknIH0pKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNc2dCb3hGZWVkYmFja0NvbXBvbmVudCB7XG4gIC8qXG4gICAqIFNvbWJyYSBkbyBjb21wb25lbnRlXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gc2hhZG93XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQGV4YW1wbGUgdHJ1ZSB8IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKSBzaGFkb3cgPSBmYWxzZTtcblxuICAvKlxuICAgKiBNb2RvIGRvIGNvbXBvbmVudGVcbiAgICogQHBhcmFtIHtNc2dCb3hGZWVkYmFja1R5cGVzWydtb2RlJ119IG1vZGVcbiAgICogQGRlZmF1bHQgJ2ZpdCdcbiAgICogQGV4YW1wbGUgJ2ZpdCcgfCAnZnVsbCdcbiAgICovXG4gIEBJbnB1dCgpIG1vZGU6IE1zZ0JveEZlZWRiYWNrVHlwZXNbJ21vZGUnXSA9ICdmaXQnO1xuICAvKlxuICAgKiBUw610dWxvIGRvIGNvbXBvbmVudGVcbiAgICogQHBhcmFtIHtNc2dCb3hGZWVkYmFja1R5cGVzWyd0aXRsZSddfSB0aXRsZVxuICAgKi9cbiAgQElucHV0KCkgdGl0bGUhOiBNc2dCb3hGZWVkYmFja1R5cGVzWyd0aXRsZSddO1xuICAvKlxuICAgKiBNZW5zYWdlbSBkbyBjb21wb25lbnRlXG4gICAqIEBwYXJhbSB7TXNnQm94RmVlZGJhY2tUeXBlc1snbWVzc2FnZSddfSBtZXNzYWdlXG4gICAqL1xuICBASW5wdXQoKSBtZXNzYWdlITogTXNnQm94RmVlZGJhY2tUeXBlc1snbWVzc2FnZSddO1xuICAvKlxuICAgKiBUaXBvIGRvIGNvbXBvbmVudGVcbiAgICogQHBhcmFtIHtNc2dCb3hGZWVkYmFja1R5cGVzWyd0eXBlJ119IHR5cGVcbiAgICovXG4gIEBJbnB1dCgpIHR5cGU6IE1zZ0JveEZlZWRiYWNrVHlwZXNbJ3R5cGUnXSA9ICdlcnJvcic7XG5cbiAgLypcbiAgICogUmVtb3ZlciBib3TDo28gZGUgZmVjaGFyXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gaGlkZUNsb3NlXG4gICAqL1xuICBASW5wdXQoKSBoaWRlQ2xvc2UgPSBmYWxzZTtcblxuICAvKlxuICAgKiBFdmVudG8gZW1pdGlkbyBhbyBmZWNoYXIgbyBjb21wb25lbnRlXG4gICAqIEBwYXJhbSB7RXZlbnRFbWl0dGVyPGFueT59XG4gICAqL1xuICBAT3V0cHV0KCkgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2xvc2UuZW1pdCh0cnVlKTtcbiAgfVxufVxuIiwiPGRpdiBcbiAgW25nQ2xhc3NdPVwiJ2JveC1mZWVkYmFjayBib3gtZmVlZGJhY2stJyArIHR5cGUgKyAnIG1vZGUtJyArIG1vZGVcIlxuICBbY2xhc3NOYW1lXT1cInNoYWRvdyA/ICdtb2RlLXNoYWRvdycgOiAnJ1wiXG4gIEBmYWRlU2xpZGVJbk91dD5cbiAgPGRpdiBjbGFzcz1cImJveC1mZWVkYmFjay0taWNvblwiICpuZ0lmPVwidHlwZSAhPT0gJ2xvYWRpbmcnXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJ0eXBlID09PSAnZXJyb3InXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIHN0eWxlPVwiY29sb3I6IHZhcigtLWJveC1mZWVkYmFjay1pY29uLWNvbG9yKTtcIj5lcnJvcjwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09ICd3YXJuaW5nJ1wiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1ib3gtZmVlZGJhY2staWNvbi1jb2xvcik7XCI+d2FybmluZzwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09ICdpbmZvJ1wiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1ib3gtZmVlZGJhY2staWNvbi1jb2xvcik7XCI+aW5mbzwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09ICdzdWNjZXNzJ1wiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1ib3gtZmVlZGJhY2staWNvbi1jb2xvcik7XCI+Y2hlY2tfY2lyY2xlPC9zcGFuPlxuICA8L2Rpdj5cbiAgPHN2ZyAqbmdJZj1cInR5cGUgPT09ICdsb2FkaW5nJ1wiIGNsYXNzPVwic3Bpbm5lclwiIHZpZXdCb3g9XCIwIDAgNjYgNjZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPGNpcmNsZSBjbGFzcz1cImxvYWRpbmctaWNvblwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwidmFyKC0tYm94LWZlZWRiYWNrLWljb24tY29sb3IpXCIgc3Ryb2tlLXdpZHRoPVwiNlwiXG4gICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgY3g9XCIzM1wiIGN5PVwiMzNcIiByPVwiMzBcIj48L2NpcmNsZT5cbiAgPC9zdmc+XG4gIDxkaXYgY2xhc3M9XCJib3gtZmVlZGJhY2stLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm94LWZlZWRiYWNrLS1oZWFkZXJcIj4gXG4gICAgICA8aDYgY2xhc3M9XCJkaXNwbGF5LTYgYm9sZFwiPlxuICAgICAgICB7eyB0aXRsZSB9fVxuICAgICAgPC9oNj5cbiAgICAgIDxhIGNsYXNzPVwiYnRuLWNsb3NlXCIgKGNsaWNrKT1cImNsb3NlKClcIiAqbmdJZj1cIiFoaWRlQ2xvc2VcIiA+XG4gICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTExLjI1IDAuNzU4NDMxQzEwLjkyNSAwLjQzMzQzMSAxMC40IDAuNDMzNDMxIDEwLjA3NSAwLjc1ODQzMUw1Ljk5OTk4IDQuODI1MUwxLjkyNDk4IDAuNzUwMDk4QzEuNTk5OTggMC40MjUwOTggMS4wNzQ5OCAwLjQyNTA5OCAwLjc0OTk3NiAwLjc1MDA5OEMwLjQyNDk3NiAxLjA3NTEgMC40MjQ5NzYgMS42MDAxIDAuNzQ5OTc2IDEuOTI1MUw0LjgyNDk4IDYuMDAwMUwwLjc0OTk3NiAxMC4wNzUxQzAuNDI0OTc2IDEwLjQwMDEgMC40MjQ5NzYgMTAuOTI1MSAwLjc0OTk3NiAxMS4yNTAxQzEuMDc0OTggMTEuNTc1MSAxLjU5OTk4IDExLjU3NTEgMS45MjQ5OCAxMS4yNTAxTDUuOTk5OTggNy4xNzUxTDEwLjA3NSAxMS4yNTAxQzEwLjQgMTEuNTc1MSAxMC45MjUgMTEuNTc1MSAxMS4yNSAxMS4yNTAxQzExLjU3NSAxMC45MjUxIDExLjU3NSAxMC40MDAxIDExLjI1IDEwLjA3NTFMNy4xNzQ5NyA2LjAwMDFMMTEuMjUgMS45MjUxQzExLjU2NjYgMS42MDg0MyAxMS41NjY2IDEuMDc1MSAxMS4yNSAwLjc1ODQzMVpcIiAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgICA8cCBjbGFzcz1cImRpc3BsYXktcFwiPnt7IG1lc3NhZ2UgfX08L3A+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXNnLWJveC1mZWVkYmFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL21zZy1ib3gtZmVlZGJhY2svbXNnLWJveC1mZWVkYmFjay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL21zZy1ib3gtZmVlZGJhY2svbXNnLWJveC1mZWVkYmFjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVS9DLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEM7Ozs7O09BS0c7SUFDTSxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRXhCOzs7OztPQUtHO0lBQ00sSUFBSSxHQUFnQyxLQUFLLENBQUM7SUFDbkQ7OztPQUdHO0lBQ00sS0FBSyxDQUFnQztJQUM5Qzs7O09BR0c7SUFDTSxPQUFPLENBQWtDO0lBQ2xEOzs7T0FHRztJQUNNLElBQUksR0FBZ0MsT0FBTyxDQUFDO0lBRXJEOzs7T0FHRztJQUNNLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFM0I7OztPQUdHO0lBQ00sVUFBVSxDQUFVO0lBRTdCOzs7T0FHRztJQUNPLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRTVDOzs7T0FHRztJQUNPLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRWhELGdCQUFlLENBQUM7SUFFaEIsS0FBSztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7d0dBcEVVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLDZSQ1hwQyxvdkVBc0NBLHdxR0RoQ1ksWUFBWTs7NEZBS1gsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsaUJBR1IsaUJBQWlCLENBQUMsSUFBSTt3REFTNUIsTUFBTTtzQkFBZCxLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1HLFVBQVU7c0JBQWxCLEtBQUs7Z0JBTUksT0FBTztzQkFBaEIsTUFBTTtnQkFNRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTXNnQm94RmVlZGJhY2tUeXBlcyB9IGZyb20gJy4vbXNnLWJveC1mZWViYWNrLnR5cGVzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby1tc2ctYm94LWZlZWRiYWNrJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tc2ctYm94LWZlZWRiYWNrLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXNnLWJveC1mZWVkYmFjay5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBNc2dCb3hGZWVkYmFja0NvbXBvbmVudCB7XG4gIC8qXG4gICAqIFNvbWJyYSBkbyBjb21wb25lbnRlXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gc2hhZG93XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQGV4YW1wbGUgdHJ1ZSB8IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKSBzaGFkb3cgPSBmYWxzZTtcblxuICAvKlxuICAgKiBNb2RvIGRvIGNvbXBvbmVudGVcbiAgICogQHBhcmFtIHtNc2dCb3hGZWVkYmFja1R5cGVzWydtb2RlJ119IG1vZGVcbiAgICogQGRlZmF1bHQgJ2ZpdCdcbiAgICogQGV4YW1wbGUgJ2ZpdCcgfCAnZnVsbCdcbiAgICovXG4gIEBJbnB1dCgpIG1vZGU6IE1zZ0JveEZlZWRiYWNrVHlwZXNbJ21vZGUnXSA9ICdmaXQnO1xuICAvKlxuICAgKiBUw610dWxvIGRvIGNvbXBvbmVudGVcbiAgICogQHBhcmFtIHtNc2dCb3hGZWVkYmFja1R5cGVzWyd0aXRsZSddfSB0aXRsZVxuICAgKi9cbiAgQElucHV0KCkgdGl0bGUhOiBNc2dCb3hGZWVkYmFja1R5cGVzWyd0aXRsZSddO1xuICAvKlxuICAgKiBNZW5zYWdlbSBkbyBjb21wb25lbnRlXG4gICAqIEBwYXJhbSB7TXNnQm94RmVlZGJhY2tUeXBlc1snbWVzc2FnZSddfSBtZXNzYWdlXG4gICAqL1xuICBASW5wdXQoKSBtZXNzYWdlITogTXNnQm94RmVlZGJhY2tUeXBlc1snbWVzc2FnZSddO1xuICAvKlxuICAgKiBUaXBvIGRvIGNvbXBvbmVudGVcbiAgICogQHBhcmFtIHtNc2dCb3hGZWVkYmFja1R5cGVzWyd0eXBlJ119IHR5cGVcbiAgICovXG4gIEBJbnB1dCgpIHR5cGU6IE1zZ0JveEZlZWRiYWNrVHlwZXNbJ3R5cGUnXSA9ICdlcnJvcic7XG5cbiAgLypcbiAgICogUmVtb3ZlciBib3TDo28gZGUgZmVjaGFyXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gaGlkZUNsb3NlXG4gICAqL1xuICBASW5wdXQoKSBoaWRlQ2xvc2UgPSBmYWxzZTtcblxuICAvKlxuICAgKiBUZXh0byBkbyBib3TDo29cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHRCdXR0b25cbiAgICovXG4gIEBJbnB1dCgpIHRleHRCdXR0b24/OiBzdHJpbmc7XG5cbiAgLypcbiAgICogRXZlbnRvIGVtaXRpZG8gYW8gZmVjaGFyIG8gY29tcG9uZW50ZVxuICAgKiBAcGFyYW0ge0V2ZW50RW1pdHRlcjxhbnk+fVxuICAgKi9cbiAgQE91dHB1dCgpIG9uQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAvKlxuICAgKiBFdmVudG8gZW1pdGlkbyBhbyBjbGljYXIgbm8gYm90w6NvXG4gICAqIEBwYXJhbSB7RXZlbnRFbWl0dGVyPGFueT59XG4gICAqL1xuICBAT3V0cHV0KCkgY2xpY2tCdXR0b24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5vbkNsb3NlLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBoYW5kbGVDbGlja0J1dHRvbigpOiB2b2lkIHtcbiAgICB0aGlzLmNsaWNrQnV0dG9uLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBnZXQgaGFzQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMudGV4dEJ1dHRvbiAmJiB0aGlzLmNsaWNrQnV0dG9uLm9ic2VydmVycy5sZW5ndGggPiAwO1xuICB9XG59XG4iLCI8ZGl2IFxuICBbbmdDbGFzc109XCInYm94LWZlZWRiYWNrIGJveC1mZWVkYmFjay0nICsgdHlwZSArICcgbW9kZS0nICsgbW9kZVwiXG4gIFtjbGFzc05hbWVdPVwic2hhZG93ID8gJ21vZGUtc2hhZG93JyA6ICcnXCJcbj5cbiAgPGRpdiBjbGFzcz1cImJveC1mZWVkYmFjay0taWNvblwiICpuZ0lmPVwidHlwZSAhPT0gJ2xvYWRpbmcnXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJ0eXBlID09PSAnZXJyb3InXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIHN0eWxlPVwiY29sb3I6IHZhcigtLWJveC1mZWVkYmFjay1pY29uLWNvbG9yKTtcIj5lcnJvcjwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09ICd3YXJuaW5nJ1wiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1ib3gtZmVlZGJhY2staWNvbi1jb2xvcik7XCI+d2FybmluZzwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09ICdpbmZvJ1wiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1ib3gtZmVlZGJhY2staWNvbi1jb2xvcik7XCI+aW5mbzwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09ICdzdWNjZXNzJ1wiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBzdHlsZT1cImNvbG9yOiB2YXIoLS1ib3gtZmVlZGJhY2staWNvbi1jb2xvcik7XCI+Y2hlY2tfY2lyY2xlPC9zcGFuPlxuICA8L2Rpdj5cbiAgPHN2ZyAqbmdJZj1cInR5cGUgPT09ICdsb2FkaW5nJ1wiIGNsYXNzPVwic3Bpbm5lclwiIHZpZXdCb3g9XCIwIDAgNjYgNjZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPGNpcmNsZSBjbGFzcz1cImxvYWRpbmctaWNvblwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwidmFyKC0tYm94LWZlZWRiYWNrLWljb24tY29sb3IpXCIgc3Ryb2tlLXdpZHRoPVwiNlwiXG4gICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgY3g9XCIzM1wiIGN5PVwiMzNcIiByPVwiMzBcIj48L2NpcmNsZT5cbiAgPC9zdmc+XG4gIDxkaXYgY2xhc3M9XCJib3gtZmVlZGJhY2stLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm94LWZlZWRiYWNrLS1oZWFkZXJcIj4gXG4gICAgICA8aDYgY2xhc3M9XCJkaXNwbGF5LTYgYm9sZFwiPlxuICAgICAgICB7eyB0aXRsZSB9fVxuICAgICAgPC9oNj5cbiAgICAgIDxhIGNsYXNzPVwiYnRuLWNsb3NlXCIgKGNsaWNrKT1cImNsb3NlKClcIiAqbmdJZj1cIiFoaWRlQ2xvc2VcIiA+XG4gICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTExLjI1IDAuNzU4NDMxQzEwLjkyNSAwLjQzMzQzMSAxMC40IDAuNDMzNDMxIDEwLjA3NSAwLjc1ODQzMUw1Ljk5OTk4IDQuODI1MUwxLjkyNDk4IDAuNzUwMDk4QzEuNTk5OTggMC40MjUwOTggMS4wNzQ5OCAwLjQyNTA5OCAwLjc0OTk3NiAwLjc1MDA5OEMwLjQyNDk3NiAxLjA3NTEgMC40MjQ5NzYgMS42MDAxIDAuNzQ5OTc2IDEuOTI1MUw0LjgyNDk4IDYuMDAwMUwwLjc0OTk3NiAxMC4wNzUxQzAuNDI0OTc2IDEwLjQwMDEgMC40MjQ5NzYgMTAuOTI1MSAwLjc0OTk3NiAxMS4yNTAxQzEuMDc0OTggMTEuNTc1MSAxLjU5OTk4IDExLjU3NTEgMS45MjQ5OCAxMS4yNTAxTDUuOTk5OTggNy4xNzUxTDEwLjA3NSAxMS4yNTAxQzEwLjQgMTEuNTc1MSAxMC45MjUgMTEuNTc1MSAxMS4yNSAxMS4yNTAxQzExLjU3NSAxMC45MjUxIDExLjU3NSAxMC40MDAxIDExLjI1IDEwLjA3NTFMNy4xNzQ5NyA2LjAwMDFMMTEuMjUgMS45MjUxQzExLjU2NjYgMS42MDg0MyAxMS41NjY2IDEuMDc1MSAxMS4yNSAwLjc1ODQzMVpcIiAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgICA8cCBjbGFzcz1cImRpc3BsYXktcFwiPnt7IG1lc3NhZ2UgfX08L3A+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC14eHMganVzdGlmeS1lbmQgbXQteHNcIiAqbmdJZj1cImhhc0J1dHRvblwiPlxuICAgICAgPGJ1dHRvbiBcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1saW5rIGJ0bi1wcmltYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrQnV0dG9uKClcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgIHt7IHRleHRCdXR0b24gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -189,11 +189,11 @@ export class PreviewFileComponent {
189
189
  return typeMap[format] || 'file';
190
190
  }
191
191
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PreviewFileComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
192
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PreviewFileComponent, isStandalone: true, selector: "wco-preview-file", inputs: { filename: "filename", format: "format", preview: "preview", actions: "actions", status: "status", url: "url", customContent: "customContent", type: "type", title: "title", setfile: "setfile" }, outputs: { clickEvent: "clickEvent" }, viewQueries: [{ propertyName: "previewFileElement", first: true, predicate: ["previewFileElement"], descendants: true }], ngImport: i0, template: "<div [class]=\"'wco-previewFile wco-previewFile-type' + type\" #previewFileElement>\n <h4 *ngIf=\"title\" class=\"display-body bold\">{{ title }}</h4>\n\n <div [class]=\"'wco-previewFile--thumbl type-file-' + typeFileFormat()\" [id]=\"idRandom\">\n <span class=\"wco-previewFile-preview\" (click)=\"preview ? modalPreview() : null\" role=\"button\" tabindex=\"0\">\n <ng-container *ngIf=\"typeFileFormat() === 'image' && !!url\">\n <img [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n </ng-container>\n <ng-container *ngIf=\"typeFileFormat() !== 'image' || !url\">\n <span class=\"material-icons\" role=\"presentation\">{{ getIconMaterial(format) }}</span>\n </ng-container>\n </span>\n <h5 (click)=\"preview ? modalPreview() : null\" role=\"heading\" aria-level=\"2\">\n {{ name }}</h5>\n </div>\n\n <div class=\"wco-previewFile__action\">\n <div class=\"wco-previewFile__action--status\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"status && status.type && status.text\">\n <span [class]=\"'wco-tag tag-' + status.type\" role=\"status\">\n <span *ngIf=\"status.iconMaterial\" class=\"material-icons\" role=\"presentation\">{{ status.iconMaterial }}</span>\n {{ status.text }}\n </span>\n <div>\n <h6 *ngIf=\"status.prefixDescription\">\n <strong>{{ status.prefixDescription }}</strong>\n </h6>\n <p *ngIf=\"status.description\">{{ status.description }}</p>\n </div>\n </ng-container>\n </div>\n <div class=\"wco-previewFile__action--buttons\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"!customContent && !!actions?.length\">\n <ng-container>\n <button *ngIf=\"actions.includes('refresh')\" (click)=\"actionEvent('refresh')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons\" role=\"presentation\">cached</span>\n Reenviar\n </button>\n <button *ngIf=\"actions.includes('aproved')\" (click)=\"actionEvent('aproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Aprovar\n <span class=\"material-icons\" role=\"presentation\">done</span>\n </button>\n <button *ngIf=\"actions.includes('reproved')\" (click)=\"actionEvent('reproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Recusar\n <span class=\"material-icons\" role=\"presentation\">close</span>\n </button>\n <div *ngIf=\"actions.includes('download') || actions.includes('delete') \" class=\"wco-previewFile__action--buttonsIcon\">\n <span *ngIf=\"actions.includes('download')\" data-tooltip=\"Download\" data-flow=\"top\">\n <button (click)=\"actionEvent('download')\" class=\"wco-previewFile--buttonIcon\"\n role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">file_download</span>\n </button>\n </span>\n <span *ngIf=\"actions.includes('delete')\" data-tooltip=\"Excluir\" data-flow=\"top\">\n <button (click)=\"actionEvent('delete')\"\n class=\"wco-previewFile__action--buttonIcon\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">delete</span>\n </button>\n </span>\n <span *ngIf=\"actions.includes('view')\" data-tooltip=\"Visualizar\" data-flow=\"top\">\n <button (click)=\"actionEvent('view')\"\n class=\"wco-previewFile__action--buttonIcon\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">visibility</span>\n </button>\n </span>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n <div *ngIf=\"customContent\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"preview && x() && y()\">\n <dialog [id]=\"id\" [ngStyle]=\"{'--dialog-x': x(), '--dialog-y': y()}\" role=\"dialog\" aria-modal=\"true\">\n <div>\n <div class=\"dialog-content\">\n <img *ngIf=\"typeFileFormat() === 'image'\" [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n <ng-container *ngIf=\"showDialog\"> \n <video *ngIf=\"typeFileFormat() === 'video'\" autoplay [src]=\"url\" controls role=\"video\"></video>\n <iframe *ngIf=\"typeFileFormat() === 'pdf'\" [src]=\"transformPDFSecurity(url)\" role=\"document\"></iframe>\n </ng-container>\n </div>\n <div class=\"w-full flex justify-center my-xxs\">\n <button (click)=\"closeDialog()\" class=\"wco-btn btn-primary btn-sm\" role=\"button\" tabindex=\"0\">Fechar</button>\n </div>\n </div>\n </dialog>\n</ng-container>", styles: [":host{display:block;container-type:inline-size;width:100%}.wco-previewFile{--wco-previewFile-text-color: var(--wco-color-neutral-700, #4A4A4A);--wco-previewFile-bg: var(--wco-color-neutral-50, #F9F9F9);--wco-previewFile-title-align: center;--wco-previewFile-border-color: var(--wco-color-neutral-500, #E0E0E0);width:100%;display:grid;grid-template-columns:minmax(auto,300px) 1fr;align-items:center;min-height:64px;gap:var(--wco-spacing-xxs, 16px)}.wco-previewFile>h4{grid-column:span 2}@container (width < 600px){.wco-previewFile{gap:var(--wco-spacing-sm, 16px)}.wco-previewFile h4{text-align:center}}.wco-previewFile.wco-previewFile-typebox{border:1px solid var(--wco-previewFile-border-color);background-color:var(--wco-previewFile-bg);border-radius:var(--wco-radius-md);padding:var(--wco-spacing-xxs, 16px)}.wco-previewFile:has(.wco-previewFile__action--status>div p){--wco-previewFile-title-align: flex-start}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--status{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--buttons{width:100%;justify-content:flex-end}.wco-previewFile:has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action--buttons{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile--thumbl{grid-column:span 2}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action{display:none}.wco-previewFile--thumbl{display:flex;align-items:var(--wco-previewFile-title-align);height:100%;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile--thumbl{grid-column:span 2}}.wco-previewFile--thumbl.type-file-image,.wco-previewFile--thumbl.type-file-pdf{cursor:pointer}.wco-previewFile--thumbl.type-file-image h5,.wco-previewFile--thumbl.type-file-pdf h5{text-decoration:underline;cursor:pointer}.wco-previewFile--thumbl.type-file-image h5:hover,.wco-previewFile--thumbl.type-file-pdf h5:hover{color:var(--wco-color-info-600)}.wco-previewFile--thumbl .wco-previewFile-preview{display:flex;align-items:center;color:var(--wco-color-neutral-900)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img){width:64px;height:64px;overflow:hidden;border-radius:var(--wco-radius-md);background-color:var(--wco-color-neutral-700);padding:var(--wco-spacing-quark)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img) img{width:100%;height:100%;object-fit:contain}.wco-previewFile__action{display:flex;justify-content:space-between;align-items:center;gap:var(--wco-spacing-sm, 16px);flex-wrap:wrap}@container (width < 600px){.wco-previewFile__action{grid-column:span 2;flex-direction:column;flex-wrap:wrap}}.wco-previewFile__action--status{display:flex;flex-direction:column;gap:var(--wco-spacing-xxxs, 8px)}.wco-previewFile__action--status>div:empty{display:none}@container (width < 600px){.wco-previewFile__action--status .wco-tag{width:100%}}.wco-previewFile__action--status h6,.wco-previewFile__action--status p{font-size:var(--wco-font-size-xs, 16px);color:var(--wco-previewFile-text-color);display:inline-flex}.wco-previewFile__action--status h6~p{margin-left:var(--wco-spacing-quark, 8px)}.wco-previewFile__action--buttons{display:flex;gap:var(--wco-spacing-xxs, 16px)}@container (width < 600px){.wco-previewFile__action--buttons{gap:var(--wco-spacing-xxxs, 12px);flex-wrap:wrap;flex-direction:column;width:100%;justify-content:center;align-items:center}.wco-previewFile__action--buttons button{width:100%;max-width:300px}}.wco-previewFile__action--buttonsIcon{display:flex;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile__action--buttonsIcon{gap:var(--wco-spacing-xxs, 8px)}}.wco-previewFile__action--buttonsIcon button{background:none;border:none;cursor:pointer;padding:var(--wco-spacing-nano, 8px);color:var(--wco-color-primary-600);display:flex;align-items:center;gap:var(--wco-spacing-nano, 8px)}.wco-previewFile__action--buttonsIcon button:hover{color:var(--wco-color-primary-700)}.wco-previewFile h5{font-size:var(--wco-font-size-sm, 18px);font-weight:400;line-height:var(--wco-font-lineheight-500, 150%);letter-spacing:.45px;color:var(--wco-previewFile-text-color);white-space:normal;text-wrap:pretty;width:100%}@container (width < 600px){.wco-previewFile h5{font-size:var(--wco-font-size-xxs, 16px)}}::ng-deep wco-preview-file~wco-preview-file{margin-top:var(--wco-spacing-xs, 16px)}.dialog-content{width:100%;display:flex;align-items:center;justify-content:center}.dialog-content:has(img){max-width:80vw;max-height:80vh}.dialog-content:has(img) img{max-width:100%;max-height:inherit}.dialog-content:has(iframe){width:90vw;height:70vh}.dialog-content:has(iframe) iframe{width:100%;height:100%}dialog{transition:opacity .7s ease-in-out,transform .7s ease-in-out,overlay .4s ease-in-out allow-discrete,display .4s ease-in-out allow-discrete}dialog:not(open)>div{border-radius:var(--wco-radius-sm);padding:10px;background-color:var(--wco-color-neutral-50);box-shadow:var(--wco-shadow-level-2);position:fixed;transform-origin:top left;transition:all .3s ease-in-out;opacity:0;top:var(--dialog-y);left:var(--dialog-x);transform:scale(.2)}@media screen and (max-width: 768px){dialog:not(open)>div{min-width:90vw}}dialog[open][role=dialog]{opacity:1;background-color:transparent;box-shadow:none}dialog[open][role=dialog]>div{transform:translateY(-50%) translate(-50%) scale(1);top:50%;left:50%;opacity:1}@media (max-width: 768px){dialog[open][role=dialog]{max-width:80vw}}@starting-style{dialog[open]{opacity:0}}dialog::backdrop{background-color:#0000;transition:display .1s allow-discrete,overlay .1s allow-discrete,background-color .1s}dialog[open]::backdrop{background-color:#00000059}@starting-style{dialog[open]::backdrop{background-color:#0000}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
192
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PreviewFileComponent, isStandalone: true, selector: "wco-preview-file", inputs: { filename: "filename", format: "format", preview: "preview", actions: "actions", status: "status", url: "url", customContent: "customContent", type: "type", title: "title", setfile: "setfile" }, outputs: { clickEvent: "clickEvent" }, viewQueries: [{ propertyName: "previewFileElement", first: true, predicate: ["previewFileElement"], descendants: true }], ngImport: i0, template: "<div [class]=\"'wco-previewFile wco-previewFile-type' + type\" #previewFileElement>\n <h4 *ngIf=\"title\" class=\"display-body bold\">{{ title }}</h4>\n\n <div [class]=\"'wco-previewFile--thumbl type-file-' + typeFileFormat()\" [id]=\"idRandom\">\n <span class=\"wco-previewFile-preview\" (click)=\"preview ? modalPreview() : null\" role=\"button\" tabindex=\"0\">\n <ng-container *ngIf=\"typeFileFormat() === 'image' && !!url\">\n <img [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n </ng-container>\n <ng-container *ngIf=\"typeFileFormat() !== 'image' || !url\">\n <span class=\"material-icons\" role=\"presentation\">{{ getIconMaterial(format) }}</span>\n </ng-container>\n </span>\n <h5 (click)=\"preview ? modalPreview() : null\" role=\"heading\" aria-level=\"2\">\n {{ name }}</h5>\n </div>\n\n <div class=\"wco-previewFile__action\">\n <div class=\"wco-previewFile__action--status\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"status && status.type && status.text\">\n <span [class]=\"'wco-tag tag-' + status.type\" role=\"status\">\n <span *ngIf=\"status.iconMaterial\" class=\"material-icons\" role=\"presentation\">{{ status.iconMaterial }}</span>\n {{ status.text }}\n </span>\n <div>\n <h6 *ngIf=\"status.prefixDescription\">\n <strong>{{ status.prefixDescription }}</strong>\n </h6>\n <p *ngIf=\"status.description\">{{ status.description }}</p>\n </div>\n </ng-container>\n </div>\n <div class=\"wco-previewFile__action--buttons\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"!customContent && !!actions?.length\">\n <ng-container>\n <button *ngIf=\"actions.includes('refresh')\" (click)=\"actionEvent('refresh')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons\" role=\"presentation\">cached</span>\n Reenviar\n </button>\n <button *ngIf=\"actions.includes('aproved')\" (click)=\"actionEvent('aproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Aprovar\n <span class=\"material-icons\" role=\"presentation\">done</span>\n </button>\n <button *ngIf=\"actions.includes('reproved')\" (click)=\"actionEvent('reproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Recusar\n <span class=\"material-icons\" role=\"presentation\">close</span>\n </button>\n <div *ngIf=\"actions.includes('download') || actions.includes('delete') \" class=\"wco-previewFile__action--buttonsIcon\">\n <span *ngIf=\"actions.includes('download')\" data-tooltip=\"Download\" data-flow=\"top\">\n <button (click)=\"actionEvent('download')\" class=\"wco-previewFile--buttonIcon\"\n role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">file_download</span>\n </button>\n </span>\n <span *ngIf=\"actions.includes('delete')\" data-tooltip=\"Excluir\" data-flow=\"top\">\n <button (click)=\"actionEvent('delete')\"\n class=\"wco-previewFile__action--buttonIcon\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">delete</span>\n </button>\n </span>\n <span *ngIf=\"actions.includes('view')\" data-tooltip=\"Visualizar\" data-flow=\"top\">\n <button (click)=\"actionEvent('view')\"\n class=\"wco-previewFile__action--buttonIcon\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">visibility</span>\n </button>\n </span>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n <div *ngIf=\"customContent\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"preview && x() && y()\">\n <dialog [id]=\"id\" [ngStyle]=\"{'--dialog-x': x(), '--dialog-y': y()}\" role=\"dialog\" aria-modal=\"true\">\n <div class=\"wco-dialog-wrapper\">\n <div class=\"dialog-content\">\n <img *ngIf=\"typeFileFormat() === 'image'\" [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n <ng-container *ngIf=\"showDialog\"> \n <video *ngIf=\"typeFileFormat() === 'video'\" autoplay [src]=\"url\" controls role=\"video\"></video>\n <iframe *ngIf=\"typeFileFormat() === 'pdf'\" [src]=\"transformPDFSecurity(url)\" role=\"document\"></iframe>\n </ng-container>\n </div>\n <div class=\"w-full flex justify-center my-xxs\">\n <button (click)=\"closeDialog()\" class=\"wco-btn btn-primary btn-sm\" role=\"button\" tabindex=\"0\">Fechar</button>\n </div>\n </div>\n </dialog>\n</ng-container>", styles: [":host{display:block;container-type:inline-size;width:100%}.wco-previewFile{--wco-previewFile-text-color: var(--wco-color-neutral-700, #4A4A4A);--wco-previewFile-bg: var(--wco-color-neutral-50, #F9F9F9);--wco-previewFile-title-align: center;--wco-previewFile-border-color: var(--wco-color-neutral-500, #E0E0E0);width:100%;display:grid;grid-template-columns:minmax(auto,300px) 1fr;align-items:center;min-height:64px;gap:var(--wco-spacing-xxs, 16px)}.wco-previewFile>h4{grid-column:span 2}@container (width < 600px){.wco-previewFile{gap:var(--wco-spacing-sm, 16px)}.wco-previewFile h4{text-align:center}}.wco-previewFile.wco-previewFile-typebox{border:1px solid var(--wco-previewFile-border-color);background-color:var(--wco-previewFile-bg);border-radius:var(--wco-radius-md);padding:var(--wco-spacing-xxs, 16px)}.wco-previewFile:has(.wco-previewFile__action--status>div p){--wco-previewFile-title-align: flex-start}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--status{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--buttons{width:100%;justify-content:flex-end}.wco-previewFile:has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action--buttons{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile--thumbl{grid-column:span 2}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action{display:none}.wco-previewFile--thumbl{display:flex;align-items:var(--wco-previewFile-title-align);height:100%;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile--thumbl{grid-column:span 2}}.wco-previewFile--thumbl.type-file-image,.wco-previewFile--thumbl.type-file-pdf{cursor:pointer}.wco-previewFile--thumbl.type-file-image h5,.wco-previewFile--thumbl.type-file-pdf h5{text-decoration:underline;cursor:pointer}.wco-previewFile--thumbl.type-file-image h5:hover,.wco-previewFile--thumbl.type-file-pdf h5:hover{color:var(--wco-color-info-600)}.wco-previewFile--thumbl .wco-previewFile-preview{display:flex;align-items:center;color:var(--wco-color-neutral-900)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img){width:64px;height:64px;overflow:hidden;border-radius:var(--wco-radius-md);background-color:var(--wco-color-neutral-700);padding:var(--wco-spacing-quark)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img) img{width:100%;height:100%;object-fit:contain}.wco-previewFile__action{display:flex;justify-content:space-between;align-items:center;gap:var(--wco-spacing-sm, 16px);flex-wrap:wrap}@container (width < 600px){.wco-previewFile__action{grid-column:span 2;flex-direction:column;flex-wrap:wrap}}.wco-previewFile__action--status{display:flex;flex-direction:column;gap:var(--wco-spacing-xxxs, 8px)}.wco-previewFile__action--status>div:empty{display:none}@container (width < 600px){.wco-previewFile__action--status .wco-tag{width:100%}}.wco-previewFile__action--status h6,.wco-previewFile__action--status p{font-size:var(--wco-font-size-xs, 16px);color:var(--wco-previewFile-text-color);display:inline-flex}.wco-previewFile__action--status h6~p{margin-left:var(--wco-spacing-quark, 8px)}.wco-previewFile__action--buttons{display:flex;gap:var(--wco-spacing-xxs, 16px)}@container (width < 600px){.wco-previewFile__action--buttons{gap:var(--wco-spacing-xxxs, 12px);flex-wrap:wrap;flex-direction:column;width:100%;justify-content:center;align-items:center}.wco-previewFile__action--buttons button{width:100%;max-width:300px}}.wco-previewFile__action--buttonsIcon{display:flex;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile__action--buttonsIcon{gap:var(--wco-spacing-xxs, 8px)}}.wco-previewFile__action--buttonsIcon button{background:none;border:none;cursor:pointer;padding:var(--wco-spacing-nano, 8px);color:var(--wco-color-primary-600);display:flex;align-items:center;gap:var(--wco-spacing-nano, 8px)}.wco-previewFile__action--buttonsIcon button:hover{color:var(--wco-color-primary-700)}.wco-previewFile h5{font-size:var(--wco-font-size-sm, 18px);font-weight:400;line-height:var(--wco-font-lineheight-500, 150%);letter-spacing:.45px;color:var(--wco-previewFile-text-color);white-space:normal;text-wrap:pretty;width:100%}@container (width < 600px){.wco-previewFile h5{font-size:var(--wco-font-size-xxs, 16px)}}::ng-deep wco-preview-file~wco-preview-file{margin-top:var(--wco-spacing-xs, 16px)}.dialog-content{width:100%;display:flex;align-items:center;justify-content:center}.dialog-content:has(img){max-width:80vw;max-height:80vh}.dialog-content:has(img) img{max-width:100%;max-height:inherit}.dialog-content:has(iframe){width:90vw;height:70vh}.dialog-content:has(iframe) iframe{width:100%;height:100%}dialog{transition:opacity .7s ease-in-out,transform .7s ease-in-out,overlay .4s ease-in-out allow-discrete,display .4s ease-in-out allow-discrete}dialog:not(open)>div{border-radius:var(--wco-radius-sm);padding:10px;background-color:var(--wco-color-neutral-50);box-shadow:var(--wco-shadow-level-2);position:fixed;transform-origin:top left;transition:all .3s ease-in-out;opacity:0;top:var(--dialog-y);left:var(--dialog-x);transform:scale(.2)}@media screen and (max-width: 768px){dialog:not(open)>div{min-width:90vw}}dialog[open],dialog:open{opacity:1;background-color:transparent;box-shadow:none}dialog[open]>div.wco-dialog-wrapper,dialog:open>div.wco-dialog-wrapper{transform:translateY(-50%) translate(-50%) scale(1);top:50%;left:50%;opacity:1}@media (max-width: 768px){dialog[open],dialog:open{max-width:80vw}}@starting-style{dialog[open],dialog:open{opacity:0}}dialog::backdrop{background-color:#0000;transition:display .1s allow-discrete,overlay .1s allow-discrete,background-color .1s}dialog[open]::backdrop,dialog:open::backdrop{background-color:#00000059}@starting-style{dialog[open]::backdrop,dialog:open::backdrop{background-color:#0000}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
193
193
  }
194
194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PreviewFileComponent, decorators: [{
195
195
  type: Component,
196
- args: [{ selector: 'wco-preview-file', standalone: true, imports: [CommonModule], template: "<div [class]=\"'wco-previewFile wco-previewFile-type' + type\" #previewFileElement>\n <h4 *ngIf=\"title\" class=\"display-body bold\">{{ title }}</h4>\n\n <div [class]=\"'wco-previewFile--thumbl type-file-' + typeFileFormat()\" [id]=\"idRandom\">\n <span class=\"wco-previewFile-preview\" (click)=\"preview ? modalPreview() : null\" role=\"button\" tabindex=\"0\">\n <ng-container *ngIf=\"typeFileFormat() === 'image' && !!url\">\n <img [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n </ng-container>\n <ng-container *ngIf=\"typeFileFormat() !== 'image' || !url\">\n <span class=\"material-icons\" role=\"presentation\">{{ getIconMaterial(format) }}</span>\n </ng-container>\n </span>\n <h5 (click)=\"preview ? modalPreview() : null\" role=\"heading\" aria-level=\"2\">\n {{ name }}</h5>\n </div>\n\n <div class=\"wco-previewFile__action\">\n <div class=\"wco-previewFile__action--status\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"status && status.type && status.text\">\n <span [class]=\"'wco-tag tag-' + status.type\" role=\"status\">\n <span *ngIf=\"status.iconMaterial\" class=\"material-icons\" role=\"presentation\">{{ status.iconMaterial }}</span>\n {{ status.text }}\n </span>\n <div>\n <h6 *ngIf=\"status.prefixDescription\">\n <strong>{{ status.prefixDescription }}</strong>\n </h6>\n <p *ngIf=\"status.description\">{{ status.description }}</p>\n </div>\n </ng-container>\n </div>\n <div class=\"wco-previewFile__action--buttons\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"!customContent && !!actions?.length\">\n <ng-container>\n <button *ngIf=\"actions.includes('refresh')\" (click)=\"actionEvent('refresh')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons\" role=\"presentation\">cached</span>\n Reenviar\n </button>\n <button *ngIf=\"actions.includes('aproved')\" (click)=\"actionEvent('aproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Aprovar\n <span class=\"material-icons\" role=\"presentation\">done</span>\n </button>\n <button *ngIf=\"actions.includes('reproved')\" (click)=\"actionEvent('reproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Recusar\n <span class=\"material-icons\" role=\"presentation\">close</span>\n </button>\n <div *ngIf=\"actions.includes('download') || actions.includes('delete') \" class=\"wco-previewFile__action--buttonsIcon\">\n <span *ngIf=\"actions.includes('download')\" data-tooltip=\"Download\" data-flow=\"top\">\n <button (click)=\"actionEvent('download')\" class=\"wco-previewFile--buttonIcon\"\n role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">file_download</span>\n </button>\n </span>\n <span *ngIf=\"actions.includes('delete')\" data-tooltip=\"Excluir\" data-flow=\"top\">\n <button (click)=\"actionEvent('delete')\"\n class=\"wco-previewFile__action--buttonIcon\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">delete</span>\n </button>\n </span>\n <span *ngIf=\"actions.includes('view')\" data-tooltip=\"Visualizar\" data-flow=\"top\">\n <button (click)=\"actionEvent('view')\"\n class=\"wco-previewFile__action--buttonIcon\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">visibility</span>\n </button>\n </span>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n <div *ngIf=\"customContent\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"preview && x() && y()\">\n <dialog [id]=\"id\" [ngStyle]=\"{'--dialog-x': x(), '--dialog-y': y()}\" role=\"dialog\" aria-modal=\"true\">\n <div>\n <div class=\"dialog-content\">\n <img *ngIf=\"typeFileFormat() === 'image'\" [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n <ng-container *ngIf=\"showDialog\"> \n <video *ngIf=\"typeFileFormat() === 'video'\" autoplay [src]=\"url\" controls role=\"video\"></video>\n <iframe *ngIf=\"typeFileFormat() === 'pdf'\" [src]=\"transformPDFSecurity(url)\" role=\"document\"></iframe>\n </ng-container>\n </div>\n <div class=\"w-full flex justify-center my-xxs\">\n <button (click)=\"closeDialog()\" class=\"wco-btn btn-primary btn-sm\" role=\"button\" tabindex=\"0\">Fechar</button>\n </div>\n </div>\n </dialog>\n</ng-container>", styles: [":host{display:block;container-type:inline-size;width:100%}.wco-previewFile{--wco-previewFile-text-color: var(--wco-color-neutral-700, #4A4A4A);--wco-previewFile-bg: var(--wco-color-neutral-50, #F9F9F9);--wco-previewFile-title-align: center;--wco-previewFile-border-color: var(--wco-color-neutral-500, #E0E0E0);width:100%;display:grid;grid-template-columns:minmax(auto,300px) 1fr;align-items:center;min-height:64px;gap:var(--wco-spacing-xxs, 16px)}.wco-previewFile>h4{grid-column:span 2}@container (width < 600px){.wco-previewFile{gap:var(--wco-spacing-sm, 16px)}.wco-previewFile h4{text-align:center}}.wco-previewFile.wco-previewFile-typebox{border:1px solid var(--wco-previewFile-border-color);background-color:var(--wco-previewFile-bg);border-radius:var(--wco-radius-md);padding:var(--wco-spacing-xxs, 16px)}.wco-previewFile:has(.wco-previewFile__action--status>div p){--wco-previewFile-title-align: flex-start}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--status{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--buttons{width:100%;justify-content:flex-end}.wco-previewFile:has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action--buttons{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile--thumbl{grid-column:span 2}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action{display:none}.wco-previewFile--thumbl{display:flex;align-items:var(--wco-previewFile-title-align);height:100%;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile--thumbl{grid-column:span 2}}.wco-previewFile--thumbl.type-file-image,.wco-previewFile--thumbl.type-file-pdf{cursor:pointer}.wco-previewFile--thumbl.type-file-image h5,.wco-previewFile--thumbl.type-file-pdf h5{text-decoration:underline;cursor:pointer}.wco-previewFile--thumbl.type-file-image h5:hover,.wco-previewFile--thumbl.type-file-pdf h5:hover{color:var(--wco-color-info-600)}.wco-previewFile--thumbl .wco-previewFile-preview{display:flex;align-items:center;color:var(--wco-color-neutral-900)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img){width:64px;height:64px;overflow:hidden;border-radius:var(--wco-radius-md);background-color:var(--wco-color-neutral-700);padding:var(--wco-spacing-quark)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img) img{width:100%;height:100%;object-fit:contain}.wco-previewFile__action{display:flex;justify-content:space-between;align-items:center;gap:var(--wco-spacing-sm, 16px);flex-wrap:wrap}@container (width < 600px){.wco-previewFile__action{grid-column:span 2;flex-direction:column;flex-wrap:wrap}}.wco-previewFile__action--status{display:flex;flex-direction:column;gap:var(--wco-spacing-xxxs, 8px)}.wco-previewFile__action--status>div:empty{display:none}@container (width < 600px){.wco-previewFile__action--status .wco-tag{width:100%}}.wco-previewFile__action--status h6,.wco-previewFile__action--status p{font-size:var(--wco-font-size-xs, 16px);color:var(--wco-previewFile-text-color);display:inline-flex}.wco-previewFile__action--status h6~p{margin-left:var(--wco-spacing-quark, 8px)}.wco-previewFile__action--buttons{display:flex;gap:var(--wco-spacing-xxs, 16px)}@container (width < 600px){.wco-previewFile__action--buttons{gap:var(--wco-spacing-xxxs, 12px);flex-wrap:wrap;flex-direction:column;width:100%;justify-content:center;align-items:center}.wco-previewFile__action--buttons button{width:100%;max-width:300px}}.wco-previewFile__action--buttonsIcon{display:flex;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile__action--buttonsIcon{gap:var(--wco-spacing-xxs, 8px)}}.wco-previewFile__action--buttonsIcon button{background:none;border:none;cursor:pointer;padding:var(--wco-spacing-nano, 8px);color:var(--wco-color-primary-600);display:flex;align-items:center;gap:var(--wco-spacing-nano, 8px)}.wco-previewFile__action--buttonsIcon button:hover{color:var(--wco-color-primary-700)}.wco-previewFile h5{font-size:var(--wco-font-size-sm, 18px);font-weight:400;line-height:var(--wco-font-lineheight-500, 150%);letter-spacing:.45px;color:var(--wco-previewFile-text-color);white-space:normal;text-wrap:pretty;width:100%}@container (width < 600px){.wco-previewFile h5{font-size:var(--wco-font-size-xxs, 16px)}}::ng-deep wco-preview-file~wco-preview-file{margin-top:var(--wco-spacing-xs, 16px)}.dialog-content{width:100%;display:flex;align-items:center;justify-content:center}.dialog-content:has(img){max-width:80vw;max-height:80vh}.dialog-content:has(img) img{max-width:100%;max-height:inherit}.dialog-content:has(iframe){width:90vw;height:70vh}.dialog-content:has(iframe) iframe{width:100%;height:100%}dialog{transition:opacity .7s ease-in-out,transform .7s ease-in-out,overlay .4s ease-in-out allow-discrete,display .4s ease-in-out allow-discrete}dialog:not(open)>div{border-radius:var(--wco-radius-sm);padding:10px;background-color:var(--wco-color-neutral-50);box-shadow:var(--wco-shadow-level-2);position:fixed;transform-origin:top left;transition:all .3s ease-in-out;opacity:0;top:var(--dialog-y);left:var(--dialog-x);transform:scale(.2)}@media screen and (max-width: 768px){dialog:not(open)>div{min-width:90vw}}dialog[open][role=dialog]{opacity:1;background-color:transparent;box-shadow:none}dialog[open][role=dialog]>div{transform:translateY(-50%) translate(-50%) scale(1);top:50%;left:50%;opacity:1}@media (max-width: 768px){dialog[open][role=dialog]{max-width:80vw}}@starting-style{dialog[open]{opacity:0}}dialog::backdrop{background-color:#0000;transition:display .1s allow-discrete,overlay .1s allow-discrete,background-color .1s}dialog[open]::backdrop{background-color:#00000059}@starting-style{dialog[open]::backdrop{background-color:#0000}}\n"] }]
196
+ args: [{ selector: 'wco-preview-file', standalone: true, imports: [CommonModule], template: "<div [class]=\"'wco-previewFile wco-previewFile-type' + type\" #previewFileElement>\n <h4 *ngIf=\"title\" class=\"display-body bold\">{{ title }}</h4>\n\n <div [class]=\"'wco-previewFile--thumbl type-file-' + typeFileFormat()\" [id]=\"idRandom\">\n <span class=\"wco-previewFile-preview\" (click)=\"preview ? modalPreview() : null\" role=\"button\" tabindex=\"0\">\n <ng-container *ngIf=\"typeFileFormat() === 'image' && !!url\">\n <img [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n </ng-container>\n <ng-container *ngIf=\"typeFileFormat() !== 'image' || !url\">\n <span class=\"material-icons\" role=\"presentation\">{{ getIconMaterial(format) }}</span>\n </ng-container>\n </span>\n <h5 (click)=\"preview ? modalPreview() : null\" role=\"heading\" aria-level=\"2\">\n {{ name }}</h5>\n </div>\n\n <div class=\"wco-previewFile__action\">\n <div class=\"wco-previewFile__action--status\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"status && status.type && status.text\">\n <span [class]=\"'wco-tag tag-' + status.type\" role=\"status\">\n <span *ngIf=\"status.iconMaterial\" class=\"material-icons\" role=\"presentation\">{{ status.iconMaterial }}</span>\n {{ status.text }}\n </span>\n <div>\n <h6 *ngIf=\"status.prefixDescription\">\n <strong>{{ status.prefixDescription }}</strong>\n </h6>\n <p *ngIf=\"status.description\">{{ status.description }}</p>\n </div>\n </ng-container>\n </div>\n <div class=\"wco-previewFile__action--buttons\" *ngIf=\"!customContent\">\n <ng-container *ngIf=\"!customContent && !!actions?.length\">\n <ng-container>\n <button *ngIf=\"actions.includes('refresh')\" (click)=\"actionEvent('refresh')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons\" role=\"presentation\">cached</span>\n Reenviar\n </button>\n <button *ngIf=\"actions.includes('aproved')\" (click)=\"actionEvent('aproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Aprovar\n <span class=\"material-icons\" role=\"presentation\">done</span>\n </button>\n <button *ngIf=\"actions.includes('reproved')\" (click)=\"actionEvent('reproved')\"\n class=\"wco-btn btn-primary btn-outline btn-sm\" role=\"button\" tabindex=\"0\">\n Recusar\n <span class=\"material-icons\" role=\"presentation\">close</span>\n </button>\n <div *ngIf=\"actions.includes('download') || actions.includes('delete') \" class=\"wco-previewFile__action--buttonsIcon\">\n <span *ngIf=\"actions.includes('download')\" data-tooltip=\"Download\" data-flow=\"top\">\n <button (click)=\"actionEvent('download')\" class=\"wco-previewFile--buttonIcon\"\n role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">file_download</span>\n </button>\n </span>\n <span *ngIf=\"actions.includes('delete')\" data-tooltip=\"Excluir\" data-flow=\"top\">\n <button (click)=\"actionEvent('delete')\"\n class=\"wco-previewFile__action--buttonIcon\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">delete</span>\n </button>\n </span>\n <span *ngIf=\"actions.includes('view')\" data-tooltip=\"Visualizar\" data-flow=\"top\">\n <button (click)=\"actionEvent('view')\"\n class=\"wco-previewFile__action--buttonIcon\" role=\"button\" tabindex=\"0\">\n <span class=\"material-icons-outlined\" role=\"presentation\">visibility</span>\n </button>\n </span>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n <div *ngIf=\"customContent\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"preview && x() && y()\">\n <dialog [id]=\"id\" [ngStyle]=\"{'--dialog-x': x(), '--dialog-y': y()}\" role=\"dialog\" aria-modal=\"true\">\n <div class=\"wco-dialog-wrapper\">\n <div class=\"dialog-content\">\n <img *ngIf=\"typeFileFormat() === 'image'\" [src]=\"url\" alt=\"Imagem do documento\" loading=\"lazy\" role=\"img\">\n <ng-container *ngIf=\"showDialog\"> \n <video *ngIf=\"typeFileFormat() === 'video'\" autoplay [src]=\"url\" controls role=\"video\"></video>\n <iframe *ngIf=\"typeFileFormat() === 'pdf'\" [src]=\"transformPDFSecurity(url)\" role=\"document\"></iframe>\n </ng-container>\n </div>\n <div class=\"w-full flex justify-center my-xxs\">\n <button (click)=\"closeDialog()\" class=\"wco-btn btn-primary btn-sm\" role=\"button\" tabindex=\"0\">Fechar</button>\n </div>\n </div>\n </dialog>\n</ng-container>", styles: [":host{display:block;container-type:inline-size;width:100%}.wco-previewFile{--wco-previewFile-text-color: var(--wco-color-neutral-700, #4A4A4A);--wco-previewFile-bg: var(--wco-color-neutral-50, #F9F9F9);--wco-previewFile-title-align: center;--wco-previewFile-border-color: var(--wco-color-neutral-500, #E0E0E0);width:100%;display:grid;grid-template-columns:minmax(auto,300px) 1fr;align-items:center;min-height:64px;gap:var(--wco-spacing-xxs, 16px)}.wco-previewFile>h4{grid-column:span 2}@container (width < 600px){.wco-previewFile{gap:var(--wco-spacing-sm, 16px)}.wco-previewFile h4{text-align:center}}.wco-previewFile.wco-previewFile-typebox{border:1px solid var(--wco-previewFile-border-color);background-color:var(--wco-previewFile-bg);border-radius:var(--wco-radius-md);padding:var(--wco-spacing-xxs, 16px)}.wco-previewFile:has(.wco-previewFile__action--status>div p){--wco-previewFile-title-align: flex-start}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--status{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty) .wco-previewFile__action--buttons{width:100%;justify-content:flex-end}.wco-previewFile:has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action--buttons{display:none}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile--thumbl{grid-column:span 2}.wco-previewFile:has(.wco-previewFile__action--status:empty):has(.wco-previewFile__action--buttons:empty) .wco-previewFile__action{display:none}.wco-previewFile--thumbl{display:flex;align-items:var(--wco-previewFile-title-align);height:100%;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile--thumbl{grid-column:span 2}}.wco-previewFile--thumbl.type-file-image,.wco-previewFile--thumbl.type-file-pdf{cursor:pointer}.wco-previewFile--thumbl.type-file-image h5,.wco-previewFile--thumbl.type-file-pdf h5{text-decoration:underline;cursor:pointer}.wco-previewFile--thumbl.type-file-image h5:hover,.wco-previewFile--thumbl.type-file-pdf h5:hover{color:var(--wco-color-info-600)}.wco-previewFile--thumbl .wco-previewFile-preview{display:flex;align-items:center;color:var(--wco-color-neutral-900)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img){width:64px;height:64px;overflow:hidden;border-radius:var(--wco-radius-md);background-color:var(--wco-color-neutral-700);padding:var(--wco-spacing-quark)}.wco-previewFile--thumbl .wco-previewFile-preview:has(img) img{width:100%;height:100%;object-fit:contain}.wco-previewFile__action{display:flex;justify-content:space-between;align-items:center;gap:var(--wco-spacing-sm, 16px);flex-wrap:wrap}@container (width < 600px){.wco-previewFile__action{grid-column:span 2;flex-direction:column;flex-wrap:wrap}}.wco-previewFile__action--status{display:flex;flex-direction:column;gap:var(--wco-spacing-xxxs, 8px)}.wco-previewFile__action--status>div:empty{display:none}@container (width < 600px){.wco-previewFile__action--status .wco-tag{width:100%}}.wco-previewFile__action--status h6,.wco-previewFile__action--status p{font-size:var(--wco-font-size-xs, 16px);color:var(--wco-previewFile-text-color);display:inline-flex}.wco-previewFile__action--status h6~p{margin-left:var(--wco-spacing-quark, 8px)}.wco-previewFile__action--buttons{display:flex;gap:var(--wco-spacing-xxs, 16px)}@container (width < 600px){.wco-previewFile__action--buttons{gap:var(--wco-spacing-xxxs, 12px);flex-wrap:wrap;flex-direction:column;width:100%;justify-content:center;align-items:center}.wco-previewFile__action--buttons button{width:100%;max-width:300px}}.wco-previewFile__action--buttonsIcon{display:flex;gap:var(--wco-spacing-nano, 8px)}@container (width < 600px){.wco-previewFile__action--buttonsIcon{gap:var(--wco-spacing-xxs, 8px)}}.wco-previewFile__action--buttonsIcon button{background:none;border:none;cursor:pointer;padding:var(--wco-spacing-nano, 8px);color:var(--wco-color-primary-600);display:flex;align-items:center;gap:var(--wco-spacing-nano, 8px)}.wco-previewFile__action--buttonsIcon button:hover{color:var(--wco-color-primary-700)}.wco-previewFile h5{font-size:var(--wco-font-size-sm, 18px);font-weight:400;line-height:var(--wco-font-lineheight-500, 150%);letter-spacing:.45px;color:var(--wco-previewFile-text-color);white-space:normal;text-wrap:pretty;width:100%}@container (width < 600px){.wco-previewFile h5{font-size:var(--wco-font-size-xxs, 16px)}}::ng-deep wco-preview-file~wco-preview-file{margin-top:var(--wco-spacing-xs, 16px)}.dialog-content{width:100%;display:flex;align-items:center;justify-content:center}.dialog-content:has(img){max-width:80vw;max-height:80vh}.dialog-content:has(img) img{max-width:100%;max-height:inherit}.dialog-content:has(iframe){width:90vw;height:70vh}.dialog-content:has(iframe) iframe{width:100%;height:100%}dialog{transition:opacity .7s ease-in-out,transform .7s ease-in-out,overlay .4s ease-in-out allow-discrete,display .4s ease-in-out allow-discrete}dialog:not(open)>div{border-radius:var(--wco-radius-sm);padding:10px;background-color:var(--wco-color-neutral-50);box-shadow:var(--wco-shadow-level-2);position:fixed;transform-origin:top left;transition:all .3s ease-in-out;opacity:0;top:var(--dialog-y);left:var(--dialog-x);transform:scale(.2)}@media screen and (max-width: 768px){dialog:not(open)>div{min-width:90vw}}dialog[open],dialog:open{opacity:1;background-color:transparent;box-shadow:none}dialog[open]>div.wco-dialog-wrapper,dialog:open>div.wco-dialog-wrapper{transform:translateY(-50%) translate(-50%) scale(1);top:50%;left:50%;opacity:1}@media (max-width: 768px){dialog[open],dialog:open{max-width:80vw}}@starting-style{dialog[open],dialog:open{opacity:0}}dialog::backdrop{background-color:#0000;transition:display .1s allow-discrete,overlay .1s allow-discrete,background-color .1s}dialog[open]::backdrop,dialog:open::backdrop{background-color:#00000059}@starting-style{dialog[open]::backdrop,dialog:open::backdrop{background-color:#0000}}\n"] }]
197
197
  }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i0.NgZone }], propDecorators: { previewFileElement: [{
198
198
  type: ViewChild,
199
199
  args: ['previewFileElement', { static: false }]
@@ -220,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
220
220
  }], clickEvent: [{
221
221
  type: Output
222
222
  }] } });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9saWIvcHJldmlldy1maWxlL3ByZXZpZXctZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3ByZXZpZXctZmlsZS9wcmV2aWV3LWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQWMvQyxNQUFNLE9BQU8sb0JBQW9CO0lBMkVYO0lBQWlDO0lBekVyRCxrQkFBa0IsQ0FBOEI7SUFFaEQsbURBQW1EO0lBQzVDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFHMUIsaUNBQWlDO0lBQ3hCLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsbUNBQW1DO0lBQzFCLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDckIsbURBQW1EO0lBQzFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsaURBQWlEO0lBQ3hDLE9BQU8sQ0FBNkI7SUFDN0Msa0NBQWtDO0lBQ3pCLE1BQU0sQ0FBMEI7SUFDekMsK0JBQStCO0lBQ3RCLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDbEIscUNBQXFDO0lBQzVCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDL0IsZ0RBQWdEO0lBQ3ZDLElBQUksR0FBbUIsS0FBSyxDQUFDO0lBQ3RDLGtDQUFrQztJQUN6QixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBRXBCLG9EQUFvRDtJQUNwRCxJQUFhLE9BQU8sQ0FBQyxJQUE2QjtRQUNoRCxJQUFJLENBQUMsSUFB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Q0FBQzt3R0F4TlUsb0JBQW9COzRGQUFwQixvQkFBb0IseWJDeEJqQyx5OEpBOEZlLHN5TEQxRUgsWUFBWTs7NEZBSVgsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7c0dBTXZCLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBUXpDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR08sT0FBTztzQkFBbkIsS0FBSztnQkFNSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIFByZXZpZXdGaWxlQWN0aW9uc1R5cGVzLFxuICBQcmV2aWV3RmlsZVN0YXR1c1R5cGVzLFxufSBmcm9tICcuL3ByZXZpZXctZmlsZS50eXBlcyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby1wcmV2aWV3LWZpbGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3ByZXZpZXctZmlsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ByZXZpZXctZmlsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQcmV2aWV3RmlsZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ3ByZXZpZXdGaWxlRWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwcmV2aWV3RmlsZUVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAvKiBDb250cm9sZSBkZSBleGliacOnw6NvIGRvIG1vZGFsIGRlIHZpc3VhbGl6YcOnw6NvICovXG4gIHB1YmxpYyBzaG93RGlhbG9nID0gZmFsc2U7XG4gIFxuXG4gIC8qIE5vbWUgZG8gYXJxdWl2byAob3B0aW9uY2FsKSAqL1xuICBASW5wdXQoKSBmaWxlbmFtZSA9ICcnO1xuICAvKiBGb3JtYXRvIGRvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSBmb3JtYXQgPSAnJztcbiAgLyogTW9zdHJhciBwcmV2aXN1YWxpemHDp8OjbyBkbyBhcnF1aXZvIChvcHRpb25hbCkgKi9cbiAgQElucHV0KCkgcHJldmlldyA9IHRydWU7XG4gIC8qIEHDp8O1ZXMgZGlzcG9uw612ZWlzIHBhcmEgbyBhcnF1aXZvIChvcHRpb25hbCkgKi9cbiAgQElucHV0KCkgYWN0aW9ucyE6IFByZXZpZXdGaWxlQWN0aW9uc1R5cGVzW107XG4gIC8qIFN0YXR1cyBkbyBhcnF1aXZvIChvcHRpb25hbCkgKi9cbiAgQElucHV0KCkgc3RhdHVzITogUHJldmlld0ZpbGVTdGF0dXNUeXBlcztcbiAgLyogVVJMIGRvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSB1cmwgPSAnJztcbiAgLyogQ29udGXDumRvIGN1c3RvbWl6YWRvIChvcHRpb25hbCkgKi9cbiAgQElucHV0KCkgY3VzdG9tQ29udGVudCA9IGZhbHNlO1xuICAvKiBUaXBvIGRlIHZpc3VhbGl6YcOnw6NvIGRvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSB0eXBlOiAnbWluaScgfCAnYm94JyA9ICdib3gnO1xuICAvKiBUw610dWxvIGRvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSB0aXRsZSA9ICcnO1xuXG4gIC8qIEFycXVpdm8gcGFyYSB2aXN1YWxpemHDp8OjbyBuYXRpdm8gZG8gaW5wdXQgZmlsZSAqL1xuICBASW5wdXQoKSBzZXQgc2V0ZmlsZShmaWxlOiBGaWxlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghZmlsZSkgcmV0dXJuO1xuICAgIHRoaXMudHJhbnNmb3JtRmlsZXMoZmlsZSk7XG4gIH1cblxuICAvKiBFdmVudG8gZGUgY2xpcXVlIG5hcyBhw6fDtWVzIGRvIGFycXVpdm8gKi9cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBhY3Rpb246IFByZXZpZXdGaWxlQWN0aW9uc1R5cGVzO1xuICAgIGRhdGE6IGFueTtcbiAgfT4oKTtcblxuXG4gIGdldCBuYW1lKCkge1xuICAgIGlmKCEhdGhpcy5maWxlbmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsZW5hbWVcbiAgICB9XG5cbiAgICBpZighIXRoaXMudXJsKSB7XG4gICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRoaXMudXJsKTtcbiAgICAgIGNvbnN0IG5hbWUgPSB1cmwucGF0aG5hbWUuc3BsaXQoJy8nKS5wb3AoKTtcbiAgICAgIGNvbnN0IHRvdGFsID0gbmFtZSA/IG5hbWU/Lmxlbmd0aCA+PSAzMCA/IDE1IDogMCA6IDA7XG4gICAgICByZXR1cm4gbmFtZT8uc3Vic3RyaW5nKHRvdGFsLCBuYW1lLmxlbmd0aCk7XG4gICAgfVxuICAgIHJldHVybiAnTm9tZSBuw6NvIGluZm9ybWFkbyc7XG4gIH1cblxuICBnZXQgX2Zvcm1hdCgpIHsgXG5cbiAgICBpZiAoISF0aGlzLmZvcm1hdCkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0O1xuICAgIH1cblxuICAgIGlmICh0aGlzLnVybCkge1xuICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCh0aGlzLnVybCk7XG4gICAgICBjb25zdCBmb3JtYXQgPSB1cmwucGF0aG5hbWUuc3BsaXQoJy4nKS5wb3AoKTtcbiAgICAgIHJldHVybiBmb3JtYXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuICdmaWxlJztcbiAgfVxuICBcbiAgaWRSYW5kb20gPSAncHJldmlldy0nICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpO1xuICBpZCA9ICdtb2RhbC0nICsgdGhpcy5pZFJhbmRvbTtcblxuICB5ID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KCcxMDBweCcpO1xuICB4ID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KCcxMDBweCcpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsIHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHt9XG5cbiAgcHJpdmF0ZSB0cmFuc2Zvcm1GaWxlcyhmaWxlOiBGaWxlKSB7XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmZpbGVuYW1lID0gZmlsZS5uYW1lO1xuICAgICAgICB0aGlzLmZvcm1hdCA9IGZpbGUudHlwZSB8fCAnZmlsZSc7XG4gICAgICAgIHRoaXMudXJsID0gZS50YXJnZXQucmVzdWx0O1xuICAgICAgfTtcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIHRyYW5zZm9ybVBERlNlY3VyaXR5KHVybDogc3RyaW5nKTogU2FmZUh0bWwge1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcbiAgfVxuXG4gIHByaXZhdGUgcG9zaXRpb25UaHVtYm5haWwoKSB7XG4gICAgaWYgKCF0aGlzLnByZXZpZXdGaWxlRWxlbWVudD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHByZXZpZXdGaWxlRWxlbWVudCA9IHRoaXMucHJldmlld0ZpbGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgY2FyZFBvc2l0aW9uID0gcHJldmlld0ZpbGVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXG4gICAgICAnd2NvLXByZXZpZXdGaWxlLS10aHVtYmwnXG4gICAgKVswXSBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmICghY2FyZFBvc2l0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICBjb25zdCB7IHgsIHkgfSA9IGNhcmRQb3NpdGlvbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICB0aGlzLnkuc2V0KHkgKyAncHgnKTtcbiAgICAgICAgICB0aGlzLnguc2V0KHggKyAncHgnKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpb25FdmVudChhY3Rpb246IFByZXZpZXdGaWxlQWN0aW9uc1R5cGVzKSB7XG5cbiAgICAvLyBDYXNvIG8gdXN1w6FyaW8gY2xpcXVlIG5vIGJvdMOjbyBkZSB2aXN1YWxpemHDp8OjbywgYWJyZSBvIG1vZGFsIGRlIHZpc3VhbGl6YcOnw6NvXG4gICAgaWYoYWN0aW9uID09PSAndmlldycgJiYgdGhpcy50eXBlRmlsZUZvcm1hdCgpICE9PSAnZmlsZScgJiYgdGhpcy5wcmV2aWV3KSB7XG4gICAgICB0aGlzLm1vZGFsUHJldmlldygpO1xuICAgIH1cbiAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdCh7XG4gICAgICBhY3Rpb24sXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGZpbGVuYW1lOiB0aGlzLmZpbGVuYW1lLFxuICAgICAgICBmb3JtYXQ6IHRoaXMuZm9ybWF0LFxuICAgICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgICBmaWxlOiB0aGlzLnVybCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBFdmVudG9zIGRlIG1vZGFsXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIG1vZGFsUHJldmlldygpIHtcbiAgICBpZiAoISEhdGhpcy51cmwgfHwgdGhpcy50eXBlRmlsZUZvcm1hdCgpID09PSAnZmlsZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zaG93RGlhbG9nID0gdHJ1ZTtcbiAgICB0aGlzLnBvc2l0aW9uVGh1bWJuYWlsKCk7XG4gICAgY29uc3QgbW9kYWw6IGFueSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpO1xuICAgIG1vZGFsPy5zaG93TW9kYWwoKTtcbiAgfVxuXG4gIGNsb3NlRGlhbG9nKCkge1xuICAgIGNvbnN0IG1vZGFsOiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtcbiAgICBtb2RhbD8uY2xvc2UoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd0RpYWxvZyA9IGZhbHNlO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLy8gRm9ybWF0b3MgZSBwb3Npw6fDtWVzIGRlIMOtY29uZXNcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgZ2V0SWNvbk1hdGVyaWFsKHR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgaWNvbk1hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgICdwZGYnOiAncGljdHVyZV9hc19wZGYnLFxuICAgICAgJ2FwcGxpY2F0aW9uL3BkZic6ICdwaWN0dXJlX2FzX3BkZicsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnOlxuICAgICAgICAnZGVzY3JpcHRpb24nLFxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JzpcbiAgICAgICAgJ3RhYmxlX2NoYXJ0JyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uJzpcbiAgICAgICAgJ3NsaWRlc2hvdycsXG4gICAgICAnaW1hZ2UvanBlZyc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2UvcG5nJzogJ2ltYWdlJyxcbiAgICAgICdpbWFnZS9naWYnOiAnaW1hZ2UnLFxuICAgICAgJ2ltYWdlL2JtcCc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2Uvd2VicCc6ICdpbWFnZScsXG4gICAgICBwbmc6ICdpbWFnZScsXG4gICAgICBqcGVnOiAnaW1hZ2UnLFxuICAgICAgZ2lmOiAnaW1hZ2UnLFxuICAgICAgYm1wOiAnaW1hZ2UnLFxuICAgICAgd2VicDogJ2ltYWdlJyxcbiAgICAgICd2aWRlby9tcDQnOiAnb25kZW1hbmRfdmlkZW8nLFxuICAgICAgJ21wNCc6ICdvbmRlbWFuZF92aWRlbycsXG4gICAgICAndmlkZW8vcXVpY2t0aW1lJzogJ29uZGVtYW5kX3ZpZGVvJyxcbiAgICAgICd2aWRlby94LW1zdmlkZW8nOiAnb25kZW1hbmRfdmlkZW8nLFxuICAgICAgJ3ZpZGVvL3gtbXMtd212JzogJ29uZGVtYW5kX3ZpZGVvJyxcbiAgICAgICdhdWRpby9tcGVnJzogJ2F1ZGlvdHJhY2snLFxuICAgICAgJ2F1ZGlvL29nZyc6ICdhdWRpb3RyYWNrJyxcbiAgICAgICdhdWRpby93YXYnOiAnYXVkaW90cmFjaycsXG4gICAgICAnYXVkaW8vd2VibSc6ICdhdWRpb3RyYWNrJyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGljb25NYXBbdHlwZV0gfHwgJ2luc2VydF9kcml2ZV9maWxlJztcbiAgfVxuXG4gIHR5cGVGaWxlRm9ybWF0KCk6ICdwZGYnIHwgJ2ltYWdlJyB8ICd2aWRlbycgfCAnZmlsZScge1xuICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMuX2Zvcm1hdCB8fCAnZmlsZSdcbiAgICBjb25zdCB0eXBlTWFwOiB7IFtrZXk6IHN0cmluZ106ICdwZGYnIHwgJ2ltYWdlJyB8ICd2aWRlbycgfCAnZmlsZScgfSA9IHtcbiAgICAgIHBkZjogJ3BkZicsXG4gICAgICAnYXBwbGljYXRpb24vcGRmJzogJ3BkZicsXG4gICAgICAnaW1hZ2UvanBlZyc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2UvcG5nJzogJ2ltYWdlJyxcbiAgICAgICdpbWFnZS9naWYnOiAnaW1hZ2UnLFxuICAgICAgJ2ltYWdlL2JtcCc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2Uvd2VicCc6ICdpbWFnZScsXG4gICAgICBwbmc6ICdpbWFnZScsXG4gICAgICBqcGVnOiAnaW1hZ2UnLFxuICAgICAganBnOiAnaW1hZ2UnLFxuICAgICAgZ2lmOiAnaW1hZ2UnLFxuICAgICAgYm1wOiAnaW1hZ2UnLFxuICAgICAgd2VicDogJ2ltYWdlJyxcbiAgICAgIG1wNDogJ3ZpZGVvJyxcbiAgICAgIG1vdjogJ3ZpZGVvJyxcbiAgICAgICd2aWRlby9tcDQnOiAndmlkZW8nLFxuICAgICAgJ3ZpZGVvL3F1aWNrdGltZSc6ICd2aWRlbydcbiAgICB9O1xuXG4gICAgcmV0dXJuIHR5cGVNYXBbZm9ybWF0XSB8fCAnZmlsZSc7XG4gIH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cIid3Y28tcHJldmlld0ZpbGUgd2NvLXByZXZpZXdGaWxlLXR5cGUnICsgdHlwZVwiICNwcmV2aWV3RmlsZUVsZW1lbnQ+XG4gIDxoNCAqbmdJZj1cInRpdGxlXCIgY2xhc3M9XCJkaXNwbGF5LWJvZHkgYm9sZFwiPnt7IHRpdGxlIH19PC9oND5cblxuICA8ZGl2IFtjbGFzc109XCInd2NvLXByZXZpZXdGaWxlLS10aHVtYmwgdHlwZS1maWxlLScgKyB0eXBlRmlsZUZvcm1hdCgpXCIgW2lkXT1cImlkUmFuZG9tXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ3Y28tcHJldmlld0ZpbGUtcHJldmlld1wiIChjbGljayk9XCJwcmV2aWV3ID8gbW9kYWxQcmV2aWV3KCkgOiBudWxsXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGVGaWxlRm9ybWF0KCkgPT09ICdpbWFnZScgJiYgISF1cmxcIj5cbiAgICAgICAgPGltZyBbc3JjXT1cInVybFwiIGFsdD1cIkltYWdlbSBkbyBkb2N1bWVudG9cIiBsb2FkaW5nPVwibGF6eVwiIHJvbGU9XCJpbWdcIj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGVGaWxlRm9ybWF0KCkgIT09ICdpbWFnZScgfHwgIXVybFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPnt7IGdldEljb25NYXRlcmlhbChmb3JtYXQpIH19PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICAgIDxoNSAoY2xpY2spPVwicHJldmlldyA/IG1vZGFsUHJldmlldygpIDogbnVsbFwiIHJvbGU9XCJoZWFkaW5nXCIgYXJpYS1sZXZlbD1cIjJcIj5cbiAgICAgIHt7IG5hbWUgfX08L2g1PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwid2NvLXByZXZpZXdGaWxlX19hY3Rpb25cIj5cbiAgICA8ZGl2IGNsYXNzPVwid2NvLXByZXZpZXdGaWxlX19hY3Rpb24tLXN0YXR1c1wiICpuZ0lmPVwiIWN1c3RvbUNvbnRlbnRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0dXMgJiYgc3RhdHVzLnR5cGUgJiYgc3RhdHVzLnRleHRcIj5cbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cIid3Y28tdGFnIHRhZy0nICsgc3RhdHVzLnR5cGVcIiByb2xlPVwic3RhdHVzXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJzdGF0dXMuaWNvbk1hdGVyaWFsXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIHJvbGU9XCJwcmVzZW50YXRpb25cIj57eyBzdGF0dXMuaWNvbk1hdGVyaWFsIH19PC9zcGFuPlxuICAgICAgICAgIHt7IHN0YXR1cy50ZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDYgKm5nSWY9XCJzdGF0dXMucHJlZml4RGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIDxzdHJvbmc+e3sgc3RhdHVzLnByZWZpeERlc2NyaXB0aW9uIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9oNj5cbiAgICAgICAgICA8cCAqbmdJZj1cInN0YXR1cy5kZXNjcmlwdGlvblwiPnt7IHN0YXR1cy5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2NvLXByZXZpZXdGaWxlX19hY3Rpb24tLWJ1dHRvbnNcIiAqbmdJZj1cIiFjdXN0b21Db250ZW50XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWN1c3RvbUNvbnRlbnQgJiYgISFhY3Rpb25zPy5sZW5ndGhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiYWN0aW9ucy5pbmNsdWRlcygncmVmcmVzaCcpXCIgKGNsaWNrKT1cImFjdGlvbkV2ZW50KCdyZWZyZXNoJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3Y28tYnRuIGJ0bi1wcmltYXJ5IGJ0bi1vdXRsaW5lIGJ0bi1zbVwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+Y2FjaGVkPC9zcGFuPlxuICAgICAgICAgICAgUmVlbnZpYXJcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiYWN0aW9ucy5pbmNsdWRlcygnYXByb3ZlZCcpXCIgKGNsaWNrKT1cImFjdGlvbkV2ZW50KCdhcHJvdmVkJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3Y28tYnRuIGJ0bi1wcmltYXJ5IGJ0bi1vdXRsaW5lIGJ0bi1zbVwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgIEFwcm92YXJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+ZG9uZTwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uICAqbmdJZj1cImFjdGlvbnMuaW5jbHVkZXMoJ3JlcHJvdmVkJylcIiAoY2xpY2spPVwiYWN0aW9uRXZlbnQoJ3JlcHJvdmVkJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3Y28tYnRuIGJ0bi1wcmltYXJ5IGJ0bi1vdXRsaW5lIGJ0bi1zbVwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgIFJlY3VzYXJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+Y2xvc2U8L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImFjdGlvbnMuaW5jbHVkZXMoJ2Rvd25sb2FkJykgfHwgYWN0aW9ucy5pbmNsdWRlcygnZGVsZXRlJykgXCIgY2xhc3M9XCJ3Y28tcHJldmlld0ZpbGVfX2FjdGlvbi0tYnV0dG9uc0ljb25cIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWN0aW9ucy5pbmNsdWRlcygnZG93bmxvYWQnKVwiIGRhdGEtdG9vbHRpcD1cIkRvd25sb2FkXCIgZGF0YS1mbG93PVwidG9wXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImFjdGlvbkV2ZW50KCdkb3dubG9hZCcpXCIgY2xhc3M9XCJ3Y28tcHJldmlld0ZpbGUtLWJ1dHRvbkljb25cIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPmZpbGVfZG93bmxvYWQ8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhY3Rpb25zLmluY2x1ZGVzKCdkZWxldGUnKVwiIGRhdGEtdG9vbHRpcD1cIkV4Y2x1aXJcIiBkYXRhLWZsb3c9XCJ0b3BcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiYWN0aW9uRXZlbnQoJ2RlbGV0ZScpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndjby1wcmV2aWV3RmlsZV9fYWN0aW9uLS1idXR0b25JY29uXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+ZGVsZXRlPC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWN0aW9ucy5pbmNsdWRlcygndmlldycpXCIgZGF0YS10b29sdGlwPVwiVmlzdWFsaXphclwiIGRhdGEtZmxvdz1cInRvcFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJhY3Rpb25FdmVudCgndmlldycpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndjby1wcmV2aWV3RmlsZV9fYWN0aW9uLS1idXR0b25JY29uXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+dmlzaWJpbGl0eTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiY3VzdG9tQ29udGVudFwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwicHJldmlldyAmJiB4KCkgJiYgeSgpXCI+XG4gIDxkaWFsb2cgW2lkXT1cImlkXCIgW25nU3R5bGVdPVwieyctLWRpYWxvZy14JzogeCgpLCAnLS1kaWFsb2cteSc6IHkoKX1cIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIj5cbiAgICA8ZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50XCI+XG4gICAgICAgIDxpbWcgKm5nSWY9XCJ0eXBlRmlsZUZvcm1hdCgpID09PSAnaW1hZ2UnXCIgW3NyY109XCJ1cmxcIiBhbHQ9XCJJbWFnZW0gZG8gZG9jdW1lbnRvXCIgbG9hZGluZz1cImxhenlcIiByb2xlPVwiaW1nXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93RGlhbG9nXCI+IFxuICAgICAgICAgIDx2aWRlbyAqbmdJZj1cInR5cGVGaWxlRm9ybWF0KCkgPT09ICd2aWRlbydcIiBhdXRvcGxheSBbc3JjXT1cInVybFwiIGNvbnRyb2xzIHJvbGU9XCJ2aWRlb1wiPjwvdmlkZW8+XG4gICAgICAgICAgPGlmcmFtZSAqbmdJZj1cInR5cGVGaWxlRm9ybWF0KCkgPT09ICdwZGYnXCIgW3NyY109XCJ0cmFuc2Zvcm1QREZTZWN1cml0eSh1cmwpXCIgcm9sZT1cImRvY3VtZW50XCI+PC9pZnJhbWU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIGZsZXgganVzdGlmeS1jZW50ZXIgbXkteHhzXCI+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIiBjbGFzcz1cIndjby1idG4gYnRuLXByaW1hcnkgYnRuLXNtXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPkZlY2hhcjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGlhbG9nPlxuPC9uZy1jb250YWluZXI+Il19
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9saWIvcHJldmlldy1maWxlL3ByZXZpZXctZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9uZW50cy9zcmMvbGliL3ByZXZpZXctZmlsZS9wcmV2aWV3LWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQWMvQyxNQUFNLE9BQU8sb0JBQW9CO0lBMkVYO0lBQWlDO0lBekVyRCxrQkFBa0IsQ0FBOEI7SUFFaEQsbURBQW1EO0lBQzVDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFHMUIsaUNBQWlDO0lBQ3hCLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsbUNBQW1DO0lBQzFCLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDckIsbURBQW1EO0lBQzFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsaURBQWlEO0lBQ3hDLE9BQU8sQ0FBNkI7SUFDN0Msa0NBQWtDO0lBQ3pCLE1BQU0sQ0FBMEI7SUFDekMsK0JBQStCO0lBQ3RCLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDbEIscUNBQXFDO0lBQzVCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDL0IsZ0RBQWdEO0lBQ3ZDLElBQUksR0FBbUIsS0FBSyxDQUFDO0lBQ3RDLGtDQUFrQztJQUN6QixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBRXBCLG9EQUFvRDtJQUNwRCxJQUFhLE9BQU8sQ0FBQyxJQUE2QjtRQUNoRCxJQUFJLENBQUMsSUFB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Q0FBQzt3R0F4TlUsb0JBQW9COzRGQUFwQixvQkFBb0IseWJDeEJqQyxzK0pBOEZlLHE0TEQxRUgsWUFBWTs7NEZBSVgsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7c0dBTXZCLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBUXpDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR08sT0FBTztzQkFBbkIsS0FBSztnQkFNSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIFByZXZpZXdGaWxlQWN0aW9uc1R5cGVzLFxuICBQcmV2aWV3RmlsZVN0YXR1c1R5cGVzLFxufSBmcm9tICcuL3ByZXZpZXctZmlsZS50eXBlcyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3djby1wcmV2aWV3LWZpbGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3ByZXZpZXctZmlsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ByZXZpZXctZmlsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQcmV2aWV3RmlsZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ3ByZXZpZXdGaWxlRWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwcmV2aWV3RmlsZUVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAvKiBDb250cm9sZSBkZSBleGliacOnw6NvIGRvIG1vZGFsIGRlIHZpc3VhbGl6YcOnw6NvICovXG4gIHB1YmxpYyBzaG93RGlhbG9nID0gZmFsc2U7XG4gIFxuXG4gIC8qIE5vbWUgZG8gYXJxdWl2byAob3B0aW9uY2FsKSAqL1xuICBASW5wdXQoKSBmaWxlbmFtZSA9ICcnO1xuICAvKiBGb3JtYXRvIGRvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSBmb3JtYXQgPSAnJztcbiAgLyogTW9zdHJhciBwcmV2aXN1YWxpemHDp8OjbyBkbyBhcnF1aXZvIChvcHRpb25hbCkgKi9cbiAgQElucHV0KCkgcHJldmlldyA9IHRydWU7XG4gIC8qIEHDp8O1ZXMgZGlzcG9uw612ZWlzIHBhcmEgbyBhcnF1aXZvIChvcHRpb25hbCkgKi9cbiAgQElucHV0KCkgYWN0aW9ucyE6IFByZXZpZXdGaWxlQWN0aW9uc1R5cGVzW107XG4gIC8qIFN0YXR1cyBkbyBhcnF1aXZvIChvcHRpb25hbCkgKi9cbiAgQElucHV0KCkgc3RhdHVzITogUHJldmlld0ZpbGVTdGF0dXNUeXBlcztcbiAgLyogVVJMIGRvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSB1cmwgPSAnJztcbiAgLyogQ29udGXDumRvIGN1c3RvbWl6YWRvIChvcHRpb25hbCkgKi9cbiAgQElucHV0KCkgY3VzdG9tQ29udGVudCA9IGZhbHNlO1xuICAvKiBUaXBvIGRlIHZpc3VhbGl6YcOnw6NvIGRvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSB0eXBlOiAnbWluaScgfCAnYm94JyA9ICdib3gnO1xuICAvKiBUw610dWxvIGRvIGFycXVpdm8gKG9wdGlvbmFsKSAqL1xuICBASW5wdXQoKSB0aXRsZSA9ICcnO1xuXG4gIC8qIEFycXVpdm8gcGFyYSB2aXN1YWxpemHDp8OjbyBuYXRpdm8gZG8gaW5wdXQgZmlsZSAqL1xuICBASW5wdXQoKSBzZXQgc2V0ZmlsZShmaWxlOiBGaWxlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghZmlsZSkgcmV0dXJuO1xuICAgIHRoaXMudHJhbnNmb3JtRmlsZXMoZmlsZSk7XG4gIH1cblxuICAvKiBFdmVudG8gZGUgY2xpcXVlIG5hcyBhw6fDtWVzIGRvIGFycXVpdm8gKi9cbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBhY3Rpb246IFByZXZpZXdGaWxlQWN0aW9uc1R5cGVzO1xuICAgIGRhdGE6IGFueTtcbiAgfT4oKTtcblxuXG4gIGdldCBuYW1lKCkge1xuICAgIGlmKCEhdGhpcy5maWxlbmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsZW5hbWVcbiAgICB9XG5cbiAgICBpZighIXRoaXMudXJsKSB7XG4gICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRoaXMudXJsKTtcbiAgICAgIGNvbnN0IG5hbWUgPSB1cmwucGF0aG5hbWUuc3BsaXQoJy8nKS5wb3AoKTtcbiAgICAgIGNvbnN0IHRvdGFsID0gbmFtZSA/IG5hbWU/Lmxlbmd0aCA+PSAzMCA/IDE1IDogMCA6IDA7XG4gICAgICByZXR1cm4gbmFtZT8uc3Vic3RyaW5nKHRvdGFsLCBuYW1lLmxlbmd0aCk7XG4gICAgfVxuICAgIHJldHVybiAnTm9tZSBuw6NvIGluZm9ybWFkbyc7XG4gIH1cblxuICBnZXQgX2Zvcm1hdCgpIHsgXG5cbiAgICBpZiAoISF0aGlzLmZvcm1hdCkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0O1xuICAgIH1cblxuICAgIGlmICh0aGlzLnVybCkge1xuICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCh0aGlzLnVybCk7XG4gICAgICBjb25zdCBmb3JtYXQgPSB1cmwucGF0aG5hbWUuc3BsaXQoJy4nKS5wb3AoKTtcbiAgICAgIHJldHVybiBmb3JtYXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuICdmaWxlJztcbiAgfVxuICBcbiAgaWRSYW5kb20gPSAncHJldmlldy0nICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpO1xuICBpZCA9ICdtb2RhbC0nICsgdGhpcy5pZFJhbmRvbTtcblxuICB5ID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KCcxMDBweCcpO1xuICB4ID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KCcxMDBweCcpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsIHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHt9XG5cbiAgcHJpdmF0ZSB0cmFuc2Zvcm1GaWxlcyhmaWxlOiBGaWxlKSB7XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmZpbGVuYW1lID0gZmlsZS5uYW1lO1xuICAgICAgICB0aGlzLmZvcm1hdCA9IGZpbGUudHlwZSB8fCAnZmlsZSc7XG4gICAgICAgIHRoaXMudXJsID0gZS50YXJnZXQucmVzdWx0O1xuICAgICAgfTtcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIHRyYW5zZm9ybVBERlNlY3VyaXR5KHVybDogc3RyaW5nKTogU2FmZUh0bWwge1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcbiAgfVxuXG4gIHByaXZhdGUgcG9zaXRpb25UaHVtYm5haWwoKSB7XG4gICAgaWYgKCF0aGlzLnByZXZpZXdGaWxlRWxlbWVudD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHByZXZpZXdGaWxlRWxlbWVudCA9IHRoaXMucHJldmlld0ZpbGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgY2FyZFBvc2l0aW9uID0gcHJldmlld0ZpbGVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXG4gICAgICAnd2NvLXByZXZpZXdGaWxlLS10aHVtYmwnXG4gICAgKVswXSBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmICghY2FyZFBvc2l0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICBjb25zdCB7IHgsIHkgfSA9IGNhcmRQb3NpdGlvbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICB0aGlzLnkuc2V0KHkgKyAncHgnKTtcbiAgICAgICAgICB0aGlzLnguc2V0KHggKyAncHgnKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpb25FdmVudChhY3Rpb246IFByZXZpZXdGaWxlQWN0aW9uc1R5cGVzKSB7XG5cbiAgICAvLyBDYXNvIG8gdXN1w6FyaW8gY2xpcXVlIG5vIGJvdMOjbyBkZSB2aXN1YWxpemHDp8OjbywgYWJyZSBvIG1vZGFsIGRlIHZpc3VhbGl6YcOnw6NvXG4gICAgaWYoYWN0aW9uID09PSAndmlldycgJiYgdGhpcy50eXBlRmlsZUZvcm1hdCgpICE9PSAnZmlsZScgJiYgdGhpcy5wcmV2aWV3KSB7XG4gICAgICB0aGlzLm1vZGFsUHJldmlldygpO1xuICAgIH1cbiAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdCh7XG4gICAgICBhY3Rpb24sXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGZpbGVuYW1lOiB0aGlzLmZpbGVuYW1lLFxuICAgICAgICBmb3JtYXQ6IHRoaXMuZm9ybWF0LFxuICAgICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgICBmaWxlOiB0aGlzLnVybCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBFdmVudG9zIGRlIG1vZGFsXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIG1vZGFsUHJldmlldygpIHtcbiAgICBpZiAoISEhdGhpcy51cmwgfHwgdGhpcy50eXBlRmlsZUZvcm1hdCgpID09PSAnZmlsZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zaG93RGlhbG9nID0gdHJ1ZTtcbiAgICB0aGlzLnBvc2l0aW9uVGh1bWJuYWlsKCk7XG4gICAgY29uc3QgbW9kYWw6IGFueSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpO1xuICAgIG1vZGFsPy5zaG93TW9kYWwoKTtcbiAgfVxuXG4gIGNsb3NlRGlhbG9nKCkge1xuICAgIGNvbnN0IG1vZGFsOiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtcbiAgICBtb2RhbD8uY2xvc2UoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd0RpYWxvZyA9IGZhbHNlO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLy8gRm9ybWF0b3MgZSBwb3Npw6fDtWVzIGRlIMOtY29uZXNcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgZ2V0SWNvbk1hdGVyaWFsKHR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgaWNvbk1hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgICdwZGYnOiAncGljdHVyZV9hc19wZGYnLFxuICAgICAgJ2FwcGxpY2F0aW9uL3BkZic6ICdwaWN0dXJlX2FzX3BkZicsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnOlxuICAgICAgICAnZGVzY3JpcHRpb24nLFxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JzpcbiAgICAgICAgJ3RhYmxlX2NoYXJ0JyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uJzpcbiAgICAgICAgJ3NsaWRlc2hvdycsXG4gICAgICAnaW1hZ2UvanBlZyc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2UvcG5nJzogJ2ltYWdlJyxcbiAgICAgICdpbWFnZS9naWYnOiAnaW1hZ2UnLFxuICAgICAgJ2ltYWdlL2JtcCc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2Uvd2VicCc6ICdpbWFnZScsXG4gICAgICBwbmc6ICdpbWFnZScsXG4gICAgICBqcGVnOiAnaW1hZ2UnLFxuICAgICAgZ2lmOiAnaW1hZ2UnLFxuICAgICAgYm1wOiAnaW1hZ2UnLFxuICAgICAgd2VicDogJ2ltYWdlJyxcbiAgICAgICd2aWRlby9tcDQnOiAnb25kZW1hbmRfdmlkZW8nLFxuICAgICAgJ21wNCc6ICdvbmRlbWFuZF92aWRlbycsXG4gICAgICAndmlkZW8vcXVpY2t0aW1lJzogJ29uZGVtYW5kX3ZpZGVvJyxcbiAgICAgICd2aWRlby94LW1zdmlkZW8nOiAnb25kZW1hbmRfdmlkZW8nLFxuICAgICAgJ3ZpZGVvL3gtbXMtd212JzogJ29uZGVtYW5kX3ZpZGVvJyxcbiAgICAgICdhdWRpby9tcGVnJzogJ2F1ZGlvdHJhY2snLFxuICAgICAgJ2F1ZGlvL29nZyc6ICdhdWRpb3RyYWNrJyxcbiAgICAgICdhdWRpby93YXYnOiAnYXVkaW90cmFjaycsXG4gICAgICAnYXVkaW8vd2VibSc6ICdhdWRpb3RyYWNrJyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGljb25NYXBbdHlwZV0gfHwgJ2luc2VydF9kcml2ZV9maWxlJztcbiAgfVxuXG4gIHR5cGVGaWxlRm9ybWF0KCk6ICdwZGYnIHwgJ2ltYWdlJyB8ICd2aWRlbycgfCAnZmlsZScge1xuICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMuX2Zvcm1hdCB8fCAnZmlsZSdcbiAgICBjb25zdCB0eXBlTWFwOiB7IFtrZXk6IHN0cmluZ106ICdwZGYnIHwgJ2ltYWdlJyB8ICd2aWRlbycgfCAnZmlsZScgfSA9IHtcbiAgICAgIHBkZjogJ3BkZicsXG4gICAgICAnYXBwbGljYXRpb24vcGRmJzogJ3BkZicsXG4gICAgICAnaW1hZ2UvanBlZyc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2UvcG5nJzogJ2ltYWdlJyxcbiAgICAgICdpbWFnZS9naWYnOiAnaW1hZ2UnLFxuICAgICAgJ2ltYWdlL2JtcCc6ICdpbWFnZScsXG4gICAgICAnaW1hZ2Uvd2VicCc6ICdpbWFnZScsXG4gICAgICBwbmc6ICdpbWFnZScsXG4gICAgICBqcGVnOiAnaW1hZ2UnLFxuICAgICAganBnOiAnaW1hZ2UnLFxuICAgICAgZ2lmOiAnaW1hZ2UnLFxuICAgICAgYm1wOiAnaW1hZ2UnLFxuICAgICAgd2VicDogJ2ltYWdlJyxcbiAgICAgIG1wNDogJ3ZpZGVvJyxcbiAgICAgIG1vdjogJ3ZpZGVvJyxcbiAgICAgICd2aWRlby9tcDQnOiAndmlkZW8nLFxuICAgICAgJ3ZpZGVvL3F1aWNrdGltZSc6ICd2aWRlbydcbiAgICB9O1xuXG4gICAgcmV0dXJuIHR5cGVNYXBbZm9ybWF0XSB8fCAnZmlsZSc7XG4gIH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cIid3Y28tcHJldmlld0ZpbGUgd2NvLXByZXZpZXdGaWxlLXR5cGUnICsgdHlwZVwiICNwcmV2aWV3RmlsZUVsZW1lbnQ+XG4gIDxoNCAqbmdJZj1cInRpdGxlXCIgY2xhc3M9XCJkaXNwbGF5LWJvZHkgYm9sZFwiPnt7IHRpdGxlIH19PC9oND5cblxuICA8ZGl2IFtjbGFzc109XCInd2NvLXByZXZpZXdGaWxlLS10aHVtYmwgdHlwZS1maWxlLScgKyB0eXBlRmlsZUZvcm1hdCgpXCIgW2lkXT1cImlkUmFuZG9tXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ3Y28tcHJldmlld0ZpbGUtcHJldmlld1wiIChjbGljayk9XCJwcmV2aWV3ID8gbW9kYWxQcmV2aWV3KCkgOiBudWxsXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGVGaWxlRm9ybWF0KCkgPT09ICdpbWFnZScgJiYgISF1cmxcIj5cbiAgICAgICAgPGltZyBbc3JjXT1cInVybFwiIGFsdD1cIkltYWdlbSBkbyBkb2N1bWVudG9cIiBsb2FkaW5nPVwibGF6eVwiIHJvbGU9XCJpbWdcIj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGVGaWxlRm9ybWF0KCkgIT09ICdpbWFnZScgfHwgIXVybFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPnt7IGdldEljb25NYXRlcmlhbChmb3JtYXQpIH19PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICAgIDxoNSAoY2xpY2spPVwicHJldmlldyA/IG1vZGFsUHJldmlldygpIDogbnVsbFwiIHJvbGU9XCJoZWFkaW5nXCIgYXJpYS1sZXZlbD1cIjJcIj5cbiAgICAgIHt7IG5hbWUgfX08L2g1PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwid2NvLXByZXZpZXdGaWxlX19hY3Rpb25cIj5cbiAgICA8ZGl2IGNsYXNzPVwid2NvLXByZXZpZXdGaWxlX19hY3Rpb24tLXN0YXR1c1wiICpuZ0lmPVwiIWN1c3RvbUNvbnRlbnRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0dXMgJiYgc3RhdHVzLnR5cGUgJiYgc3RhdHVzLnRleHRcIj5cbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cIid3Y28tdGFnIHRhZy0nICsgc3RhdHVzLnR5cGVcIiByb2xlPVwic3RhdHVzXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJzdGF0dXMuaWNvbk1hdGVyaWFsXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIHJvbGU9XCJwcmVzZW50YXRpb25cIj57eyBzdGF0dXMuaWNvbk1hdGVyaWFsIH19PC9zcGFuPlxuICAgICAgICAgIHt7IHN0YXR1cy50ZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDYgKm5nSWY9XCJzdGF0dXMucHJlZml4RGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIDxzdHJvbmc+e3sgc3RhdHVzLnByZWZpeERlc2NyaXB0aW9uIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9oNj5cbiAgICAgICAgICA8cCAqbmdJZj1cInN0YXR1cy5kZXNjcmlwdGlvblwiPnt7IHN0YXR1cy5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2NvLXByZXZpZXdGaWxlX19hY3Rpb24tLWJ1dHRvbnNcIiAqbmdJZj1cIiFjdXN0b21Db250ZW50XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWN1c3RvbUNvbnRlbnQgJiYgISFhY3Rpb25zPy5sZW5ndGhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiYWN0aW9ucy5pbmNsdWRlcygncmVmcmVzaCcpXCIgKGNsaWNrKT1cImFjdGlvbkV2ZW50KCdyZWZyZXNoJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3Y28tYnRuIGJ0bi1wcmltYXJ5IGJ0bi1vdXRsaW5lIGJ0bi1zbVwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+Y2FjaGVkPC9zcGFuPlxuICAgICAgICAgICAgUmVlbnZpYXJcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiYWN0aW9ucy5pbmNsdWRlcygnYXByb3ZlZCcpXCIgKGNsaWNrKT1cImFjdGlvbkV2ZW50KCdhcHJvdmVkJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3Y28tYnRuIGJ0bi1wcmltYXJ5IGJ0bi1vdXRsaW5lIGJ0bi1zbVwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgIEFwcm92YXJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+ZG9uZTwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uICAqbmdJZj1cImFjdGlvbnMuaW5jbHVkZXMoJ3JlcHJvdmVkJylcIiAoY2xpY2spPVwiYWN0aW9uRXZlbnQoJ3JlcHJvdmVkJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3Y28tYnRuIGJ0bi1wcmltYXJ5IGJ0bi1vdXRsaW5lIGJ0bi1zbVwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgIFJlY3VzYXJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+Y2xvc2U8L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImFjdGlvbnMuaW5jbHVkZXMoJ2Rvd25sb2FkJykgfHwgYWN0aW9ucy5pbmNsdWRlcygnZGVsZXRlJykgXCIgY2xhc3M9XCJ3Y28tcHJldmlld0ZpbGVfX2FjdGlvbi0tYnV0dG9uc0ljb25cIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWN0aW9ucy5pbmNsdWRlcygnZG93bmxvYWQnKVwiIGRhdGEtdG9vbHRpcD1cIkRvd25sb2FkXCIgZGF0YS1mbG93PVwidG9wXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImFjdGlvbkV2ZW50KCdkb3dubG9hZCcpXCIgY2xhc3M9XCJ3Y28tcHJldmlld0ZpbGUtLWJ1dHRvbkljb25cIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPmZpbGVfZG93bmxvYWQ8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhY3Rpb25zLmluY2x1ZGVzKCdkZWxldGUnKVwiIGRhdGEtdG9vbHRpcD1cIkV4Y2x1aXJcIiBkYXRhLWZsb3c9XCJ0b3BcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiYWN0aW9uRXZlbnQoJ2RlbGV0ZScpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndjby1wcmV2aWV3RmlsZV9fYWN0aW9uLS1idXR0b25JY29uXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+ZGVsZXRlPC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWN0aW9ucy5pbmNsdWRlcygndmlldycpXCIgZGF0YS10b29sdGlwPVwiVmlzdWFsaXphclwiIGRhdGEtZmxvdz1cInRvcFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJhY3Rpb25FdmVudCgndmlldycpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIndjby1wcmV2aWV3RmlsZV9fYWN0aW9uLS1idXR0b25JY29uXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+dmlzaWJpbGl0eTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiY3VzdG9tQ29udGVudFwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwicHJldmlldyAmJiB4KCkgJiYgeSgpXCI+XG4gIDxkaWFsb2cgW2lkXT1cImlkXCIgW25nU3R5bGVdPVwieyctLWRpYWxvZy14JzogeCgpLCAnLS1kaWFsb2cteSc6IHkoKX1cIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2NvLWRpYWxvZy13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRlbnRcIj5cbiAgICAgICAgPGltZyAqbmdJZj1cInR5cGVGaWxlRm9ybWF0KCkgPT09ICdpbWFnZSdcIiBbc3JjXT1cInVybFwiIGFsdD1cIkltYWdlbSBkbyBkb2N1bWVudG9cIiBsb2FkaW5nPVwibGF6eVwiIHJvbGU9XCJpbWdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dEaWFsb2dcIj4gXG4gICAgICAgICAgPHZpZGVvICpuZ0lmPVwidHlwZUZpbGVGb3JtYXQoKSA9PT0gJ3ZpZGVvJ1wiIGF1dG9wbGF5IFtzcmNdPVwidXJsXCIgY29udHJvbHMgcm9sZT1cInZpZGVvXCI+PC92aWRlbz5cbiAgICAgICAgICA8aWZyYW1lICpuZ0lmPVwidHlwZUZpbGVGb3JtYXQoKSA9PT0gJ3BkZidcIiBbc3JjXT1cInRyYW5zZm9ybVBERlNlY3VyaXR5KHVybClcIiByb2xlPVwiZG9jdW1lbnRcIj48L2lmcmFtZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBqdXN0aWZ5LWNlbnRlciBteS14eHNcIj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiIGNsYXNzPVwid2NvLWJ0biBidG4tcHJpbWFyeSBidG4tc21cIiByb2xlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCI+RmVjaGFyPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaWFsb2c+XG48L25nLWNvbnRhaW5lcj4iXX0=