@arsedizioni/ars-utils 18.5.36 → 18.5.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/esm2022/clipper.ui/ui/browser-dialog/browser-dialog.component.mjs +3 -3
  2. package/esm2022/clipper.ui/ui/document/document.component.mjs +3 -3
  3. package/esm2022/clipper.ui/ui/references/references.component.mjs +3 -3
  4. package/esm2022/clipper.ui/ui/search-facets/search-facets.component.mjs +3 -3
  5. package/esm2022/clipper.ui/ui/search-result-item/search-result-item.component.mjs +3 -3
  6. package/esm2022/help/components/help-viewer/help-viewer.component.mjs +3 -3
  7. package/esm2022/support.ui/ui/notifications-browser/notification/notification.component.mjs +3 -3
  8. package/esm2022/support.ui/ui/notifications-browser/notifications-browser.component.mjs +3 -3
  9. package/esm2022/ui/ui/dialogs/busy/busy-dialog.component.mjs +6 -5
  10. package/esm2022/ui/ui/dialogs/confirm/confirm-dialog.component.mjs +3 -3
  11. package/esm2022/ui/ui/dialogs/credentials/credentials-dialog.component.mjs +3 -3
  12. package/esm2022/ui/ui/dialogs/info/info-dialog.component.mjs +3 -3
  13. package/esm2022/ui/ui/dialogs/recover-password/recover-password-dialog.component.mjs +3 -3
  14. package/esm2022/ui/ui/dialogs/reset-password/reset-password-dialog.component.mjs +3 -3
  15. package/esm2022/ui.application/ui/components/filter-bar/filter-bar.component.mjs +3 -3
  16. package/esm2022/ui.application/ui/dialogs/prompt/prompt-dialog.component.mjs +3 -3
  17. package/esm2022/ui.application/ui/dialogs/prompt-date/prompt-date-dialog.component.mjs +3 -3
  18. package/esm2022/ui.application/ui/dialogs/prompt-time/prompt-time-dialog.component.mjs +3 -3
  19. package/esm2022/ui.application/ui/dialogs/select/select-dialog.component.mjs +3 -3
  20. package/esm2022/ui.application/ui/dialogs/select-file/select-file-dialog.component.mjs +3 -3
  21. package/esm2022/ui.application/ui/dialogs/select-picture/select-picture-dialog.component.mjs +3 -3
  22. package/esm2022/ui.application/ui/dialogs/select-tree/select-tree-dialog.component.mjs +3 -3
  23. package/esm2022/ui.application/ui/dialogs/send-to/send-to-dialog.component.mjs +3 -3
  24. package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +10 -10
  25. package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
  26. package/fesm2022/arsedizioni-ars-utils-help.mjs +2 -2
  27. package/fesm2022/arsedizioni-ars-utils-help.mjs.map +1 -1
  28. package/fesm2022/arsedizioni-ars-utils-support.ui.mjs +4 -4
  29. package/fesm2022/arsedizioni-ars-utils-support.ui.mjs.map +1 -1
  30. package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +18 -18
  31. package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
  32. package/fesm2022/arsedizioni-ars-utils-ui.mjs +16 -16
  33. package/fesm2022/arsedizioni-ars-utils-ui.mjs.map +1 -1
  34. package/package.json +11 -11
  35. package/styles/ui.scss +1 -1
  36. package/ui/ui/dialogs/busy/busy-dialog.component.d.ts +2 -2
@@ -62,7 +62,7 @@ export class SendToDialogComponent {
62
62
  this.populate.emit(this.item);
63
63
  }
64
64
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SendToDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: SendToDialogComponent, isStandalone: true, selector: "ng-component", outputs: { done: "done", populate: "populate" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, ngImport: i0, template: "<div class=\"dialog-info\">\r\n @if (f.form.invalid) {\r\n<span class=\"dialog-info-error\">Ci sono ancora dei campi obbligatori (*) non compilati.</span>\r\n} @else {\r\n<span class=\"dialog-info-ok\">Tutti i campi obbligatori (*) sono compilati.</span>\r\n}\r\n</div>\r\n<h2 mat-dialog-title>{{dialogData.title}}</h2>\r\n<mat-dialog-content>\r\n <p>{{dialogData.info}}</p>\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxFill>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Destinatari</mat-label>\r\n <textarea matInput\r\n [(ngModel)]=\"item.recipients\" name=\"recipients\" maxlength=\"1024\" #recipients=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" emails required></textarea>\r\n @if (item.recipients) {\r\n<button type=\"button\" tabindex=\"-1\" mat-icon-button matSuffix\r\n aria-label=\"Azzera\" (click)=\"item.recipients = null;\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n}\r\n @if (dialogData.allowPopulate) {\r\n<button type=\"button\" type=\"button\" tabindex=\"-1\" mat-icon-button\r\n matSuffix aria-label=\"Popola\" (click)=\"populateRecipients()\" matTooltip=\"Popola\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n}\r\n <mat-hint align=\"start\">Separati da punto e virgola</mat-hint>\r\n <mat-hint align=\"end\">{{recipients.value?.length || 0}}/1024 </mat-hint>\r\n @if (recipients.invalid) {\r\n<mat-error>Non valido.</mat-error>\r\n}\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Oggetto</mat-label>\r\n <input matInput\r\n name=\"subject\" [(ngModel)]=\"item.subject\" #subject=\"ngModel\" maxlength=\"200\" required />\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n <mat-hint align=\"end\">{{subject.value?.length || 0}}/200 </mat-hint>\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Testo</mat-label>\r\n <textarea matInput \r\n [(ngModel)]=\"item.text\" name=\"text\" maxlength=\"1000\" #text=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" required></textarea>\r\n <mat-hint align=\"end\">{{text.value?.length || 0}}/1024 </mat-hint>\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n </mat-form-field>\r\n </div>\r\n @if (dialogData.options) {\r\n<div>\r\n @for (o of dialogData.options; track $index; let i = $index) {\r\n <div>\r\n <mat-checkbox [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n </form>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxLayoutAlign=\"end\" fxFill >\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" (click)=\"ok()\">Invia</button>\r\n <button mat-stroked-button [mat-dialog-close]=\"true\" color=\"primary\">Annulla</button>\r\n </div>\r\n </div>\r\n</mat-dialog-actions>\r\n", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:5px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}@supports (-webkit-line-clamp: 2){.truncated{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@supports (-webkit-line-clamp: 2){.truncated span,.truncated div{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em!important;font-weight:600;padding-left:20px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "directive", type: EmailsValidatorDirective, selector: "[emails]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.10", type: SendToDialogComponent, isStandalone: true, selector: "ng-component", outputs: { done: "done", populate: "populate" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, ngImport: i0, template: "<div class=\"dialog-info\">\r\n @if (f.form.invalid) {\r\n<span class=\"dialog-info-error\">Ci sono ancora dei campi obbligatori (*) non compilati.</span>\r\n} @else {\r\n<span class=\"dialog-info-ok\">Tutti i campi obbligatori (*) sono compilati.</span>\r\n}\r\n</div>\r\n<h2 mat-dialog-title>{{dialogData.title}}</h2>\r\n<mat-dialog-content>\r\n <p>{{dialogData.info}}</p>\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxFill>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Destinatari</mat-label>\r\n <textarea matInput\r\n [(ngModel)]=\"item.recipients\" name=\"recipients\" maxlength=\"1024\" #recipients=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" emails required></textarea>\r\n @if (item.recipients) {\r\n<button type=\"button\" tabindex=\"-1\" mat-icon-button matSuffix\r\n aria-label=\"Azzera\" (click)=\"item.recipients = null;\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n}\r\n @if (dialogData.allowPopulate) {\r\n<button type=\"button\" type=\"button\" tabindex=\"-1\" mat-icon-button\r\n matSuffix aria-label=\"Popola\" (click)=\"populateRecipients()\" matTooltip=\"Popola\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n}\r\n <mat-hint align=\"start\">Separati da punto e virgola</mat-hint>\r\n <mat-hint align=\"end\">{{recipients.value?.length || 0}}/1024 </mat-hint>\r\n @if (recipients.invalid) {\r\n<mat-error>Non valido.</mat-error>\r\n}\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Oggetto</mat-label>\r\n <input matInput\r\n name=\"subject\" [(ngModel)]=\"item.subject\" #subject=\"ngModel\" maxlength=\"200\" required />\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n <mat-hint align=\"end\">{{subject.value?.length || 0}}/200 </mat-hint>\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Testo</mat-label>\r\n <textarea matInput \r\n [(ngModel)]=\"item.text\" name=\"text\" maxlength=\"1000\" #text=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" required></textarea>\r\n <mat-hint align=\"end\">{{text.value?.length || 0}}/1024 </mat-hint>\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n </mat-form-field>\r\n </div>\r\n @if (dialogData.options) {\r\n<div>\r\n @for (o of dialogData.options; track $index; let i = $index) {\r\n <div>\r\n <mat-checkbox [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n </form>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxLayoutAlign=\"end\" fxFill >\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" (click)=\"ok()\">Invia</button>\r\n <button mat-stroked-button [mat-dialog-close]=\"true\" color=\"primary\">Annulla</button>\r\n </div>\r\n </div>\r\n</mat-dialog-actions>\r\n", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:5px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}@supports (-webkit-line-clamp: 2){.truncated{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@supports (-webkit-line-clamp: 2){.truncated span,.truncated div{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 10px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em!important;font-weight:600;padding-left:20px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FlexModule }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "directive", type: EmailsValidatorDirective, selector: "[emails]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
66
  }
67
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SendToDialogComponent, decorators: [{
68
68
  type: Component,
@@ -81,10 +81,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
81
81
  MatCheckboxModule,
82
82
  MatDialogActions,
83
83
  MatDialogClose,
84
- ], template: "<div class=\"dialog-info\">\r\n @if (f.form.invalid) {\r\n<span class=\"dialog-info-error\">Ci sono ancora dei campi obbligatori (*) non compilati.</span>\r\n} @else {\r\n<span class=\"dialog-info-ok\">Tutti i campi obbligatori (*) sono compilati.</span>\r\n}\r\n</div>\r\n<h2 mat-dialog-title>{{dialogData.title}}</h2>\r\n<mat-dialog-content>\r\n <p>{{dialogData.info}}</p>\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxFill>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Destinatari</mat-label>\r\n <textarea matInput\r\n [(ngModel)]=\"item.recipients\" name=\"recipients\" maxlength=\"1024\" #recipients=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" emails required></textarea>\r\n @if (item.recipients) {\r\n<button type=\"button\" tabindex=\"-1\" mat-icon-button matSuffix\r\n aria-label=\"Azzera\" (click)=\"item.recipients = null;\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n}\r\n @if (dialogData.allowPopulate) {\r\n<button type=\"button\" type=\"button\" tabindex=\"-1\" mat-icon-button\r\n matSuffix aria-label=\"Popola\" (click)=\"populateRecipients()\" matTooltip=\"Popola\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n}\r\n <mat-hint align=\"start\">Separati da punto e virgola</mat-hint>\r\n <mat-hint align=\"end\">{{recipients.value?.length || 0}}/1024 </mat-hint>\r\n @if (recipients.invalid) {\r\n<mat-error>Non valido.</mat-error>\r\n}\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Oggetto</mat-label>\r\n <input matInput\r\n name=\"subject\" [(ngModel)]=\"item.subject\" #subject=\"ngModel\" maxlength=\"200\" required />\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n <mat-hint align=\"end\">{{subject.value?.length || 0}}/200 </mat-hint>\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Testo</mat-label>\r\n <textarea matInput \r\n [(ngModel)]=\"item.text\" name=\"text\" maxlength=\"1000\" #text=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" required></textarea>\r\n <mat-hint align=\"end\">{{text.value?.length || 0}}/1024 </mat-hint>\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n </mat-form-field>\r\n </div>\r\n @if (dialogData.options) {\r\n<div>\r\n @for (o of dialogData.options; track $index; let i = $index) {\r\n <div>\r\n <mat-checkbox [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n </form>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxLayoutAlign=\"end\" fxFill >\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" (click)=\"ok()\">Invia</button>\r\n <button mat-stroked-button [mat-dialog-close]=\"true\" color=\"primary\">Annulla</button>\r\n </div>\r\n </div>\r\n</mat-dialog-actions>\r\n", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:5px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}@supports (-webkit-line-clamp: 2){.truncated{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@supports (-webkit-line-clamp: 2){.truncated span,.truncated div{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 5px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em!important;font-weight:600;padding-left:20px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}\n"] }]
84
+ ], template: "<div class=\"dialog-info\">\r\n @if (f.form.invalid) {\r\n<span class=\"dialog-info-error\">Ci sono ancora dei campi obbligatori (*) non compilati.</span>\r\n} @else {\r\n<span class=\"dialog-info-ok\">Tutti i campi obbligatori (*) sono compilati.</span>\r\n}\r\n</div>\r\n<h2 mat-dialog-title>{{dialogData.title}}</h2>\r\n<mat-dialog-content>\r\n <p>{{dialogData.info}}</p>\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"column\" fxFill>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Destinatari</mat-label>\r\n <textarea matInput\r\n [(ngModel)]=\"item.recipients\" name=\"recipients\" maxlength=\"1024\" #recipients=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" emails required></textarea>\r\n @if (item.recipients) {\r\n<button type=\"button\" tabindex=\"-1\" mat-icon-button matSuffix\r\n aria-label=\"Azzera\" (click)=\"item.recipients = null;\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n}\r\n @if (dialogData.allowPopulate) {\r\n<button type=\"button\" type=\"button\" tabindex=\"-1\" mat-icon-button\r\n matSuffix aria-label=\"Popola\" (click)=\"populateRecipients()\" matTooltip=\"Popola\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n}\r\n <mat-hint align=\"start\">Separati da punto e virgola</mat-hint>\r\n <mat-hint align=\"end\">{{recipients.value?.length || 0}}/1024 </mat-hint>\r\n @if (recipients.invalid) {\r\n<mat-error>Non valido.</mat-error>\r\n}\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Oggetto</mat-label>\r\n <input matInput\r\n name=\"subject\" [(ngModel)]=\"item.subject\" #subject=\"ngModel\" maxlength=\"200\" required />\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n <mat-hint align=\"end\">{{subject.value?.length || 0}}/200 </mat-hint>\r\n </mat-form-field>\r\n <mat-form-field [appearance]=\"dialogData.appearance\">\r\n <mat-label >Testo</mat-label>\r\n <textarea matInput \r\n [(ngModel)]=\"item.text\" name=\"text\" maxlength=\"1000\" #text=\"ngModel\" cdkTextareaAutosize\r\n cdkAutosizeMinRows=\"1\" cdkAutosizeMaxRows=\"10\" required></textarea>\r\n <mat-hint align=\"end\">{{text.value?.length || 0}}/1024 </mat-hint>\r\n @if (subject.invalid) {\r\n<mat-error>Obbligatorio.</mat-error>\r\n}\r\n </mat-form-field>\r\n </div>\r\n @if (dialogData.options) {\r\n<div>\r\n @for (o of dialogData.options; track $index; let i = $index) {\r\n <div>\r\n <mat-checkbox [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n}\r\n </div>\r\n}\r\n </div>\r\n </form>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutGap=\"10px\" fxFill>\r\n <div fxLayoutAlign=\"end\" fxFill >\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" (click)=\"ok()\">Invia</button>\r\n <button mat-stroked-button [mat-dialog-close]=\"true\" color=\"primary\">Annulla</button>\r\n </div>\r\n </div>\r\n</mat-dialog-actions>\r\n", styles: [".dialog-info{font-size:x-small;font-weight:700;text-align:right;padding:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #388E3C)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #a80710)}.dialog-header{padding-bottom:20px}.dialog-close{margin-right:5px;margin-top:10px}.dialog-menu{margin-left:10px;margin-top:10px}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:600;padding-top:10px;padding-bottom:8px}.center{text-align:center}.wide{min-width:100%!important;max-width:100%!important;width:100%!important}.fill{min-width:100%!important;max-width:100%!important;width:100%!important;min-height:100%!important;max-height:100%!important;height:100%!important}.scroll-auto{overflow:auto;height:100%}.scroll-hidden{overflow:hidden;height:100%}b{font-weight:700}.large{font-size:large!important}.smaller{font-size:smaller}.small{font-size:small!important;line-height:16px}.small-icon-button{width:1.5rem!important;height:1.5rem!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}.small-icon-button .mat-mdc-button-touch-target{width:1.5rem!important;height:1.5rem!important}.x-small{font-size:x-small!important;line-height:14px}.bold{font-weight:700}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0;max-width:100%}@supports (-webkit-line-clamp: 2){.truncated{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@supports (-webkit-line-clamp: 2){.truncated span,.truncated div{overflow:hidden;text-overflow:ellipsis;white-space:initial;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.clipped{min-width:0;max-width:100%}.clipped span,.clipped div{white-space:nowrap;overflow:hidden;text-overflow:clip}.accent{color:var(--ars-color-accent, #7894ae)!important}.primary{color:var(--ars-color-primary, #00a293)!important}.secondary{color:var(--ars-color-secondary, #4a635f)!important}.error{color:var(--ars-color-error, #ff5449)!important}.success{color:var(--ars-color-ok, #388E3C)!important}.warning{color:var(--ars-color-warning, #FFC107)!important}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background-color:var(--ars-color-overlay, rgba(255, 255, 255, .75))}.drawer-content{padding-top:10px}.drawer .title-container,.drawer-small .title-container{padding:20px 5px 20px 0}.drawer .title-container-with-loader,.drawer-small .title-container-with-loader{padding:14px 10px 20px 0}.drawer .title,.drawer-small .title{font-size:1.2em!important;font-weight:600;padding-left:20px;min-width:150px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .accordion-panel,.drawer-small .accordion-panel{background-color:transparent!important}.drawer .accordion-header,.drawer-small .accordion-header{padding-left:10px;padding-right:10px;border-radius:var(--mat-expansion-container-shape)}.drawer .mat-expansion-panel-body,.drawer-small .mat-expansion-panel-body{padding-left:10px!important;padding-right:10px!important;padding-bottom:20px!important}@media screen and (min-width: 0px) and (max-width: 430px){.drawer,.drawer-small{border-radius:0!important;min-width:100%!important;max-width:100%!important}}@media screen and (min-width: 431px){.drawer{min-width:420px!important;max-width:420px!important}.drawer .title{min-width:200px}.drawer .mat-expansion-panel-body{padding-left:15px!important;padding-right:15px!important;padding-bottom:20px!important}.drawer-small{min-width:360px!important;max-width:360px!important}}.drawer-with-loader{padding-top:0!important}.drawer-transparent{background-color:transparent}.fade-in{animation:fadein .5s linear}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.dialog-info-green,.dialog-info-ok{color:var(--ars-color-ok, #4CAF50)}.dialog-info-red,.dialog-info-error{color:var(--mat-form-field-error-text-color, #ff5449)}b{font-weight:600}}\n"] }]
85
85
  }], propDecorators: { done: [{
86
86
  type: Output
87
87
  }], populate: [{
88
88
  type: Output
89
89
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC10by1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL3VpLmFwcGxpY2F0aW9uL3VpL2RpYWxvZ3Mvc2VuZC10by9zZW5kLXRvLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkuYXBwbGljYXRpb24vdWkvZGlhbG9ncy9zZW5kLXRvL3NlbmQtdG8tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEYsT0FBTyxFQUFF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YXIvY2RrL3RleHQtZmllbGRcIjtcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ0FjdGlvbnMsIE1hdERpYWxvZ0Nsb3NlLCBNYXREaWFsb2dDb250ZW50LCBNYXREaWFsb2dUaXRsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBFbWFpbHNWYWxpZGF0b3JEaXJlY3RpdmUsIFN5c3RlbVV0aWxzIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgRmxleE1vZHVsZSB9IGZyb20gXCJAbmdicmFja2V0L25neC1sYXlvdXQvZmxleFwiO1xyXG5pbXBvcnQgeyBTZW5kVG9EaWFsb2dSZXN1bHQgfSBmcm9tIFwiLi4vLi4vZGVmaW5pdGlvbnNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VuZFRvRGlhbG9nRGF0YSB7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcbiAgaW5mbz86IHN0cmluZ3wgbnVsbDtcclxuICBhcHBlYXJhbmNlPzogc3RyaW5nfCBudWxsO1xyXG4gIGFsbG93UG9wdWxhdGU/OiBib29sZWFufCBudWxsO1xyXG4gIG9wdGlvbnM/OiBhbnl8IG51bGw7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIGhvc3Q6IHsgJ0JpbmQnOiBTeXN0ZW1VdGlscy5nZW5lcmF0ZVVVSUQoKSB9LFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vc2VuZC10by1kaWFsb2cuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vc2VuZC10by1kaWFsb2cuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXREaWFsb2dUaXRsZSxcclxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIEZsZXhNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIFRleHRGaWVsZE1vZHVsZSxcclxuICAgIEVtYWlsc1ZhbGlkYXRvckRpcmVjdGl2ZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXREaWFsb2dBY3Rpb25zLFxyXG4gICAgTWF0RGlhbG9nQ2xvc2UsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbmRUb0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGRvbmUgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbmRUb0RpYWxvZ1Jlc3VsdD4oKTtcclxuICBAT3V0cHV0KCkgcG9wdWxhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbmRUb0RpYWxvZ1Jlc3VsdD4oKTtcclxuXHJcbiAgcHJvdGVjdGVkIGRpYWxvZ0RhdGE6IFNlbmRUb0RpYWxvZ0RhdGEgPSBpbmplY3QoTUFUX0RJQUxPR19EQVRBKTtcclxuICBwcm90ZWN0ZWQgaXRlbTogU2VuZFRvRGlhbG9nUmVzdWx0ID0ge1xyXG4gICAgcmVjaXBpZW50czogbnVsbCxcclxuICAgIHN1YmplY3Q6IG51bGwsXHJcbiAgICB0ZXh0OiBudWxsLFxyXG4gICAgb3B0aW9uczogbnVsbFxyXG4gIH07XHJcblxyXG4gbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgdGhpcy5kaWFsb2dEYXRhID0gdGhpcy5kaWFsb2dEYXRhIHx8IHsgY291bnQ6IDAsIGFwcGVhcmFuY2U6ICdmaWxsJyB9O1xyXG4gIGlmICghdGhpcy5kaWFsb2dEYXRhLmFwcGVhcmFuY2UpIHtcclxuICAgIHRoaXMuZGlhbG9nRGF0YS5hcHBlYXJhbmNlID0gJ2ZpbGwnO1xyXG4gIH1cclxuICBpZiAoIXRoaXMuZGlhbG9nRGF0YS5jb3VudCkge1xyXG4gICAgdGhpcy5kaWFsb2dEYXRhLmNvdW50ID0gMDtcclxuICB9XHJcbiAgaWYgKCF0aGlzLmRpYWxvZ0RhdGEudGl0bGUgJiYgdGhpcy5kaWFsb2dEYXRhLmNvdW50KSB7XHJcbiAgICB0aGlzLmRpYWxvZ0RhdGEudGl0bGUgPVxyXG4gICAgICB0aGlzLmRpYWxvZ0RhdGEuY291bnQgPT09IDFcclxuICAgICAgICA/IFwiSW52aWEgZG9jdW1lbnRvIGEuLi5cIlxyXG4gICAgICAgIDogXCJJbnZpYSBcIiArIHRoaXMuZGlhbG9nRGF0YS5jb3VudCArIFwiIGRvY3VtZW50aSBhLi4uXCI7XHJcbiAgfVxyXG4gfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJtaXRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb2soKSB7XHJcbiAgICAvLyBBZGQgc2VsZWN0ZWQgb3B0aW9uc1xyXG4gICAgdGhpcy5pdGVtLm9wdGlvbnMgPSB0aGlzLmRpYWxvZ0RhdGEub3B0aW9ucztcclxuICAgIHRoaXMuZG9uZS5lbWl0KHRoaXMuaXRlbSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQb3B1bGF0ZSByZWNpcGllbnRzXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHBvcHVsYXRlUmVjaXBpZW50cygpIHtcclxuICAgIHRoaXMucG9wdWxhdGUuZW1pdCh0aGlzLml0ZW0pO1xyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJkaWFsb2ctaW5mb1wiPlxyXG4gIEBpZiAoZi5mb3JtLmludmFsaWQpIHtcclxuPHNwYW4gY2xhc3M9XCJkaWFsb2ctaW5mby1lcnJvclwiPkNpIHNvbm8gYW5jb3JhIGRlaSBjYW1waSBvYmJsaWdhdG9yaSAoKikgbm9uIGNvbXBpbGF0aS48L3NwYW4+XHJcbn0gQGVsc2Uge1xyXG48c3BhbiBjbGFzcz1cImRpYWxvZy1pbmZvLW9rXCI+VHV0dGkgaSBjYW1waSBvYmJsaWdhdG9yaSAoKikgc29ubyBjb21waWxhdGkuPC9zcGFuPlxyXG59XHJcbjwvZGl2PlxyXG48aDIgbWF0LWRpYWxvZy10aXRsZT57e2RpYWxvZ0RhdGEudGl0bGV9fTwvaDI+XHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPHA+e3tkaWFsb2dEYXRhLmluZm99fTwvcD5cclxuICA8Zm9ybSBuYW1lPVwiZm9ybVwiICNmPVwibmdGb3JtXCIgbm92YWxpZGF0ZT5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEdhcD1cIjMycHhcIiBmeEZpbGw+XHJcbiAgICAgIDxkaXYgZnhGbGV4PVwiKlwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGaWxsPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCAgW2FwcGVhcmFuY2VdPVwiZGlhbG9nRGF0YS5hcHBlYXJhbmNlXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsID5EZXN0aW5hdGFyaTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPHRleHRhcmVhIG1hdElucHV0XHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5yZWNpcGllbnRzXCIgbmFtZT1cInJlY2lwaWVudHNcIiBtYXhsZW5ndGg9XCIxMDI0XCIgI3JlY2lwaWVudHM9XCJuZ01vZGVsXCIgY2RrVGV4dGFyZWFBdXRvc2l6ZVxyXG4gICAgICAgICAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCIxXCIgY2RrQXV0b3NpemVNYXhSb3dzPVwiMTBcIiBlbWFpbHMgcmVxdWlyZWQ+PC90ZXh0YXJlYT5cclxuICAgICAgICAgIEBpZiAoaXRlbS5yZWNpcGllbnRzKSB7XHJcbjxidXR0b24gdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiLTFcIiBtYXQtaWNvbi1idXR0b24gIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQXp6ZXJhXCIgKGNsaWNrKT1cIml0ZW0ucmVjaXBpZW50cyA9IG51bGw7XCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxufVxyXG4gICAgICAgICAgQGlmIChkaWFsb2dEYXRhLmFsbG93UG9wdWxhdGUpIHtcclxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiLTFcIiBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgIG1hdFN1ZmZpeCBhcmlhLWxhYmVsPVwiUG9wb2xhXCIgKGNsaWNrKT1cInBvcHVsYXRlUmVjaXBpZW50cygpXCIgbWF0VG9vbHRpcD1cIlBvcG9sYVwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG59XHJcbiAgICAgICAgICA8bWF0LWhpbnQgYWxpZ249XCJzdGFydFwiPlNlcGFyYXRpIGRhIHB1bnRvIGUgdmlyZ29sYTwvbWF0LWhpbnQ+XHJcbiAgICAgICAgICA8bWF0LWhpbnQgYWxpZ249XCJlbmRcIj57e3JlY2lwaWVudHMudmFsdWU/Lmxlbmd0aCB8fCAwfX0vMTAyNCA8L21hdC1oaW50PlxyXG4gICAgICAgICAgQGlmIChyZWNpcGllbnRzLmludmFsaWQpIHtcclxuPG1hdC1lcnJvcj5Ob24gdmFsaWRvLjwvbWF0LWVycm9yPlxyXG59XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgIFthcHBlYXJhbmNlXT1cImRpYWxvZ0RhdGEuYXBwZWFyYW5jZVwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbCA+T2dnZXR0bzwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0XHJcbiAgICAgICAgICAgIG5hbWU9XCJzdWJqZWN0XCIgWyhuZ01vZGVsKV09XCJpdGVtLnN1YmplY3RcIiAjc3ViamVjdD1cIm5nTW9kZWxcIiBtYXhsZW5ndGg9XCIyMDBcIiByZXF1aXJlZCAvPlxyXG4gICAgICAgICAgQGlmIChzdWJqZWN0LmludmFsaWQpIHtcclxuPG1hdC1lcnJvcj5PYmJsaWdhdG9yaW8uPC9tYXQtZXJyb3I+XHJcbn1cclxuICAgICAgICAgIDxtYXQtaGludCBhbGlnbj1cImVuZFwiPnt7c3ViamVjdC52YWx1ZT8ubGVuZ3RoIHx8IDB9fS8yMDAgPC9tYXQtaGludD5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCJkaWFsb2dEYXRhLmFwcGVhcmFuY2VcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWwgPlRlc3RvPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS50ZXh0XCIgbmFtZT1cInRleHRcIiBtYXhsZW5ndGg9XCIxMDAwXCIgI3RleHQ9XCJuZ01vZGVsXCIgY2RrVGV4dGFyZWFBdXRvc2l6ZVxyXG4gICAgICAgICAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCIxXCIgY2RrQXV0b3NpemVNYXhSb3dzPVwiMTBcIiByZXF1aXJlZD48L3RleHRhcmVhPlxyXG4gICAgICAgICAgPG1hdC1oaW50IGFsaWduPVwiZW5kXCI+e3t0ZXh0LnZhbHVlPy5sZW5ndGggfHwgMH19LzEwMjQgPC9tYXQtaGludD5cclxuICAgICAgICAgIEBpZiAoc3ViamVjdC5pbnZhbGlkKSB7XHJcbjxtYXQtZXJyb3I+T2JibGlnYXRvcmlvLjwvbWF0LWVycm9yPlxyXG59XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIEBpZiAoZGlhbG9nRGF0YS5vcHRpb25zKSB7XHJcbjxkaXY+XHJcbiAgICAgICAgQGZvciAobyBvZiBkaWFsb2dEYXRhLm9wdGlvbnM7IHRyYWNrICRpbmRleDsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICA8ZGl2PlxyXG4gICAgICAgICAgPG1hdC1jaGVja2JveCAgWyhuZ01vZGVsKV09XCJvLnZhbHVlXCIgbmFtZT1cIm9wdF97e2l9fVwiPlxyXG4gICAgICAgICAgICB7e28uZGVzY3JpcHRpb259fVxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbn1cclxuICAgICAgPC9kaXY+XHJcbn1cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbjxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIGZ4RmlsbD5cclxuICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cImVuZFwiIGZ4RmlsbCA+XHJcbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJmLmZvcm0uaW52YWxpZFwiIChjbGljayk9XCJvaygpXCI+SW52aWE8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiIGNvbG9yPVwicHJpbWFyeVwiPkFubnVsbGE8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC10by1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL3VpLmFwcGxpY2F0aW9uL3VpL2RpYWxvZ3Mvc2VuZC10by9zZW5kLXRvLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkuYXBwbGljYXRpb24vdWkvZGlhbG9ncy9zZW5kLXRvL3NlbmQtdG8tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEYsT0FBTyxFQUFF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YXIvY2RrL3RleHQtZmllbGRcIjtcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ0FjdGlvbnMsIE1hdERpYWxvZ0Nsb3NlLCBNYXREaWFsb2dDb250ZW50LCBNYXREaWFsb2dUaXRsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBFbWFpbHNWYWxpZGF0b3JEaXJlY3RpdmUsIFN5c3RlbVV0aWxzIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgRmxleE1vZHVsZSB9IGZyb20gXCJAbmdicmFja2V0L25neC1sYXlvdXQvZmxleFwiO1xyXG5pbXBvcnQgeyBTZW5kVG9EaWFsb2dSZXN1bHQgfSBmcm9tIFwiLi4vLi4vZGVmaW5pdGlvbnNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VuZFRvRGlhbG9nRGF0YSB7XHJcbiAgY291bnQ6IG51bWJlcjtcclxuICB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcbiAgaW5mbz86IHN0cmluZ3wgbnVsbDtcclxuICBhcHBlYXJhbmNlPzogc3RyaW5nfCBudWxsO1xyXG4gIGFsbG93UG9wdWxhdGU/OiBib29sZWFufCBudWxsO1xyXG4gIG9wdGlvbnM/OiBhbnl8IG51bGw7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIGhvc3Q6IHsgJ0JpbmQnOiBTeXN0ZW1VdGlscy5nZW5lcmF0ZVVVSUQoKSB9LFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vc2VuZC10by1kaWFsb2cuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vc2VuZC10by1kaWFsb2cuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXREaWFsb2dUaXRsZSxcclxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIEZsZXhNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIFRleHRGaWVsZE1vZHVsZSxcclxuICAgIEVtYWlsc1ZhbGlkYXRvckRpcmVjdGl2ZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXREaWFsb2dBY3Rpb25zLFxyXG4gICAgTWF0RGlhbG9nQ2xvc2UsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbmRUb0RpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGRvbmUgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbmRUb0RpYWxvZ1Jlc3VsdD4oKTtcclxuICBAT3V0cHV0KCkgcG9wdWxhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbmRUb0RpYWxvZ1Jlc3VsdD4oKTtcclxuXHJcbiAgcHJvdGVjdGVkIGRpYWxvZ0RhdGE6IFNlbmRUb0RpYWxvZ0RhdGEgPSBpbmplY3QoTUFUX0RJQUxPR19EQVRBKTtcclxuICBwcm90ZWN0ZWQgaXRlbTogU2VuZFRvRGlhbG9nUmVzdWx0ID0ge1xyXG4gICAgcmVjaXBpZW50czogbnVsbCxcclxuICAgIHN1YmplY3Q6IG51bGwsXHJcbiAgICB0ZXh0OiBudWxsLFxyXG4gICAgb3B0aW9uczogbnVsbFxyXG4gIH07XHJcblxyXG4gbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgdGhpcy5kaWFsb2dEYXRhID0gdGhpcy5kaWFsb2dEYXRhIHx8IHsgY291bnQ6IDAsIGFwcGVhcmFuY2U6ICdmaWxsJyB9O1xyXG4gIGlmICghdGhpcy5kaWFsb2dEYXRhLmFwcGVhcmFuY2UpIHtcclxuICAgIHRoaXMuZGlhbG9nRGF0YS5hcHBlYXJhbmNlID0gJ2ZpbGwnO1xyXG4gIH1cclxuICBpZiAoIXRoaXMuZGlhbG9nRGF0YS5jb3VudCkge1xyXG4gICAgdGhpcy5kaWFsb2dEYXRhLmNvdW50ID0gMDtcclxuICB9XHJcbiAgaWYgKCF0aGlzLmRpYWxvZ0RhdGEudGl0bGUgJiYgdGhpcy5kaWFsb2dEYXRhLmNvdW50KSB7XHJcbiAgICB0aGlzLmRpYWxvZ0RhdGEudGl0bGUgPVxyXG4gICAgICB0aGlzLmRpYWxvZ0RhdGEuY291bnQgPT09IDFcclxuICAgICAgICA/IFwiSW52aWEgZG9jdW1lbnRvIGEuLi5cIlxyXG4gICAgICAgIDogXCJJbnZpYSBcIiArIHRoaXMuZGlhbG9nRGF0YS5jb3VudCArIFwiIGRvY3VtZW50aSBhLi4uXCI7XHJcbiAgfVxyXG4gfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJtaXRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb2soKSB7XHJcbiAgICAvLyBBZGQgc2VsZWN0ZWQgb3B0aW9uc1xyXG4gICAgdGhpcy5pdGVtLm9wdGlvbnMgPSB0aGlzLmRpYWxvZ0RhdGEub3B0aW9ucztcclxuICAgIHRoaXMuZG9uZS5lbWl0KHRoaXMuaXRlbSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQb3B1bGF0ZSByZWNpcGllbnRzXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHBvcHVsYXRlUmVjaXBpZW50cygpIHtcclxuICAgIHRoaXMucG9wdWxhdGUuZW1pdCh0aGlzLml0ZW0pO1xyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJkaWFsb2ctaW5mb1wiPlxyXG4gIEBpZiAoZi5mb3JtLmludmFsaWQpIHtcclxuPHNwYW4gY2xhc3M9XCJkaWFsb2ctaW5mby1lcnJvclwiPkNpIHNvbm8gYW5jb3JhIGRlaSBjYW1waSBvYmJsaWdhdG9yaSAoKikgbm9uIGNvbXBpbGF0aS48L3NwYW4+XHJcbn0gQGVsc2Uge1xyXG48c3BhbiBjbGFzcz1cImRpYWxvZy1pbmZvLW9rXCI+VHV0dGkgaSBjYW1waSBvYmJsaWdhdG9yaSAoKikgc29ubyBjb21waWxhdGkuPC9zcGFuPlxyXG59XHJcbjwvZGl2PlxyXG48aDIgbWF0LWRpYWxvZy10aXRsZT57e2RpYWxvZ0RhdGEudGl0bGV9fTwvaDI+XHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPHA+e3tkaWFsb2dEYXRhLmluZm99fTwvcD5cclxuICA8Zm9ybSBuYW1lPVwiZm9ybVwiICNmPVwibmdGb3JtXCIgbm92YWxpZGF0ZT5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEdhcD1cIjMycHhcIiBmeEZpbGw+XHJcbiAgICAgIDxkaXYgZnhGbGV4PVwiKlwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGaWxsPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCAgW2FwcGVhcmFuY2VdPVwiZGlhbG9nRGF0YS5hcHBlYXJhbmNlXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsID5EZXN0aW5hdGFyaTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPHRleHRhcmVhIG1hdElucHV0XHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5yZWNpcGllbnRzXCIgbmFtZT1cInJlY2lwaWVudHNcIiBtYXhsZW5ndGg9XCIxMDI0XCIgI3JlY2lwaWVudHM9XCJuZ01vZGVsXCIgY2RrVGV4dGFyZWFBdXRvc2l6ZVxyXG4gICAgICAgICAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCIxXCIgY2RrQXV0b3NpemVNYXhSb3dzPVwiMTBcIiBlbWFpbHMgcmVxdWlyZWQ+PC90ZXh0YXJlYT5cclxuICAgICAgICAgIEBpZiAoaXRlbS5yZWNpcGllbnRzKSB7XHJcbjxidXR0b24gdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiLTFcIiBtYXQtaWNvbi1idXR0b24gIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQXp6ZXJhXCIgKGNsaWNrKT1cIml0ZW0ucmVjaXBpZW50cyA9IG51bGw7XCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxufVxyXG4gICAgICAgICAgQGlmIChkaWFsb2dEYXRhLmFsbG93UG9wdWxhdGUpIHtcclxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiLTFcIiBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgIG1hdFN1ZmZpeCBhcmlhLWxhYmVsPVwiUG9wb2xhXCIgKGNsaWNrKT1cInBvcHVsYXRlUmVjaXBpZW50cygpXCIgbWF0VG9vbHRpcD1cIlBvcG9sYVwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG59XHJcbiAgICAgICAgICA8bWF0LWhpbnQgYWxpZ249XCJzdGFydFwiPlNlcGFyYXRpIGRhIHB1bnRvIGUgdmlyZ29sYTwvbWF0LWhpbnQ+XHJcbiAgICAgICAgICA8bWF0LWhpbnQgYWxpZ249XCJlbmRcIj57e3JlY2lwaWVudHMudmFsdWU/Lmxlbmd0aCB8fCAwfX0vMTAyNCA8L21hdC1oaW50PlxyXG4gICAgICAgICAgQGlmIChyZWNpcGllbnRzLmludmFsaWQpIHtcclxuPG1hdC1lcnJvcj5Ob24gdmFsaWRvLjwvbWF0LWVycm9yPlxyXG59XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgIFthcHBlYXJhbmNlXT1cImRpYWxvZ0RhdGEuYXBwZWFyYW5jZVwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbCA+T2dnZXR0bzwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0XHJcbiAgICAgICAgICAgIG5hbWU9XCJzdWJqZWN0XCIgWyhuZ01vZGVsKV09XCJpdGVtLnN1YmplY3RcIiAjc3ViamVjdD1cIm5nTW9kZWxcIiBtYXhsZW5ndGg9XCIyMDBcIiByZXF1aXJlZCAvPlxyXG4gICAgICAgICAgQGlmIChzdWJqZWN0LmludmFsaWQpIHtcclxuPG1hdC1lcnJvcj5PYmJsaWdhdG9yaW8uPC9tYXQtZXJyb3I+XHJcbn1cclxuICAgICAgICAgIDxtYXQtaGludCBhbGlnbj1cImVuZFwiPnt7c3ViamVjdC52YWx1ZT8ubGVuZ3RoIHx8IDB9fS8yMDAgPC9tYXQtaGludD5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCJkaWFsb2dEYXRhLmFwcGVhcmFuY2VcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWwgPlRlc3RvPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS50ZXh0XCIgbmFtZT1cInRleHRcIiBtYXhsZW5ndGg9XCIxMDAwXCIgI3RleHQ9XCJuZ01vZGVsXCIgY2RrVGV4dGFyZWFBdXRvc2l6ZVxyXG4gICAgICAgICAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCIxXCIgY2RrQXV0b3NpemVNYXhSb3dzPVwiMTBcIiByZXF1aXJlZD48L3RleHRhcmVhPlxyXG4gICAgICAgICAgPG1hdC1oaW50IGFsaWduPVwiZW5kXCI+e3t0ZXh0LnZhbHVlPy5sZW5ndGggfHwgMH19LzEwMjQgPC9tYXQtaGludD5cclxuICAgICAgICAgIEBpZiAoc3ViamVjdC5pbnZhbGlkKSB7XHJcbjxtYXQtZXJyb3I+T2JibGlnYXRvcmlvLjwvbWF0LWVycm9yPlxyXG59XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIEBpZiAoZGlhbG9nRGF0YS5vcHRpb25zKSB7XHJcbjxkaXY+XHJcbiAgICAgICAgQGZvciAobyBvZiBkaWFsb2dEYXRhLm9wdGlvbnM7IHRyYWNrICRpbmRleDsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICA8ZGl2PlxyXG4gICAgICAgICAgPG1hdC1jaGVja2JveCAgWyhuZ01vZGVsKV09XCJvLnZhbHVlXCIgbmFtZT1cIm9wdF97e2l9fVwiPlxyXG4gICAgICAgICAgICB7e28uZGVzY3JpcHRpb259fVxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbn1cclxuICAgICAgPC9kaXY+XHJcbn1cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbjxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIGZ4RmlsbD5cclxuICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cImVuZFwiIGZ4RmlsbCA+XHJcbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJmLmZvcm0uaW52YWxpZFwiIChjbGljayk9XCJvaygpXCI+SW52aWE8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiIGNvbG9yPVwicHJpbWFyeVwiPkFubnVsbGE8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuIl19