@arsedizioni/ars-utils 18.1.26 → 18.1.27

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 (24) 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/last-15-days/last-15-days.component.mjs +3 -3
  4. package/esm2022/clipper.ui/ui/references/references.component.mjs +3 -3
  5. package/esm2022/clipper.ui/ui/search-dialog/search-dialog.component.mjs +3 -3
  6. package/esm2022/clipper.ui/ui/search-facets/search-facets.component.mjs +3 -3
  7. package/esm2022/clipper.ui/ui/search-result-item/search-result-item.component.mjs +3 -3
  8. package/esm2022/help/components/help-viewer/help-viewer.component.mjs +3 -3
  9. package/esm2022/ui/ui/dialogs/busy/busy-dialog.component.mjs +3 -3
  10. package/esm2022/ui/ui/dialogs/confirm/confirm-dialog.component.mjs +3 -3
  11. package/esm2022/ui/ui/dialogs/info/info-dialog.component.mjs +3 -3
  12. package/esm2022/ui/ui/dialogs/recover-password/recover-password-dialog.component.mjs +3 -3
  13. package/esm2022/ui/ui/dialogs/reset-password/reset-password-dialog.component.mjs +3 -3
  14. package/esm2022/ui.application/ui/dialogs/prompt-date/prompt-date-dialog.component.mjs +3 -3
  15. package/esm2022/ui.application/ui/dialogs/prompt-time/prompt-time-dialog.component.mjs +3 -3
  16. package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +14 -14
  17. package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
  18. package/fesm2022/arsedizioni-ars-utils-help.mjs +2 -2
  19. package/fesm2022/arsedizioni-ars-utils-help.mjs.map +1 -1
  20. package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +4 -4
  21. package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
  22. package/fesm2022/arsedizioni-ars-utils-ui.mjs +10 -10
  23. package/fesm2022/arsedizioni-ars-utils-ui.mjs.map +1 -1
  24. package/package.json +7 -7
@@ -43,13 +43,13 @@ export class PromptTimeDialogComponent {
43
43
  this.done.emit({ value: this.value, options: this.data.options });
44
44
  }
45
45
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: PromptTimeDialogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: PromptTimeDialogComponent, isStandalone: true, selector: "ng-component", outputs: { done: "done" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, viewQueries: [{ propertyName: "f", first: true, predicate: ["f"], descendants: true }], ngImport: i0, template: "<h2 mat-dialog-title>{{data.title}}</h2>\r\n<div mat-dialog-content>\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row wrap\" fxLayoutAlign=\"space-between\" fxFill>\r\n <div fxFlex=\"45\" fxFlex.xs=\"100\" fxFlexAlign=\"start\">\r\n <div>\r\n <mat-form-field [appearance]=\"data.appearance\" style=\"width: 100%;\">\r\n <mat-label>{{data.description}}</mat-label>\r\n <input type=\"time\" matInput [(ngModel)]=\"value\" name=\"_value\" #_value=\"ngModel\" [required]=\"data.required\"\r\n time [slots]=\"data.slots\">\r\n @if (_value.invalid) {\r\n <mat-error>Ora non valida.</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div fxFlex=\"45\" fxFlex.xs=\"100\" fxFlexAlign=\"start\">\r\n @if(this.data.slots) {\r\n <div class=\"small bold uppercase\">Orari disponibili:</div>\r\n <ul class=\"small\">\r\n @for (s of this.data.slots.replaceAll('-', ' - ').split('|'); track s) {\r\n <li>{{s}}</li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n </div>\r\n @if (data.options) {\r\n <div>\r\n @for (o of data.options; track o; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n }\r\n <br>\r\n </div>\r\n }\r\n </div>\r\n </form>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" \r\n (click)=\"ok()\">{{data.okCaption}}</button>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\"\r\n >{{data.cancelCaption}}</button>\r\n </div>\r\n</div>", styles: [":root{--ars-dialog-info-error: #a80710;--ars-dilaog-info-warning: #FFA000;--ars-dialog-info-ok: #388E3C}@media (prefers-color-scheme: dark){:root{--ars-dialog-info-error: #ff5449;--ars-dialog-info-warning: #FFC107;--ars-dialog-info-ok: #4CAF50}}.dialog-info{font-size:x-small;text-align:right;margin:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-dialog-info-ok)}.dialog-info-red,.dialog-info-error{color:var(--ars-dialog-info-error)}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:500;padding-top:10px;padding-bottom:8px}b{font-weight:700}.large{font-size:large!important;line-height:18px!important}.small{font-size:small!important;line-height:16px!important}.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!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\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.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.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { 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.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { 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: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { 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"] }, { kind: "directive", type: TimeValidatorDirective, selector: "[time]", inputs: ["slots"] }] }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: PromptTimeDialogComponent, isStandalone: true, selector: "ng-component", outputs: { done: "done" }, host: { attributes: { "Bind": SystemUtils.generateUUID() } }, viewQueries: [{ propertyName: "f", first: true, predicate: ["f"], descendants: true }], ngImport: i0, template: "<h2 mat-dialog-title>{{data.title}}</h2>\r\n<div mat-dialog-content>\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row wrap\" fxLayoutAlign=\"space-between\" fxFill>\r\n <div fxFlex=\"45\" fxFlex.xs=\"100\" fxFlexAlign=\"start\">\r\n <div>\r\n <mat-form-field [appearance]=\"data.appearance\" style=\"width: 100%;\">\r\n <mat-label>{{data.description}}</mat-label>\r\n <input type=\"time\" matInput [(ngModel)]=\"value\" name=\"_value\" #_value=\"ngModel\" [required]=\"data.required\"\r\n time [slots]=\"data.slots\">\r\n @if (_value.invalid) {\r\n <mat-error>Ora non valida.</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div fxFlex=\"45\" fxFlex.xs=\"100\" fxFlexAlign=\"start\">\r\n @if(this.data.slots) {\r\n <div class=\"small bold uppercase\">Orari disponibili:</div>\r\n <ul class=\"small\">\r\n @for (s of this.data.slots.replaceAll('-', ' - ').split('|'); track s) {\r\n <li>{{s}}</li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n </div>\r\n @if (data.options) {\r\n <div>\r\n @for (o of data.options; track o; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n }\r\n <br>\r\n </div>\r\n }\r\n </div>\r\n </form>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" \r\n (click)=\"ok()\">{{data.okCaption}}</button>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\"\r\n >{{data.cancelCaption}}</button>\r\n </div>\r\n</div>", styles: ["html{--ars-dialog-info-error: #a80710;--ars-dilaog-info-warning: #FFA000;--ars-dialog-info-ok: #388E3C}@media (prefers-color-scheme: dark){html{--ars-dialog-info-error: #ff5449;--ars-dialog-info-warning: #FFC107;--ars-dialog-info-ok: #4CAF50}}.dialog-info{font-size:x-small;font-weight:700;text-align:right;margin:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-dialog-info-ok)}.dialog-info-red,.dialog-info-error{color:var(--ars-dialog-info-error)}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:500;padding-top:10px;padding-bottom:8px}b{font-weight:700}.large{font-size:large!important;line-height:18px!important}.small{font-size:small!important;line-height:16px!important}.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!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\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.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.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { 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.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { 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: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { 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"] }, { kind: "directive", type: TimeValidatorDirective, selector: "[time]", inputs: ["slots"] }] }); }
47
47
  }
48
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: PromptTimeDialogComponent, decorators: [{
49
49
  type: Component,
50
50
  args: [{ host: { 'Bind': SystemUtils.generateUUID() }, standalone: true, imports: [MatDialogTitle, MatDialogContent, FormsModule, FlexModule,
51
51
  MatFormFieldModule, MatInputModule, MatButtonModule, MatIconModule,
52
- MatDialogActions, MatDialogClose, TimeValidatorDirective], template: "<h2 mat-dialog-title>{{data.title}}</h2>\r\n<div mat-dialog-content>\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row wrap\" fxLayoutAlign=\"space-between\" fxFill>\r\n <div fxFlex=\"45\" fxFlex.xs=\"100\" fxFlexAlign=\"start\">\r\n <div>\r\n <mat-form-field [appearance]=\"data.appearance\" style=\"width: 100%;\">\r\n <mat-label>{{data.description}}</mat-label>\r\n <input type=\"time\" matInput [(ngModel)]=\"value\" name=\"_value\" #_value=\"ngModel\" [required]=\"data.required\"\r\n time [slots]=\"data.slots\">\r\n @if (_value.invalid) {\r\n <mat-error>Ora non valida.</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div fxFlex=\"45\" fxFlex.xs=\"100\" fxFlexAlign=\"start\">\r\n @if(this.data.slots) {\r\n <div class=\"small bold uppercase\">Orari disponibili:</div>\r\n <ul class=\"small\">\r\n @for (s of this.data.slots.replaceAll('-', ' - ').split('|'); track s) {\r\n <li>{{s}}</li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n </div>\r\n @if (data.options) {\r\n <div>\r\n @for (o of data.options; track o; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n }\r\n <br>\r\n </div>\r\n }\r\n </div>\r\n </form>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" \r\n (click)=\"ok()\">{{data.okCaption}}</button>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\"\r\n >{{data.cancelCaption}}</button>\r\n </div>\r\n</div>", styles: [":root{--ars-dialog-info-error: #a80710;--ars-dilaog-info-warning: #FFA000;--ars-dialog-info-ok: #388E3C}@media (prefers-color-scheme: dark){:root{--ars-dialog-info-error: #ff5449;--ars-dialog-info-warning: #FFC107;--ars-dialog-info-ok: #4CAF50}}.dialog-info{font-size:x-small;text-align:right;margin:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-dialog-info-ok)}.dialog-info-red,.dialog-info-error{color:var(--ars-dialog-info-error)}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:500;padding-top:10px;padding-bottom:8px}b{font-weight:700}.large{font-size:large!important;line-height:18px!important}.small{font-size:small!important;line-height:16px!important}.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!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
52
+ MatDialogActions, MatDialogClose, TimeValidatorDirective], template: "<h2 mat-dialog-title>{{data.title}}</h2>\r\n<div mat-dialog-content>\r\n <form name=\"form\" #f=\"ngForm\" novalidate>\r\n <div fxLayout=\"column\" fxLayoutGap=\"32px\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row wrap\" fxLayoutAlign=\"space-between\" fxFill>\r\n <div fxFlex=\"45\" fxFlex.xs=\"100\" fxFlexAlign=\"start\">\r\n <div>\r\n <mat-form-field [appearance]=\"data.appearance\" style=\"width: 100%;\">\r\n <mat-label>{{data.description}}</mat-label>\r\n <input type=\"time\" matInput [(ngModel)]=\"value\" name=\"_value\" #_value=\"ngModel\" [required]=\"data.required\"\r\n time [slots]=\"data.slots\">\r\n @if (_value.invalid) {\r\n <mat-error>Ora non valida.</mat-error>\r\n }\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div fxFlex=\"45\" fxFlex.xs=\"100\" fxFlexAlign=\"start\">\r\n @if(this.data.slots) {\r\n <div class=\"small bold uppercase\">Orari disponibili:</div>\r\n <ul class=\"small\">\r\n @for (s of this.data.slots.replaceAll('-', ' - ').split('|'); track s) {\r\n <li>{{s}}</li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n </div>\r\n @if (data.options) {\r\n <div>\r\n @for (o of data.options; track o; let i = $index) {\r\n <div>\r\n <mat-checkbox color=\"primary\" [(ngModel)]=\"o.value\" name=\"opt_{{i}}\">\r\n {{o.description}}\r\n </mat-checkbox>\r\n </div>\r\n }\r\n <br>\r\n </div>\r\n }\r\n </div>\r\n </form>\r\n</div>\r\n<div mat-dialog-actions>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end\" fxFill>\r\n <button mat-flat-button color=\"primary\" [disabled]=\"f.form.invalid\" \r\n (click)=\"ok()\">{{data.okCaption}}</button>\r\n <button mat-button [mat-dialog-close]=\"true\" color=\"primary\"\r\n >{{data.cancelCaption}}</button>\r\n </div>\r\n</div>", styles: ["html{--ars-dialog-info-error: #a80710;--ars-dilaog-info-warning: #FFA000;--ars-dialog-info-ok: #388E3C}@media (prefers-color-scheme: dark){html{--ars-dialog-info-error: #ff5449;--ars-dialog-info-warning: #FFC107;--ars-dialog-info-ok: #4CAF50}}.dialog-info{font-size:x-small;font-weight:700;text-align:right;margin:10px}.dialog-info-green,.dialog-info-ok{color:var(--ars-dialog-info-ok)}.dialog-info-red,.dialog-info-error{color:var(--ars-dialog-info-error)}.dialog-title{padding:0 24px}.section-title{font-size:large;font-weight:500;padding-top:10px;padding-bottom:8px}b{font-weight:700}.large{font-size:large!important;line-height:18px!important}.small{font-size:small!important;line-height:16px!important}.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!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.truncated{min-width:0}.truncated span,.truncated div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
53
53
  }], ctorParameters: () => [{ type: undefined, decorators: [{
54
54
  type: Inject,
55
55
  args: [MAT_DIALOG_DATA]
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
59
59
  }], done: [{
60
60
  type: Output
61
61
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LXRpbWUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbi91aS9kaWFsb2dzL3Byb21wdC10aW1lL3Byb21wdC10aW1lLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkuYXBwbGljYXRpb24vdWkvZGlhbG9ncy9wcm9tcHQtdGltZS9wcm9tcHQtdGltZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ILE9BQU8sRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFzQixnQkFBZ0IsRUFBd0IsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7OztBQVcvRixNQUFNLE9BQU8seUJBQXlCO0lBUXBDLFlBQzJCLEtBQTJCO1FBUDVDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUd4RCxVQUFLLEdBQVEsSUFBSSxDQUFDO1FBTWhCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLGdCQUFnQixDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO1FBQ2xFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsSUFBSTtZQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7UUFDekMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUV4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxFQUFFO1FBQ0EsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQzs4R0E5QlUseUJBQXlCLGtCQVMxQixlQUFlO2tHQVRkLHlCQUF5Qix5R0FSbEIsV0FBVyxDQUFDLFlBQVksRUFBRSxzSENaOUMscy9EQWtETSwwdkNEbENRLGNBQWMsK0hBQUUsZ0JBQWdCLHdHQUFFLFdBQVcsb3dDQUFFLFVBQVUsK2hHQUNqRSxrQkFBa0IsdVlBQUUsY0FBYywwV0FBRSxlQUFlLDJOQUFFLGFBQWEsK0JBQ2xFLGdCQUFnQiw0SEFBRSxjQUFjLHFMQUFFLHNCQUFzQjs7MkZBRWpELHlCQUF5QjtrQkFUckMsU0FBUzsyQkFDQSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsWUFBWSxFQUFFLEVBQUUsY0FHaEMsSUFBSSxXQUNQLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxVQUFVO3dCQUNqRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGFBQWE7d0JBQ2xFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxzQkFBc0IsQ0FBQzs7MEJBVzFELE1BQU07MkJBQUMsZUFBZTt5Q0FSVCxDQUFDO3NCQUFoQixTQUFTO3VCQUFDLEdBQUc7Z0JBQ0osSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdGb3JtLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dUaXRsZSwgTWF0RGlhbG9nQ29udGVudCwgTWF0RGlhbG9nQWN0aW9ucywgTWF0RGlhbG9nQ2xvc2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTeXN0ZW1VdGlscywgVGltZVZhbGlkYXRvckRpcmVjdGl2ZSB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBGbGV4TW9kdWxlIH0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0L2ZsZXgnO1xyXG5pbXBvcnQgeyBQcm9tcHREaWFsb2dSZXN1bHQsIFByb21wdERpYWxvZ1R5cGUsIFByb21wdFRpbWVEaWFsb2dEYXRhIH0gZnJvbSAnLi4vLi4vZGVmaW5pdGlvbnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBob3N0OiB7ICdCaW5kJzogU3lzdGVtVXRpbHMuZ2VuZXJhdGVVVUlEKCkgfSxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9tcHQtdGltZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJvbXB0LXRpbWUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW01hdERpYWxvZ1RpdGxlLCBNYXREaWFsb2dDb250ZW50LCBGb3Jtc01vZHVsZSwgRmxleE1vZHVsZSwgIFxyXG4gICAgICBNYXRGb3JtRmllbGRNb2R1bGUsIE1hdElucHV0TW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIFxyXG4gICAgICBNYXREaWFsb2dBY3Rpb25zLCBNYXREaWFsb2dDbG9zZSwgVGltZVZhbGlkYXRvckRpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFByb21wdFRpbWVEaWFsb2dDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoJ2YnKSBmITogTmdGb3JtO1xyXG4gIEBPdXRwdXQoKSBkb25lID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9tcHREaWFsb2dSZXN1bHQ+KCk7XHJcblxyXG4gIGRhdGE6IFByb21wdFRpbWVEaWFsb2dEYXRhO1xyXG4gIHZhbHVlOiBhbnkgPSBudWxsO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgX2RhdGE6IFByb21wdFRpbWVEaWFsb2dEYXRhXHJcbiAgKSB7XHJcbiAgICB0aGlzLmRhdGEgPSBfZGF0YSB8fCB7IGFwcGVhcmFuY2U6ICdmaWxsJywgdGl0bGU6ICdJbnNlcmlzY2kgZGF0bycsIHR5cGU6IFByb21wdERpYWxvZ1R5cGUuRGVmYXVsdCB9O1xyXG4gICAgaWYgKCF0aGlzLmRhdGEuYXBwZWFyYW5jZSkgdGhpcy5kYXRhLmFwcGVhcmFuY2UgPSAnZmlsbCc7XHJcbiAgICBpZiAoIXRoaXMuZGF0YS50aXRsZSkgdGhpcy5kYXRhLnRpdGxlID0gJ0luc2VyaXNjaSBkYXRvJztcclxuICAgIGlmICghdGhpcy5kYXRhLnR5cGUpIHRoaXMuZGF0YS50eXBlID0gUHJvbXB0RGlhbG9nVHlwZS5UaW1lO1xyXG4gICAgaWYgKCF0aGlzLmRhdGEub2tDYXB0aW9uKSB0aGlzLmRhdGEub2tDYXB0aW9uID0gJ09rJztcclxuICAgIGlmICghdGhpcy5kYXRhLmNhbmNlbENhcHRpb24pIHRoaXMuZGF0YS5jYW5jZWxDYXB0aW9uID0gJ0FubnVsbGEnO1xyXG4gICAgaWYgKHRoaXMuZGF0YS50eXBlICE9PSBQcm9tcHREaWFsb2dUeXBlLlRpbWUpXHJcbiAgICAgIHRoaXMuZGF0YS50eXBlID0gUHJvbXB0RGlhbG9nVHlwZS5UaW1lO1xyXG4gICAgaWYgKHRoaXMuZGF0YS5pbml0aWFsVmFsdWUpXHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmRhdGEuaW5pdGlhbFZhbHVlO1xyXG4gIFxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRG9uZVxyXG4gICAqL1xyXG4gIG9rKCkge1xyXG4gICAgaWYgKHRoaXMuZi5mb3JtLmludmFsaWQpIHJldHVybjtcclxuICAgIHRoaXMuZG9uZS5lbWl0KHsgdmFsdWU6IHRoaXMudmFsdWUsIG9wdGlvbnM6IHRoaXMuZGF0YS5vcHRpb25zIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8aDIgbWF0LWRpYWxvZy10aXRsZT57e2RhdGEudGl0bGV9fTwvaDI+XHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxmb3JtIG5hbWU9XCJmb3JtXCIgI2Y9XCJuZ0Zvcm1cIiBub3ZhbGlkYXRlPlxyXG4gICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMzJweFwiIGZ4RmlsbD5cclxuICAgICAgPGRpdiBmeEZsZXg9XCIqXCIgZnhMYXlvdXQ9XCJyb3cgd3JhcFwiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuXCIgZnhGaWxsPlxyXG4gICAgICAgIDxkaXYgZnhGbGV4PVwiNDVcIiBmeEZsZXgueHM9XCIxMDBcIiBmeEZsZXhBbGlnbj1cInN0YXJ0XCI+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgW2FwcGVhcmFuY2VdPVwiZGF0YS5hcHBlYXJhbmNlXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIj5cclxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7ZGF0YS5kZXNjcmlwdGlvbn19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0aW1lXCIgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIG5hbWU9XCJfdmFsdWVcIiAjX3ZhbHVlPVwibmdNb2RlbFwiIFtyZXF1aXJlZF09XCJkYXRhLnJlcXVpcmVkXCJcclxuICAgICAgICAgICAgICAgIHRpbWUgW3Nsb3RzXT1cImRhdGEuc2xvdHNcIj5cclxuICAgICAgICAgICAgICBAaWYgKF92YWx1ZS5pbnZhbGlkKSB7XHJcbiAgICAgICAgICAgICAgPG1hdC1lcnJvcj5PcmEgbm9uIHZhbGlkYS48L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGZ4RmxleD1cIjQ1XCIgZnhGbGV4LnhzPVwiMTAwXCIgZnhGbGV4QWxpZ249XCJzdGFydFwiPlxyXG4gICAgICAgICAgQGlmKHRoaXMuZGF0YS5zbG90cykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsIGJvbGQgdXBwZXJjYXNlXCI+T3JhcmkgZGlzcG9uaWJpbGk6PC9kaXY+XHJcbiAgICAgICAgICA8dWwgY2xhc3M9XCJzbWFsbFwiPlxyXG4gICAgICAgICAgICBAZm9yIChzIG9mIHRoaXMuZGF0YS5zbG90cy5yZXBsYWNlQWxsKCctJywgJyAtICcpLnNwbGl0KCd8Jyk7IHRyYWNrIHMpIHtcclxuICAgICAgICAgICAgPGxpPnt7c319PC9saT5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC91bD5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIEBpZiAoZGF0YS5vcHRpb25zKSB7XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgQGZvciAobyBvZiBkYXRhLm9wdGlvbnM7IHRyYWNrIG87IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggY29sb3I9XCJwcmltYXJ5XCIgWyhuZ01vZGVsKV09XCJvLnZhbHVlXCIgbmFtZT1cIm9wdF97e2l9fVwiPlxyXG4gICAgICAgICAgICB7e28uZGVzY3JpcHRpb259fVxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxicj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuPC9kaXY+XHJcbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kXCIgZnhGaWxsPlxyXG4gICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImYuZm9ybS5pbnZhbGlkXCIgXHJcbiAgICAgIChjbGljayk9XCJvaygpXCI+e3tkYXRhLm9rQ2FwdGlvbn19PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgID57e2RhdGEuY2FuY2VsQ2FwdGlvbn19PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LXRpbWUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbi91aS9kaWFsb2dzL3Byb21wdC10aW1lL3Byb21wdC10aW1lLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkuYXBwbGljYXRpb24vdWkvZGlhbG9ncy9wcm9tcHQtdGltZS9wcm9tcHQtdGltZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ILE9BQU8sRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFzQixnQkFBZ0IsRUFBd0IsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7OztBQVcvRixNQUFNLE9BQU8seUJBQXlCO0lBUXBDLFlBQzJCLEtBQTJCO1FBUDVDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUd4RCxVQUFLLEdBQVEsSUFBSSxDQUFDO1FBTWhCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLGdCQUFnQixDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO1FBQ2xFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsSUFBSTtZQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7UUFDekMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUV4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxFQUFFO1FBQ0EsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQzs4R0E5QlUseUJBQXlCLGtCQVMxQixlQUFlO2tHQVRkLHlCQUF5Qix5R0FSbEIsV0FBVyxDQUFDLFlBQVksRUFBRSxzSENaOUMscy9EQWtETSx3d0NEbENRLGNBQWMsK0hBQUUsZ0JBQWdCLHdHQUFFLFdBQVcsb3dDQUFFLFVBQVUsK2hHQUNqRSxrQkFBa0IsdVlBQUUsY0FBYywwV0FBRSxlQUFlLDJOQUFFLGFBQWEsK0JBQ2xFLGdCQUFnQiw0SEFBRSxjQUFjLHFMQUFFLHNCQUFzQjs7MkZBRWpELHlCQUF5QjtrQkFUckMsU0FBUzsyQkFDQSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsWUFBWSxFQUFFLEVBQUUsY0FHaEMsSUFBSSxXQUNQLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxVQUFVO3dCQUNqRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGFBQWE7d0JBQ2xFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxzQkFBc0IsQ0FBQzs7MEJBVzFELE1BQU07MkJBQUMsZUFBZTt5Q0FSVCxDQUFDO3NCQUFoQixTQUFTO3VCQUFDLEdBQUc7Z0JBQ0osSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdGb3JtLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dUaXRsZSwgTWF0RGlhbG9nQ29udGVudCwgTWF0RGlhbG9nQWN0aW9ucywgTWF0RGlhbG9nQ2xvc2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTeXN0ZW1VdGlscywgVGltZVZhbGlkYXRvckRpcmVjdGl2ZSB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBGbGV4TW9kdWxlIH0gZnJvbSAnQG5nYnJhY2tldC9uZ3gtbGF5b3V0L2ZsZXgnO1xyXG5pbXBvcnQgeyBQcm9tcHREaWFsb2dSZXN1bHQsIFByb21wdERpYWxvZ1R5cGUsIFByb21wdFRpbWVEaWFsb2dEYXRhIH0gZnJvbSAnLi4vLi4vZGVmaW5pdGlvbnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBob3N0OiB7ICdCaW5kJzogU3lzdGVtVXRpbHMuZ2VuZXJhdGVVVUlEKCkgfSxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9tcHQtdGltZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJvbXB0LXRpbWUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW01hdERpYWxvZ1RpdGxlLCBNYXREaWFsb2dDb250ZW50LCBGb3Jtc01vZHVsZSwgRmxleE1vZHVsZSwgIFxyXG4gICAgICBNYXRGb3JtRmllbGRNb2R1bGUsIE1hdElucHV0TW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIFxyXG4gICAgICBNYXREaWFsb2dBY3Rpb25zLCBNYXREaWFsb2dDbG9zZSwgVGltZVZhbGlkYXRvckRpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFByb21wdFRpbWVEaWFsb2dDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoJ2YnKSBmITogTmdGb3JtO1xyXG4gIEBPdXRwdXQoKSBkb25lID0gbmV3IEV2ZW50RW1pdHRlcjxQcm9tcHREaWFsb2dSZXN1bHQ+KCk7XHJcblxyXG4gIGRhdGE6IFByb21wdFRpbWVEaWFsb2dEYXRhO1xyXG4gIHZhbHVlOiBhbnkgPSBudWxsO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgX2RhdGE6IFByb21wdFRpbWVEaWFsb2dEYXRhXHJcbiAgKSB7XHJcbiAgICB0aGlzLmRhdGEgPSBfZGF0YSB8fCB7IGFwcGVhcmFuY2U6ICdmaWxsJywgdGl0bGU6ICdJbnNlcmlzY2kgZGF0bycsIHR5cGU6IFByb21wdERpYWxvZ1R5cGUuRGVmYXVsdCB9O1xyXG4gICAgaWYgKCF0aGlzLmRhdGEuYXBwZWFyYW5jZSkgdGhpcy5kYXRhLmFwcGVhcmFuY2UgPSAnZmlsbCc7XHJcbiAgICBpZiAoIXRoaXMuZGF0YS50aXRsZSkgdGhpcy5kYXRhLnRpdGxlID0gJ0luc2VyaXNjaSBkYXRvJztcclxuICAgIGlmICghdGhpcy5kYXRhLnR5cGUpIHRoaXMuZGF0YS50eXBlID0gUHJvbXB0RGlhbG9nVHlwZS5UaW1lO1xyXG4gICAgaWYgKCF0aGlzLmRhdGEub2tDYXB0aW9uKSB0aGlzLmRhdGEub2tDYXB0aW9uID0gJ09rJztcclxuICAgIGlmICghdGhpcy5kYXRhLmNhbmNlbENhcHRpb24pIHRoaXMuZGF0YS5jYW5jZWxDYXB0aW9uID0gJ0FubnVsbGEnO1xyXG4gICAgaWYgKHRoaXMuZGF0YS50eXBlICE9PSBQcm9tcHREaWFsb2dUeXBlLlRpbWUpXHJcbiAgICAgIHRoaXMuZGF0YS50eXBlID0gUHJvbXB0RGlhbG9nVHlwZS5UaW1lO1xyXG4gICAgaWYgKHRoaXMuZGF0YS5pbml0aWFsVmFsdWUpXHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmRhdGEuaW5pdGlhbFZhbHVlO1xyXG4gIFxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRG9uZVxyXG4gICAqL1xyXG4gIG9rKCkge1xyXG4gICAgaWYgKHRoaXMuZi5mb3JtLmludmFsaWQpIHJldHVybjtcclxuICAgIHRoaXMuZG9uZS5lbWl0KHsgdmFsdWU6IHRoaXMudmFsdWUsIG9wdGlvbnM6IHRoaXMuZGF0YS5vcHRpb25zIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8aDIgbWF0LWRpYWxvZy10aXRsZT57e2RhdGEudGl0bGV9fTwvaDI+XHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxmb3JtIG5hbWU9XCJmb3JtXCIgI2Y9XCJuZ0Zvcm1cIiBub3ZhbGlkYXRlPlxyXG4gICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMzJweFwiIGZ4RmlsbD5cclxuICAgICAgPGRpdiBmeEZsZXg9XCIqXCIgZnhMYXlvdXQ9XCJyb3cgd3JhcFwiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuXCIgZnhGaWxsPlxyXG4gICAgICAgIDxkaXYgZnhGbGV4PVwiNDVcIiBmeEZsZXgueHM9XCIxMDBcIiBmeEZsZXhBbGlnbj1cInN0YXJ0XCI+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgW2FwcGVhcmFuY2VdPVwiZGF0YS5hcHBlYXJhbmNlXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIj5cclxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7ZGF0YS5kZXNjcmlwdGlvbn19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0aW1lXCIgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIG5hbWU9XCJfdmFsdWVcIiAjX3ZhbHVlPVwibmdNb2RlbFwiIFtyZXF1aXJlZF09XCJkYXRhLnJlcXVpcmVkXCJcclxuICAgICAgICAgICAgICAgIHRpbWUgW3Nsb3RzXT1cImRhdGEuc2xvdHNcIj5cclxuICAgICAgICAgICAgICBAaWYgKF92YWx1ZS5pbnZhbGlkKSB7XHJcbiAgICAgICAgICAgICAgPG1hdC1lcnJvcj5PcmEgbm9uIHZhbGlkYS48L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGZ4RmxleD1cIjQ1XCIgZnhGbGV4LnhzPVwiMTAwXCIgZnhGbGV4QWxpZ249XCJzdGFydFwiPlxyXG4gICAgICAgICAgQGlmKHRoaXMuZGF0YS5zbG90cykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsIGJvbGQgdXBwZXJjYXNlXCI+T3JhcmkgZGlzcG9uaWJpbGk6PC9kaXY+XHJcbiAgICAgICAgICA8dWwgY2xhc3M9XCJzbWFsbFwiPlxyXG4gICAgICAgICAgICBAZm9yIChzIG9mIHRoaXMuZGF0YS5zbG90cy5yZXBsYWNlQWxsKCctJywgJyAtICcpLnNwbGl0KCd8Jyk7IHRyYWNrIHMpIHtcclxuICAgICAgICAgICAgPGxpPnt7c319PC9saT5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC91bD5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIEBpZiAoZGF0YS5vcHRpb25zKSB7XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgQGZvciAobyBvZiBkYXRhLm9wdGlvbnM7IHRyYWNrIG87IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggY29sb3I9XCJwcmltYXJ5XCIgWyhuZ01vZGVsKV09XCJvLnZhbHVlXCIgbmFtZT1cIm9wdF97e2l9fVwiPlxyXG4gICAgICAgICAgICB7e28uZGVzY3JpcHRpb259fVxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxicj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuPC9kaXY+XHJcbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kXCIgZnhGaWxsPlxyXG4gICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImYuZm9ybS5pbnZhbGlkXCIgXHJcbiAgICAgIChjbGljayk9XCJvaygpXCI+e3tkYXRhLm9rQ2FwdGlvbn19PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgID57e2RhdGEuY2FuY2VsQ2FwdGlvbn19PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==