@sapphire-ion/framework 0.30.14 → 0.30.16

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.
@@ -36,11 +36,11 @@ export class DefaultViewComponent extends View {
36
36
  this.noBreadcrumbs = false;
37
37
  }
38
38
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultViewComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ElementRef }, { token: i2.ActivatedRoute }, { token: i3.GenericService }, { token: i4.NavController }], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DefaultViewComponent, selector: "default-view", inputs: { noBack: "noBack", noNew: "noNew", noBreadcrumbs: "noBreadcrumbs" }, usesInheritance: true, ngImport: i0, template: "<ion-content class=\"bg-transparent\"> \r\n <div class=\"wrapper\" [ngClass]=\"{'!p-0 translucid-primary-background': nested}\" tabindex=\"-1\">\r\n @if (!noBreadcrumbs) {\r\n <ion-breadcrumbs>\r\n <ion-breadcrumb class=\"cursor-pointer\" (click)=\"NavigateToList()\">\r\n {{service.title}}\r\n </ion-breadcrumb>\r\n <ion-breadcrumb> \r\n {{id == 0 ? 'Novo Registro' : 'Editar Registro' }} \r\n </ion-breadcrumb>\r\n </ion-breadcrumbs>\r\n }\r\n \r\n <ion-card>\r\n <ion-card-header class=\"!block\">\r\n <header-view *ngIf=\"service\" [novo]=\"id == 0\" [useDefaultRouting]=\"nested\" [loading]=\"loading\" [progress]=\"progress\" (save)=\"Save()\" [noBack]=\"noBack\" [noNew]=\"noNew\"></header-view>\r\n </ion-card-header>\r\n <ion-card-content class=\"p-0 h-full !overflow-y-auto overflow-x-hidden\">\r\n <div class=\"grid grid-cols-12 gap-4 w-full\" *ngIf=\"frm\" [formGroup]=\"frm\">\r\n \r\n @for (field of lstTableFields; track $index) {\r\n @if (field.index != 'id') {\r\n @if (!field.hiddenView) {\r\n @switch (field.type) {\r\n @case (\"Bool\") {\r\n <input-bool [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\" ></input-bool>\r\n }\r\n @case (\"Currency\") {\r\n <input-currency [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-currency>\r\n }\r\n @case (\"Date\") {\r\n <input-date [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-date>\r\n }\r\n @case (\"Time\") {\r\n <input-time [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-time>\r\n }\r\n @case (\"DateTime\") {\r\n <input-date-time [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-date-time>\r\n }\r\n @case (\"Decimal\") {\r\n <input-decimal [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-decimal>\r\n }\r\n @case (\"File\") {\r\n <input-file [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-file>\r\n }\r\n @case (\"String\") {\r\n <input-string [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\"></input-string>\r\n }\r\n @case (\"TextArea\") {\r\n <input-textarea [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\"></input-textarea>\r\n }\r\n @case (\"Number\") {\r\n <input-number [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-number>\r\n }\r\n @case (\"Select\") {\r\n <input-select [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-select>\r\n }\r\n @case (\"Cpf\") {\r\n <input-cpf [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cpf>\r\n }\r\n @case (\"Cnpj\") {\r\n <input-cnpj [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cnpj>\r\n }\r\n @case (\"CpfCnpj\") {\r\n <input-cpf-cnpj [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cpf-cnpj>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n <div class=\"col-span-full rounded-2xl p-3 flex items-center justify-center\" *ngIf=\"!service || service.lstTableFields.length == 0\" style=\"background: var(--ion-color-danger);\">\r\n <ion-text class=\"text-2xl text-white\">\r\n <ion-icon class=\"align-sub text-3xl\" name=\"alert-circle\"></ion-icon> [ Invalid Configuration ]\r\n </ion-text>\r\n </div>\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n</ion-content>", styles: ["ion-card-header{padding:0}\n"], dependencies: [{ kind: "component", type: i4.IonBreadcrumb, selector: "ion-breadcrumb", inputs: ["active", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "separator", "target"] }, { kind: "component", type: i4.IonBreadcrumbs, selector: "ion-breadcrumbs", inputs: ["color", "itemsAfterCollapse", "itemsBeforeCollapse", "maxItems", "mode"] }, { kind: "component", type: i4.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i4.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i4.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i4.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.InputBoolComponent, selector: "input-bool", inputs: ["configuration"] }, { kind: "component", type: i7.InputDateComponent, selector: "input-date, input-date-time, input-time", inputs: ["configuration"] }, { kind: "component", type: i8.InputDecimalComponent, selector: "input-decimal, input-number, input-currency, inout-percentage", inputs: ["configuration"] }, { kind: "component", type: i9.InputFileComponent, selector: "input-file", inputs: ["configuration"] }, { kind: "component", type: i10.InputSelectComponent, selector: "input-select", inputs: ["items", "configuration", "Search"], outputs: ["itemsChange", "configurationChange", "SearchChange"] }, { kind: "component", type: i11.InputStringComponent, selector: "input-string", inputs: ["configuration", "type"] }, { kind: "component", type: i12.InputTextareaComponent, selector: "input-textarea", inputs: ["configuration"] }, { kind: "component", type: i13.InputCpfCnpjComponent, selector: "input-cpf-cnpj, input-cpf, input-cnpj", inputs: ["configuration"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i14.HeaderViewComponent, selector: "header-view", inputs: ["novo", "loading", "progress", "noBack", "noNew", "useDefaultRouting", "backRoute"], outputs: ["save"] }] }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DefaultViewComponent, selector: "default-view", inputs: { noBack: "noBack", noNew: "noNew", noBreadcrumbs: "noBreadcrumbs" }, usesInheritance: true, ngImport: i0, template: "<ion-content class=\"bg-transparent\"> \r\n <div class=\"wrapper\" [ngClass]=\"{'!p-0 translucid-primary-background': nested}\" tabindex=\"-1\">\r\n @if (!noBreadcrumbs) {\r\n <ion-breadcrumbs>\r\n <ion-breadcrumb class=\"cursor-pointer\" (click)=\"NavigateToList()\">\r\n {{service.title}}\r\n </ion-breadcrumb>\r\n <ion-breadcrumb> \r\n {{id == 0 ? 'Novo Registro' : 'Editar Registro' }} \r\n </ion-breadcrumb>\r\n </ion-breadcrumbs>\r\n }\r\n \r\n <ion-card>\r\n <ion-card-header class=\"!block\">\r\n <header-view *ngIf=\"service\" [novo]=\"id == 0\" [useDefaultRouting]=\"nested\" [loading]=\"loading\" [progress]=\"progress\" (save)=\"Save()\" [noBack]=\"noBack\" [noNew]=\"noNew\"></header-view>\r\n </ion-card-header>\r\n <ion-card-content class=\"p-0 h-full !overflow-y-auto overflow-x-hidden\">\r\n <div class=\"grid grid-cols-12 gap-4 w-full\" *ngIf=\"frm\" [formGroup]=\"frm\">\r\n \r\n @for (field of lstTableFields; track $index) {\r\n @if (field.index != 'id') {\r\n @if (!field.hiddenView) {\r\n @switch (field.type) {\r\n @case (\"Bool\") {\r\n <input-bool [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\" ></input-bool>\r\n }\r\n @case (\"Currency\") {\r\n <input-currency [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-currency>\r\n }\r\n @case (\"Date\") {\r\n <input-date [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-date>\r\n }\r\n @case (\"Time\") {\r\n <input-time [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-time>\r\n }\r\n @case (\"DateTime\") {\r\n <input-date-time [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-date-time>\r\n }\r\n @case (\"Decimal\") {\r\n <input-decimal [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-decimal>\r\n }\r\n @case (\"File\") {\r\n <input-file [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-file>\r\n }\r\n @case (\"String\") {\r\n <input-string [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-string>\r\n }\r\n @case (\"TextArea\") {\r\n <input-textarea [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-textarea>\r\n }\r\n @case (\"Number\") {\r\n <input-number [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-number>\r\n }\r\n @case (\"Select\") {\r\n <input-select [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-select>\r\n }\r\n @case (\"Cpf\") {\r\n <input-cpf [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cpf>\r\n }\r\n @case (\"Cnpj\") {\r\n <input-cnpj [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cnpj>\r\n }\r\n @case (\"CpfCnpj\") {\r\n <input-cpf-cnpj [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cpf-cnpj>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n <div class=\"col-span-full rounded-2xl p-3 flex items-center justify-center\" *ngIf=\"!service || service.lstTableFields.length == 0\" style=\"background: var(--ion-color-danger);\">\r\n <ion-text class=\"text-2xl text-white\">\r\n <ion-icon class=\"align-sub text-3xl\" name=\"alert-circle\"></ion-icon> [ Invalid Configuration ]\r\n </ion-text>\r\n </div>\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n</ion-content>", styles: ["ion-card-header{padding:0}\n"], dependencies: [{ kind: "component", type: i4.IonBreadcrumb, selector: "ion-breadcrumb", inputs: ["active", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "separator", "target"] }, { kind: "component", type: i4.IonBreadcrumbs, selector: "ion-breadcrumbs", inputs: ["color", "itemsAfterCollapse", "itemsBeforeCollapse", "maxItems", "mode"] }, { kind: "component", type: i4.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i4.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i4.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i4.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.InputBoolComponent, selector: "input-bool", inputs: ["configuration"] }, { kind: "component", type: i7.InputDateComponent, selector: "input-date, input-date-time, input-time", inputs: ["configuration"] }, { kind: "component", type: i8.InputDecimalComponent, selector: "input-decimal, input-number, input-currency, inout-percentage", inputs: ["configuration"] }, { kind: "component", type: i9.InputFileComponent, selector: "input-file", inputs: ["configuration"] }, { kind: "component", type: i10.InputSelectComponent, selector: "input-select", inputs: ["items", "configuration", "Search"], outputs: ["itemsChange", "configurationChange", "SearchChange"] }, { kind: "component", type: i11.InputStringComponent, selector: "input-string", inputs: ["configuration", "type"] }, { kind: "component", type: i12.InputTextareaComponent, selector: "input-textarea", inputs: ["configuration"] }, { kind: "component", type: i13.InputCpfCnpjComponent, selector: "input-cpf-cnpj, input-cpf, input-cnpj", inputs: ["configuration"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i14.HeaderViewComponent, selector: "header-view", inputs: ["novo", "loading", "progress", "noBack", "noNew", "useDefaultRouting", "backRoute"], outputs: ["save"] }] }); }
40
40
  }
41
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultViewComponent, decorators: [{
42
42
  type: Component,
43
- args: [{ selector: 'default-view', template: "<ion-content class=\"bg-transparent\"> \r\n <div class=\"wrapper\" [ngClass]=\"{'!p-0 translucid-primary-background': nested}\" tabindex=\"-1\">\r\n @if (!noBreadcrumbs) {\r\n <ion-breadcrumbs>\r\n <ion-breadcrumb class=\"cursor-pointer\" (click)=\"NavigateToList()\">\r\n {{service.title}}\r\n </ion-breadcrumb>\r\n <ion-breadcrumb> \r\n {{id == 0 ? 'Novo Registro' : 'Editar Registro' }} \r\n </ion-breadcrumb>\r\n </ion-breadcrumbs>\r\n }\r\n \r\n <ion-card>\r\n <ion-card-header class=\"!block\">\r\n <header-view *ngIf=\"service\" [novo]=\"id == 0\" [useDefaultRouting]=\"nested\" [loading]=\"loading\" [progress]=\"progress\" (save)=\"Save()\" [noBack]=\"noBack\" [noNew]=\"noNew\"></header-view>\r\n </ion-card-header>\r\n <ion-card-content class=\"p-0 h-full !overflow-y-auto overflow-x-hidden\">\r\n <div class=\"grid grid-cols-12 gap-4 w-full\" *ngIf=\"frm\" [formGroup]=\"frm\">\r\n \r\n @for (field of lstTableFields; track $index) {\r\n @if (field.index != 'id') {\r\n @if (!field.hiddenView) {\r\n @switch (field.type) {\r\n @case (\"Bool\") {\r\n <input-bool [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\" ></input-bool>\r\n }\r\n @case (\"Currency\") {\r\n <input-currency [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-currency>\r\n }\r\n @case (\"Date\") {\r\n <input-date [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-date>\r\n }\r\n @case (\"Time\") {\r\n <input-time [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-time>\r\n }\r\n @case (\"DateTime\") {\r\n <input-date-time [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-date-time>\r\n }\r\n @case (\"Decimal\") {\r\n <input-decimal [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-decimal>\r\n }\r\n @case (\"File\") {\r\n <input-file [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-file>\r\n }\r\n @case (\"String\") {\r\n <input-string [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\"></input-string>\r\n }\r\n @case (\"TextArea\") {\r\n <input-textarea [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\"></input-textarea>\r\n }\r\n @case (\"Number\") {\r\n <input-number [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-number>\r\n }\r\n @case (\"Select\") {\r\n <input-select [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-select>\r\n }\r\n @case (\"Cpf\") {\r\n <input-cpf [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cpf>\r\n }\r\n @case (\"Cnpj\") {\r\n <input-cnpj [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cnpj>\r\n }\r\n @case (\"CpfCnpj\") {\r\n <input-cpf-cnpj [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cpf-cnpj>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n <div class=\"col-span-full rounded-2xl p-3 flex items-center justify-center\" *ngIf=\"!service || service.lstTableFields.length == 0\" style=\"background: var(--ion-color-danger);\">\r\n <ion-text class=\"text-2xl text-white\">\r\n <ion-icon class=\"align-sub text-3xl\" name=\"alert-circle\"></ion-icon> [ Invalid Configuration ]\r\n </ion-text>\r\n </div>\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n</ion-content>", styles: ["ion-card-header{padding:0}\n"] }]
43
+ args: [{ selector: 'default-view', template: "<ion-content class=\"bg-transparent\"> \r\n <div class=\"wrapper\" [ngClass]=\"{'!p-0 translucid-primary-background': nested}\" tabindex=\"-1\">\r\n @if (!noBreadcrumbs) {\r\n <ion-breadcrumbs>\r\n <ion-breadcrumb class=\"cursor-pointer\" (click)=\"NavigateToList()\">\r\n {{service.title}}\r\n </ion-breadcrumb>\r\n <ion-breadcrumb> \r\n {{id == 0 ? 'Novo Registro' : 'Editar Registro' }} \r\n </ion-breadcrumb>\r\n </ion-breadcrumbs>\r\n }\r\n \r\n <ion-card>\r\n <ion-card-header class=\"!block\">\r\n <header-view *ngIf=\"service\" [novo]=\"id == 0\" [useDefaultRouting]=\"nested\" [loading]=\"loading\" [progress]=\"progress\" (save)=\"Save()\" [noBack]=\"noBack\" [noNew]=\"noNew\"></header-view>\r\n </ion-card-header>\r\n <ion-card-content class=\"p-0 h-full !overflow-y-auto overflow-x-hidden\">\r\n <div class=\"grid grid-cols-12 gap-4 w-full\" *ngIf=\"frm\" [formGroup]=\"frm\">\r\n \r\n @for (field of lstTableFields; track $index) {\r\n @if (field.index != 'id') {\r\n @if (!field.hiddenView) {\r\n @switch (field.type) {\r\n @case (\"Bool\") {\r\n <input-bool [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\" ></input-bool>\r\n }\r\n @case (\"Currency\") {\r\n <input-currency [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-currency>\r\n }\r\n @case (\"Date\") {\r\n <input-date [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-date>\r\n }\r\n @case (\"Time\") {\r\n <input-time [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-time>\r\n }\r\n @case (\"DateTime\") {\r\n <input-date-time [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-date-time>\r\n }\r\n @case (\"Decimal\") {\r\n <input-decimal [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-decimal>\r\n }\r\n @case (\"File\") {\r\n <input-file [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-file>\r\n }\r\n @case (\"String\") {\r\n <input-string [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-string>\r\n }\r\n @case (\"TextArea\") {\r\n <input-textarea [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-textarea>\r\n }\r\n @case (\"Number\") {\r\n <input-number [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-number>\r\n }\r\n @case (\"Select\") {\r\n <input-select [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-select>\r\n }\r\n @case (\"Cpf\") {\r\n <input-cpf [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cpf>\r\n }\r\n @case (\"Cnpj\") {\r\n <input-cnpj [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cnpj>\r\n }\r\n @case (\"CpfCnpj\") {\r\n <input-cpf-cnpj [class]=\"field.class\" [formControlName]=\"field.index\" [label]=\"field.header\" [loading]=\"loading\" [disabled]=\"field.disabled\" [submitted]=\"submitted\" [configuration]=\"field.configuration\"></input-cpf-cnpj>\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n <div class=\"col-span-full rounded-2xl p-3 flex items-center justify-center\" *ngIf=\"!service || service.lstTableFields.length == 0\" style=\"background: var(--ion-color-danger);\">\r\n <ion-text class=\"text-2xl text-white\">\r\n <ion-icon class=\"align-sub text-3xl\" name=\"alert-circle\"></ion-icon> [ Invalid Configuration ]\r\n </ion-text>\r\n </div>\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n</ion-content>", styles: ["ion-card-header{padding:0}\n"] }]
44
44
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i0.ElementRef }, { type: i2.ActivatedRoute }, { type: i3.GenericService }, { type: i4.NavController }], propDecorators: { noBack: [{
45
45
  type: Input
46
46
  }], noNew: [{
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
48
48
  }], noBreadcrumbs: [{
49
49
  type: Input
50
50
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kZWZhdWx0L2RlZmF1bHQtdmlldy9kZWZhdWx0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2RlZmF1bHQvZGVmYXVsdC12aWV3L2RlZmF1bHQtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOUIsNEJBQTRCO0FBTTVCLE1BQU0sT0FBTyxvQkFBK0QsU0FBUSxJQUFPO0lBU3pGLFlBQ2tCLEVBQWUsRUFDZixVQUFzQixFQUN0QixjQUE4QixFQUM5QixjQUE4QixFQUM5QixhQUE0QjtRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQUxNLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFaOUMsK0JBQStCO1FBQ3RCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDakMsc0NBQXNDO1FBQzdCLFVBQUssR0FBYSxLQUFLLENBQUM7UUFDakMsd0NBQXdDO1FBQy9CLGtCQUFhLEdBQVksS0FBSyxDQUFDO0lBUTNCLENBQUM7K0dBZkgsb0JBQW9CO21HQUFwQixvQkFBb0IseUpDakJqQyxpak1BZ0ZjOzs0RkQvREQsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGNBQWM7K0xBT2YsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcblxyXG5cclxuaW1wb3J0IHsgSHR0cFNlcnZpY2VBdGl2byB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3dlYi9odHRwLmF0aXZvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSAgICAgIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvd2ViL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi8uLi9zZXJ2aWNlcy9nZW5lcmljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmlldyB9IGZyb20gJy4vdmlldyc7XHJcblxyXG4vKiogQ29tcG9uZW50ZSBWaWV3IFBhZMOjbyAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RlZmF1bHQtdmlldycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHQtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGVmYXVsdC12aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0Vmlld0NvbXBvbmVudDxUIGV4dGVuZHMgSHR0cFNlcnZpY2UgfCBIdHRwU2VydmljZUF0aXZvPiBleHRlbmRzIFZpZXc8VD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvKiogUmVtb3ZlIG8gYm90w6NvIGRlIHZvbHRhciAqL1xyXG4gIEBJbnB1dCgpIG5vQmFjazogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKiBSZW1vdmUgbyBib3TDo28gTk9WTyBkYSBsaXN0YWdlbSAqL1xyXG4gIEBJbnB1dCgpIG5vTmV3IDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKiBSZW1vdmUgb3MgYnJlYWRjcnVtYnMgZGEgbGlzdGFnZW0gKi9cclxuICBASW5wdXQoKSBub0JyZWFkY3J1bWJzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIG92ZXJyaWRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHB1YmxpYyBvdmVycmlkZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIG92ZXJyaWRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHB1YmxpYyBvdmVycmlkZSBnZW5lcmljU2VydmljZTogR2VuZXJpY1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgbmF2Q29udHJvbGxlcjogTmF2Q29udHJvbGxlcixcclxuICApIHsgc3VwZXIoKTsgfVxyXG59IiwiPGlvbi1jb250ZW50IGNsYXNzPVwiYmctdHJhbnNwYXJlbnRcIj4gXHJcbiAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIiBbbmdDbGFzc109XCJ7JyFwLTAgdHJhbnNsdWNpZC1wcmltYXJ5LWJhY2tncm91bmQnOiBuZXN0ZWR9XCIgdGFiaW5kZXg9XCItMVwiPlxyXG4gICAgQGlmICghbm9CcmVhZGNydW1icykge1xyXG4gICAgICA8aW9uLWJyZWFkY3J1bWJzPlxyXG4gICAgICAgIDxpb24tYnJlYWRjcnVtYiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIk5hdmlnYXRlVG9MaXN0KClcIj5cclxuICAgICAgICAgIHt7c2VydmljZS50aXRsZX19XHJcbiAgICAgICAgPC9pb24tYnJlYWRjcnVtYj5cclxuICAgICAgICA8aW9uLWJyZWFkY3J1bWI+IFxyXG4gICAgICAgICAge3tpZCA9PSAwID8gJ05vdm8gUmVnaXN0cm8nIDogJ0VkaXRhciBSZWdpc3RybycgfX0gXHJcbiAgICAgICAgPC9pb24tYnJlYWRjcnVtYj5cclxuICAgICAgPC9pb24tYnJlYWRjcnVtYnM+XHJcbiAgICB9XHJcbiAgICBcclxuICAgIDxpb24tY2FyZD5cclxuICAgICAgPGlvbi1jYXJkLWhlYWRlciBjbGFzcz1cIiFibG9ja1wiPlxyXG4gICAgICAgIDxoZWFkZXItdmlldyAqbmdJZj1cInNlcnZpY2VcIiBbbm92b109XCJpZCA9PSAwXCIgW3VzZURlZmF1bHRSb3V0aW5nXT1cIm5lc3RlZFwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbcHJvZ3Jlc3NdPVwicHJvZ3Jlc3NcIiAoc2F2ZSk9XCJTYXZlKClcIiBbbm9CYWNrXT1cIm5vQmFja1wiIFtub05ld109XCJub05ld1wiPjwvaGVhZGVyLXZpZXc+XHJcbiAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxyXG4gICAgICA8aW9uLWNhcmQtY29udGVudCBjbGFzcz1cInAtMCBoLWZ1bGwgIW92ZXJmbG93LXktYXV0byBvdmVyZmxvdy14LWhpZGRlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xMiBnYXAtNCB3LWZ1bGxcIiAqbmdJZj1cImZybVwiIFtmb3JtR3JvdXBdPVwiZnJtXCI+XHJcbiAgXHJcbiAgICAgICAgICBAZm9yIChmaWVsZCBvZiBsc3RUYWJsZUZpZWxkczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIEBpZiAoZmllbGQuaW5kZXggIT0gJ2lkJykge1xyXG4gICAgICAgICAgICAgIEBpZiAoIWZpZWxkLmhpZGRlblZpZXcpIHtcclxuICAgICAgICAgICAgICAgIEBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiQm9vbFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0LWJvb2wgICAgICBbY2xhc3NdPVwiZmllbGQuY2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmluZGV4XCIgW2xhYmVsXT1cImZpZWxkLmhlYWRlclwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIiA+PC9pbnB1dC1ib29sPlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIEBjYXNlIChcIkN1cnJlbmN5XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQtY3VycmVuY3kgIFtjbGFzc109XCJmaWVsZC5jbGFzc1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuaW5kZXhcIiBbbGFiZWxdPVwiZmllbGQuaGVhZGVyXCIgW2xvYWRpbmddPVwibG9hZGluZ1wiIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvaW5wdXQtY3VycmVuY3k+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiRGF0ZVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0LWRhdGUgICAgICBbY2xhc3NdPVwiZmllbGQuY2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmluZGV4XCIgW2xhYmVsXT1cImZpZWxkLmhlYWRlclwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWRhdGU+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiVGltZVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0LXRpbWUgICAgICBbY2xhc3NdPVwiZmllbGQuY2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmluZGV4XCIgW2xhYmVsXT1cImZpZWxkLmhlYWRlclwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LXRpbWU+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiRGF0ZVRpbWVcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dC1kYXRlLXRpbWUgW2NsYXNzXT1cImZpZWxkLmNsYXNzXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5pbmRleFwiIFtsYWJlbF09XCJmaWVsZC5oZWFkZXJcIiBbbG9hZGluZ109XCJsb2FkaW5nXCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3N1Ym1pdHRlZF09XCJzdWJtaXR0ZWRcIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1kYXRlLXRpbWU+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiRGVjaW1hbFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0LWRlY2ltYWwgICBbY2xhc3NdPVwiZmllbGQuY2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmluZGV4XCIgW2xhYmVsXT1cImZpZWxkLmhlYWRlclwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWRlY2ltYWw+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiRmlsZVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0LWZpbGUgICAgICBbY2xhc3NdPVwiZmllbGQuY2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmluZGV4XCIgW2xhYmVsXT1cImZpZWxkLmhlYWRlclwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWZpbGU+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiU3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQtc3RyaW5nICAgIFtjbGFzc109XCJmaWVsZC5jbGFzc1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuaW5kZXhcIiBbbGFiZWxdPVwiZmllbGQuaGVhZGVyXCIgW2xvYWRpbmddPVwibG9hZGluZ1wiIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCI+PC9pbnB1dC1zdHJpbmc+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiVGV4dEFyZWFcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dC10ZXh0YXJlYSAgW2NsYXNzXT1cImZpZWxkLmNsYXNzXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5pbmRleFwiIFtsYWJlbF09XCJmaWVsZC5oZWFkZXJcIiBbbG9hZGluZ109XCJsb2FkaW5nXCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3N1Ym1pdHRlZF09XCJzdWJtaXR0ZWRcIj48L2lucHV0LXRleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIEBjYXNlIChcIk51bWJlclwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0LW51bWJlciAgICBbY2xhc3NdPVwiZmllbGQuY2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmluZGV4XCIgW2xhYmVsXT1cImZpZWxkLmhlYWRlclwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LW51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICBAY2FzZSAoXCJTZWxlY3RcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dC1zZWxlY3QgICAgW2NsYXNzXT1cImZpZWxkLmNsYXNzXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5pbmRleFwiIFtsYWJlbF09XCJmaWVsZC5oZWFkZXJcIiBbbG9hZGluZ109XCJsb2FkaW5nXCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3N1Ym1pdHRlZF09XCJzdWJtaXR0ZWRcIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiQ3BmXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQtY3BmICAgICAgIFtjbGFzc109XCJmaWVsZC5jbGFzc1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuaW5kZXhcIiBbbGFiZWxdPVwiZmllbGQuaGVhZGVyXCIgW2xvYWRpbmddPVwibG9hZGluZ1wiIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvaW5wdXQtY3BmPlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIEBjYXNlIChcIkNucGpcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dC1jbnBqICAgICAgW2NsYXNzXT1cImZpZWxkLmNsYXNzXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5pbmRleFwiIFtsYWJlbF09XCJmaWVsZC5oZWFkZXJcIiBbbG9hZGluZ109XCJsb2FkaW5nXCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3N1Ym1pdHRlZF09XCJzdWJtaXR0ZWRcIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1jbnBqPlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIEBjYXNlIChcIkNwZkNucGpcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dC1jcGYtY25waiAgW2NsYXNzXT1cImZpZWxkLmNsYXNzXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5pbmRleFwiIFtsYWJlbF09XCJmaWVsZC5oZWFkZXJcIiBbbG9hZGluZ109XCJsb2FkaW5nXCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3N1Ym1pdHRlZF09XCJzdWJtaXR0ZWRcIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1jcGYtY25waj5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zcGFuLWZ1bGwgcm91bmRlZC0yeGwgcC0zIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCIgKm5nSWY9XCIhc2VydmljZSB8fCBzZXJ2aWNlLmxzdFRhYmxlRmllbGRzLmxlbmd0aCA9PSAwXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTtcIj5cclxuICAgICAgICAgICAgPGlvbi10ZXh0IGNsYXNzPVwidGV4dC0yeGwgdGV4dC13aGl0ZVwiPlxyXG4gICAgICAgICAgICAgIDxpb24taWNvbiBjbGFzcz1cImFsaWduLXN1YiB0ZXh0LTN4bFwiIG5hbWU9XCJhbGVydC1jaXJjbGVcIj48L2lvbi1pY29uPiBbIEludmFsaWQgQ29uZmlndXJhdGlvbiBdXHJcbiAgICAgICAgICAgIDwvaW9uLXRleHQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9pb24tY2FyZC1jb250ZW50PlxyXG4gICAgPC9pb24tY2FyZD5cclxuICA8L2Rpdj5cclxuPC9pb24tY29udGVudD4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kZWZhdWx0L2RlZmF1bHQtdmlldy9kZWZhdWx0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2RlZmF1bHQvZGVmYXVsdC12aWV3L2RlZmF1bHQtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOUIsNEJBQTRCO0FBTTVCLE1BQU0sT0FBTyxvQkFBK0QsU0FBUSxJQUFPO0lBU3pGLFlBQ2tCLEVBQWUsRUFDZixVQUFzQixFQUN0QixjQUE4QixFQUM5QixjQUE4QixFQUM5QixhQUE0QjtRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQUxNLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFaOUMsK0JBQStCO1FBQ3RCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDakMsc0NBQXNDO1FBQzdCLFVBQUssR0FBYSxLQUFLLENBQUM7UUFDakMsd0NBQXdDO1FBQy9CLGtCQUFhLEdBQVksS0FBSyxDQUFDO0lBUTNCLENBQUM7K0dBZkgsb0JBQW9CO21HQUFwQixvQkFBb0IseUpDakJqQyxpb01BZ0ZjOzs0RkQvREQsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGNBQWM7K0xBT2YsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcblxyXG5cclxuaW1wb3J0IHsgSHR0cFNlcnZpY2VBdGl2byB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3dlYi9odHRwLmF0aXZvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSAgICAgIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvd2ViL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi8uLi9zZXJ2aWNlcy9nZW5lcmljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmlldyB9IGZyb20gJy4vdmlldyc7XHJcblxyXG4vKiogQ29tcG9uZW50ZSBWaWV3IFBhZMOjbyAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RlZmF1bHQtdmlldycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RlZmF1bHQtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGVmYXVsdC12aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0Vmlld0NvbXBvbmVudDxUIGV4dGVuZHMgSHR0cFNlcnZpY2UgfCBIdHRwU2VydmljZUF0aXZvPiBleHRlbmRzIFZpZXc8VD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvKiogUmVtb3ZlIG8gYm90w6NvIGRlIHZvbHRhciAqL1xyXG4gIEBJbnB1dCgpIG5vQmFjazogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKiBSZW1vdmUgbyBib3TDo28gTk9WTyBkYSBsaXN0YWdlbSAqL1xyXG4gIEBJbnB1dCgpIG5vTmV3IDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKiBSZW1vdmUgb3MgYnJlYWRjcnVtYnMgZGEgbGlzdGFnZW0gKi9cclxuICBASW5wdXQoKSBub0JyZWFkY3J1bWJzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIG92ZXJyaWRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHB1YmxpYyBvdmVycmlkZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIG92ZXJyaWRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHB1YmxpYyBvdmVycmlkZSBnZW5lcmljU2VydmljZTogR2VuZXJpY1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgbmF2Q29udHJvbGxlcjogTmF2Q29udHJvbGxlcixcclxuICApIHsgc3VwZXIoKTsgfVxyXG59IiwiPGlvbi1jb250ZW50IGNsYXNzPVwiYmctdHJhbnNwYXJlbnRcIj4gXHJcbiAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIiBbbmdDbGFzc109XCJ7JyFwLTAgdHJhbnNsdWNpZC1wcmltYXJ5LWJhY2tncm91bmQnOiBuZXN0ZWR9XCIgdGFiaW5kZXg9XCItMVwiPlxyXG4gICAgQGlmICghbm9CcmVhZGNydW1icykge1xyXG4gICAgICA8aW9uLWJyZWFkY3J1bWJzPlxyXG4gICAgICAgIDxpb24tYnJlYWRjcnVtYiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIk5hdmlnYXRlVG9MaXN0KClcIj5cclxuICAgICAgICAgIHt7c2VydmljZS50aXRsZX19XHJcbiAgICAgICAgPC9pb24tYnJlYWRjcnVtYj5cclxuICAgICAgICA8aW9uLWJyZWFkY3J1bWI+IFxyXG4gICAgICAgICAge3tpZCA9PSAwID8gJ05vdm8gUmVnaXN0cm8nIDogJ0VkaXRhciBSZWdpc3RybycgfX0gXHJcbiAgICAgICAgPC9pb24tYnJlYWRjcnVtYj5cclxuICAgICAgPC9pb24tYnJlYWRjcnVtYnM+XHJcbiAgICB9XHJcbiAgICBcclxuICAgIDxpb24tY2FyZD5cclxuICAgICAgPGlvbi1jYXJkLWhlYWRlciBjbGFzcz1cIiFibG9ja1wiPlxyXG4gICAgICAgIDxoZWFkZXItdmlldyAqbmdJZj1cInNlcnZpY2VcIiBbbm92b109XCJpZCA9PSAwXCIgW3VzZURlZmF1bHRSb3V0aW5nXT1cIm5lc3RlZFwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbcHJvZ3Jlc3NdPVwicHJvZ3Jlc3NcIiAoc2F2ZSk9XCJTYXZlKClcIiBbbm9CYWNrXT1cIm5vQmFja1wiIFtub05ld109XCJub05ld1wiPjwvaGVhZGVyLXZpZXc+XHJcbiAgICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxyXG4gICAgICA8aW9uLWNhcmQtY29udGVudCBjbGFzcz1cInAtMCBoLWZ1bGwgIW92ZXJmbG93LXktYXV0byBvdmVyZmxvdy14LWhpZGRlblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xMiBnYXAtNCB3LWZ1bGxcIiAqbmdJZj1cImZybVwiIFtmb3JtR3JvdXBdPVwiZnJtXCI+XHJcbiAgXHJcbiAgICAgICAgICBAZm9yIChmaWVsZCBvZiBsc3RUYWJsZUZpZWxkczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIEBpZiAoZmllbGQuaW5kZXggIT0gJ2lkJykge1xyXG4gICAgICAgICAgICAgIEBpZiAoIWZpZWxkLmhpZGRlblZpZXcpIHtcclxuICAgICAgICAgICAgICAgIEBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiQm9vbFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0LWJvb2wgICAgICBbY2xhc3NdPVwiZmllbGQuY2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmluZGV4XCIgW2xhYmVsXT1cImZpZWxkLmhlYWRlclwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIiA+PC9pbnB1dC1ib29sPlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIEBjYXNlIChcIkN1cnJlbmN5XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQtY3VycmVuY3kgIFtjbGFzc109XCJmaWVsZC5jbGFzc1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuaW5kZXhcIiBbbGFiZWxdPVwiZmllbGQuaGVhZGVyXCIgW2xvYWRpbmddPVwibG9hZGluZ1wiIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvaW5wdXQtY3VycmVuY3k+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiRGF0ZVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0LWRhdGUgICAgICBbY2xhc3NdPVwiZmllbGQuY2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmluZGV4XCIgW2xhYmVsXT1cImZpZWxkLmhlYWRlclwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWRhdGU+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiVGltZVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0LXRpbWUgICAgICBbY2xhc3NdPVwiZmllbGQuY2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmluZGV4XCIgW2xhYmVsXT1cImZpZWxkLmhlYWRlclwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LXRpbWU+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiRGF0ZVRpbWVcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dC1kYXRlLXRpbWUgW2NsYXNzXT1cImZpZWxkLmNsYXNzXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5pbmRleFwiIFtsYWJlbF09XCJmaWVsZC5oZWFkZXJcIiBbbG9hZGluZ109XCJsb2FkaW5nXCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3N1Ym1pdHRlZF09XCJzdWJtaXR0ZWRcIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1kYXRlLXRpbWU+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiRGVjaW1hbFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0LWRlY2ltYWwgICBbY2xhc3NdPVwiZmllbGQuY2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmluZGV4XCIgW2xhYmVsXT1cImZpZWxkLmhlYWRlclwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWRlY2ltYWw+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiRmlsZVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0LWZpbGUgICAgICBbY2xhc3NdPVwiZmllbGQuY2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmluZGV4XCIgW2xhYmVsXT1cImZpZWxkLmhlYWRlclwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWZpbGU+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiU3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQtc3RyaW5nICAgIFtjbGFzc109XCJmaWVsZC5jbGFzc1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuaW5kZXhcIiBbbGFiZWxdPVwiZmllbGQuaGVhZGVyXCIgW2xvYWRpbmddPVwibG9hZGluZ1wiIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvaW5wdXQtc3RyaW5nPlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIEBjYXNlIChcIlRleHRBcmVhXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQtdGV4dGFyZWEgIFtjbGFzc109XCJmaWVsZC5jbGFzc1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuaW5kZXhcIiBbbGFiZWxdPVwiZmllbGQuaGVhZGVyXCIgW2xvYWRpbmddPVwibG9hZGluZ1wiIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvaW5wdXQtdGV4dGFyZWE+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiTnVtYmVyXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQtbnVtYmVyICAgIFtjbGFzc109XCJmaWVsZC5jbGFzc1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuaW5kZXhcIiBbbGFiZWxdPVwiZmllbGQuaGVhZGVyXCIgW2xvYWRpbmddPVwibG9hZGluZ1wiIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiIFtzdWJtaXR0ZWRdPVwic3VibWl0dGVkXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvaW5wdXQtbnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIEBjYXNlIChcIlNlbGVjdFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0LXNlbGVjdCAgICBbY2xhc3NdPVwiZmllbGQuY2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmluZGV4XCIgW2xhYmVsXT1cImZpZWxkLmhlYWRlclwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICBAY2FzZSAoXCJDcGZcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dC1jcGYgICAgICAgW2NsYXNzXT1cImZpZWxkLmNsYXNzXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5pbmRleFwiIFtsYWJlbF09XCJmaWVsZC5oZWFkZXJcIiBbbG9hZGluZ109XCJsb2FkaW5nXCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3N1Ym1pdHRlZF09XCJzdWJtaXR0ZWRcIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1jcGY+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiQ25walwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0LWNucGogICAgICBbY2xhc3NdPVwiZmllbGQuY2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmluZGV4XCIgW2xhYmVsXT1cImZpZWxkLmhlYWRlclwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWNucGo+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGNhc2UgKFwiQ3BmQ25walwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0LWNwZi1jbnBqICBbY2xhc3NdPVwiZmllbGQuY2xhc3NcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmluZGV4XCIgW2xhYmVsXT1cImZpZWxkLmhlYWRlclwiIFtsb2FkaW5nXT1cImxvYWRpbmdcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWNwZi1jbnBqPlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNwYW4tZnVsbCByb3VuZGVkLTJ4bCBwLTMgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIiAqbmdJZj1cIiFzZXJ2aWNlIHx8IHNlcnZpY2UubHN0VGFibGVGaWVsZHMubGVuZ3RoID09IDBcIiBzdHlsZT1cImJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIpO1wiPlxyXG4gICAgICAgICAgICA8aW9uLXRleHQgY2xhc3M9XCJ0ZXh0LTJ4bCB0ZXh0LXdoaXRlXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1pY29uIGNsYXNzPVwiYWxpZ24tc3ViIHRleHQtM3hsXCIgbmFtZT1cImFsZXJ0LWNpcmNsZVwiPjwvaW9uLWljb24+IFsgSW52YWxpZCBDb25maWd1cmF0aW9uIF1cclxuICAgICAgICAgICAgPC9pb24tdGV4dD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XHJcbiAgICA8L2lvbi1jYXJkPlxyXG4gIDwvZGl2PlxyXG48L2lvbi1jb250ZW50PiJdfQ==
@@ -46,11 +46,11 @@ export class MainContentComponent {
46
46
  }
47
47
  }
48
48
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MainContentComponent, deps: [{ token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MainContentComponent, isStandalone: true, selector: "main-content", inputs: { colapsed: "colapsed", drawerComponent: "drawerComponent" }, viewQueries: [{ propertyName: "FullScreenConteiner", first: true, predicate: ["target"], descendants: true }], ngImport: i0, template: "<div class=\"size-full flex flex-col\" [ngClass]=\"{'bg-light/50': fullScreen}\" #target>\r\n <div class=\"w-full h-14 relative shrink-0\">\r\n <ion-card class=\"m-0 rounded-none size-full border-none\">\r\n <ion-card-content class=\"p-0 px-2 size-full flex\">\r\n <div class=\"w-1/2 h-full flex items-center justify-start\">\r\n @if (!fullScreen) {\r\n <ion-menu-button [routerLink]=\"['/']\" [autoHide]=\"true\"></ion-menu-button>\r\n }\r\n <ng-content select=\"[slot=start]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"w-1/2 h-full flex flex-row-reverse items-center justify-start gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n \r\n @if (!fullScreen) {\r\n <ion-button (click)=\"userPopover.present($event)\" size=\"small\" class=\"size-10 aspect-square\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </ion-button>\r\n <ion-popover #userPopover [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content>\r\n <div class=\"size-full\">\r\n <div class=\"w-full px-3 flex items-center\">\r\n <div class=\"size-10 shrink-0 aspect-square rounded-2xl text-sm flex items-center justify-center default-transition\" style=\"background-color: var(--ion-color-primary);\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </div>\r\n <div class=\"grow min-w-10 p-2 justify-center items-center whitespace-nowrap text-ellipsis overflow-hidden block default-transition\" [ngClass]=\"{'opacity-0 w-0': colapsed}\">\r\n <span>{{Token ? Token.Nome : ''}}</span> <br>\r\n <ion-text color=\"secondary\" class=\"text-sm\">\r\n &#64;{{Token ? Token.Apelido : ''}}\r\n </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"w-full\">\r\n <ng-content class=\"size-full\" select=\"[slot=user-popover]\"></ng-content>\r\n </div>\r\n <div class=\"w-full px-3 py-2 translucid-border !border-x-0 !border-b-0 flex items-center justify-between\">\r\n <ion-text> Log Out </ion-text>\r\n <ion-button (click)=\"authService.Loggout()\" class=\"size-10 shrink-0\" size=\"small\" color=\"danger\">\r\n <ion-icon slot=\"icon-only\" name=\"exit-outline\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n </div>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n }\r\n\r\n <ion-button (click)=\"FullScreen()\" fill=\"outline\" color=\"dark\" size=\"small\" class=\"size-10 aspect-square portrait:hidden\">\r\n <ion-icon slot=\"icon-only\" name=\"expand\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n <div class=\"size-full relative p-2 bg-light\">\r\n <div class=\"size-full relative rounded-2xl bg-primary/30 content-shadow overflow-hidden\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: ["#popover-user{--width: 17rem}.content-shadow{--color: color-mix(in srgb, var(--ion-color-primary) 15%, transparent);box-shadow:0 0 0 1px var(--color),0 6px 10px -4px var(--color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i3.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i3.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i3.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i3.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i3.IonMenuButton, selector: "ion-menu-button", inputs: ["autoHide", "color", "disabled", "menu", "mode", "type"] }, { kind: "component", type: i3.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i3.IonPopover, selector: "ion-popover" }, { kind: "directive", type: i3.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "directive", type: RouterLinkWithHref, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MainContentComponent, isStandalone: true, selector: "main-content", inputs: { colapsed: "colapsed", drawerComponent: "drawerComponent" }, viewQueries: [{ propertyName: "FullScreenConteiner", first: true, predicate: ["target"], descendants: true }], ngImport: i0, template: "<div class=\"size-full flex flex-col\" [ngClass]=\"{'bg-light/50': fullScreen}\" #target>\r\n <div class=\"w-full h-14 relative shrink-0\">\r\n <ion-card class=\"m-0 rounded-none size-full border-none\">\r\n <ion-card-content class=\"p-0 px-2 size-full flex\">\r\n <div class=\"w-1/2 h-full flex items-center justify-start\">\r\n @if (!fullScreen) {\r\n <ion-menu-button [routerLink]=\"['/']\" [autoHide]=\"true\"></ion-menu-button>\r\n }\r\n <ng-content select=\"[slot=start]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"w-1/2 h-full flex items-center justify-start gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n \r\n <ion-button (click)=\"FullScreen()\" fill=\"outline\" color=\"dark\" size=\"small\" class=\"size-10 aspect-square portrait:hidden\">\r\n <ion-icon slot=\"icon-only\" name=\"expand\"></ion-icon>\r\n </ion-button>\r\n\r\n @if (!fullScreen) {\r\n <ion-button (click)=\"userPopover.present($event)\" size=\"small\" class=\"size-10 aspect-square\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </ion-button>\r\n <ion-popover #userPopover [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content>\r\n <div class=\"size-full\">\r\n <div class=\"w-full px-3 flex items-center\">\r\n <div class=\"size-10 shrink-0 aspect-square rounded-2xl text-sm flex items-center justify-center default-transition\" style=\"background-color: var(--ion-color-primary);\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </div>\r\n <div class=\"grow min-w-10 p-2 justify-center items-center whitespace-nowrap text-ellipsis overflow-hidden block default-transition\" [ngClass]=\"{'opacity-0 w-0': colapsed}\">\r\n <span>{{Token ? Token.Nome : ''}}</span> <br>\r\n <ion-text color=\"secondary\" class=\"text-sm\">\r\n &#64;{{Token ? Token.Apelido : ''}}\r\n </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"w-full\">\r\n <ng-content class=\"size-full\" select=\"[slot=user-popover]\"></ng-content>\r\n </div>\r\n <div class=\"w-full px-3 py-2 translucid-border !border-x-0 !border-b-0 flex items-center justify-between\">\r\n <ion-text> Log Out </ion-text>\r\n <ion-button (click)=\"authService.Loggout()\" class=\"size-10 shrink-0\" size=\"small\" color=\"danger\">\r\n <ion-icon slot=\"icon-only\" name=\"exit-outline\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n </div>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n }\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n <div class=\"size-full relative p-2 bg-light\">\r\n <div class=\"size-full relative rounded-2xl bg-primary/30 content-shadow overflow-hidden\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: ["#popover-user{--width: 17rem}.content-shadow{--color: color-mix(in srgb, var(--ion-color-primary) 15%, transparent);box-shadow:0 0 0 1px var(--color),0 6px 10px -4px var(--color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i3.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i3.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i3.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i3.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i3.IonMenuButton, selector: "ion-menu-button", inputs: ["autoHide", "color", "disabled", "menu", "mode", "type"] }, { kind: "component", type: i3.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i3.IonPopover, selector: "ion-popover" }, { kind: "directive", type: i3.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "directive", type: RouterLinkWithHref, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
50
50
  }
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MainContentComponent, decorators: [{
52
52
  type: Component,
53
- args: [{ standalone: true, imports: [CommonModule, IonicModule, RouterLinkWithHref], selector: 'main-content', template: "<div class=\"size-full flex flex-col\" [ngClass]=\"{'bg-light/50': fullScreen}\" #target>\r\n <div class=\"w-full h-14 relative shrink-0\">\r\n <ion-card class=\"m-0 rounded-none size-full border-none\">\r\n <ion-card-content class=\"p-0 px-2 size-full flex\">\r\n <div class=\"w-1/2 h-full flex items-center justify-start\">\r\n @if (!fullScreen) {\r\n <ion-menu-button [routerLink]=\"['/']\" [autoHide]=\"true\"></ion-menu-button>\r\n }\r\n <ng-content select=\"[slot=start]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"w-1/2 h-full flex flex-row-reverse items-center justify-start gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n \r\n @if (!fullScreen) {\r\n <ion-button (click)=\"userPopover.present($event)\" size=\"small\" class=\"size-10 aspect-square\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </ion-button>\r\n <ion-popover #userPopover [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content>\r\n <div class=\"size-full\">\r\n <div class=\"w-full px-3 flex items-center\">\r\n <div class=\"size-10 shrink-0 aspect-square rounded-2xl text-sm flex items-center justify-center default-transition\" style=\"background-color: var(--ion-color-primary);\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </div>\r\n <div class=\"grow min-w-10 p-2 justify-center items-center whitespace-nowrap text-ellipsis overflow-hidden block default-transition\" [ngClass]=\"{'opacity-0 w-0': colapsed}\">\r\n <span>{{Token ? Token.Nome : ''}}</span> <br>\r\n <ion-text color=\"secondary\" class=\"text-sm\">\r\n &#64;{{Token ? Token.Apelido : ''}}\r\n </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"w-full\">\r\n <ng-content class=\"size-full\" select=\"[slot=user-popover]\"></ng-content>\r\n </div>\r\n <div class=\"w-full px-3 py-2 translucid-border !border-x-0 !border-b-0 flex items-center justify-between\">\r\n <ion-text> Log Out </ion-text>\r\n <ion-button (click)=\"authService.Loggout()\" class=\"size-10 shrink-0\" size=\"small\" color=\"danger\">\r\n <ion-icon slot=\"icon-only\" name=\"exit-outline\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n </div>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n }\r\n\r\n <ion-button (click)=\"FullScreen()\" fill=\"outline\" color=\"dark\" size=\"small\" class=\"size-10 aspect-square portrait:hidden\">\r\n <ion-icon slot=\"icon-only\" name=\"expand\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n <div class=\"size-full relative p-2 bg-light\">\r\n <div class=\"size-full relative rounded-2xl bg-primary/30 content-shadow overflow-hidden\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: ["#popover-user{--width: 17rem}.content-shadow{--color: color-mix(in srgb, var(--ion-color-primary) 15%, transparent);box-shadow:0 0 0 1px var(--color),0 6px 10px -4px var(--color)}\n"] }]
53
+ args: [{ standalone: true, imports: [CommonModule, IonicModule, RouterLinkWithHref], selector: 'main-content', template: "<div class=\"size-full flex flex-col\" [ngClass]=\"{'bg-light/50': fullScreen}\" #target>\r\n <div class=\"w-full h-14 relative shrink-0\">\r\n <ion-card class=\"m-0 rounded-none size-full border-none\">\r\n <ion-card-content class=\"p-0 px-2 size-full flex\">\r\n <div class=\"w-1/2 h-full flex items-center justify-start\">\r\n @if (!fullScreen) {\r\n <ion-menu-button [routerLink]=\"['/']\" [autoHide]=\"true\"></ion-menu-button>\r\n }\r\n <ng-content select=\"[slot=start]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"w-1/2 h-full flex items-center justify-start gap-2\">\r\n <ng-content select=\"[slot=end]\"></ng-content>\r\n \r\n <ion-button (click)=\"FullScreen()\" fill=\"outline\" color=\"dark\" size=\"small\" class=\"size-10 aspect-square portrait:hidden\">\r\n <ion-icon slot=\"icon-only\" name=\"expand\"></ion-icon>\r\n </ion-button>\r\n\r\n @if (!fullScreen) {\r\n <ion-button (click)=\"userPopover.present($event)\" size=\"small\" class=\"size-10 aspect-square\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </ion-button>\r\n <ion-popover #userPopover [dismissOnSelect]=\"true\" triggerAction=\"click\">\r\n <ng-template>\r\n <ion-content>\r\n <div class=\"size-full\">\r\n <div class=\"w-full px-3 flex items-center\">\r\n <div class=\"size-10 shrink-0 aspect-square rounded-2xl text-sm flex items-center justify-center default-transition\" style=\"background-color: var(--ion-color-primary);\">\r\n <span class=\"uppercase text-white\">{{Token ? Token.Nome[0] : ''}}</span>\r\n </div>\r\n <div class=\"grow min-w-10 p-2 justify-center items-center whitespace-nowrap text-ellipsis overflow-hidden block default-transition\" [ngClass]=\"{'opacity-0 w-0': colapsed}\">\r\n <span>{{Token ? Token.Nome : ''}}</span> <br>\r\n <ion-text color=\"secondary\" class=\"text-sm\">\r\n &#64;{{Token ? Token.Apelido : ''}}\r\n </ion-text>\r\n </div>\r\n </div>\r\n <div class=\"w-full\">\r\n <ng-content class=\"size-full\" select=\"[slot=user-popover]\"></ng-content>\r\n </div>\r\n <div class=\"w-full px-3 py-2 translucid-border !border-x-0 !border-b-0 flex items-center justify-between\">\r\n <ion-text> Log Out </ion-text>\r\n <ion-button (click)=\"authService.Loggout()\" class=\"size-10 shrink-0\" size=\"small\" color=\"danger\">\r\n <ion-icon slot=\"icon-only\" name=\"exit-outline\"></ion-icon> \r\n </ion-button>\r\n </div>\r\n </div>\r\n </ion-content>\r\n </ng-template>\r\n </ion-popover>\r\n }\r\n </div>\r\n </ion-card-content>\r\n </ion-card>\r\n </div>\r\n <div class=\"size-full relative p-2 bg-light\">\r\n <div class=\"size-full relative rounded-2xl bg-primary/30 content-shadow overflow-hidden\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: ["#popover-user{--width: 17rem}.content-shadow{--color: color-mix(in srgb, var(--ion-color-primary) 15%, transparent);box-shadow:0 0 0 1px var(--color),0 6px 10px -4px var(--color)}\n"] }]
54
54
  }], ctorParameters: () => [{ type: i1.AuthService }], propDecorators: { colapsed: [{
55
55
  type: Input
56
56
  }], drawerComponent: [{
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
59
59
  type: ViewChild,
60
60
  args: ['target']
61
61
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tYWluLWNvbnRlbnQvbWFpbi1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tYWluLWNvbnRlbnQvbWFpbi1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7O0FBUzFELE1BQU0sT0FBTyxvQkFBb0I7SUFLL0IsWUFDUyxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUp4QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBSy9CLENBQUM7SUFHTCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixJQUFHLFFBQVEsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLEVBQUMsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFBQSxDQUFDO0lBRUYsVUFBVTtRQUNSLElBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLENBQUM7WUFDbkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQztZQUVwRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLENBQUM7aUJBQU0sSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDOUIsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2dCQUN4QyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQzthQUFJLENBQUM7WUFDSixRQUFRLENBQUMsY0FBYyxFQUFFLENBQUE7UUFDM0IsQ0FBQztJQUNILENBQUM7K0dBdkNVLG9CQUFvQjttR0FBcEIsb0JBQW9CLDZQQ2RqQyxzNUdBNERNLDhPRG5ETyxZQUFZLDRIQUFFLFdBQVcseXlDQUFFLGtCQUFrQjs7NEZBSzdDLG9CQUFvQjtrQkFQaEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixDQUFFLFlBQ2hELGNBQWM7Z0ZBTWYsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQW1CZSxtQkFBbUI7c0JBQXZDLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rV2l0aEhyZWYgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBEcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuLi9kcmF3ZXIvZHJhd2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogWyBDb21tb25Nb2R1bGUsIElvbmljTW9kdWxlLCBSb3V0ZXJMaW5rV2l0aEhyZWYgXSxcclxuICBzZWxlY3RvcjogJ21haW4tY29udGVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21haW4tY29udGVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWFpbi1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYWluQ29udGVudENvbXBvbmVudCAgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBjb2xhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRyYXdlckNvbXBvbmVudDogRHJhd2VyQ29tcG9uZW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBUb2tlbjogYW55O1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5Mb2FkVG9rZW4oKS50aGVuKChyZXMpID0+IHtcclxuICAgICAgdGhpcy5Ub2tlbiA9IHJlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZ1bGxTY3JlZW4oKTogYm9vbGVhbiB7IFxyXG4gICAgaWYoZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQgIT0gbnVsbCl7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlOyBcclxuICB9O1xyXG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcpIEZ1bGxTY3JlZW5Db250ZWluZXI7XHJcbiAgRnVsbFNjcmVlbigpOiB2b2lke1xyXG4gICAgaWYoIXRoaXMuZnVsbFNjcmVlbil7XHJcbiAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLkZ1bGxTY3JlZW5Db250ZWluZXIubmF0aXZlRWxlbWVudDtcclxuICBcclxuICAgICAgaWYgKGVsZW0ucmVxdWVzdEZ1bGxzY3JlZW4pIHtcclxuICAgICAgICBlbGVtLnJlcXVlc3RGdWxsc2NyZWVuKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoZWxlbS5tc1JlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgZWxlbS5tc1JlcXVlc3RGdWxsc2NyZWVuKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoZWxlbS5tb3pSZXF1ZXN0RnVsbFNjcmVlbikge1xyXG4gICAgICAgIGVsZW0ubW96UmVxdWVzdEZ1bGxTY3JlZW4oKTtcclxuICAgICAgfSBlbHNlIGlmIChlbGVtLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgZWxlbS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpO1xyXG4gICAgICB9XHJcbiAgICB9ZWxzZXtcclxuICAgICAgZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2l6ZS1mdWxsIGZsZXggZmxleC1jb2xcIiBbbmdDbGFzc109XCJ7J2JnLWxpZ2h0LzUwJzogZnVsbFNjcmVlbn1cIiAjdGFyZ2V0PlxyXG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC0xNCByZWxhdGl2ZSBzaHJpbmstMFwiPlxyXG4gICAgPGlvbi1jYXJkIGNsYXNzPVwibS0wIHJvdW5kZWQtbm9uZSBzaXplLWZ1bGwgYm9yZGVyLW5vbmVcIj5cclxuICAgICAgPGlvbi1jYXJkLWNvbnRlbnQgY2xhc3M9XCJwLTAgcHgtMiBzaXplLWZ1bGwgZmxleFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEvMiBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1zdGFydFwiPlxyXG4gICAgICAgICAgQGlmICghZnVsbFNjcmVlbikge1xyXG4gICAgICAgICAgICA8aW9uLW1lbnUtYnV0dG9uICBbcm91dGVyTGlua109XCJbJy8nXVwiIFthdXRvSGlkZV09XCJ0cnVlXCI+PC9pb24tbWVudS1idXR0b24+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD1zdGFydF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEvMiBoLWZ1bGwgZmxleCBmbGV4LXJvdy1yZXZlcnNlIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LXN0YXJ0IGdhcC0yXCI+XHJcbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD1lbmRdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICBcclxuICAgICAgICAgIEBpZiAoIWZ1bGxTY3JlZW4pIHtcclxuICAgICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cInVzZXJQb3BvdmVyLnByZXNlbnQoJGV2ZW50KVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzPVwic2l6ZS0xMCBhc3BlY3Qtc3F1YXJlXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1cHBlcmNhc2UgdGV4dC13aGl0ZVwiPnt7VG9rZW4gPyBUb2tlbi5Ob21lWzBdIDogJyd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8aW9uLXBvcG92ZXIgI3VzZXJQb3BvdmVyIFtkaXNtaXNzT25TZWxlY3RdPVwidHJ1ZVwiIHRyaWdnZXJBY3Rpb249XCJjbGlja1wiPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxpb24tY29udGVudD5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpemUtZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgcHgtMyBmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpemUtMTAgc2hyaW5rLTAgYXNwZWN0LXNxdWFyZSByb3VuZGVkLTJ4bCB0ZXh0LXNtIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGRlZmF1bHQtdHJhbnNpdGlvblwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVwcGVyY2FzZSB0ZXh0LXdoaXRlXCI+e3tUb2tlbiA/IFRva2VuLk5vbWVbMF0gOiAnJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdyBtaW4tdy0xMCBwLTIganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtZWxsaXBzaXMgb3ZlcmZsb3ctaGlkZGVuIGJsb2NrIGRlZmF1bHQtdHJhbnNpdGlvblwiIFtuZ0NsYXNzXT1cInsnb3BhY2l0eS0wIHctMCc6IGNvbGFwc2VkfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e1Rva2VuID8gVG9rZW4uTm9tZSA6ICcnfX08L3NwYW4+IDxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi10ZXh0IGNvbG9yPVwic2Vjb25kYXJ5XCIgY2xhc3M9XCJ0ZXh0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJiM2NDt7e1Rva2VuID8gVG9rZW4uQXBlbGlkbyA6ICcnfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tdGV4dD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IGNsYXNzPVwic2l6ZS1mdWxsXCIgc2VsZWN0PVwiW3Nsb3Q9dXNlci1wb3BvdmVyXVwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIHB4LTMgcHktMiB0cmFuc2x1Y2lkLWJvcmRlciAhYm9yZGVyLXgtMCAhYm9yZGVyLWItMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpb24tdGV4dD4gTG9nIE91dCA8L2lvbi10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImF1dGhTZXJ2aWNlLkxvZ2dvdXQoKVwiIGNsYXNzPVwic2l6ZS0xMCBzaHJpbmstMFwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwiZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImV4aXQtb3V0bGluZVwiPjwvaW9uLWljb24+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvaW9uLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9pb24tcG9wb3Zlcj5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiRnVsbFNjcmVlbigpXCIgZmlsbD1cIm91dGxpbmVcIiBjb2xvcj1cImRhcmtcIiBzaXplPVwic21hbGxcIiBjbGFzcz1cInNpemUtMTAgYXNwZWN0LXNxdWFyZSAgcG9ydHJhaXQ6aGlkZGVuXCI+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImV4cGFuZFwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvaW9uLWNhcmQtY29udGVudD5cclxuICAgIDwvaW9uLWNhcmQ+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInNpemUtZnVsbCByZWxhdGl2ZSBwLTIgYmctbGlnaHRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzaXplLWZ1bGwgcmVsYXRpdmUgcm91bmRlZC0yeGwgYmctcHJpbWFyeS8zMCBjb250ZW50LXNoYWRvdyBvdmVyZmxvdy1oaWRkZW5cIj5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tYWluLWNvbnRlbnQvbWFpbi1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tYWluLWNvbnRlbnQvbWFpbi1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7O0FBUzFELE1BQU0sT0FBTyxvQkFBb0I7SUFLL0IsWUFDUyxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUp4QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBSy9CLENBQUM7SUFHTCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixJQUFHLFFBQVEsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLEVBQUMsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFBQSxDQUFDO0lBRUYsVUFBVTtRQUNSLElBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLENBQUM7WUFDbkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQztZQUVwRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLENBQUM7aUJBQU0sSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDOUIsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2dCQUN4QyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQzthQUFJLENBQUM7WUFDSixRQUFRLENBQUMsY0FBYyxFQUFFLENBQUE7UUFDM0IsQ0FBQztJQUNILENBQUM7K0dBdkNVLG9CQUFvQjttR0FBcEIsb0JBQW9CLDZQQ2RqQyxxNEdBNERNLDhPRG5ETyxZQUFZLDRIQUFFLFdBQVcseXlDQUFFLGtCQUFrQjs7NEZBSzdDLG9CQUFvQjtrQkFQaEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixDQUFFLFlBQ2hELGNBQWM7Z0ZBTWYsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQW1CZSxtQkFBbUI7c0JBQXZDLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rV2l0aEhyZWYgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBEcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuLi9kcmF3ZXIvZHJhd2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogWyBDb21tb25Nb2R1bGUsIElvbmljTW9kdWxlLCBSb3V0ZXJMaW5rV2l0aEhyZWYgXSxcclxuICBzZWxlY3RvcjogJ21haW4tY29udGVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21haW4tY29udGVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWFpbi1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYWluQ29udGVudENvbXBvbmVudCAgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBjb2xhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRyYXdlckNvbXBvbmVudDogRHJhd2VyQ29tcG9uZW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBUb2tlbjogYW55O1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5Mb2FkVG9rZW4oKS50aGVuKChyZXMpID0+IHtcclxuICAgICAgdGhpcy5Ub2tlbiA9IHJlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZ1bGxTY3JlZW4oKTogYm9vbGVhbiB7IFxyXG4gICAgaWYoZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQgIT0gbnVsbCl7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlOyBcclxuICB9O1xyXG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcpIEZ1bGxTY3JlZW5Db250ZWluZXI7XHJcbiAgRnVsbFNjcmVlbigpOiB2b2lke1xyXG4gICAgaWYoIXRoaXMuZnVsbFNjcmVlbil7XHJcbiAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLkZ1bGxTY3JlZW5Db250ZWluZXIubmF0aXZlRWxlbWVudDtcclxuICBcclxuICAgICAgaWYgKGVsZW0ucmVxdWVzdEZ1bGxzY3JlZW4pIHtcclxuICAgICAgICBlbGVtLnJlcXVlc3RGdWxsc2NyZWVuKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoZWxlbS5tc1JlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgZWxlbS5tc1JlcXVlc3RGdWxsc2NyZWVuKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoZWxlbS5tb3pSZXF1ZXN0RnVsbFNjcmVlbikge1xyXG4gICAgICAgIGVsZW0ubW96UmVxdWVzdEZ1bGxTY3JlZW4oKTtcclxuICAgICAgfSBlbHNlIGlmIChlbGVtLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgZWxlbS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpO1xyXG4gICAgICB9XHJcbiAgICB9ZWxzZXtcclxuICAgICAgZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2l6ZS1mdWxsIGZsZXggZmxleC1jb2xcIiBbbmdDbGFzc109XCJ7J2JnLWxpZ2h0LzUwJzogZnVsbFNjcmVlbn1cIiAjdGFyZ2V0PlxyXG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC0xNCByZWxhdGl2ZSBzaHJpbmstMFwiPlxyXG4gICAgPGlvbi1jYXJkIGNsYXNzPVwibS0wIHJvdW5kZWQtbm9uZSBzaXplLWZ1bGwgYm9yZGVyLW5vbmVcIj5cclxuICAgICAgPGlvbi1jYXJkLWNvbnRlbnQgY2xhc3M9XCJwLTAgcHgtMiBzaXplLWZ1bGwgZmxleFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEvMiBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1zdGFydFwiPlxyXG4gICAgICAgICAgQGlmICghZnVsbFNjcmVlbikge1xyXG4gICAgICAgICAgICA8aW9uLW1lbnUtYnV0dG9uICBbcm91dGVyTGlua109XCJbJy8nXVwiIFthdXRvSGlkZV09XCJ0cnVlXCI+PC9pb24tbWVudS1idXR0b24+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD1zdGFydF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEvMiBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1zdGFydCBnYXAtMlwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Nsb3Q9ZW5kXVwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgXHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiRnVsbFNjcmVlbigpXCIgZmlsbD1cIm91dGxpbmVcIiBjb2xvcj1cImRhcmtcIiBzaXplPVwic21hbGxcIiBjbGFzcz1cInNpemUtMTAgYXNwZWN0LXNxdWFyZSAgcG9ydHJhaXQ6aGlkZGVuXCI+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImV4cGFuZFwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICA8L2lvbi1idXR0b24+XHJcblxyXG4gICAgICAgICAgQGlmICghZnVsbFNjcmVlbikge1xyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwidXNlclBvcG92ZXIucHJlc2VudCgkZXZlbnQpXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3M9XCJzaXplLTEwIGFzcGVjdC1zcXVhcmVcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVwcGVyY2FzZSB0ZXh0LXdoaXRlXCI+e3tUb2tlbiA/IFRva2VuLk5vbWVbMF0gOiAnJ319PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDxpb24tcG9wb3ZlciAjdXNlclBvcG92ZXIgW2Rpc21pc3NPblNlbGVjdF09XCJ0cnVlXCIgdHJpZ2dlckFjdGlvbj1cImNsaWNrXCI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2l6ZS1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBweC0zIGZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2l6ZS0xMCBzaHJpbmstMCBhc3BlY3Qtc3F1YXJlIHJvdW5kZWQtMnhsIHRleHQtc20gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZGVmYXVsdC10cmFuc2l0aW9uXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXBwZXJjYXNlIHRleHQtd2hpdGVcIj57e1Rva2VuID8gVG9rZW4uTm9tZVswXSA6ICcnfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncm93IG1pbi13LTEwIHAtMiBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgd2hpdGVzcGFjZS1ub3dyYXAgdGV4dC1lbGxpcHNpcyBvdmVyZmxvdy1oaWRkZW4gYmxvY2sgZGVmYXVsdC10cmFuc2l0aW9uXCIgW25nQ2xhc3NdPVwieydvcGFjaXR5LTAgdy0wJzogY29sYXBzZWR9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7VG9rZW4gPyBUb2tlbi5Ob21lIDogJyd9fTwvc3Bhbj4gPGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLXRleHQgY29sb3I9XCJzZWNvbmRhcnlcIiBjbGFzcz1cInRleHQtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAmIzY0O3t7VG9rZW4gPyBUb2tlbi5BcGVsaWRvIDogJyd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgY2xhc3M9XCJzaXplLWZ1bGxcIiBzZWxlY3Q9XCJbc2xvdD11c2VyLXBvcG92ZXJdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgcHgtMyBweS0yIHRyYW5zbHVjaWQtYm9yZGVyICFib3JkZXIteC0wICFib3JkZXItYi0wIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi10ZXh0PiBMb2cgT3V0IDwvaW9uLXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiYXV0aFNlcnZpY2UuTG9nZ291dCgpXCIgY2xhc3M9XCJzaXplLTEwIHNocmluay0wXCIgc2l6ZT1cInNtYWxsXCIgY29sb3I9XCJkYW5nZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiZXhpdC1vdXRsaW5lXCI+PC9pb24taWNvbj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9pb24tY29udGVudD5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2lvbi1wb3BvdmVyPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XHJcbiAgICA8L2lvbi1jYXJkPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzaXplLWZ1bGwgcmVsYXRpdmUgcC0yIGJnLWxpZ2h0XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2l6ZS1mdWxsIHJlbGF0aXZlIHJvdW5kZWQtMnhsIGJnLXByaW1hcnkvMzAgY29udGVudC1zaGFkb3cgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -17,11 +17,11 @@ export class TabComponent {
17
17
  this.guid = Utils.GenerateGUID();
18
18
  }
19
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TabComponent, selector: "tab", inputs: { id: "id", label: "label", name: "name", route: "route", active: "active", relative: "relative" }, viewQueries: [{ propertyName: "placeToRender", first: true, predicate: ["placeToRender"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div [ngClass]=\"{'-translate-x-full opacity-0': !active,\r\n '!relative': relative }\" class=\"default-transition overflow-hidden max-h-full size-full absolute top-0 left-0\">\r\n @if(route && active){\r\n <!-- <ion-router-outlet class=\"size-full\"></ion-router-outlet> -->\r\n <router-outlet class=\"size-full\"></router-outlet>\r\n }@else {\r\n <ng-content></ng-content>\r\n }\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TabComponent, selector: "tab", inputs: { id: "id", label: "label", name: "name", route: "route", active: "active", relative: "relative" }, viewQueries: [{ propertyName: "placeToRender", first: true, predicate: ["placeToRender"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div [ngClass]=\"{'-translate-x-full opacity-0': !active,\r\n '!relative': relative }\" class=\"default-transition overflow-hidden max-h-full size-full absolute top-0 left-0\">\r\n @if(route && active){\r\n <router-outlet class=\"size-full\"></router-outlet>\r\n }@else {\r\n <ng-content></ng-content>\r\n }\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
21
21
  }
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TabComponent, decorators: [{
23
23
  type: Component,
24
- args: [{ selector: 'tab', template: "<div [ngClass]=\"{'-translate-x-full opacity-0': !active,\r\n '!relative': relative }\" class=\"default-transition overflow-hidden max-h-full size-full absolute top-0 left-0\">\r\n @if(route && active){\r\n <!-- <ion-router-outlet class=\"size-full\"></ion-router-outlet> -->\r\n <router-outlet class=\"size-full\"></router-outlet>\r\n }@else {\r\n <ng-content></ng-content>\r\n }\r\n</div>" }]
24
+ args: [{ selector: 'tab', template: "<div [ngClass]=\"{'-translate-x-full opacity-0': !active,\r\n '!relative': relative }\" class=\"default-transition overflow-hidden max-h-full size-full absolute top-0 left-0\">\r\n @if(route && active){\r\n <router-outlet class=\"size-full\"></router-outlet>\r\n }@else {\r\n <ng-content></ng-content>\r\n }\r\n</div>" }]
25
25
  }], ctorParameters: () => [], propDecorators: { id: [{
26
26
  type: Input
27
27
  }], label: [{
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
38
38
  type: ViewChild,
39
39
  args: ['placeToRender', { read: ViewContainerRef }]
40
40
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJzL3RhYi90YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvdGFiL3RhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBT3hELE1BQU0sT0FBTyxZQUFZO0lBV3ZCO1FBVlMsT0FBRSxHQUFlLElBQUksQ0FBQztRQUV0QixVQUFLLEdBQVksT0FBTyxDQUFDO1FBQ2xDLG1EQUFtRDtRQUMxQyxTQUFJLEdBQWEsU0FBUyxDQUFDO1FBQ3BDLDBFQUEwRTtRQUMxRCxVQUFLLEdBQW1CLElBQUksQ0FBQztRQUNwQyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFLbkMsaUJBQVksR0FBd0IsSUFBSSxDQUFDO1FBRXpDLFNBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFMWixDQUFDOytHQVhOLFlBQVk7bUdBQVosWUFBWSxrUEFhWSxnQkFBZ0IsNkJDdEJyRCxvYUFRTTs7NEZEQ08sWUFBWTtrQkFMeEIsU0FBUzsrQkFDRSxLQUFLO3dEQUtOLEVBQUU7c0JBQVYsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSWdELGFBQWE7c0JBQWxFLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyT3V0bGV0IH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RhYicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGlkICAgOiBzdHJpbmcgID0gbnVsbDtcclxuXHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyAgPSBcIkxhYmVsXCI7XHJcbiAgLyoqIEljb25lIGRhIGFiYSBAbGluayBodHRwczovL2lvbmljLmlvL2lvbmljb25zICovXHJcbiAgQElucHV0KCkgbmFtZSA6IHN0cmluZyAgPSBcIndhcm5pbmdcIjtcclxuICAvKiogUm90YSBhYmEsIHF1YW5kbyBuw6FvIGluZm9ybWFkYSBpcsOhIG1vc3RyYXIgbyBjb250ZXVkbyBkbyBjb21wb25lbnRlICovXHJcbiAgQElucHV0KCkgcHVibGljIHJvdXRlIDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcmVsYXRpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgQFZpZXdDaGlsZCgncGxhY2VUb1JlbmRlcicsIHtyZWFkOiBWaWV3Q29udGFpbmVyUmVmfSkgcGxhY2VUb1JlbmRlcjogVmlld0NvbnRhaW5lclJlZjtcclxuICByb3V0ZXJPdXRsZXQ6IFJvdXRlck91dGxldCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBndWlkID0gVXRpbHMuR2VuZXJhdGVHVUlEKCk7XHJcbn1cclxuXHJcbiIsIjxkaXYgW25nQ2xhc3NdPVwieyctdHJhbnNsYXRlLXgtZnVsbCBvcGFjaXR5LTAnOiAhYWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICchcmVsYXRpdmUnOiByZWxhdGl2ZSB9XCIgY2xhc3M9XCJkZWZhdWx0LXRyYW5zaXRpb24gb3ZlcmZsb3ctaGlkZGVuIG1heC1oLWZ1bGwgc2l6ZS1mdWxsIGFic29sdXRlIHRvcC0wIGxlZnQtMFwiPlxyXG4gIEBpZihyb3V0ZSAmJiBhY3RpdmUpe1xyXG4gICAgPCEtLSA8aW9uLXJvdXRlci1vdXRsZXQgY2xhc3M9XCJzaXplLWZ1bGxcIj48L2lvbi1yb3V0ZXItb3V0bGV0PiAtLT5cclxuICAgIDxyb3V0ZXItb3V0bGV0IGNsYXNzPVwic2l6ZS1mdWxsXCI+PC9yb3V0ZXItb3V0bGV0PlxyXG4gIH1AZWxzZSB7XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgfVxyXG48L2Rpdj4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJzL3RhYi90YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvdGFiL3RhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBT3hELE1BQU0sT0FBTyxZQUFZO0lBV3ZCO1FBVlMsT0FBRSxHQUFlLElBQUksQ0FBQztRQUV0QixVQUFLLEdBQVksT0FBTyxDQUFDO1FBQ2xDLG1EQUFtRDtRQUMxQyxTQUFJLEdBQWEsU0FBUyxDQUFDO1FBQ3BDLDBFQUEwRTtRQUMxRCxVQUFLLEdBQW1CLElBQUksQ0FBQztRQUNwQyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFLbkMsaUJBQVksR0FBd0IsSUFBSSxDQUFDO1FBRXpDLFNBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFMWixDQUFDOytHQVhOLFlBQVk7bUdBQVosWUFBWSxrUEFhWSxnQkFBZ0IsNkJDdEJyRCx3VkFPTTs7NEZERU8sWUFBWTtrQkFMeEIsU0FBUzsrQkFDRSxLQUFLO3dEQUtOLEVBQUU7c0JBQVYsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSWdELGFBQWE7c0JBQWxFLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyT3V0bGV0IH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RhYicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGlkICAgOiBzdHJpbmcgID0gbnVsbDtcclxuXHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyAgPSBcIkxhYmVsXCI7XHJcbiAgLyoqIEljb25lIGRhIGFiYSBAbGluayBodHRwczovL2lvbmljLmlvL2lvbmljb25zICovXHJcbiAgQElucHV0KCkgbmFtZSA6IHN0cmluZyAgPSBcIndhcm5pbmdcIjtcclxuICAvKiogUm90YSBhYmEsIHF1YW5kbyBuw6FvIGluZm9ybWFkYSBpcsOhIG1vc3RyYXIgbyBjb250ZXVkbyBkbyBjb21wb25lbnRlICovXHJcbiAgQElucHV0KCkgcHVibGljIHJvdXRlIDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcmVsYXRpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgQFZpZXdDaGlsZCgncGxhY2VUb1JlbmRlcicsIHtyZWFkOiBWaWV3Q29udGFpbmVyUmVmfSkgcGxhY2VUb1JlbmRlcjogVmlld0NvbnRhaW5lclJlZjtcclxuICByb3V0ZXJPdXRsZXQ6IFJvdXRlck91dGxldCB8IG51bGwgPSBudWxsO1xyXG5cclxuICBndWlkID0gVXRpbHMuR2VuZXJhdGVHVUlEKCk7XHJcbn1cclxuXHJcbiIsIjxkaXYgW25nQ2xhc3NdPVwieyctdHJhbnNsYXRlLXgtZnVsbCBvcGFjaXR5LTAnOiAhYWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICchcmVsYXRpdmUnOiByZWxhdGl2ZSB9XCIgY2xhc3M9XCJkZWZhdWx0LXRyYW5zaXRpb24gb3ZlcmZsb3ctaGlkZGVuIG1heC1oLWZ1bGwgc2l6ZS1mdWxsIGFic29sdXRlIHRvcC0wIGxlZnQtMFwiPlxyXG4gIEBpZihyb3V0ZSAmJiBhY3RpdmUpe1xyXG4gICAgPHJvdXRlci1vdXRsZXQgY2xhc3M9XCJzaXplLWZ1bGxcIj48L3JvdXRlci1vdXRsZXQ+XHJcbiAgfUBlbHNlIHtcclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICB9XHJcbjwvZGl2PiJdfQ==
@@ -32,12 +32,12 @@ export class ErrorInterceptor {
32
32
  if (error.status == 401) {
33
33
  this.auth.Loggout();
34
34
  }
35
- else if (error.status != 404) {
36
- this.PresentErrorToast(error.error, req, error);
37
- }
38
- if (error.status == 403) {
35
+ else if (error.status == 403) {
39
36
  this.router.navigate(['/403']);
40
37
  }
38
+ if (error.status != 404) {
39
+ this.PresentErrorToast(error.error, req, error);
40
+ }
41
41
  throw error;
42
42
  }));
43
43
  }
@@ -103,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
103
103
  }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.HttpClient }, { type: i3.GenericService }, { type: i4.ToastController }, { type: i5.ApiUrlProviderService }, { type: i6.Router }] });
104
104
  class ApiErrorReturn {
105
105
  }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2d1YXJkcy9lcnJvci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUEyRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNILE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBS3pDLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFDVSxJQUFpQixFQUNqQixJQUFnQixFQUNoQixjQUE4QixFQUM5QixlQUFnQyxFQUNoQyxxQkFBNEMsRUFDNUMsTUFBYztRQUxkLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXVCaEIsaUJBQVksR0FBVyxxQkFBcUIsQ0FBQztRQUM3QyxrQkFBYSxHQUFXLHNCQUFzQixDQUFDO0lBdkJwRCxDQUFDO0lBRUosU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDMUIsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3RDLHlCQUF5QjtZQUN6QixxREFBcUQ7WUFDckQsSUFBSTtZQUNKLElBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUMsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixDQUFDO2lCQUNELElBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUMsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xELENBQUM7WUFDRCxJQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxFQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtZQUNoQyxDQUFDO1lBQ0QsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUlELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsT0FBWSxFQUFFLFNBQWM7UUFDaEUsSUFBSSxHQUFHLEdBQW1CLElBQUksQ0FBQztRQUMvQixJQUFHLENBQUM7WUFDRixHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQW1CLENBQUE7UUFDMUMsQ0FBQztRQUFBLE1BQUssQ0FBQztZQUNMLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSwrQ0FBK0MsRUFBRSxRQUFRLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFBO1FBQ3JILENBQUM7UUFDRCxHQUFHLENBQUMsS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFbkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUM5QyxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVE7WUFDckIsUUFBUSxFQUFFLElBQUk7WUFDZCxJQUFJLEVBQUUsS0FBSztZQUNYLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsZUFBZTtvQkFDckIsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLElBQUksRUFBRSxLQUFLO29CQUNYLE9BQU8sRUFBRSxHQUFHLEVBQUU7d0JBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbkIsQ0FBQztpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQWMsU0FBUztRQUNyQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFBO0lBQ3BELENBQUM7SUFDRCxNQUFNLENBQUMsR0FBbUI7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDNUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyw2QkFBNkIsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RyxLQUFLLEVBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLGdEQUFnRCxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZHLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQVksRUFBRSxTQUFjO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNwQixLQUFLLEVBQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RDLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDaEMsTUFBTSxFQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUM1QyxRQUFRLEVBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3BELE9BQU8sRUFBSyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDbkQsT0FBTyxFQUFLLE9BQU87WUFDbkIsS0FBSyxFQUFPLFNBQVM7WUFDckIsTUFBTSxFQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNO1NBQzlDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBdEZVLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUEwRkQsTUFBTSxjQUFjO0NBSW5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFRvYXN0Q29udHJvbGxlciB9IGZyb20gXCJAaW9uaWMvYW5ndWxhclwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7IEFwaVVybFByb3ZpZGVyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy93ZWIvYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2dlbmVyaWNzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVycm9ySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aDogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGdlbmVyaWNTZXJ2aWNlOiBHZW5lcmljU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsXHJcbiAgICBwcml2YXRlIGFwaVVybFByb3ZpZGVyU2VydmljZTogQXBpVXJsUHJvdmlkZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge31cclxuXHJcbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHsgXHJcbiAgICAgICAgLy8gaWYoZXJyb3Iuc3RhdHVzID09IDApe1xyXG4gICAgICAgIC8vICAgdGhpcy5QcmVzZW50RXJyb3JUb2FzdChlcnJvci5lcnJvciwgcmVxLCBlcnJvcik7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGlmKGVycm9yLnN0YXR1cyA9PSA0MDEpeyBcclxuICAgICAgICAgIHRoaXMuYXV0aC5Mb2dnb3V0KCk7IFxyXG4gICAgICAgIH1lbHNlIFxyXG4gICAgICAgIGlmKGVycm9yLnN0YXR1cyAhPSA0MDQpeyBcclxuICAgICAgICAgIHRoaXMuUHJlc2VudEVycm9yVG9hc3QoZXJyb3IuZXJyb3IsIHJlcSwgZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihlcnJvci5zdGF0dXMgPT0gNDAzKXtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLzQwMyddKVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvY2FsVXNlcktleTogc3RyaW5nID0gXCJBUExJQ0FUSU9OX1VTRVJfS0VZXCI7XHJcbiAgcHJpdmF0ZSBsb2NhbEFkbWluS2V5OiBzdHJpbmcgPSBcIkFQTElDQVRJT05fQURNSU5fS0VZXCI7XHJcbiAgYXN5bmMgUHJlc2VudEVycm9yVG9hc3QoanNvbjogc3RyaW5nLCByZXF1ZXN0OiBhbnksIGZ1bGxFcnJvcjogYW55KSB7XHJcbiAgICB2YXIgcmVzOiBBcGlFcnJvclJldHVybiA9IG51bGw7XHJcbiAgICB0cnl7XHJcbiAgICAgIHJlcyA9IEpTT04ucGFyc2UoanNvbikgYXMgQXBpRXJyb3JSZXR1cm5cclxuICAgIH1jYXRjaHtcclxuICAgICAgcmVzID0geyBFcnJvOiBcIk7Do28gZm9pIHBvc3NpdmVsIGNvbnZlcnRlciBvIEpTT04gZGUgcmV0b3JubyFcIiwgTWVuc2FnZW06IFwiT2NvcnJldSB1bSBlcnJvIGluZXNwZXJhZG8hXCIsIF9JbmZvOiBcIlwiIH1cclxuICAgIH1cclxuICAgIHJlcy5fSW5mbyA9IGF3YWl0IHRoaXMuR2V0SW5mbyhyZXF1ZXN0LCBmdWxsRXJyb3IpO1xyXG5cclxuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcclxuICAgICAgbWVzc2FnZTogcmVzLk1lbnNhZ2VtLFxyXG4gICAgICBkdXJhdGlvbjogNTAwMCxcclxuICAgICAgaWNvbjogXCJidWdcIixcclxuICAgICAgcG9zaXRpb246ICdib3R0b20nLFxyXG4gICAgICB0cmFuc2x1Y2VudDogZmFsc2UsIFxyXG4gICAgICBjc3NDbGFzczogJ2lvbmljLXRvYXN0JyxcclxuICAgICAgYnV0dG9uczogW1xyXG4gICAgICAgIHsgXHJcbiAgICAgICAgICB0ZXh0OiBcIlJlcG9ydGFyIEVycm9cIixcclxuICAgICAgICAgIGljb246IFwiZG9jdW1lbnRcIixcclxuICAgICAgICAgIHNpZGU6IFwiZW5kXCIsXHJcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuUmVwb3J0KHJlcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9KTtcclxuXHJcbiAgICBhd2FpdCB0b2FzdC5wcmVzZW50KCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IGZ1bGxSb3V0ZSgpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UuYXBpVXJsICsgJ2Vycm9yJ1xyXG4gIH1cclxuICBSZXBvcnQocmVzOiBBcGlFcnJvclJldHVybik6IHZvaWR7XHJcbiAgICB0aGlzLmh0dHAucG9zdCh0aGlzLmZ1bGxSb3V0ZSwgcmVzKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzKSA9PiB7IHRoaXMuZ2VuZXJpY1NlcnZpY2UuUHJlc2VudFRvYXN0KFwiRXJybyBpbmZvcm1hZG8gY29tIHN1Y2Vzc28hXCIsIFwiY2hlY2ttYXJrLWNpcmNsZVwiKTsgfSxcclxuICAgICAgZXJyb3I6KGVycikgPT4geyB0aGlzLmdlbmVyaWNTZXJ2aWNlLlByZXNlbnRUb2FzdChcIk9jb3JyZXUgdW0gZXJybyBpbmVzcGVyYWRvIG5vIHJldG9ybm8gZG8gZXJybyFcIik7IH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgR2V0SW5mbyhyZXF1ZXN0OiBhbnksIGZ1bGxFcnJvcjogYW55KTogUHJvbWlzZTxzdHJpbmc+e1xyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgdG9rZW4gICAgIDogdGhpcy5hdXRoLkxvYWRUb2tlbigpLFxyXG4gICAgICB0b2tlbkFkbWluOiB0aGlzLmF1dGguTG9hZFRva2VuQWRtaW4oKSxcclxuICAgICAgY3VycmVudFVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXHJcbiAgICAgIHVzZXJJZCAgICA6IChhd2FpdCB0aGlzLmF1dGguTG9hZFRva2VuKCkpLmlkLFxyXG4gICAgICBqd3RBZG1pbiAgOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmxvY2FsQWRtaW5LZXkpLFxyXG4gICAgICBqd3RVc2VyICAgOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmxvY2FsVXNlcktleSksXHJcbiAgICAgIHJlcXVlc3QgICA6IHJlcXVlc3QsXHJcbiAgICAgIGVycm9yICAgICA6IGZ1bGxFcnJvcixcclxuICAgICAgYXBpVXJsICAgIDogdGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UuYXBpVXJsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmNsYXNzIEFwaUVycm9yUmV0dXJuIHtcclxuICBNZW5zYWdlbTogc3RyaW5nO1xyXG4gIEVycm86IHN0cmluZztcclxuICBfSW5mbzogc3RyaW5nO1xyXG59Il19
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2d1YXJkcy9lcnJvci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUEyRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNILE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBS3pDLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFDVSxJQUFpQixFQUNqQixJQUFnQixFQUNoQixjQUE4QixFQUM5QixlQUFnQyxFQUNoQyxxQkFBNEMsRUFDNUMsTUFBYztRQUxkLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXVCaEIsaUJBQVksR0FBVyxxQkFBcUIsQ0FBQztRQUM3QyxrQkFBYSxHQUFXLHNCQUFzQixDQUFDO0lBdkJwRCxDQUFDO0lBRUosU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDMUIsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3RDLHlCQUF5QjtZQUN6QixxREFBcUQ7WUFDckQsSUFBSTtZQUNKLElBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUMsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixDQUFDO2lCQUNELElBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUMsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1lBQ2hDLENBQUM7WUFDRCxJQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxFQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsRCxDQUFDO1lBQ0QsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUlELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsT0FBWSxFQUFFLFNBQWM7UUFDaEUsSUFBSSxHQUFHLEdBQW1CLElBQUksQ0FBQztRQUMvQixJQUFHLENBQUM7WUFDRixHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQW1CLENBQUE7UUFDMUMsQ0FBQztRQUFBLE1BQUssQ0FBQztZQUNMLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSwrQ0FBK0MsRUFBRSxRQUFRLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFBO1FBQ3JILENBQUM7UUFDRCxHQUFHLENBQUMsS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFbkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUM5QyxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVE7WUFDckIsUUFBUSxFQUFFLElBQUk7WUFDZCxJQUFJLEVBQUUsS0FBSztZQUNYLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsZUFBZTtvQkFDckIsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLElBQUksRUFBRSxLQUFLO29CQUNYLE9BQU8sRUFBRSxHQUFHLEVBQUU7d0JBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbkIsQ0FBQztpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQWMsU0FBUztRQUNyQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFBO0lBQ3BELENBQUM7SUFDRCxNQUFNLENBQUMsR0FBbUI7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDNUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyw2QkFBNkIsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RyxLQUFLLEVBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLGdEQUFnRCxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZHLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQVksRUFBRSxTQUFjO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNwQixLQUFLLEVBQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RDLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDaEMsTUFBTSxFQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUM1QyxRQUFRLEVBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3BELE9BQU8sRUFBSyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDbkQsT0FBTyxFQUFLLE9BQU87WUFDbkIsS0FBSyxFQUFPLFNBQVM7WUFDckIsTUFBTSxFQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNO1NBQzlDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBdEZVLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUEwRkQsTUFBTSxjQUFjO0NBSW5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFRvYXN0Q29udHJvbGxlciB9IGZyb20gXCJAaW9uaWMvYW5ndWxhclwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7IEFwaVVybFByb3ZpZGVyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy93ZWIvYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2dlbmVyaWNzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVycm9ySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aDogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGdlbmVyaWNTZXJ2aWNlOiBHZW5lcmljU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIsXHJcbiAgICBwcml2YXRlIGFwaVVybFByb3ZpZGVyU2VydmljZTogQXBpVXJsUHJvdmlkZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge31cclxuXHJcbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHsgXHJcbiAgICAgICAgLy8gaWYoZXJyb3Iuc3RhdHVzID09IDApe1xyXG4gICAgICAgIC8vICAgdGhpcy5QcmVzZW50RXJyb3JUb2FzdChlcnJvci5lcnJvciwgcmVxLCBlcnJvcik7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGlmKGVycm9yLnN0YXR1cyA9PSA0MDEpeyBcclxuICAgICAgICAgIHRoaXMuYXV0aC5Mb2dnb3V0KCk7IFxyXG4gICAgICAgIH1lbHNlIFxyXG4gICAgICAgIGlmKGVycm9yLnN0YXR1cyA9PSA0MDMpe1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvNDAzJ10pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGVycm9yLnN0YXR1cyAhPSA0MDQpeyBcclxuICAgICAgICAgIHRoaXMuUHJlc2VudEVycm9yVG9hc3QoZXJyb3IuZXJyb3IsIHJlcSwgZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvY2FsVXNlcktleTogc3RyaW5nID0gXCJBUExJQ0FUSU9OX1VTRVJfS0VZXCI7XHJcbiAgcHJpdmF0ZSBsb2NhbEFkbWluS2V5OiBzdHJpbmcgPSBcIkFQTElDQVRJT05fQURNSU5fS0VZXCI7XHJcbiAgYXN5bmMgUHJlc2VudEVycm9yVG9hc3QoanNvbjogc3RyaW5nLCByZXF1ZXN0OiBhbnksIGZ1bGxFcnJvcjogYW55KSB7XHJcbiAgICB2YXIgcmVzOiBBcGlFcnJvclJldHVybiA9IG51bGw7XHJcbiAgICB0cnl7XHJcbiAgICAgIHJlcyA9IEpTT04ucGFyc2UoanNvbikgYXMgQXBpRXJyb3JSZXR1cm5cclxuICAgIH1jYXRjaHtcclxuICAgICAgcmVzID0geyBFcnJvOiBcIk7Do28gZm9pIHBvc3NpdmVsIGNvbnZlcnRlciBvIEpTT04gZGUgcmV0b3JubyFcIiwgTWVuc2FnZW06IFwiT2NvcnJldSB1bSBlcnJvIGluZXNwZXJhZG8hXCIsIF9JbmZvOiBcIlwiIH1cclxuICAgIH1cclxuICAgIHJlcy5fSW5mbyA9IGF3YWl0IHRoaXMuR2V0SW5mbyhyZXF1ZXN0LCBmdWxsRXJyb3IpO1xyXG5cclxuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcclxuICAgICAgbWVzc2FnZTogcmVzLk1lbnNhZ2VtLFxyXG4gICAgICBkdXJhdGlvbjogNTAwMCxcclxuICAgICAgaWNvbjogXCJidWdcIixcclxuICAgICAgcG9zaXRpb246ICdib3R0b20nLFxyXG4gICAgICB0cmFuc2x1Y2VudDogZmFsc2UsIFxyXG4gICAgICBjc3NDbGFzczogJ2lvbmljLXRvYXN0JyxcclxuICAgICAgYnV0dG9uczogW1xyXG4gICAgICAgIHsgXHJcbiAgICAgICAgICB0ZXh0OiBcIlJlcG9ydGFyIEVycm9cIixcclxuICAgICAgICAgIGljb246IFwiZG9jdW1lbnRcIixcclxuICAgICAgICAgIHNpZGU6IFwiZW5kXCIsXHJcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuUmVwb3J0KHJlcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9KTtcclxuXHJcbiAgICBhd2FpdCB0b2FzdC5wcmVzZW50KCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0IGZ1bGxSb3V0ZSgpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UuYXBpVXJsICsgJ2Vycm9yJ1xyXG4gIH1cclxuICBSZXBvcnQocmVzOiBBcGlFcnJvclJldHVybik6IHZvaWR7XHJcbiAgICB0aGlzLmh0dHAucG9zdCh0aGlzLmZ1bGxSb3V0ZSwgcmVzKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzKSA9PiB7IHRoaXMuZ2VuZXJpY1NlcnZpY2UuUHJlc2VudFRvYXN0KFwiRXJybyBpbmZvcm1hZG8gY29tIHN1Y2Vzc28hXCIsIFwiY2hlY2ttYXJrLWNpcmNsZVwiKTsgfSxcclxuICAgICAgZXJyb3I6KGVycikgPT4geyB0aGlzLmdlbmVyaWNTZXJ2aWNlLlByZXNlbnRUb2FzdChcIk9jb3JyZXUgdW0gZXJybyBpbmVzcGVyYWRvIG5vIHJldG9ybm8gZG8gZXJybyFcIik7IH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgR2V0SW5mbyhyZXF1ZXN0OiBhbnksIGZ1bGxFcnJvcjogYW55KTogUHJvbWlzZTxzdHJpbmc+e1xyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgdG9rZW4gICAgIDogdGhpcy5hdXRoLkxvYWRUb2tlbigpLFxyXG4gICAgICB0b2tlbkFkbWluOiB0aGlzLmF1dGguTG9hZFRva2VuQWRtaW4oKSxcclxuICAgICAgY3VycmVudFVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXHJcbiAgICAgIHVzZXJJZCAgICA6IChhd2FpdCB0aGlzLmF1dGguTG9hZFRva2VuKCkpLmlkLFxyXG4gICAgICBqd3RBZG1pbiAgOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmxvY2FsQWRtaW5LZXkpLFxyXG4gICAgICBqd3RVc2VyICAgOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmxvY2FsVXNlcktleSksXHJcbiAgICAgIHJlcXVlc3QgICA6IHJlcXVlc3QsXHJcbiAgICAgIGVycm9yICAgICA6IGZ1bGxFcnJvcixcclxuICAgICAgYXBpVXJsICAgIDogdGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UuYXBpVXJsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmNsYXNzIEFwaUVycm9yUmV0dXJuIHtcclxuICBNZW5zYWdlbTogc3RyaW5nO1xyXG4gIEVycm86IHN0cmluZztcclxuICBfSW5mbzogc3RyaW5nO1xyXG59Il19