@simpleangularcontrols/sac-bootstrap5 16.0.0-rc.1 → 16.0.0-rc.3

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 (93) hide show
  1. package/README.md +11 -17
  2. package/components/browser/browser.d.ts +6 -6
  3. package/controls/buttons/index.d.ts +1 -0
  4. package/controls/checkbox/checkbox.d.ts +5 -5
  5. package/controls/checkbox/radiobuttons.d.ts +5 -5
  6. package/controls/contextmenu/contextmenu.d.ts +6 -6
  7. package/controls/contextmenu/contextmenuanchor.d.ts +2 -2
  8. package/controls/contextmenu/contextmenucontainer.d.ts +2 -2
  9. package/controls/datetime/date.d.ts +6 -6
  10. package/controls/datetime/datetime.d.ts +6 -6
  11. package/controls/datetime/time.d.ts +6 -6
  12. package/controls/dialog/index.d.ts +1 -0
  13. package/controls/form/form.d.ts +3 -11
  14. package/controls/form/inheritform.directive.d.ts +11 -11
  15. package/controls/input/input.d.ts +5 -5
  16. package/controls/input/inputarea.d.ts +5 -5
  17. package/controls/input/inputcurrency.d.ts +5 -5
  18. package/controls/input/inputdecimal.d.ts +5 -5
  19. package/controls/input/inputemail.d.ts +5 -5
  20. package/controls/input/inputinteger.d.ts +5 -5
  21. package/controls/input/inputpassword.d.ts +5 -5
  22. package/controls/input/inputsearch.d.ts +5 -5
  23. package/controls/layout/formlayout.directive.d.ts +6 -0
  24. package/controls/layout/layout.module.d.ts +10 -0
  25. package/controls/layout/tocontrolwidthcss.pipe.d.ts +19 -0
  26. package/controls/layout/tolabelwidthcss.pipe.d.ts +13 -0
  27. package/controls/list/dropdown.d.ts +10 -10
  28. package/controls/list/listbox.d.ts +9 -9
  29. package/controls/multilanguage/multilanguageinput.d.ts +5 -5
  30. package/controls/multilanguage/multilanguageinputarea.d.ts +5 -5
  31. package/controls/multilanguage/multilanguagemenu.d.ts +14 -10
  32. package/controls/multilanguage/multilanguagemenuanchor.d.ts +2 -2
  33. package/controls/multilanguage/multilanguagemenucontainer.d.ts +2 -2
  34. package/controls/static/formcontainer.d.ts +5 -5
  35. package/controls/static/staticlabel.d.ts +5 -5
  36. package/controls/tinymce/tinymce.d.ts +7 -7
  37. package/controls/upload/dropzonemultiple.d.ts +7 -7
  38. package/controls/upload/dropzonesingle.d.ts +7 -7
  39. package/controls/upload/upload.d.ts +7 -7
  40. package/controls/upload/uploadmultiple.d.ts +7 -7
  41. package/controls/validation/validationsummary.d.ts +4 -4
  42. package/esm2022/components/browser/browser.mjs +13 -9
  43. package/esm2022/controls/buttons/index.mjs +2 -0
  44. package/esm2022/controls/checkbox/checkbox.mjs +16 -18
  45. package/esm2022/controls/checkbox/radiobuttons.mjs +17 -19
  46. package/esm2022/controls/contextmenu/contextmenu.mjs +10 -9
  47. package/esm2022/controls/contextmenu/contextmenuanchor.mjs +5 -4
  48. package/esm2022/controls/contextmenu/contextmenucontainer.mjs +5 -4
  49. package/esm2022/controls/contextmenu/contextmenuitembutton.mjs +3 -2
  50. package/esm2022/controls/contextmenu/contextmenuitemsplitter.mjs +1 -1
  51. package/esm2022/controls/datetime/date.mjs +22 -21
  52. package/esm2022/controls/datetime/dateselector.mjs +3 -8
  53. package/esm2022/controls/datetime/datetime.mjs +21 -20
  54. package/esm2022/controls/datetime/time.mjs +22 -21
  55. package/esm2022/controls/dialog/index.mjs +2 -0
  56. package/esm2022/controls/form/form.mjs +6 -17
  57. package/esm2022/controls/form/inheritform.directive.mjs +31 -28
  58. package/esm2022/controls/grid/paging.mjs +13 -10
  59. package/esm2022/controls/input/input.mjs +22 -14
  60. package/esm2022/controls/input/inputarea.mjs +22 -18
  61. package/esm2022/controls/input/inputcurrency.mjs +23 -19
  62. package/esm2022/controls/input/inputdecimal.mjs +23 -19
  63. package/esm2022/controls/input/inputemail.mjs +22 -18
  64. package/esm2022/controls/input/inputinteger.mjs +23 -19
  65. package/esm2022/controls/input/inputpassword.mjs +22 -18
  66. package/esm2022/controls/input/inputsearch.mjs +16 -13
  67. package/esm2022/controls/layout/formlayout.directive.mjs +16 -0
  68. package/esm2022/controls/layout/layout.module.mjs +34 -0
  69. package/esm2022/controls/layout/tocontrolwidthcss.pipe.mjs +59 -0
  70. package/esm2022/controls/layout/tolabelwidthcss.pipe.mjs +43 -0
  71. package/esm2022/controls/list/dropdown.mjs +27 -23
  72. package/esm2022/controls/list/listbox.mjs +27 -27
  73. package/esm2022/controls/multilanguage/multilanguageinput.mjs +24 -21
  74. package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +24 -21
  75. package/esm2022/controls/multilanguage/multilanguagemenu.mjs +16 -12
  76. package/esm2022/controls/multilanguage/multilanguagemenuanchor.mjs +5 -4
  77. package/esm2022/controls/multilanguage/multilanguagemenucontainer.mjs +5 -4
  78. package/esm2022/controls/multilanguage/multilanguagemenuitembutton.mjs +3 -2
  79. package/esm2022/controls/static/formcontainer.mjs +19 -14
  80. package/esm2022/controls/static/staticlabel.mjs +16 -13
  81. package/esm2022/controls/tinymce/tinymce.mjs +25 -19
  82. package/esm2022/controls/upload/dropzonemultiple.mjs +22 -14
  83. package/esm2022/controls/upload/dropzonesingle.mjs +22 -14
  84. package/esm2022/controls/upload/upload.mjs +29 -16
  85. package/esm2022/controls/upload/uploadmultiple.mjs +19 -14
  86. package/esm2022/controls/validation/validationsummary.mjs +10 -17
  87. package/esm2022/public-api.mjs +30 -26
  88. package/fesm2022/simpleangularcontrols-sac-bootstrap5.mjs +717 -522
  89. package/fesm2022/simpleangularcontrols-sac-bootstrap5.mjs.map +1 -1
  90. package/package.json +2 -2
  91. package/public-api.d.ts +29 -25
  92. package/simpleangularcontrols-sac-bootstrap5-16.0.0-rc.3.tgz +0 -0
  93. package/simpleangularcontrols-sac-bootstrap5-16.0.0-rc.1.tgz +0 -0
@@ -1,17 +1,17 @@
1
- import { Injector, Renderer2, ElementRef } from '@angular/core';
2
- import { SacFormDirective } from '../form/form';
1
+ import { ElementRef, Injector, Renderer2 } from '@angular/core';
3
2
  import { SacListboxCommon, SacListboxOptionCommon } from '@simpleangularcontrols/sac-common';
3
+ import { SacFormLayoutDirective } from '../layout/formlayout.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Listbox Komponente
7
7
  */
8
8
  export declare class SacListboxComponent extends SacListboxCommon {
9
9
  /**
10
- * Konstruktor
11
- * @param parent Formular
12
- * @param injector Angular Dependiency Injection Service
10
+ * Constructor
11
+ * @param formLayout SacFormLayout to define scoped layout settings
12
+ * @param injector Injector for injecting services
13
13
  */
14
- constructor(parent: SacFormDirective, injector: Injector);
14
+ constructor(formLayout: SacFormLayoutDirective, injector: Injector);
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<SacListboxComponent, [{ optional: true; host: true; }, null]>;
16
16
  static ɵcmp: i0.ɵɵComponentDeclaration<SacListboxComponent, "sac-listbox", never, {}, {}, never, ["*"], true, never>;
17
17
  }
@@ -21,11 +21,11 @@ export declare class SacListboxComponent extends SacListboxCommon {
21
21
  export declare class SacListboxOptionDirective extends SacListboxOptionCommon {
22
22
  /**
23
23
  * Konstruktor
24
- * @param _elementRef Referenz auf DOM Element
25
- * @param _renderer Angular Rendering Engine
24
+ * @param elementRef Referenz auf DOM Element
25
+ * @param renderer Angular Rendering Engine
26
26
  * @param listbox Referenz auf Listbox Komponente
27
27
  */
28
- constructor(_elementRef: ElementRef, _renderer: Renderer2, listbox: SacListboxComponent);
28
+ constructor(elementRef: ElementRef, renderer: Renderer2, listbox: SacListboxComponent);
29
29
  static ɵfac: i0.ɵɵFactoryDeclaration<SacListboxOptionDirective, [null, null, { optional: true; host: true; }]>;
30
30
  static ɵdir: i0.ɵɵDirectiveDeclaration<SacListboxOptionDirective, "[sacOption],option", never, {}, {}, never, never, true, never>;
31
31
  }
@@ -1,6 +1,6 @@
1
1
  import { Injector } from '@angular/core';
2
2
  import { IconType, SacMultilanguageInputCommon } from '@simpleangularcontrols/sac-common';
3
- import { SacFormDirective } from '../form/form';
3
+ import { SacFormLayoutDirective } from '../layout/formlayout.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Componente für Mehrsprache Texte
@@ -11,11 +11,11 @@ export declare class SacMultilanguageInputComponent extends SacMultilanguageInpu
11
11
  */
12
12
  IconType: typeof IconType;
13
13
  /**
14
- * Konstruktor
15
- * @param parent Formular Inject
16
- * @param injector Default Injector
14
+ * Constructor
15
+ * @param formLayout SacFormLayout to define scoped layout settings
16
+ * @param injector Injector for injecting services
17
17
  */
18
- constructor(parent: SacFormDirective, injector: Injector);
18
+ constructor(formLayout: SacFormLayoutDirective, injector: Injector);
19
19
  static ɵfac: i0.ɵɵFactoryDeclaration<SacMultilanguageInputComponent, [{ optional: true; host: true; }, null]>;
20
20
  static ɵcmp: i0.ɵɵComponentDeclaration<SacMultilanguageInputComponent, "sac-multilanguageinput", never, {}, {}, never, never, true, never>;
21
21
  }
@@ -1,6 +1,6 @@
1
1
  import { Injector } from '@angular/core';
2
2
  import { IconType, SacMultilanguageInputAreaCommon } from '@simpleangularcontrols/sac-common';
3
- import { SacFormDirective } from '../form/form';
3
+ import { SacFormLayoutDirective } from '../layout/formlayout.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Componente für Mehrsprache Texte als mehrzeiliger Text
@@ -11,11 +11,11 @@ export declare class SacMultilanguageInputAreaComponent extends SacMultilanguage
11
11
  */
12
12
  IconType: typeof IconType;
13
13
  /**
14
- * Konstruktor
15
- * @param parent Formular Inject
16
- * @param injector Default Injector
14
+ * Constructor
15
+ * @param formLayout SacFormLayout to define scoped layout settings
16
+ * @param injector Injector for injecting services
17
17
  */
18
- constructor(parent: SacFormDirective, injector: Injector);
18
+ constructor(formLayout: SacFormLayoutDirective, injector: Injector);
19
19
  static ɵfac: i0.ɵɵFactoryDeclaration<SacMultilanguageInputAreaComponent, [{ optional: true; host: true; }, null]>;
20
20
  static ɵcmp: i0.ɵɵComponentDeclaration<SacMultilanguageInputAreaComponent, "sac-multilanguageinputarea", never, {}, {}, never, never, true, never>;
21
21
  }
@@ -5,19 +5,23 @@ import * as i0 from "@angular/core";
5
5
  * Component für Contextmenü
6
6
  */
7
7
  export declare class SacMultilanguagemenuComponent extends SacContextmenuCommon {
8
- /**
9
- * Constructor
10
- * @param _document Referenz auf HTML Document
11
- * @param _ngZone Angular Zone Service
12
- * @param _elementRef Referenz auf HTML Element der aktuellen Komponente
13
- * @param _renderer Render Service von Angular
14
- * @param _injector injector to resolve services in base component
15
- */
16
- constructor(_document: any, _ngZone: NgZone, _elementRef: ElementRef<HTMLElement>, _renderer: Renderer2, _injector: Injector);
17
8
  /**
18
9
  * template with input box for multilangauge component
19
10
  */
20
11
  inputtemplate: TemplateRef<any>;
12
+ /**
13
+ * template with markup for inline validation messages in component
14
+ */
15
+ validationtemplate: TemplateRef<any>;
16
+ /**
17
+ * Constructor
18
+ * @param document Referenz auf HTML Document
19
+ * @param ngZone Angular Zone Service
20
+ * @param elementRef Referenz auf HTML Element der aktuellen Komponente
21
+ * @param renderer Render Service von Angular
22
+ * @param injector injector to resolve services in base component
23
+ */
24
+ constructor(document: any, ngZone: NgZone, elementRef: ElementRef<HTMLElement>, renderer: Renderer2, injector: Injector);
21
25
  static ɵfac: i0.ɵɵFactoryDeclaration<SacMultilanguagemenuComponent, never>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<SacMultilanguagemenuComponent, "[sac-multilanguagemenu]", never, { "inputtemplate": { "alias": "inputtemplate"; "required": false; }; }, {}, never, ["*"], true, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<SacMultilanguagemenuComponent, "[sac-multilanguagemenu]", never, { "inputtemplate": { "alias": "inputtemplate"; "required": false; }; "validationtemplate": { "alias": "validationtemplate"; "required": false; }; }, {}, never, ["*"], true, never>;
23
27
  }
@@ -7,9 +7,9 @@ import * as i0 from "@angular/core";
7
7
  export declare class SacMultilanguagemenuAnchorDirective extends SacContextmenuAnchorCommon {
8
8
  /**
9
9
  * Konstruktor
10
- * @param _elementRef HTML DOM Referenz
10
+ * @param elementRef HTML DOM Referenz
11
11
  */
12
- constructor(_elementRef: ElementRef<HTMLElement>);
12
+ constructor(elementRef: ElementRef<HTMLElement>);
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<SacMultilanguagemenuAnchorDirective, never>;
14
14
  static ɵdir: i0.ɵɵDirectiveDeclaration<SacMultilanguagemenuAnchorDirective, "[sacMultilanguageMenuAnchor]", never, {}, {}, never, never, true, never>;
15
15
  }
@@ -7,9 +7,9 @@ import * as i0 from "@angular/core";
7
7
  export declare class SacMultilanguagemenuContainerDirective extends SacContextMenuContrainerCommon {
8
8
  /**
9
9
  * Konstruktor
10
- * @param _elementRef Referenz auf DOM Element
10
+ * @param elementRef Referenz auf DOM Element
11
11
  */
12
- constructor(_elementRef: ElementRef<HTMLElement>);
12
+ constructor(elementRef: ElementRef<HTMLElement>);
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<SacMultilanguagemenuContainerDirective, never>;
14
14
  static ɵdir: i0.ɵɵDirectiveDeclaration<SacMultilanguagemenuContainerDirective, "[sacMultilanguageMenuContainer]", never, {}, {}, never, never, true, never>;
15
15
  }
@@ -1,6 +1,6 @@
1
1
  import { Injector } from '@angular/core';
2
- import { SacFormDirective } from '../form/form';
3
2
  import { SacStaticFormContainerCommon } from '@simpleangularcontrols/sac-common';
3
+ import { SacFormLayoutDirective } from '../layout/formlayout.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Component für einbindung eines beliebigen Controls in die Form Struktur
@@ -18,11 +18,11 @@ import * as i0 from "@angular/core";
18
18
  **/
19
19
  export declare class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
20
20
  /**
21
- * Konsturktor
22
- * @param parent Parent SacFormular Instanz
23
- * @param injector Injector Instanz
21
+ * Constructor
22
+ * @param formLayout SacFormLayout to define scoped layout settings
23
+ * @param injector Injector for injecting services
24
24
  */
25
- constructor(parent: SacFormDirective, injector: Injector);
25
+ constructor(formLayout: SacFormLayoutDirective, injector: Injector);
26
26
  static ɵfac: i0.ɵɵFactoryDeclaration<SacStaticFormContainerComponent, [{ optional: true; host: true; }, null]>;
27
27
  static ɵcmp: i0.ɵɵComponentDeclaration<SacStaticFormContainerComponent, "sac-staticformcontainer", never, {}, {}, never, ["*"], true, never>;
28
28
  }
@@ -1,17 +1,17 @@
1
1
  import { Injector } from '@angular/core';
2
2
  import { SacStaticLabelCommon } from '@simpleangularcontrols/sac-common';
3
- import { SacFormDirective } from '../form/form';
3
+ import { SacFormLayoutDirective } from '../layout/formlayout.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Komponente für statischen Text in einem Formular
7
7
  */
8
8
  export declare class SacStaticLabelComponent extends SacStaticLabelCommon {
9
9
  /**
10
- * Konstruktor
11
- * @param parent Formular
12
- * @param injector Angular Dependency Injection Service
10
+ * Constructor
11
+ * @param formLayout SacFormLayout to define scoped layout settings
12
+ * @param injector Injector for injecting services
13
13
  */
14
- constructor(parent: SacFormDirective, injector: Injector);
14
+ constructor(formLayout: SacFormLayoutDirective, injector: Injector);
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<SacStaticLabelComponent, [{ optional: true; host: true; }, null]>;
16
16
  static ɵcmp: i0.ɵɵComponentDeclaration<SacStaticLabelComponent, "sac-staticlabel", never, {}, {}, never, never, true, never>;
17
17
  }
@@ -1,21 +1,21 @@
1
1
  import { Injector, NgZone } from '@angular/core';
2
2
  import { SacTinyMceCommon } from '@simpleangularcontrols/sac-common';
3
- import { SacFormDirective } from '../form/form';
3
+ import { SacFormLayoutDirective } from '../layout/formlayout.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * TinyMCE Komponente
7
7
  */
8
8
  export declare class SacTinyMceComponent extends SacTinyMceCommon {
9
9
  /**
10
- * Konstruktor
11
- * @param parent Formular
12
- * @param injector Angular Dependency Injection Service
13
- * @param ngZone ngZone
10
+ * Constructor
11
+ * @param formLayout SacFormLayout to define scoped layout settings
12
+ * @param injector Injector for injecting services
13
+ * @param ngZone ngZone to manage external javascripts
14
14
  */
15
- constructor(parent: SacFormDirective, injector: Injector, ngZone: NgZone);
15
+ constructor(formLayout: SacFormLayoutDirective, injector: Injector, ngZone: NgZone);
16
16
  /**
17
17
  * overwrite tinymce defaults
18
- * @returns boostrap4 has no overwrites
18
+ * @returns boostrap5 has no overwrites
19
19
  */
20
20
  overwriteDefaultSettings(): {};
21
21
  static ɵfac: i0.ɵɵFactoryDeclaration<SacTinyMceComponent, [{ optional: true; host: true; }, null, null]>;
@@ -1,6 +1,6 @@
1
1
  import { Injector, NgZone, OnInit, Renderer2 } from '@angular/core';
2
2
  import { SacDropzoneMultipleCommon } from '@simpleangularcontrols/sac-common';
3
- import { SacFormDirective } from '../form/form';
3
+ import { SacFormLayoutDirective } from '../layout/formlayout.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Dropzone Komponente für mehrere Uploads
@@ -8,13 +8,13 @@ import * as i0 from "@angular/core";
8
8
  */
9
9
  export declare class SacDropzoneMultipleComponent extends SacDropzoneMultipleCommon implements OnInit {
10
10
  /**
11
- * Konstruktor
12
- * @param parent Formular
13
- * @param injector Angular Dependency Injection Service
14
- * @param renderer Angular Rendering Engine
15
- * @param ngZone ngZone
11
+ * Constructor
12
+ * @param formLayout SacFormLayout to define scoped layout settings
13
+ * @param injector Injector for injecting services
14
+ * @param renderer Angular rendering engine
15
+ * @param ngZone ngZone to manage external javascripts
16
16
  */
17
- constructor(parent: SacFormDirective, injector: Injector, renderer: Renderer2, ngZone: NgZone);
17
+ constructor(formLayout: SacFormLayoutDirective, injector: Injector, renderer: Renderer2, ngZone: NgZone);
18
18
  /**
19
19
  * Initialisiert das Control
20
20
  */
@@ -1,6 +1,6 @@
1
1
  import { Injector, NgZone, OnInit, Renderer2 } from '@angular/core';
2
2
  import { SacDropzoneSingleCommon } from '@simpleangularcontrols/sac-common';
3
- import { SacFormDirective } from '../form/form';
3
+ import { SacFormLayoutDirective } from '../layout/formlayout.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Dropzone Komponente für den Upload eines Files
@@ -8,13 +8,13 @@ import * as i0 from "@angular/core";
8
8
  */
9
9
  export declare class SacDropzoneSingleComponent extends SacDropzoneSingleCommon implements OnInit {
10
10
  /**
11
- * Konstruktor
12
- * @param parent Formular
13
- * @param injector Angular Dependency Injection Service
14
- * @param renderer Angular Rendering Engine
15
- * @param ngZone ngZone
11
+ * Constructor
12
+ * @param formLayout SacFormLayout to define scoped layout settings
13
+ * @param injector Injector for injecting services
14
+ * @param renderer Angular rendering engine
15
+ * @param ngZone ngZone to manage external javascripts
16
16
  */
17
- constructor(parent: SacFormDirective, injector: Injector, renderer: Renderer2, ngZone: NgZone);
17
+ constructor(formLayout: SacFormLayoutDirective, injector: Injector, renderer: Renderer2, ngZone: NgZone);
18
18
  /**
19
19
  * Initialisiert das Control
20
20
  */
@@ -1,6 +1,6 @@
1
1
  import { Injector, NgZone, Renderer2 } from '@angular/core';
2
2
  import { SacUploadSingleCommon } from '@simpleangularcontrols/sac-common';
3
- import { SacFormDirective } from '../form/form';
3
+ import { SacFormLayoutDirective } from '../layout/formlayout.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Upload Komponten
@@ -8,13 +8,13 @@ import * as i0 from "@angular/core";
8
8
  */
9
9
  export declare class SacUploadComponent extends SacUploadSingleCommon {
10
10
  /**
11
- * Konstruktor
12
- * @param parent Formular
13
- * @param injector Angular Dependency Injection Service
14
- * @param renderer Angular Rendering Engine
15
- * @param ngZone ngZone Referenz
11
+ * Constructor
12
+ * @param formLayout SacFormLayout to define scoped layout settings
13
+ * @param injector Injector for injecting services
14
+ * @param renderer Angular rendering engine
15
+ * @param ngZone ngZone to manage external javascripts
16
16
  */
17
- constructor(parent: SacFormDirective, injector: Injector, renderer: Renderer2, ngZone: NgZone);
17
+ constructor(formLayout: SacFormLayoutDirective, injector: Injector, renderer: Renderer2, ngZone: NgZone);
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<SacUploadComponent, [{ optional: true; host: true; }, null, null, null]>;
19
19
  static ɵcmp: i0.ɵɵComponentDeclaration<SacUploadComponent, "sac-upload", never, {}, {}, never, never, true, never>;
20
20
  }
@@ -1,6 +1,6 @@
1
1
  import { Injector, NgZone, Renderer2 } from '@angular/core';
2
2
  import { SacUploadMultipleCommon } from '@simpleangularcontrols/sac-common';
3
- import { SacFormDirective } from '../form/form';
3
+ import { SacFormLayoutDirective } from '../layout/formlayout.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Upload Komponente für den Upload mehrer Files
@@ -8,13 +8,13 @@ import * as i0 from "@angular/core";
8
8
  */
9
9
  export declare class SacUploadMultipleComponent extends SacUploadMultipleCommon {
10
10
  /**
11
- * Konstruktor
12
- * @param parent Formular
13
- * @param injector Angular Dependency Injection Service
14
- * @param renderer Angular Rendering Engine
15
- * @param ngZone ngZone
11
+ * Constructor
12
+ * @param formLayout SacFormLayout to define scoped layout settings
13
+ * @param injector Injector for injecting services
14
+ * @param renderer Angular rendering engine
15
+ * @param ngZone ngZone to manage external javascripts
16
16
  */
17
- constructor(parent: SacFormDirective, injector: Injector, renderer: Renderer2, ngZone: NgZone);
17
+ constructor(formLayout: SacFormLayoutDirective, injector: Injector, renderer: Renderer2, ngZone: NgZone);
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<SacUploadMultipleComponent, [{ optional: true; host: true; }, null, null, null]>;
19
19
  static ɵcmp: i0.ɵɵComponentDeclaration<SacUploadMultipleComponent, "sac-uploadmultiple", never, {}, {}, never, never, true, never>;
20
20
  }
@@ -7,11 +7,11 @@ import * as i0 from "@angular/core";
7
7
  */
8
8
  export declare class SacValidationSummaryComponent extends SacValidationSummaryCommon {
9
9
  /**
10
- * Konstruktor
11
- * @param parent Formular
12
- * @param injector Angular Dependency Injection Service
10
+ * Constructor
11
+ * @param formControl Instance of Form Component to receive invalid form controls
12
+ * @param injector Injector for injecting services
13
13
  */
14
- constructor(parent: SacFormDirective, injector: Injector);
14
+ constructor(formControl: SacFormDirective, injector: Injector);
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<SacValidationSummaryComponent, [{ optional: true; host: true; }, null]>;
16
16
  static ɵcmp: i0.ɵɵComponentDeclaration<SacValidationSummaryComponent, "sac-validationsummary", never, {}, {}, never, never, true, never>;
17
17
  }
@@ -17,6 +17,8 @@ import * as i3 from "@angular/forms";
17
17
  * Server File Browser Komponente
18
18
  */
19
19
  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 @@ 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.
@@ -85,6 +81,14 @@ 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
@@ -118,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
118
122
  type: ViewChild,
119
123
  args: [SacDropzoneMultipleComponent, { static: false }]
120
124
  }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvYnJvd3Nlci50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvYnJvd3Nlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsT0FBTyxFQUNQLE9BQU8sRUFDUCxJQUFJLEVBQ0osZ0JBQWdCLEdBQ2pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFjLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBWSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFHTCxvQkFBb0IsR0FDckIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckcsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBRXRGOztHQUVHO0FBQ0gsTUFtQmEsbUJBQW9CLFNBQVEsb0JBQW9CO0lBTzNEOzs7OztPQUtHO0lBQ0gsWUFDRSxVQUFzQixFQUN0QixRQUFrQixFQUNWLGNBQThCO1FBRXRDLEtBQUssQ0FBQyxVQUFV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Z0IsK0JBQ2hCLHVCQUF1Qiw0REFDdkIsaUNBQWlDLGtFQUNqQyxtQ0FBbUMsb0VBQ25DLDRCQUE0Qjs7U0FJbkIsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBbkIvQixTQUFTOytCQUNFLGlCQUFpQixjQUVmLElBQUksV0FDUDt3QkFDUCxnQkFBZ0I7d0JBQ2hCLElBQUk7d0JBQ0osT0FBTzt3QkFDUCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsaUNBQWlDO3dCQUNqQyxtQ0FBbUM7d0JBQ25DLDRCQUE0QjtxQkFDN0IsYUFDVSxDQUFDLGNBQWMsQ0FBQztxSkFPbkIsZUFBZTtzQkFEdEIsU0FBUzt1QkFBQyw0QkFBNEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFzeW5jUGlwZSxcclxuICBOZ0NsYXNzLFxyXG4gIE5nRm9yT2YsXHJcbiAgTmdJZixcclxuICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBJQnJvd3NlckZpbGUsXHJcbiAgSUJyb3dzZXJOb2RlLFxyXG4gIFNhY0ZpbGVCcm93c2VyQ29tbW9uLFxyXG59IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNlcnZpY2VDb25maXJtIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvY29uZmlybS9jb25maXJtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTYWNDb250ZXh0bWVudUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NvbnRleHRtZW51JztcclxuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnVpdGVtYnV0dG9uJztcclxuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVJdGVtU3BsaXR0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudWl0ZW1zcGxpdHRlcic7XHJcbmltcG9ydCB7IFNhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb250cm9scy91cGxvYWQvZHJvcHpvbmVtdWx0aXBsZSc7XHJcblxyXG4vKipcclxuICogU2VydmVyIEZpbGUgQnJvd3NlciBLb21wb25lbnRlXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy1maWxlYnJvd3NlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Jyb3dzZXIuaHRtbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgTmdJZixcclxuICAgIE5nRm9yT2YsXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgQXN5bmNQaXBlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgU2FjQ29udGV4dG1lbnVDb21wb25lbnQsXHJcbiAgICBTYWNDb250ZXh0bWVudUl0ZW1CdXR0b25Db21wb25lbnQsXHJcbiAgICBTYWNDb250ZXh0bWVudUl0ZW1TcGxpdHRlckNvbXBvbmVudCxcclxuICAgIFNhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnQsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtTZXJ2aWNlQ29uZmlybV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNCcm93c2VyQ29tcG9uZW50IGV4dGVuZHMgU2FjRmlsZUJyb3dzZXJDb21tb24ge1xyXG4gIC8qKlxyXG4gICAqIFJlZmVyZW56IGF1ZiBVcGxvYWQgQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZChTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwcml2YXRlIHVwbG9hZENvbXBvbmVudDogU2FjRHJvcHpvbmVNdWx0aXBsZUNvbXBvbmVudDtcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gaHR0cENsaWVudCBIVFRQIENsaWVudFxyXG4gICAqIEBwYXJhbSBpbmplY3RvciBBbmd1bGFyIERlcGVuZGVuY3kgSW5qZWN0aW9uIFNlcnZpY2VcclxuICAgKiBAcGFyYW0gY29uZmlybVNlcnZpY2UgQ29uZmlybSBTZXJ2aWNlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBjb25maXJtU2VydmljZTogU2VydmljZUNvbmZpcm1cclxuICApIHtcclxuICAgIHN1cGVyKGh0dHBDbGllbnQsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVyemV1Z3QgZWluIEFycmF5IHZvbiBlaW5lciBiZXN0aW1tdGVuIGdyw7Zzc2VcclxuICAgKiBAcGFyYW0gYW56YWhsIEdyw7Zzc2UgZGVzIEFycmF5XHJcbiAgICogQHJldHVybnMgQXJyYXlcclxuICAgKi9cclxuICBwdWJsaWMgY291bnQoYW56YWhsOiBudW1iZXIpOiBBcnJheTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IEFycmF5KGFuemFobCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25maXJtIEFjdGlvbiB3ZW5uIGVpbiBGaWxlIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxyXG4gICAqIEBwYXJhbSBmaWxlIEZpbGUgZGFzIGdlbMO2c2NodCB3ZXJkZW4gc29sbC5cclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9iIEZpbGUgZ2Vsw7ZzY2h0IHdlcmRlbiBrYW5uLlxyXG4gICAqL1xyXG4gIGNvbmZpcm1EZWxldGVGaWxlKGZpbGU6IElCcm93c2VyRmlsZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KChvYnNlcnZlcikgPT4ge1xyXG4gICAgICBmb3JrSm9pbih7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnRklMRUJST1dTRVJfREVMRVRFJyksXHJcbiAgICAgICAgbWVzc2FnZTogdGhpcy5sbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKFxyXG4gICAgICAgICAgJ0ZJTEVCUk9XU0VSX0NPTkZJUk1fREVMRVRFRklMRSdcclxuICAgICAgICApLFxyXG4gICAgICB9KS5zdWJzY3JpYmUoKHRleHQpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmZpcm1TZXJ2aWNlXHJcbiAgICAgICAgICAuQ29uZmlybU1lc3NhZ2UodGV4dC50aXRsZSwgdGV4dC5tZXNzYWdlKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09ICd5ZXMnKSB7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh0cnVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25maXJtIEFjdGlvbiB3ZW5uIGVpbiBPcmRuZXIgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXHJcbiAgICogQHBhcmFtIG5vZGUgT3JkbmVyIGRlciBnZWzDtnNjaHQgd2VyZGVuIHNvbGxcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9iIE9yZG5lciBnZWzDtnNjaHQga2Fubi5cclxuICAgKi9cclxuICBjb25maXJtRGVsZXRlTm9kZShub2RlOiBJQnJvd3Nlck5vZGUpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgZm9ya0pvaW4oe1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoJ0ZJTEVCUk9XU0VSX0RFTEVURScpLFxyXG4gICAgICAgIG1lc3NhZ2U6IHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyhcclxuICAgICAgICAgICdGSUxFQlJPV1NFUl9DT05GSVJNX0RFTEVURUZPTERFUidcclxuICAgICAgICApLFxyXG4gICAgICB9KS5zdWJzY3JpYmUoKHRleHQpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmZpcm1TZXJ2aWNlXHJcbiAgICAgICAgICAuQ29uZmlybU1lc3NhZ2UodGV4dC50aXRsZSwgdGV4dC5tZXNzYWdlKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09ICd5ZXMnKSB7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh0cnVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHdpcmQgYXVmZ2VydWZlbiwgd2VubiBlaW5lIERhdGVpIHZlcnNjaG9iZW4gd2lyZFxyXG4gICAqIEBwYXJhbSB1cGxvYWRpZCBVcGxvYWQgSURcclxuICAgKi9cclxuICB1cGxvYWRlZEZpbGVNb3ZlZCh1cGxvYWRpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy51cGxvYWRDb21wb25lbnQudXBsb2Fkcy5maW5kKFxyXG4gICAgICAoaXRtKSA9PiBpdG0uZG9jdW1lbnRpZCA9PT0gdXBsb2FkaWRcclxuICAgICk7XHJcblxyXG4gICAgaWYgKGl0ZW0pIHtcclxuICAgICAgdGhpcy51cGxvYWRDb21wb25lbnQuY2FuY2VsKGl0ZW0udXBsb2FkSWQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtNSBjb2wtbGctNFwiPlxyXG4gICAgPHVsIGNsYXNzPVwibGlzdC1ncm91cCBsaXN0LWdyb3VwLWZsdXNoXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRyZWVJdGVtXCJcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie25vZGU6IHJvb3ROb2RlLCBkZWVwOiAwfVwiXHJcbiAgICAgID48L25nLXRlbXBsYXRlPlxyXG4gICAgPC91bD5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI3RyZWVJdGVtIGxldC1ub2RlPVwibm9kZVwiIGxldC1kZWVwPVwiZGVlcFwiPlxyXG4gICAgICA8bGlcclxuICAgICAgICBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSBweS0xIHB4LTIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgICAgICAgW2NsYXNzLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnldPVwibm9kZSA9PT0gc2VsZWN0ZWROb2RlXCJcclxuICAgICAgICAoY2xpY2spPVwic2VsZWN0Tm9kZShub2RlKVwiXHJcbiAgICAgICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm14LTNcIiAqbmdGb3I9XCJsZXQgaSBvZiBjb3VudChkZWVwKVwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIChjbGljayk9XCJzd2l0Y2hFeHBhbmROb2RlKG5vZGUpOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxyXG4gICAgICAgICAgY2xhc3M9XCJtZS0yXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cIm5vZGUuQ2hpbGROb2Rlcy5sZW5ndGggPT09IDAgPyBpY29uRm9sZGVyRW1wdHk6ICghbm9kZS5Jc0V4cGFuZGVkICYmIG5vZGUuQ2hpbGROb2Rlcy5sZW5ndGggPiAwID8gaWNvbkZvbGRlckNvbGxhYnNlZCA6IChub2RlLklzRXhwYW5kZWQgJiYgbm9kZS5DaGlsZE5vZGVzLmxlbmd0aCA+IDAgPyBpY29uRm9sZGVyT3BlbiA6ICcnKSlcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW5vZGUuSXNFZGl0TW9kZVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+e3sgbm9kZS5OYW1lIH19PC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGUuSXNFZGl0TW9kZVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCIgbmdGb3JtPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBuYW1lPVwiZWRpdEZvbGRlclwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCJcclxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJub2RlLk5hbWVcIlxyXG4gICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7dXBkYXRlT246ICdibHVyJ31cIlxyXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInJlbmFtZU5vZGUobm9kZSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnRhcmdldC5ibHVyKCk7ZmFsc2U7XCJcclxuICAgICAgICAgICAgICAoYmx1cik9XCJyZW5hbWVOb2RlKG5vZGUsIG51bGwpXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wXCI+XHJcbiAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAqbmdJZj1cIm5vZGUuUGF0aCAhPT0gJy8nICYmIGFsbG93Zm9sZGVycmVuYW1lXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1saW5rIHRleHQtc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImVkaXROb2RlKG5vZGUpOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aSBbY2xhc3NdPVwiaWNvbkVkaXRcIj48L2k+XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8c2FjLWNvbnRleHRtZW51IGNzc2NsYXNzPVwiZC1pbmxpbmUtYmxvY2tcIj5cclxuICAgICAgICAgICAgPHNhYy1jb250ZXh0bWVudWJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWxsb3dmb2xkZXJjcmVhdGVcIlxyXG4gICAgICAgICAgICAgIHRleHQ9XCJ7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdGSUxFQlJPV1NFUl9ORVdGT0xERVInKSB8IGFzeW5jIH19XCJcclxuICAgICAgICAgICAgICBbaWNvbl09XCJpY29uRm9sZGVyTmV3XCJcclxuICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJuZXdOb2RlKG5vZGUpXCJcclxuICAgICAgICAgICAgPjwvc2FjLWNvbnRleHRtZW51YnV0dG9uPlxyXG4gICAgICAgICAgICA8c2FjLWNvbnRleHRtZW51YnV0dG9uXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJub2RlLlBhdGggIT09ICcvJyAmJiBhbGxvd2ZvbGRlcmRlbGV0ZVwiXHJcbiAgICAgICAgICAgICAgdGV4dD1cInt7IGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoJ0ZJTEVCUk9XU0VSX0RFTEVURScpIHwgYXN5bmMgfX1cIlxyXG4gICAgICAgICAgICAgIFtpY29uXT1cImljb25EZWxldGVcIlxyXG4gICAgICAgICAgICAgIChjbGlja2VkKT1cImRlbGV0ZU5vZGUobm9kZSlcIlxyXG4gICAgICAgICAgICA+PC9zYWMtY29udGV4dG1lbnVidXR0b24+XHJcbiAgICAgICAgICAgIDxzYWMtY29udGV4dG1lbnVzcGxpdHRlclxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWxsb3dmb2xkZXJjcmVhdGUgfHwgKG5vZGUuUGF0aCAhPT0gJy8nICYmIGFsbG93Zm9sZGVyZGVsZXRlKVwiXHJcbiAgICAgICAgICAgID48L3NhYy1jb250ZXh0bWVudXNwbGl0dGVyPlxyXG4gICAgICAgICAgICA8c2FjLWNvbnRleHRtZW51YnV0dG9uXHJcbiAgICAgICAgICAgICAgdGV4dD1cInt7IGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoJ0ZJTEVCUk9XU0VSX1JFRlJFU0gnKSB8IGFzeW5jIH19XCJcclxuICAgICAgICAgICAgICBbaWNvbl09XCJpY29uUmVmcmVzaFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrZWQpPVwicmVmcmVzaE5vZGUobm9kZSlcIlxyXG4gICAgICAgICAgICA+PC9zYWMtY29udGV4dG1lbnVidXR0b24+XHJcbiAgICAgICAgICA8L3NhYy1jb250ZXh0bWVudT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9saT5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub2RlLklzRXhwYW5kZWRcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBub2RlLkNoaWxkTm9kZXNcIlxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidHJlZUl0ZW1cIlxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntub2RlOiBjaGlsZCwgZGVlcDogZGVlcCArIDF9XCJcclxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTcgY29sLWxnLThcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZE5vZGUgJiYgc2VsZWN0ZWROb2RlLkZpbGVzXCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJhbGxvd2ZpbGV1cGxvYWRcIiBuZ0Zvcm0+XHJcbiAgICAgICAgPHNhYy1kcm9wem9uZW11bHRpcGxlXHJcbiAgICAgICAgICBbZGlzYWJsZWxhYmVsXT1cInRydWVcIlxyXG4gICAgICAgICAgW2VuZHBvaW50XT1cImFwaXVybCArICcvdXBsb2FkcmVnaXN0ZXInXCJcclxuICAgICAgICAgIG5hbWU9XCJ1cGxvYWRcIlxyXG4gICAgICAgICAgdXBsb2FkaGVpZ2h0PVwiNXJlbVwiXHJcbiAgICAgICAgICBbbmdNb2RlbF09XCJ1cGxvYWRzXCJcclxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwbG9hZENvbXBsZXRlKHNlbGVjdGVkTm9kZSwkZXZlbnQpXCJcclxuICAgICAgICAgIFthbGxvd2VkdHlwZXNdPVwiYWxsb3dlZHR5cGVzXCJcclxuICAgICAgICAgID57eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdGSUxFQlJPV1NFUl9VUExPQUQnKSB8IGFzeW5jXHJcbiAgICAgICAgICB9fTwvc2FjLWRyb3B6b25lbXVsdGlwbGVcclxuICAgICAgICA+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtaG92ZXIgYWxpZ24tbWlkZGxlXCI+XHJcbiAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgIDx0aD5cclxuICAgICAgICAgICAgICB7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdGSUxFQlJPV1NFUl9HUklEX0ZJTEUnKSB8IGFzeW5jXHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPHRoPlxyXG4gICAgICAgICAgICAgIHt7IGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoJ0ZJTEVCUk9XU0VSX0dSSURfU0laRScpIHwgYXN5bmNcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogODBweFwiPjwvdGg+XHJcbiAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWROb2RlLkZpbGVzLmxlbmd0aCA9PT0gMFwiPlxyXG4gICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiM1wiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdGSUxFQlJPV1NFUl9OT19GSUxFUycpIHxcclxuICAgICAgICAgICAgICAgICAgYXN5bmMgfX1cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZE5vZGUuRmlsZXMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgIDx0clxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0ZWROb2RlLkZpbGVzXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RGaWxlKGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy50YWJsZS1wcmltYXJ5XT1cInNlbGVjdGVkRmlsZUl0ZW0gPT09IGl0ZW1cIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDx0ZCBbY2xhc3MucC0yXT1cIml0ZW0uSXNFZGl0TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uSXNFZGl0TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uRmlsZW5hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLklzRWRpdE1vZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJlZGl0Rm9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiaXRlbS5GaWxlbmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7dXBkYXRlT246ICdibHVyJ31cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyZW5hbWVGaWxlKGl0ZW0sICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCIkZXZlbnQudGFyZ2V0LmJsdXIoKTtmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChibHVyKT1cInJlbmFtZUZpbGUoaXRlbSwgbnVsbClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+e3sgaXRlbS5TaXplfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwicC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tdG9vbGJhclwiIHJvbGU9XCJ0b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cCBtbC1hdXRvXCIgcm9sZT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFsbG93ZmlsZXJlbmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tbGluayB0ZXh0LXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0RmlsZShpdGVtKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjxpIFtjbGFzc109XCJpY29uRWRpdFwiPjwvaVxyXG4gICAgICAgICAgICAgICAgICAgICAgPjwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCIgcm9sZT1cImdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFsbG93ZmlsZWRlbGV0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tbGluayB0ZXh0LXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVGaWxlKGl0ZW0pOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PGkgW2NsYXNzXT1cImljb25EZWxldGVcIj48L2lcclxuICAgICAgICAgICAgICAgICAgICAgID48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvYnJvd3Nlci50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvYnJvd3Nlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsT0FBTyxFQUNQLE9BQU8sRUFDUCxJQUFJLEVBQ0osZ0JBQWdCLEdBQ2pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFjLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBWSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFHTCxvQkFBb0IsR0FDckIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckcsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBRXRGOztHQUVHO0FBQ0gsTUFtQmEsbUJBQW9CLFNBQVEsb0JBQW9CO0lBUzNELHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7O09BS0c7SUFDSCxZQUNFLFVBQXNCLEVBQ3RCLFFBQWtCLEVBQ1YsY0FBOEI7UUFFdEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUZwQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFHeEMsQ0FBQztJQUVELDBCQUEwQjtJQUUxQix5QkFBeUI7SUFFekI7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLElBQWtCO1FBQ3pDLE9BQU8sSUFBSSxVQUFVLENBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMxQyxRQUFRLENBQUM7Z0JBQ1AsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUM7Z0JBQzlELE9BQU8sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUN4QyxnQ0FBZ0MsQ0FDakM7YUFDRixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxjQUFjO3FCQUNoQixjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO3FCQUN4QyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxNQUFNLEtBQUssS0FBSyxFQUFFO3dCQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNyQjt5QkFBTTt3QkFDTCxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUN0QjtvQkFDRCxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksaUJBQWlCLENBQUMsSUFBa0I7UUFDekMsT0FBTyxJQUFJLFVBQVUsQ0FBVSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzFDLFFBQVEsQ0FBQztnQkFDUCxLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDOUQsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQ3hDLGtDQUFrQyxDQUNuQzthQUNGLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLGNBQWM7cUJBQ2hCLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUM7cUJBQ3hDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUNwQixJQUFJLE1BQU0sS0FBSyxLQUFLLEVBQUU7d0JBQ3BCLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ3JCO3lCQUFNO3dCQUNMLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ3RCO29CQUNELFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDdEIsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsTUFBYztRQUN6QixPQUFPLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxpQkFBaUIsQ0FBQyxRQUFnQjtRQUN2QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzVDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FDckMsQ0FBQztRQUVGLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzVDO0lBQ0gsQ0FBQzsrR0ExR1UsbUJBQW1CO21HQUFuQixtQkFBbUIsOERBRm5CLENBQUMsY0FBYyxDQUFDLDJFQVFoQiw0QkFBNEIsdUVDbER6QyxvM09BNEtBLDRDRDlJSSxnQkFBZ0Isb0pBQ2hCLElBQUksNkZBQ0osT0FBTyxtSEFDUCxPQUFPLCtFQUNQLFNBQVMsNkNBQ1QsV0FBVyw4N0JBQ1gsZ0JBQWdCLCtCQUNoQix1QkFBdUIsNERBQ3ZCLGlDQUFpQyxrRUFDakMsbUNBQW1DLG9FQUNuQyw0QkFBNEI7O1NBSW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQW5CL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FFZixJQUFJLFdBQ1A7d0JBQ1AsZ0JBQWdCO3dCQUNoQixJQUFJO3dCQUNKLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxTQUFTO3dCQUNULFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLGlDQUFpQzt3QkFDakMsbUNBQW1DO3dCQUNuQyw0QkFBNEI7cUJBQzdCLGFBQ1UsQ0FBQyxjQUFjLENBQUM7cUpBU25CLGVBQWU7c0JBRHRCLFNBQVM7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBc3luY1BpcGUsXHJcbiAgTmdDbGFzcyxcclxuICBOZ0Zvck9mLFxyXG4gIE5nSWYsXHJcbiAgTmdUZW1wbGF0ZU91dGxldCxcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgSUJyb3dzZXJGaWxlLFxyXG4gIElCcm93c2VyTm9kZSxcclxuICBTYWNGaWxlQnJvd3NlckNvbW1vbixcclxufSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTZXJ2aWNlQ29uZmlybSB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NvbmZpcm0vY29uZmlybS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb250cm9scy9jb250ZXh0bWVudSc7XHJcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NvbnRleHRtZW51L2NvbnRleHRtZW51aXRlbWJ1dHRvbic7XHJcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51SXRlbVNwbGl0dGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnVpdGVtc3BsaXR0ZXInO1xyXG5pbXBvcnQgeyBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvdXBsb2FkL2Ryb3B6b25lbXVsdGlwbGUnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZlciBGaWxlIEJyb3dzZXIgS29tcG9uZW50ZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtZmlsZWJyb3dzZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9icm93c2VyLmh0bWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcclxuICAgIE5nSWYsXHJcbiAgICBOZ0Zvck9mLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIEFzeW5jUGlwZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIFNhY0NvbnRleHRtZW51Q29tcG9uZW50LFxyXG4gICAgU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgU2FjQ29udGV4dG1lbnVJdGVtU3BsaXR0ZXJDb21wb25lbnQsXHJcbiAgICBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbU2VydmljZUNvbmZpcm1dLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjQnJvd3NlckNvbXBvbmVudCBleHRlbmRzIFNhY0ZpbGVCcm93c2VyQ29tbW9uIHtcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogUmVmZXJlbnogYXVmIFVwbG9hZCBDb21wb25lbnRcclxuICAgKi9cclxuICBAVmlld0NoaWxkKFNhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHByaXZhdGUgdXBsb2FkQ29tcG9uZW50OiBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50O1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gaHR0cENsaWVudCBIVFRQIENsaWVudFxyXG4gICAqIEBwYXJhbSBpbmplY3RvciBBbmd1bGFyIERlcGVuZGVuY3kgSW5qZWN0aW9uIFNlcnZpY2VcclxuICAgKiBAcGFyYW0gY29uZmlybVNlcnZpY2UgQ29uZmlybSBTZXJ2aWNlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBjb25maXJtU2VydmljZTogU2VydmljZUNvbmZpcm1cclxuICApIHtcclxuICAgIHN1cGVyKGh0dHBDbGllbnQsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uZmlybSBBY3Rpb24gd2VubiBlaW4gRmlsZSBnZWzDtnNjaHQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIGRhcyBnZWzDtnNjaHQgd2VyZGVuIHNvbGwuXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvYiBGaWxlIGdlbMO2c2NodCB3ZXJkZW4ga2Fubi5cclxuICAgKi9cclxuICBwdWJsaWMgY29uZmlybURlbGV0ZUZpbGUoZmlsZTogSUJyb3dzZXJGaWxlKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgIGZvcmtKb2luKHtcclxuICAgICAgICB0aXRsZTogdGhpcy5sbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdGSUxFQlJPV1NFUl9ERUxFVEUnKSxcclxuICAgICAgICBtZXNzYWdlOiB0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoXHJcbiAgICAgICAgICAnRklMRUJST1dTRVJfQ09ORklSTV9ERUxFVEVGSUxFJ1xyXG4gICAgICAgICksXHJcbiAgICAgIH0pLnN1YnNjcmliZSgodGV4dCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29uZmlybVNlcnZpY2VcclxuICAgICAgICAgIC5Db25maXJtTWVzc2FnZSh0ZXh0LnRpdGxlLCB0ZXh0Lm1lc3NhZ2UpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbmZpcm0gQWN0aW9uIHdlbm4gZWluIE9yZG5lciBnZWzDtnNjaHQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gbm9kZSBPcmRuZXIgZGVyIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2IgT3JkbmVyIGdlbMO2c2NodCBrYW5uLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjb25maXJtRGVsZXRlTm9kZShub2RlOiBJQnJvd3Nlck5vZGUpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgZm9ya0pvaW4oe1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoJ0ZJTEVCUk9XU0VSX0RFTEVURScpLFxyXG4gICAgICAgIG1lc3NhZ2U6IHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyhcclxuICAgICAgICAgICdGSUxFQlJPV1NFUl9DT05GSVJNX0RFTEVURUZPTERFUidcclxuICAgICAgICApLFxyXG4gICAgICB9KS5zdWJzY3JpYmUoKHRleHQpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmZpcm1TZXJ2aWNlXHJcbiAgICAgICAgICAuQ29uZmlybU1lc3NhZ2UodGV4dC50aXRsZSwgdGV4dC5tZXNzYWdlKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09ICd5ZXMnKSB7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh0cnVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFcnpldWd0IGVpbiBBcnJheSB2b24gZWluZXIgYmVzdGltbXRlbiBncsO2c3NlXHJcbiAgICogQHBhcmFtIGFuemFobCBHcsO2c3NlIGRlcyBBcnJheVxyXG4gICAqIEByZXR1cm5zIEFycmF5XHJcbiAgICovXHJcbiAgcHVibGljIGNvdW50KGFuemFobDogbnVtYmVyKTogQXJyYXk8dm9pZD4ge1xyXG4gICAgcmV0dXJuIG5ldyBBcnJheShhbnphaGwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSB3aXJkIGF1ZmdlcnVmZW4sIHdlbm4gZWluZSBEYXRlaSB2ZXJzY2hvYmVuIHdpcmRcclxuICAgKiBAcGFyYW0gdXBsb2FkaWQgVXBsb2FkIElEXHJcbiAgICovXHJcbiAgcHVibGljIHVwbG9hZGVkRmlsZU1vdmVkKHVwbG9hZGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnVwbG9hZENvbXBvbmVudC51cGxvYWRzLmZpbmQoXHJcbiAgICAgIChpdG0pID0+IGl0bS5kb2N1bWVudGlkID09PSB1cGxvYWRpZFxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoaXRlbSkge1xyXG4gICAgICB0aGlzLnVwbG9hZENvbXBvbmVudC5jYW5jZWwoaXRlbS51cGxvYWRJZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTUgY29sLWxnLTRcIj5cclxuICAgIDx1bCBjbGFzcz1cImxpc3QtZ3JvdXAgbGlzdC1ncm91cC1mbHVzaFwiPlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cmVlSXRlbVwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntub2RlOiByb290Tm9kZSwgZGVlcDogMH1cIlxyXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvdWw+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICN0cmVlSXRlbSBsZXQtbm9kZT1cIm5vZGVcIiBsZXQtZGVlcD1cImRlZXBcIj5cclxuICAgICAgPGxpXHJcbiAgICAgICAgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0gcHktMSBweC0yIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgICAgIFtjbGFzcy5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5XT1cIm5vZGUgPT09IHNlbGVjdGVkTm9kZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdE5vZGUobm9kZSlcIlxyXG4gICAgICAgIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJteC0zXCIgKm5nRm9yPVwibGV0IGkgb2YgY291bnQoZGVlcClcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAoY2xpY2spPVwic3dpdGNoRXhwYW5kTm9kZShub2RlKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcclxuICAgICAgICAgIGNsYXNzPVwibWUtMlwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJub2RlLkNoaWxkTm9kZXMubGVuZ3RoID09PSAwID8gaWNvbkZvbGRlckVtcHR5OiAoIW5vZGUuSXNFeHBhbmRlZCAmJiBub2RlLkNoaWxkTm9kZXMubGVuZ3RoID4gMCA/IGljb25Gb2xkZXJDb2xsYWJzZWQgOiAobm9kZS5Jc0V4cGFuZGVkICYmIG5vZGUuQ2hpbGROb2Rlcy5sZW5ndGggPiAwID8gaWNvbkZvbGRlck9wZW4gOiAnJykpXCJcclxuICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFub2RlLklzRWRpdE1vZGVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPnt7IG5vZGUuTmFtZSB9fTwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub2RlLklzRWRpdE1vZGVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiIG5nRm9ybT5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgbmFtZT1cImVkaXRGb2xkZXJcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiXHJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwibm9kZS5OYW1lXCJcclxuICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3VwZGF0ZU9uOiAnYmx1cid9XCJcclxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyZW5hbWVOb2RlKG5vZGUsICRldmVudClcIlxyXG4gICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIiRldmVudC50YXJnZXQuYmx1cigpO2ZhbHNlO1wiXHJcbiAgICAgICAgICAgICAgKGJsdXIpPVwicmVuYW1lTm9kZShub2RlLCBudWxsKVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMFwiPlxyXG4gICAgICAgICAgPGFcclxuICAgICAgICAgICAgKm5nSWY9XCJub2RlLlBhdGggIT09ICcvJyAmJiBhbGxvd2ZvbGRlcnJlbmFtZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tbGluayB0ZXh0LXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0Tm9kZShub2RlKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGkgW2NsYXNzXT1cImljb25FZGl0XCI+PC9pPlxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPHNhYy1jb250ZXh0bWVudSBjc3NjbGFzcz1cImQtaW5saW5lLWJsb2NrXCI+XHJcbiAgICAgICAgICAgIDxzYWMtY29udGV4dG1lbnVidXR0b25cclxuICAgICAgICAgICAgICAqbmdJZj1cImFsbG93Zm9sZGVyY3JlYXRlXCJcclxuICAgICAgICAgICAgICB0ZXh0PVwie3sgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnRklMRUJST1dTRVJfTkVXRk9MREVSJykgfCBhc3luYyB9fVwiXHJcbiAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkZvbGRlck5ld1wiXHJcbiAgICAgICAgICAgICAgKGNsaWNrZWQpPVwibmV3Tm9kZShub2RlKVwiXHJcbiAgICAgICAgICAgID48L3NhYy1jb250ZXh0bWVudWJ1dHRvbj5cclxuICAgICAgICAgICAgPHNhYy1jb250ZXh0bWVudWJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwibm9kZS5QYXRoICE9PSAnLycgJiYgYWxsb3dmb2xkZXJkZWxldGVcIlxyXG4gICAgICAgICAgICAgIHRleHQ9XCJ7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdGSUxFQlJPV1NFUl9ERUxFVEUnKSB8IGFzeW5jIH19XCJcclxuICAgICAgICAgICAgICBbaWNvbl09XCJpY29uRGVsZXRlXCJcclxuICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJkZWxldGVOb2RlKG5vZGUpXCJcclxuICAgICAgICAgICAgPjwvc2FjLWNvbnRleHRtZW51YnV0dG9uPlxyXG4gICAgICAgICAgICA8c2FjLWNvbnRleHRtZW51c3BsaXR0ZXJcclxuICAgICAgICAgICAgICAqbmdJZj1cImFsbG93Zm9sZGVyY3JlYXRlIHx8IChub2RlLlBhdGggIT09ICcvJyAmJiBhbGxvd2ZvbGRlcmRlbGV0ZSlcIlxyXG4gICAgICAgICAgICA+PC9zYWMtY29udGV4dG1lbnVzcGxpdHRlcj5cclxuICAgICAgICAgICAgPHNhYy1jb250ZXh0bWVudWJ1dHRvblxyXG4gICAgICAgICAgICAgIHRleHQ9XCJ7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdGSUxFQlJPV1NFUl9SRUZSRVNIJykgfCBhc3luYyB9fVwiXHJcbiAgICAgICAgICAgICAgW2ljb25dPVwiaWNvblJlZnJlc2hcIlxyXG4gICAgICAgICAgICAgIChjbGlja2VkKT1cInJlZnJlc2hOb2RlKG5vZGUpXCJcclxuICAgICAgICAgICAgPjwvc2FjLWNvbnRleHRtZW51YnV0dG9uPlxyXG4gICAgICAgICAgPC9zYWMtY29udGV4dG1lbnU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbGk+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9kZS5Jc0V4cGFuZGVkXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY2hpbGQgb2Ygbm9kZS5DaGlsZE5vZGVzXCJcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRyZWVJdGVtXCJcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bm9kZTogY2hpbGQsIGRlZXA6IGRlZXAgKyAxfVwiXHJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1tZC03IGNvbC1sZy04XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWROb2RlICYmIHNlbGVjdGVkTm9kZS5GaWxlc1wiPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiYWxsb3dmaWxldXBsb2FkXCIgbmdGb3JtPlxyXG4gICAgICAgIDxzYWMtZHJvcHpvbmVtdWx0aXBsZVxyXG4gICAgICAgICAgW2Rpc2FibGVsYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgIFtlbmRwb2ludF09XCJhcGl1cmwgKyAnL3VwbG9hZHJlZ2lzdGVyJ1wiXHJcbiAgICAgICAgICBuYW1lPVwidXBsb2FkXCJcclxuICAgICAgICAgIHVwbG9hZGhlaWdodD1cIjVyZW1cIlxyXG4gICAgICAgICAgW25nTW9kZWxdPVwidXBsb2Fkc1wiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGxvYWRDb21wbGV0ZShzZWxlY3RlZE5vZGUsJGV2ZW50KVwiXHJcbiAgICAgICAgICBbYWxsb3dlZHR5cGVzXT1cImFsbG93ZWR0eXBlc1wiXHJcbiAgICAgICAgICA+e3sgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnRklMRUJST1dTRVJfVVBMT0FEJykgfCBhc3luY1xyXG4gICAgICAgICAgfX08L3NhYy1kcm9wem9uZW11bHRpcGxlXHJcbiAgICAgICAgPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkIHRhYmxlLWhvdmVyIGFsaWduLW1pZGRsZVwiPlxyXG4gICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICA8dGg+XHJcbiAgICAgICAgICAgICAge3sgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnRklMRUJST1dTRVJfR1JJRF9GSUxFJykgfCBhc3luY1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDx0aD5cclxuICAgICAgICAgICAgICB7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdGSUxFQlJPV1NFUl9HUklEX1NJWkUnKSB8IGFzeW5jXHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDgwcHhcIj48L3RoPlxyXG4gICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkTm9kZS5GaWxlcy5sZW5ndGggPT09IDBcIj5cclxuICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjNcIj5cclxuICAgICAgICAgICAgICAgICAge3sgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZygnRklMRUJST1dTRVJfTk9fRklMRVMnKSB8XHJcbiAgICAgICAgICAgICAgICAgIGFzeW5jIH19XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWROb2RlLkZpbGVzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICA8dHJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNlbGVjdGVkTm9kZS5GaWxlc1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RmlsZShpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MudGFibGUtcHJpbWFyeV09XCJzZWxlY3RlZEZpbGVJdGVtID09PSBpdGVtXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8dGQgW2NsYXNzLnAtMl09XCJpdGVtLklzRWRpdE1vZGVcIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLklzRWRpdE1vZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLkZpbGVuYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5Jc0VkaXRNb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZWRpdEZvbGRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cIml0ZW0uRmlsZW5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3VwZGF0ZU9uOiAnYmx1cid9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicmVuYW1lRmlsZShpdGVtLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnRhcmdldC5ibHVyKCk7ZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJyZW5hbWVGaWxlKGl0ZW0sIG51bGwpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkPnt7IGl0ZW0uU2l6ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLXRvb2xiYXJcIiByb2xlPVwidG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgbWwtYXV0b1wiIHJvbGU9XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhbGxvd2ZpbGVyZW5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLWxpbmsgdGV4dC1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdEZpbGUoaXRlbSk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48aSBbY2xhc3NdPVwiaWNvbkVkaXRcIj48L2lcclxuICAgICAgICAgICAgICAgICAgICAgID48L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cFwiIHJvbGU9XCJncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhbGxvd2ZpbGVkZWxldGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLWxpbmsgdGV4dC1zZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlRmlsZShpdGVtKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjxpIFtjbGFzc109XCJpY29uRGVsZXRlXCI+PC9pXHJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgIDwvdGFibGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { SacButtonComponent } from './button';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvYnV0dG9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTYWNCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbic7XHJcbiJdfQ==
@@ -1,24 +1,26 @@
1
1
  import { Component, forwardRef, Host, Optional } from '@angular/core';
2
- import { ControlContainer, NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
2
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  // import { SacBaseModelControl } from '../../common/basemodelcontrol';
4
- import { SacCheckboxCommon } from '@simpleangularcontrols/sac-common';
5
- import { SacFormDirective } from '../form/form';
6
4
  import { NgClass, NgIf } from '@angular/common';
5
+ import { SacCheckboxCommon } from '@simpleangularcontrols/sac-common';
6
+ import { SacToControlWidthCssPipe } from '../layout/tocontrolwidthcss.pipe';
7
+ import { SacToLabelWidthCssPipe } from '../layout/tolabelwidthcss.pipe';
7
8
  import * as i0 from "@angular/core";
8
- import * as i1 from "../form/form";
9
+ import * as i1 from "../layout/formlayout.directive";
9
10
  /**
10
11
  * Checkbox Kompontente
11
12
  */
12
13
  class SacCheckboxComponent extends SacCheckboxCommon {
14
+ // #region Constructors
13
15
  /**
14
- * Konstruktor
15
- * @param parent Formular
16
- * @param injector Angular Dependency Injection Service
16
+ * Constructor
17
+ * @param formLayout SacFormLayout to define scoped layout settings
18
+ * @param injector Injector for injecting services
17
19
  */
18
- constructor(parent, injector) {
19
- super(parent, injector);
20
+ constructor(formLayout, injector) {
21
+ super(formLayout, injector);
20
22
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacCheckboxComponent, deps: [{ token: i1.SacFormDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacCheckboxComponent, deps: [{ token: i1.SacFormLayoutDirective, host: true, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
22
24
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacCheckboxComponent, isStandalone: true, selector: "sac-checkbox", providers: [
23
25
  {
24
26
  provide: NG_VALUE_ACCESSOR,
@@ -30,9 +32,7 @@ class SacCheckboxComponent extends SacCheckboxCommon {
30
32
  useExisting: forwardRef(() => SacCheckboxComponent),
31
33
  multi: true,
32
34
  },
33
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"row mb-3 align-items-center\" [class.g-0]=\"disablelabel\">\r\n <div class=\"col-12 col-form-label col-form-label-sm\" [ngClass]=\"[disablelabel === false ? 'col-sm-' + labelsize : 'sr-only' ]\">\r\n <ng-container *ngIf=\"!disablelabel\">{{label}}</ng-container>\r\n </div>\r\n <div class=\"col-12\" [ngClass]=\"[disablelabel === false ? 'col-sm-' + _inputsize : 'col-sm-12']\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input form-check-input-sm\" id=\"{{name}}\" name=\"{{name}}\" type=\"checkbox\" [checked]=\"value\"\r\n (blur)=\"onTouch()\" (change)=\"setValue($event.target.checked)\" [disabled]=\"isdisabled\" />\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>", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], viewProviders: [
34
- { provide: ControlContainer, useExisting: SacFormDirective },
35
- ] }); }
35
+ ], 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", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SacToControlWidthCssPipe, name: "toControlWidthCss" }, { kind: "pipe", type: SacToLabelWidthCssPipe, name: "toLabelWidthCss" }] }); }
36
36
  }
37
37
  export { SacCheckboxComponent };
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacCheckboxComponent, decorators: [{
@@ -48,12 +48,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
48
48
  useExisting: forwardRef(() => SacCheckboxComponent),
49
49
  multi: true,
50
50
  },
51
- ], viewProviders: [
52
- { provide: ControlContainer, useExisting: SacFormDirective },
53
- ], standalone: true, imports: [NgClass, NgIf], template: "<div class=\"row mb-3 align-items-center\" [class.g-0]=\"disablelabel\">\r\n <div class=\"col-12 col-form-label col-form-label-sm\" [ngClass]=\"[disablelabel === false ? 'col-sm-' + labelsize : 'sr-only' ]\">\r\n <ng-container *ngIf=\"!disablelabel\">{{label}}</ng-container>\r\n </div>\r\n <div class=\"col-12\" [ngClass]=\"[disablelabel === false ? 'col-sm-' + _inputsize : 'col-sm-12']\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input form-check-input-sm\" id=\"{{name}}\" name=\"{{name}}\" type=\"checkbox\" [checked]=\"value\"\r\n (blur)=\"onTouch()\" (change)=\"setValue($event.target.checked)\" [disabled]=\"isdisabled\" />\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>" }]
54
- }], ctorParameters: function () { return [{ type: i1.SacFormDirective, decorators: [{
51
+ ], standalone: true, imports: [NgClass, NgIf, SacToControlWidthCssPipe, SacToLabelWidthCssPipe], 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" }]
52
+ }], ctorParameters: function () { return [{ type: i1.SacFormLayoutDirective, decorators: [{
55
53
  type: Host
56
54
  }, {
57
55
  type: Optional
58
56
  }] }, { type: i0.Injector }]; } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvY2hlY2tib3gvY2hlY2tib3gudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvY2hlY2tib3gvY2hlY2tib3guaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGlCQUFpQixHQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLHVFQUF1RTtBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRWhEOztHQUVHO0FBQ0gsTUF1QmEsb0JBQXFCLFNBQVEsaUJBQWlCO0lBQ3pEOzs7O09BSUc7SUFDSCxZQUFnQyxNQUF3QixFQUFFLFFBQWtCO1FBQzFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQzsrR0FSVSxvQkFBb0I7bUdBQXBCLG9CQUFvQiwyREFuQmxCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLG9CQUFvQjthQUNwQztZQUNEO2dCQUNJLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUNuRCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osaURDN0JMLHMyQkFhTSw0Q0RzQlEsT0FBTyxvRkFBRSxJQUFJLGtGQUpSO1lBQ1gsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFO1NBQy9EOztTQUlRLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQXZCaEMsU0FBUzsrQkFDSSxjQUFjLGFBR2I7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxzQkFBc0I7eUJBQ3BDO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0osaUJBRWM7d0JBQ1gsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFO3FCQUMvRCxjQUNXLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7OzBCQVFiLElBQUk7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xDb250YWluZXIsXHJcbiAgTkdfVkFMSURBVE9SUyxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbi8vIGltcG9ydCB7IFNhY0Jhc2VNb2RlbENvbnRyb2wgfSBmcm9tICcuLi8uLi9jb21tb24vYmFzZW1vZGVsY29udHJvbCc7XHJcbmltcG9ydCB7IFNhY0NoZWNrYm94Q29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4uL2Zvcm0vZm9ybSc7XHJcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuLyoqXHJcbiAqIENoZWNrYm94IEtvbXBvbnRlbnRlXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2FjLWNoZWNrYm94JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5odG1sJyxcclxuICAgIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNhY0NoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNDaGVja2JveENvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgLy8gVmlldyBQcm92aWRlciwgZGFtaXQgZGFzIEZvcm11bGFyIGFuIGRhcyBDb250cm9sIGdlYnVuZGVuIHdlcmRlbiBrYW5uXHJcbiAgICB2aWV3UHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogU2FjRm9ybURpcmVjdGl2ZSB9LFxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgTmdJZl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNDaGVja2JveENvbXBvbmVudCBleHRlbmRzIFNhY0NoZWNrYm94Q29tbW9uIHtcclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEBwYXJhbSBwYXJlbnQgRm9ybXVsYXJcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgQW5ndWxhciBEZXBlbmRlbmN5IEluamVjdGlvbiBTZXJ2aWNlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoQEhvc3QoKSBAT3B0aW9uYWwoKSBwYXJlbnQ6IFNhY0Zvcm1EaXJlY3RpdmUsIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgc3VwZXIocGFyZW50LCBpbmplY3Rvcik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3cgbWItMyBhbGlnbi1pdGVtcy1jZW50ZXJcIiBbY2xhc3MuZy0wXT1cImRpc2FibGVsYWJlbFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLWZvcm0tbGFiZWwgY29sLWZvcm0tbGFiZWwtc21cIiBbbmdDbGFzc109XCJbZGlzYWJsZWxhYmVsID09PSBmYWxzZSA/ICAnY29sLXNtLScgKyBsYWJlbHNpemUgOiAnc3Itb25seScgXVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkaXNhYmxlbGFiZWxcIj57e2xhYmVsfX08L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLTEyXCIgW25nQ2xhc3NdPVwiW2Rpc2FibGVsYWJlbCA9PT0gZmFsc2UgPyAnY29sLXNtLScgKyBfaW5wdXRzaXplIDogJ2NvbC1zbS0xMiddXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiPlxyXG4gICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0IGZvcm0tY2hlY2staW5wdXQtc21cIiBpZD1cInt7bmFtZX19XCIgbmFtZT1cInt7bmFtZX19XCIgdHlwZT1cImNoZWNrYm94XCIgW2NoZWNrZWRdPVwidmFsdWVcIlxyXG4gICAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiIChjaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50LnRhcmdldC5jaGVja2VkKVwiIFtkaXNhYmxlZF09XCJpc2Rpc2FibGVkXCIgLz5cclxuICAgICAgPGxhYmVsIGZvcj1cInt7bmFtZX19XCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoZWNrYm94dGV4dFwiPnt7Y2hlY2tib3h0ZXh0fX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvY2hlY2tib3gvY2hlY2tib3gudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvY29udHJvbHMvY2hlY2tib3gvY2hlY2tib3guaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQVksUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSx1RUFBdUU7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBRXhFOztHQUVHO0FBQ0gsTUFtQmEsb0JBQXFCLFNBQVEsaUJBQWlCO0lBQ3pELHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFDc0IsVUFBa0MsRUFDdEQsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQWJVLG9CQUFvQjttR0FBcEIsb0JBQW9CLDJEQWZwQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxvQkFBb0I7YUFDbEM7WUFDRDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDbkQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQzNCSCx5akNBZ0NBLDRDREhZLE9BQU8sb0ZBQUUsSUFBSSx3RkFBRSx3QkFBd0IscURBQUUsc0JBQXNCOztTQUU5RCxvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFuQmhDLFNBQVM7K0JBQ0UsY0FBYyxhQUdiO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsc0JBQXNCO3lCQUNsQzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLGNBQ1csSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsQ0FBQzs7MEJBV3ZFLElBQUk7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuLy8gaW1wb3J0IHsgU2FjQmFzZU1vZGVsQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlbW9kZWxjb250cm9sJztcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNhY0NoZWNrYm94Q29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2x3aWR0aGNzcy5waXBlJztcclxuaW1wb3J0IHsgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSB9IGZyb20gJy4uL2xheW91dC90b2xhYmVsd2lkdGhjc3MucGlwZSc7XHJcblxyXG4vKipcclxuICogQ2hlY2tib3ggS29tcG9udGVudGVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLWNoZWNrYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guaHRtbCcsXHJcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogU2FjQ2hlY2tib3hDb21wb25lbnQsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNDaGVja2JveENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nQ2xhc3MsIE5nSWYsIFNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSwgU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNDaGVja2JveENvbXBvbmVudCBleHRlbmRzIFNhY0NoZWNrYm94Q29tbW9uIHtcclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7XHJcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gIFtjbGFzcy5nLTBdPVwiZGlzYWJsZWxhYmVsXCJcclxuICBbY2xhc3MubWItM109XCIhc3RhY2tlZFwiXHJcbj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNvbC0xMiBjb2wtZm9ybS1sYWJlbCBjb2wtZm9ybS1sYWJlbC1zbVwiXHJcbiAgICBbbmdDbGFzc109XCJbIWRpc2FibGVsYWJlbCAmJiAhc3RhY2tlZCA/ICh0aGlzLmxhYmVsU2l6ZXMgfCB0b0xhYmVsV2lkdGhDc3MpIDogJ3NyLW9ubHknIF1cIlxyXG4gID5cclxuICAgIDxsYWJlbCAqbmdJZj1cIiFkaXNhYmxlbGFiZWwgJiYgIXN0YWNrZWRcIiBmb3I9XCJ7e25hbWV9fVwiPnt7bGFiZWx9fTwvbGFiZWw+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjb2wtMTJcIlxyXG4gICAgW25nQ2xhc3NdPVwiWyFkaXNhYmxlbGFiZWwgJiYgIXN0YWNrZWQgPyAgKHRoaXMubGFiZWxTaXplcyB8IHRvQ29udHJvbFdpZHRoQ3NzKSA6ICcnXVwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0IGZvcm0tY2hlY2staW5wdXQtc21cIlxyXG4gICAgICAgIGlkPVwie3tuYW1lfX1cIlxyXG4gICAgICAgIG5hbWU9XCJ7e25hbWV9fVwiXHJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICBbY2hlY2tlZF09XCJ2YWx1ZVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgICAgICAoY2hhbmdlKT1cInNldFZhbHVlKCRldmVudC50YXJnZXQuY2hlY2tlZClcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc2Rpc2FibGVkXCJcclxuICAgICAgLz5cclxuICAgICAgPGxhYmVsIGZvcj1cInt7bmFtZX19XCIgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoZWNrYm94dGV4dFwiPnt7Y2hlY2tib3h0ZXh0fX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19