@openziti/ziti-console-lib 0.6.3 → 0.6.5
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/assets/styles/global.scss +130 -5
- package/assets/styles/ziti.css +2 -2
- package/esm2022/lib/features/config-editor/config-editor.component.mjs +76 -15
- package/esm2022/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.mjs +7 -3
- package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.mjs +22 -1
- package/esm2022/lib/features/dynamic-widgets/number/number-input.component.mjs +10 -9
- package/esm2022/lib/features/dynamic-widgets/object/object.component.mjs +2 -2
- package/esm2022/lib/features/dynamic-widgets/port-ranges/port-ranges.component.mjs +4 -1
- package/esm2022/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.mjs +28 -6
- package/esm2022/lib/features/dynamic-widgets/selector/selector-input.component.mjs +102 -39
- package/esm2022/lib/features/dynamic-widgets/string/string-input.component.mjs +33 -8
- package/esm2022/lib/features/dynamic-widgets/text-list/text-list-input.component.mjs +9 -5
- package/esm2022/lib/features/json-view/json-view.component.mjs +3 -3
- package/esm2022/lib/features/messaging/growler.component.mjs +4 -4
- package/esm2022/lib/features/projectable-forms/configuration/configuration-form.component.mjs +33 -4
- package/esm2022/lib/features/projectable-forms/service/service-form.service.mjs +2 -4
- package/esm2022/lib/features/qr-code/qr-code.component.mjs +4 -1
- package/esm2022/lib/pages/auth-policies/auth-policies-page.component.mjs +7 -1
- package/esm2022/lib/pages/auth-policies/auth-policies-page.service.mjs +10 -3
- package/esm2022/lib/pages/configurations/configurations-page.component.mjs +7 -1
- package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.component.mjs +2 -2
- package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.service.mjs +2 -17
- package/esm2022/lib/pages/edge-routers/edge-routers-page.component.mjs +2 -2
- package/esm2022/lib/pages/edge-routers/edge-routers-page.service.mjs +22 -32
- package/esm2022/lib/pages/identities/identities-page.component.mjs +2 -2
- package/esm2022/lib/pages/identities/identities-page.service.mjs +19 -30
- package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.mjs +2 -2
- package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.mjs +3 -18
- package/esm2022/lib/pages/service-policies/service-policies-page.component.mjs +2 -3
- package/esm2022/lib/pages/service-policies/service-policies-page.service.mjs +2 -17
- package/esm2022/lib/pages/services/services-page.component.mjs +2 -2
- package/esm2022/lib/pages/services/services-page.service.mjs +9 -17
- package/esm2022/lib/services/schema.service.mjs +2 -2
- package/esm2022/lib/services/settings-service.class.mjs +2 -2
- package/esm2022/lib/shared/list-page-component.class.mjs +17 -2
- package/esm2022/lib/shared/list-page-service.class.mjs +22 -4
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/openziti-ziti-console-lib.mjs +425 -220
- package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
- package/lib/features/config-editor/config-editor.component.d.ts +7 -3
- package/lib/features/config-editor/config-editor.component.d.ts.map +1 -1
- package/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.d.ts +2 -0
- package/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.d.ts.map +1 -1
- package/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.d.ts +5 -0
- package/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.d.ts.map +1 -1
- package/lib/features/dynamic-widgets/number/number-input.component.d.ts +2 -0
- package/lib/features/dynamic-widgets/number/number-input.component.d.ts.map +1 -1
- package/lib/features/dynamic-widgets/port-ranges/port-ranges.component.d.ts +1 -0
- package/lib/features/dynamic-widgets/port-ranges/port-ranges.component.d.ts.map +1 -1
- package/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.d.ts +8 -6
- package/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.d.ts.map +1 -1
- package/lib/features/dynamic-widgets/selector/selector-input.component.d.ts +9 -2
- package/lib/features/dynamic-widgets/selector/selector-input.component.d.ts.map +1 -1
- package/lib/features/dynamic-widgets/string/string-input.component.d.ts +4 -1
- package/lib/features/dynamic-widgets/string/string-input.component.d.ts.map +1 -1
- package/lib/features/dynamic-widgets/text-list/text-list-input.component.d.ts +2 -0
- package/lib/features/dynamic-widgets/text-list/text-list-input.component.d.ts.map +1 -1
- package/lib/features/json-view/json-view.component.d.ts +2 -2
- package/lib/features/json-view/json-view.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts +3 -0
- package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/service/service-form.service.d.ts.map +1 -1
- package/lib/features/qr-code/qr-code.component.d.ts.map +1 -1
- package/lib/pages/auth-policies/auth-policies-page.component.d.ts.map +1 -1
- package/lib/pages/auth-policies/auth-policies-page.service.d.ts.map +1 -1
- package/lib/pages/configurations/configurations-page.component.d.ts.map +1 -1
- package/lib/pages/edge-router-policies/edge-router-policies-page.service.d.ts +0 -2
- package/lib/pages/edge-router-policies/edge-router-policies-page.service.d.ts.map +1 -1
- package/lib/pages/edge-routers/edge-routers-page.service.d.ts +5 -3
- package/lib/pages/edge-routers/edge-routers-page.service.d.ts.map +1 -1
- package/lib/pages/identities/identities-page.service.d.ts +4 -2
- package/lib/pages/identities/identities-page.service.d.ts.map +1 -1
- package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.d.ts +0 -2
- package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.d.ts.map +1 -1
- package/lib/pages/service-policies/service-policies-page.component.d.ts.map +1 -1
- package/lib/pages/service-policies/service-policies-page.service.d.ts +0 -2
- package/lib/pages/service-policies/service-policies-page.service.d.ts.map +1 -1
- package/lib/pages/services/services-page.service.d.ts +4 -2
- package/lib/pages/services/services-page.service.d.ts.map +1 -1
- package/lib/services/settings-service.class.d.ts +1 -1
- package/lib/shared/list-page-component.class.d.ts +2 -0
- package/lib/shared/list-page-component.class.d.ts.map +1 -1
- package/lib/shared/list-page-service.class.d.ts +6 -0
- package/lib/shared/list-page-service.class.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -28,7 +28,7 @@ class GrowlerComponent {
|
|
|
28
28
|
this.show = true;
|
|
29
29
|
setTimeout(() => {
|
|
30
30
|
this.show = false;
|
|
31
|
-
},
|
|
31
|
+
}, 7000);
|
|
32
32
|
}
|
|
33
33
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GrowlerComponent, deps: [{ token: i1.GrowlerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
34
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GrowlerComponent, selector: "lib-growler", inputs: { title: "title", subtitle: "subtitle", level: "level", content: "content", show: "show" }, ngImport: i0, template: `
|
|
@@ -37,7 +37,7 @@ class GrowlerComponent {
|
|
|
37
37
|
<div class="subtitle">{{ subtitle }}</div>
|
|
38
38
|
<div [innerHTML]="content" class="content"></div>
|
|
39
39
|
<div class="icon"></div>
|
|
40
|
-
</div>`, isInline: true, styles: ["#Growler{position:fixed;right:20px;bottom:-100px;min-width:300px;z-index:999999999;max-width:500px}#NotificationsMenu .growler{position:relative;width:100%;margin-bottom:20px;opacity:1}.growler{background-color:var(--background);min-height:105px;min-width:334px;font-size:16px;color:#000;text-align:left;border-radius:6px;box-shadow:0 12px 23px #0000001a;transition:.5s;opacity:0}#Growler.open{bottom:20px}.growler.open{opacity:1}.growler .time{font-size:13px;color:#fff;position:absolute;top:7px;right:10px;font-weight:600;font-family:Open Sans,serif}.growler.error .title{background-color:#ff104b}.growler.success .title{background-color:#03db5c}.growler.warning .title{background-color:#ffc103}.growler.info .title{background-color:#0971ff}.growler.bug .title{background-color:#ff104b}.growler .title{padding-left:10px;padding-right:10px;font-size:14px;color:#fff;line-height:30px;text-transform:uppercase;background-color:#03db5c;border-top-left-radius:6px;border-top-right-radius:6px;font-weight:600;font-family:Open Sans,serif}.growler .subtitle{padding-top:10px;font-size:15px;font-weight:700;padding-left:75px;padding-right:10px}.growler .content{font-size:13px;padding-left:75px;padding-right:10px;margin-top:2px;line-height:14px;text-overflow:ellipsis;overflow:hidden;font-weight:400;font-family:Open Sans,serif;color:var(--tableText);padding-bottom:10px}.growler .icon{width:55px;height:55px;background-position:center center;background-size:80%;position:absolute;left:10px;top:40px}.growler.error .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B opacity%3A 0.75%3B fill%3A %23FFFFFF%3B enable-background%3A new%3B %7D .st1 %7B fill%3A %23FFCFDD%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FE124B%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 %09'%2F%3E %3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'7.1' x2%3D'16.1' y1%3D'6.6' y2%3D'15.6'%2F%3E %3Cline class%3D'st2' x1%3D'16.1' x2%3D'7.1' y1%3D'6.6' y2%3D'15.6'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.success .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 24.8 24.2%3B' version%3D'1.1' viewBox%3D'0 0 24.8 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23CCFFE1%3B %7D .st2 %7B fill%3A none%3B stroke%3A %2301DB48%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolyline class%3D'st2' points%3D'19.8%2C3.2 11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.1%2C7.1 %09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.6%2C10.1 10.1%2C15.6 24.1%2C2.1 %09'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.info .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23C0DEFF%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cline class%3D'st2' x1%3D'9.5' x2%3D'14.3' y1%3D'16.6' y2%3D'16.6'%2F%3E %3Cpolyline class%3D'st2' points%3D'10.3%2C9.3 11.9%2C9.3 11.9%2C16.2 %09%09'%2F%3E %3Cg%3E%09%09%09%3Cpath class%3D'st3' d%3D'M11.5%2C5.7c-0.2%2C0-0.4%2C0.2-0.4%2C0.4c0%2C0.2%2C0.2%2C0.4%2C0.4%2C0.4c0.2%2C0%2C0.4-0.2%2C0.4-0.4C11.9%2C5.9%2C11.8%2C5.7%2C11.5%2C5.7%09%09%09%09L11.5%2C5.7z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.warning .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23FFECB6%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'11.6' x2%3D'11.6' y1%3D'13.1' y2%3D'6.1'%2F%3E %3Cpath class%3D'st3' d%3D'M12.1%2C16.6c0%2C0.3-0.2%2C0.5-0.5%2C0.5l0%2C0c-0.3%2C0-0.5-0.2-0.5-0.5l0%2C0c0-0.3%2C0.2-0.5%2C0.5-0.5l0%2C0%09%09%09%09C11.9%2C16.1%2C12.1%2C16.3%2C12.1%2C16.6L12.1%2C16.6z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.bug .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg style%3D'enable-background%3Anew 0 0 21 24%3B' version%3D'1.1' viewBox%3D'0 0 21 24' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23FFE1EB%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FE124B%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'5.5%2C10.5 5.5%2C21 10.5%2C23.5 15.5%2C21 15.5%2C10.5 %09'%2F%3E %3Cpolygon class%3D'st0' points%3D'15.5%2C8.5 14%2C5 10.5%2C4 7%2C5 5.5%2C8.5 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'10.5%2C8.5 15.5%2C8.5 14%2C5 10.5%2C4 %09'%2F%3E %3Cpolygon class%3D'st1' points%3D'10.5%2C23.5 15.5%2C21 15.5%2C10.5 10.5%2C10.5 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cg%3E%09%09%3Cpolyline class%3D'st2' points%3D'6.5%2C0.5 6.5%2C2.5 8.1%2C4.7 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'14.5%2C0.5 14.5%2C2.5 12.9%2C4.7 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.5%2C10.5 3%2C10.5 0.5%2C12.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.5%2C14.5 3%2C14.5 0.5%2C16.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.5%2C18.5 3%2C18.5 0.5%2C20.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'15.5%2C10.5 18%2C10.5 20.5%2C12.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'15.5%2C14.5 18%2C14.5 20.5%2C16.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'15.5%2C18.5 18%2C18.5 20.5%2C20.5 %09%09'%2F%3E %3Cline class%3D'st2' x1%3D'10.5' x2%3D'10.5' y1%3D'23.5' y2%3D'10.5'%2F%3E %3Cline class%3D'st2' x1%3D'5.5' x2%3D'10.5' y1%3D'15' y2%3D'10.5'%2F%3E %3Cline class%3D'st2' x1%3D'15.5' x2%3D'10.5' y1%3D'15' y2%3D'10.5'%2F%3E %3Cpolygon class%3D'st2' points%3D'15.5%2C8.5 14%2C5 10.5%2C4 7%2C5 5.5%2C8.5 %09%09'%2F%3E %3Cpolygon class%3D'st2' points%3D'5.5%2C10.5 5.5%2C21 10.5%2C23.5 15.5%2C21 15.5%2C10.5 %09%09'%2F%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}#NotificationsMenu{z-index:9999;width:0;position:fixed;top:0;bottom:0;left:-80px;background-color:var(--background);border-right:3px solid var(--inputBorder);transition:.3s;opacity:0;overflow:hidden}#NotificationsList{overflow-x:visible;overflow-y:auto;position:absolute;inset:70px 0 0;clear:both;padding:0 22px 22px}#NotificationsMenu.open,#NotificationsList.open{width:380px;left:0;opacity:1}#NotificationsMenu .header.icon{background-image:unset;text-align:center;font-size:30px;font-weight:800;color:var(--icon);line-height:30px;position:relative;float:left;width:30px;height:30px;margin:20px 33px 20px 20px;background-size:75%;left:10px;top:0}#NotificationsMenu .header.title{font-weight:300;font-family:Russo One,serif;font-size:24px;line-height:78px;color:var(--primaryColor);filter:brightness(50%);padding-left:20px;text-transform:uppercase}.NoNotificationsText{margin:0;color:var(--tableText);font-weight:600;font-family:Open Sans,Arial,sans-serif;font-size:14px}#NotificationMenuClose{color:var(--icon);font-size:35px;text-align:center;font-weight:600;line-height:40px;width:40px;height:40px;position:absolute;right:16px;top:17px;cursor:pointer;z-index:20;transition:.3s}#NotificationMenuClose:hover{filter:brightness(50%);transition:.3s}#NotificationMenuClose:active{filter:none;transform:scale(.95);transition:.3s}.sev{height:64px;background-size:40%;background-position:center center;position:relative;float:left}.sevError,.sevMajor,.sevCritical{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B opacity%3A 0.75%3B fill%3A %23FFFFFF%3B enable-background%3A new%3B %7D .st1 %7B fill%3A %23FFCFDD%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FE124B%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 %09'%2F%3E %3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'7.1' x2%3D'16.1' y1%3D'6.6' y2%3D'15.6'%2F%3E %3Cline class%3D'st2' x1%3D'16.1' x2%3D'7.1' y1%3D'6.6' y2%3D'15.6'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.sevWarning,.sevMinor{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23FFECB6%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'11.6' x2%3D'11.6' y1%3D'13.1' y2%3D'6.1'%2F%3E %3Cpath class%3D'st3' d%3D'M12.1%2C16.6c0%2C0.3-0.2%2C0.5-0.5%2C0.5l0%2C0c-0.3%2C0-0.5-0.2-0.5-0.5l0%2C0c0-0.3%2C0.2-0.5%2C0.5-0.5l0%2C0%09%09%09%09C11.9%2C16.1%2C12.1%2C16.3%2C12.1%2C16.6L12.1%2C16.6z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.sevInfo{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23C0DEFF%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cline class%3D'st2' x1%3D'9.5' x2%3D'14.3' y1%3D'16.6' y2%3D'16.6'%2F%3E %3Cpolyline class%3D'st2' points%3D'10.3%2C9.3 11.9%2C9.3 11.9%2C16.2 %09%09'%2F%3E %3Cg%3E%09%09%09%3Cpath class%3D'st3' d%3D'M11.5%2C5.7c-0.2%2C0-0.4%2C0.2-0.4%2C0.4c0%2C0.2%2C0.2%2C0.4%2C0.4%2C0.4c0.2%2C0%2C0.4-0.2%2C0.4-0.4C11.9%2C5.9%2C11.8%2C5.7%2C11.5%2C5.7%09%09%09%09L11.5%2C5.7z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.sevSuccess{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 24.8 24.2%3B' version%3D'1.1' viewBox%3D'0 0 24.8 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23CCFFE1%3B %7D .st2 %7B fill%3A none%3B stroke%3A %2301DB48%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolyline class%3D'st2' points%3D'19.8%2C3.2 11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.1%2C7.1 %09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.6%2C10.1 10.1%2C15.6 24.1%2C2.1 %09'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
40
|
+
</div>`, isInline: true, styles: ["#Growler{position:fixed;right:20px;bottom:-100px;min-width:300px;z-index:999999999;max-width:500px}#NotificationsMenu .growler{position:relative;width:100%;margin-bottom:20px;opacity:1}.growler{background-color:var(--background);min-height:105px;min-width:334px;font-size:16px;color:#000;text-align:left;border-radius:6px;box-shadow:0 12px 23px #0000001a;transition:.5s;opacity:0}#Growler.open{bottom:20px}.growler.open{opacity:1}.growler .time{font-size:13px;color:#fff;position:absolute;top:7px;right:10px;font-weight:600;font-family:Open Sans,serif}.growler.error .title{background-color:#ff104b}.growler.success .title{background-color:#03db5c}.growler.warning .title{background-color:#ffc103}.growler.info .title{background-color:#0971ff}.growler.bug .title{background-color:#ff104b}.growler .title{padding-left:10px;padding-right:10px;font-size:14px;color:#fff;line-height:30px;text-transform:uppercase;background-color:#03db5c;border-top-left-radius:6px;border-top-right-radius:6px;font-weight:600;font-family:Open Sans,serif}.growler .subtitle{padding-top:10px;font-size:15px;font-weight:700;padding-left:75px;padding-right:10px}.growler .content{font-size:13px;padding-left:75px;padding-right:10px;margin-top:2px;line-height:14px;text-overflow:ellipsis;overflow:hidden;font-weight:400;font-family:Open Sans,serif;color:var(--tableText);padding-bottom:10px}.growler .icon{width:55px;height:55px;background-position:center center;background-size:80%;position:absolute;left:10px;top:40px}.growler.error .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B opacity%3A 0.75%3B fill%3A %23FFFFFF%3B enable-background%3A new%3B %7D .st1 %7B fill%3A %23FFCFDD%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FE124B%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 %09'%2F%3E %3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'7.1' x2%3D'16.1' y1%3D'6.6' y2%3D'15.6'%2F%3E %3Cline class%3D'st2' x1%3D'16.1' x2%3D'7.1' y1%3D'6.6' y2%3D'15.6'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.success .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 24.8 24.2%3B' version%3D'1.1' viewBox%3D'0 0 24.8 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23CCFFE1%3B %7D .st2 %7B fill%3A none%3B stroke%3A %2301DB48%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolyline class%3D'st2' points%3D'19.8%2C3.2 11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.1%2C7.1 %09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.6%2C10.1 10.1%2C15.6 24.1%2C2.1 %09'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.info .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23C0DEFF%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cline class%3D'st2' x1%3D'9.5' x2%3D'14.3' y1%3D'16.6' y2%3D'16.6'%2F%3E %3Cpolyline class%3D'st2' points%3D'10.3%2C9.3 11.9%2C9.3 11.9%2C16.2 %09%09'%2F%3E %3Cg%3E%09%09%09%3Cpath class%3D'st3' d%3D'M11.5%2C5.7c-0.2%2C0-0.4%2C0.2-0.4%2C0.4c0%2C0.2%2C0.2%2C0.4%2C0.4%2C0.4c0.2%2C0%2C0.4-0.2%2C0.4-0.4C11.9%2C5.9%2C11.8%2C5.7%2C11.5%2C5.7%09%09%09%09L11.5%2C5.7z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.warning .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23FFECB6%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'11.6' x2%3D'11.6' y1%3D'13.1' y2%3D'6.1'%2F%3E %3Cpath class%3D'st3' d%3D'M12.1%2C16.6c0%2C0.3-0.2%2C0.5-0.5%2C0.5l0%2C0c-0.3%2C0-0.5-0.2-0.5-0.5l0%2C0c0-0.3%2C0.2-0.5%2C0.5-0.5l0%2C0%09%09%09%09C11.9%2C16.1%2C12.1%2C16.3%2C12.1%2C16.6L12.1%2C16.6z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.bug .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg style%3D'enable-background%3Anew 0 0 21 24%3B' version%3D'1.1' viewBox%3D'0 0 21 24' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23FFE1EB%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FE124B%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'5.5%2C10.5 5.5%2C21 10.5%2C23.5 15.5%2C21 15.5%2C10.5 %09'%2F%3E %3Cpolygon class%3D'st0' points%3D'15.5%2C8.5 14%2C5 10.5%2C4 7%2C5 5.5%2C8.5 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'10.5%2C8.5 15.5%2C8.5 14%2C5 10.5%2C4 %09'%2F%3E %3Cpolygon class%3D'st1' points%3D'10.5%2C23.5 15.5%2C21 15.5%2C10.5 10.5%2C10.5 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cg%3E%09%09%3Cpolyline class%3D'st2' points%3D'6.5%2C0.5 6.5%2C2.5 8.1%2C4.7 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'14.5%2C0.5 14.5%2C2.5 12.9%2C4.7 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.5%2C10.5 3%2C10.5 0.5%2C12.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.5%2C14.5 3%2C14.5 0.5%2C16.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.5%2C18.5 3%2C18.5 0.5%2C20.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'15.5%2C10.5 18%2C10.5 20.5%2C12.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'15.5%2C14.5 18%2C14.5 20.5%2C16.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'15.5%2C18.5 18%2C18.5 20.5%2C20.5 %09%09'%2F%3E %3Cline class%3D'st2' x1%3D'10.5' x2%3D'10.5' y1%3D'23.5' y2%3D'10.5'%2F%3E %3Cline class%3D'st2' x1%3D'5.5' x2%3D'10.5' y1%3D'15' y2%3D'10.5'%2F%3E %3Cline class%3D'st2' x1%3D'15.5' x2%3D'10.5' y1%3D'15' y2%3D'10.5'%2F%3E %3Cpolygon class%3D'st2' points%3D'15.5%2C8.5 14%2C5 10.5%2C4 7%2C5 5.5%2C8.5 %09%09'%2F%3E %3Cpolygon class%3D'st2' points%3D'5.5%2C10.5 5.5%2C21 10.5%2C23.5 15.5%2C21 15.5%2C10.5 %09%09'%2F%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}#NotificationsMenu{z-index:9999;width:0;position:fixed;top:0;bottom:0;left:-80px;background-color:var(--background);border-right:3px solid var(--inputBorder);transition:.3s;opacity:0;overflow:hidden}#NotificationsList{overflow-x:visible;overflow-y:auto;position:absolute;inset:70px 0 0;clear:both;padding:0 22px 22px}#NotificationsMenu.open,#NotificationsList.open{width:380px;left:0;opacity:1}#NotificationsMenu .header.icon{background-image:unset;text-align:center;font-size:30px;font-weight:800;color:var(--icon);line-height:30px;position:relative;float:left;width:30px;height:30px;margin:20px 33px 20px 20px;background-size:75%;left:10px;top:0}#NotificationsMenu .header.title{font-weight:300;font-family:Russo One,serif;font-size:24px;line-height:78px;color:var(--primaryColor);filter:brightness(50%);padding-left:20px;text-transform:uppercase}.NoNotificationsText{margin:0;color:var(--tableText);font-weight:600;font-family:Open Sans,Arial,sans-serif;font-size:14px}#NotificationMenuClose{color:var(--icon);font-size:35px;text-align:center;font-weight:600;line-height:40px;width:40px;height:40px;position:absolute;right:16px;top:17px;cursor:pointer;z-index:20;transition:.3s}#NotificationMenuClose:hover{filter:brightness(50%);transition:.3s}#NotificationMenuClose:active{filter:none;transform:scale(.95);transition:.3s}.sev{height:64px;background-size:40%;background-position:center center;position:relative;float:left}.sevError,.sevMajor,.sevCritical{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B opacity%3A 0.75%3B fill%3A %23FFFFFF%3B enable-background%3A new%3B %7D .st1 %7B fill%3A %23FFCFDD%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FE124B%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 %09'%2F%3E %3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'7.1' x2%3D'16.1' y1%3D'6.6' y2%3D'15.6'%2F%3E %3Cline class%3D'st2' x1%3D'16.1' x2%3D'7.1' y1%3D'6.6' y2%3D'15.6'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.sevWarning,.sevMinor{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23FFECB6%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'11.6' x2%3D'11.6' y1%3D'13.1' y2%3D'6.1'%2F%3E %3Cpath class%3D'st3' d%3D'M12.1%2C16.6c0%2C0.3-0.2%2C0.5-0.5%2C0.5l0%2C0c-0.3%2C0-0.5-0.2-0.5-0.5l0%2C0c0-0.3%2C0.2-0.5%2C0.5-0.5l0%2C0%09%09%09%09C11.9%2C16.1%2C12.1%2C16.3%2C12.1%2C16.6L12.1%2C16.6z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.sevInfo{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23C0DEFF%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cline class%3D'st2' x1%3D'9.5' x2%3D'14.3' y1%3D'16.6' y2%3D'16.6'%2F%3E %3Cpolyline class%3D'st2' points%3D'10.3%2C9.3 11.9%2C9.3 11.9%2C16.2 %09%09'%2F%3E %3Cg%3E%09%09%09%3Cpath class%3D'st3' d%3D'M11.5%2C5.7c-0.2%2C0-0.4%2C0.2-0.4%2C0.4c0%2C0.2%2C0.2%2C0.4%2C0.4%2C0.4c0.2%2C0%2C0.4-0.2%2C0.4-0.4C11.9%2C5.9%2C11.8%2C5.7%2C11.5%2C5.7%09%09%09%09L11.5%2C5.7z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.sevSuccess{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 24.8 24.2%3B' version%3D'1.1' viewBox%3D'0 0 24.8 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23CCFFE1%3B %7D .st2 %7B fill%3A none%3B stroke%3A %2301DB48%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolyline class%3D'st2' points%3D'19.8%2C3.2 11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.1%2C7.1 %09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.6%2C10.1 10.1%2C15.6 24.1%2C2.1 %09'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}::ng-deep .growler .content ul{margin-top:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
41
41
|
}
|
|
42
42
|
export { GrowlerComponent };
|
|
43
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GrowlerComponent, decorators: [{
|
|
@@ -48,7 +48,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
48
48
|
<div class="subtitle">{{ subtitle }}</div>
|
|
49
49
|
<div [innerHTML]="content" class="content"></div>
|
|
50
50
|
<div class="icon"></div>
|
|
51
|
-
</div>`, styles: ["#Growler{position:fixed;right:20px;bottom:-100px;min-width:300px;z-index:999999999;max-width:500px}#NotificationsMenu .growler{position:relative;width:100%;margin-bottom:20px;opacity:1}.growler{background-color:var(--background);min-height:105px;min-width:334px;font-size:16px;color:#000;text-align:left;border-radius:6px;box-shadow:0 12px 23px #0000001a;transition:.5s;opacity:0}#Growler.open{bottom:20px}.growler.open{opacity:1}.growler .time{font-size:13px;color:#fff;position:absolute;top:7px;right:10px;font-weight:600;font-family:Open Sans,serif}.growler.error .title{background-color:#ff104b}.growler.success .title{background-color:#03db5c}.growler.warning .title{background-color:#ffc103}.growler.info .title{background-color:#0971ff}.growler.bug .title{background-color:#ff104b}.growler .title{padding-left:10px;padding-right:10px;font-size:14px;color:#fff;line-height:30px;text-transform:uppercase;background-color:#03db5c;border-top-left-radius:6px;border-top-right-radius:6px;font-weight:600;font-family:Open Sans,serif}.growler .subtitle{padding-top:10px;font-size:15px;font-weight:700;padding-left:75px;padding-right:10px}.growler .content{font-size:13px;padding-left:75px;padding-right:10px;margin-top:2px;line-height:14px;text-overflow:ellipsis;overflow:hidden;font-weight:400;font-family:Open Sans,serif;color:var(--tableText);padding-bottom:10px}.growler .icon{width:55px;height:55px;background-position:center center;background-size:80%;position:absolute;left:10px;top:40px}.growler.error .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B opacity%3A 0.75%3B fill%3A %23FFFFFF%3B enable-background%3A new%3B %7D .st1 %7B fill%3A %23FFCFDD%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FE124B%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 %09'%2F%3E %3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'7.1' x2%3D'16.1' y1%3D'6.6' y2%3D'15.6'%2F%3E %3Cline class%3D'st2' x1%3D'16.1' x2%3D'7.1' y1%3D'6.6' y2%3D'15.6'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.success .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 24.8 24.2%3B' version%3D'1.1' viewBox%3D'0 0 24.8 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23CCFFE1%3B %7D .st2 %7B fill%3A none%3B stroke%3A %2301DB48%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolyline class%3D'st2' points%3D'19.8%2C3.2 11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.1%2C7.1 %09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.6%2C10.1 10.1%2C15.6 24.1%2C2.1 %09'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.info .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23C0DEFF%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cline class%3D'st2' x1%3D'9.5' x2%3D'14.3' y1%3D'16.6' y2%3D'16.6'%2F%3E %3Cpolyline class%3D'st2' points%3D'10.3%2C9.3 11.9%2C9.3 11.9%2C16.2 %09%09'%2F%3E %3Cg%3E%09%09%09%3Cpath class%3D'st3' d%3D'M11.5%2C5.7c-0.2%2C0-0.4%2C0.2-0.4%2C0.4c0%2C0.2%2C0.2%2C0.4%2C0.4%2C0.4c0.2%2C0%2C0.4-0.2%2C0.4-0.4C11.9%2C5.9%2C11.8%2C5.7%2C11.5%2C5.7%09%09%09%09L11.5%2C5.7z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.warning .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23FFECB6%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'11.6' x2%3D'11.6' y1%3D'13.1' y2%3D'6.1'%2F%3E %3Cpath class%3D'st3' d%3D'M12.1%2C16.6c0%2C0.3-0.2%2C0.5-0.5%2C0.5l0%2C0c-0.3%2C0-0.5-0.2-0.5-0.5l0%2C0c0-0.3%2C0.2-0.5%2C0.5-0.5l0%2C0%09%09%09%09C11.9%2C16.1%2C12.1%2C16.3%2C12.1%2C16.6L12.1%2C16.6z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.bug .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg style%3D'enable-background%3Anew 0 0 21 24%3B' version%3D'1.1' viewBox%3D'0 0 21 24' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23FFE1EB%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FE124B%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'5.5%2C10.5 5.5%2C21 10.5%2C23.5 15.5%2C21 15.5%2C10.5 %09'%2F%3E %3Cpolygon class%3D'st0' points%3D'15.5%2C8.5 14%2C5 10.5%2C4 7%2C5 5.5%2C8.5 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'10.5%2C8.5 15.5%2C8.5 14%2C5 10.5%2C4 %09'%2F%3E %3Cpolygon class%3D'st1' points%3D'10.5%2C23.5 15.5%2C21 15.5%2C10.5 10.5%2C10.5 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cg%3E%09%09%3Cpolyline class%3D'st2' points%3D'6.5%2C0.5 6.5%2C2.5 8.1%2C4.7 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'14.5%2C0.5 14.5%2C2.5 12.9%2C4.7 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.5%2C10.5 3%2C10.5 0.5%2C12.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.5%2C14.5 3%2C14.5 0.5%2C16.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.5%2C18.5 3%2C18.5 0.5%2C20.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'15.5%2C10.5 18%2C10.5 20.5%2C12.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'15.5%2C14.5 18%2C14.5 20.5%2C16.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'15.5%2C18.5 18%2C18.5 20.5%2C20.5 %09%09'%2F%3E %3Cline class%3D'st2' x1%3D'10.5' x2%3D'10.5' y1%3D'23.5' y2%3D'10.5'%2F%3E %3Cline class%3D'st2' x1%3D'5.5' x2%3D'10.5' y1%3D'15' y2%3D'10.5'%2F%3E %3Cline class%3D'st2' x1%3D'15.5' x2%3D'10.5' y1%3D'15' y2%3D'10.5'%2F%3E %3Cpolygon class%3D'st2' points%3D'15.5%2C8.5 14%2C5 10.5%2C4 7%2C5 5.5%2C8.5 %09%09'%2F%3E %3Cpolygon class%3D'st2' points%3D'5.5%2C10.5 5.5%2C21 10.5%2C23.5 15.5%2C21 15.5%2C10.5 %09%09'%2F%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}#NotificationsMenu{z-index:9999;width:0;position:fixed;top:0;bottom:0;left:-80px;background-color:var(--background);border-right:3px solid var(--inputBorder);transition:.3s;opacity:0;overflow:hidden}#NotificationsList{overflow-x:visible;overflow-y:auto;position:absolute;inset:70px 0 0;clear:both;padding:0 22px 22px}#NotificationsMenu.open,#NotificationsList.open{width:380px;left:0;opacity:1}#NotificationsMenu .header.icon{background-image:unset;text-align:center;font-size:30px;font-weight:800;color:var(--icon);line-height:30px;position:relative;float:left;width:30px;height:30px;margin:20px 33px 20px 20px;background-size:75%;left:10px;top:0}#NotificationsMenu .header.title{font-weight:300;font-family:Russo One,serif;font-size:24px;line-height:78px;color:var(--primaryColor);filter:brightness(50%);padding-left:20px;text-transform:uppercase}.NoNotificationsText{margin:0;color:var(--tableText);font-weight:600;font-family:Open Sans,Arial,sans-serif;font-size:14px}#NotificationMenuClose{color:var(--icon);font-size:35px;text-align:center;font-weight:600;line-height:40px;width:40px;height:40px;position:absolute;right:16px;top:17px;cursor:pointer;z-index:20;transition:.3s}#NotificationMenuClose:hover{filter:brightness(50%);transition:.3s}#NotificationMenuClose:active{filter:none;transform:scale(.95);transition:.3s}.sev{height:64px;background-size:40%;background-position:center center;position:relative;float:left}.sevError,.sevMajor,.sevCritical{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B opacity%3A 0.75%3B fill%3A %23FFFFFF%3B enable-background%3A new%3B %7D .st1 %7B fill%3A %23FFCFDD%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FE124B%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 %09'%2F%3E %3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'7.1' x2%3D'16.1' y1%3D'6.6' y2%3D'15.6'%2F%3E %3Cline class%3D'st2' x1%3D'16.1' x2%3D'7.1' y1%3D'6.6' y2%3D'15.6'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.sevWarning,.sevMinor{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23FFECB6%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'11.6' x2%3D'11.6' y1%3D'13.1' y2%3D'6.1'%2F%3E %3Cpath class%3D'st3' d%3D'M12.1%2C16.6c0%2C0.3-0.2%2C0.5-0.5%2C0.5l0%2C0c-0.3%2C0-0.5-0.2-0.5-0.5l0%2C0c0-0.3%2C0.2-0.5%2C0.5-0.5l0%2C0%09%09%09%09C11.9%2C16.1%2C12.1%2C16.3%2C12.1%2C16.6L12.1%2C16.6z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.sevInfo{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23C0DEFF%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cline class%3D'st2' x1%3D'9.5' x2%3D'14.3' y1%3D'16.6' y2%3D'16.6'%2F%3E %3Cpolyline class%3D'st2' points%3D'10.3%2C9.3 11.9%2C9.3 11.9%2C16.2 %09%09'%2F%3E %3Cg%3E%09%09%09%3Cpath class%3D'st3' d%3D'M11.5%2C5.7c-0.2%2C0-0.4%2C0.2-0.4%2C0.4c0%2C0.2%2C0.2%2C0.4%2C0.4%2C0.4c0.2%2C0%2C0.4-0.2%2C0.4-0.4C11.9%2C5.9%2C11.8%2C5.7%2C11.5%2C5.7%09%09%09%09L11.5%2C5.7z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.sevSuccess{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 24.8 24.2%3B' version%3D'1.1' viewBox%3D'0 0 24.8 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23CCFFE1%3B %7D .st2 %7B fill%3A none%3B stroke%3A %2301DB48%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolyline class%3D'st2' points%3D'19.8%2C3.2 11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.1%2C7.1 %09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.6%2C10.1 10.1%2C15.6 24.1%2C2.1 %09'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}\n"] }]
|
|
51
|
+
</div>`, styles: ["#Growler{position:fixed;right:20px;bottom:-100px;min-width:300px;z-index:999999999;max-width:500px}#NotificationsMenu .growler{position:relative;width:100%;margin-bottom:20px;opacity:1}.growler{background-color:var(--background);min-height:105px;min-width:334px;font-size:16px;color:#000;text-align:left;border-radius:6px;box-shadow:0 12px 23px #0000001a;transition:.5s;opacity:0}#Growler.open{bottom:20px}.growler.open{opacity:1}.growler .time{font-size:13px;color:#fff;position:absolute;top:7px;right:10px;font-weight:600;font-family:Open Sans,serif}.growler.error .title{background-color:#ff104b}.growler.success .title{background-color:#03db5c}.growler.warning .title{background-color:#ffc103}.growler.info .title{background-color:#0971ff}.growler.bug .title{background-color:#ff104b}.growler .title{padding-left:10px;padding-right:10px;font-size:14px;color:#fff;line-height:30px;text-transform:uppercase;background-color:#03db5c;border-top-left-radius:6px;border-top-right-radius:6px;font-weight:600;font-family:Open Sans,serif}.growler .subtitle{padding-top:10px;font-size:15px;font-weight:700;padding-left:75px;padding-right:10px}.growler .content{font-size:13px;padding-left:75px;padding-right:10px;margin-top:2px;line-height:14px;text-overflow:ellipsis;overflow:hidden;font-weight:400;font-family:Open Sans,serif;color:var(--tableText);padding-bottom:10px}.growler .icon{width:55px;height:55px;background-position:center center;background-size:80%;position:absolute;left:10px;top:40px}.growler.error .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B opacity%3A 0.75%3B fill%3A %23FFFFFF%3B enable-background%3A new%3B %7D .st1 %7B fill%3A %23FFCFDD%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FE124B%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 %09'%2F%3E %3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'7.1' x2%3D'16.1' y1%3D'6.6' y2%3D'15.6'%2F%3E %3Cline class%3D'st2' x1%3D'16.1' x2%3D'7.1' y1%3D'6.6' y2%3D'15.6'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.success .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 24.8 24.2%3B' version%3D'1.1' viewBox%3D'0 0 24.8 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23CCFFE1%3B %7D .st2 %7B fill%3A none%3B stroke%3A %2301DB48%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolyline class%3D'st2' points%3D'19.8%2C3.2 11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.1%2C7.1 %09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.6%2C10.1 10.1%2C15.6 24.1%2C2.1 %09'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.info .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23C0DEFF%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cline class%3D'st2' x1%3D'9.5' x2%3D'14.3' y1%3D'16.6' y2%3D'16.6'%2F%3E %3Cpolyline class%3D'st2' points%3D'10.3%2C9.3 11.9%2C9.3 11.9%2C16.2 %09%09'%2F%3E %3Cg%3E%09%09%09%3Cpath class%3D'st3' d%3D'M11.5%2C5.7c-0.2%2C0-0.4%2C0.2-0.4%2C0.4c0%2C0.2%2C0.2%2C0.4%2C0.4%2C0.4c0.2%2C0%2C0.4-0.2%2C0.4-0.4C11.9%2C5.9%2C11.8%2C5.7%2C11.5%2C5.7%09%09%09%09L11.5%2C5.7z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.warning .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23FFECB6%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'11.6' x2%3D'11.6' y1%3D'13.1' y2%3D'6.1'%2F%3E %3Cpath class%3D'st3' d%3D'M12.1%2C16.6c0%2C0.3-0.2%2C0.5-0.5%2C0.5l0%2C0c-0.3%2C0-0.5-0.2-0.5-0.5l0%2C0c0-0.3%2C0.2-0.5%2C0.5-0.5l0%2C0%09%09%09%09C11.9%2C16.1%2C12.1%2C16.3%2C12.1%2C16.6L12.1%2C16.6z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.growler.bug .icon{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg style%3D'enable-background%3Anew 0 0 21 24%3B' version%3D'1.1' viewBox%3D'0 0 21 24' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23FFE1EB%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FE124B%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'5.5%2C10.5 5.5%2C21 10.5%2C23.5 15.5%2C21 15.5%2C10.5 %09'%2F%3E %3Cpolygon class%3D'st0' points%3D'15.5%2C8.5 14%2C5 10.5%2C4 7%2C5 5.5%2C8.5 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'10.5%2C8.5 15.5%2C8.5 14%2C5 10.5%2C4 %09'%2F%3E %3Cpolygon class%3D'st1' points%3D'10.5%2C23.5 15.5%2C21 15.5%2C10.5 10.5%2C10.5 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cg%3E%09%09%3Cpolyline class%3D'st2' points%3D'6.5%2C0.5 6.5%2C2.5 8.1%2C4.7 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'14.5%2C0.5 14.5%2C2.5 12.9%2C4.7 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.5%2C10.5 3%2C10.5 0.5%2C12.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.5%2C14.5 3%2C14.5 0.5%2C16.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.5%2C18.5 3%2C18.5 0.5%2C20.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'15.5%2C10.5 18%2C10.5 20.5%2C12.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'15.5%2C14.5 18%2C14.5 20.5%2C16.5 %09%09'%2F%3E %3Cpolyline class%3D'st2' points%3D'15.5%2C18.5 18%2C18.5 20.5%2C20.5 %09%09'%2F%3E %3Cline class%3D'st2' x1%3D'10.5' x2%3D'10.5' y1%3D'23.5' y2%3D'10.5'%2F%3E %3Cline class%3D'st2' x1%3D'5.5' x2%3D'10.5' y1%3D'15' y2%3D'10.5'%2F%3E %3Cline class%3D'st2' x1%3D'15.5' x2%3D'10.5' y1%3D'15' y2%3D'10.5'%2F%3E %3Cpolygon class%3D'st2' points%3D'15.5%2C8.5 14%2C5 10.5%2C4 7%2C5 5.5%2C8.5 %09%09'%2F%3E %3Cpolygon class%3D'st2' points%3D'5.5%2C10.5 5.5%2C21 10.5%2C23.5 15.5%2C21 15.5%2C10.5 %09%09'%2F%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}#NotificationsMenu{z-index:9999;width:0;position:fixed;top:0;bottom:0;left:-80px;background-color:var(--background);border-right:3px solid var(--inputBorder);transition:.3s;opacity:0;overflow:hidden}#NotificationsList{overflow-x:visible;overflow-y:auto;position:absolute;inset:70px 0 0;clear:both;padding:0 22px 22px}#NotificationsMenu.open,#NotificationsList.open{width:380px;left:0;opacity:1}#NotificationsMenu .header.icon{background-image:unset;text-align:center;font-size:30px;font-weight:800;color:var(--icon);line-height:30px;position:relative;float:left;width:30px;height:30px;margin:20px 33px 20px 20px;background-size:75%;left:10px;top:0}#NotificationsMenu .header.title{font-weight:300;font-family:Russo One,serif;font-size:24px;line-height:78px;color:var(--primaryColor);filter:brightness(50%);padding-left:20px;text-transform:uppercase}.NoNotificationsText{margin:0;color:var(--tableText);font-weight:600;font-family:Open Sans,Arial,sans-serif;font-size:14px}#NotificationMenuClose{color:var(--icon);font-size:35px;text-align:center;font-weight:600;line-height:40px;width:40px;height:40px;position:absolute;right:16px;top:17px;cursor:pointer;z-index:20;transition:.3s}#NotificationMenuClose:hover{filter:brightness(50%);transition:.3s}#NotificationMenuClose:active{filter:none;transform:scale(.95);transition:.3s}.sev{height:64px;background-size:40%;background-position:center center;position:relative;float:left}.sevError,.sevMajor,.sevCritical{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B opacity%3A 0.75%3B fill%3A %23FFFFFF%3B enable-background%3A new%3B %7D .st1 %7B fill%3A %23FFCFDD%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FE124B%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 %09'%2F%3E %3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'7.1' x2%3D'16.1' y1%3D'6.6' y2%3D'15.6'%2F%3E %3Cline class%3D'st2' x1%3D'16.1' x2%3D'7.1' y1%3D'6.6' y2%3D'15.6'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.sevWarning,.sevMinor{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23FFECB6%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23FFC101%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cg%3E%09%09%09%3Cline class%3D'st2' x1%3D'11.6' x2%3D'11.6' y1%3D'13.1' y2%3D'6.1'%2F%3E %3Cpath class%3D'st3' d%3D'M12.1%2C16.6c0%2C0.3-0.2%2C0.5-0.5%2C0.5l0%2C0c-0.3%2C0-0.5-0.2-0.5-0.5l0%2C0c0-0.3%2C0.2-0.5%2C0.5-0.5l0%2C0%09%09%09%09C11.9%2C16.1%2C12.1%2C16.3%2C12.1%2C16.6L12.1%2C16.6z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.sevInfo{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 23.2 24.2%3B' version%3D'1.1' viewBox%3D'0 0 23.2 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23C0DEFF%3B %7D .st2 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D .st3 %7B fill%3A none%3B stroke%3A %23006CFF%3B stroke-width%3A 1.25%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 '%2F%3E %3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 '%2F%3E %3Cpolygon class%3D'st2' points%3D'11.6%2C0.6 22.6%2C4.1 20.1%2C19.6 11.6%2C23.6 3.1%2C19.6 0.6%2C4.1 '%2F%3E %3Cg%3E%09%3Cg%3E%09%09%3Cline class%3D'st2' x1%3D'9.5' x2%3D'14.3' y1%3D'16.6' y2%3D'16.6'%2F%3E %3Cpolyline class%3D'st2' points%3D'10.3%2C9.3 11.9%2C9.3 11.9%2C16.2 %09%09'%2F%3E %3Cg%3E%09%09%09%3Cpath class%3D'st3' d%3D'M11.5%2C5.7c-0.2%2C0-0.4%2C0.2-0.4%2C0.4c0%2C0.2%2C0.2%2C0.4%2C0.4%2C0.4c0.2%2C0%2C0.4-0.2%2C0.4-0.4C11.9%2C5.9%2C11.8%2C5.7%2C11.5%2C5.7%09%09%09%09L11.5%2C5.7z'%2F%3E%09%09%3C%2Fg%3E%09%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}.sevSuccess{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Layer_1' style%3D'enable-background%3Anew 0 0 24.8 24.2%3B' version%3D'1.1' viewBox%3D'0 0 24.8 24.2' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23FFFFFF%3B %7D .st1 %7B fill%3A %23CCFFE1%3B %7D .st2 %7B fill%3A none%3B stroke%3A %2301DB48%3B stroke-width%3A 1.25%3B stroke-linecap%3A round%3B stroke-linejoin%3A round%3B stroke-miterlimit%3A 10%3B %7D%3C%2Fstyle%3E %3Cg id%3D'Background_Color'%3E%09%3Cpolygon class%3D'st0' points%3D'11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.6%2C4.1 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Shadow_Color'%3E%09%3Cpolygon class%3D'st1' points%3D'18.3%2C18.4 11.6%2C21.5 4.9%2C18.4 3.1%2C19.6 11.6%2C23.7 20.1%2C19.6 %09'%2F%3E%3C%2Fg%3E %3Cg id%3D'Stroke_Color'%3E%09%3Cpolyline class%3D'st2' points%3D'19.8%2C3.2 11.6%2C0.6 0.6%2C4.1 3.1%2C19.6 11.6%2C23.6 20.1%2C19.6 22.1%2C7.1 %09'%2F%3E %3Cpolyline class%3D'st2' points%3D'5.6%2C10.1 10.1%2C15.6 24.1%2C2.1 %09'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}::ng-deep .growler .content ul{margin-top:5px}\n"] }]
|
|
52
52
|
}], ctorParameters: function () { return [{ type: i1.GrowlerService }]; }, propDecorators: { title: [{
|
|
53
53
|
type: Input
|
|
54
54
|
}], subtitle: [{
|
|
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
60
60
|
}], show: [{
|
|
61
61
|
type: Input
|
|
62
62
|
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jvd2xlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvZmVhdHVyZXMvbWVzc2FnaW5nL2dyb3dsZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQzs7OztBQUtsRSxNQVdhLGdCQUFnQjtJQVMzQixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFSekMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFNBQUksR0FBRyxLQUFLLENBQUM7SUFNdEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDcEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBRyxJQUFJLENBQUMsaUJBQWlCO1lBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBa0I7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNwQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFWCxDQUFDOytHQWpDVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQix1SkFUakI7Ozs7OztXQU1EOztTQUdFLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQVg1QixTQUFTOytCQUNFLGFBQWEsWUFDYjs7Ozs7O1dBTUQ7cUdBSUEsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7R3Jvd2xlck1vZGVsfSBmcm9tIFwiLi9ncm93bGVyLm1vZGVsXCI7XG5pbXBvcnQge0dyb3dsZXJTZXJ2aWNlfSBmcm9tIFwiLi9ncm93bGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZ3Jvd2xlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiAqbmdJZj1cInNob3dcIiBbbmdDbGFzc109XCJ7IG9wZW46IHNob3cgfVwiIGNsYXNzPVwiZ3Jvd2xlciB7eyBsZXZlbCB9fVwiIGlkPVwiR3Jvd2xlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgdGl0bGUgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdWJ0aXRsZVwiPnt7IHN1YnRpdGxlIH19PC9kaXY+XG4gICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiY29udGVudFwiIGNsYXNzPVwiY29udGVudFwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImljb25cIj48L2Rpdj5cbiAgICA8L2Rpdj5gLFxuICBzdHlsZVVybHM6IFsnLi9ncm93bGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR3Jvd2xlckNvbXBvbmVudCAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIHN1YnRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIGxldmVsID0gJyc7XG4gIEBJbnB1dCgpIGNvbnRlbnQgPSAnJztcbiAgQElucHV0KCkgc2hvdyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZ3Jvd2xlclNlcnZpY2VTdWI6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGdyb3dsZXJTZXJ2aWNlOiBHcm93bGVyU2VydmljZSkge1xuXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdyb3dsZXJTZXJ2aWNlU3ViID0gdGhpcy5ncm93bGVyU2VydmljZS5kYXRhJC5zdWJzY3JpYmUoKGRhdGEpID0+
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jvd2xlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvZmVhdHVyZXMvbWVzc2FnaW5nL2dyb3dsZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQzs7OztBQUtsRSxNQVdhLGdCQUFnQjtJQVMzQixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFSekMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLFNBQUksR0FBRyxLQUFLLENBQUM7SUFNdEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDcEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBRyxJQUFJLENBQUMsaUJBQWlCO1lBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBa0I7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNwQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFWCxDQUFDOytHQWpDVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQix1SkFUakI7Ozs7OztXQU1EOztTQUdFLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQVg1QixTQUFTOytCQUNFLGFBQWEsWUFDYjs7Ozs7O1dBTUQ7cUdBSUEsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7R3Jvd2xlck1vZGVsfSBmcm9tIFwiLi9ncm93bGVyLm1vZGVsXCI7XG5pbXBvcnQge0dyb3dsZXJTZXJ2aWNlfSBmcm9tIFwiLi9ncm93bGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZ3Jvd2xlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiAqbmdJZj1cInNob3dcIiBbbmdDbGFzc109XCJ7IG9wZW46IHNob3cgfVwiIGNsYXNzPVwiZ3Jvd2xlciB7eyBsZXZlbCB9fVwiIGlkPVwiR3Jvd2xlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgdGl0bGUgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdWJ0aXRsZVwiPnt7IHN1YnRpdGxlIH19PC9kaXY+XG4gICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiY29udGVudFwiIGNsYXNzPVwiY29udGVudFwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImljb25cIj48L2Rpdj5cbiAgICA8L2Rpdj5gLFxuICBzdHlsZVVybHM6IFsnLi9ncm93bGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR3Jvd2xlckNvbXBvbmVudCAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIHN1YnRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIGxldmVsID0gJyc7XG4gIEBJbnB1dCgpIGNvbnRlbnQgPSAnJztcbiAgQElucHV0KCkgc2hvdyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZ3Jvd2xlclNlcnZpY2VTdWI6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGdyb3dsZXJTZXJ2aWNlOiBHcm93bGVyU2VydmljZSkge1xuXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdyb3dsZXJTZXJ2aWNlU3ViID0gdGhpcy5ncm93bGVyU2VydmljZS5kYXRhJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuc2hvd0dyb3dsZXIoZGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZih0aGlzLmdyb3dsZXJTZXJ2aWNlU3ViKSB0aGlzLmdyb3dsZXJTZXJ2aWNlU3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHNob3dHcm93bGVyKGRhdGE6IEdyb3dsZXJNb2RlbCkge1xuICAgIHRoaXMudGl0bGUgPSBkYXRhLnRpdGxlO1xuICAgIHRoaXMuc3VidGl0bGUgPSBkYXRhLnN1YnRpdGxlO1xuICAgIHRoaXMubGV2ZWwgPSBkYXRhLmxldmVsO1xuICAgIHRoaXMuY29udGVudCA9IGRhdGEuY29udGVudDtcbiAgICB0aGlzLnNob3cgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zaG93ID0gZmFsc2U7XG4gICAgfSwgNzAwMCk7XG5cbiAgfVxufVxuIl19
|
package/esm2022/lib/features/projectable-forms/configuration/configuration-form.component.mjs
CHANGED
|
@@ -119,6 +119,33 @@ class ConfigurationFormComponent extends ProjectableForm {
|
|
|
119
119
|
break;
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
+
apiActionRequested(action) {
|
|
123
|
+
switch (action.id) {
|
|
124
|
+
case 'cli':
|
|
125
|
+
this.copyCLICommand();
|
|
126
|
+
break;
|
|
127
|
+
case 'curl':
|
|
128
|
+
this.copyCURLCommand();
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
copyCLICommand() {
|
|
133
|
+
const command = `ziti edge ${this.formData.id ? 'update' : 'create'} config ${this.formData.id ? `'${this.formData.id}'` : ''} ${this.formData.id ? '--name' : ''} '${this.formData.name}' --configTypeId '${this.formData.configTypeId}' --data '${JSON.stringify(this.formData.data)}' --tags-json '${JSON.stringify(this.formData.tags)}'`;
|
|
134
|
+
navigator.clipboard.writeText(command);
|
|
135
|
+
const growlerData = new GrowlerModel('success', 'Success', `Text Copied`, `CLI command copied to clipboard`);
|
|
136
|
+
this.growlerService.show(growlerData);
|
|
137
|
+
}
|
|
138
|
+
copyCURLCommand() {
|
|
139
|
+
const command = `curl '${this.apiCallURL}' \\
|
|
140
|
+
${this.formData.id ? '--request PATCH \\' : '\\'}
|
|
141
|
+
-H 'accept: application/json' \\
|
|
142
|
+
-H 'content-type: application/json' \\
|
|
143
|
+
-H 'zt-session: ${this.settings.session.id}' \\
|
|
144
|
+
--data-raw '${JSON.stringify(this.apiData)}'`;
|
|
145
|
+
navigator.clipboard.writeText(command);
|
|
146
|
+
const growlerData = new GrowlerModel('success', 'Success', `Text Copied`, `CURL command copied to clipboard`);
|
|
147
|
+
this.growlerService.show(growlerData);
|
|
148
|
+
}
|
|
122
149
|
clear() {
|
|
123
150
|
this.formData.configTypeId = '';
|
|
124
151
|
this.clearForm();
|
|
@@ -172,7 +199,9 @@ class ConfigurationFormComponent extends ProjectableForm {
|
|
|
172
199
|
}
|
|
173
200
|
validate() {
|
|
174
201
|
this.errors = {};
|
|
175
|
-
this.configEditor.validateConfig()
|
|
202
|
+
if (!this.configEditor.validateConfig(this.selectedSchema, true)) {
|
|
203
|
+
return false;
|
|
204
|
+
}
|
|
176
205
|
if (isEmpty(this.formData.name)) {
|
|
177
206
|
this.errors['name'] = true;
|
|
178
207
|
}
|
|
@@ -222,12 +251,12 @@ class ConfigurationFormComponent extends ProjectableForm {
|
|
|
222
251
|
this._apiData = cloneDeep(this.apiData);
|
|
223
252
|
}
|
|
224
253
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigurationFormComponent, deps: [{ token: i1.ConfigurationService }, { token: i2.SchemaService }, { token: i3.GrowlerService }, { token: SHAREDZ_EXTENSION }, { token: SETTINGS_SERVICE }, { token: ZITI_DATA_SERVICE }, { token: i4.Router }, { token: i4.ActivatedRoute }, { token: i5.Location }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
225
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConfigurationFormComponent, selector: "lib-configuration", inputs: { formData: "formData", errors: "errors" }, outputs: { close: "close" }, viewQueries: [{ propertyName: "configEditor", first: true, predicate: ["configEditor"], descendants: true, read: ConfigEditorComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"projectable-form-wrapper\"\n (keyup.enter)=\"save($event)\"\n (keyup.escape)=\"closeModal(false)\"\n tabindex=\"0\"\n>\n <lib-form-header\n [data]=\"formData\"\n [title]=\"(formData.id ? 'Edit Config' : 'Create Config')\"\n [moreActions]=\"formData.moreActions\"\n (actionRequested)=\"headerActionRequested($event)\"\n [(formView)]=\"formView\"\n [saveDisabled]=\"svc.saveDisabled || formDataInvalid\"\n [saveTooltip]=\"saveButtonTooltip\"\n ></lib-form-header>\n <div class=\"config-form-container projectable-form-container\">\n <div class=\"projectable-form-main-column form-group-row\" [hidden]=\"formView !== 'simple'\">\n <div class=\"form-group-column three-fifths\">\n <lib-form-field-container [title]=\"'Config Name'\" [label]=\"'Required'\">\n <input\n id=\"ConfigName\"\n type=\"text\"\n maxlength=\"500\"\n placeholder=\"Name this config\"\n [ngClass]=\"{error: errors['name']}\"\n [(ngModel)]=\"formData.name\"\n (keyup)=\"apiData()\"\n >\n </lib-form-field-container>\n <lib-form-field-container [showHeader]=\"false\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Configuration Data</span>\n <div class=\"form-header-toggle-container\">\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': !svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n FORM\n </span>\n <div class=\"form-header-toggle\" (click)=\"svc.toggleJSONView()\">\n <div\n class=\"form-toggle-switch\"\n [ngClass]=\"{'toggle-left': !svc.configJsonView, 'toggle-right': svc.configJsonView}\"\n >\n <div class=\"form-toggle-indicator\"></div>\n <div class=\"form-toggle-indicator\"></div>\n </div>\n </div>\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n JSON\n </span>\n </div>\n </div>\n <div class=\"form-field-input-group\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">{{isEditing ? 'Config Type' : 'Select a Config Type'}}</span>\n </div>\n <select\n id=\"ConfigTypes\"\n class=\"config-type-select\"\n [(ngModel)]=\"formData.configTypeId\"\n (change)=\"getSchema()\"\n [ngClass]=\"{disabled: isEditing, error: errors['configTypeId']}\"\n >\n <option value=\"\">Select A Type...</option>\n <option *ngFor=\"let config of options\"\n [value]=\"config.id\">{{config.name}}\n </option>\n </select>\n <lib-config-editor\n [hidden]=\"configTypeEmpty\"\n [schema]=\"selectedSchema\"\n [(configData)]=\"formData.data\"\n [showJsonView]=\"svc.configJsonView\"\n [(configErrors)]=\"errors\"\n (configDataChange)=\"dataChanged($event)\"\n #configEditor\n ></lib-config-editor>\n </div>\n </lib-form-field-container>\n <lib-form-field-toggle [(toggleOn)]=\"showMore\" (toggleOnChange)=\"showMoreChanged($event)\" style=\"margin: 0px 10px\"></lib-form-field-toggle>\n <div [hidden]=\"!showMore\" class=\"form-group-column\">\n <lib-form-field-container\n [title]=\"'Custom Tags'\"\n [label]=\"'OPTIONAL'\"\n class=\"form-field-advanced\"\n *ngIf=\"!hideTags\"\n >\n <lib-custom-tags [(tags)]=\"formData.tags\"></lib-custom-tags>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column two-fifths\">\n <lib-form-field-container\n [title]=\"'API Calls'\"\n [label]=\"''\"\n >\n <div class=\"form-row\">\n <input class=\"form-field-input\" [value]=\"apiCallURL\" readonly/>\n <div class=\"url-copy icon-copy copy\" (click)=\"copyToClipboard(apiCallURL)\"></div>\n </div>\n <lib-json-view *ngIf=\"formData\" [(data)]=\"_apiData\" [readOnly]=\"true\" [showCopy]=\"true\"></lib-json-view>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column\" *ngIf=\"formView === 'raw'\">\n <lib-json-view *ngIf=\"formData\" [(data)]=\"formData\"></lib-json-view>\n </div>\n </div>\n</div>\n<lib-loading-indicator *ngIf=\"isLoading\" [isLoading]=\"isLoading\"></lib-loading-indicator>\n", styles: [".config-form-container{display:flex;flex-direction:column;height:100%;width:100%;align-items:center;gap:var(--gapXL)}.config-type-select.disabled{opacity:.7;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.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: i6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.FormHeaderComponent, selector: "lib-form-header", inputs: ["data", "title", "moreActions", "formView", "saveDisabled", "saveTooltip", "actionButtonText", "moreActionsText"], outputs: ["formViewChange", "actionRequested"] }, { kind: "component", type: i8.FormFieldContainerComponent, selector: "lib-form-field-container", inputs: ["title", "title2", "titleIcon", "layout", "helpText", "helpText2", "label", "count", "action", "actionLabel", "class", "contentStyle", "showHeader", "headerActions"], outputs: ["actionRequested"] }, { kind: "component", type: i9.LoadingIndicatorComponent, selector: "lib-loading-indicator", inputs: ["isLoading"] }, { kind: "component", type: i10.FormFieldToggleComponent, selector: "lib-form-field-toggle", inputs: ["label", "orientation", "labelOn", "labelOff", "toggleOn"], outputs: ["toggleOnChange"] }, { kind: "component", type: i11.JsonViewComponent, selector: "lib-json-view", inputs: ["data", "schema", "readOnly", "jsonInvalid", "showCopy"], outputs: ["dataChange", "jsonChange", "jsonInvalidChange"] }, { kind: "component", type: i12.CustomTagsComponent, selector: "lib-custom-tags", inputs: ["tags"], outputs: ["tagsChange"] }, { kind: "component", type: i13.ConfigEditorComponent, selector: "lib-config-editor", inputs: ["configErrors", "configData", "showJsonView", "schema"], outputs: ["configErrorsChange", "configDataChange"] }] }); }
|
|
254
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConfigurationFormComponent, selector: "lib-configuration", inputs: { formData: "formData", errors: "errors" }, outputs: { close: "close" }, viewQueries: [{ propertyName: "configEditor", first: true, predicate: ["configEditor"], descendants: true, read: ConfigEditorComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"projectable-form-wrapper\"\n (keyup.enter)=\"save($event)\"\n (keyup.escape)=\"closeModal(false)\"\n tabindex=\"0\"\n>\n <lib-form-header\n [data]=\"formData\"\n [title]=\"(formData.id ? 'Edit Config' : 'Create Config')\"\n [moreActions]=\"formData.moreActions\"\n (actionRequested)=\"headerActionRequested($event)\"\n [(formView)]=\"formView\"\n [saveDisabled]=\"svc.saveDisabled || formDataInvalid\"\n [saveTooltip]=\"saveButtonTooltip\"\n ></lib-form-header>\n <div class=\"config-form-container projectable-form-container\">\n <div class=\"projectable-form-main-column form-group-row\" [hidden]=\"formView !== 'simple'\">\n <div class=\"form-group-column three-fifths\">\n <lib-form-field-container [title]=\"'Config Name'\" [label]=\"'Required'\">\n <input\n id=\"ConfigName\"\n type=\"text\"\n maxlength=\"500\"\n placeholder=\"Name this config\"\n [ngClass]=\"{error: errors['name']}\"\n [(ngModel)]=\"formData.name\"\n (keyup)=\"apiData()\"\n >\n </lib-form-field-container>\n <lib-form-field-container [showHeader]=\"false\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Configuration Data</span>\n <div class=\"form-header-toggle-container\">\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': !svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n FORM\n </span>\n <div class=\"form-header-toggle\" (click)=\"svc.toggleJSONView()\">\n <div\n class=\"form-toggle-switch\"\n [ngClass]=\"{'toggle-left': !svc.configJsonView, 'toggle-right': svc.configJsonView}\"\n >\n <div class=\"form-toggle-indicator\"></div>\n <div class=\"form-toggle-indicator\"></div>\n </div>\n </div>\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n JSON\n </span>\n </div>\n </div>\n <div class=\"form-field-input-group\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">{{isEditing ? 'Config Type' : 'Select a Config Type'}}</span>\n </div>\n <select\n id=\"ConfigTypes\"\n class=\"config-type-select\"\n [(ngModel)]=\"formData.configTypeId\"\n (change)=\"getSchema()\"\n [ngClass]=\"{disabled: isEditing, error: errors['configTypeId']}\"\n >\n <option value=\"\">Select A Type...</option>\n <option *ngFor=\"let config of options\"\n [value]=\"config.id\">{{config.name}}\n </option>\n </select>\n <lib-config-editor\n [hidden]=\"configTypeEmpty\"\n [schema]=\"selectedSchema\"\n [(configData)]=\"formData.data\"\n [showJsonView]=\"svc.configJsonView\"\n [(configErrors)]=\"errors\"\n (configDataChange)=\"dataChanged($event)\"\n #configEditor\n ></lib-config-editor>\n </div>\n </lib-form-field-container>\n <lib-form-field-toggle [(toggleOn)]=\"showMore\" (toggleOnChange)=\"showMoreChanged($event)\" style=\"margin: 0px 10px\"></lib-form-field-toggle>\n <div [hidden]=\"!showMore\" class=\"form-group-column\">\n <lib-form-field-container\n [title]=\"'Custom Tags'\"\n [label]=\"'OPTIONAL'\"\n class=\"form-field-advanced\"\n *ngIf=\"!hideTags\"\n >\n <lib-custom-tags [(tags)]=\"formData.tags\"></lib-custom-tags>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column two-fifths\">\n <lib-form-field-container\n [title]=\"'API Calls'\"\n [label]=\"''\"\n [headerActions]=\"apiOptions\"\n (actionRequested)=\"apiActionRequested($event)\"\n >\n <div class=\"form-row\">\n <input class=\"form-field-input\" [value]=\"apiCallURL\" readonly/>\n <div class=\"url-copy icon-copy copy\" (click)=\"copyToClipboard(apiCallURL)\"></div>\n </div>\n <lib-json-view *ngIf=\"formData\" [(data)]=\"_apiData\" [readOnly]=\"true\" [showCopy]=\"true\"></lib-json-view>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column\" *ngIf=\"formView === 'raw'\">\n <lib-json-view *ngIf=\"formData\" [(data)]=\"formData\"></lib-json-view>\n </div>\n </div>\n</div>\n<lib-loading-indicator *ngIf=\"isLoading\" [isLoading]=\"isLoading\"></lib-loading-indicator>\n", styles: [".config-form-container{display:flex;flex-direction:column;height:100%;width:100%;align-items:center;gap:var(--gapXL)}.config-type-select.disabled{opacity:.7;pointer-events:none}.form-group-column.three-fifths{width:calc(60% - 15px);min-width:550px;max-width:700px}.form-group-column.two-fifths{max-width:700px}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.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: i6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.FormHeaderComponent, selector: "lib-form-header", inputs: ["data", "title", "moreActions", "formView", "saveDisabled", "saveTooltip", "actionButtonText", "moreActionsText"], outputs: ["formViewChange", "actionRequested"] }, { kind: "component", type: i8.FormFieldContainerComponent, selector: "lib-form-field-container", inputs: ["title", "title2", "titleIcon", "layout", "helpText", "helpText2", "label", "count", "action", "actionLabel", "class", "contentStyle", "showHeader", "headerActions"], outputs: ["actionRequested"] }, { kind: "component", type: i9.LoadingIndicatorComponent, selector: "lib-loading-indicator", inputs: ["isLoading"] }, { kind: "component", type: i10.FormFieldToggleComponent, selector: "lib-form-field-toggle", inputs: ["label", "orientation", "labelOn", "labelOff", "toggleOn"], outputs: ["toggleOnChange"] }, { kind: "component", type: i11.JsonViewComponent, selector: "lib-json-view", inputs: ["data", "schema", "readOnly", "jsonInvalid", "showCopy"], outputs: ["dataChange", "jsonChange", "jsonInvalidChange"] }, { kind: "component", type: i12.CustomTagsComponent, selector: "lib-custom-tags", inputs: ["tags"], outputs: ["tagsChange"] }, { kind: "component", type: i13.ConfigEditorComponent, selector: "lib-config-editor", inputs: ["configErrors", "configData", "showJsonView", "schema"], outputs: ["configErrorsChange", "configDataChange"] }] }); }
|
|
226
255
|
}
|
|
227
256
|
export { ConfigurationFormComponent };
|
|
228
257
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigurationFormComponent, decorators: [{
|
|
229
258
|
type: Component,
|
|
230
|
-
args: [{ selector: 'lib-configuration', template: "<div class=\"projectable-form-wrapper\"\n (keyup.enter)=\"save($event)\"\n (keyup.escape)=\"closeModal(false)\"\n tabindex=\"0\"\n>\n <lib-form-header\n [data]=\"formData\"\n [title]=\"(formData.id ? 'Edit Config' : 'Create Config')\"\n [moreActions]=\"formData.moreActions\"\n (actionRequested)=\"headerActionRequested($event)\"\n [(formView)]=\"formView\"\n [saveDisabled]=\"svc.saveDisabled || formDataInvalid\"\n [saveTooltip]=\"saveButtonTooltip\"\n ></lib-form-header>\n <div class=\"config-form-container projectable-form-container\">\n <div class=\"projectable-form-main-column form-group-row\" [hidden]=\"formView !== 'simple'\">\n <div class=\"form-group-column three-fifths\">\n <lib-form-field-container [title]=\"'Config Name'\" [label]=\"'Required'\">\n <input\n id=\"ConfigName\"\n type=\"text\"\n maxlength=\"500\"\n placeholder=\"Name this config\"\n [ngClass]=\"{error: errors['name']}\"\n [(ngModel)]=\"formData.name\"\n (keyup)=\"apiData()\"\n >\n </lib-form-field-container>\n <lib-form-field-container [showHeader]=\"false\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Configuration Data</span>\n <div class=\"form-header-toggle-container\">\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': !svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n FORM\n </span>\n <div class=\"form-header-toggle\" (click)=\"svc.toggleJSONView()\">\n <div\n class=\"form-toggle-switch\"\n [ngClass]=\"{'toggle-left': !svc.configJsonView, 'toggle-right': svc.configJsonView}\"\n >\n <div class=\"form-toggle-indicator\"></div>\n <div class=\"form-toggle-indicator\"></div>\n </div>\n </div>\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n JSON\n </span>\n </div>\n </div>\n <div class=\"form-field-input-group\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">{{isEditing ? 'Config Type' : 'Select a Config Type'}}</span>\n </div>\n <select\n id=\"ConfigTypes\"\n class=\"config-type-select\"\n [(ngModel)]=\"formData.configTypeId\"\n (change)=\"getSchema()\"\n [ngClass]=\"{disabled: isEditing, error: errors['configTypeId']}\"\n >\n <option value=\"\">Select A Type...</option>\n <option *ngFor=\"let config of options\"\n [value]=\"config.id\">{{config.name}}\n </option>\n </select>\n <lib-config-editor\n [hidden]=\"configTypeEmpty\"\n [schema]=\"selectedSchema\"\n [(configData)]=\"formData.data\"\n [showJsonView]=\"svc.configJsonView\"\n [(configErrors)]=\"errors\"\n (configDataChange)=\"dataChanged($event)\"\n #configEditor\n ></lib-config-editor>\n </div>\n </lib-form-field-container>\n <lib-form-field-toggle [(toggleOn)]=\"showMore\" (toggleOnChange)=\"showMoreChanged($event)\" style=\"margin: 0px 10px\"></lib-form-field-toggle>\n <div [hidden]=\"!showMore\" class=\"form-group-column\">\n <lib-form-field-container\n [title]=\"'Custom Tags'\"\n [label]=\"'OPTIONAL'\"\n class=\"form-field-advanced\"\n *ngIf=\"!hideTags\"\n >\n <lib-custom-tags [(tags)]=\"formData.tags\"></lib-custom-tags>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column two-fifths\">\n <lib-form-field-container\n [title]=\"'API Calls'\"\n [label]=\"''\"\n >\n <div class=\"form-row\">\n <input class=\"form-field-input\" [value]=\"apiCallURL\" readonly/>\n <div class=\"url-copy icon-copy copy\" (click)=\"copyToClipboard(apiCallURL)\"></div>\n </div>\n <lib-json-view *ngIf=\"formData\" [(data)]=\"_apiData\" [readOnly]=\"true\" [showCopy]=\"true\"></lib-json-view>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column\" *ngIf=\"formView === 'raw'\">\n <lib-json-view *ngIf=\"formData\" [(data)]=\"formData\"></lib-json-view>\n </div>\n </div>\n</div>\n<lib-loading-indicator *ngIf=\"isLoading\" [isLoading]=\"isLoading\"></lib-loading-indicator>\n", styles: [".config-form-container{display:flex;flex-direction:column;height:100%;width:100%;align-items:center;gap:var(--gapXL)}.config-type-select.disabled{opacity:.7;pointer-events:none}\n"] }]
|
|
259
|
+
args: [{ selector: 'lib-configuration', template: "<div class=\"projectable-form-wrapper\"\n (keyup.enter)=\"save($event)\"\n (keyup.escape)=\"closeModal(false)\"\n tabindex=\"0\"\n>\n <lib-form-header\n [data]=\"formData\"\n [title]=\"(formData.id ? 'Edit Config' : 'Create Config')\"\n [moreActions]=\"formData.moreActions\"\n (actionRequested)=\"headerActionRequested($event)\"\n [(formView)]=\"formView\"\n [saveDisabled]=\"svc.saveDisabled || formDataInvalid\"\n [saveTooltip]=\"saveButtonTooltip\"\n ></lib-form-header>\n <div class=\"config-form-container projectable-form-container\">\n <div class=\"projectable-form-main-column form-group-row\" [hidden]=\"formView !== 'simple'\">\n <div class=\"form-group-column three-fifths\">\n <lib-form-field-container [title]=\"'Config Name'\" [label]=\"'Required'\">\n <input\n id=\"ConfigName\"\n type=\"text\"\n maxlength=\"500\"\n placeholder=\"Name this config\"\n [ngClass]=\"{error: errors['name']}\"\n [(ngModel)]=\"formData.name\"\n (keyup)=\"apiData()\"\n >\n </lib-form-field-container>\n <lib-form-field-container [showHeader]=\"false\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Configuration Data</span>\n <div class=\"form-header-toggle-container\">\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': !svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n FORM\n </span>\n <div class=\"form-header-toggle\" (click)=\"svc.toggleJSONView()\">\n <div\n class=\"form-toggle-switch\"\n [ngClass]=\"{'toggle-left': !svc.configJsonView, 'toggle-right': svc.configJsonView}\"\n >\n <div class=\"form-toggle-indicator\"></div>\n <div class=\"form-toggle-indicator\"></div>\n </div>\n </div>\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n JSON\n </span>\n </div>\n </div>\n <div class=\"form-field-input-group\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">{{isEditing ? 'Config Type' : 'Select a Config Type'}}</span>\n </div>\n <select\n id=\"ConfigTypes\"\n class=\"config-type-select\"\n [(ngModel)]=\"formData.configTypeId\"\n (change)=\"getSchema()\"\n [ngClass]=\"{disabled: isEditing, error: errors['configTypeId']}\"\n >\n <option value=\"\">Select A Type...</option>\n <option *ngFor=\"let config of options\"\n [value]=\"config.id\">{{config.name}}\n </option>\n </select>\n <lib-config-editor\n [hidden]=\"configTypeEmpty\"\n [schema]=\"selectedSchema\"\n [(configData)]=\"formData.data\"\n [showJsonView]=\"svc.configJsonView\"\n [(configErrors)]=\"errors\"\n (configDataChange)=\"dataChanged($event)\"\n #configEditor\n ></lib-config-editor>\n </div>\n </lib-form-field-container>\n <lib-form-field-toggle [(toggleOn)]=\"showMore\" (toggleOnChange)=\"showMoreChanged($event)\" style=\"margin: 0px 10px\"></lib-form-field-toggle>\n <div [hidden]=\"!showMore\" class=\"form-group-column\">\n <lib-form-field-container\n [title]=\"'Custom Tags'\"\n [label]=\"'OPTIONAL'\"\n class=\"form-field-advanced\"\n *ngIf=\"!hideTags\"\n >\n <lib-custom-tags [(tags)]=\"formData.tags\"></lib-custom-tags>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column two-fifths\">\n <lib-form-field-container\n [title]=\"'API Calls'\"\n [label]=\"''\"\n [headerActions]=\"apiOptions\"\n (actionRequested)=\"apiActionRequested($event)\"\n >\n <div class=\"form-row\">\n <input class=\"form-field-input\" [value]=\"apiCallURL\" readonly/>\n <div class=\"url-copy icon-copy copy\" (click)=\"copyToClipboard(apiCallURL)\"></div>\n </div>\n <lib-json-view *ngIf=\"formData\" [(data)]=\"_apiData\" [readOnly]=\"true\" [showCopy]=\"true\"></lib-json-view>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column\" *ngIf=\"formView === 'raw'\">\n <lib-json-view *ngIf=\"formData\" [(data)]=\"formData\"></lib-json-view>\n </div>\n </div>\n</div>\n<lib-loading-indicator *ngIf=\"isLoading\" [isLoading]=\"isLoading\"></lib-loading-indicator>\n", styles: [".config-form-container{display:flex;flex-direction:column;height:100%;width:100%;align-items:center;gap:var(--gapXL)}.config-type-select.disabled{opacity:.7;pointer-events:none}.form-group-column.three-fifths{width:calc(60% - 15px);min-width:550px;max-width:700px}.form-group-column.two-fifths{max-width:700px}\n"] }]
|
|
231
260
|
}], ctorParameters: function () { return [{ type: i1.ConfigurationService }, { type: i2.SchemaService }, { type: i3.GrowlerService }, { type: undefined, decorators: [{
|
|
232
261
|
type: Inject,
|
|
233
262
|
args: [SHAREDZ_EXTENSION]
|
|
@@ -247,4 +276,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
247
276
|
type: ViewChild,
|
|
248
277
|
args: ["configEditor", { read: ConfigEditorComponent }]
|
|
249
278
|
}] } });
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24tZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvZmVhdHVyZXMvcHJvamVjdGFibGUtZm9ybXMvY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFBRSxNQUFNLEVBQ3BCLEtBQUssRUFFRyxNQUFNLEVBQ2QsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRCxPQUFPLEVBQW1CLGlCQUFpQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDN0YsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFFbEYsT0FBTyxFQUFDLFNBQVMsRUFBUyxPQUFPLEVBQVEsTUFBTSxRQUFRLENBQUM7QUFDeEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBQyxnQkFBZ0IsRUFBa0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsaUJBQWlCLEVBQWtCLE1BQU0scUNBQXFDLENBQUM7QUFFdkYsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQUc5QyxNQUthLDBCQUEyQixTQUFRLGVBQWU7SUF1QjNELFlBQ1cs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QUU7WUFDL0IsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSTtTQUM1QixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFHRCxJQUFJLE9BQU8sQ0FBQyxJQUFJO1FBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7K0dBbE5RLDBCQUEwQixpSEEyQnZCLGlCQUFpQixhQUNqQixnQkFBZ0IsYUFDaEIsaUJBQWlCO21HQTdCcEIsMEJBQTBCLG1PQXNCRCxxQkFBcUIsb0RDbkUzRCxneE1BbUhBOztTRHRFYSwwQkFBMEI7NEZBQTFCLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDSSxtQkFBbUI7OzBCQStCeEIsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLGdCQUFnQjs7MEJBQ3ZCLE1BQU07MkJBQUMsaUJBQWlCO3FIQTNCWCxRQUFRO3NCQUF6QixLQUFLO2dCQUNZLE1BQU07c0JBQXZCLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQWtCbUQsWUFBWTtzQkFBckUsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LCBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb24uc2VydmljZVwiO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge1NjaGVtYVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9zY2hlbWEuc2VydmljZVwiO1xuaW1wb3J0IHtQcm9qZWN0YWJsZUZvcm19IGZyb20gXCIuLi9wcm9qZWN0YWJsZS1mb3JtLmNsYXNzXCI7XG5pbXBvcnQge0dyb3dsZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vbWVzc2FnaW5nL2dyb3dsZXIuc2VydmljZVwiO1xuaW1wb3J0IHtFeHRlbnNpb25TZXJ2aWNlLCBTSEFSRURaX0VYVEVOU0lPTn0gZnJvbSBcIi4uLy4uL2V4dGVuZGFibGUvZXh0ZW5zaW9ucy1ub29wLnNlcnZpY2VcIjtcbmltcG9ydCB7Q29uZmlnRWRpdG9yQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vY29uZmlnLWVkaXRvci9jb25maWctZWRpdG9yLmNvbXBvbmVudFwiO1xuXG5pbXBvcnQge2Nsb25lRGVlcCwgZGVmZXIsIGlzRW1wdHksIHVuc2V0fSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtHcm93bGVyTW9kZWx9IGZyb20gXCIuLi8uLi9tZXNzYWdpbmcvZ3Jvd2xlci5tb2RlbFwiO1xuaW1wb3J0IHtTRVRUSU5HU19TRVJWSUNFLCBTZXR0aW5nc1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlXCI7XG5pbXBvcnQge1pJVElfREFUQV9TRVJWSUNFLCBaaXRpRGF0YVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy96aXRpLWRhdGEuc2VydmljZVwiO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge0NvbmZpZ30gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9jb25maWdcIjtcbmltcG9ydCB7TG9jYXRpb259IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItY29uZmlndXJhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZ3VyYXRpb24tZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29uZmlndXJhdGlvbi1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbkZvcm1Db21wb25lbnQgZXh0ZW5kcyBQcm9qZWN0YWJsZUZvcm0gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSBvdmVycmlkZSBmb3JtRGF0YTogYW55ID0ge307XG4gICAgQElucHV0KCkgb3ZlcnJpZGUgZXJyb3JzOiBhbnkgPSB7fTtcbiAgICBAT3V0cHV0KCkgY2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIG9wdGlvbnM6IGFueVtdID0gW107XG4gICAgaXNFZGl0aW5nID0gIWlzRW1wdHkodGhpcy5mb3JtRGF0YS5pZCk7XG4gICAgZm9ybVZpZXcgPSAnc2ltcGxlJztcbiAgICBmb3JtRGF0YUludmFsaWQgPSBmYWxzZTtcbiAgICBlZGl0TW9kZSA9IGZhbHNlO1xuICAgIGl0ZW1zOiBhbnkgPSBbXTtcbiAgICBzZWxlY3RlZFNjaGVtYTogYW55ID0gJyc7XG4gICAgYXNzb2NpYXRlZFNlcnZpY2VzID0gW107XG4gICAgYXNzb2NpYXRlZFNlcnZpY2VOYW1lcyA9IFtdO1xuICAgIHNlcnZpY2VzTG9hZGluZyA9IGZhbHNlO1xuICAgIHNldHRpbmdzOiBhbnkgPSB7fTtcbiAgICBzZWxlY3RlZENvbmZpZ1R5cGVJZCA9ICcnO1xuXG4gICAgb3ZlcnJpZGUgZW50aXR5VHlwZSA9ICdjb25maWdzJztcbiAgICBvdmVycmlkZSBlbnRpdHlDbGFzcyA9IENvbmZpZztcblxuICAgIEBWaWV3Q2hpbGQoXCJjb25maWdFZGl0b3JcIiwge3JlYWQ6IENvbmZpZ0VkaXRvckNvbXBvbmVudH0pIGNvbmZpZ0VkaXRvciE6IENvbmZpZ0VkaXRvckNvbXBvbmVudDtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHN2YzogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2NoZW1hU3ZjOiBTY2hlbWFTZXJ2aWNlLFxuICAgICAgICBncm93bGVyU2VydmljZTogR3Jvd2xlclNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoU0hBUkVEWl9FWFRFTlNJT04pIGV4dFNlcnZpY2U6IEV4dGVuc2lvblNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoU0VUVElOR1NfU0VSVklDRSkgcHVibGljIHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFpJVElfREFUQV9TRVJWSUNFKSBvdmVycmlkZSB6aXRpU2VydmljZTogWml0aURhdGFTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByb3RlY3RlZCBvdmVycmlkZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIGxvY2F0aW9uOiBMb2NhdGlvblxuICAgICkge1xuICAgICAgICBzdXBlcihncm93bGVyU2VydmljZSwgZXh0U2VydmljZSwgeml0aVNlcnZpY2UsIHJvdXRlciwgcm91dGUsIGxvY2F0aW9uKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdmMuY29uZmlnSnNvblZpZXcgPSBmYWxzZTtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3NDaGFuZ2Uuc3Vic2NyaWJlKChyZXN1bHRzOmFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXR0aW5ncyA9IHJlc3VsdHM7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGVudGl0eVVwZGF0ZWQoKSB7XG4gICAgICAgIGlmIChpc0VtcHR5KHRoaXMuZm9ybURhdGE/LmRhdGEpKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1EYXRhLmRhdGEgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNFbXB0eSh0aGlzLmZvcm1EYXRhPy5jb25maWdUeXBlSWQpKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1EYXRhLmNvbmZpZ1R5cGVJZCA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWdUeXBlSWQgPSB0aGlzLmZvcm1EYXRhLmNvbmZpZ1R5cGVJZDtcbiAgICAgICAgdGhpcy5pbml0RGF0YSA9IGNsb25lRGVlcCh0aGlzLmZvcm1EYXRhKTtcbiAgICAgICAgdGhpcy5zdmMuY29uZmlnSnNvblZpZXcgPSBmYWxzZTtcbiAgICAgICAgLy90aGlzLmdldEFzc29jaWF0ZWRTZXJ2aWNlcygpO1xuICAgICAgICB0aGlzLnN2Yy5nZXRDb25maWdUeXBlcygpXG4gICAgICAgICAgICAudGhlbihjb25maWdUeXBlcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gY29uZmlnVHlwZXMuc29ydCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2NoZW1hKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pc0VkaXRpbmcgPSAhaXNFbXB0eSh0aGlzLmZvcm1EYXRhLmlkKTtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnVHlwZUVtcHR5KSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1EYXRhLmNvbmZpZ1R5cGVJZCA9ICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QXNzb2NpYXRlZFNlcnZpY2VzKCkge1xuICAgICAgICB0aGlzLnN2Yy5nZXRBc3NvY2lhdGVkU2VydmljZXModGhpcy5mb3JtRGF0YS5pZCkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFzc29jaWF0ZWRTZXJ2aWNlcyA9IHJlc3VsdC5hc3NvY2lhdGVkU2VydmljZXM7XG4gICAgICAgICAgICB0aGlzLmFzc29jaWF0ZWRTZXJ2aWNlTmFtZXMgPSByZXN1bHQuYXNzb2NpYXRlZFNlcnZpY2VOYW1lcztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJGb3JtKCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbmZpZ1R5cGVFbXB0eSgpIHtcbiAgICAgICAgcmV0dXJuIGlzRW1wdHkodGhpcy5mb3JtRGF0YS5jb25maWdUeXBlSWQpO1xuICAgIH1cblxuICAgIGhlYWRlckFjdGlvblJlcXVlc3RlZChldmVudCkge1xuICAgICAgICBzd2l0Y2goZXZlbnQubmFtZSkge1xuICAgICAgICAgICAgY2FzZSAnc2F2ZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5zYXZlKGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Nsb3NlJzpcbiAgICAgICAgICAgICAgICB0aGlzLnJldHVyblRvTGlzdFBhZ2UoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3RvZ2dsZS12aWV3JzpcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1WaWV3ID0gZXZlbnQuZGF0YTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNsZWFyKCkge1xuICAgICAgICB0aGlzLmZvcm1EYXRhLmNvbmZpZ1R5cGVJZCA9ICcnO1xuICAgICAgICB0aGlzLmNsZWFyRm9ybSgpO1xuICAgIH1cblxuICAgIGNsZWFyRm9ybSgpIHtcbiAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtPy5jb21wb25lbnQpIGl0ZW0uY29tcG9uZW50LmRlc3Ryb3koKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZXJyb3JzID0ge307XG4gICAgICAgIHRoaXMuaXRlbXMgPSBbXTtcbiAgICAgICAgdGhpcy5mb3JtRGF0YSA9IHt9O1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgc2F2ZShldmVudD86IGFueSkge1xuICAgICAgICB0aGlzLmVycm9ycyA9IHt9O1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ0VkaXRvci5nZXRDb25maWdEYXRhRnJvbUZvcm0oKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKXtcbiAgICAgICAgICAgIGNvbnN0IGdyb3dsZXJEYXRhID0gbmV3IEdyb3dsZXJNb2RlbChcbiAgICAgICAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgICAgICAgYEVycm9yIEdldHRpbmcgQ29uZmlnIERhdGFgLFxuICAgICAgICAgICAgICAgICdFcnJvciBnZXR0aW5nIGNvbmZpZ3VyYXRpb24gZGF0YSBmcm9tIGZyb20uJyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmdyb3dsZXJTZXJ2aWNlLnNob3coZ3Jvd2xlckRhdGEpO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy52YWxpZGF0ZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbmZpZ0lkID0gYXdhaXQgdGhpcy5zdmMuc2F2ZSh0aGlzLmZvcm1EYXRhKS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIGlmICghaXNFbXB0eShyZXN1bHQ/LmlkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybURhdGEgPSByZXN1bHQ7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0RGF0YSA9IHRoaXMuZm9ybURhdGE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0Py5pZDtcbiAgICAgICAgfSkuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGNvbmZpZ0lkKSB7XG4gICAgICAgICAgICB0aGlzLmluaXREYXRhID0gdGhpcy5mb3JtRGF0YTtcbiAgICAgICAgICAgIHRoaXMuX2RhdGFDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzTW9kYWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlTW9kYWwodHJ1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmV0dXJuVG9MaXN0UGFnZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHZhbGlkYXRlKCkge1xuICAgICAgICB0aGlzLmVycm9ycyA9IHt9O1xuICAgICAgICB0aGlzLmNvbmZpZ0VkaXRvci52YWxpZGF0ZUNvbmZpZygpO1xuICAgICAgICBpZiAoaXNFbXB0eSh0aGlzLmZvcm1EYXRhLm5hbWUpKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9yc1snbmFtZSddID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNFbXB0eSh0aGlzLmZvcm1EYXRhLmNvbmZpZ1R5cGVJZCkpIHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JzWydjb25maWdUeXBlSWQnXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0VtcHR5KHRoaXMuZXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgICAgICBgRXJyb3IgVmFsaWRhdGluZyBDb25maWdgLFxuICAgICAgICAgICAgICAgICdUaGUgZW50ZXJlZCBjb25maWd1cmF0aW9uIGlzIGludmFsaWQuIFBsZWFzZSB1cGRhdGUgbWlzc2luZy9pbnZhbGlkIGZpZWxkcyBhbmQgdHJ5IGFnYWluLicsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5ncm93bGVyU2VydmljZS5zaG93KGdyb3dsZXJEYXRhKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNFbXB0eSh0aGlzLmVycm9ycyk7XG4gICAgfVxuICAgIGdldCBzYXZlQnV0dG9uVG9vbHRpcCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybURhdGFJbnZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm4gJ0NvbmZpZyBkYXRhIGlzIGludmFsaWQuIFBsZWFzZSB1cGRhdGUgYW5kIHRyeSBhZ2Fpbi4nXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJ0NvbXBsZXRlIGFuZCBhdHRhY2ggY29uZmlnIGRlZmluaXRpb24sIG9yIHJlbW92ZSBiZWZvcmUgc2F2aW5nJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFNjaGVtYSgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDb25maWdUeXBlSWQgIT09IHRoaXMuZm9ybURhdGEuY29uZmlnVHlwZUlkKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlnVHlwZUlkID0gdGhpcy5mb3JtRGF0YS5jb25maWdUeXBlSWQ7XG4gICAgICAgICAgICB0aGlzLmZvcm1EYXRhLmRhdGEgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN2Yy5nZXRTY2hlbWEodGhpcy5mb3JtRGF0YS5jb25maWdUeXBlSWQpLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNjaGVtYSA9IHJlc3VsdDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGFwaUNhbGxVUkwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXIgKyAnL2VkZ2UvbWFuYWdlbWVudC92MS9jb25maWdzJyArICh0aGlzLmZvcm1EYXRhLmlkID8gYC8ke3RoaXMuZm9ybURhdGEuaWR9YCA6ICcnKTtcbiAgICB9XG5cbiAgICBnZXQgYXBpRGF0YSgpOiBhbnkge1xuICAgICAgICBjb25zdCBkYXRhOiBhbnkgPSB7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLmZvcm1EYXRhPy5uYW1lIHx8ICcnLFxuICAgICAgICAgICAgY29uZmlnVHlwZUlkOiB0aGlzLmZvcm1EYXRhPy5jb25maWdUeXBlSWQgfHwgJycsXG4gICAgICAgICAgICBkYXRhOiB0aGlzLmZvcm1EYXRhPy5kYXRhIHx8IHt9LFxuICAgICAgICAgICAgdGFnczogdGhpcy5mb3JtRGF0YT8udGFnc1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLl9hcGlEYXRhID0gZGF0YTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaURhdGE7XG4gICAgfVxuXG4gICAgX2FwaURhdGE6IGFueSA9IHt9O1xuICAgIHNldCBhcGlEYXRhKGRhdGEpIHtcbiAgICAgICAgdGhpcy5fYXBpRGF0YSA9IGRhdGE7XG4gICAgfVxuXG4gICAgZGF0YUNoYW5nZWQoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5fYXBpRGF0YSA9IGNsb25lRGVlcCh0aGlzLmFwaURhdGEpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwcm9qZWN0YWJsZS1mb3JtLXdyYXBwZXJcIlxuICAgICAoa2V5dXAuZW50ZXIpPVwic2F2ZSgkZXZlbnQpXCJcbiAgICAgKGtleXVwLmVzY2FwZSk9XCJjbG9zZU1vZGFsKGZhbHNlKVwiXG4gICAgIHRhYmluZGV4PVwiMFwiXG4+XG4gICAgPGxpYi1mb3JtLWhlYWRlclxuICAgICAgICAgICAgW2RhdGFdPVwiZm9ybURhdGFcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIihmb3JtRGF0YS5pZCA/ICdFZGl0IENvbmZpZycgOiAnQ3JlYXRlIENvbmZpZycpXCJcbiAgICAgICAgICAgIFttb3JlQWN0aW9uc109XCJmb3JtRGF0YS5tb3JlQWN0aW9uc1wiXG4gICAgICAgICAgICAoYWN0aW9uUmVxdWVzdGVkKT1cImhlYWRlckFjdGlvblJlcXVlc3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIFsoZm9ybVZpZXcpXT1cImZvcm1WaWV3XCJcbiAgICAgICAgICAgIFtzYXZlRGlzYWJsZWRdPVwic3ZjLnNhdmVEaXNhYmxlZCB8fCBmb3JtRGF0YUludmFsaWRcIlxuICAgICAgICAgICAgW3NhdmVUb29sdGlwXT1cInNhdmVCdXR0b25Ub29sdGlwXCJcbiAgICA+PC9saWItZm9ybS1oZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cImNvbmZpZy1mb3JtLWNvbnRhaW5lciBwcm9qZWN0YWJsZS1mb3JtLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvamVjdGFibGUtZm9ybS1tYWluLWNvbHVtbiBmb3JtLWdyb3VwLXJvd1wiIFtoaWRkZW5dPVwiZm9ybVZpZXcgIT09ICdzaW1wbGUnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC1jb2x1bW4gdGhyZWUtZmlmdGhzXCI+XG4gICAgICAgICAgICAgICAgPGxpYi1mb3JtLWZpZWxkLWNvbnRhaW5lciBbdGl0bGVdPVwiJ0NvbmZpZyBOYW1lJ1wiIFtsYWJlbF09XCInUmVxdWlyZWQnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJDb25maWdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjUwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5hbWUgdGhpcyBjb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2Vycm9yOiBlcnJvcnNbJ25hbWUnXX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmb3JtRGF0YS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXl1cCk9XCJhcGlEYXRhKClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9saWItZm9ybS1maWVsZC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPGxpYi1mb3JtLWZpZWxkLWNvbnRhaW5lciBbc2hvd0hlYWRlcl09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlnLXRpdGxlLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWZpZWxkLXRpdGxlXCI+Q29uZmlndXJhdGlvbiBEYXRhPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyLXRvZ2dsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0b2dnbGUtb3B0aW9uLXRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd0b2dnbGUtb3B0aW9uLXNlbGVjdGVkJzogIXN2Yy5jb25maWdKc29uVmlld31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN2Yy50b2dnbGVKU09OVmlldygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZPUk1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyLXRvZ2dsZVwiIChjbGljayk9XCJzdmMudG9nZ2xlSlNPTlZpZXcoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRvZ2dsZS1zd2l0Y2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndG9nZ2xlLWxlZnQnOiAhc3ZjLmNvbmZpZ0pzb25WaWV3LCAndG9nZ2xlLXJpZ2h0Jzogc3ZjLmNvbmZpZ0pzb25WaWV3fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXRvZ2dsZS1pbmRpY2F0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXRvZ2dsZS1pbmRpY2F0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidG9nZ2xlLW9wdGlvbi10ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndG9nZ2xlLW9wdGlvbi1zZWxlY3RlZCc6IHN2Yy5jb25maWdKc29uVmlld31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN2Yy50b2dnbGVKU09OVmlldygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpTT05cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkLWlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlnLXRpdGxlLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1maWVsZC10aXRsZVwiPnt7aXNFZGl0aW5nID8gJ0NvbmZpZyBUeXBlJyA6ICdTZWxlY3QgYSBDb25maWcgVHlwZSd9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cIkNvbmZpZ1R5cGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb25maWctdHlwZS1zZWxlY3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZvcm1EYXRhLmNvbmZpZ1R5cGVJZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiZ2V0U2NoZW1hKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ZGlzYWJsZWQ6IGlzRWRpdGluZywgZXJyb3I6IGVycm9yc1snY29uZmlnVHlwZUlkJ119XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+U2VsZWN0IEEgVHlwZS4uLjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNvbmZpZyBvZiBvcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb25maWcuaWRcIj57e2NvbmZpZy5uYW1lfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1jb25maWctZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiY29uZmlnVHlwZUVtcHR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjaGVtYV09XCJzZWxlY3RlZFNjaGVtYVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoY29uZmlnRGF0YSldPVwiZm9ybURhdGEuZGF0YVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93SnNvblZpZXddPVwic3ZjLmNvbmZpZ0pzb25WaWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhjb25maWdFcnJvcnMpXT1cImVycm9yc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25maWdEYXRhQ2hhbmdlKT1cImRhdGFDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjY29uZmlnRWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9saWItY29uZmlnLWVkaXRvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9saWItZm9ybS1maWVsZC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPGxpYi1mb3JtLWZpZWxkLXRvZ2dsZSBbKHRvZ2dsZU9uKV09XCJzaG93TW9yZVwiICh0b2dnbGVPbkNoYW5nZSk9XCJzaG93TW9yZUNoYW5nZWQoJGV2ZW50KVwiIHN0eWxlPVwibWFyZ2luOiAwcHggMTBweFwiPjwvbGliLWZvcm0tZmllbGQtdG9nZ2xlPlxuICAgICAgICAgICAgICAgIDxkaXYgW2hpZGRlbl09XCIhc2hvd01vcmVcIiBjbGFzcz1cImZvcm0tZ3JvdXAtY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItZm9ybS1maWVsZC1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0N1c3RvbSBUYWdzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidPUFRJT05BTCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZC1hZHZhbmNlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhaGlkZVRhZ3NcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGliLWN1c3RvbS10YWdzIFsodGFncyldPVwiZm9ybURhdGEudGFnc1wiPjwvbGliLWN1c3RvbS10YWdzPlxuICAgICAgICAgICAgICAgICAgICA8L2xpYi1mb3JtLWZpZWxkLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAtY29sdW1uIHR3by1maWZ0aHNcIj5cbiAgICAgICAgICAgICAgICA8bGliLWZvcm0tZmllbGQtY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FQSSBDYWxscydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIicnXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1maWVsZC1pbnB1dFwiIFt2YWx1ZV09XCJhcGlDYWxsVVJMXCIgcmVhZG9ubHkvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVybC1jb3B5IGljb24tY29weSBjb3B5XCIgKGNsaWNrKT1cImNvcHlUb0NsaXBib2FyZChhcGlDYWxsVVJMKVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1qc29uLXZpZXcgKm5nSWY9XCJmb3JtRGF0YVwiIFsoZGF0YSldPVwiX2FwaURhdGFcIiBbcmVhZE9ubHldPVwidHJ1ZVwiIFtzaG93Q29weV09XCJ0cnVlXCI+PC9saWItanNvbi12aWV3PlxuICAgICAgICAgICAgICAgIDwvbGliLWZvcm0tZmllbGQtY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC1jb2x1bW5cIiAqbmdJZj1cImZvcm1WaWV3ID09PSAncmF3J1wiPlxuICAgICAgICAgICAgPGxpYi1qc29uLXZpZXcgKm5nSWY9XCJmb3JtRGF0YVwiIFsoZGF0YSldPVwiZm9ybURhdGFcIj48L2xpYi1qc29uLXZpZXc+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48bGliLWxvYWRpbmctaW5kaWNhdG9yICpuZ0lmPVwiaXNMb2FkaW5nXCIgW2lzTG9hZGluZ109XCJpc0xvYWRpbmdcIj48L2xpYi1sb2FkaW5nLWluZGljYXRvcj5cbiJdfQ==
|
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9wcm9qZWN0YWJsZS1mb3Jtcy9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24tZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvZmVhdHVyZXMvcHJvamVjdGFibGUtZm9ybXMvY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFBRSxNQUFNLEVBQ3BCLEtBQUssRUFFRyxNQUFNLEVBQ2QsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRCxPQUFPLEVBQW1CLGlCQUFpQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDN0YsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFFbEYsT0FBTyxFQUFDLFNBQVMsRUFBUyxPQUFPLEVBQVEsTUFBTSxRQUFRLENBQUM7QUFDeEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBQyxnQkFBZ0IsRUFBa0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsaUJBQWlCLEVBQWtCLE1BQU0scUNBQXFDLENBQUM7QUFFdkYsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQUc5QyxNQUthLDBCQUEyQixTQUFRLGVBQWU7SUF1QjNELFlBQ1cs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Q3hCLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDdkIsTUFBTTsyQkFBQyxpQkFBaUI7cUhBM0JYLFFBQVE7c0JBQXpCLEtBQUs7Z0JBQ1ksTUFBTTtzQkFBdkIsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU07Z0JBa0JtRCxZQUFZO3NCQUFyRSxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlciwgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSBcIi4vY29uZmlndXJhdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7U2NoZW1hU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3NjaGVtYS5zZXJ2aWNlXCI7XG5pbXBvcnQge1Byb2plY3RhYmxlRm9ybX0gZnJvbSBcIi4uL3Byb2plY3RhYmxlLWZvcm0uY2xhc3NcIjtcbmltcG9ydCB7R3Jvd2xlclNlcnZpY2V9IGZyb20gXCIuLi8uLi9tZXNzYWdpbmcvZ3Jvd2xlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0V4dGVuc2lvblNlcnZpY2UsIFNIQVJFRFpfRVhURU5TSU9OfSBmcm9tIFwiLi4vLi4vZXh0ZW5kYWJsZS9leHRlbnNpb25zLW5vb3Auc2VydmljZVwiO1xuaW1wb3J0IHtDb25maWdFZGl0b3JDb21wb25lbnR9IGZyb20gXCIuLi8uLi9jb25maWctZWRpdG9yL2NvbmZpZy1lZGl0b3IuY29tcG9uZW50XCI7XG5cbmltcG9ydCB7Y2xvbmVEZWVwLCBkZWZlciwgaXNFbXB0eSwgdW5zZXR9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge0dyb3dsZXJNb2RlbH0gZnJvbSBcIi4uLy4uL21lc3NhZ2luZy9ncm93bGVyLm1vZGVsXCI7XG5pbXBvcnQge1NFVFRJTkdTX1NFUlZJQ0UsIFNldHRpbmdzU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2VcIjtcbmltcG9ydCB7WklUSV9EQVRBX1NFUlZJQ0UsIFppdGlEYXRhU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3ppdGktZGF0YS5zZXJ2aWNlXCI7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7Q29uZmlnfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2NvbmZpZ1wiO1xuaW1wb3J0IHtMb2NhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1jb25maWd1cmF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29uZmlndXJhdGlvbi1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb25maWd1cmF0aW9uLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uRm9ybUNvbXBvbmVudCBleHRlbmRzIFByb2plY3RhYmxlRm9ybSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIG92ZXJyaWRlIGZvcm1EYXRhOiBhbnkgPSB7fTtcbiAgICBASW5wdXQoKSBvdmVycmlkZSBlcnJvcnM6IGFueSA9IHt9O1xuICAgIEBPdXRwdXQoKSBjbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgb3B0aW9uczogYW55W10gPSBbXTtcbiAgICBpc0VkaXRpbmcgPSAhaXNFbXB0eSh0aGlzLmZvcm1EYXRhLmlkKTtcbiAgICBmb3JtVmlldyA9ICdzaW1wbGUnO1xuICAgIGZvcm1EYXRhSW52YWxpZCA9IGZhbHNlO1xuICAgIGVkaXRNb2RlID0gZmFsc2U7XG4gICAgaXRlbXM6IGFueSA9IFtdO1xuICAgIHNlbGVjdGVkU2NoZW1hOiBhbnkgPSAnJztcbiAgICBhc3NvY2lhdGVkU2VydmljZXMgPSBbXTtcbiAgICBhc3NvY2lhdGVkU2VydmljZU5hbWVzID0gW107XG4gICAgc2VydmljZXNMb2FkaW5nID0gZmFsc2U7XG4gICAgc2V0dGluZ3M6IGFueSA9IHt9O1xuICAgIHNlbGVjdGVkQ29uZmlnVHlwZUlkID0gJyc7XG5cbiAgICBvdmVycmlkZSBlbnRpdHlUeXBlID0gJ2NvbmZpZ3MnO1xuICAgIG92ZXJyaWRlIGVudGl0eUNsYXNzID0gQ29uZmlnO1xuXG4gICAgQFZpZXdDaGlsZChcImNvbmZpZ0VkaXRvclwiLCB7cmVhZDogQ29uZmlnRWRpdG9yQ29tcG9uZW50fSkgY29uZmlnRWRpdG9yITogQ29uZmlnRWRpdG9yQ29tcG9uZW50O1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgc3ZjOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzY2hlbWFTdmM6IFNjaGVtYVNlcnZpY2UsXG4gICAgICAgIGdyb3dsZXJTZXJ2aWNlOiBHcm93bGVyU2VydmljZSxcbiAgICAgICAgQEluamVjdChTSEFSRURaX0VYVEVOU0lPTikgZXh0U2VydmljZTogRXh0ZW5zaW9uU2VydmljZSxcbiAgICAgICAgQEluamVjdChTRVRUSU5HU19TRVJWSUNFKSBwdWJsaWMgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoWklUSV9EQVRBX1NFUlZJQ0UpIG92ZXJyaWRlIHppdGlTZXJ2aWNlOiBaaXRpRGF0YVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBvdmVycmlkZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgbG9jYXRpb246IExvY2F0aW9uXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGdyb3dsZXJTZXJ2aWNlLCBleHRTZXJ2aWNlLCB6aXRpU2VydmljZSwgcm91dGVyLCByb3V0ZSwgbG9jYXRpb24pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN2Yy5jb25maWdKc29uVmlldyA9IGZhbHNlO1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5nc0NoYW5nZS5zdWJzY3JpYmUoKHJlc3VsdHM6YW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzID0gcmVzdWx0cztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgZW50aXR5VXBkYXRlZCgpIHtcbiAgICAgICAgaWYgKGlzRW1wdHkodGhpcy5mb3JtRGF0YT8uZGF0YSkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybURhdGEuZGF0YSA9IHt9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0VtcHR5KHRoaXMuZm9ybURhdGE/LmNvbmZpZ1R5cGVJZCkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybURhdGEuY29uZmlnVHlwZUlkID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZ1R5cGVJZCA9IHRoaXMuZm9ybURhdGEuY29uZmlnVHlwZUlkO1xuICAgICAgICB0aGlzLmluaXREYXRhID0gY2xvbmVEZWVwKHRoaXMuZm9ybURhdGEpO1xuICAgICAgICB0aGlzLnN2Yy5jb25maWdKc29uVmlldyA9IGZhbHNlO1xuICAgICAgICAvL3RoaXMuZ2V0QXNzb2NpYXRlZFNlcnZpY2VzKCk7XG4gICAgICAgIHRoaXMuc3ZjLmdldENvbmZpZ1R5cGVzKClcbiAgICAgICAgICAgIC50aGVuKGNvbmZpZ1R5cGVzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBjb25maWdUeXBlcy5zb3J0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTY2hlbWEoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLmlzRWRpdGluZyA9ICFpc0VtcHR5KHRoaXMuZm9ybURhdGEuaWQpO1xuICAgICAgICBpZiAodGhpcy5jb25maWdUeXBlRW1wdHkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybURhdGEuY29uZmlnVHlwZUlkID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRBc3NvY2lhdGVkU2VydmljZXMoKSB7XG4gICAgICAgIHRoaXMuc3ZjLmdldEFzc29jaWF0ZWRTZXJ2aWNlcyh0aGlzLmZvcm1EYXRhLmlkKS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXNzb2NpYXRlZFNlcnZpY2VzID0gcmVzdWx0LmFzc29jaWF0ZWRTZXJ2aWNlcztcbiAgICAgICAgICAgIHRoaXMuYXNzb2NpYXRlZFNlcnZpY2VOYW1lcyA9IHJlc3VsdC5hc3NvY2lhdGVkU2VydmljZU5hbWVzO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhckZvcm0oKTtcbiAgICB9XG5cbiAgICBnZXQgY29uZmlnVHlwZUVtcHR5KCkge1xuICAgICAgICByZXR1cm4gaXNFbXB0eSh0aGlzLmZvcm1EYXRhLmNvbmZpZ1R5cGVJZCk7XG4gICAgfVxuXG4gICAgaGVhZGVyQWN0aW9uUmVxdWVzdGVkKGV2ZW50KSB7XG4gICAgICAgIHN3aXRjaChldmVudC5uYW1lKSB7XG4gICAgICAgICAgICBjYXNlICdzYXZlJzpcbiAgICAgICAgICAgICAgICB0aGlzLnNhdmUoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnY2xvc2UnOlxuICAgICAgICAgICAgICAgIHRoaXMucmV0dXJuVG9MaXN0UGFnZSgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndG9nZ2xlLXZpZXcnOlxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybVZpZXcgPSBldmVudC5kYXRhO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXBpQWN0aW9uUmVxdWVzdGVkKGFjdGlvbikge1xuICAgICAgICBzd2l0Y2ggKGFjdGlvbi5pZCkge1xuICAgICAgICAgICAgY2FzZSAnY2xpJzpcbiAgICAgICAgICAgICAgICB0aGlzLmNvcHlDTElDb21tYW5kKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjdXJsJzpcbiAgICAgICAgICAgICAgICB0aGlzLmNvcHlDVVJMQ29tbWFuZCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29weUNMSUNvbW1hbmQoKSB7XG4gICAgICAgIGNvbnN0IGNvbW1hbmQgPSBgeml0aSBlZGdlICR7dGhpcy5mb3JtRGF0YS5pZCA/ICd1cGRhdGUnIDogJ2NyZWF0ZSd9IGNvbmZpZyAke3RoaXMuZm9ybURhdGEuaWQgPyBgJyR7dGhpcy5mb3JtRGF0YS5pZH0nYCA6ICcnfSAke3RoaXMuZm9ybURhdGEuaWQgPyAnLS1uYW1lJyA6ICcnfSAnJHt0aGlzLmZvcm1EYXRhLm5hbWV9JyAtLWNvbmZpZ1R5cGVJZCAnJHt0aGlzLmZvcm1EYXRhLmNvbmZpZ1R5cGVJZH0nIC0tZGF0YSAnJHtKU09OLnN0cmluZ2lmeSh0aGlzLmZvcm1EYXRhLmRhdGEpfScgLS10YWdzLWpzb24gJyR7SlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtRGF0YS50YWdzKX0nYDtcblxuICAgICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChjb21tYW5kKTtcbiAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgJ1N1Y2Nlc3MnLFxuICAgICAgICAgICAgYFRleHQgQ29waWVkYCxcbiAgICAgICAgICAgIGBDTEkgY29tbWFuZCBjb3BpZWQgdG8gY2xpcGJvYXJkYCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5ncm93bGVyU2VydmljZS5zaG93KGdyb3dsZXJEYXRhKTtcbiAgICB9XG5cbiAgICBjb3B5Q1VSTENvbW1hbmQoKSB7XG4gICAgICAgIGNvbnN0IGNvbW1hbmQgPSBgY3VybCAnJHt0aGlzLmFwaUNhbGxVUkx9JyBcXFxcXG4gICAgJHt0aGlzLmZvcm1EYXRhLmlkID8gJy0tcmVxdWVzdCBQQVRDSCBcXFxcJyA6ICdcXFxcJ31cbiAgICAtSCAnYWNjZXB0OiBhcHBsaWNhdGlvbi9qc29uJyBcXFxcXG4gICAgLUggJ2NvbnRlbnQtdHlwZTogYXBwbGljYXRpb24vanNvbicgXFxcXFxuICAgIC1IICd6dC1zZXNzaW9uOiAke3RoaXMuc2V0dGluZ3Muc2Vzc2lvbi5pZH0nIFxcXFxcbiAgICAtLWRhdGEtcmF3ICcke0pTT04uc3RyaW5naWZ5KHRoaXMuYXBpRGF0YSl9J2A7XG5cbiAgICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoY29tbWFuZCk7XG4gICAgICAgIGNvbnN0IGdyb3dsZXJEYXRhID0gbmV3IEdyb3dsZXJNb2RlbChcbiAgICAgICAgICAgICdzdWNjZXNzJyxcbiAgICAgICAgICAgICdTdWNjZXNzJyxcbiAgICAgICAgICAgIGBUZXh0IENvcGllZGAsXG4gICAgICAgICAgICBgQ1VSTCBjb21tYW5kIGNvcGllZCB0byBjbGlwYm9hcmRgLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmdyb3dsZXJTZXJ2aWNlLnNob3coZ3Jvd2xlckRhdGEpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGNsZWFyKCkge1xuICAgICAgICB0aGlzLmZvcm1EYXRhLmNvbmZpZ1R5cGVJZCA9ICcnO1xuICAgICAgICB0aGlzLmNsZWFyRm9ybSgpO1xuICAgIH1cblxuICAgIGNsZWFyRm9ybSgpIHtcbiAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtPy5jb21wb25lbnQpIGl0ZW0uY29tcG9uZW50LmRlc3Ryb3koKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZXJyb3JzID0ge307XG4gICAgICAgIHRoaXMuaXRlbXMgPSBbXTtcbiAgICAgICAgdGhpcy5mb3JtRGF0YSA9IHt9O1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgc2F2ZShldmVudD86IGFueSkge1xuICAgICAgICB0aGlzLmVycm9ycyA9IHt9O1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ0VkaXRvci5nZXRDb25maWdEYXRhRnJvbUZvcm0oKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKXtcbiAgICAgICAgICAgIGNvbnN0IGdyb3dsZXJEYXRhID0gbmV3IEdyb3dsZXJNb2RlbChcbiAgICAgICAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgICAgICAgYEVycm9yIEdldHRpbmcgQ29uZmlnIERhdGFgLFxuICAgICAgICAgICAgICAgICdFcnJvciBnZXR0aW5nIGNvbmZpZ3VyYXRpb24gZGF0YSBmcm9tIGZyb20uJyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmdyb3dsZXJTZXJ2aWNlLnNob3coZ3Jvd2xlckRhdGEpO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy52YWxpZGF0ZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbmZpZ0lkID0gYXdhaXQgdGhpcy5zdmMuc2F2ZSh0aGlzLmZvcm1EYXRhKS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIGlmICghaXNFbXB0eShyZXN1bHQ/LmlkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybURhdGEgPSByZXN1bHQ7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0RGF0YSA9IHRoaXMuZm9ybURhdGE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0Py5pZDtcbiAgICAgICAgfSkuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGNvbmZpZ0lkKSB7XG4gICAgICAgICAgICB0aGlzLmluaXREYXRhID0gdGhpcy5mb3JtRGF0YTtcbiAgICAgICAgICAgIHRoaXMuX2RhdGFDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzTW9kYWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlTW9kYWwodHJ1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmV0dXJuVG9MaXN0UGFnZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHZhbGlkYXRlKCkge1xuICAgICAgICB0aGlzLmVycm9ycyA9IHt9O1xuXG4gICAgICAgIGlmICghdGhpcy5jb25maWdFZGl0b3IudmFsaWRhdGVDb25maWcodGhpcy5zZWxlY3RlZFNjaGVtYSwgdHJ1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNFbXB0eSh0aGlzLmZvcm1EYXRhLm5hbWUpKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9yc1snbmFtZSddID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNFbXB0eSh0aGlzLmZvcm1EYXRhLmNvbmZpZ1R5cGVJZCkpIHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JzWydjb25maWdUeXBlSWQnXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0VtcHR5KHRoaXMuZXJyb3JzKSkge1xuICAgICAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgICAgICBgRXJyb3IgVmFsaWRhdGluZyBDb25maWdgLFxuICAgICAgICAgICAgICAgICdUaGUgZW50ZXJlZCBjb25maWd1cmF0aW9uIGlzIGludmFsaWQuIFBsZWFzZSB1cGRhdGUgbWlzc2luZy9pbnZhbGlkIGZpZWxkcyBhbmQgdHJ5IGFnYWluLicsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5ncm93bGVyU2VydmljZS5zaG93KGdyb3dsZXJEYXRhKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNFbXB0eSh0aGlzLmVycm9ycyk7XG4gICAgfVxuICAgIGdldCBzYXZlQnV0dG9uVG9vbHRpcCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybURhdGFJbnZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm4gJ0NvbmZpZyBkYXRhIGlzIGludmFsaWQuIFBsZWFzZSB1cGRhdGUgYW5kIHRyeSBhZ2Fpbi4nXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJ0NvbXBsZXRlIGFuZCBhdHRhY2ggY29uZmlnIGRlZmluaXRpb24sIG9yIHJlbW92ZSBiZWZvcmUgc2F2aW5nJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFNjaGVtYSgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDb25maWdUeXBlSWQgIT09IHRoaXMuZm9ybURhdGEuY29uZmlnVHlwZUlkKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlnVHlwZUlkID0gdGhpcy5mb3JtRGF0YS5jb25maWdUeXBlSWQ7XG4gICAgICAgICAgICB0aGlzLmZvcm1EYXRhLmRhdGEgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN2Yy5nZXRTY2hlbWEodGhpcy5mb3JtRGF0YS5jb25maWdUeXBlSWQpLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNjaGVtYSA9IHJlc3VsdDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGFwaUNhbGxVUkwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXIgKyAnL2VkZ2UvbWFuYWdlbWVudC92MS9jb25maWdzJyArICh0aGlzLmZvcm1EYXRhLmlkID8gYC8ke3RoaXMuZm9ybURhdGEuaWR9YCA6ICcnKTtcbiAgICB9XG5cbiAgICBnZXQgYXBpRGF0YSgpOiBhbnkge1xuICAgICAgICBjb25zdCBkYXRhOiBhbnkgPSB7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLmZvcm1EYXRhPy5uYW1lIHx8ICcnLFxuICAgICAgICAgICAgY29uZmlnVHlwZUlkOiB0aGlzLmZvcm1EYXRhPy5jb25maWdUeXBlSWQgfHwgJycsXG4gICAgICAgICAgICBkYXRhOiB0aGlzLmZvcm1EYXRhPy5kYXRhIHx8IHt9LFxuICAgICAgICAgICAgdGFnczogdGhpcy5mb3JtRGF0YT8udGFnc1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLl9hcGlEYXRhID0gZGF0YTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaURhdGE7XG4gICAgfVxuXG4gICAgX2FwaURhdGE6IGFueSA9IHt9O1xuICAgIHNldCBhcGlEYXRhKGRhdGEpIHtcbiAgICAgICAgdGhpcy5fYXBpRGF0YSA9IGRhdGE7XG4gICAgfVxuXG4gICAgZGF0YUNoYW5nZWQoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5fYXBpRGF0YSA9IGNsb25lRGVlcCh0aGlzLmFwaURhdGEpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwcm9qZWN0YWJsZS1mb3JtLXdyYXBwZXJcIlxuICAgICAoa2V5dXAuZW50ZXIpPVwic2F2ZSgkZXZlbnQpXCJcbiAgICAgKGtleXVwLmVzY2FwZSk9XCJjbG9zZU1vZGFsKGZhbHNlKVwiXG4gICAgIHRhYmluZGV4PVwiMFwiXG4+XG4gICAgPGxpYi1mb3JtLWhlYWRlclxuICAgICAgICAgICAgW2RhdGFdPVwiZm9ybURhdGFcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIihmb3JtRGF0YS5pZCA/ICdFZGl0IENvbmZpZycgOiAnQ3JlYXRlIENvbmZpZycpXCJcbiAgICAgICAgICAgIFttb3JlQWN0aW9uc109XCJmb3JtRGF0YS5tb3JlQWN0aW9uc1wiXG4gICAgICAgICAgICAoYWN0aW9uUmVxdWVzdGVkKT1cImhlYWRlckFjdGlvblJlcXVlc3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIFsoZm9ybVZpZXcpXT1cImZvcm1WaWV3XCJcbiAgICAgICAgICAgIFtzYXZlRGlzYWJsZWRdPVwic3ZjLnNhdmVEaXNhYmxlZCB8fCBmb3JtRGF0YUludmFsaWRcIlxuICAgICAgICAgICAgW3NhdmVUb29sdGlwXT1cInNhdmVCdXR0b25Ub29sdGlwXCJcbiAgICA+PC9saWItZm9ybS1oZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cImNvbmZpZy1mb3JtLWNvbnRhaW5lciBwcm9qZWN0YWJsZS1mb3JtLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvamVjdGFibGUtZm9ybS1tYWluLWNvbHVtbiBmb3JtLWdyb3VwLXJvd1wiIFtoaWRkZW5dPVwiZm9ybVZpZXcgIT09ICdzaW1wbGUnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC1jb2x1bW4gdGhyZWUtZmlmdGhzXCI+XG4gICAgICAgICAgICAgICAgPGxpYi1mb3JtLWZpZWxkLWNvbnRhaW5lciBbdGl0bGVdPVwiJ0NvbmZpZyBOYW1lJ1wiIFtsYWJlbF09XCInUmVxdWlyZWQnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJDb25maWdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjUwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5hbWUgdGhpcyBjb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2Vycm9yOiBlcnJvcnNbJ25hbWUnXX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmb3JtRGF0YS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXl1cCk9XCJhcGlEYXRhKClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9saWItZm9ybS1maWVsZC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPGxpYi1mb3JtLWZpZWxkLWNvbnRhaW5lciBbc2hvd0hlYWRlcl09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlnLXRpdGxlLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWZpZWxkLXRpdGxlXCI+Q29uZmlndXJhdGlvbiBEYXRhPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyLXRvZ2dsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0b2dnbGUtb3B0aW9uLXRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd0b2dnbGUtb3B0aW9uLXNlbGVjdGVkJzogIXN2Yy5jb25maWdKc29uVmlld31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN2Yy50b2dnbGVKU09OVmlldygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZPUk1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyLXRvZ2dsZVwiIChjbGljayk9XCJzdmMudG9nZ2xlSlNPTlZpZXcoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLXRvZ2dsZS1zd2l0Y2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndG9nZ2xlLWxlZnQnOiAhc3ZjLmNvbmZpZ0pzb25WaWV3LCAndG9nZ2xlLXJpZ2h0Jzogc3ZjLmNvbmZpZ0pzb25WaWV3fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXRvZ2dsZS1pbmRpY2F0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXRvZ2dsZS1pbmRpY2F0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidG9nZ2xlLW9wdGlvbi10ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndG9nZ2xlLW9wdGlvbi1zZWxlY3RlZCc6IHN2Yy5jb25maWdKc29uVmlld31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN2Yy50b2dnbGVKU09OVmlldygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpTT05cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkLWlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlnLXRpdGxlLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1maWVsZC10aXRsZVwiPnt7aXNFZGl0aW5nID8gJ0NvbmZpZyBUeXBlJyA6ICdTZWxlY3QgYSBDb25maWcgVHlwZSd9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cIkNvbmZpZ1R5cGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb25maWctdHlwZS1zZWxlY3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZvcm1EYXRhLmNvbmZpZ1R5cGVJZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiZ2V0U2NoZW1hKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ZGlzYWJsZWQ6IGlzRWRpdGluZywgZXJyb3I6IGVycm9yc1snY29uZmlnVHlwZUlkJ119XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+U2VsZWN0IEEgVHlwZS4uLjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNvbmZpZyBvZiBvcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb25maWcuaWRcIj57e2NvbmZpZy5uYW1lfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1jb25maWctZWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiY29uZmlnVHlwZUVtcHR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjaGVtYV09XCJzZWxlY3RlZFNjaGVtYVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoY29uZmlnRGF0YSldPVwiZm9ybURhdGEuZGF0YVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93SnNvblZpZXddPVwic3ZjLmNvbmZpZ0pzb25WaWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhjb25maWdFcnJvcnMpXT1cImVycm9yc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25maWdEYXRhQ2hhbmdlKT1cImRhdGFDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjY29uZmlnRWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9saWItY29uZmlnLWVkaXRvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9saWItZm9ybS1maWVsZC1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPGxpYi1mb3JtLWZpZWxkLXRvZ2dsZSBbKHRvZ2dsZU9uKV09XCJzaG93TW9yZVwiICh0b2dnbGVPbkNoYW5nZSk9XCJzaG93TW9yZUNoYW5nZWQoJGV2ZW50KVwiIHN0eWxlPVwibWFyZ2luOiAwcHggMTBweFwiPjwvbGliLWZvcm0tZmllbGQtdG9nZ2xlPlxuICAgICAgICAgICAgICAgIDxkaXYgW2hpZGRlbl09XCIhc2hvd01vcmVcIiBjbGFzcz1cImZvcm0tZ3JvdXAtY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItZm9ybS1maWVsZC1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0N1c3RvbSBUYWdzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidPUFRJT05BTCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZC1hZHZhbmNlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhaGlkZVRhZ3NcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGliLWN1c3RvbS10YWdzIFsodGFncyldPVwiZm9ybURhdGEudGFnc1wiPjwvbGliLWN1c3RvbS10YWdzPlxuICAgICAgICAgICAgICAgICAgICA8L2xpYi1mb3JtLWZpZWxkLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAtY29sdW1uIHR3by1maWZ0aHNcIj5cbiAgICAgICAgICAgICAgICA8bGliLWZvcm0tZmllbGQtY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0FQSSBDYWxscydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIicnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoZWFkZXJBY3Rpb25zXT1cImFwaU9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGlvblJlcXVlc3RlZCk9XCJhcGlBY3Rpb25SZXF1ZXN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tZmllbGQtaW5wdXRcIiBbdmFsdWVdPVwiYXBpQ2FsbFVSTFwiIHJlYWRvbmx5Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cmwtY29weSBpY29uLWNvcHkgY29weVwiIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoYXBpQ2FsbFVSTClcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItanNvbi12aWV3ICpuZ0lmPVwiZm9ybURhdGFcIiBbKGRhdGEpXT1cIl9hcGlEYXRhXCIgW3JlYWRPbmx5XT1cInRydWVcIiBbc2hvd0NvcHldPVwidHJ1ZVwiPjwvbGliLWpzb24tdmlldz5cbiAgICAgICAgICAgICAgICA8L2xpYi1mb3JtLWZpZWxkLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAtY29sdW1uXCIgKm5nSWY9XCJmb3JtVmlldyA9PT0gJ3JhdydcIj5cbiAgICAgICAgICAgIDxsaWItanNvbi12aWV3ICpuZ0lmPVwiZm9ybURhdGFcIiBbKGRhdGEpXT1cImZvcm1EYXRhXCI+PC9saWItanNvbi12aWV3PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGxpYi1sb2FkaW5nLWluZGljYXRvciAqbmdJZj1cImlzTG9hZGluZ1wiIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCI+PC9saWItbG9hZGluZy1pbmRpY2F0b3I+XG4iXX0=
|