@simpleangularcontrols/sac-bootstrap5 13.0.0-rc.4 → 13.0.0-rc.6

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 (59) hide show
  1. package/components/browser/browser.d.ts +6 -6
  2. package/controls/confirm/confirm.service.d.ts +8 -8
  3. package/controls/grid/grid.d.ts +2 -2
  4. package/controls/layout/layout.module.d.ts +6 -4
  5. package/controls/layout/tocontrolheight.pipe.d.ts +12 -0
  6. package/controls/layout/tocontrolheight.pipe.ngfactory.d.ts +3 -0
  7. package/controls/layout/tocontrolheight.pipe.ngsummary.d.ts +1 -0
  8. package/controls/layout/tolabelheight.pipe.d.ts +12 -0
  9. package/controls/layout/tolabelheight.pipe.ngfactory.d.ts +3 -0
  10. package/controls/layout/tolabelheight.pipe.ngsummary.d.ts +1 -0
  11. package/controls/static/formcontainer.d.ts +2 -2
  12. package/esm2020/components/browser/browser.mjs +20 -16
  13. package/esm2020/controls/buttons/button.mjs +3 -3
  14. package/esm2020/controls/checkbox/checkbox.mjs +5 -4
  15. package/esm2020/controls/checkbox/radiobutton.mjs +3 -3
  16. package/esm2020/controls/checkbox/radiobuttons.mjs +5 -4
  17. package/esm2020/controls/confirm/confirm.mjs +3 -3
  18. package/esm2020/controls/confirm/confirm.service.mjs +30 -15
  19. package/esm2020/controls/datetime/date.mjs +6 -4
  20. package/esm2020/controls/datetime/datetime.mjs +6 -4
  21. package/esm2020/controls/datetime/time.mjs +6 -4
  22. package/esm2020/controls/grid/grid.mjs +7 -5
  23. package/esm2020/controls/input/input.mjs +6 -4
  24. package/esm2020/controls/input/inputarea.mjs +6 -4
  25. package/esm2020/controls/input/inputcurrency.mjs +6 -4
  26. package/esm2020/controls/input/inputdecimal.mjs +6 -4
  27. package/esm2020/controls/input/inputemail.mjs +6 -4
  28. package/esm2020/controls/input/inputinteger.mjs +6 -4
  29. package/esm2020/controls/input/inputpassword.mjs +6 -4
  30. package/esm2020/controls/input/inputsearch.mjs +6 -4
  31. package/esm2020/controls/layout/layout.module.mjs +11 -1
  32. package/esm2020/controls/layout/tocontrolheight.pipe.mjs +33 -0
  33. package/esm2020/controls/layout/tocontrolheight.pipe.ngfactory.mjs +4 -0
  34. package/esm2020/controls/layout/tocontrolheight.pipe.ngsummary.mjs +2 -0
  35. package/esm2020/controls/layout/tolabelheight.pipe.mjs +33 -0
  36. package/esm2020/controls/layout/tolabelheight.pipe.ngfactory.mjs +4 -0
  37. package/esm2020/controls/layout/tolabelheight.pipe.ngsummary.mjs +2 -0
  38. package/esm2020/controls/list/dropdown.mjs +5 -4
  39. package/esm2020/controls/list/listbox.mjs +5 -4
  40. package/esm2020/controls/multilanguage/multilanguageinput.mjs +6 -4
  41. package/esm2020/controls/multilanguage/multilanguageinputarea.mjs +6 -4
  42. package/esm2020/controls/multilanguage/multilanguagemenu.mjs +3 -3
  43. package/esm2020/controls/static/formcontainer.mjs +7 -6
  44. package/esm2020/controls/static/staticlabel.mjs +6 -4
  45. package/esm2020/controls/tabs/tabs.module.mjs +5 -9
  46. package/esm2020/controls/tinymce/tinymce.mjs +5 -4
  47. package/esm2020/controls/upload/dropzonemultiple.mjs +5 -4
  48. package/esm2020/controls/upload/dropzonesingle.mjs +5 -4
  49. package/esm2020/controls/upload/upload.mjs +6 -4
  50. package/esm2020/controls/upload/uploadmultiple.mjs +5 -4
  51. package/esm2020/public-api.mjs +3 -1
  52. package/fesm2015/simpleangularcontrols-sac-bootstrap5.mjs +183 -99
  53. package/fesm2015/simpleangularcontrols-sac-bootstrap5.mjs.map +1 -1
  54. package/fesm2020/simpleangularcontrols-sac-bootstrap5.mjs +183 -99
  55. package/fesm2020/simpleangularcontrols-sac-bootstrap5.mjs.map +1 -1
  56. package/package.json +2 -2
  57. package/public-api.d.ts +2 -0
  58. package/simpleangularcontrols-sac-bootstrap5-13.0.0-rc.6.tgz +0 -0
  59. package/simpleangularcontrols-sac-bootstrap5-13.0.0-rc.4.tgz +0 -0
@@ -20,12 +20,6 @@ export declare class SacBrowserComponent extends SacFileBrowserCommon {
20
20
  * @param confirmService Confirm Service
21
21
  */
22
22
  constructor(httpClient: HttpClient, injector: Injector, confirmService: ServiceConfirm);
23
- /**
24
- * Erzeugt ein Array von einer bestimmten grösse
25
- * @param anzahl Grösse des Array
26
- * @returns Array
27
- */
28
- count(anzahl: number): Array<void>;
29
23
  /**
30
24
  * Confirm Action wenn ein File gelöscht werden soll
31
25
  * @param file File das gelöscht werden soll.
@@ -38,6 +32,12 @@ export declare class SacBrowserComponent extends SacFileBrowserCommon {
38
32
  * @returns Observable ob Ordner gelöscht kann.
39
33
  */
40
34
  confirmDeleteNode(node: IBrowserNode): Observable<boolean>;
35
+ /**
36
+ * Erzeugt ein Array von einer bestimmten grösse
37
+ * @param anzahl Grösse des Array
38
+ * @returns Array
39
+ */
40
+ count(anzahl: number): Array<void>;
41
41
  /**
42
42
  * Methode wird aufgerufen, wenn eine Datei verschoben wird
43
43
  * @param uploadid Upload ID
@@ -19,17 +19,17 @@ import * as i0 from "@angular/core";
19
19
  export declare class ServiceConfirm extends ServiceConfirmCommon {
20
20
  private componentFactoryResolver;
21
21
  /**
22
- * Titel der im Dialog angezeigt werden soll.
22
+ * Collection von Buttons die angezeigt werden müssen.
23
23
  */
24
- private title;
24
+ private buttons;
25
25
  /**
26
26
  * Message die in Dialog angezeigt werden soll.
27
27
  */
28
28
  private message;
29
29
  /**
30
- * Collection von Buttons die angezeigt werden müssen.
30
+ * Titel der im Dialog angezeigt werden soll.
31
31
  */
32
- private buttons;
32
+ private title;
33
33
  /**
34
34
  * Konstruktor
35
35
  * @param componentFactoryResolver Component Factory Resolver Instanz
@@ -37,16 +37,16 @@ export declare class ServiceConfirm extends ServiceConfirmCommon {
37
37
  * @param injector Injector. Wird benötigt um den Dialog dynamisch zu erzeugen
38
38
  */
39
39
  constructor(componentFactoryResolver: ComponentFactoryResolver, appRef: ApplicationRef, injector: Injector);
40
- /**
41
- * Erzeugen einer Component Factory für einen Dialog
42
- */
43
- GetComponentFactory(): ComponentFactory<SacConfirmComponent>;
44
40
  /**
45
41
  * Confirm Dialog anzeigen
46
42
  * @param message Nachricht die angezeigt werden soll.
47
43
  * @returns EventEmitter mit Key des Buttons, welcher geklickt wurde.
48
44
  */
49
45
  ConfirmMessage(title: string, message: string, buttons?: SacConfirmButton[]): EventEmitter<string>;
46
+ /**
47
+ * Erzeugen einer Component Factory für einen Dialog
48
+ */
49
+ GetComponentFactory(): ComponentFactory<SacConfirmComponent>;
50
50
  /**
51
51
  * Konfiguration des Dialogs
52
52
  * @param instance Instanz eines SacConfirm Dialogs
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, TemplateRef } from '@angular/core';
1
+ import { ChangeDetectorRef, Injector, TemplateRef } from '@angular/core';
2
2
  import { SacGridCommon } from '@simpleangularcontrols/sac-common';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
@@ -17,7 +17,7 @@ export declare class SacGridComponent extends SacGridCommon {
17
17
  * Konstrukor
18
18
  * @param cdRef Change Detection Reference
19
19
  */
20
- constructor(cdRef: ChangeDetectorRef);
20
+ constructor(cdRef: ChangeDetectorRef, injector: Injector);
21
21
  static ɵfac: i0.ɵɵFactoryDeclaration<SacGridComponent, never>;
22
22
  static ɵcmp: i0.ɵɵComponentDeclaration<SacGridComponent, "sac-grid", never, {}, {}, ["template"], never>;
23
23
  }
@@ -1,10 +1,12 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./formlayout.directive";
3
- import * as i2 from "./tocontrolwidthcss.pipe";
4
- import * as i3 from "./tolabelwidthcss.pipe";
5
- import * as i4 from "@angular/common";
3
+ import * as i2 from "./tocontrolheight.pipe";
4
+ import * as i3 from "./tocontrolwidthcss.pipe";
5
+ import * as i4 from "./tolabelheight.pipe";
6
+ import * as i5 from "./tolabelwidthcss.pipe";
7
+ import * as i6 from "@angular/common";
6
8
  export declare class SACBootstrap5LayoutModule {
7
9
  static ɵfac: i0.ɵɵFactoryDeclaration<SACBootstrap5LayoutModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<SACBootstrap5LayoutModule, [typeof i1.SacFormLayoutDirective, typeof i2.SacToControlWidthCssPipe, typeof i3.SacToLabelWidthCssPipe], [typeof i4.CommonModule], [typeof i1.SacFormLayoutDirective, typeof i2.SacToControlWidthCssPipe, typeof i3.SacToLabelWidthCssPipe]>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SACBootstrap5LayoutModule, [typeof i1.SacFormLayoutDirective, typeof i2.SacToControlHeightPipe, typeof i3.SacToControlWidthCssPipe, typeof i4.SacToLabelHeightPipe, typeof i5.SacToLabelWidthCssPipe], [typeof i6.CommonModule], [typeof i1.SacFormLayoutDirective, typeof i2.SacToControlHeightPipe, typeof i3.SacToControlWidthCssPipe, typeof i4.SacToLabelHeightPipe, typeof i5.SacToLabelWidthCssPipe]>;
9
11
  static ɵinj: i0.ɵɵInjectorDeclaration<SACBootstrap5LayoutModule>;
10
12
  }
@@ -0,0 +1,12 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { ControlHeight } from '@simpleangularcontrols/sac-common';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SacToControlHeightPipe implements PipeTransform {
5
+ /**
6
+ * Returns the CSS class that defines the height for the control
7
+ * @param value ControlHeight value or null
8
+ */
9
+ transform(value: ControlHeight | null): string;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<SacToControlHeightPipe, never>;
11
+ static ɵpipe: i0.ɵɵPipeDeclaration<SacToControlHeightPipe, "toControlHeight">;
12
+ }
@@ -0,0 +1,3 @@
1
+ import * as i0 from '@angular/core';
2
+ export declare const SacToControlHeightPipeNgFactory: i0.ɵNgModuleFactory<any>;
3
+ export declare const ɵNonEmptyModule = true;
@@ -0,0 +1 @@
1
+ export declare const SacToControlHeightPipeNgSummary: any;
@@ -0,0 +1,12 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { ControlHeight } from '@simpleangularcontrols/sac-common';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SacToLabelHeightPipe implements PipeTransform {
5
+ /**
6
+ * Returns the CSS class that defines the height for the control
7
+ * @param value ControlHeight value or null
8
+ */
9
+ transform(value: ControlHeight | null): string;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<SacToLabelHeightPipe, never>;
11
+ static ɵpipe: i0.ɵɵPipeDeclaration<SacToLabelHeightPipe, "toLabelHeight">;
12
+ }
@@ -0,0 +1,3 @@
1
+ import * as i0 from '@angular/core';
2
+ export declare const SacToLabelHeightPipeNgFactory: i0.ɵNgModuleFactory<any>;
3
+ export declare const ɵNonEmptyModule = true;
@@ -0,0 +1 @@
1
+ export declare const SacToLabelHeightPipeNgSummary: any;
@@ -7,12 +7,12 @@ import * as i0 from "@angular/core";
7
7
  *
8
8
  * @example
9
9
  * <ngStaticFormContainer name='myformcontainer' label="My Custom Form Control" [isrequired]='false'>
10
- * <input type="range" class="form-control form-control-sm" />
10
+ * <input type="range" class="form-control" />
11
11
  * </ngStaticFormContainer>
12
12
  *
13
13
  * @example
14
14
  * <ngStaticFormContainer name='myformcintainer' label="My Custom Form Control" [isrequired]='false' tooltiptext="Dies ist ein Tooltip Text">
15
- * <input type="range" class="form-control form-control-sm" />
15
+ * <input type="range" class="form-control" />
16
16
  * </ngStaticFormContainer>
17
17
  *
18
18
  **/
@@ -1,6 +1,6 @@
1
1
  import { Component, ViewChild } from '@angular/core';
2
2
  import { SacFileBrowserCommon, } from '@simpleangularcontrols/sac-common';
3
- import { forkJoin, Observable } from 'rxjs';
3
+ import { Observable, forkJoin } from 'rxjs';
4
4
  import { ServiceConfirm } from '../../controls/confirm/confirm.service';
5
5
  import { SacDropzoneMultipleComponent } from '../../controls/upload/dropzonemultiple';
6
6
  import * as i0 from "@angular/core";
@@ -17,6 +17,8 @@ import * as i9 from "@angular/forms";
17
17
  * Server File Browser Komponente
18
18
  */
19
19
  export class SacBrowserComponent extends SacFileBrowserCommon {
20
+ // #endregion Properties
21
+ // #region Constructors
20
22
  /**
21
23
  * Konstruktor
22
24
  * @param httpClient HTTP Client
@@ -27,14 +29,8 @@ export class SacBrowserComponent extends SacFileBrowserCommon {
27
29
  super(httpClient, injector);
28
30
  this.confirmService = confirmService;
29
31
  }
30
- /**
31
- * Erzeugt ein Array von einer bestimmten grösse
32
- * @param anzahl Grösse des Array
33
- * @returns Array
34
- */
35
- count(anzahl) {
36
- return new Array(anzahl);
37
- }
32
+ // #endregion Constructors
33
+ // #region Public Methods
38
34
  /**
39
35
  * Confirm Action wenn ein File gelöscht werden soll
40
36
  * @param file File das gelöscht werden soll.
@@ -43,8 +39,8 @@ export class SacBrowserComponent extends SacFileBrowserCommon {
43
39
  confirmDeleteFile(file) {
44
40
  return new Observable((observer) => {
45
41
  forkJoin({
46
- title: this.lngResourceService.GetString('FILEBROWSER_DELETE'),
47
- message: this.lngResourceService.GetString('FILEBROWSER_CONFIRM_DELETEFILE'),
42
+ title: this.lngResourceService.GetString(this.validationKeyService.FilebrowserButtonDelete),
43
+ message: this.lngResourceService.GetString(this.validationKeyService.FilebrowserButtonDelete),
48
44
  }).subscribe((text) => {
49
45
  this.confirmService
50
46
  .ConfirmMessage(text.title, text.message)
@@ -68,8 +64,8 @@ export class SacBrowserComponent extends SacFileBrowserCommon {
68
64
  confirmDeleteNode(node) {
69
65
  return new Observable((observer) => {
70
66
  forkJoin({
71
- title: this.lngResourceService.GetString('FILEBROWSER_DELETE'),
72
- message: this.lngResourceService.GetString('FILEBROWSER_CONFIRM_DELETEFOLDER'),
67
+ title: this.lngResourceService.GetString(this.validationKeyService.FilebrowserButtonDelete),
68
+ message: this.lngResourceService.GetString(this.validationKeyService.FilebrowserConfirmTextDeleteFolder),
73
69
  }).subscribe((text) => {
74
70
  this.confirmService
75
71
  .ConfirmMessage(text.title, text.message)
@@ -85,6 +81,14 @@ export class SacBrowserComponent extends SacFileBrowserCommon {
85
81
  });
86
82
  });
87
83
  }
84
+ /**
85
+ * Erzeugt ein Array von einer bestimmten grösse
86
+ * @param anzahl Grösse des Array
87
+ * @returns Array
88
+ */
89
+ count(anzahl) {
90
+ return new Array(anzahl);
91
+ }
88
92
  /**
89
93
  * Methode wird aufgerufen, wenn eine Datei verschoben wird
90
94
  * @param uploadid Upload ID
@@ -97,12 +101,12 @@ export class SacBrowserComponent extends SacFileBrowserCommon {
97
101
  }
98
102
  }
99
103
  SacBrowserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacBrowserComponent, deps: [{ token: i1.HttpClient }, { token: i0.Injector }, { token: i2.ServiceConfirm }], target: i0.ɵɵFactoryTarget.Component });
100
- SacBrowserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacBrowserComponent, selector: "sac-filebrowser", providers: [ServiceConfirm], viewQueries: [{ propertyName: "uploadComponent", first: true, predicate: SacDropzoneMultipleComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12 col-md-5 col-lg-4\">\r\n <ul class=\"list-group list-group-flush\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{node: rootNode, deep: 0}\"\r\n ></ng-template>\r\n </ul>\r\n\r\n <ng-template #treeItem let-node=\"node\" let-deep=\"deep\">\r\n <li\r\n class=\"list-group-item py-1 px-2 d-flex align-items-center\"\r\n [class.list-group-item-secondary]=\"node === selectedNode\"\r\n (click)=\"selectNode(node)\"\r\n style=\"cursor: pointer\"\r\n >\r\n <div class=\"mx-3\" *ngFor=\"let i of count(deep)\"></div>\r\n <div\r\n (click)=\"switchExpandNode(node);$event.stopPropagation();\"\r\n class=\"me-2\"\r\n [ngClass]=\"node.ChildNodes.length === 0 ? iconFolderEmpty: (!node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderCollabsed : (node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderOpen : ''))\"\r\n ></div>\r\n <ng-container *ngIf=\"!node.IsEditMode\">\r\n <div class=\"flex-grow-1\">{{ node.Name }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"node.IsEditMode\">\r\n <div class=\"flex-grow-1\" ngForm>\r\n <input\r\n name=\"editFolder\"\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"node.Name\"\r\n [ngModelOptions]=\"{updateOn: 'blur'}\"\r\n (ngModelChange)=\"renameNode(node, $event)\"\r\n (keydown.enter)=\"$event.target.blur();false;\"\r\n (blur)=\"renameNode(node, null)\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n <div class=\"flex-shrink-0\">\r\n <a\r\n *ngIf=\"node.Path !== '/' && allowfolderrename\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"editNode(node);$event.stopPropagation();\"\r\n >\r\n <i [class]=\"iconEdit\"></i>\r\n </a>\r\n <sac-contextmenu cssclass=\"d-inline-block\">\r\n <sac-contextmenubutton\r\n *ngIf=\"allowfoldercreate\"\r\n text=\"{{ lngResourceService.GetString('FILEBROWSER_NEWFOLDER') | async }}\"\r\n [icon]=\"iconFolderNew\"\r\n (clicked)=\"newNode(node)\"\r\n ></sac-contextmenubutton>\r\n <sac-contextmenubutton\r\n *ngIf=\"node.Path !== '/' && allowfolderdelete\"\r\n text=\"{{ lngResourceService.GetString('FILEBROWSER_DELETE') | async }}\"\r\n [icon]=\"iconDelete\"\r\n (clicked)=\"deleteNode(node)\"\r\n ></sac-contextmenubutton>\r\n <sac-contextmenusplitter\r\n *ngIf=\"allowfoldercreate || (node.Path !== '/' && allowfolderdelete)\"\r\n ></sac-contextmenusplitter>\r\n <sac-contextmenubutton\r\n text=\"{{ lngResourceService.GetString('FILEBROWSER_REFRESH') | async }}\"\r\n [icon]=\"iconRefresh\"\r\n (clicked)=\"refreshNode(node)\"\r\n ></sac-contextmenubutton>\r\n </sac-contextmenu>\r\n </div>\r\n </li>\r\n\r\n <ng-container *ngIf=\"node.IsExpanded\">\r\n <ng-template\r\n *ngFor=\"let child of node.ChildNodes\"\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{node: child, deep: deep + 1}\"\r\n ></ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n <div class=\"col-12 col-md-7 col-lg-8\">\r\n <ng-container *ngIf=\"selectedNode && selectedNode.Files\">\r\n <div *ngIf=\"allowfileupload\" ngForm>\r\n <sac-dropzonemultiple\r\n [disablelabel]=\"true\"\r\n [endpoint]=\"apiurl + '/uploadregister'\"\r\n name=\"upload\"\r\n uploadheight=\"5rem\"\r\n [ngModel]=\"uploads\"\r\n (ngModelChange)=\"uploadComplete(selectedNode,$event)\"\r\n [allowedtypes]=\"allowedtypes\"\r\n >{{ lngResourceService.GetString('FILEBROWSER_UPLOAD') | async\r\n }}</sac-dropzonemultiple\r\n >\r\n </div>\r\n <div class=\"table-responsive\">\r\n <table class=\"table table-striped table-hover align-middle\">\r\n <thead>\r\n <th>\r\n {{ lngResourceService.GetString('FILEBROWSER_GRID_FILE') | async\r\n }}\r\n </th>\r\n <th>\r\n {{ lngResourceService.GetString('FILEBROWSER_GRID_SIZE') | async\r\n }}\r\n </th>\r\n <th style=\"width: 80px\"></th>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"selectedNode.Files.length === 0\">\r\n <tr>\r\n <td colspan=\"3\">\r\n {{ lngResourceService.GetString('FILEBROWSER_NO_FILES') |\r\n async }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedNode.Files.length > 0\">\r\n <tr\r\n *ngFor=\"let item of selectedNode.Files\"\r\n (click)=\"selectFile(item)\"\r\n [class.table-primary]=\"selectedFileItem === item\"\r\n >\r\n <td [class.p-2]=\"item.IsEditMode\">\r\n <ng-container *ngIf=\"!item.IsEditMode\">\r\n {{ item.Filename }}\r\n </ng-container>\r\n <ng-container *ngIf=\"item.IsEditMode\">\r\n <div>\r\n <input\r\n name=\"editFolder\"\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"item.Filename\"\r\n [ngModelOptions]=\"{updateOn: 'blur'}\"\r\n (ngModelChange)=\"renameFile(item, $event)\"\r\n (keydown.enter)=\"$event.target.blur();false\"\r\n (blur)=\"renameFile(item, null)\"\r\n (click)=\"$event.stopPropagation();\"\r\n />\r\n </div>\r\n </ng-container>\r\n </td>\r\n <td>{{ item.Size}}</td>\r\n <td class=\"p-2\">\r\n <div class=\"btn-toolbar\" role=\"toolbar\">\r\n <div class=\"btn-group ml-auto\" role=\"group\">\r\n <a\r\n *ngIf=\"allowfilerename\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"editFile(item);$event.stopPropagation();\"\r\n ><i [class]=\"iconEdit\"></i\r\n ></a>\r\n </div>\r\n <div class=\"btn-group\" role=\"group\">\r\n <a\r\n *ngIf=\"allowfiledelete\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"deleteFile(item);$event.stopPropagation();\"\r\n ><i [class]=\"iconDelete\"></i\r\n ></a>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", components: [{ type: i3.SacContextmenuComponent, selector: "sac-contextmenu" }, { type: i4.SacContextmenuItemButtonComponent, selector: "sac-contextmenubutton" }, { type: i5.SacContextmenuItemSplitterComponent, selector: "sac-contextmenusplitter" }, { type: i6.SacDropzoneMultipleComponent, selector: "sac-dropzonemultiple" }], directives: [{ type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.SacFormDirective, selector: "form:not([ngNoForm]):not([formGroup]),[ngForm]", exportAs: ["sacform"] }, { type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i7.AsyncPipe } });
104
+ SacBrowserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacBrowserComponent, selector: "sac-filebrowser", providers: [ServiceConfirm], viewQueries: [{ propertyName: "uploadComponent", first: true, predicate: SacDropzoneMultipleComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12 col-md-5 col-lg-4\">\r\n <ul class=\"list-group list-group-flush\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{node: rootNode, deep: 0}\"\r\n ></ng-template>\r\n </ul>\r\n\r\n <ng-template #treeItem let-node=\"node\" let-deep=\"deep\">\r\n <li\r\n class=\"list-group-item py-1 px-2 d-flex align-items-center\"\r\n [class.list-group-item-secondary]=\"node === selectedNode\"\r\n (click)=\"selectNode(node)\"\r\n style=\"cursor: pointer\"\r\n >\r\n <div class=\"mx-3\" *ngFor=\"let i of count(deep)\"></div>\r\n <div\r\n (click)=\"switchExpandNode(node);$event.stopPropagation();\"\r\n class=\"me-2\"\r\n [ngClass]=\"node.ChildNodes.length === 0 ? iconFolderEmpty: (!node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderCollabsed : (node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderOpen : ''))\"\r\n ></div>\r\n <ng-container *ngIf=\"!node.IsEditMode\">\r\n <div class=\"flex-grow-1\">{{ node.Name }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"node.IsEditMode\">\r\n <div class=\"flex-grow-1\" ngForm>\r\n <input\r\n name=\"editFolder\"\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"node.Name\"\r\n [ngModelOptions]=\"{updateOn: 'blur'}\"\r\n (ngModelChange)=\"renameNode(node, $event)\"\r\n (keydown.enter)=\"$event.target.blur();false;\"\r\n (blur)=\"renameNode(node, null)\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n <div class=\"flex-shrink-0\">\r\n <a\r\n *ngIf=\"node.Path !== '/' && allowfolderrename\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"editNode(node);$event.stopPropagation();\"\r\n >\r\n <i [class]=\"iconEdit\"></i>\r\n </a>\r\n <sac-contextmenu cssclass=\"d-inline-block\">\r\n <sac-contextmenubutton\r\n *ngIf=\"allowfoldercreate\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonNewFolder) | async }}\"\r\n [icon]=\"iconFolderNew\"\r\n (clicked)=\"newNode(node)\"\r\n ></sac-contextmenubutton>\r\n <sac-contextmenubutton\r\n *ngIf=\"node.Path !== '/' && allowfolderdelete\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonDelete) | async }}\"\r\n [icon]=\"iconDelete\"\r\n (clicked)=\"deleteNode(node)\"\r\n ></sac-contextmenubutton>\r\n <sac-contextmenusplitter\r\n *ngIf=\"allowfoldercreate || (node.Path !== '/' && allowfolderdelete)\"\r\n ></sac-contextmenusplitter>\r\n <sac-contextmenubutton\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonRefresh) | async }}\"\r\n [icon]=\"iconRefresh\"\r\n (clicked)=\"refreshNode(node)\"\r\n ></sac-contextmenubutton>\r\n </sac-contextmenu>\r\n </div>\r\n </li>\r\n\r\n <ng-container *ngIf=\"node.IsExpanded\">\r\n <ng-template\r\n *ngFor=\"let child of node.ChildNodes\"\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{node: child, deep: deep + 1}\"\r\n ></ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n <div class=\"col-12 col-md-7 col-lg-8\">\r\n <ng-container *ngIf=\"selectedNode && selectedNode.Files\">\r\n <div *ngIf=\"allowfileupload\" ngForm>\r\n <sac-dropzonemultiple\r\n [disablelabel]=\"true\"\r\n [endpoint]=\"apiurl + '/uploadregister'\"\r\n name=\"upload\"\r\n uploadheight=\"5rem\"\r\n [ngModel]=\"uploads\"\r\n (ngModelChange)=\"uploadComplete(selectedNode,$event)\"\r\n [allowedtypes]=\"allowedtypes\"\r\n >{{\r\n lngResourceService.GetString(validationKeyService.FilebrowserButtonUpload)\r\n | async }}</sac-dropzonemultiple\r\n >\r\n </div>\r\n <div class=\"table-responsive\">\r\n <table class=\"table table-striped table-hover align-middle\">\r\n <thead>\r\n <th>\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridFilename)\r\n | async }}\r\n </th>\r\n <th>\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridSize)\r\n | async }}\r\n </th>\r\n <th style=\"width: 80px\"></th>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"selectedNode.Files.length === 0\">\r\n <tr>\r\n <td colspan=\"3\">\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridNoFiles)\r\n | async }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedNode.Files.length > 0\">\r\n <tr\r\n *ngFor=\"let item of selectedNode.Files\"\r\n (click)=\"selectFile(item)\"\r\n [class.table-primary]=\"selectedFileItem === item\"\r\n >\r\n <td [class.p-2]=\"item.IsEditMode\">\r\n <ng-container *ngIf=\"!item.IsEditMode\">\r\n {{ item.Filename }}\r\n </ng-container>\r\n <ng-container *ngIf=\"item.IsEditMode\">\r\n <div>\r\n <input\r\n name=\"editFolder\"\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"item.Filename\"\r\n [ngModelOptions]=\"{updateOn: 'blur'}\"\r\n (ngModelChange)=\"renameFile(item, $event)\"\r\n (keydown.enter)=\"$event.target.blur();false\"\r\n (blur)=\"renameFile(item, null)\"\r\n (click)=\"$event.stopPropagation();\"\r\n />\r\n </div>\r\n </ng-container>\r\n </td>\r\n <td>{{ item.Size}}</td>\r\n <td class=\"p-2\">\r\n <div class=\"btn-toolbar\" role=\"toolbar\">\r\n <div class=\"btn-group ml-auto\" role=\"group\">\r\n <a\r\n *ngIf=\"allowfilerename\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"editFile(item);$event.stopPropagation();\"\r\n ><i [class]=\"iconEdit\"></i\r\n ></a>\r\n </div>\r\n <div class=\"btn-group\" role=\"group\">\r\n <a\r\n *ngIf=\"allowfiledelete\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"deleteFile(item);$event.stopPropagation();\"\r\n ><i [class]=\"iconDelete\"></i\r\n ></a>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", components: [{ type: i3.SacContextmenuComponent, selector: "sac-contextmenu" }, { type: i4.SacContextmenuItemButtonComponent, selector: "sac-contextmenubutton" }, { type: i5.SacContextmenuItemSplitterComponent, selector: "sac-contextmenusplitter" }, { type: i6.SacDropzoneMultipleComponent, selector: "sac-dropzonemultiple" }], directives: [{ type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.SacFormDirective, selector: "form:not([ngNoForm]):not([formGroup]),[ngForm]", exportAs: ["sacform"] }, { type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i7.AsyncPipe } });
101
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacBrowserComponent, decorators: [{
102
106
  type: Component,
103
- args: [{ selector: 'sac-filebrowser', providers: [ServiceConfirm], template: "<div class=\"row\">\r\n <div class=\"col-12 col-md-5 col-lg-4\">\r\n <ul class=\"list-group list-group-flush\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{node: rootNode, deep: 0}\"\r\n ></ng-template>\r\n </ul>\r\n\r\n <ng-template #treeItem let-node=\"node\" let-deep=\"deep\">\r\n <li\r\n class=\"list-group-item py-1 px-2 d-flex align-items-center\"\r\n [class.list-group-item-secondary]=\"node === selectedNode\"\r\n (click)=\"selectNode(node)\"\r\n style=\"cursor: pointer\"\r\n >\r\n <div class=\"mx-3\" *ngFor=\"let i of count(deep)\"></div>\r\n <div\r\n (click)=\"switchExpandNode(node);$event.stopPropagation();\"\r\n class=\"me-2\"\r\n [ngClass]=\"node.ChildNodes.length === 0 ? iconFolderEmpty: (!node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderCollabsed : (node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderOpen : ''))\"\r\n ></div>\r\n <ng-container *ngIf=\"!node.IsEditMode\">\r\n <div class=\"flex-grow-1\">{{ node.Name }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"node.IsEditMode\">\r\n <div class=\"flex-grow-1\" ngForm>\r\n <input\r\n name=\"editFolder\"\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"node.Name\"\r\n [ngModelOptions]=\"{updateOn: 'blur'}\"\r\n (ngModelChange)=\"renameNode(node, $event)\"\r\n (keydown.enter)=\"$event.target.blur();false;\"\r\n (blur)=\"renameNode(node, null)\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n <div class=\"flex-shrink-0\">\r\n <a\r\n *ngIf=\"node.Path !== '/' && allowfolderrename\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"editNode(node);$event.stopPropagation();\"\r\n >\r\n <i [class]=\"iconEdit\"></i>\r\n </a>\r\n <sac-contextmenu cssclass=\"d-inline-block\">\r\n <sac-contextmenubutton\r\n *ngIf=\"allowfoldercreate\"\r\n text=\"{{ lngResourceService.GetString('FILEBROWSER_NEWFOLDER') | async }}\"\r\n [icon]=\"iconFolderNew\"\r\n (clicked)=\"newNode(node)\"\r\n ></sac-contextmenubutton>\r\n <sac-contextmenubutton\r\n *ngIf=\"node.Path !== '/' && allowfolderdelete\"\r\n text=\"{{ lngResourceService.GetString('FILEBROWSER_DELETE') | async }}\"\r\n [icon]=\"iconDelete\"\r\n (clicked)=\"deleteNode(node)\"\r\n ></sac-contextmenubutton>\r\n <sac-contextmenusplitter\r\n *ngIf=\"allowfoldercreate || (node.Path !== '/' && allowfolderdelete)\"\r\n ></sac-contextmenusplitter>\r\n <sac-contextmenubutton\r\n text=\"{{ lngResourceService.GetString('FILEBROWSER_REFRESH') | async }}\"\r\n [icon]=\"iconRefresh\"\r\n (clicked)=\"refreshNode(node)\"\r\n ></sac-contextmenubutton>\r\n </sac-contextmenu>\r\n </div>\r\n </li>\r\n\r\n <ng-container *ngIf=\"node.IsExpanded\">\r\n <ng-template\r\n *ngFor=\"let child of node.ChildNodes\"\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{node: child, deep: deep + 1}\"\r\n ></ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n <div class=\"col-12 col-md-7 col-lg-8\">\r\n <ng-container *ngIf=\"selectedNode && selectedNode.Files\">\r\n <div *ngIf=\"allowfileupload\" ngForm>\r\n <sac-dropzonemultiple\r\n [disablelabel]=\"true\"\r\n [endpoint]=\"apiurl + '/uploadregister'\"\r\n name=\"upload\"\r\n uploadheight=\"5rem\"\r\n [ngModel]=\"uploads\"\r\n (ngModelChange)=\"uploadComplete(selectedNode,$event)\"\r\n [allowedtypes]=\"allowedtypes\"\r\n >{{ lngResourceService.GetString('FILEBROWSER_UPLOAD') | async\r\n }}</sac-dropzonemultiple\r\n >\r\n </div>\r\n <div class=\"table-responsive\">\r\n <table class=\"table table-striped table-hover align-middle\">\r\n <thead>\r\n <th>\r\n {{ lngResourceService.GetString('FILEBROWSER_GRID_FILE') | async\r\n }}\r\n </th>\r\n <th>\r\n {{ lngResourceService.GetString('FILEBROWSER_GRID_SIZE') | async\r\n }}\r\n </th>\r\n <th style=\"width: 80px\"></th>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"selectedNode.Files.length === 0\">\r\n <tr>\r\n <td colspan=\"3\">\r\n {{ lngResourceService.GetString('FILEBROWSER_NO_FILES') |\r\n async }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedNode.Files.length > 0\">\r\n <tr\r\n *ngFor=\"let item of selectedNode.Files\"\r\n (click)=\"selectFile(item)\"\r\n [class.table-primary]=\"selectedFileItem === item\"\r\n >\r\n <td [class.p-2]=\"item.IsEditMode\">\r\n <ng-container *ngIf=\"!item.IsEditMode\">\r\n {{ item.Filename }}\r\n </ng-container>\r\n <ng-container *ngIf=\"item.IsEditMode\">\r\n <div>\r\n <input\r\n name=\"editFolder\"\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"item.Filename\"\r\n [ngModelOptions]=\"{updateOn: 'blur'}\"\r\n (ngModelChange)=\"renameFile(item, $event)\"\r\n (keydown.enter)=\"$event.target.blur();false\"\r\n (blur)=\"renameFile(item, null)\"\r\n (click)=\"$event.stopPropagation();\"\r\n />\r\n </div>\r\n </ng-container>\r\n </td>\r\n <td>{{ item.Size}}</td>\r\n <td class=\"p-2\">\r\n <div class=\"btn-toolbar\" role=\"toolbar\">\r\n <div class=\"btn-group ml-auto\" role=\"group\">\r\n <a\r\n *ngIf=\"allowfilerename\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"editFile(item);$event.stopPropagation();\"\r\n ><i [class]=\"iconEdit\"></i\r\n ></a>\r\n </div>\r\n <div class=\"btn-group\" role=\"group\">\r\n <a\r\n *ngIf=\"allowfiledelete\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"deleteFile(item);$event.stopPropagation();\"\r\n ><i [class]=\"iconDelete\"></i\r\n ></a>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n" }]
107
+ args: [{ selector: 'sac-filebrowser', providers: [ServiceConfirm], template: "<div class=\"row\">\r\n <div class=\"col-12 col-md-5 col-lg-4\">\r\n <ul class=\"list-group list-group-flush\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{node: rootNode, deep: 0}\"\r\n ></ng-template>\r\n </ul>\r\n\r\n <ng-template #treeItem let-node=\"node\" let-deep=\"deep\">\r\n <li\r\n class=\"list-group-item py-1 px-2 d-flex align-items-center\"\r\n [class.list-group-item-secondary]=\"node === selectedNode\"\r\n (click)=\"selectNode(node)\"\r\n style=\"cursor: pointer\"\r\n >\r\n <div class=\"mx-3\" *ngFor=\"let i of count(deep)\"></div>\r\n <div\r\n (click)=\"switchExpandNode(node);$event.stopPropagation();\"\r\n class=\"me-2\"\r\n [ngClass]=\"node.ChildNodes.length === 0 ? iconFolderEmpty: (!node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderCollabsed : (node.IsExpanded && node.ChildNodes.length > 0 ? iconFolderOpen : ''))\"\r\n ></div>\r\n <ng-container *ngIf=\"!node.IsEditMode\">\r\n <div class=\"flex-grow-1\">{{ node.Name }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"node.IsEditMode\">\r\n <div class=\"flex-grow-1\" ngForm>\r\n <input\r\n name=\"editFolder\"\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"node.Name\"\r\n [ngModelOptions]=\"{updateOn: 'blur'}\"\r\n (ngModelChange)=\"renameNode(node, $event)\"\r\n (keydown.enter)=\"$event.target.blur();false;\"\r\n (blur)=\"renameNode(node, null)\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </div>\r\n </ng-container>\r\n <div class=\"flex-shrink-0\">\r\n <a\r\n *ngIf=\"node.Path !== '/' && allowfolderrename\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"editNode(node);$event.stopPropagation();\"\r\n >\r\n <i [class]=\"iconEdit\"></i>\r\n </a>\r\n <sac-contextmenu cssclass=\"d-inline-block\">\r\n <sac-contextmenubutton\r\n *ngIf=\"allowfoldercreate\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonNewFolder) | async }}\"\r\n [icon]=\"iconFolderNew\"\r\n (clicked)=\"newNode(node)\"\r\n ></sac-contextmenubutton>\r\n <sac-contextmenubutton\r\n *ngIf=\"node.Path !== '/' && allowfolderdelete\"\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonDelete) | async }}\"\r\n [icon]=\"iconDelete\"\r\n (clicked)=\"deleteNode(node)\"\r\n ></sac-contextmenubutton>\r\n <sac-contextmenusplitter\r\n *ngIf=\"allowfoldercreate || (node.Path !== '/' && allowfolderdelete)\"\r\n ></sac-contextmenusplitter>\r\n <sac-contextmenubutton\r\n text=\"{{ lngResourceService.GetString(validationKeyService.FilebrowserButtonRefresh) | async }}\"\r\n [icon]=\"iconRefresh\"\r\n (clicked)=\"refreshNode(node)\"\r\n ></sac-contextmenubutton>\r\n </sac-contextmenu>\r\n </div>\r\n </li>\r\n\r\n <ng-container *ngIf=\"node.IsExpanded\">\r\n <ng-template\r\n *ngFor=\"let child of node.ChildNodes\"\r\n [ngTemplateOutlet]=\"treeItem\"\r\n [ngTemplateOutletContext]=\"{node: child, deep: deep + 1}\"\r\n ></ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n <div class=\"col-12 col-md-7 col-lg-8\">\r\n <ng-container *ngIf=\"selectedNode && selectedNode.Files\">\r\n <div *ngIf=\"allowfileupload\" ngForm>\r\n <sac-dropzonemultiple\r\n [disablelabel]=\"true\"\r\n [endpoint]=\"apiurl + '/uploadregister'\"\r\n name=\"upload\"\r\n uploadheight=\"5rem\"\r\n [ngModel]=\"uploads\"\r\n (ngModelChange)=\"uploadComplete(selectedNode,$event)\"\r\n [allowedtypes]=\"allowedtypes\"\r\n >{{\r\n lngResourceService.GetString(validationKeyService.FilebrowserButtonUpload)\r\n | async }}</sac-dropzonemultiple\r\n >\r\n </div>\r\n <div class=\"table-responsive\">\r\n <table class=\"table table-striped table-hover align-middle\">\r\n <thead>\r\n <th>\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridFilename)\r\n | async }}\r\n </th>\r\n <th>\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridSize)\r\n | async }}\r\n </th>\r\n <th style=\"width: 80px\"></th>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"selectedNode.Files.length === 0\">\r\n <tr>\r\n <td colspan=\"3\">\r\n {{\r\n lngResourceService.GetString(validationKeyService.FilebrowserGridNoFiles)\r\n | async }}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedNode.Files.length > 0\">\r\n <tr\r\n *ngFor=\"let item of selectedNode.Files\"\r\n (click)=\"selectFile(item)\"\r\n [class.table-primary]=\"selectedFileItem === item\"\r\n >\r\n <td [class.p-2]=\"item.IsEditMode\">\r\n <ng-container *ngIf=\"!item.IsEditMode\">\r\n {{ item.Filename }}\r\n </ng-container>\r\n <ng-container *ngIf=\"item.IsEditMode\">\r\n <div>\r\n <input\r\n name=\"editFolder\"\r\n class=\"form-control form-control-sm\"\r\n [ngModel]=\"item.Filename\"\r\n [ngModelOptions]=\"{updateOn: 'blur'}\"\r\n (ngModelChange)=\"renameFile(item, $event)\"\r\n (keydown.enter)=\"$event.target.blur();false\"\r\n (blur)=\"renameFile(item, null)\"\r\n (click)=\"$event.stopPropagation();\"\r\n />\r\n </div>\r\n </ng-container>\r\n </td>\r\n <td>{{ item.Size}}</td>\r\n <td class=\"p-2\">\r\n <div class=\"btn-toolbar\" role=\"toolbar\">\r\n <div class=\"btn-group ml-auto\" role=\"group\">\r\n <a\r\n *ngIf=\"allowfilerename\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"editFile(item);$event.stopPropagation();\"\r\n ><i [class]=\"iconEdit\"></i\r\n ></a>\r\n </div>\r\n <div class=\"btn-group\" role=\"group\">\r\n <a\r\n *ngIf=\"allowfiledelete\"\r\n class=\"btn btn-sm btn-link text-secondary\"\r\n (click)=\"deleteFile(item);$event.stopPropagation();\"\r\n ><i [class]=\"iconDelete\"></i\r\n ></a>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n" }]
104
108
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }, { type: i2.ServiceConfirm }]; }, propDecorators: { uploadComponent: [{
105
109
  type: ViewChild,
106
110
  args: [SacDropzoneMultipleComponent, { static: false }]
107
111
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvYnJvd3Nlci50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvYnJvd3Nlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQVksU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFHTCxvQkFBb0IsR0FDckIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7Ozs7O0FBRXRGOztHQUVHO0FBTUgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG9CQUFvQjtJQU8zRDs7Ozs7T0FLRztJQUNILFlBQ0UsVUFBc0IsRUFDdEIsUUFBa0IsRUFDVixjQUE4QjtRQUV0QyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRnBCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUd4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxNQUFjO1FBQ3pCLE9BQU8sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxpQkFBaUIsQ0FBQyxJQUFrQjtRQUNsQyxPQUFPLElBQUksVUFBVSxDQUFVLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDMUMsUUFBUSxDQUFDO2dCQUNQLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDO2dCQUM5RCxPQUFPLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FDeEMsZ0NBQWdDLENBQ2pDO2FBQ0YsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNwQixJQUFJLENBQUMsY0FBYztxQkFDaEIsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQztxQkFDeEMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ3BCLElBQUksTUFBTSxLQUFLLEtBQUssRUFBRTt3QkFDcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDckI7eUJBQU07d0JBQ0wsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDdEI7b0JBQ0QsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN0QixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLElBQWtCO1FBQ2xDLE9BQU8sSUFBSSxVQUFVLENBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMxQyxRQUFRLENBQUM7Z0JBQ1AsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUM7Z0JBQzlELE9BQU8sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUN4QyxrQ0FBa0MsQ0FDbkM7YUFDRixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxjQUFjO3FCQUNoQixjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO3FCQUN4QyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxNQUFNLEtBQUssS0FBSyxFQUFFO3dCQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNyQjt5QkFBTTt3QkFDTCxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUN0QjtvQkFDRCxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxpQkFBaUIsQ0FBQyxRQUFnQjtRQUNoQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzVDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FDckMsQ0FBQztRQUVGLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzVDO0lBQ0gsQ0FBQzs7Z0hBaEdVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDBDQUZuQixDQUFDLGNBQWMsQ0FBQywyRUFNaEIsNEJBQTRCLHVFQ3ZCekMsbzNPQTRLQTsyRkR6SmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQixhQUVoQixDQUFDLGNBQWMsQ0FBQztxSkFPbkIsZUFBZTtzQkFEdEIsU0FBUzt1QkFBQyw0QkFBNEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBJQnJvd3NlckZpbGUsXHJcbiAgSUJyb3dzZXJOb2RlLFxyXG4gIFNhY0ZpbGVCcm93c2VyQ29tbW9uLFxyXG59IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNlcnZpY2VDb25maXJtIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvY29uZmlybS9jb25maXJtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvdXBsb2FkL2Ryb3B6b25lbXVsdGlwbGUnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZlciBGaWxlIEJyb3dzZXIgS29tcG9uZW50ZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtZmlsZWJyb3dzZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9icm93c2VyLmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1NlcnZpY2VDb25maXJtXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0Jyb3dzZXJDb21wb25lbnQgZXh0ZW5kcyBTYWNGaWxlQnJvd3NlckNvbW1vbiB7XHJcbiAgLyoqXHJcbiAgICogUmVmZXJlbnogYXVmIFVwbG9hZCBDb21wb25lbnRcclxuICAgKi9cclxuICBAVmlld0NoaWxkKFNhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHByaXZhdGUgdXBsb2FkQ29tcG9uZW50OiBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50O1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBodHRwQ2xpZW50IEhUVFAgQ2xpZW50XHJcbiAgICogQHBhcmFtIGluamVjdG9yIEFuZ3VsYXIgRGVwZW5kZW5jeSBJbmplY3Rpb24gU2VydmljZVxyXG4gICAqIEBwYXJhbSBjb25maXJtU2VydmljZSBDb25maXJtIFNlcnZpY2VcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIGNvbmZpcm1TZXJ2aWNlOiBTZXJ2aWNlQ29uZmlybVxyXG4gICkge1xyXG4gICAgc3VwZXIoaHR0cENsaWVudCwgaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXJ6ZXVndCBlaW4gQXJyYXkgdm9uIGVpbmVyIGJlc3RpbW10ZW4gZ3LDtnNzZVxyXG4gICAqIEBwYXJhbSBhbnphaGwgR3LDtnNzZSBkZXMgQXJyYXlcclxuICAgKiBAcmV0dXJucyBBcnJheVxyXG4gICAqL1xyXG4gIHB1YmxpYyBjb3VudChhbnphaGw6IG51bWJlcik6IEFycmF5PHZvaWQ+IHtcclxuICAgIHJldHVybiBuZXcgQXJyYXkoYW56YWhsKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbmZpcm0gQWN0aW9uIHdlbm4gZWluIEZpbGUgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXHJcbiAgICogQHBhcmFtIGZpbGUgRmlsZSBkYXMgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsLlxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2IgRmlsZSBnZWzDtnNjaHQgd2VyZGVuIGthbm4uXHJcbiAgICovXHJcbiAgY29uZmlybURlbGV0ZUZpbGUoZmlsZTogSUJyb3dzZXJGaWxlKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgIGZvcmtKb2luKHtcclxuICAgICAgICB0aXRsZTogdGhpcy5sbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdGSUxFQlJPV1NFUl9ERUxFVEUnKSxcclxuICAgICAgICBtZXNzYWdlOiB0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoXHJcbiAgICAgICAgICAnRklMRUJST1dTRVJfQ09ORklSTV9ERUxFVEVGSUxFJ1xyXG4gICAgICAgICksXHJcbiAgICAgIH0pLnN1YnNjcmliZSgodGV4dCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29uZmlybVNlcnZpY2VcclxuICAgICAgICAgIC5Db25maXJtTWVzc2FnZSh0ZXh0LnRpdGxlLCB0ZXh0Lm1lc3NhZ2UpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbmZpcm0gQWN0aW9uIHdlbm4gZWluIE9yZG5lciBnZWzDtnNjaHQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gbm9kZSBPcmRuZXIgZGVyIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2IgT3JkbmVyIGdlbMO2c2NodCBrYW5uLlxyXG4gICAqL1xyXG4gIGNvbmZpcm1EZWxldGVOb2RlKG5vZGU6IElCcm93c2VyTm9kZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KChvYnNlcnZlcikgPT4ge1xyXG4gICAgICBmb3JrSm9pbih7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnRklMRUJST1dTRVJfREVMRVRFJyksXHJcbiAgICAgICAgbWVzc2FnZTogdGhpcy5sbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKFxyXG4gICAgICAgICAgJ0ZJTEVCUk9XU0VSX0NPTkZJUk1fREVMRVRFRk9MREVSJ1xyXG4gICAgICAgICksXHJcbiAgICAgIH0pLnN1YnNjcmliZSgodGV4dCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29uZmlybVNlcnZpY2VcclxuICAgICAgICAgIC5Db25maXJtTWVzc2FnZSh0ZXh0LnRpdGxlLCB0ZXh0Lm1lc3NhZ2UpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUgd2lyZCBhdWZnZXJ1ZmVuLCB3ZW5uIGVpbmUgRGF0ZWkgdmVyc2Nob2JlbiB3aXJkXHJcbiAgICogQHBhcmFtIHVwbG9hZGlkIFVwbG9hZCBJRFxyXG4gICAqL1xyXG4gIHVwbG9hZGVkRmlsZU1vdmVkKHVwbG9hZGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnVwbG9hZENvbXBvbmVudC51cGxvYWRzLmZpbmQoXHJcbiAgICAgIChpdG0pID0+IGl0bS5kb2N1bWVudGlkID09PSB1cGxvYWRpZFxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoaXRlbSkge1xyXG4gICAgICB0aGlzLnVwbG9hZENvbXBvbmVudC5jYW5jZWwoaXRlbS51cGxvYWRJZCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1tZC01IGNvbC1sZy00XCI+XHJcbiAgICA8dWwgY2xhc3M9XCJsaXN0LWdyb3VwIGxpc3QtZ3JvdXAtZmx1c2hcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidHJlZUl0ZW1cIlxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bm9kZTogcm9vdE5vZGUsIGRlZXA6IDB9XCJcclxuICAgICAgPjwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3VsPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjdHJlZUl0ZW0gbGV0LW5vZGU9XCJub2RlXCIgbGV0LWRlZXA9XCJkZWVwXCI+XHJcbiAgICAgIDxsaVxyXG4gICAgICAgIGNsYXNzPVwibGlzdC1ncm91cC1pdGVtIHB5LTEgcHgtMiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgICAgICBbY2xhc3MubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeV09XCJub2RlID09PSBzZWxlY3RlZE5vZGVcIlxyXG4gICAgICAgIChjbGljayk9XCJzZWxlY3ROb2RlKG5vZGUpXCJcclxuICAgICAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXgtM1wiICpuZ0Zvcj1cImxldCBpIG9mIGNvdW50KGRlZXApXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgKGNsaWNrKT1cInN3aXRjaEV4cGFuZE5vZGUobm9kZSk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXHJcbiAgICAgICAgICBjbGFzcz1cIm1lLTJcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwibm9kZS5DaGlsZE5vZGVzLmxlbmd0aCA9PT0gMCA/IGljb25Gb2xkZXJFbXB0eTogKCFub2RlLklzRXhwYW5kZWQgJiYgbm9kZS5DaGlsZE5vZGVzLmxlbmd0aCA+IDAgPyBpY29uRm9sZGVyQ29sbGFic2VkIDogKG5vZGUuSXNFeHBhbmRlZCAmJiBub2RlLkNoaWxkTm9kZXMubGVuZ3RoID4gMCA/IGljb25Gb2xkZXJPcGVuIDogJycpKVwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbm9kZS5Jc0VkaXRNb2RlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj57eyBub2RlLk5hbWUgfX08L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9kZS5Jc0VkaXRNb2RlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIiBuZ0Zvcm0+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIG5hbWU9XCJlZGl0Rm9sZGVyXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc21cIlxyXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cIm5vZGUuTmFtZVwiXHJcbiAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInt1cGRhdGVPbjogJ2JsdXInfVwiXHJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicmVuYW1lTm9kZShub2RlLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCIkZXZlbnQudGFyZ2V0LmJsdXIoKTtmYWxzZTtcIlxyXG4gICAgICAgICAgICAgIChibHVyKT1cInJlbmFtZU5vZGUobm9kZSwgbnVsbClcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTBcIj5cclxuICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICpuZ0lmPVwibm9kZS5QYXRoICE9PSAnLycgJiYgYWxsb3dmb2xkZXJyZW5hbWVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLWxpbmsgdGV4dC1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiZWRpdE5vZGUobm9kZSk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpIFtjbGFzc109XCJpY29uRWRpdFwiPjwvaT5cclxuICAgICAgICAgIDwvYT5cclxuICAgICAgICAgIDxzYWMtY29udGV4dG1lbnUgY3NzY2xhc3M9XCJkLWlubGluZS1ibG9ja1wiPlxyXG4gICAgICAgICAgICA8c2FjLWNvbnRleHRtZW51YnV0dG9uXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJhbGxvd2ZvbGRlcmNyZWF0ZVwiXHJcbiAgICAgICAgICAgICAgdGV4dD1cInt7IGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoJ0ZJTEVCUk9XU0VSX05FV0ZPTERFUicpIHwgYXN5bmMgfX1cIlxyXG4gICAgICAgICAgICAgIFtpY29uXT1cImljb25Gb2xkZXJOZXdcIlxyXG4gICAgICAgICAgICAgIChjbGlja2VkKT1cIm5ld05vZGUobm9kZSlcIlxyXG4gICAgICAgICAgICA+PC9zYWMtY29udGV4dG1lbnVidXR0b24+XHJcbiAgICAgICAgICAgIDxzYWMtY29udGV4dG1lbnVidXR0b25cclxuICAgICAgICAgICAgICAqbmdJZj1cIm5vZGUuUGF0aCAhPT0gJy8nICYmIGFsbG93Zm9sZGVyZGVsZXRlXCJcclxuICAgICAgICAgICAgICB0ZXh0PVwie3sgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnRklMRUJST1dTRVJfREVMRVRFJykgfCBhc3luYyB9fVwiXHJcbiAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkRlbGV0ZVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrZWQpPVwiZGVsZXRlTm9kZShub2RlKVwiXHJcbiAgICAgICAgICAgID48L3NhYy1jb250ZXh0bWVudWJ1dHRvbj5cclxuICAgICAgICAgICAgPHNhYy1jb250ZXh0bWVudXNwbGl0dGVyXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJhbGxvd2ZvbGRlcmNyZWF0ZSB8fCAobm9kZS5QYXRoICE9PSAnLycgJiYgYWxsb3dmb2xkZXJkZWxldGUpXCJcclxuICAgICAgICAgICAgPjwvc2FjLWNvbnRleHRtZW51c3BsaXR0ZXI+XHJcbiAgICAgICAgICAgIDxzYWMtY29udGV4dG1lbnVidXR0b25cclxuICAgICAgICAgICAgICB0ZXh0PVwie3sgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnRklMRUJST1dTRVJfUkVGUkVTSCcpIHwgYXN5bmMgfX1cIlxyXG4gICAgICAgICAgICAgIFtpY29uXT1cImljb25SZWZyZXNoXCJcclxuICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJyZWZyZXNoTm9kZShub2RlKVwiXHJcbiAgICAgICAgICAgID48L3NhYy1jb250ZXh0bWVudWJ1dHRvbj5cclxuICAgICAgICAgIDwvc2FjLWNvbnRleHRtZW51PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2xpPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGUuSXNFeHBhbmRlZFwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNoaWxkIG9mIG5vZGUuQ2hpbGROb2Rlc1wiXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cmVlSXRlbVwiXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie25vZGU6IGNoaWxkLCBkZWVwOiBkZWVwICsgMX1cIlxyXG4gICAgICAgID48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtNyBjb2wtbGctOFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkTm9kZSAmJiBzZWxlY3RlZE5vZGUuRmlsZXNcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cImFsbG93ZmlsZXVwbG9hZFwiIG5nRm9ybT5cclxuICAgICAgICA8c2FjLWRyb3B6b25lbXVsdGlwbGVcclxuICAgICAgICAgIFtkaXNhYmxlbGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbZW5kcG9pbnRdPVwiYXBpdXJsICsgJy91cGxvYWRyZWdpc3RlcidcIlxyXG4gICAgICAgICAgbmFtZT1cInVwbG9hZFwiXHJcbiAgICAgICAgICB1cGxvYWRoZWlnaHQ9XCI1cmVtXCJcclxuICAgICAgICAgIFtuZ01vZGVsXT1cInVwbG9hZHNcIlxyXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBsb2FkQ29tcGxldGUoc2VsZWN0ZWROb2RlLCRldmVudClcIlxyXG4gICAgICAgICAgW2FsbG93ZWR0eXBlc109XCJhbGxvd2VkdHlwZXNcIlxyXG4gICAgICAgICAgPnt7IGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoJ0ZJTEVCUk9XU0VSX1VQTE9BRCcpIHwgYXN5bmNcclxuICAgICAgICAgIH19PC9zYWMtZHJvcHpvbmVtdWx0aXBsZVxyXG4gICAgICAgID5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ob3ZlciBhbGlnbi1taWRkbGVcIj5cclxuICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgPHRoPlxyXG4gICAgICAgICAgICAgIHt7IGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoJ0ZJTEVCUk9XU0VSX0dSSURfRklMRScpIHwgYXN5bmNcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8dGg+XHJcbiAgICAgICAgICAgICAge3sgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnRklMRUJST1dTRVJfR1JJRF9TSVpFJykgfCBhc3luY1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA4MHB4XCI+PC90aD5cclxuICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZE5vZGUuRmlsZXMubGVuZ3RoID09PSAwXCI+XHJcbiAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIzXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoJ0ZJTEVCUk9XU0VSX05PX0ZJTEVTJykgfFxyXG4gICAgICAgICAgICAgICAgICBhc3luYyB9fVxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkTm9kZS5GaWxlcy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgPHRyXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWxlY3RlZE5vZGUuRmlsZXNcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEZpbGUoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLnRhYmxlLXByaW1hcnldPVwic2VsZWN0ZWRGaWxlSXRlbSA9PT0gaXRlbVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHRkIFtjbGFzcy5wLTJdPVwiaXRlbS5Jc0VkaXRNb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5Jc0VkaXRNb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5GaWxlbmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uSXNFZGl0TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImVkaXRGb2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc21cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJpdGVtLkZpbGVuYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInt1cGRhdGVPbjogJ2JsdXInfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInJlbmFtZUZpbGUoaXRlbSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIiRldmVudC50YXJnZXQuYmx1cigpO2ZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwicmVuYW1lRmlsZShpdGVtLCBudWxsKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcclxuICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZD57eyBpdGVtLlNpemV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi10b29sYmFyXCIgcm9sZT1cInRvb2xiYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIG1sLWF1dG9cIiByb2xlPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWxsb3dmaWxlcmVuYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1saW5rIHRleHQtc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRGaWxlKGl0ZW0pOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PGkgW2NsYXNzXT1cImljb25FZGl0XCI+PC9pXHJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIiByb2xlPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWxsb3dmaWxlZGVsZXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1saW5rIHRleHQtc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUZpbGUoaXRlbSk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48aSBbY2xhc3NdPVwiaWNvbkRlbGV0ZVwiPjwvaVxyXG4gICAgICAgICAgICAgICAgICAgICAgPjwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvYnJvd3Nlci50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvYnJvd3Nlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQVksU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFHTCxvQkFBb0IsR0FDckIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7Ozs7O0FBRXRGOztHQUVHO0FBTUgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG9CQUFvQjtJQVMzRCx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7OztPQUtHO0lBQ0gsWUFDRSxVQUFzQixFQUN0QixRQUFrQixFQUNWLGNBQThCO1FBRXRDLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFGcEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBR3hDLENBQUM7SUFFRCwwQkFBMEI7SUFFMUIseUJBQXlCO0lBRXpCOzs7O09BSUc7SUFDSSxpQkFBaUIsQ0FBQyxJQUFrQjtRQUN6QyxPQUFPLElBQUksVUFBVSxDQUFVLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDMUMsUUFBUSxDQUFDO2dCQUNQLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUN0QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsdUJBQXVCLENBQ2xEO2dCQUNELE9BQU8sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUN4QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsdUJBQXVCLENBQ2xEO2FBQ0YsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNwQixJQUFJLENBQUMsY0FBYztxQkFDaEIsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQztxQkFDeEMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ3BCLElBQUksTUFBTSxLQUFLLEtBQUssRUFBRTt3QkFDcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDckI7eUJBQU07d0JBQ0wsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDdEI7b0JBQ0QsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN0QixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLElBQWtCO1FBQ3pDLE9BQU8sSUFBSSxVQUFVLENBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMxQyxRQUFRLENBQUM7Z0JBQ1AsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQ3RDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyx1QkFBdUIsQ0FDbEQ7Z0JBQ0QsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQ3hDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQ0FBa0MsQ0FDN0Q7YUFDRixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxjQUFjO3FCQUNoQixjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO3FCQUN4QyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxNQUFNLEtBQUssS0FBSyxFQUFFO3dCQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNyQjt5QkFBTTt3QkFDTCxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUN0QjtvQkFDRCxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLE1BQWM7UUFDekIsT0FBTyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksaUJBQWlCLENBQUMsUUFBZ0I7UUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM1QyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQ3JDLENBQUM7UUFFRixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUM7O2dIQTlHVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwwQ0FGbkIsQ0FBQyxjQUFjLENBQUMsMkVBUWhCLDRCQUE0Qix1RUN6QnpDLG1sUEFnTEE7MkZEN0phLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUIsYUFFaEIsQ0FBQyxjQUFjLENBQUM7cUpBU25CLGVBQWU7c0JBRHRCLFNBQVM7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSUJyb3dzZXJGaWxlLFxyXG4gIElCcm93c2VyTm9kZSxcclxuICBTYWNGaWxlQnJvd3NlckNvbW1vbixcclxufSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTZXJ2aWNlQ29uZmlybSB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NvbmZpcm0vY29uZmlybS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL3VwbG9hZC9kcm9wem9uZW11bHRpcGxlJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2ZXIgRmlsZSBCcm93c2VyIEtvbXBvbmVudGVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLWZpbGVicm93c2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnJvd3Nlci5odG1sJyxcclxuICBwcm92aWRlcnM6IFtTZXJ2aWNlQ29uZmlybV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNCcm93c2VyQ29tcG9uZW50IGV4dGVuZHMgU2FjRmlsZUJyb3dzZXJDb21tb24ge1xyXG4gIC8vICNyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvKipcclxuICAgKiBSZWZlcmVueiBhdWYgVXBsb2FkIENvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBWaWV3Q2hpbGQoU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHJpdmF0ZSB1cGxvYWRDb21wb25lbnQ6IFNhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnQ7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBodHRwQ2xpZW50IEhUVFAgQ2xpZW50XHJcbiAgICogQHBhcmFtIGluamVjdG9yIEFuZ3VsYXIgRGVwZW5kZW5jeSBJbmplY3Rpb24gU2VydmljZVxyXG4gICAqIEBwYXJhbSBjb25maXJtU2VydmljZSBDb25maXJtIFNlcnZpY2VcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIGNvbmZpcm1TZXJ2aWNlOiBTZXJ2aWNlQ29uZmlybVxyXG4gICkge1xyXG4gICAgc3VwZXIoaHR0cENsaWVudCwgaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBDb25maXJtIEFjdGlvbiB3ZW5uIGVpbiBGaWxlIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBmaWxlIEZpbGUgZGFzIGdlbMO2c2NodCB3ZXJkZW4gc29sbC5cclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9iIEZpbGUgZ2Vsw7ZzY2h0IHdlcmRlbiBrYW5uLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjb25maXJtRGVsZXRlRmlsZShmaWxlOiBJQnJvd3NlckZpbGUpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgZm9ya0pvaW4oe1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoXHJcbiAgICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQnV0dG9uRGVsZXRlXHJcbiAgICAgICAgKSxcclxuICAgICAgICBtZXNzYWdlOiB0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoXHJcbiAgICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQnV0dG9uRGVsZXRlXHJcbiAgICAgICAgKSxcclxuICAgICAgfSkuc3Vic2NyaWJlKCh0ZXh0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb25maXJtU2VydmljZVxyXG4gICAgICAgICAgLkNvbmZpcm1NZXNzYWdlKHRleHQudGl0bGUsIHRleHQubWVzc2FnZSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0ID09PSAneWVzJykge1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29uZmlybSBBY3Rpb24gd2VubiBlaW4gT3JkbmVyIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBub2RlIE9yZG5lciBkZXIgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvYiBPcmRuZXIgZ2Vsw7ZzY2h0IGthbm4uXHJcbiAgICovXHJcbiAgcHVibGljIGNvbmZpcm1EZWxldGVOb2RlKG5vZGU6IElCcm93c2VyTm9kZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KChvYnNlcnZlcikgPT4ge1xyXG4gICAgICBmb3JrSm9pbih7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyhcclxuICAgICAgICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJCdXR0b25EZWxldGVcclxuICAgICAgICApLFxyXG4gICAgICAgIG1lc3NhZ2U6IHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyhcclxuICAgICAgICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJDb25maXJtVGV4dERlbGV0ZUZvbGRlclxyXG4gICAgICAgICksXHJcbiAgICAgIH0pLnN1YnNjcmliZSgodGV4dCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29uZmlybVNlcnZpY2VcclxuICAgICAgICAgIC5Db25maXJtTWVzc2FnZSh0ZXh0LnRpdGxlLCB0ZXh0Lm1lc3NhZ2UpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVyemV1Z3QgZWluIEFycmF5IHZvbiBlaW5lciBiZXN0aW1tdGVuIGdyw7Zzc2VcclxuICAgKiBAcGFyYW0gYW56YWhsIEdyw7Zzc2UgZGVzIEFycmF5XHJcbiAgICogQHJldHVybnMgQXJyYXlcclxuICAgKi9cclxuICBwdWJsaWMgY291bnQoYW56YWhsOiBudW1iZXIpOiBBcnJheTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IEFycmF5KGFuemFobCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHdpcmQgYXVmZ2VydWZlbiwgd2VubiBlaW5lIERhdGVpIHZlcnNjaG9iZW4gd2lyZFxyXG4gICAqIEBwYXJhbSB1cGxvYWRpZCBVcGxvYWQgSURcclxuICAgKi9cclxuICBwdWJsaWMgdXBsb2FkZWRGaWxlTW92ZWQodXBsb2FkaWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgaXRlbSA9IHRoaXMudXBsb2FkQ29tcG9uZW50LnVwbG9hZHMuZmluZChcclxuICAgICAgKGl0bSkgPT4gaXRtLmRvY3VtZW50aWQgPT09IHVwbG9hZGlkXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChpdGVtKSB7XHJcbiAgICAgIHRoaXMudXBsb2FkQ29tcG9uZW50LmNhbmNlbChpdGVtLnVwbG9hZElkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtNSBjb2wtbGctNFwiPlxyXG4gICAgPHVsIGNsYXNzPVwibGlzdC1ncm91cCBsaXN0LWdyb3VwLWZsdXNoXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRyZWVJdGVtXCJcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie25vZGU6IHJvb3ROb2RlLCBkZWVwOiAwfVwiXHJcbiAgICAgID48L25nLXRlbXBsYXRlPlxyXG4gICAgPC91bD5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI3RyZWVJdGVtIGxldC1ub2RlPVwibm9kZVwiIGxldC1kZWVwPVwiZGVlcFwiPlxyXG4gICAgICA8bGlcclxuICAgICAgICBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSBweS0xIHB4LTIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgICAgICAgW2NsYXNzLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnldPVwibm9kZSA9PT0gc2VsZWN0ZWROb2RlXCJcclxuICAgICAgICAoY2xpY2spPVwic2VsZWN0Tm9kZShub2RlKVwiXHJcbiAgICAgICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm14LTNcIiAqbmdGb3I9XCJsZXQgaSBvZiBjb3VudChkZWVwKVwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIChjbGljayk9XCJzd2l0Y2hFeHBhbmROb2RlKG5vZGUpOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxyXG4gICAgICAgICAgY2xhc3M9XCJtZS0yXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cIm5vZGUuQ2hpbGROb2Rlcy5sZW5ndGggPT09IDAgPyBpY29uRm9sZGVyRW1wdHk6ICghbm9kZS5Jc0V4cGFuZGVkICYmIG5vZGUuQ2hpbGROb2Rlcy5sZW5ndGggPiAwID8gaWNvbkZvbGRlckNvbGxhYnNlZCA6IChub2RlLklzRXhwYW5kZWQgJiYgbm9kZS5DaGlsZE5vZGVzLmxlbmd0aCA+IDAgPyBpY29uRm9sZGVyT3BlbiA6ICcnKSlcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW5vZGUuSXNFZGl0TW9kZVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+e3sgbm9kZS5OYW1lIH19PC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGUuSXNFZGl0TW9kZVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCIgbmdGb3JtPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBuYW1lPVwiZWRpdEZvbGRlclwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCJcclxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJub2RlLk5hbWVcIlxyXG4gICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7dXBkYXRlT246ICdibHVyJ31cIlxyXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInJlbmFtZU5vZGUobm9kZSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnRhcmdldC5ibHVyKCk7ZmFsc2U7XCJcclxuICAgICAgICAgICAgICAoYmx1cik9XCJyZW5hbWVOb2RlKG5vZGUsIG51bGwpXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wXCI+XHJcbiAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAqbmdJZj1cIm5vZGUuUGF0aCAhPT0gJy8nICYmIGFsbG93Zm9sZGVycmVuYW1lXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1saW5rIHRleHQtc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImVkaXROb2RlKG5vZGUpOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aSBbY2xhc3NdPVwiaWNvbkVkaXRcIj48L2k+XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8c2FjLWNvbnRleHRtZW51IGNzc2NsYXNzPVwiZC1pbmxpbmUtYmxvY2tcIj5cclxuICAgICAgICAgICAgPHNhYy1jb250ZXh0bWVudWJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWxsb3dmb2xkZXJjcmVhdGVcIlxyXG4gICAgICAgICAgICAgIHRleHQ9XCJ7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKHZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQnV0dG9uTmV3Rm9sZGVyKSB8IGFzeW5jIH19XCJcclxuICAgICAgICAgICAgICBbaWNvbl09XCJpY29uRm9sZGVyTmV3XCJcclxuICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJuZXdOb2RlKG5vZGUpXCJcclxuICAgICAgICAgICAgPjwvc2FjLWNvbnRleHRtZW51YnV0dG9uPlxyXG4gICAgICAgICAgICA8c2FjLWNvbnRleHRtZW51YnV0dG9uXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJub2RlLlBhdGggIT09ICcvJyAmJiBhbGxvd2ZvbGRlcmRlbGV0ZVwiXHJcbiAgICAgICAgICAgICAgdGV4dD1cInt7IGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcodmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJCdXR0b25EZWxldGUpIHwgYXN5bmMgfX1cIlxyXG4gICAgICAgICAgICAgIFtpY29uXT1cImljb25EZWxldGVcIlxyXG4gICAgICAgICAgICAgIChjbGlja2VkKT1cImRlbGV0ZU5vZGUobm9kZSlcIlxyXG4gICAgICAgICAgICA+PC9zYWMtY29udGV4dG1lbnVidXR0b24+XHJcbiAgICAgICAgICAgIDxzYWMtY29udGV4dG1lbnVzcGxpdHRlclxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWxsb3dmb2xkZXJjcmVhdGUgfHwgKG5vZGUuUGF0aCAhPT0gJy8nICYmIGFsbG93Zm9sZGVyZGVsZXRlKVwiXHJcbiAgICAgICAgICAgID48L3NhYy1jb250ZXh0bWVudXNwbGl0dGVyPlxyXG4gICAgICAgICAgICA8c2FjLWNvbnRleHRtZW51YnV0dG9uXHJcbiAgICAgICAgICAgICAgdGV4dD1cInt7IGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcodmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJCdXR0b25SZWZyZXNoKSB8IGFzeW5jIH19XCJcclxuICAgICAgICAgICAgICBbaWNvbl09XCJpY29uUmVmcmVzaFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrZWQpPVwicmVmcmVzaE5vZGUobm9kZSlcIlxyXG4gICAgICAgICAgICA+PC9zYWMtY29udGV4dG1lbnVidXR0b24+XHJcbiAgICAgICAgICA8L3NhYy1jb250ZXh0bWVudT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9saT5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub2RlLklzRXhwYW5kZWRcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBub2RlLkNoaWxkTm9kZXNcIlxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidHJlZUl0ZW1cIlxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntub2RlOiBjaGlsZCwgZGVlcDogZGVlcCArIDF9XCJcclxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTcgY29sLWxnLThcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZE5vZGUgJiYgc2VsZWN0ZWROb2RlLkZpbGVzXCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJhbGxvd2ZpbGV1cGxvYWRcIiBuZ0Zvcm0+XHJcbiAgICAgICAgPHNhYy1kcm9wem9uZW11bHRpcGxlXHJcbiAgICAgICAgICBbZGlzYWJsZWxhYmVsXT1cInRydWVcIlxyXG4gICAgICAgICAgW2VuZHBvaW50XT1cImFwaXVybCArICcvdXBsb2FkcmVnaXN0ZXInXCJcclxuICAgICAgICAgIG5hbWU9XCJ1cGxvYWRcIlxyXG4gICAgICAgICAgdXBsb2FkaGVpZ2h0PVwiNXJlbVwiXHJcbiAgICAgICAgICBbbmdNb2RlbF09XCJ1cGxvYWRzXCJcclxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwbG9hZENvbXBsZXRlKHNlbGVjdGVkTm9kZSwkZXZlbnQpXCJcclxuICAgICAgICAgIFthbGxvd2VkdHlwZXNdPVwiYWxsb3dlZHR5cGVzXCJcclxuICAgICAgICAgID57e1xyXG4gICAgICAgICAgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyh2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckJ1dHRvblVwbG9hZClcclxuICAgICAgICAgIHwgYXN5bmMgfX08L3NhYy1kcm9wem9uZW11bHRpcGxlXHJcbiAgICAgICAgPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkIHRhYmxlLWhvdmVyIGFsaWduLW1pZGRsZVwiPlxyXG4gICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICA8dGg+XHJcbiAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKHZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyR3JpZEZpbGVuYW1lKVxyXG4gICAgICAgICAgICAgIHwgYXN5bmMgfX1cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPHRoPlxyXG4gICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyh2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckdyaWRTaXplKVxyXG4gICAgICAgICAgICAgIHwgYXN5bmMgfX1cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDgwcHhcIj48L3RoPlxyXG4gICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkTm9kZS5GaWxlcy5sZW5ndGggPT09IDBcIj5cclxuICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjNcIj5cclxuICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyh2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckdyaWROb0ZpbGVzKVxyXG4gICAgICAgICAgICAgICAgICB8IGFzeW5jIH19XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWROb2RlLkZpbGVzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICA8dHJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNlbGVjdGVkTm9kZS5GaWxlc1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RmlsZShpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MudGFibGUtcHJpbWFyeV09XCJzZWxlY3RlZEZpbGVJdGVtID09PSBpdGVtXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8dGQgW2NsYXNzLnAtMl09XCJpdGVtLklzRWRpdE1vZGVcIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLklzRWRpdE1vZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLkZpbGVuYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5Jc0VkaXRNb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZWRpdEZvbGRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cIml0ZW0uRmlsZW5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3VwZGF0ZU9uOiAnYmx1cid9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicmVuYW1lRmlsZShpdGVtLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnRhcmdldC5ibHVyKCk7ZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJyZW5hbWVGaWxlKGl0ZW0sIG51bGwpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkPnt7IGl0ZW0uU2l6ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLXRvb2xiYXJcIiByb2xlPVwidG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgbWwtYXV0b1wiIHJvbGU9XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhbGxvd2ZpbGVyZW5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLWxpbmsgdGV4dC1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdEZpbGUoaXRlbSk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48aSBbY2xhc3NdPVwiaWNvbkVkaXRcIj48L2lcclxuICAgICAgICAgICAgICAgICAgICAgID48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cFwiIHJvbGU9XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhbGxvd2ZpbGVkZWxldGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLWxpbmsgdGV4dC1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlRmlsZShpdGVtKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjxpIFtjbGFzc109XCJpY29uRGVsZXRlXCI+PC9pXHJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgIDwvdGFibGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -10,9 +10,9 @@ import * as i1 from "@angular/common";
10
10
  export class SacButtonComponent extends SacButtonCommon {
11
11
  }
12
12
  SacButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
13
- SacButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacButtonComponent, selector: "sac-button", usesInheritance: true, ngImport: i0, template: "<button\r\n [id]=\"name\"\r\n type=\"button\"\r\n class=\"btn d-flex justify-content-center align-items-center\"\r\n [attr.disabled]=\"_isdisabled || isloading ? 'disabled' : null\"\r\n (click)=\"buttonClick()\"\r\n [class.btn-primary]=\"role === 'primary'\"\r\n [class.btn-secondary]=\"role === 'secondary' || role === 'default'\"\r\n [class.btn-success]=\"role === 'success'\"\r\n [class.btn-danger]=\"role === 'danger'\"\r\n [class.btn-warning]=\"role === 'warning'\"\r\n [class.btn-info]=\"role === 'info'\"\r\n [class.btn-link]=\"role === 'link'\"\r\n>\r\n <span\r\n *ngIf=\"isloading\"\r\n class=\"spinner-border spinner-border-sm me-2\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n ></span>\r\n <i *ngIf=\"!isloading && icon !== ''\" [ngClass]=\"icon\" class=\"me-2\"></i\r\n >{{text}}\r\n</button>\r\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
13
+ SacButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacButtonComponent, selector: "sac-button", usesInheritance: true, ngImport: i0, template: "<button\r\n [id]=\"name\"\r\n type=\"button\"\r\n class=\"btn d-flex justify-content-center align-items-center\"\r\n [attr.disabled]=\"_isdisabled || isloading ? 'disabled' : null\"\r\n (click)=\"buttonClick()\"\r\n [class.btn-primary]=\"role === 'primary'\"\r\n [class.btn-secondary]=\"role === 'secondary' || role === 'default'\"\r\n [class.btn-success]=\"role === 'success'\"\r\n [class.btn-danger]=\"role === 'danger'\"\r\n [class.btn-warning]=\"role === 'warning'\"\r\n [class.btn-info]=\"role === 'info'\"\r\n [class.btn-link]=\"role === 'link'\"\r\n>\r\n <span\r\n *ngIf=\"isloading\"\r\n class=\"spinner-border spinner-border-sm me-2\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n ></span>\r\n <i *ngIf=\"!isloading && icon !== ''\" [ngClass]=\"icon\" [class.me-2]=\"text\"></i\r\n >{{text}}\r\n</button>\r\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacButtonComponent, decorators: [{
15
15
  type: Component,
16
- args: [{ selector: 'sac-button', template: "<button\r\n [id]=\"name\"\r\n type=\"button\"\r\n class=\"btn d-flex justify-content-center align-items-center\"\r\n [attr.disabled]=\"_isdisabled || isloading ? 'disabled' : null\"\r\n (click)=\"buttonClick()\"\r\n [class.btn-primary]=\"role === 'primary'\"\r\n [class.btn-secondary]=\"role === 'secondary' || role === 'default'\"\r\n [class.btn-success]=\"role === 'success'\"\r\n [class.btn-danger]=\"role === 'danger'\"\r\n [class.btn-warning]=\"role === 'warning'\"\r\n [class.btn-info]=\"role === 'info'\"\r\n [class.btn-link]=\"role === 'link'\"\r\n>\r\n <span\r\n *ngIf=\"isloading\"\r\n class=\"spinner-border spinner-border-sm me-2\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n ></span>\r\n <i *ngIf=\"!isloading && icon !== ''\" [ngClass]=\"icon\" class=\"me-2\"></i\r\n >{{text}}\r\n</button>\r\n" }]
16
+ args: [{ selector: 'sac-button', template: "<button\r\n [id]=\"name\"\r\n type=\"button\"\r\n class=\"btn d-flex justify-content-center align-items-center\"\r\n [attr.disabled]=\"_isdisabled || isloading ? 'disabled' : null\"\r\n (click)=\"buttonClick()\"\r\n [class.btn-primary]=\"role === 'primary'\"\r\n [class.btn-secondary]=\"role === 'secondary' || role === 'default'\"\r\n [class.btn-success]=\"role === 'success'\"\r\n [class.btn-danger]=\"role === 'danger'\"\r\n [class.btn-warning]=\"role === 'warning'\"\r\n [class.btn-info]=\"role === 'info'\"\r\n [class.btn-link]=\"role === 'link'\"\r\n>\r\n <span\r\n *ngIf=\"isloading\"\r\n class=\"spinner-border spinner-border-sm me-2\"\r\n role=\"status\"\r\n aria-hidden=\"true\"\r\n ></span>\r\n <i *ngIf=\"!isloading && icon !== ''\" [ngClass]=\"icon\" [class.me-2]=\"text\"></i\r\n >{{text}}\r\n</button>\r\n" }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjL2NvbnRyb2xzL2J1dHRvbnMvYnV0dG9uLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjL2NvbnRyb2xzL2J1dHRvbnMvYnV0dG9uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUVwRTs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGVBQWU7OytHQUExQyxrQkFBa0I7bUdBQWxCLGtCQUFrQix5RUNaL0IsMjBCQXVCQTsyRkRYYSxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0UsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhY0J1dHRvbkNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcblxyXG4vKipcclxuICogQnV0dG9uIENvbXBvbmVudFxyXG4gKiBcclxuICogPGV4YW1wbGUtdXJsPmh0dHA6Ly9sb2NhbGhvc3QvZGVtby9teXNhbXBsZS5jb21wb25lbnQuaHRtbDwvZXhhbXBsZS11cmw+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBTYWNCdXR0b25Db21tb24ge1xyXG5cclxufVxyXG4iLCI8YnV0dG9uXHJcbiAgW2lkXT1cIm5hbWVcIlxyXG4gIHR5cGU9XCJidXR0b25cIlxyXG4gIGNsYXNzPVwiYnRuIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgW2F0dHIuZGlzYWJsZWRdPVwiX2lzZGlzYWJsZWQgfHwgaXNsb2FkaW5nID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxyXG4gIChjbGljayk9XCJidXR0b25DbGljaygpXCJcclxuICBbY2xhc3MuYnRuLXByaW1hcnldPVwicm9sZSA9PT0gJ3ByaW1hcnknXCJcclxuICBbY2xhc3MuYnRuLXNlY29uZGFyeV09XCJyb2xlID09PSAnc2Vjb25kYXJ5JyB8fCByb2xlID09PSAnZGVmYXVsdCdcIlxyXG4gIFtjbGFzcy5idG4tc3VjY2Vzc109XCJyb2xlID09PSAnc3VjY2VzcydcIlxyXG4gIFtjbGFzcy5idG4tZGFuZ2VyXT1cInJvbGUgPT09ICdkYW5nZXInXCJcclxuICBbY2xhc3MuYnRuLXdhcm5pbmddPVwicm9sZSA9PT0gJ3dhcm5pbmcnXCJcclxuICBbY2xhc3MuYnRuLWluZm9dPVwicm9sZSA9PT0gJ2luZm8nXCJcclxuICBbY2xhc3MuYnRuLWxpbmtdPVwicm9sZSA9PT0gJ2xpbmsnXCJcclxuPlxyXG4gIDxzcGFuXHJcbiAgICAqbmdJZj1cImlzbG9hZGluZ1wiXHJcbiAgICBjbGFzcz1cInNwaW5uZXItYm9yZGVyIHNwaW5uZXItYm9yZGVyLXNtIG1lLTJcIlxyXG4gICAgcm9sZT1cInN0YXR1c1wiXHJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gID48L3NwYW4+XHJcbiAgPGkgKm5nSWY9XCIhaXNsb2FkaW5nICYmIGljb24gIT09ICcnXCIgW25nQ2xhc3NdPVwiaWNvblwiIGNsYXNzPVwibWUtMlwiPjwvaVxyXG4gID57e3RleHR9fVxyXG48L2J1dHRvbj5cclxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjL2NvbnRyb2xzL2J1dHRvbnMvYnV0dG9uLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjL2NvbnRyb2xzL2J1dHRvbnMvYnV0dG9uLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUVwRTs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGVBQWU7OytHQUExQyxrQkFBa0I7bUdBQWxCLGtCQUFrQix5RUNaL0IsazFCQXVCQTsyRkRYYSxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0UsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhY0J1dHRvbkNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcblxyXG4vKipcclxuICogQnV0dG9uIENvbXBvbmVudFxyXG4gKiBcclxuICogPGV4YW1wbGUtdXJsPmh0dHA6Ly9sb2NhbGhvc3QvZGVtby9teXNhbXBsZS5jb21wb25lbnQuaHRtbDwvZXhhbXBsZS11cmw+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBTYWNCdXR0b25Db21tb24ge1xyXG5cclxufVxyXG4iLCI8YnV0dG9uXHJcbiAgW2lkXT1cIm5hbWVcIlxyXG4gIHR5cGU9XCJidXR0b25cIlxyXG4gIGNsYXNzPVwiYnRuIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgW2F0dHIuZGlzYWJsZWRdPVwiX2lzZGlzYWJsZWQgfHwgaXNsb2FkaW5nID8gJ2Rpc2FibGVkJyA6IG51bGxcIlxyXG4gIChjbGljayk9XCJidXR0b25DbGljaygpXCJcclxuICBbY2xhc3MuYnRuLXByaW1hcnldPVwicm9sZSA9PT0gJ3ByaW1hcnknXCJcclxuICBbY2xhc3MuYnRuLXNlY29uZGFyeV09XCJyb2xlID09PSAnc2Vjb25kYXJ5JyB8fCByb2xlID09PSAnZGVmYXVsdCdcIlxyXG4gIFtjbGFzcy5idG4tc3VjY2Vzc109XCJyb2xlID09PSAnc3VjY2VzcydcIlxyXG4gIFtjbGFzcy5idG4tZGFuZ2VyXT1cInJvbGUgPT09ICdkYW5nZXInXCJcclxuICBbY2xhc3MuYnRuLXdhcm5pbmddPVwicm9sZSA9PT0gJ3dhcm5pbmcnXCJcclxuICBbY2xhc3MuYnRuLWluZm9dPVwicm9sZSA9PT0gJ2luZm8nXCJcclxuICBbY2xhc3MuYnRuLWxpbmtdPVwicm9sZSA9PT0gJ2xpbmsnXCJcclxuPlxyXG4gIDxzcGFuXHJcbiAgICAqbmdJZj1cImlzbG9hZGluZ1wiXHJcbiAgICBjbGFzcz1cInNwaW5uZXItYm9yZGVyIHNwaW5uZXItYm9yZGVyLXNtIG1lLTJcIlxyXG4gICAgcm9sZT1cInN0YXR1c1wiXHJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gID48L3NwYW4+XHJcbiAgPGkgKm5nSWY9XCIhaXNsb2FkaW5nICYmIGljb24gIT09ICcnXCIgW25nQ2xhc3NdPVwiaWNvblwiIFtjbGFzcy5tZS0yXT1cInRleHRcIj48L2lcclxuICA+e3t0ZXh0fX1cclxuPC9idXR0b24+XHJcbiJdfQ==
@@ -6,7 +6,8 @@ import * as i0 from "@angular/core";
6
6
  import * as i1 from "../layout/formlayout.directive";
7
7
  import * as i2 from "@angular/common";
8
8
  import * as i3 from "../layout/tolabelwidthcss.pipe";
9
- import * as i4 from "../layout/tocontrolwidthcss.pipe";
9
+ import * as i4 from "../layout/tolabelheight.pipe";
10
+ import * as i5 from "../layout/tocontrolwidthcss.pipe";
10
11
  /**
11
12
  * Checkbox Kompontente
12
13
  */
@@ -33,7 +34,7 @@ SacCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
33
34
  useExisting: forwardRef(() => SacCheckboxComponent),
34
35
  multi: true,
35
36
  },
36
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"row align-items-center\"\r\n [class.g-0]=\"disablelabel\"\r\n [class.mb-3]=\"!stacked\"\r\n>\r\n <div\r\n class=\"col-12 col-form-label col-form-label-sm\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n >\r\n <label *ngIf=\"!disablelabel && !stacked\" for=\"{{name}}\">{{label}}</label>\r\n </div>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"form-check\">\r\n <input\r\n class=\"form-check-input form-check-input-sm\"\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"checkbox\"\r\n [checked]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue($event.target.checked)\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n <label for=\"{{name}}\" class=\"form-check-label\">\r\n <ng-container *ngIf=\"checkboxtext\">{{checkboxtext}}</ng-container>\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n", directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelWidthCss": i3.SacToLabelWidthCssPipe, "toControlWidthCss": i4.SacToControlWidthCssPipe } });
37
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"row\" [class.g-0]=\"disablelabel\" [class.mb-3]=\"!stacked\">\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden' ]\"\r\n >\r\n <label\r\n *ngIf=\"!disablelabel && !stacked\"\r\n for=\"{{name}}\"\r\n class=\"col-form-label\"\r\n [ngClass]=\"componentHeight | toLabelHeight\"\r\n >{{label}}</label\r\n >\r\n </div>\r\n <div\r\n class=\"align-self-center col-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div\r\n class=\"form-check\"\r\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <input\r\n class=\"form-check-input\"\r\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"checkbox\"\r\n [checked]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue($event.target.checked)\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-check-label\"\r\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <ng-container *ngIf=\"checkboxtext\">{{checkboxtext}}</ng-container>\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".form-check-lg{padding-left:1.75rem}.form-check-input{width:1rem;height:1rem}.form-check-input-sm{width:.875rem;height:.875rem;margin-top:.4rem}.form-check-input-lg{width:1.25rem;height:1.25rem;margin-left:-1.75rem}.form-check-label-sm{font-size:.875rem}.form-check-label-lg{font-size:1.25rem}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "toLabelWidthCss": i3.SacToLabelWidthCssPipe, "toLabelHeight": i4.SacToLabelHeightPipe, "toControlWidthCss": i5.SacToControlWidthCssPipe } });
37
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacCheckboxComponent, decorators: [{
38
39
  type: Component,
39
40
  args: [{ selector: 'sac-checkbox', providers: [
@@ -47,10 +48,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
47
48
  useExisting: forwardRef(() => SacCheckboxComponent),
48
49
  multi: true,
49
50
  },
50
- ], template: "<div\r\n class=\"row align-items-center\"\r\n [class.g-0]=\"disablelabel\"\r\n [class.mb-3]=\"!stacked\"\r\n>\r\n <div\r\n class=\"col-12 col-form-label col-form-label-sm\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'sr-only' ]\"\r\n >\r\n <label *ngIf=\"!disablelabel && !stacked\" for=\"{{name}}\">{{label}}</label>\r\n </div>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div class=\"form-check\">\r\n <input\r\n class=\"form-check-input form-check-input-sm\"\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"checkbox\"\r\n [checked]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue($event.target.checked)\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n <label for=\"{{name}}\" class=\"form-check-label\">\r\n <ng-container *ngIf=\"checkboxtext\">{{checkboxtext}}</ng-container>\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
51
+ ], template: "<div class=\"row\" [class.g-0]=\"disablelabel\" [class.mb-3]=\"!stacked\">\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden' ]\"\r\n >\r\n <label\r\n *ngIf=\"!disablelabel && !stacked\"\r\n for=\"{{name}}\"\r\n class=\"col-form-label\"\r\n [ngClass]=\"componentHeight | toLabelHeight\"\r\n >{{label}}</label\r\n >\r\n </div>\r\n <div\r\n class=\"align-self-center col-12\"\r\n [ngClass]=\"[!disablelabel && !stacked ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div\r\n class=\"form-check\"\r\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <input\r\n class=\"form-check-input\"\r\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"checkbox\"\r\n [checked]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (change)=\"setValue($event.target.checked)\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n <label\r\n for=\"{{name}}\"\r\n class=\"form-check-label\"\r\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <ng-container *ngIf=\"checkboxtext\">{{checkboxtext}}</ng-container>\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".form-check-lg{padding-left:1.75rem}.form-check-input{width:1rem;height:1rem}.form-check-input-sm{width:.875rem;height:.875rem;margin-top:.4rem}.form-check-input-lg{width:1.25rem;height:1.25rem;margin-left:-1.75rem}.form-check-label-sm{font-size:.875rem}.form-check-label-lg{font-size:1.25rem}\n"] }]
51
52
  }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
52
53
  type: Host
53
54
  }, {
54
55
  type: Optional
55
56
  }] }, { type: i0.Injector }]; } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvY2hlY2tib3gvY2hlY2tib3gudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvY2hlY2tib3gvY2hlY2tib3guaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSx1RUFBdUU7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7OztBQUd0RTs7R0FFRztBQWtCSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsaUJBQWlCO0lBQ3pELHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFDc0IsVUFBa0MsRUFDdEQsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDOztpSEFiVSxvQkFBb0I7cUdBQXBCLG9CQUFvQix1Q0FicEI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsS0FBSyxFQUFFLElBQUk7WUFDWCxXQUFXLEVBQUUsb0JBQW9CO1NBQ2xDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO1lBQ25ELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixpREN4QkgseWpDQWdDQTsyRkROYSxvQkFBb0I7a0JBakJoQyxTQUFTOytCQUNFLGNBQWMsYUFHYjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLHNCQUFzQjt5QkFDbEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDOzRCQUNuRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs7MEJBV0UsSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG4vLyBpbXBvcnQgeyBTYWNCYXNlTW9kZWxDb250cm9sIH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2Vtb2RlbGNvbnRyb2wnO1xyXG5pbXBvcnQgeyBTYWNDaGVja2JveENvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xyXG5cclxuLyoqXHJcbiAqIENoZWNrYm94IEtvbXBvbnRlbnRlXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy1jaGVja2JveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94Lmh0bWwnLFxyXG4gIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFNhY0NoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjQ2hlY2tib3hDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0NoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgU2FjQ2hlY2tib3hDb21tb24ge1xyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xyXG4gICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgW2NsYXNzLmctMF09XCJkaXNhYmxlbGFiZWxcIlxyXG4gIFtjbGFzcy5tYi0zXT1cIiFzdGFja2VkXCJcclxuPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiY29sLTEyIGNvbC1mb3JtLWxhYmVsIGNvbC1mb3JtLWxhYmVsLXNtXCJcclxuICAgIFtuZ0NsYXNzXT1cIlshZGlzYWJsZWxhYmVsICYmICFzdGFja2VkID8gKHRoaXMubGFiZWxTaXplcyB8IHRvTGFiZWxXaWR0aENzcykgOiAnc3Itb25seScgXVwiXHJcbiAgPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwiIWRpc2FibGVsYWJlbCAmJiAhc3RhY2tlZFwiIGZvcj1cInt7bmFtZX19XCI+e3tsYWJlbH19PC9sYWJlbD5cclxuICA8L2Rpdj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNvbC0xMlwiXHJcbiAgICBbbmdDbGFzc109XCJbIWRpc2FibGVsYWJlbCAmJiAhc3RhY2tlZCA/ICAodGhpcy5sYWJlbFNpemVzIHwgdG9Db250cm9sV2lkdGhDc3MpIDogJyddXCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgZm9ybS1jaGVjay1pbnB1dC1zbVwiXHJcbiAgICAgICAgaWQ9XCJ7e25hbWV9fVwiXHJcbiAgICAgICAgbmFtZT1cInt7bmFtZX19XCJcclxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgIFtjaGVja2VkXT1cInZhbHVlXCJcclxuICAgICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50LnRhcmdldC5jaGVja2VkKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzZGlzYWJsZWRcIlxyXG4gICAgICAvPlxyXG4gICAgICA8bGFiZWwgZm9yPVwie3tuYW1lfX1cIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2hlY2tib3h0ZXh0XCI+e3tjaGVja2JveHRleHR9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2xhYmVsPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvY2hlY2tib3gvY2hlY2tib3gudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvY2hlY2tib3gvY2hlY2tib3guaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSx1RUFBdUU7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7QUFHdEU7O0dBRUc7QUFtQkgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGlCQUFpQjtJQUN6RCx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQ3NCLFVBQWtDLEVBQ3RELFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7aUhBYlUsb0JBQW9CO3FHQUFwQixvQkFBb0IsdUNBYnBCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLG9CQUFvQjtTQUNsQztRQUNEO1lBQ0UsT0FBTyxFQUFFLGFBQWE7WUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztZQUNuRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsaURDekJILHdvREE2Q0E7MkZEbEJhLG9CQUFvQjtrQkFsQmhDLFNBQVM7K0JBQ0UsY0FBYyxhQUliO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsc0JBQXNCO3lCQUNsQzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzswQkFXRSxJQUFJOzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbi8vIGltcG9ydCB7IFNhY0Jhc2VNb2RlbENvbnRyb2wgfSBmcm9tICcuLi8uLi9jb21tb24vYmFzZW1vZGVsY29udHJvbCc7XHJcbmltcG9ydCB7IFNhY0NoZWNrYm94Q29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogQ2hlY2tib3ggS29tcG9udGVudGVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLWNoZWNrYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guc2NzcyddLFxyXG4gIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFNhY0NoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjQ2hlY2tib3hDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0NoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgU2FjQ2hlY2tib3hDb21tb24ge1xyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xyXG4gICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiIFtjbGFzcy5nLTBdPVwiZGlzYWJsZWxhYmVsXCIgW2NsYXNzLm1iLTNdPVwiIXN0YWNrZWRcIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNvbC0xMlwiXHJcbiAgICBbbmdDbGFzc109XCJbIWRpc2FibGVsYWJlbCAmJiAhc3RhY2tlZCA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0xhYmVsV2lkdGhDc3MpIDogJ3Zpc3VhbGx5LWhpZGRlbicgXVwiXHJcbiAgPlxyXG4gICAgPGxhYmVsXHJcbiAgICAgICpuZ0lmPVwiIWRpc2FibGVsYWJlbCAmJiAhc3RhY2tlZFwiXHJcbiAgICAgIGZvcj1cInt7bmFtZX19XCJcclxuICAgICAgY2xhc3M9XCJjb2wtZm9ybS1sYWJlbFwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cImNvbXBvbmVudEhlaWdodCB8IHRvTGFiZWxIZWlnaHRcIlxyXG4gICAgICA+e3tsYWJlbH19PC9sYWJlbFxyXG4gICAgPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiYWxpZ24tc2VsZi1jZW50ZXIgY29sLTEyXCJcclxuICAgIFtuZ0NsYXNzXT1cIlshZGlzYWJsZWxhYmVsICYmICFzdGFja2VkID8gICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0NvbnRyb2xXaWR0aENzcykgOiAnJ11cIlxyXG4gID5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrXCJcclxuICAgICAgW2NsYXNzLmZvcm0tY2hlY2stc21dPVwiY29tcG9uZW50SGVpZ2h0ID09PSBDb250cm9sSGVpZ2h0LlNtYWxsXCJcclxuICAgICAgW2NsYXNzLmZvcm0tY2hlY2stbGddPVwiY29tcG9uZW50SGVpZ2h0ID09PSBDb250cm9sSGVpZ2h0LkxhcmdlXCJcclxuICAgID5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICBbY2xhc3MuZm9ybS1jaGVjay1pbnB1dC1zbV09XCJjb21wb25lbnRIZWlnaHQgPT09IENvbnRyb2xIZWlnaHQuU21hbGxcIlxyXG4gICAgICAgIFtjbGFzcy5mb3JtLWNoZWNrLWlucHV0LWxnXT1cImNvbXBvbmVudEhlaWdodCA9PT0gQ29udHJvbEhlaWdodC5MYXJnZVwiXHJcbiAgICAgICAgaWQ9XCJ7e25hbWV9fVwiXHJcbiAgICAgICAgbmFtZT1cInt7bmFtZX19XCJcclxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgIFtjaGVja2VkXT1cInZhbHVlXCJcclxuICAgICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50LnRhcmdldC5jaGVja2VkKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzZGlzYWJsZWRcIlxyXG4gICAgICAvPlxyXG4gICAgICA8bGFiZWxcclxuICAgICAgICBmb3I9XCJ7e25hbWV9fVwiXHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCJcclxuICAgICAgICBbY2xhc3MuZm9ybS1jaGVjay1sYWJlbC1zbV09XCJjb21wb25lbnRIZWlnaHQgPT09IENvbnRyb2xIZWlnaHQuU21hbGxcIlxyXG4gICAgICAgIFtjbGFzcy5mb3JtLWNoZWNrLWxhYmVsLWxnXT1cImNvbXBvbmVudEhlaWdodCA9PT0gQ29udHJvbEhlaWdodC5MYXJnZVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2hlY2tib3h0ZXh0XCI+e3tjaGVja2JveHRleHR9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2xhYmVsPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -16,11 +16,11 @@ export class SacRadiobuttonComponent extends SacRadiobuttonCommon {
16
16
  }
17
17
  }
18
18
  SacRadiobuttonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacRadiobuttonComponent, deps: [{ token: i1.SacRadiobuttonsComponent, host: true }], target: i0.ɵɵFactoryTarget.Component });
19
- SacRadiobuttonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacRadiobuttonComponent, selector: "sac-radiobutton", usesInheritance: true, ngImport: i0, template: "<div class=\"form-check\" *ngIf=\"hidden===false\">\r\n <input id=\"{{getName}}_{{getIndex}}\" name=\"{{getName}}\" type=\"radio\" class=\"form-check-input\" [value]=\"value\"\r\n [checked]=\"checked\" (change)=\"ChangeEvent()\" [disabled]=\"isDisabled\" />\r\n <label for=\"{{getName}}_{{getIndex}}\" class=\"form-check-label\">\r\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate;context:{ label: label }\">\r\n </ng-template>\r\n </label>\r\n</div>\r\n\r\n<ng-template #defaultItemLabelTemplate let-label=\"label\">{{label}}</ng-template>", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
19
+ SacRadiobuttonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SacRadiobuttonComponent, selector: "sac-radiobutton", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"form-check\"\r\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\"\r\n *ngIf=\"hidden===false\"\r\n>\r\n <input\r\n id=\"{{getName}}_{{getIndex}}\"\r\n name=\"{{getName}}\"\r\n type=\"radio\"\r\n class=\"form-check-input\"\r\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\r\n [value]=\"value\"\r\n [checked]=\"checked\"\r\n (change)=\"ChangeEvent()\"\r\n [disabled]=\"isDisabled\"\r\n />\r\n <label\r\n for=\"{{getName}}_{{getIndex}}\"\r\n class=\"form-check-label\"\r\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <ng-template\r\n *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate;context:{ label: label }\"\r\n >\r\n </ng-template>\r\n </label>\r\n</div>\r\n\r\n<ng-template #defaultItemLabelTemplate let-label=\"label\">{{label}}</ng-template>\r\n", styles: [".form-check-lg{padding-left:1.75rem}.form-check-input{width:1rem;height:1rem}.form-check-input-sm{width:.875rem;height:.875rem;margin-top:.4rem}.form-check-input-lg{width:1.25rem;height:1.25rem;margin-left:-1.75rem;margin-top:.4rem}.form-check-label-sm{font-size:.875rem}.form-check-label-lg{font-size:1.25rem}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SacRadiobuttonComponent, decorators: [{
21
21
  type: Component,
22
- args: [{ selector: 'sac-radiobutton', template: "<div class=\"form-check\" *ngIf=\"hidden===false\">\r\n <input id=\"{{getName}}_{{getIndex}}\" name=\"{{getName}}\" type=\"radio\" class=\"form-check-input\" [value]=\"value\"\r\n [checked]=\"checked\" (change)=\"ChangeEvent()\" [disabled]=\"isDisabled\" />\r\n <label for=\"{{getName}}_{{getIndex}}\" class=\"form-check-label\">\r\n <ng-template *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate;context:{ label: label }\">\r\n </ng-template>\r\n </label>\r\n</div>\r\n\r\n<ng-template #defaultItemLabelTemplate let-label=\"label\">{{label}}</ng-template>" }]
22
+ args: [{ selector: 'sac-radiobutton', template: "<div\r\n class=\"form-check\"\r\n [class.form-check-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-lg]=\"componentHeight === ControlHeight.Large\"\r\n *ngIf=\"hidden===false\"\r\n>\r\n <input\r\n id=\"{{getName}}_{{getIndex}}\"\r\n name=\"{{getName}}\"\r\n type=\"radio\"\r\n class=\"form-check-input\"\r\n [class.form-check-input-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-input-lg]=\"componentHeight === ControlHeight.Large\"\r\n [value]=\"value\"\r\n [checked]=\"checked\"\r\n (change)=\"ChangeEvent()\"\r\n [disabled]=\"isDisabled\"\r\n />\r\n <label\r\n for=\"{{getName}}_{{getIndex}}\"\r\n class=\"form-check-label\"\r\n [class.form-check-label-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.form-check-label-lg]=\"componentHeight === ControlHeight.Large\"\r\n >\r\n <ng-template\r\n *ngTemplateOutlet=\"labeltemplate || defaultItemLabelTemplate;context:{ label: label }\"\r\n >\r\n </ng-template>\r\n </label>\r\n</div>\r\n\r\n<ng-template #defaultItemLabelTemplate let-label=\"label\">{{label}}</ng-template>\r\n", styles: [".form-check-lg{padding-left:1.75rem}.form-check-input{width:1rem;height:1rem}.form-check-input-sm{width:.875rem;height:.875rem;margin-top:.4rem}.form-check-input-lg{width:1.25rem;height:1.25rem;margin-left:-1.75rem;margin-top:.4rem}.form-check-label-sm{font-size:.875rem}.form-check-label-lg{font-size:1.25rem}\n"] }]
23
23
  }], ctorParameters: function () { return [{ type: i1.SacRadiobuttonsComponent, decorators: [{
24
24
  type: Host
25
25
  }] }]; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvY2hlY2tib3gvcmFkaW9idXR0b24udHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvY2hlY2tib3gvcmFkaW9idXR0b24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUd6RTs7R0FFRztBQUtILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxvQkFBb0I7SUFDL0Q7OztPQUdHO0lBQ0gsWUFBb0IsZUFBeUM7UUFDM0QsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7O29IQVBVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDhFQ1hwQyxza0JBU2dGOzJGREVuRSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0UsaUJBQWlCOzswQkFRZCxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhY1JhZGlvYnV0dG9uQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgU2FjUmFkaW9idXR0b25zQ29tcG9uZW50IH0gZnJvbSAnLi9yYWRpb2J1dHRvbnMnO1xyXG5cclxuLyoqXHJcbiAqIFJhZGlvYnV0dG9uIEtvbXBvbmVudGVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLXJhZGlvYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW9idXR0b24uaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNSYWRpb2J1dHRvbkNvbXBvbmVudCBleHRlbmRzIFNhY1JhZGlvYnV0dG9uQ29tbW9uIHtcclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBTYWNSYWRpb0J1dHRvbnMgUmFkaW8gQnV0dG9ucyBHcm91cCBLb21wb25lbnRlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoQEhvc3QoKSBzYWNSYWRpb0J1dHRvbnM6IFNhY1JhZGlvYnV0dG9uc0NvbXBvbmVudCkge1xyXG4gICAgc3VwZXIoc2FjUmFkaW9CdXR0b25zKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIiAqbmdJZj1cImhpZGRlbj09PWZhbHNlXCI+XHJcbiAgPGlucHV0IGlkPVwie3tnZXROYW1lfX1fe3tnZXRJbmRleH19XCIgbmFtZT1cInt7Z2V0TmFtZX19XCIgdHlwZT1cInJhZGlvXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIiAoY2hhbmdlKT1cIkNoYW5nZUV2ZW50KClcIiBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiIC8+XHJcbiAgPGxhYmVsIGZvcj1cInt7Z2V0TmFtZX19X3t7Z2V0SW5kZXh9fVwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWx0ZW1wbGF0ZSB8fCBkZWZhdWx0SXRlbUxhYmVsVGVtcGxhdGU7Y29udGV4dDp7IGxhYmVsOiBsYWJlbCB9XCI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvbGFiZWw+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0SXRlbUxhYmVsVGVtcGxhdGUgbGV0LWxhYmVsPVwibGFiZWxcIj57e2xhYmVsfX08L25nLXRlbXBsYXRlPiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvY2hlY2tib3gvcmFkaW9idXR0b24udHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvY2hlY2tib3gvcmFkaW9idXR0b24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUd6RTs7R0FFRztBQU1ILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxvQkFBb0I7SUFDL0Q7OztPQUdHO0lBQ0gsWUFBb0IsZUFBeUM7UUFDM0QsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7O29IQVBVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDhFQ1pwQyw2bkNBZ0NBOzJGRHBCYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UsaUJBQWlCOzswQkFTZCxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhY1JhZGlvYnV0dG9uQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgU2FjUmFkaW9idXR0b25zQ29tcG9uZW50IH0gZnJvbSAnLi9yYWRpb2J1dHRvbnMnO1xyXG5cclxuLyoqXHJcbiAqIFJhZGlvYnV0dG9uIEtvbXBvbmVudGVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLXJhZGlvYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW9idXR0b24uaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW9idXR0b24uc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjUmFkaW9idXR0b25Db21wb25lbnQgZXh0ZW5kcyBTYWNSYWRpb2J1dHRvbkNvbW1vbiB7XHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gU2FjUmFkaW9CdXR0b25zIFJhZGlvIEJ1dHRvbnMgR3JvdXAgS29tcG9uZW50ZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgc2FjUmFkaW9CdXR0b25zOiBTYWNSYWRpb2J1dHRvbnNDb21wb25lbnQpIHtcclxuICAgIHN1cGVyKHNhY1JhZGlvQnV0dG9ucyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImZvcm0tY2hlY2tcIlxyXG4gIFtjbGFzcy5mb3JtLWNoZWNrLXNtXT1cImNvbXBvbmVudEhlaWdodCA9PT0gQ29udHJvbEhlaWdodC5TbWFsbFwiXHJcbiAgW2NsYXNzLmZvcm0tY2hlY2stbGddPVwiY29tcG9uZW50SGVpZ2h0ID09PSBDb250cm9sSGVpZ2h0LkxhcmdlXCJcclxuICAqbmdJZj1cImhpZGRlbj09PWZhbHNlXCJcclxuPlxyXG4gIDxpbnB1dFxyXG4gICAgaWQ9XCJ7e2dldE5hbWV9fV97e2dldEluZGV4fX1cIlxyXG4gICAgbmFtZT1cInt7Z2V0TmFtZX19XCJcclxuICAgIHR5cGU9XCJyYWRpb1wiXHJcbiAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgW2NsYXNzLmZvcm0tY2hlY2staW5wdXQtc21dPVwiY29tcG9uZW50SGVpZ2h0ID09PSBDb250cm9sSGVpZ2h0LlNtYWxsXCJcclxuICAgIFtjbGFzcy5mb3JtLWNoZWNrLWlucHV0LWxnXT1cImNvbXBvbmVudEhlaWdodCA9PT0gQ29udHJvbEhlaWdodC5MYXJnZVwiXHJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxyXG4gICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXHJcbiAgICAoY2hhbmdlKT1cIkNoYW5nZUV2ZW50KClcIlxyXG4gICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gIC8+XHJcbiAgPGxhYmVsXHJcbiAgICBmb3I9XCJ7e2dldE5hbWV9fV97e2dldEluZGV4fX1cIlxyXG4gICAgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCJcclxuICAgIFtjbGFzcy5mb3JtLWNoZWNrLWxhYmVsLXNtXT1cImNvbXBvbmVudEhlaWdodCA9PT0gQ29udHJvbEhlaWdodC5TbWFsbFwiXHJcbiAgICBbY2xhc3MuZm9ybS1jaGVjay1sYWJlbC1sZ109XCJjb21wb25lbnRIZWlnaHQgPT09IENvbnRyb2xIZWlnaHQuTGFyZ2VcIlxyXG4gID5cclxuICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsdGVtcGxhdGUgfHwgZGVmYXVsdEl0ZW1MYWJlbFRlbXBsYXRlO2NvbnRleHQ6eyBsYWJlbDogbGFiZWwgfVwiXHJcbiAgICA+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvbGFiZWw+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0SXRlbUxhYmVsVGVtcGxhdGUgbGV0LWxhYmVsPVwibGFiZWxcIj57e2xhYmVsfX08L25nLXRlbXBsYXRlPlxyXG4iXX0=