@simpleangularcontrols/sac-bootstrap4 16.0.0-rc.4 → 16.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.
- package/components/browser/browser.d.ts.map +1 -1
- package/controls/checkbox/checkbox.d.ts.map +1 -1
- package/controls/checkbox/radiobutton.d.ts.map +1 -1
- package/controls/checkbox/radiobuttons.d.ts.map +1 -1
- package/controls/confirm/confirm.service.d.ts +10 -11
- package/controls/confirm/confirm.service.d.ts.map +1 -1
- package/controls/datetime/date.d.ts.map +1 -1
- package/controls/datetime/datetime.d.ts.map +1 -1
- package/controls/datetime/time.d.ts.map +1 -1
- package/controls/grid/grid.d.ts +2 -2
- package/controls/grid/grid.d.ts.map +1 -1
- package/controls/input/input.d.ts.map +1 -1
- package/controls/input/inputarea.d.ts.map +1 -1
- package/controls/input/inputcurrency.d.ts.map +1 -1
- package/controls/input/inputdecimal.d.ts.map +1 -1
- package/controls/input/inputemail.d.ts.map +1 -1
- package/controls/input/inputinteger.d.ts.map +1 -1
- package/controls/input/inputpassword.d.ts.map +1 -1
- package/controls/input/inputsearch.d.ts.map +1 -1
- package/controls/layout/layout.module.d.ts +5 -3
- package/controls/layout/layout.module.d.ts.map +1 -1
- package/controls/layout/tocontrolheight.pipe.d.ts +13 -0
- package/controls/layout/tocontrolheight.pipe.d.ts.map +1 -0
- package/controls/layout/tolabelheight.pipe.d.ts +13 -0
- package/controls/layout/tolabelheight.pipe.d.ts.map +1 -0
- package/controls/list/dropdown.d.ts.map +1 -1
- package/controls/list/listbox.d.ts.map +1 -1
- package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
- package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
- package/controls/static/formcontainer.d.ts +2 -2
- package/controls/static/formcontainer.d.ts.map +1 -1
- package/controls/static/staticlabel.d.ts.map +1 -1
- package/controls/tinymce/tinymce.d.ts.map +1 -1
- package/controls/upload/dropzonemultiple.d.ts.map +1 -1
- package/controls/upload/dropzonesingle.d.ts.map +1 -1
- package/controls/upload/upload.d.ts.map +1 -1
- package/controls/upload/uploadmultiple.d.ts.map +1 -1
- package/esm2022/components/browser/browser.mjs +7 -7
- package/esm2022/controls/buttons/button.mjs +3 -3
- package/esm2022/controls/checkbox/checkbox.mjs +10 -3
- package/esm2022/controls/checkbox/radiobutton.mjs +3 -3
- package/esm2022/controls/checkbox/radiobuttons.mjs +10 -3
- package/esm2022/controls/confirm/confirm.mjs +3 -3
- package/esm2022/controls/confirm/confirm.service.mjs +31 -16
- package/esm2022/controls/datetime/date.mjs +7 -3
- package/esm2022/controls/datetime/datetime.mjs +7 -3
- package/esm2022/controls/datetime/time.mjs +7 -3
- package/esm2022/controls/grid/grid.mjs +6 -6
- package/esm2022/controls/input/input.mjs +7 -3
- package/esm2022/controls/input/inputarea.mjs +7 -3
- package/esm2022/controls/input/inputcurrency.mjs +7 -3
- package/esm2022/controls/input/inputdecimal.mjs +7 -3
- package/esm2022/controls/input/inputemail.mjs +7 -3
- package/esm2022/controls/input/inputinteger.mjs +7 -3
- package/esm2022/controls/input/inputpassword.mjs +7 -3
- package/esm2022/controls/input/inputsearch.mjs +12 -3
- package/esm2022/controls/layout/layout.module.mjs +11 -1
- package/esm2022/controls/layout/tocontrolheight.pipe.mjs +35 -0
- package/esm2022/controls/layout/tolabelheight.pipe.mjs +35 -0
- package/esm2022/controls/list/dropdown.mjs +7 -3
- package/esm2022/controls/list/listbox.mjs +7 -3
- package/esm2022/controls/multilanguage/multilanguageinput.mjs +7 -3
- package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +7 -3
- package/esm2022/controls/static/formcontainer.mjs +7 -5
- package/esm2022/controls/static/staticlabel.mjs +12 -3
- package/esm2022/controls/tinymce/tinymce.mjs +5 -3
- package/esm2022/controls/upload/dropzonemultiple.mjs +5 -3
- package/esm2022/controls/upload/dropzonesingle.mjs +5 -3
- package/esm2022/controls/upload/upload.mjs +7 -3
- package/esm2022/controls/upload/uploadmultiple.mjs +5 -3
- package/esm2022/public_api.mjs +3 -1
- package/fesm2022/simpleangularcontrols-sac-bootstrap4.mjs +227 -82
- package/fesm2022/simpleangularcontrols-sac-bootstrap4.mjs.map +1 -1
- package/package.json +2 -2
- package/public_api.d.ts +2 -0
- package/public_api.d.ts.map +1 -1
- package/simpleangularcontrols-sac-bootstrap4-16.0.0-rc.6.tgz +0 -0
- package/simpleangularcontrols-sac-bootstrap4-16.0.0-rc.4.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/components/browser/browser.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAoB,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAa,QAAQ,EAAa,MAAM,eAAe,CAAC;AAE/D,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAY,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;;AAMxE;;GAEG;AACH,qBAmBa,mBAAoB,SAAQ,oBAAoB;IAsBzD,OAAO,CAAC,cAAc;IAnBxB;;OAEG;IAEH,OAAO,CAAC,eAAe,CAA+B;IAMtD;;;;;OAKG;gBAED,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EACV,cAAc,EAAE,cAAc;IASxC;;;;OAIG;IACI,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/components/browser/browser.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAoB,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAa,QAAQ,EAAa,MAAM,eAAe,CAAC;AAE/D,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAY,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;;AAMxE;;GAEG;AACH,qBAmBa,mBAAoB,SAAQ,oBAAoB;IAsBzD,OAAO,CAAC,cAAc;IAnBxB;;OAEG;IAEH,OAAO,CAAC,eAAe,CAA+B;IAMtD;;;;;OAKG;gBAED,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EACV,cAAc,EAAE,cAAc;IASxC;;;;OAIG;IACI,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC;IAwBjE;;;;OAIG;IACI,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC;IAwBjE;;;;OAIG;IACI,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;IAIzC;;;OAGG;IACI,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;yCAtGrC,mBAAmB;2CAAnB,mBAAmB;CAiH/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/checkbox/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,QAAQ,EAAY,MAAM,eAAe,CAAC;AAIhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/checkbox/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,QAAQ,EAAY,MAAM,eAAe,CAAC;AAIhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAKxE;;GAEG;AACH,qBA0Ba,oBAAqB,SAAQ,iBAAiB;IAGzD;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAVT,oBAAoB;2CAApB,oBAAoB;CAgBhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radiobutton.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/checkbox/radiobutton.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;;AAG1D;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"radiobutton.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/checkbox/radiobutton.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;;AAG1D;;GAEG;AACH,qBAOa,uBAAwB,SAAQ,oBAAoB;IAC/D;;;OAGG;gBACiB,eAAe,EAAE,wBAAwB;yCALlD,uBAAuB;2CAAvB,uBAAuB;CAQnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radiobuttons.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/checkbox/radiobuttons.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"radiobuttons.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/checkbox/radiobuttons.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAKxE;;GAEG;AACH,qBAyBa,wBAAyB,SAAQ,qBAAqB;IAGjE;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAVT,wBAAwB;2CAAxB,wBAAwB;CAgBpC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { ComponentFactoryResolver,
|
|
2
|
-
import {
|
|
1
|
+
import { ApplicationRef, ComponentFactory, ComponentFactoryResolver, EventEmitter, Injector } from '@angular/core';
|
|
2
|
+
import { SacConfirmButton, ServiceConfirmCommon } from '@simpleangularcontrols/sac-common';
|
|
3
3
|
import { SacConfirmComponent } from './confirm';
|
|
4
|
-
import { EventEmitter } from '@angular/core';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
/**
|
|
7
6
|
* Service für Confirm Messages in TypeScript Code
|
|
@@ -20,17 +19,17 @@ import * as i0 from "@angular/core";
|
|
|
20
19
|
export declare class ServiceConfirm extends ServiceConfirmCommon {
|
|
21
20
|
private componentFactoryResolver;
|
|
22
21
|
/**
|
|
23
|
-
*
|
|
22
|
+
* Collection von Buttons die angezeigt werden müssen.
|
|
24
23
|
*/
|
|
25
|
-
private
|
|
24
|
+
private buttons;
|
|
26
25
|
/**
|
|
27
26
|
* Message die in Dialog angezeigt werden soll.
|
|
28
27
|
*/
|
|
29
28
|
private message;
|
|
30
29
|
/**
|
|
31
|
-
*
|
|
30
|
+
* Titel der im Dialog angezeigt werden soll.
|
|
32
31
|
*/
|
|
33
|
-
private
|
|
32
|
+
private title;
|
|
34
33
|
/**
|
|
35
34
|
* Konstruktor
|
|
36
35
|
* @param componentFactoryResolver Component Factory Resolver Instanz
|
|
@@ -38,16 +37,16 @@ export declare class ServiceConfirm extends ServiceConfirmCommon {
|
|
|
38
37
|
* @param injector Injector. Wird benötigt um den Dialog dynamisch zu erzeugen
|
|
39
38
|
*/
|
|
40
39
|
constructor(componentFactoryResolver: ComponentFactoryResolver, appRef: ApplicationRef, injector: Injector);
|
|
41
|
-
/**
|
|
42
|
-
* Erzeugen einer Component Factory für einen Dialog
|
|
43
|
-
*/
|
|
44
|
-
GetComponentFactory(): ComponentFactory<SacConfirmComponent>;
|
|
45
40
|
/**
|
|
46
41
|
* Confirm Dialog anzeigen
|
|
47
42
|
* @param message Nachricht die angezeigt werden soll.
|
|
48
43
|
* @returns EventEmitter mit Key des Buttons, welcher geklickt wurde.
|
|
49
44
|
*/
|
|
50
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>;
|
|
51
50
|
/**
|
|
52
51
|
* Konfiguration des Dialogs
|
|
53
52
|
* @param instance Instanz eines SacConfirm Dialogs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirm.service.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/confirm/confirm.service.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"confirm.service.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/confirm/confirm.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EAGZ,QAAQ,EACT,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EAErB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;;AAEhD;;;;;;;;;;;;;GAaG;AACH,qBACa,cAAe,SAAQ,oBAAoB;IA4BpD,OAAO,CAAC,wBAAwB;IAzBlC;;OAEG;IACH,OAAO,CAAC,OAAO,CAA0B;IACzC;;OAEG;IACH,OAAO,CAAC,OAAO,CAAc;IAC7B;;OAEG;IACH,OAAO,CAAC,KAAK,CAAc;IAM3B;;;;;OAKG;gBAGO,wBAAwB,EAAE,wBAAwB,EAC1D,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,QAAQ;IASpB;;;;OAIG;IACI,cAAc,CACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,gBAAgB,EAAS,GACjC,YAAY,CAAC,MAAM,CAAC;IA6BvB;;OAEG;IACI,mBAAmB,IAAI,gBAAgB,CAAC,mBAAmB,CAAC;IAUnE;;;OAGG;IACH,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,mBAAmB;yCA9F5C,cAAc;6CAAd,cAAc;CAuG1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/datetime/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAGV,QAAQ,EAET,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAKlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/datetime/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAGV,QAAQ,EAET,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAKlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAYxE;;GAEG;AACH,qBA6Ba,gBAAiB,SAAQ,aAAa;IAGjD;;;;;OAKG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU;yCAZb,gBAAgB;2CAAhB,gBAAgB;CAkB5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/datetime/datetime.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EAEV,QAAQ,EAGT,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/datetime/datetime.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EAEV,QAAQ,EAGT,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAOxE;;GAEG;AACH,qBA6Ba,oBAAqB,SAAQ,iBAAiB;IAGzD;;;;;OAKG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU;yCAZb,oBAAoB;2CAApB,oBAAoB;CAkBhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/datetime/time.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EAEV,QAAQ,EAGT,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/datetime/time.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EAEV,QAAQ,EAGT,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAOxE;;GAEG;AACH,qBA6Ba,gBAAiB,SAAQ,aAAa;IAGjD;;;;;OAKG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU;yCAZb,gBAAgB;2CAAhB,gBAAgB;CAkB5B"}
|
package/controls/grid/grid.d.ts
CHANGED
|
@@ -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, true, never>;
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/grid/grid.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,
|
|
1
|
+
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/grid/grid.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EAIjB,QAAQ,EACR,WAAW,EACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;;AAGlE;;GAEG;AACH,qBAea,gBAAiB,SAAQ,aAAa;IAGjD;;OAEG;IAEI,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAElC;;OAEG;IACI,QAAQ,EAAE,OAAO,CAAS;IAMjC;;;OAGG;gBACS,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ;yCAtB7C,gBAAgB;2CAAhB,gBAAgB;CA2B5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/input.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/input.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAMxE;;GAEG;AACH,qBAuBa,iBAAkB,SAAQ,cAAc;IAGnD;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAVT,iBAAiB;2CAAjB,iBAAiB;CAgB7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputarea.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/inputarea.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"inputarea.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/inputarea.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAMxE;;GAEG;AACH,qBA2Ba,qBAAsB,SAAQ,kBAAkB;IAG3D;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAVT,qBAAqB;2CAArB,qBAAqB;CAgBjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputcurrency.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/inputcurrency.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"inputcurrency.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/inputcurrency.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAMxE;;GAEG;AACH,qBA2Ba,yBAA0B,SAAQ,sBAAsB;IAGnE;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAVT,yBAAyB;2CAAzB,yBAAyB;CAgBrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputdecimal.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/inputdecimal.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"inputdecimal.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/inputdecimal.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAMxE;;GAEG;AACH,qBA2Ba,wBAAyB,SAAQ,qBAAqB;IAGjE;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAVT,wBAAwB;2CAAxB,wBAAwB;CAgBpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputemail.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/inputemail.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"inputemail.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/inputemail.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAMxE;;GAEG;AACH,qBA2Ba,sBAAuB,SAAQ,mBAAmB;IAG7D;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAVT,sBAAsB;2CAAtB,sBAAsB;CAgBlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputinteger.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/inputinteger.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"inputinteger.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/inputinteger.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAMxE;;GAEG;AACH,qBA2Ba,wBAAyB,SAAQ,qBAAqB;IAGjE;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAVT,wBAAwB;2CAAxB,wBAAwB;CAgBpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputpassword.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/inputpassword.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"inputpassword.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/inputpassword.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAMxE;;GAEG;AACH,qBA2Ba,yBAA0B,SAAQ,sBAAsB;IAGnE;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAVT,yBAAyB;2CAAzB,yBAAyB;CAgBrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputsearch.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/inputsearch.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"inputsearch.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/input/inputsearch.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAMxE;;GAEG;AACH,qBA0Ba,uBAAwB,SAAQ,oBAAoB;IAG/D;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAVT,uBAAuB;2CAAvB,uBAAuB;CAgBnC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "@angular/common";
|
|
3
3
|
import * as i2 from "./formlayout.directive";
|
|
4
|
-
import * as i3 from "./
|
|
5
|
-
import * as i4 from "./
|
|
4
|
+
import * as i3 from "./tocontrolheight.pipe";
|
|
5
|
+
import * as i4 from "./tocontrolwidthcss.pipe";
|
|
6
|
+
import * as i5 from "./tolabelheight.pipe";
|
|
7
|
+
import * as i6 from "./tolabelwidthcss.pipe";
|
|
6
8
|
export declare class SACBootstrap4LayoutModule {
|
|
7
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<SACBootstrap4LayoutModule, never>;
|
|
8
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SACBootstrap4LayoutModule, never, [typeof i1.CommonModule, typeof i2.SacFormLayoutDirective, typeof i3.
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SACBootstrap4LayoutModule, never, [typeof i1.CommonModule, typeof i2.SacFormLayoutDirective, typeof i3.SacToControlHeightPipe, typeof i4.SacToControlWidthCssPipe, typeof i5.SacToLabelHeightPipe, typeof i6.SacToLabelWidthCssPipe], [typeof i2.SacFormLayoutDirective, typeof i3.SacToControlHeightPipe, typeof i4.SacToControlWidthCssPipe, typeof i5.SacToLabelHeightPipe, typeof i6.SacToLabelWidthCssPipe]>;
|
|
9
11
|
static ɵinj: i0.ɵɵInjectorDeclaration<SACBootstrap4LayoutModule>;
|
|
10
12
|
}
|
|
11
13
|
//# sourceMappingURL=layout.module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.module.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/layout/layout.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"layout.module.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/layout/layout.module.ts"],"names":[],"mappings":";;;;;;;AAQA,qBAiBa,yBAAyB;yCAAzB,yBAAyB;0CAAzB,yBAAyB;0CAAzB,yBAAyB;CAAG"}
|
|
@@ -0,0 +1,13 @@
|
|
|
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", true>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=tocontrolheight.pipe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tocontrolheight.pipe.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/layout/tocontrolheight.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;;AAElE,qBAIa,sBAAuB,YAAW,aAAa;IAG1D;;;OAGG;IACI,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,MAAM;yCAP1C,sBAAsB;uCAAtB,sBAAsB;CAwBlC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
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", true>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=tolabelheight.pipe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tolabelheight.pipe.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/layout/tolabelheight.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;;AAElE,qBAIa,oBAAqB,YAAW,aAAa;IAGxD;;;OAGG;IACI,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,MAAM;yCAP1C,oBAAoB;uCAApB,oBAAoB;CAwBhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/list/dropdown.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,UAAU,EAEV,QAAQ,EAER,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/list/dropdown.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,UAAU,EAEV,QAAQ,EAER,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAQxE;;GAEG;AACH,qBA8Ba,oBAAqB,SAAQ,iBAAiB;IAGzD;;;;;;OAMG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,SAAS,EACnB,UAAU,EAAE,UAAU;yCAdb,oBAAoB;2CAApB,oBAAoB;CAoBhC;AAED;;GAEG;AACH,qBACa,0BAA2B,SAAQ,uBAAuB;IAGrE;;;;;OAKG;gBAED,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,SAAS,EACC,YAAY,EAAE,oBAAoB;yCAZ7C,0BAA0B;2CAA1B,0BAA0B;CAkBtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listbox.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/list/listbox.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,UAAU,EAEV,QAAQ,EAER,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"listbox.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/list/listbox.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,UAAU,EAEV,QAAQ,EAER,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAQxE;;GAEG;AACH,qBA6Ba,mBAAoB,SAAQ,gBAAgB;IAGvD;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAVT,mBAAmB;2CAAnB,mBAAmB;CAgB/B;AAED;;GAEG;AACH,qBACa,yBAA0B,SAAQ,sBAAsB;IAGnE;;;;;OAKG;gBAED,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,SAAS,EACC,OAAO,EAAE,mBAAmB;yCAZvC,yBAAyB;2CAAzB,yBAAyB;CAkBrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multilanguageinput.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/multilanguage/multilanguageinput.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EACL,QAAQ,EACR,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"multilanguageinput.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/multilanguage/multilanguageinput.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EACL,QAAQ,EACR,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AASxE;;GAEG;AACH,qBA+Ba,8BAA+B,SAAQ,2BAA2B;IAG7E;;OAEG;IACI,QAAQ,kBAAY;IAM3B;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAnBT,8BAA8B;2CAA9B,8BAA8B;CAyB1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multilanguageinputarea.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/multilanguage/multilanguageinputarea.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EACL,QAAQ,EACR,+BAA+B,EAChC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"multilanguageinputarea.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/multilanguage/multilanguageinputarea.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EACL,QAAQ,EACR,+BAA+B,EAChC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AASxE;;GAEG;AACH,qBA+Ba,kCAAmC,SAAQ,+BAA+B;IAGrF;;OAEG;IACI,QAAQ,kBAAY;IAM3B;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAnBT,kCAAkC;2CAAlC,kCAAkC;CAyB9C"}
|
|
@@ -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
|
|
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
|
|
15
|
+
* <input type="range" class="form-control" />
|
|
16
16
|
* </ngStaticFormContainer>
|
|
17
17
|
*
|
|
18
18
|
**/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formcontainer.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/static/formcontainer.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"formcontainer.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/static/formcontainer.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAKxE;;;;;;;;;;;;;IAaI;AACJ,qBA0Ba,+BAAgC,SAAQ,4BAA4B;IAG/E;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAVT,+BAA+B;2CAA/B,+BAA+B;CAgB3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticlabel.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/static/staticlabel.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"staticlabel.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/static/staticlabel.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAMxE;;GAEG;AACH,qBA0Ba,uBAAwB,SAAQ,oBAAoB;IAG/D;;;;OAIG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ;yCAVT,uBAAuB;2CAAvB,uBAAuB;CAgBnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tinymce.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/tinymce/tinymce.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,QAAQ,EACR,MAAM,EAGP,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AASrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"tinymce.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/tinymce/tinymce.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,QAAQ,EACR,MAAM,EAGP,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AASrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAGxE;;GAEG;AACH,qBAgCa,mBAAoB,SAAQ,gBAAgB;IAGvD;;;;;OAKG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM;IAShB;;;OAGG;IACI,wBAAwB;yCAzBpB,mBAAmB;2CAAnB,mBAAmB;CA8B/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropzonemultiple.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/upload/dropzonemultiple.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,QAAQ,EACR,MAAM,EACN,MAAM,EAEN,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"dropzonemultiple.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/upload/dropzonemultiple.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,QAAQ,EACR,MAAM,EACN,MAAM,EAEN,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAKxE;;;GAGG;AACH,qBA2Ba,4BACX,SAAQ,yBACR,YAAW,MAAM;IAIjB;;;;;;OAMG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM;IAShB;;OAEG;IACI,QAAQ;yCA7BJ,4BAA4B;2CAA5B,4BAA4B;CAkCxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropzonesingle.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/upload/dropzonesingle.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,QAAQ,EACR,MAAM,EACN,MAAM,EAEN,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"dropzonesingle.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/upload/dropzonesingle.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,QAAQ,EACR,MAAM,EACN,MAAM,EAEN,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAKxE;;;GAGG;AACH,qBA2Ba,0BACX,SAAQ,uBACR,YAAW,MAAM;IAIjB;;;;;;OAMG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM;IAShB;;OAEG;IACI,QAAQ;yCA7BJ,0BAA0B;2CAA1B,0BAA0B;CAkCtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/upload/upload.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,QAAQ,EACR,MAAM,EAEN,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/upload/upload.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,QAAQ,EACR,MAAM,EAEN,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAMxE;;;GAGG;AACH,qBA2Ba,kBAAmB,SAAQ,qBAAqB;IAG3D;;;;;;OAMG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM;yCAdL,kBAAkB;2CAAlB,kBAAkB;CAoB9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadmultiple.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/upload/uploadmultiple.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,QAAQ,EACR,MAAM,EAEN,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;
|
|
1
|
+
{"version":3,"file":"uploadmultiple.d.ts","sourceRoot":"","sources":["../../../../projects/sac-bootstrap4/src/controls/upload/uploadmultiple.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,QAAQ,EACR,MAAM,EAEN,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;;AAKxE;;;GAGG;AACH,qBA2Ba,0BAA2B,SAAQ,uBAAuB;IAGrE;;;;;;OAMG;gBAEmB,UAAU,EAAE,sBAAsB,EACtD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM;yCAdL,0BAA0B;2CAA1B,0BAA0B;CAoBtC"}
|
|
@@ -39,8 +39,8 @@ class SacBrowserComponent extends SacFileBrowserCommon {
|
|
|
39
39
|
confirmDeleteFile(file) {
|
|
40
40
|
return new Observable((observer) => {
|
|
41
41
|
forkJoin({
|
|
42
|
-
title: this.lngResourceService.GetString(
|
|
43
|
-
message: this.lngResourceService.GetString(
|
|
42
|
+
title: this.lngResourceService.GetString(this.validationKeyService.FilebrowserButtonDelete),
|
|
43
|
+
message: this.lngResourceService.GetString(this.validationKeyService.FilebrowserConfirmTextDeleteFile),
|
|
44
44
|
}).subscribe((text) => {
|
|
45
45
|
this.confirmService
|
|
46
46
|
.ConfirmMessage(text.title, text.message)
|
|
@@ -64,8 +64,8 @@ class SacBrowserComponent extends SacFileBrowserCommon {
|
|
|
64
64
|
confirmDeleteNode(node) {
|
|
65
65
|
return new Observable((observer) => {
|
|
66
66
|
forkJoin({
|
|
67
|
-
title: this.lngResourceService.GetString(
|
|
68
|
-
message: this.lngResourceService.GetString(
|
|
67
|
+
title: this.lngResourceService.GetString(this.validationKeyService.FilebrowserButtonDelete),
|
|
68
|
+
message: this.lngResourceService.GetString(this.validationKeyService.FilebrowserConfirmTextDeleteFolder),
|
|
69
69
|
}).subscribe((text) => {
|
|
70
70
|
this.confirmService
|
|
71
71
|
.ConfirmMessage(text.title, text.message)
|
|
@@ -100,7 +100,7 @@ class SacBrowserComponent extends SacFileBrowserCommon {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacBrowserComponent, deps: [{ token: i1.HttpClient }, { token: i0.Injector }, { token: i2.ServiceConfirm }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
103
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacBrowserComponent, isStandalone: true, 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=\"mr-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", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "component", type: SacContextmenuComponent, selector: "sac-contextmenu" }, { kind: "component", type: SacContextmenuItemButtonComponent, selector: "sac-contextmenubutton" }, { kind: "component", type: SacContextmenuItemSplitterComponent, selector: "sac-contextmenusplitter" }, { kind: "component", type: SacDropzoneMultipleComponent, selector: "sac-dropzonemultiple" }] }); }
|
|
103
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SacBrowserComponent, isStandalone: true, 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=\"mr-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", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "component", type: SacContextmenuComponent, selector: "sac-contextmenu" }, { kind: "component", type: SacContextmenuItemButtonComponent, selector: "sac-contextmenubutton" }, { kind: "component", type: SacContextmenuItemSplitterComponent, selector: "sac-contextmenusplitter" }, { kind: "component", type: SacDropzoneMultipleComponent, selector: "sac-dropzonemultiple" }] }); }
|
|
104
104
|
}
|
|
105
105
|
export { SacBrowserComponent };
|
|
106
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacBrowserComponent, decorators: [{
|
|
@@ -117,9 +117,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
117
117
|
SacContextmenuItemButtonComponent,
|
|
118
118
|
SacContextmenuItemSplitterComponent,
|
|
119
119
|
SacDropzoneMultipleComponent,
|
|
120
|
-
], 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=\"mr-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(
|
|
120
|
+
], 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=\"mr-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" }]
|
|
121
121
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }, { type: i2.ServiceConfirm }]; }, propDecorators: { uploadComponent: [{
|
|
122
122
|
type: ViewChild,
|
|
123
123
|
args: [SacDropzoneMultipleComponent, { static: false }]
|
|
124
124
|
}] } });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvYnJvd3Nlci50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvYnJvd3Nlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsT0FBTyxFQUNQLE9BQU8sRUFDUCxJQUFJLEVBQ0osZ0JBQWdCLEdBQ2pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFjLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBWSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFHTCxvQkFBb0IsR0FDckIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckcsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBRXRGOztHQUVHO0FBQ0gsTUFtQmEsbUJBQW9CLFNBQVEsb0JBQW9CO0lBUzNELHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7O09BS0c7SUFDSCxZQUNFLFVBQXNCLEVBQ3RCLFFBQWtCLEVBQ1Ys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Q0osT0FBTyxtSEFDUCxPQUFPLCtFQUNQLFNBQVMsNkNBQ1QsV0FBVyw4N0JBQ1gsZ0JBQWdCLCtCQUNoQix1QkFBdUIsNERBQ3ZCLGlDQUFpQyxrRUFDakMsbUNBQW1DLG9FQUNuQyw0QkFBNEI7O1NBSW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQW5CL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FFZixJQUFJLFdBQ1A7d0JBQ1AsZ0JBQWdCO3dCQUNoQixJQUFJO3dCQUNKLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxTQUFTO3dCQUNULFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLGlDQUFpQzt3QkFDakMsbUNBQW1DO3dCQUNuQyw0QkFBNEI7cUJBQzdCLGFBQ1UsQ0FBQyxjQUFjLENBQUM7cUpBU25CLGVBQWU7c0JBRHRCLFNBQVM7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBc3luY1BpcGUsXHJcbiAgTmdDbGFzcyxcclxuICBOZ0Zvck9mLFxyXG4gIE5nSWYsXHJcbiAgTmdUZW1wbGF0ZU91dGxldCxcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgSUJyb3dzZXJGaWxlLFxyXG4gIElCcm93c2VyTm9kZSxcclxuICBTYWNGaWxlQnJvd3NlckNvbW1vbixcclxufSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTZXJ2aWNlQ29uZmlybSB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NvbmZpcm0vY29uZmlybS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb250cm9scy9jb250ZXh0bWVudSc7XHJcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NvbnRleHRtZW51L2NvbnRleHRtZW51aXRlbWJ1dHRvbic7XHJcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51SXRlbVNwbGl0dGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnVpdGVtc3BsaXR0ZXInO1xyXG5pbXBvcnQgeyBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvdXBsb2FkL2Ryb3B6b25lbXVsdGlwbGUnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZlciBGaWxlIEJyb3dzZXIgS29tcG9uZW50ZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtZmlsZWJyb3dzZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9icm93c2VyLmh0bWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcclxuICAgIE5nSWYsXHJcbiAgICBOZ0Zvck9mLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIEFzeW5jUGlwZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIFNhY0NvbnRleHRtZW51Q29tcG9uZW50LFxyXG4gICAgU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgU2FjQ29udGV4dG1lbnVJdGVtU3BsaXR0ZXJDb21wb25lbnQsXHJcbiAgICBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbU2VydmljZUNvbmZpcm1dLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjQnJvd3NlckNvbXBvbmVudCBleHRlbmRzIFNhY0ZpbGVCcm93c2VyQ29tbW9uIHtcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogUmVmZXJlbnogYXVmIFVwbG9hZCBDb21wb25lbnRcclxuICAgKi9cclxuICBAVmlld0NoaWxkKFNhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHByaXZhdGUgdXBsb2FkQ29tcG9uZW50OiBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50O1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gaHR0cENsaWVudCBIVFRQIENsaWVudFxyXG4gICAqIEBwYXJhbSBpbmplY3RvciBBbmd1bGFyIERlcGVuZGVuY3kgSW5qZWN0aW9uIFNlcnZpY2VcclxuICAgKiBAcGFyYW0gY29uZmlybVNlcnZpY2UgQ29uZmlybSBTZXJ2aWNlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBjb25maXJtU2VydmljZTogU2VydmljZUNvbmZpcm1cclxuICApIHtcclxuICAgIHN1cGVyKGh0dHBDbGllbnQsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uZmlybSBBY3Rpb24gd2VubiBlaW4gRmlsZSBnZWzDtnNjaHQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIGRhcyBnZWzDtnNjaHQgd2VyZGVuIHNvbGwuXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvYiBGaWxlIGdlbMO2c2NodCB3ZXJkZW4ga2Fubi5cclxuICAgKi9cclxuICBwdWJsaWMgY29uZmlybURlbGV0ZUZpbGUoZmlsZTogSUJyb3dzZXJGaWxlKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgIGZvcmtKb2luKHtcclxuICAgICAgICB0aXRsZTogdGhpcy5sbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKCdGSUxFQlJPV1NFUl9ERUxFVEUnKSxcclxuICAgICAgICBtZXNzYWdlOiB0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoXHJcbiAgICAgICAgICAnRklMRUJST1dTRVJfQ09ORklSTV9ERUxFVEVGSUxFJ1xyXG4gICAgICAgICksXHJcbiAgICAgIH0pLnN1YnNjcmliZSgodGV4dCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29uZmlybVNlcnZpY2VcclxuICAgICAgICAgIC5Db25maXJtTWVzc2FnZSh0ZXh0LnRpdGxlLCB0ZXh0Lm1lc3NhZ2UpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbmZpcm0gQWN0aW9uIHdlbm4gZWluIE9yZG5lciBnZWzDtnNjaHQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gbm9kZSBPcmRuZXIgZGVyIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2IgT3JkbmVyIGdlbMO2c2NodCBrYW5uLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjb25maXJtRGVsZXRlTm9kZShub2RlOiBJQnJvd3Nlck5vZGUpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgZm9ya0pvaW4oe1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoJ0ZJTEVCUk9XU0VSX0RFTEVURScpLFxyXG4gICAgICAgIG1lc3NhZ2U6IHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyhcclxuICAgICAgICAgICdGSUxFQlJPV1NFUl9DT05GSVJNX0RFTEVURUZPTERFUidcclxuICAgICAgICApLFxyXG4gICAgICB9KS5zdWJzY3JpYmUoKHRleHQpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmZpcm1TZXJ2aWNlXHJcbiAgICAgICAgICAuQ29uZmlybU1lc3NhZ2UodGV4dC50aXRsZSwgdGV4dC5tZXNzYWdlKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09ICd5ZXMnKSB7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh0cnVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFcnpldWd0IGVpbiBBcnJheSB2b24gZWluZXIgYmVzdGltbXRlbiBncsO2c3NlXHJcbiAgICogQHBhcmFtIGFuemFobCBHcsO2c3NlIGRlcyBBcnJheVxyXG4gICAqIEByZXR1cm5zIEFycmF5XHJcbiAgICovXHJcbiAgcHVibGljIGNvdW50KGFuemFobDogbnVtYmVyKTogQXJyYXk8dm9pZD4ge1xyXG4gICAgcmV0dXJuIG5ldyBBcnJheShhbnphaGwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSB3aXJkIGF1ZmdlcnVmZW4sIHdlbm4gZWluZSBEYXRlaSB2ZXJzY2hvYmVuIHdpcmRcclxuICAgKiBAcGFyYW0gdXBsb2FkaWQgVXBsb2FkIElEXHJcbiAgICovXHJcbiAgcHVibGljIHVwbG9hZGVkRmlsZU1vdmVkKHVwbG9hZGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnVwbG9hZENvbXBvbmVudC51cGxvYWRzLmZpbmQoXHJcbiAgICAgIChpdG0pID0+IGl0bS5kb2N1bWVudGlkID09PSB1cGxvYWRpZFxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoaXRlbSkge1xyXG4gICAgICB0aGlzLnVwbG9hZENvbXBvbmVudC5jYW5jZWwoaXRlbS51cGxvYWRJZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTUgY29sLWxnLTRcIj5cclxuICAgIDx1bCBjbGFzcz1cImxpc3QtZ3JvdXAgbGlzdC1ncm91cC1mbHVzaFwiPlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cmVlSXRlbVwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntub2RlOiByb290Tm9kZSwgZGVlcDogMH1cIlxyXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvdWw+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICN0cmVlSXRlbSBsZXQtbm9kZT1cIm5vZGVcIiBsZXQtZGVlcD1cImRlZXBcIj5cclxuICAgICAgPGxpXHJcbiAgICAgICAgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0gcHktMSBweC0yIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgICAgIFtjbGFzcy5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5XT1cIm5vZGUgPT09IHNlbGVjdGVkTm9kZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdE5vZGUobm9kZSlcIlxyXG4gICAgICAgIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJteC0zXCIgKm5nRm9yPVwibGV0IGkgb2YgY291bnQoZGVlcClcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAoY2xpY2spPVwic3dpdGNoRXhwYW5kTm9kZShub2RlKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcclxuICAgICAgICAgIGNsYXNzPVwibXItMlwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJub2RlLkNoaWxkTm9kZXMubGVuZ3RoID09PSAwID8gaWNvbkZvbGRlckVtcHR5OiAoIW5vZGUuSXNFeHBhbmRlZCAmJiBub2RlLkNoaWxkTm9kZXMubGVuZ3RoID4gMCA/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=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvYnJvd3Nlci50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy9jb21wb25lbnRzL2Jyb3dzZXIvYnJvd3Nlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsT0FBTyxFQUNQLE9BQU8sRUFDUCxJQUFJLEVBQ0osZ0JBQWdCLEdBQ2pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFjLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBWSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFHTCxvQkFBb0IsR0FDckIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckcsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBRXRGOztHQUVHO0FBQ0gsTUFtQmEsbUJBQW9CLFNBQVEsb0JBQW9CO0lBUzNELHdCQUF3QjtJQUV4Qix1QkFBdUI7SUFFdkI7Ozs7O09BS0c7SUFDSCxZQUNFLFVBQXNCLEVBQ3RCLFFBQWtCLEVBQ1YsY0FBOEI7UUFFdEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUZwQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFHeEMsQ0FBQztJQUVELDBCQUEwQjtJQUUxQix5QkFBeUI7SUFFekI7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLElBQWtCO1FBQ3pDLE9BQU8sSUFBSSxVQUFVLENBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMxQyxRQUFRLENBQUM7Z0JBQ1AsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQ3RDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyx1QkFBdUIsQ0FDbEQ7Z0JBQ0QsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQ3hDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxnQ0FBZ0MsQ0FDM0Q7YUFDRixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxjQUFjO3FCQUNoQixjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO3FCQUN4QyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxNQUFNLEtBQUssS0FBSyxFQUFFO3dCQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNyQjt5QkFBTTt3QkFDTCxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUN0QjtvQkFDRCxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksaUJBQWlCLENBQUMsSUFBa0I7UUFDekMsT0FBTyxJQUFJLFVBQVUsQ0FBVSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzFDLFFBQVEsQ0FBQztnQkFDUCxLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHVCQUF1QixDQUNsRDtnQkFDRCxPQUFPLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FDeEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtDQUFrQyxDQUM3RDthQUNGLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLGNBQWM7cUJBQ2hCLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUM7cUJBQ3hDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUNwQixJQUFJLE1BQU0sS0FBSyxLQUFLLEVBQUU7d0JBQ3BCLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ3JCO3lCQUFNO3dCQUNMLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ3RCO29CQUNELFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDdEIsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsTUFBYztRQUN6QixPQUFPLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxpQkFBaUIsQ0FBQyxRQUFnQjtRQUN2QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzVDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FDckMsQ0FBQztRQUVGLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzVDO0lBQ0gsQ0FBQzsrR0E5R1UsbUJBQW1CO21HQUFuQixtQkFBbUIsOERBRm5CLENBQUMsY0FBYyxDQUFDLDJFQVFoQiw0QkFBNEIsdUVDbER6QyxtbFBBZ0xBLDRDRGxKSSxnQkFBZ0Isb0pBQ2hCLElBQUksNkZBQ0osT0FBTyxtSEFDUCxPQUFPLCtFQUNQLFNBQVMsNkNBQ1QsV0FBVyw4N0JBQ1gsZ0JBQWdCLCtCQUNoQix1QkFBdUIsNERBQ3ZCLGlDQUFpQyxrRUFDakMsbUNBQW1DLG9FQUNuQyw0QkFBNEI7O1NBSW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQW5CL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FFZixJQUFJLFdBQ1A7d0JBQ1AsZ0JBQWdCO3dCQUNoQixJQUFJO3dCQUNKLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxTQUFTO3dCQUNULFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLGlDQUFpQzt3QkFDakMsbUNBQW1DO3dCQUNuQyw0QkFBNEI7cUJBQzdCLGFBQ1UsQ0FBQyxjQUFjLENBQUM7cUpBU25CLGVBQWU7c0JBRHRCLFNBQVM7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBc3luY1BpcGUsXHJcbiAgTmdDbGFzcyxcclxuICBOZ0Zvck9mLFxyXG4gIE5nSWYsXHJcbiAgTmdUZW1wbGF0ZU91dGxldCxcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgSUJyb3dzZXJGaWxlLFxyXG4gIElCcm93c2VyTm9kZSxcclxuICBTYWNGaWxlQnJvd3NlckNvbW1vbixcclxufSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTZXJ2aWNlQ29uZmlybSB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NvbmZpcm0vY29uZmlybS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb250cm9scy9jb250ZXh0bWVudSc7XHJcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NvbnRleHRtZW51L2NvbnRleHRtZW51aXRlbWJ1dHRvbic7XHJcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51SXRlbVNwbGl0dGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvY29udGV4dG1lbnUvY29udGV4dG1lbnVpdGVtc3BsaXR0ZXInO1xyXG5pbXBvcnQgeyBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvdXBsb2FkL2Ryb3B6b25lbXVsdGlwbGUnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZlciBGaWxlIEJyb3dzZXIgS29tcG9uZW50ZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtZmlsZWJyb3dzZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9icm93c2VyLmh0bWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcclxuICAgIE5nSWYsXHJcbiAgICBOZ0Zvck9mLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIEFzeW5jUGlwZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIFNhY0NvbnRleHRtZW51Q29tcG9uZW50LFxyXG4gICAgU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgU2FjQ29udGV4dG1lbnVJdGVtU3BsaXR0ZXJDb21wb25lbnQsXHJcbiAgICBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbU2VydmljZUNvbmZpcm1dLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjQnJvd3NlckNvbXBvbmVudCBleHRlbmRzIFNhY0ZpbGVCcm93c2VyQ29tbW9uIHtcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogUmVmZXJlbnogYXVmIFVwbG9hZCBDb21wb25lbnRcclxuICAgKi9cclxuICBAVmlld0NoaWxkKFNhY0Ryb3B6b25lTXVsdGlwbGVDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHByaXZhdGUgdXBsb2FkQ29tcG9uZW50OiBTYWNEcm9wem9uZU11bHRpcGxlQ29tcG9uZW50O1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gaHR0cENsaWVudCBIVFRQIENsaWVudFxyXG4gICAqIEBwYXJhbSBpbmplY3RvciBBbmd1bGFyIERlcGVuZGVuY3kgSW5qZWN0aW9uIFNlcnZpY2VcclxuICAgKiBAcGFyYW0gY29uZmlybVNlcnZpY2UgQ29uZmlybSBTZXJ2aWNlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBjb25maXJtU2VydmljZTogU2VydmljZUNvbmZpcm1cclxuICApIHtcclxuICAgIHN1cGVyKGh0dHBDbGllbnQsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uZmlybSBBY3Rpb24gd2VubiBlaW4gRmlsZSBnZWzDtnNjaHQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIGRhcyBnZWzDtnNjaHQgd2VyZGVuIHNvbGwuXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvYiBGaWxlIGdlbMO2c2NodCB3ZXJkZW4ga2Fubi5cclxuICAgKi9cclxuICBwdWJsaWMgY29uZmlybURlbGV0ZUZpbGUoZmlsZTogSUJyb3dzZXJGaWxlKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgIGZvcmtKb2luKHtcclxuICAgICAgICB0aXRsZTogdGhpcy5sbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKFxyXG4gICAgICAgICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckJ1dHRvbkRlbGV0ZVxyXG4gICAgICAgICksXHJcbiAgICAgICAgbWVzc2FnZTogdGhpcy5sbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKFxyXG4gICAgICAgICAgdGhpcy52YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckNvbmZpcm1UZXh0RGVsZXRlRmlsZVxyXG4gICAgICAgICksXHJcbiAgICAgIH0pLnN1YnNjcmliZSgodGV4dCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29uZmlybVNlcnZpY2VcclxuICAgICAgICAgIC5Db25maXJtTWVzc2FnZSh0ZXh0LnRpdGxlLCB0ZXh0Lm1lc3NhZ2UpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbmZpcm0gQWN0aW9uIHdlbm4gZWluIE9yZG5lciBnZWzDtnNjaHQgd2VyZGVuIHNvbGxcclxuICAgKiBAcGFyYW0gbm9kZSBPcmRuZXIgZGVyIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2IgT3JkbmVyIGdlbMO2c2NodCBrYW5uLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjb25maXJtRGVsZXRlTm9kZShub2RlOiBJQnJvd3Nlck5vZGUpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgZm9ya0pvaW4oe1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoXHJcbiAgICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQnV0dG9uRGVsZXRlXHJcbiAgICAgICAgKSxcclxuICAgICAgICBtZXNzYWdlOiB0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoXHJcbiAgICAgICAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQ29uZmlybVRleHREZWxldGVGb2xkZXJcclxuICAgICAgICApLFxyXG4gICAgICB9KS5zdWJzY3JpYmUoKHRleHQpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmZpcm1TZXJ2aWNlXHJcbiAgICAgICAgICAuQ29uZmlybU1lc3NhZ2UodGV4dC50aXRsZSwgdGV4dC5tZXNzYWdlKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09ICd5ZXMnKSB7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh0cnVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFcnpldWd0IGVpbiBBcnJheSB2b24gZWluZXIgYmVzdGltbXRlbiBncsO2c3NlXHJcbiAgICogQHBhcmFtIGFuemFobCBHcsO2c3NlIGRlcyBBcnJheVxyXG4gICAqIEByZXR1cm5zIEFycmF5XHJcbiAgICovXHJcbiAgcHVibGljIGNvdW50KGFuemFobDogbnVtYmVyKTogQXJyYXk8dm9pZD4ge1xyXG4gICAgcmV0dXJuIG5ldyBBcnJheShhbnphaGwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSB3aXJkIGF1ZmdlcnVmZW4sIHdlbm4gZWluZSBEYXRlaSB2ZXJzY2hvYmVuIHdpcmRcclxuICAgKiBAcGFyYW0gdXBsb2FkaWQgVXBsb2FkIElEXHJcbiAgICovXHJcbiAgcHVibGljIHVwbG9hZGVkRmlsZU1vdmVkKHVwbG9hZGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnVwbG9hZENvbXBvbmVudC51cGxvYWRzLmZpbmQoXHJcbiAgICAgIChpdG0pID0+IGl0bS5kb2N1bWVudGlkID09PSB1cGxvYWRpZFxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoaXRlbSkge1xyXG4gICAgICB0aGlzLnVwbG9hZENvbXBvbmVudC5jYW5jZWwoaXRlbS51cGxvYWRJZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTUgY29sLWxnLTRcIj5cclxuICAgIDx1bCBjbGFzcz1cImxpc3QtZ3JvdXAgbGlzdC1ncm91cC1mbHVzaFwiPlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cmVlSXRlbVwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntub2RlOiByb290Tm9kZSwgZGVlcDogMH1cIlxyXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvdWw+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICN0cmVlSXRlbSBsZXQtbm9kZT1cIm5vZGVcIiBsZXQtZGVlcD1cImRlZXBcIj5cclxuICAgICAgPGxpXHJcbiAgICAgICAgY2xhc3M9XCJsaXN0LWdyb3VwLWl0ZW0gcHktMSBweC0yIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgICAgIFtjbGFzcy5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5XT1cIm5vZGUgPT09IHNlbGVjdGVkTm9kZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdE5vZGUobm9kZSlcIlxyXG4gICAgICAgIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJteC0zXCIgKm5nRm9yPVwibGV0IGkgb2YgY291bnQoZGVlcClcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAoY2xpY2spPVwic3dpdGNoRXhwYW5kTm9kZShub2RlKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcclxuICAgICAgICAgIGNsYXNzPVwibXItMlwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJub2RlLkNoaWxkTm9kZXMubGVuZ3RoID09PSAwID8gaWNvbkZvbGRlckVtcHR5OiAoIW5vZGUuSXNFeHBhbmRlZCAmJiBub2RlLkNoaWxkTm9kZXMubGVuZ3RoID4gMCA/IGljb25Gb2xkZXJDb2xsYWJzZWQgOiAobm9kZS5Jc0V4cGFuZGVkICYmIG5vZGUuQ2hpbGROb2Rlcy5sZW5ndGggPiAwID8gaWNvbkZvbGRlck9wZW4gOiAnJykpXCJcclxuICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFub2RlLklzRWRpdE1vZGVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPnt7IG5vZGUuTmFtZSB9fTwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub2RlLklzRWRpdE1vZGVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiIG5nRm9ybT5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgbmFtZT1cImVkaXRGb2xkZXJcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiXHJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwibm9kZS5OYW1lXCJcclxuICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3VwZGF0ZU9uOiAnYmx1cid9XCJcclxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyZW5hbWVOb2RlKG5vZGUsICRldmVudClcIlxyXG4gICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIiRldmVudC50YXJnZXQuYmx1cigpO2ZhbHNlO1wiXHJcbiAgICAgICAgICAgICAgKGJsdXIpPVwicmVuYW1lTm9kZShub2RlLCBudWxsKVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMFwiPlxyXG4gICAgICAgICAgPGFcclxuICAgICAgICAgICAgKm5nSWY9XCJub2RlLlBhdGggIT09ICcvJyAmJiBhbGxvd2ZvbGRlcnJlbmFtZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tbGluayB0ZXh0LXNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0Tm9kZShub2RlKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGkgW2NsYXNzXT1cImljb25FZGl0XCI+PC9pPlxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPHNhYy1jb250ZXh0bWVudSBjc3NjbGFzcz1cImQtaW5saW5lLWJsb2NrXCI+XHJcbiAgICAgICAgICAgIDxzYWMtY29udGV4dG1lbnVidXR0b25cclxuICAgICAgICAgICAgICAqbmdJZj1cImFsbG93Zm9sZGVyY3JlYXRlXCJcclxuICAgICAgICAgICAgICB0ZXh0PVwie3sgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyh2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckJ1dHRvbk5ld0ZvbGRlcikgfCBhc3luYyB9fVwiXHJcbiAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkZvbGRlck5ld1wiXHJcbiAgICAgICAgICAgICAgKGNsaWNrZWQpPVwibmV3Tm9kZShub2RlKVwiXHJcbiAgICAgICAgICAgID48L3NhYy1jb250ZXh0bWVudWJ1dHRvbj5cclxuICAgICAgICAgICAgPHNhYy1jb250ZXh0bWVudWJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwibm9kZS5QYXRoICE9PSAnLycgJiYgYWxsb3dmb2xkZXJkZWxldGVcIlxyXG4gICAgICAgICAgICAgIHRleHQ9XCJ7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKHZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQnV0dG9uRGVsZXRlKSB8IGFzeW5jIH19XCJcclxuICAgICAgICAgICAgICBbaWNvbl09XCJpY29uRGVsZXRlXCJcclxuICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJkZWxldGVOb2RlKG5vZGUpXCJcclxuICAgICAgICAgICAgPjwvc2FjLWNvbnRleHRtZW51YnV0dG9uPlxyXG4gICAgICAgICAgICA8c2FjLWNvbnRleHRtZW51c3BsaXR0ZXJcclxuICAgICAgICAgICAgICAqbmdJZj1cImFsbG93Zm9sZGVyY3JlYXRlIHx8IChub2RlLlBhdGggIT09ICcvJyAmJiBhbGxvd2ZvbGRlcmRlbGV0ZSlcIlxyXG4gICAgICAgICAgICA+PC9zYWMtY29udGV4dG1lbnVzcGxpdHRlcj5cclxuICAgICAgICAgICAgPHNhYy1jb250ZXh0bWVudWJ1dHRvblxyXG4gICAgICAgICAgICAgIHRleHQ9XCJ7eyBsbmdSZXNvdXJjZVNlcnZpY2UuR2V0U3RyaW5nKHZhbGlkYXRpb25LZXlTZXJ2aWNlLkZpbGVicm93c2VyQnV0dG9uUmVmcmVzaCkgfCBhc3luYyB9fVwiXHJcbiAgICAgICAgICAgICAgW2ljb25dPVwiaWNvblJlZnJlc2hcIlxyXG4gICAgICAgICAgICAgIChjbGlja2VkKT1cInJlZnJlc2hOb2RlKG5vZGUpXCJcclxuICAgICAgICAgICAgPjwvc2FjLWNvbnRleHRtZW51YnV0dG9uPlxyXG4gICAgICAgICAgPC9zYWMtY29udGV4dG1lbnU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbGk+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9kZS5Jc0V4cGFuZGVkXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgY2hpbGQgb2Ygbm9kZS5DaGlsZE5vZGVzXCJcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRyZWVJdGVtXCJcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bm9kZTogY2hpbGQsIGRlZXA6IGRlZXAgKyAxfVwiXHJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1tZC03IGNvbC1sZy04XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWROb2RlICYmIHNlbGVjdGVkTm9kZS5GaWxlc1wiPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiYWxsb3dmaWxldXBsb2FkXCIgbmdGb3JtPlxyXG4gICAgICAgIDxzYWMtZHJvcHpvbmVtdWx0aXBsZVxyXG4gICAgICAgICAgW2Rpc2FibGVsYWJlbF09XCJ0cnVlXCJcclxuICAgICAgICAgIFtlbmRwb2ludF09XCJhcGl1cmwgKyAnL3VwbG9hZHJlZ2lzdGVyJ1wiXHJcbiAgICAgICAgICBuYW1lPVwidXBsb2FkXCJcclxuICAgICAgICAgIHVwbG9hZGhlaWdodD1cIjVyZW1cIlxyXG4gICAgICAgICAgW25nTW9kZWxdPVwidXBsb2Fkc1wiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGxvYWRDb21wbGV0ZShzZWxlY3RlZE5vZGUsJGV2ZW50KVwiXHJcbiAgICAgICAgICBbYWxsb3dlZHR5cGVzXT1cImFsbG93ZWR0eXBlc1wiXHJcbiAgICAgICAgICA+e3tcclxuICAgICAgICAgIGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcodmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJCdXR0b25VcGxvYWQpXHJcbiAgICAgICAgICB8IGFzeW5jIH19PC9zYWMtZHJvcHpvbmVtdWx0aXBsZVxyXG4gICAgICAgID5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ob3ZlciBhbGlnbi1taWRkbGVcIj5cclxuICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgPHRoPlxyXG4gICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgbG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyh2YWxpZGF0aW9uS2V5U2VydmljZS5GaWxlYnJvd3NlckdyaWRGaWxlbmFtZSlcclxuICAgICAgICAgICAgICB8IGFzeW5jIH19XHJcbiAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDx0aD5cclxuICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgIGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcodmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJHcmlkU2l6ZSlcclxuICAgICAgICAgICAgICB8IGFzeW5jIH19XHJcbiAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA4MHB4XCI+PC90aD5cclxuICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZE5vZGUuRmlsZXMubGVuZ3RoID09PSAwXCI+XHJcbiAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIzXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgIGxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcodmFsaWRhdGlvbktleVNlcnZpY2UuRmlsZWJyb3dzZXJHcmlkTm9GaWxlcylcclxuICAgICAgICAgICAgICAgICAgfCBhc3luYyB9fVxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkTm9kZS5GaWxlcy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgPHRyXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWxlY3RlZE5vZGUuRmlsZXNcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEZpbGUoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLnRhYmxlLXByaW1hcnldPVwic2VsZWN0ZWRGaWxlSXRlbSA9PT0gaXRlbVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHRkIFtjbGFzcy5wLTJdPVwiaXRlbS5Jc0VkaXRNb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5Jc0VkaXRNb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5GaWxlbmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uSXNFZGl0TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImVkaXRGb2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc21cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJpdGVtLkZpbGVuYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInt1cGRhdGVPbjogJ2JsdXInfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInJlbmFtZUZpbGUoaXRlbSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIiRldmVudC50YXJnZXQuYmx1cigpO2ZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwicmVuYW1lRmlsZShpdGVtLCBudWxsKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcclxuICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZD57eyBpdGVtLlNpemV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi10b29sYmFyXCIgcm9sZT1cInRvb2xiYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIG1sLWF1dG9cIiByb2xlPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWxsb3dmaWxlcmVuYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1saW5rIHRleHQtc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRGaWxlKGl0ZW0pOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PGkgW2NsYXNzXT1cImljb25FZGl0XCI+PC9pXHJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIiByb2xlPVwiZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWxsb3dmaWxlZGVsZXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1saW5rIHRleHQtc2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUZpbGUoaXRlbSk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48aSBbY2xhc3NdPVwiaWNvbkRlbGV0ZVwiPjwvaVxyXG4gICAgICAgICAgICAgICAgICAgICAgPjwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|