ax-common-ui-lib 1.0.1-beta.34.2 → 1.0.1-beta.34.2-testing
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/esm2020/lib/app-create-dialog-component/app-create-dialog-component.component.mjs +25 -22
- package/esm2020/lib/data-view-lib/data-view-filters/generate-qr/generate-qr.component.mjs +59 -58
- package/esm2020/lib/data-view-lib/data-view-lib.module.mjs +4 -5
- package/esm2020/lib/field-map/field-map.component.mjs +2 -2
- package/esm2020/lib/form-object/form-object-view/form-object-view.service.mjs +6 -2
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-map-view/image-map-view.component.mjs +2 -2
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-widget-lightbox-view/image-widget-lightbox-view.component.mjs +2 -2
- package/esm2020/lib/ghost-loader/ghost-loader.component.mjs +2 -2
- package/esm2020/lib/sculptor/form-builder-master/canvas/widget-drop-list/widget-drop-list.component.mjs +2 -2
- package/esm2020/lib/shared/comfirmation-modal/confirmation-modal.component.mjs +2 -2
- package/fesm2015/ax-common-ui-lib.mjs +100 -94
- package/fesm2015/ax-common-ui-lib.mjs.map +1 -1
- package/fesm2020/ax-common-ui-lib.mjs +99 -91
- package/fesm2020/ax-common-ui-lib.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "@angular/material/dialog";
|
|
5
5
|
import * as i2 from "@angular/forms";
|
|
6
6
|
import * as i3 from "@angular/common";
|
|
7
|
-
function
|
|
7
|
+
function AppCreateDialogComponentComponent_span_12_Template(rf, ctx) { if (rf & 1) {
|
|
8
8
|
i0.ɵɵelementStart(0, "span", 12);
|
|
9
9
|
i0.ɵɵtext(1);
|
|
10
10
|
i0.ɵɵelementEnd();
|
|
@@ -43,7 +43,7 @@ export class AppCreateDialogComponentComponent {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
AppCreateDialogComponentComponent.ɵfac = function AppCreateDialogComponentComponent_Factory(t) { return new (t || AppCreateDialogComponentComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef)); };
|
|
46
|
-
AppCreateDialogComponentComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AppCreateDialogComponentComponent, selectors: [["app-app-create-dialog-component"]], decls:
|
|
46
|
+
AppCreateDialogComponentComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AppCreateDialogComponentComponent, selectors: [["app-app-create-dialog-component"]], decls: 22, vars: 6, consts: [[1, "popup-container", "create-app-popup"], [1, "close-icon", 3, "click"], [1, "flex", "flex-col", "gap-2"], ["for", "app-name"], ["type", "text", "id", "app-name", "required", "", 1, "", 3, "ngModel", "ngClass", "ngModelChange", "blur", "input"], [1, "err-message-container"], ["class", "error-message", 4, "ngIf"], ["for", "app-desc"], ["id", "app-desc", "placeholder", "Please provide a detailed description of your app so that our AI can assist you in building your apps faster.", "rows", "5", 1, "", 3, "ngModel", "ngModelChange"], [1, "action-btn-container"], [1, "stroke-btn", 3, "click"], [1, "fill-btn", 3, "click"], [1, "error-message"]], template: function AppCreateDialogComponentComponent_Template(rf, ctx) { if (rf & 1) {
|
|
47
47
|
i0.ɵɵelementStart(0, "div", 0);
|
|
48
48
|
i0.ɵɵelementStart(1, "button", 1);
|
|
49
49
|
i0.ɵɵlistener("click", function AppCreateDialogComponentComponent_Template_button_click_1_listener() { return ctx.onCancel(); });
|
|
@@ -55,44 +55,47 @@ AppCreateDialogComponentComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
55
55
|
i0.ɵɵelementStart(5, "div");
|
|
56
56
|
i0.ɵɵelementStart(6, "label", 3);
|
|
57
57
|
i0.ɵɵtext(7, "App Name");
|
|
58
|
+
i0.ɵɵelementStart(8, "sup");
|
|
59
|
+
i0.ɵɵtext(9, "*");
|
|
58
60
|
i0.ɵɵelementEnd();
|
|
59
|
-
i0.ɵɵelementStart(8, "input", 4);
|
|
60
|
-
i0.ɵɵlistener("ngModelChange", function AppCreateDialogComponentComponent_Template_input_ngModelChange_8_listener($event) { return ctx.name = $event; })("blur", function AppCreateDialogComponentComponent_Template_input_blur_8_listener() { return ctx.onBlur(); })("input", function AppCreateDialogComponentComponent_Template_input_input_8_listener() { return ctx.onInput(); });
|
|
61
61
|
i0.ɵɵelementEnd();
|
|
62
|
-
i0.ɵɵelementStart(
|
|
63
|
-
i0.ɵɵ
|
|
62
|
+
i0.ɵɵelementStart(10, "input", 4);
|
|
63
|
+
i0.ɵɵlistener("ngModelChange", function AppCreateDialogComponentComponent_Template_input_ngModelChange_10_listener($event) { return ctx.name = $event; })("blur", function AppCreateDialogComponentComponent_Template_input_blur_10_listener() { return ctx.onBlur(); })("input", function AppCreateDialogComponentComponent_Template_input_input_10_listener() { return ctx.onInput(); });
|
|
64
64
|
i0.ɵɵelementEnd();
|
|
65
|
+
i0.ɵɵelementStart(11, "div", 5);
|
|
66
|
+
i0.ɵɵtemplate(12, AppCreateDialogComponentComponent_span_12_Template, 2, 1, "span", 6);
|
|
65
67
|
i0.ɵɵelementEnd();
|
|
66
|
-
i0.ɵɵelementStart(11, "div");
|
|
67
|
-
i0.ɵɵelementStart(12, "label", 7);
|
|
68
|
-
i0.ɵɵtext(13, "Description");
|
|
69
68
|
i0.ɵɵelementEnd();
|
|
70
|
-
i0.ɵɵelementStart(
|
|
71
|
-
i0.ɵɵ
|
|
69
|
+
i0.ɵɵelementStart(13, "div");
|
|
70
|
+
i0.ɵɵelementStart(14, "label", 7);
|
|
71
|
+
i0.ɵɵtext(15, "Description");
|
|
72
72
|
i0.ɵɵelementEnd();
|
|
73
|
+
i0.ɵɵelementStart(16, "textarea", 8);
|
|
74
|
+
i0.ɵɵlistener("ngModelChange", function AppCreateDialogComponentComponent_Template_textarea_ngModelChange_16_listener($event) { return ctx.description = $event; });
|
|
73
75
|
i0.ɵɵelementEnd();
|
|
74
76
|
i0.ɵɵelementEnd();
|
|
75
|
-
i0.ɵɵelementStart(15, "div", 9);
|
|
76
|
-
i0.ɵɵelementStart(16, "button", 10);
|
|
77
|
-
i0.ɵɵlistener("click", function AppCreateDialogComponentComponent_Template_button_click_16_listener() { return ctx.onCancel(); });
|
|
78
|
-
i0.ɵɵtext(17, "Cancel");
|
|
79
77
|
i0.ɵɵelementEnd();
|
|
80
|
-
i0.ɵɵelementStart(
|
|
81
|
-
i0.ɵɵ
|
|
82
|
-
i0.ɵɵ
|
|
78
|
+
i0.ɵɵelementStart(17, "div", 9);
|
|
79
|
+
i0.ɵɵelementStart(18, "button", 10);
|
|
80
|
+
i0.ɵɵlistener("click", function AppCreateDialogComponentComponent_Template_button_click_18_listener() { return ctx.onCancel(); });
|
|
81
|
+
i0.ɵɵtext(19, "Cancel");
|
|
82
|
+
i0.ɵɵelementEnd();
|
|
83
|
+
i0.ɵɵelementStart(20, "button", 11);
|
|
84
|
+
i0.ɵɵlistener("click", function AppCreateDialogComponentComponent_Template_button_click_20_listener() { return ctx.onSubmit(); });
|
|
85
|
+
i0.ɵɵtext(21, "Create");
|
|
83
86
|
i0.ɵɵelementEnd();
|
|
84
87
|
i0.ɵɵelementEnd();
|
|
85
88
|
i0.ɵɵelementEnd();
|
|
86
89
|
} if (rf & 2) {
|
|
87
|
-
i0.ɵɵadvance(
|
|
90
|
+
i0.ɵɵadvance(10);
|
|
88
91
|
i0.ɵɵproperty("ngModel", ctx.name)("ngClass", i0.ɵɵpureFunction1(4, _c0, ctx.showErrMessge.name && ctx.errMessage.name));
|
|
89
92
|
i0.ɵɵadvance(2);
|
|
90
93
|
i0.ɵɵproperty("ngIf", ctx.showErrMessge.name && ctx.errMessage.name);
|
|
91
94
|
i0.ɵɵadvance(4);
|
|
92
95
|
i0.ɵɵproperty("ngModel", ctx.description);
|
|
93
|
-
} }, directives: [i2.DefaultValueAccessor, i2.RequiredValidator, i2.NgControlStatus, i2.NgModel, i3.NgClass, i3.NgIf], styles: [".create-app-popup[_ngcontent-%COMP%]{min-width:30vw}", ".popup-container[_ngcontent-%COMP%]{min-width:20vw;min-height:fit-content;width:fit-content;height:fit-content;max-width:75vw;max-height:75vh;font-family:Inter var,Roboto;font-size:.875rem;position:relative}.popup-container[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-family:Inter var,Roboto!important;color:#1b2b4b;font-size:1.125rem;font-weight:500;line-height:28px;margin:0 0 1rem;text-transform:capitalize;width:fit-content}.popup-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#475467;font-weight:400;margin:0;line-height:20px}.popup-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;color:#1b2b4b;font-weight:500;margin:0 0 .2rem}.popup-container[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{height:24px;width:24px;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M18 6L6 18M6 6L18 18%22 stroke%3D%22%23667085%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\");background-position:center;background-size:100%;position:absolute;top:0;right:0}.popup-container[_ngcontent-%COMP%] .action-btn-container[_ngcontent-%COMP%]{display:flex;justify-content:right;gap:.5rem;margin:1.5rem 0 0}.popup-container[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%], .popup-container[_ngcontent-%COMP%] input[type=number][_ngcontent-%COMP%], .popup-container[_ngcontent-%COMP%] input[type=email][_ngcontent-%COMP%], .popup-container[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{display:block;border:1px solid #D0D5DD;border-radius:.375rem;width:100%;padding:.5rem 1rem;color:#1b2b4b;resize:none}.popup-container[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%]::placeholder, .popup-container[_ngcontent-%COMP%] input[type=number][_ngcontent-%COMP%]::placeholder, .popup-container[_ngcontent-%COMP%] input[type=email][_ngcontent-%COMP%]::placeholder, .popup-container[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]::placeholder{color:#a5a5a5}.popup-container[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%]:focus, .popup-container[_ngcontent-%COMP%] input[type=number][_ngcontent-%COMP%]:focus, .popup-container[_ngcontent-%COMP%] input[type=email][_ngcontent-%COMP%]:focus, .popup-container[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus{border:1px solid #6C52ED}.popup-container[_ngcontent-%COMP%] .err-message-container[_ngcontent-%COMP%]{height:14px;line-height:12px;width:100%;margin-top:2px}.popup-container[_ngcontent-%COMP%] .err-message-container[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{color:#dc2626;font-size:12px;float:right}.popup-container[_ngcontent-%COMP%] .invalid-input[_ngcontent-%COMP%]{border:1px solid #
|
|
96
|
+
} }, directives: [i2.DefaultValueAccessor, i2.RequiredValidator, i2.NgControlStatus, i2.NgModel, i3.NgClass, i3.NgIf], styles: [".create-app-popup[_ngcontent-%COMP%]{min-width:30vw}", ".popup-container[_ngcontent-%COMP%]{min-width:20vw;min-height:fit-content;width:fit-content;height:fit-content;max-width:75vw;max-height:75vh;font-family:Inter var,Roboto;font-size:.875rem;position:relative}.popup-container[_ngcontent-%COMP%] .popup-body[_ngcontent-%COMP%]{max-height:70vh;overflow:auto}.popup-container[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-family:Inter var,Roboto!important;color:#1b2b4b;font-size:1.125rem;font-weight:500;line-height:28px;margin:0 0 1rem;text-transform:capitalize;width:fit-content}.popup-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#475467;font-weight:400;margin:0;line-height:20px}.popup-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]:not(.mat-slide-toggle-label){display:block;color:#1b2b4b;font-weight:500;margin:0 0 .2rem}.popup-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]:not(.mat-slide-toggle-label) sup[_ngcontent-%COMP%]{color:#dc2626}.popup-container[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{height:24px;width:24px;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M18 6L6 18M6 6L18 18%22 stroke%3D%22%23667085%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\");background-position:center;background-size:100%;position:absolute;top:0;right:0;cursor:pointer}.popup-container[_ngcontent-%COMP%] .action-btn-container[_ngcontent-%COMP%]{display:flex;justify-content:right;gap:.5rem;margin:1.5rem 0 0}.popup-container[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%], .popup-container[_ngcontent-%COMP%] input[type=number][_ngcontent-%COMP%], .popup-container[_ngcontent-%COMP%] input[type=email][_ngcontent-%COMP%], .popup-container[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{display:block;border:1px solid #D0D5DD;border-radius:.375rem;width:100%;padding:.5rem 1rem;color:#1b2b4b;resize:none}.popup-container[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%]::placeholder, .popup-container[_ngcontent-%COMP%] input[type=number][_ngcontent-%COMP%]::placeholder, .popup-container[_ngcontent-%COMP%] input[type=email][_ngcontent-%COMP%]::placeholder, .popup-container[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]::placeholder{color:#a5a5a5}.popup-container[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%]:focus, .popup-container[_ngcontent-%COMP%] input[type=number][_ngcontent-%COMP%]:focus, .popup-container[_ngcontent-%COMP%] input[type=email][_ngcontent-%COMP%]:focus, .popup-container[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus{border:1px solid #6C52ED}.popup-container[_ngcontent-%COMP%] .err-message-container[_ngcontent-%COMP%]{height:14px;line-height:12px;width:100%;margin-top:2px}.popup-container[_ngcontent-%COMP%] .err-message-container[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{color:#dc2626;font-size:12px;float:right}.popup-container[_ngcontent-%COMP%] .invalid-input[_ngcontent-%COMP%]{border:1px solid #DC2626!important}.popup-container[_ngcontent-%COMP%] .checkbox-container[_ngcontent-%COMP%]{display:flex;justify-content:start;align-items:center}.popup-container[_ngcontent-%COMP%] .checkbox-container[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{width:fit-content;margin:0 .5rem 0 0}.stroke-btn[_ngcontent-%COMP%]{box-sizing:border-box;padding:.5rem 1rem;border-radius:.5rem;font-size:1rem;font-weight:500;width:fit-content;text-transform:capitalize;background-color:#fff;border:1px solid #D0D5DD;color:#344054}.stroke-btn[_ngcontent-%COMP%]:hover{background-color:#eff6ff}.fill-btn[_ngcontent-%COMP%]{box-sizing:border-box;padding:.5rem 1rem;border-radius:.5rem;font-size:1rem;font-weight:500;width:fit-content;text-transform:capitalize;border:1px solid transparent;background-image:linear-gradient(to right,#4E4AEA,#3C88FC);color:#fff}.fill-btn[_ngcontent-%COMP%]:hover{opacity:.7}.publish-btn[_ngcontent-%COMP%]{box-sizing:border-box;padding:.5rem 1rem;border-radius:.5rem;font-size:1rem;font-weight:500;width:fit-content;text-transform:capitalize;border:none;background-color:#e19965;color:#fff}.publish-btn[_ngcontent-%COMP%]:hover{opacity:.7}.delete-btn[_ngcontent-%COMP%]{box-sizing:border-box;padding:.5rem 1rem;border-radius:.5rem;font-size:1rem;font-weight:500;width:fit-content;text-transform:capitalize;background-color:#fff;border:1px solid #D0D5DD;color:#dc2626}.delete-btn[_ngcontent-%COMP%]:hover{background-color:#eff6ff}"] });
|
|
94
97
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppCreateDialogComponentComponent, [{
|
|
95
98
|
type: Component,
|
|
96
|
-
args: [{ selector: 'app-app-create-dialog-component', template: "<div class=\"popup-container create-app-popup\">\n <button class=\"close-icon\" (click)=\"onCancel()\"></button>\n <h1>Create a New App</h1>\n <div class=\"flex flex-col gap-2\">\n <div>\n <label for=\"app-name\">App Name
|
|
99
|
+
args: [{ selector: 'app-app-create-dialog-component', template: "<div class=\"popup-container create-app-popup\">\n <button class=\"close-icon\" (click)=\"onCancel()\"></button>\n <h1>Create a New App</h1>\n <div class=\"flex flex-col gap-2\">\n <div>\n <label for=\"app-name\">App Name<sup>*</sup></label>\n <input type=\"text\" [(ngModel)]=\"name\" id=\"app-name\" class=\"\" (blur)=\"onBlur()\" (input)=\"onInput()\" [ngClass]=\"{'invalid-input': showErrMessge.name && errMessage.name}\" required />\n <div class=\"err-message-container\"><span *ngIf=\"showErrMessge.name && errMessage.name\" class=\"error-message\">{{ errMessage.name }}</span></div>\n </div>\n <div>\n <label for=\"app-desc\">Description</label>\n <textarea [(ngModel)]=\"description\" id=\"app-desc\" placeholder=\"Please provide a detailed description of your app so that our AI can assist you in building your apps faster.\" class=\"\" rows=\"5\"></textarea>\n </div>\n </div>\n <div class=\"action-btn-container\">\n <button (click)=\"onCancel()\" class=\"stroke-btn\">Cancel</button>\n <button (click)=\"onSubmit()\" class=\"fill-btn\">Create</button>\n </div>\n</div>", styles: [".create-app-popup{min-width:30vw}\n", ".popup-container{min-width:20vw;min-height:fit-content;width:fit-content;height:fit-content;max-width:75vw;max-height:75vh;font-family:Inter var,Roboto;font-size:.875rem;position:relative}.popup-container .popup-body{max-height:70vh;overflow:auto}.popup-container h1{font-family:Inter var,Roboto!important;color:#1b2b4b;font-size:1.125rem;font-weight:500;line-height:28px;margin:0 0 1rem;text-transform:capitalize;width:fit-content}.popup-container p{color:#475467;font-weight:400;margin:0;line-height:20px}.popup-container label:not(.mat-slide-toggle-label){display:block;color:#1b2b4b;font-weight:500;margin:0 0 .2rem}.popup-container label:not(.mat-slide-toggle-label) sup{color:#dc2626}.popup-container .close-icon{height:24px;width:24px;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M18 6L6 18M6 6L18 18%22 stroke%3D%22%23667085%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\");background-position:center;background-size:100%;position:absolute;top:0;right:0;cursor:pointer}.popup-container .action-btn-container{display:flex;justify-content:right;gap:.5rem;margin:1.5rem 0 0}.popup-container input[type=text],.popup-container input[type=number],.popup-container input[type=email],.popup-container textarea{display:block;border:1px solid #D0D5DD;border-radius:.375rem;width:100%;padding:.5rem 1rem;color:#1b2b4b;resize:none}.popup-container input[type=text]::placeholder,.popup-container input[type=number]::placeholder,.popup-container input[type=email]::placeholder,.popup-container textarea::placeholder{color:#a5a5a5}.popup-container input[type=text]:focus,.popup-container input[type=number]:focus,.popup-container input[type=email]:focus,.popup-container textarea:focus{border:1px solid #6C52ED}.popup-container .err-message-container{height:14px;line-height:12px;width:100%;margin-top:2px}.popup-container .err-message-container .error-message{color:#dc2626;font-size:12px;float:right}.popup-container .invalid-input{border:1px solid #DC2626!important}.popup-container .checkbox-container{display:flex;justify-content:start;align-items:center}.popup-container .checkbox-container input[type=checkbox]{width:fit-content;margin:0 .5rem 0 0}.stroke-btn{box-sizing:border-box;padding:.5rem 1rem;border-radius:.5rem;font-size:1rem;font-weight:500;width:fit-content;text-transform:capitalize;background-color:#fff;border:1px solid #D0D5DD;color:#344054}.stroke-btn:hover{background-color:#eff6ff}.fill-btn{box-sizing:border-box;padding:.5rem 1rem;border-radius:.5rem;font-size:1rem;font-weight:500;width:fit-content;text-transform:capitalize;border:1px solid transparent;background-image:linear-gradient(to right,#4E4AEA,#3C88FC);color:#fff}.fill-btn:hover{opacity:.7}.publish-btn{box-sizing:border-box;padding:.5rem 1rem;border-radius:.5rem;font-size:1rem;font-weight:500;width:fit-content;text-transform:capitalize;border:none;background-color:#e19965;color:#fff}.publish-btn:hover{opacity:.7}.delete-btn{box-sizing:border-box;padding:.5rem 1rem;border-radius:.5rem;font-size:1rem;font-weight:500;width:fit-content;text-transform:capitalize;background-color:#fff;border:1px solid #D0D5DD;color:#dc2626}.delete-btn:hover{background-color:#eff6ff}\n"] }]
|
|
97
100
|
}], function () { return [{ type: i1.MatDialogRef }]; }, null); })();
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNyZWF0ZS1kaWFsb2ctY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9heC1jb21tb24tdWktbGliL3NyYy9saWIvYXBwLWNyZWF0ZS1kaWFsb2ctY29tcG9uZW50L2FwcC1jcmVhdGUtZGlhbG9nLWNvbXBvbmVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvYXgtY29tbW9uLXVpLWxpYi9zcmMvbGliL2FwcC1jcmVhdGUtZGlhbG9nLWNvbXBvbmVudC9hcHAtY3JlYXRlLWRpYWxvZy1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztJQ01mLGdDQUEwRTtJQUFBLFlBQXFCO0lBQUEsaUJBQU87OztJQUE1QixlQUFxQjtJQUFyQiw0Q0FBcUI7OztBREN4SSxNQUFNLE9BQU8saUNBQWlDO0lBTzVDLFlBQW1CLFNBQTBEO1FBQTFELGNBQVMsR0FBVCxTQUFTLENBQWlEO1FBTDdFLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsZUFBVSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLENBQUM7SUFFa0QsQ0FBQztJQUVqRixRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUMxRTthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2Qsc0RBQXNEO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyw4QkFBOEIsQ0FBQztJQUN2RyxDQUFDOztrSEE3QlUsaUNBQWlDO29GQUFqQyxpQ0FBaUM7UUNSOUMsOEJBQThDO1FBQzNDLGlDQUFnRDtRQUFyQiw4R0FBUyxjQUFVLElBQUM7UUFBQyxpQkFBUztRQUMxRCwwQkFBSTtRQUFBLGdDQUFnQjtRQUFBLGlCQUFLO1FBQ3pCLDhCQUFpQztRQUMvQiwyQkFBSztRQUNILGdDQUFzQjtRQUFBLHdCQUFRO1FBQUEsMkJBQUs7UUFBQSxpQkFBQztRQUFBLGlCQUFNO1FBQUEsaUJBQVE7UUFDbEQsaUNBQW1MO1FBQWhLLHlKQUFrQiwrRkFBZ0MsWUFBUSxJQUF4QyxpR0FBbUQsYUFBUyxJQUE1RDtRQUFyQyxpQkFBbUw7UUFDbkwsK0JBQW1DO1FBQUEsc0ZBQXNHO1FBQUEsaUJBQU07UUFDakosaUJBQU07UUFDTiw0QkFBSztRQUNILGlDQUFzQjtRQUFBLDRCQUFXO1FBQUEsaUJBQVE7UUFDekMsb0NBQWdNO1FBQXRMLG1LQUF5QjtRQUE2SixpQkFBVztRQUM3TSxpQkFBTTtRQUNSLGlCQUFNO1FBQ04sK0JBQWtDO1FBQ2hDLG1DQUFnRDtRQUF4QywrR0FBUyxjQUFVLElBQUM7UUFBb0IsdUJBQU07UUFBQSxpQkFBUztRQUMvRCxtQ0FBK0M7UUFBdkMsK0dBQVMsY0FBVSxJQUFDO1FBQW1CLHVCQUFNO1FBQUEsaUJBQVM7UUFDaEUsaUJBQU07UUFDUixpQkFBTTs7UUFabUIsZ0JBQWtCO1FBQWxCLGtDQUFrQixzRkFBQTtRQUNLLGVBQTJDO1FBQTNDLG9FQUEyQztRQUkzRSxlQUF5QjtRQUF6Qix5Q0FBeUI7O3VGREg1QixpQ0FBaUM7Y0FMN0MsU0FBUzsyQkFDRSxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFwcC1jcmVhdGUtZGlhbG9nLWNvbXBvbmVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAtY3JlYXRlLWRpYWxvZy1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hcHAtY3JlYXRlLWRpYWxvZy1jb21wb25lbnQuY29tcG9uZW50LnNjc3MnLCBcIi4uLy4uL3N0eWxlcy9zdHlsZXMuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBBcHBDcmVhdGVEaWFsb2dDb21wb25lbnRDb21wb25lbnQge1xuXG4gIG5hbWU6IHN0cmluZyA9ICcnO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nID0gJyc7XG4gIGVyck1lc3NhZ2UgPSB7IG5hbWU6ICcnIH07XG4gIHNob3dFcnJNZXNzZ2UgPSB7bmFtZTogZmFsc2V9O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBcHBDcmVhdGVEaWFsb2dDb21wb25lbnRDb21wb25lbnQ+KSB7fVxuXG4gIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICBvblN1Ym1pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uYW1lLnRyaW0oKSkge1xuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBuYW1lOiB0aGlzLm5hbWUsIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9uQmx1cigpO1xuICAgICAgLy8gT3B0aW9uYWw6IERpc3BsYXkgYW4gZXJyb3IgbWVzc2FnZSBpZiBuYW1lIGlzIGVtcHR5XG4gICAgfVxuICB9XG5cbiAgb25CbHVyKCl7XG4gICAgdGhpcy5zaG93RXJyTWVzc2dlLm5hbWUgPSB0cnVlO1xuICAgIHRoaXMub25JbnB1dCgpO1xuICB9XG5cbiAgb25JbnB1dCgpe1xuICAgIHRoaXMubmFtZS50cmltKCkgPyB0aGlzLmVyck1lc3NhZ2UubmFtZSA9IFwiXCIgOiB0aGlzLmVyck1lc3NhZ2UubmFtZSA9IFwiQXBwIG5hbWUgc2hvdWxkIG5vdCBiZSBlbXB0eVwiO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG9wdXAtY29udGFpbmVyIGNyZWF0ZS1hcHAtcG9wdXBcIj5cbiAgIDxidXR0b24gY2xhc3M9XCJjbG9zZS1pY29uXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj48L2J1dHRvbj5cbiAgPGgxPkNyZWF0ZSBhIE5ldyBBcHA8L2gxPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMlwiPlxuICAgIDxkaXY+XG4gICAgICA8bGFiZWwgZm9yPVwiYXBwLW5hbWVcIj5BcHAgTmFtZTxzdXA+Kjwvc3VwPjwvbGFiZWw+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cIm5hbWVcIiBpZD1cImFwcC1uYW1lXCIgY2xhc3M9XCJcIiAoYmx1cik9XCJvbkJsdXIoKVwiIChpbnB1dCk9XCJvbklucHV0KClcIiBbbmdDbGFzc109XCJ7J2ludmFsaWQtaW5wdXQnOiBzaG93RXJyTWVzc2dlLm5hbWUgJiYgZXJyTWVzc2FnZS5uYW1lfVwiIHJlcXVpcmVkIC8+XG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyLW1lc3NhZ2UtY29udGFpbmVyXCI+PHNwYW4gKm5nSWY9XCJzaG93RXJyTWVzc2dlLm5hbWUgJiYgZXJyTWVzc2FnZS5uYW1lXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+e3sgZXJyTWVzc2FnZS5uYW1lIH19PC9zcGFuPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8bGFiZWwgZm9yPVwiYXBwLWRlc2NcIj5EZXNjcmlwdGlvbjwvbGFiZWw+XG4gICAgICA8dGV4dGFyZWEgWyhuZ01vZGVsKV09XCJkZXNjcmlwdGlvblwiIGlkPVwiYXBwLWRlc2NcIiBwbGFjZWhvbGRlcj1cIlBsZWFzZSBwcm92aWRlIGEgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgeW91ciBhcHAgc28gdGhhdCBvdXIgQUkgY2FuIGFzc2lzdCB5b3UgaW4gYnVpbGRpbmcgeW91ciBhcHBzIGZhc3Rlci5cIiBjbGFzcz1cIlwiIHJvd3M9XCI1XCI+PC90ZXh0YXJlYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnRuLWNvbnRhaW5lclwiPlxuICAgIDxidXR0b24gKGNsaWNrKT1cIm9uQ2FuY2VsKClcIiBjbGFzcz1cInN0cm9rZS1idG5cIj5DYW5jZWw8L2J1dHRvbj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJvblN1Ym1pdCgpXCIgIGNsYXNzPVwiZmlsbC1idG5cIj5DcmVhdGU8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -32,90 +32,86 @@ function GenerateQRComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
32
32
|
i0.ɵɵelementEnd();
|
|
33
33
|
i0.ɵɵelementEnd();
|
|
34
34
|
} }
|
|
35
|
-
function
|
|
36
|
-
i0.ɵɵelementStart(0, "span");
|
|
35
|
+
function GenerateQRComponent_ng_template_1_span_30_Template(rf, ctx) { if (rf & 1) {
|
|
36
|
+
i0.ɵɵelementStart(0, "span", 23);
|
|
37
37
|
i0.ɵɵtext(1, "Please enter valid email ID(s)");
|
|
38
38
|
i0.ɵɵelementEnd();
|
|
39
39
|
} }
|
|
40
|
-
function
|
|
41
|
-
i0.ɵɵelementStart(0, "div", 25);
|
|
42
|
-
i0.ɵɵtemplate(1, GenerateQRComponent_ng_template_1_div_27_span_1_Template, 2, 0, "span", 26);
|
|
43
|
-
i0.ɵɵelementEnd();
|
|
44
|
-
} if (rf & 2) {
|
|
45
|
-
const ctx_r5 = i0.ɵɵnextContext(2);
|
|
46
|
-
i0.ɵɵadvance(1);
|
|
47
|
-
i0.ɵɵproperty("ngIf", ctx_r5.formGroup.get("email").hasError("invalidEmails"));
|
|
48
|
-
} }
|
|
49
|
-
const _c0 = function (a0) { return { "invalid-email": a0 }; };
|
|
40
|
+
const _c0 = function (a0) { return { "invalid-input": a0 }; };
|
|
50
41
|
function GenerateQRComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
-
const
|
|
42
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
52
43
|
i0.ɵɵelementStart(0, "div", 7);
|
|
53
|
-
i0.ɵɵelementStart(1, "
|
|
54
|
-
i0.ɵɵlistener("click", function
|
|
44
|
+
i0.ɵɵelementStart(1, "button", 8);
|
|
45
|
+
i0.ɵɵlistener("click", function GenerateQRComponent_ng_template_1_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return ctx_r6.close(); });
|
|
55
46
|
i0.ɵɵelementEnd();
|
|
56
|
-
i0.ɵɵelementStart(2, "
|
|
47
|
+
i0.ɵɵelementStart(2, "h1");
|
|
57
48
|
i0.ɵɵtext(3, "Generate QR Codes");
|
|
58
49
|
i0.ɵɵelementEnd();
|
|
59
|
-
i0.ɵɵelementStart(4, "
|
|
60
|
-
i0.ɵɵ
|
|
61
|
-
i0.ɵɵ
|
|
62
|
-
i0.ɵɵelementStart(6, "
|
|
63
|
-
i0.ɵɵ
|
|
50
|
+
i0.ɵɵelementStart(4, "div", 9);
|
|
51
|
+
i0.ɵɵelementStart(5, "form", 10);
|
|
52
|
+
i0.ɵɵlistener("ngSubmit", function GenerateQRComponent_ng_template_1_Template_form_ngSubmit_5_listener() { i0.ɵɵrestoreView(_r7); const ctx_r8 = i0.ɵɵnextContext(); return ctx_r8.submitForm(); });
|
|
53
|
+
i0.ɵɵelementStart(6, "div", 11);
|
|
54
|
+
i0.ɵɵelementStart(7, "label");
|
|
55
|
+
i0.ɵɵtext(8, "Scan Trigger");
|
|
64
56
|
i0.ɵɵelementEnd();
|
|
65
|
-
i0.ɵɵelementStart(
|
|
66
|
-
i0.ɵɵtext(
|
|
57
|
+
i0.ɵɵelementStart(9, "p");
|
|
58
|
+
i0.ɵɵtext(10, "Open QR Code scanner when one of the following is opened");
|
|
67
59
|
i0.ɵɵelementEnd();
|
|
68
|
-
i0.ɵɵelementStart(
|
|
69
|
-
i0.ɵɵelementStart(
|
|
70
|
-
i0.ɵɵtext(
|
|
60
|
+
i0.ɵɵelementStart(11, "mat-radio-group", 12);
|
|
61
|
+
i0.ɵɵelementStart(12, "mat-radio-button", 13);
|
|
62
|
+
i0.ɵɵtext(13, "App");
|
|
71
63
|
i0.ɵɵelementEnd();
|
|
72
|
-
i0.ɵɵelementStart(
|
|
73
|
-
i0.ɵɵtext(
|
|
64
|
+
i0.ɵɵelementStart(14, "mat-radio-button", 14);
|
|
65
|
+
i0.ɵɵtext(15, "Form");
|
|
74
66
|
i0.ɵɵelementEnd();
|
|
75
67
|
i0.ɵɵelementEnd();
|
|
76
|
-
i0.ɵɵelementStart(
|
|
77
|
-
i0.ɵɵtext(
|
|
68
|
+
i0.ɵɵelementStart(16, "label");
|
|
69
|
+
i0.ɵɵtext(17, "Auto-Populate");
|
|
78
70
|
i0.ɵɵelementEnd();
|
|
79
|
-
i0.ɵɵelementStart(
|
|
80
|
-
i0.ɵɵtext(
|
|
71
|
+
i0.ɵɵelementStart(18, "p");
|
|
72
|
+
i0.ɵɵtext(19, "Select the form fields that need to be automatically filled based on the data embedded in the QR Code");
|
|
81
73
|
i0.ɵɵelementEnd();
|
|
82
|
-
i0.ɵɵelementStart(
|
|
83
|
-
i0.ɵɵlistener("fieldmap", function
|
|
74
|
+
i0.ɵɵelementStart(20, "lib-field-map", 15);
|
|
75
|
+
i0.ɵɵlistener("fieldmap", function GenerateQRComponent_ng_template_1_Template_lib_field_map_fieldmap_20_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.handlefieldmap($event); });
|
|
84
76
|
i0.ɵɵelementEnd();
|
|
85
|
-
i0.ɵɵelementStart(
|
|
86
|
-
i0.ɵɵelementStart(
|
|
87
|
-
i0.ɵɵtext(
|
|
77
|
+
i0.ɵɵelementStart(21, "div", 16);
|
|
78
|
+
i0.ɵɵelementStart(22, "label");
|
|
79
|
+
i0.ɵɵtext(23, "Send QR Codes ");
|
|
80
|
+
i0.ɵɵelementStart(24, "sup");
|
|
81
|
+
i0.ɵɵtext(25, "*");
|
|
88
82
|
i0.ɵɵelementEnd();
|
|
89
|
-
i0.ɵɵelementStart(23, "div", 13);
|
|
90
|
-
i0.ɵɵtext(24, "Enter emails where you want to send the generated QR Codes. A zip file will be emailed.");
|
|
91
83
|
i0.ɵɵelementEnd();
|
|
92
|
-
i0.ɵɵelementStart(
|
|
93
|
-
i0.ɵɵ
|
|
94
|
-
i0.ɵɵtemplate(27, GenerateQRComponent_ng_template_1_div_27_Template, 2, 1, "div", 21);
|
|
84
|
+
i0.ɵɵelementStart(26, "p");
|
|
85
|
+
i0.ɵɵtext(27, "Enter emails where you want to send the generated QR Codes. A zip file will be emailed.");
|
|
95
86
|
i0.ɵɵelementEnd();
|
|
87
|
+
i0.ɵɵelement(28, "input", 17);
|
|
88
|
+
i0.ɵɵelementStart(29, "div", 18);
|
|
89
|
+
i0.ɵɵtemplate(30, GenerateQRComponent_ng_template_1_span_30_Template, 2, 0, "span", 19);
|
|
96
90
|
i0.ɵɵelementEnd();
|
|
97
91
|
i0.ɵɵelementEnd();
|
|
98
|
-
i0.ɵɵelementStart(28, "div", 22);
|
|
99
|
-
i0.ɵɵelementStart(29, "button", 23);
|
|
100
|
-
i0.ɵɵlistener("click", function GenerateQRComponent_ng_template_1_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r8); const ctx_r11 = i0.ɵɵnextContext(); return ctx_r11.close(); });
|
|
101
|
-
i0.ɵɵtext(30, "Cancel");
|
|
102
92
|
i0.ɵɵelementEnd();
|
|
103
|
-
i0.ɵɵelementStart(31, "
|
|
104
|
-
i0.ɵɵ
|
|
93
|
+
i0.ɵɵelementStart(31, "div", 20);
|
|
94
|
+
i0.ɵɵelementStart(32, "button", 21);
|
|
95
|
+
i0.ɵɵlistener("click", function GenerateQRComponent_ng_template_1_Template_button_click_32_listener() { i0.ɵɵrestoreView(_r7); const ctx_r10 = i0.ɵɵnextContext(); return ctx_r10.close(); });
|
|
96
|
+
i0.ɵɵtext(33, "Cancel");
|
|
97
|
+
i0.ɵɵelementEnd();
|
|
98
|
+
i0.ɵɵelementStart(34, "button", 22);
|
|
99
|
+
i0.ɵɵtext(35, "Generate");
|
|
100
|
+
i0.ɵɵelementEnd();
|
|
105
101
|
i0.ɵɵelementEnd();
|
|
106
102
|
i0.ɵɵelementEnd();
|
|
107
103
|
i0.ɵɵelementEnd();
|
|
108
104
|
i0.ɵɵelementEnd();
|
|
109
105
|
} if (rf & 2) {
|
|
110
106
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
111
|
-
i0.ɵɵadvance(
|
|
107
|
+
i0.ɵɵadvance(5);
|
|
112
108
|
i0.ɵɵproperty("formGroup", ctx_r2.formGroup);
|
|
113
109
|
i0.ɵɵadvance(15);
|
|
114
110
|
i0.ɵɵproperty("filteredWidgets", ctx_r2.filteredWidgets)("appVersionId", ctx_r2.appVersionId)("sourceForms", ctx_r2.sourceForms)("source", ctx_r2.source)("actionFormId", ctx_r2.actionFormId)("mapType", ctx_r2.mapType);
|
|
115
|
-
i0.ɵɵadvance(
|
|
116
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c0, ctx_r2.formGroup.
|
|
117
|
-
i0.ɵɵadvance(
|
|
118
|
-
i0.ɵɵproperty("ngIf", ctx_r2.formGroup.
|
|
111
|
+
i0.ɵɵadvance(8);
|
|
112
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c0, ctx_r2.formGroup.controls.email.touched && ctx_r2.formGroup.controls.email.status === "INVALID"));
|
|
113
|
+
i0.ɵɵadvance(2);
|
|
114
|
+
i0.ɵɵproperty("ngIf", ctx_r2.formGroup.controls.email.touched && ctx_r2.formGroup.controls.email.status === "INVALID");
|
|
119
115
|
} }
|
|
120
116
|
export class GenerateQRComponent {
|
|
121
117
|
constructor(dialogRef, _dataViewFiltersService, _dataViewService, formBuilder, dialog, _httpClient, formData, _AxoService // Inject the form object
|
|
@@ -305,6 +301,11 @@ export class GenerateQRComponent {
|
|
|
305
301
|
document.body.removeChild(link);
|
|
306
302
|
}
|
|
307
303
|
submitForm() {
|
|
304
|
+
if (this.formGroup.controls.email.status === 'INVALID') {
|
|
305
|
+
this.formGroup.controls.email.markAsTouched();
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
;
|
|
308
309
|
this.generateQr();
|
|
309
310
|
// Add any additional form submission logic here if needed
|
|
310
311
|
}
|
|
@@ -346,13 +347,13 @@ GenerateQRComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Generat
|
|
|
346
347
|
provide: MAT_SELECT_CONFIG,
|
|
347
348
|
useValue: { overlayPanelClass: 'generate-qr-overlay-panel' },
|
|
348
349
|
},
|
|
349
|
-
])], decls: 3, vars: 2, consts: [[4, "ngIf", "ngIfElse"], ["showForm", ""], [1, "flex", "flex-col", "gap-6", "w-auto", "h-auto", "px-8", "py-4", "relative"], ["svgIcon", "axo_popup_close", 1, "cursor-pointer", "absolute", "top-2", "right-2", 3, "click"], [1, "axo-font", "text-3xl", "font-medium", "m-0"], [1, "video-container"], ["width", "560", "height", "315", "src", "https://www.youtube.com/embed/RazJekuQ-cI", "frameborder", "0", "allowfullscreen", ""], [1, "
|
|
350
|
+
])], decls: 3, vars: 2, consts: [[4, "ngIf", "ngIfElse"], ["showForm", ""], [1, "flex", "flex-col", "gap-6", "w-auto", "h-auto", "px-8", "py-4", "relative"], ["svgIcon", "axo_popup_close", 1, "cursor-pointer", "absolute", "top-2", "right-2", 3, "click"], [1, "axo-font", "text-3xl", "font-medium", "m-0"], [1, "video-container"], ["width", "560", "height", "315", "src", "https://www.youtube.com/embed/RazJekuQ-cI", "frameborder", "0", "allowfullscreen", ""], [1, "popup-container"], [1, "close-icon", 3, "click"], [1, "popup-body"], [3, "formGroup", "ngSubmit"], [1, "flex", "flex-col", "gap-1"], ["formControlName", "level", 1, "flex", "gap-4", "mb-2"], ["value", "App"], ["value", "Form"], [3, "filteredWidgets", "appVersionId", "sourceForms", "source", "actionFormId", "mapType", "fieldmap"], [1, ""], ["type", "text", "formControlName", "email", "placeholder", "Enter comma separated email ids", 3, "ngClass"], [1, "err-message-container"], ["class", "error-message", 4, "ngIf"], [1, "action-btn-container"], ["type", "button", 1, "stroke-btn", 3, "click"], ["type", "submit", "cdkFocusInitial", "", 1, "fill-btn"], [1, "error-message"]], template: function GenerateQRComponent_Template(rf, ctx) { if (rf & 1) {
|
|
350
351
|
i0.ɵɵtemplate(0, GenerateQRComponent_div_0_Template, 7, 0, "div", 0);
|
|
351
|
-
i0.ɵɵtemplate(1, GenerateQRComponent_ng_template_1_Template,
|
|
352
|
+
i0.ɵɵtemplate(1, GenerateQRComponent_ng_template_1_Template, 36, 11, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
|
|
352
353
|
} if (rf & 2) {
|
|
353
354
|
const _r1 = i0.ɵɵreference(2);
|
|
354
355
|
i0.ɵɵproperty("ngIf", ctx.formft === "T")("ngIfElse", _r1);
|
|
355
|
-
} }, styles: [".
|
|
356
|
+
} }, styles: [".popup-container[_ngcontent-%COMP%] lib-field-map[_ngcontent-%COMP%]{margin-bottom:.5rem}"] });
|
|
356
357
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GenerateQRComponent, [{
|
|
357
358
|
type: Component,
|
|
358
359
|
args: [{ selector: 'app-generate-qr', providers: [
|
|
@@ -360,9 +361,9 @@ GenerateQRComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Generat
|
|
|
360
361
|
provide: MAT_SELECT_CONFIG,
|
|
361
362
|
useValue: { overlayPanelClass: 'generate-qr-overlay-panel' },
|
|
362
363
|
},
|
|
363
|
-
], template: "<div *ngIf=\"formft === 'T'; else showForm\">\n <div class=\"flex flex-col gap-6 w-auto h-auto px-8 py-4 relative\">\n <mat-icon svgIcon=\"axo_popup_close\" class=\"cursor-pointer absolute top-2 right-2\" (click)=\"close()\"></mat-icon>\n <div class=\"axo-font text-3xl font-medium m-0\">Generate QR Codes</div>\n <div class=\"video-container\">\n <iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/RazJekuQ-cI\" frameborder=\"0\"
|
|
364
|
+
], template: "<div *ngIf=\"formft === 'T'; else showForm\">\n <div class=\"flex flex-col gap-6 w-auto h-auto px-8 py-4 relative\">\n <mat-icon svgIcon=\"axo_popup_close\" class=\"cursor-pointer absolute top-2 right-2\" (click)=\"close()\"></mat-icon>\n <div class=\"axo-font text-3xl font-medium m-0\">Generate QR Codes</div>\n <div class=\"video-container\">\n <iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/RazJekuQ-cI\" frameborder=\"0\"\n allowfullscreen></iframe>\n </div>\n </div>\n</div>\n\n<ng-template #showForm>\n <div class=\"popup-container\">\n <button class=\"close-icon\" (click)=\"close()\"></button>\n <h1>Generate QR Codes</h1>\n <div class=\"popup-body\">\n <form [formGroup]=\"formGroup\" (ngSubmit)=\"submitForm()\">\n <div class=\"flex flex-col gap-1\">\n <!-- Level -->\n <label>Scan Trigger</label>\n <p>Open QR Code scanner when one of the following is opened</p>\n <mat-radio-group formControlName=\"level\" class=\"flex gap-4 mb-2\">\n <mat-radio-button value=\"App\">App</mat-radio-button>\n <mat-radio-button value=\"Form\">Form</mat-radio-button>\n </mat-radio-group>\n <!-- Data Sections -->\n <label>Auto-Populate</label>\n <p>Select the form fields that need to be automatically filled based on the data embedded in the QR Code</p>\n <!--<div class=\"data-section mb-0 flex justify-around items-center gap-4\" *ngFor=\"let data of data.controls; let i = index\" [formGroup]=\"data\">\n <mat-select class=\"field-select\" formControlName=\"field_id\" [disableOptionCentering]=\"true\" placeholder=\"Select Field\">\n <mat-option value=\"\" disabled selected>Select a feild</mat-option>\n <mat-option *ngFor=\"let widget of getAvailableWidgets(i)\" [value]=\"widget.identifier\">{{ widget.prompt }}</mat-option>\n </mat-select>\n <input type=\"text\" class=\"text-box w-8/12 rounded-md\" formControlName=\"value\" placeholder=\"Enter field value\">\n <img src=\"../../../../assets/icons/axo/sculptor/axo_delete.svg\" alt=\"\" class=\"h-5 w-5 data-section-delete\" (click)=\"removeDataSection(i)\"> -->\n <!-- <button style=\"height: 2.15rem; width: 2.15rem; display: flex; justify-content: center; align-items: center;\" class=\"primary-btn axo-font\" (click)=\"removeDataSection(i)\">-</button> -->\n <!-- </div>\n <button type=\"button\" class=\"btn stroke-btn text-base font-normal px-2text-box py-1 mt-2\" (click)=\"addDataSection()\">+ add feild</button>\n <div class=\"additional-fields m-0\"> -->\n <!-- Additional fields will be dynamically added here -->\n <!-- </div> -->\n <lib-field-map [filteredWidgets]=\"filteredWidgets\" [appVersionId]=\"appVersionId\" [sourceForms]=\"sourceForms\"\n [source]=\"source\" [actionFormId]=\"actionFormId\" [mapType]=\"mapType\" (fieldmap)=\"handlefieldmap($event)\">\n </lib-field-map>\n <div class=\"\">\n <label>Send QR Codes <sup>*</sup></label>\n <p>Enter emails where you want to send the generated QR Codes. A zip file will be emailed.</p>\n <input type=\"text\" formControlName=\"email\"\n placeholder=\"Enter comma separated email ids\"\n [ngClass]=\"{ 'invalid-input': formGroup.controls.email.touched && formGroup.controls.email.status === 'INVALID' }\"\n >\n <div\n class=\"err-message-container\">\n <span class=\"error-message\" *ngIf=\"formGroup.controls.email.touched && formGroup.controls.email.status === 'INVALID'\">Please enter valid email ID(s)</span>\n </div>\n </div>\n </div>\n <!-- Action Buttons -->\n <div class=\"action-btn-container\">\n <button type=\"button\" (click)=\"close()\" class=\"stroke-btn\">Cancel</button>\n <button type=\"submit\" cdkFocusInitial class=\"fill-btn\">Generate</button>\n </div>\n </form>\n </div>\n </div>\n</ng-template>", styles: [".popup-container lib-field-map{margin-bottom:.5rem}\n"] }]
|
|
364
365
|
}], function () { return [{ type: i1.MatDialogRef }, { type: i2.DataViewFiltersService }, { type: i3.DataViewService }, { type: i4.FormBuilder }, { type: i1.MatDialog }, { type: i5.HttpClient }, { type: undefined, decorators: [{
|
|
365
366
|
type: Inject,
|
|
366
367
|
args: [MAT_DIALOG_DATA]
|
|
367
368
|
}] }, { type: i6.AxoSnackBarService }]; }, null); })();
|
|
368
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtcXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2F4LWNvbW1vbi11aS1saWIvc3JjL2xpYi9kYXRhLXZpZXctbGliL2RhdGEtdmlldy1maWx0ZXJzL2dlbmVyYXRlLXFyL2dlbmVyYXRlLXFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9heC1jb21tb24tdWktbGliL3NyYy9saWIvZGF0YS12aWV3LWxpYi9kYXRhLXZpZXctZmlsdGVycy9nZW5lcmF0ZS1xci9nZW5lcmF0ZS1xci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RixPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLHNFQUFzRTtBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUMsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7SUNsQi9ELDJCQUEyQztJQUN6Qyw4QkFBa0U7SUFDaEUsbUNBQW9HO0lBQWxCLGtLQUFTLGNBQU8sSUFBQztJ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Z3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfU0VMRUNUX0NPTkZJRyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXhGb3JtIH0gZnJvbSAnLi4vLi4vLi4vZm9ybXMvYXgtZm9ybSc7XG5pbXBvcnQgeyBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy9pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRGF0YVZpZXdGaWx0ZXJzU2VydmljZSB9IGZyb20gJy4uL2RhdGEtdmlldy1maWx0ZXJzLnNlcnZpY2UnOyBcbmltcG9ydCB7IERhdGFWaWV3U2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IHRyaWdnZXIsIHN0YXRlLCBzdHlsZSwgYW5pbWF0ZSwgdHJhbnNpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQXhvU25hY2tCYXJTZXJ2aWNlLEF4b1NuYWNrQmFyVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbi8vaW1wb3J0IHsgTG9nb1VwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vbG9nby11cGxvYWQvbG9nby11cGxvYWQuY29tcG9uZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJRmxhdHRlbiB9IGZyb20gJy4uLy4uLy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWdlbmVyYXRlLXFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyYXRlLXFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2VuZXJhdGUtcXIuY29tcG9uZW50LnNjc3MnXSxcblxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfU0VMRUNUX0NPTkZJRyxcbiAgICAgIHVzZVZhbHVlOiB7IG92ZXJsYXlQYW5lbENsYXNzOiAnZ2VuZXJhdGUtcXItb3ZlcmxheS1wYW5lbCcgfSxcbiAgICB9LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEdlbmVyYXRlUVJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzZWxlY3RlZEZvcm1PYmplY3RJZHM6IHN0cmluZ1tdO1xuICBzZWxlY3RlZEZvcm1PYmplY3RUaXRsZXM6IHN0cmluZ1tdO1xuICBmb3JtRGV0YWlsczogQXJyYXk8QXhGb3JtPiA9IFtdO1xuICBhY3Rpb25Gb3JtczogQXJyYXk8QXhGb3JtPjtcbiAgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIGFwcFZlcnNpb25JZDogbnVtYmVyO1xuICBhcHBJRDogbnVtYmVyO1xuICBhc3NldEZvcm1JZDpudW1iZXI7XG4gIHN0YXR1czpzdHJpbmc7XG4gIC8vZGF0YTogYW55W10gPSBbMF07IC8vIEluaXRpYWxpemUgYXJyYXkgdG8gc3RvcmUgZGF0YSBzZWN0aW9uc1xuICBmaWx0ZXJlZFdpZGdldHMgPSBbXTtcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlOyAvLyBJbml0aWFsaXplIGxvYWRpbmcgdG8gZmFsc2UgaW5pdGlhbGx5XG4gIG1hcFR5cGU9XCJRUlwiOyAvL2ZpZWxkIG1hcHBpbmcgdHlwZVxuICBmaWxsU3RhdGU6IHN0cmluZyA9ICdzdGFydCc7IC8vIEFuaW1hdGlvbiBzdGF0ZVxuICBmb3JtRGF0YUFycmF5ID0gW107XG4gIHFyR2VuZXJhdGVkOiBib29sZWFuID0gZmFsc2U7IC8vIEZsYWcgdG8gdHJhY2sgaWYgUVIgaXMgZ2VuZXJhdGVkXG4gIGFwcElkOmFueTtcbiAgc291cmNlRm9ybXM6QXJyYXk8QXhGb3JtPiA9IFtdO1xuICBzb3VyY2U6Ym9vbGVhbj1mYWxzZTtcbiAgYXBwVmVyc2lvbjphbnk7XG4gIGFjY291bnRJZDphbnk7XG4gIHFyVXJsOiBzdHJpbmc7IC8vIFZhcmlhYmxlIHRvIHN0b3JlIHRoZSByZWNlaXZlZCBRUiBVUkxcbiAgZm9ybXR5cGU6IHN0cmluZztcbiAgZm9ybTphbnk7XG4gIGZvcm1mdDpzdHJpbmc7XG4gIGZpZWxkbWFwIDphbnk7XG4gIGFjdGlvbkZvcm1JZDphbnk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxHZW5lcmF0ZVFSQ29tcG9uZW50PixcbiAgICBwcml2YXRlIF9kYXRhVmlld0ZpbHRlcnNTZXJ2aWNlOiBEYXRhVmlld0ZpbHRlcnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2RhdGFWaWV3U2VydmljZTogRGF0YVZpZXdTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZm9ybURhdGE6IGFueSxcbiAgICBwcml2YXRlIF9BeG9TZXJ2aWNlOiBBeG9TbmFja0JhclNlcnZpY2UvLyBJbmplY3QgdGhlIGZvcm0gb2JqZWN0XG4gICkgeyBcbiAgICAgICAgdGhpcy5mb3JtZnQgPSBmb3JtRGF0YS5mb3JtdHlwZTtcbiAgICAgICAgdGhpcy5mb3JtID0gZm9ybURhdGEuZm9ybTtcbiAgICAgICAgdGhpcy5mb3JtdHlwZT0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2dlbmVyYXRlUVInKTtcbiAgICAgICAgaWYodGhpcy5mb3JtdHlwZT09XCJhY3Rpb25mb3JtXCIpe1xuICAgICAgICAgIHRoaXMuc291cmNlPXRydWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRGb3JtID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc2VsZWN0ZWRGb3JtJykpO1xuICAgICAgICB0aGlzLnNvdXJjZUZvcm1zLnB1c2goc2VsZWN0ZWRGb3JtKTtcbiAgICAgICAgdGhpcy5hY3Rpb25Gb3JtSWQ9dGhpcy5mb3JtLmZvcm1JZDtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5mb3JtdHlwZSk7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuZm9ybSk7XG4gICAgICAgIHRoaXMuX2RhdGFWaWV3U2VydmljZS5nZXRGb3JtRGV0YWlscyh0aGlzLmZvcm0uZm9ybUlkKS50aGVuKChfZm9ybSk9PnsgIC8vZ2V0IHRoZSBkZXRhaWxzIG9mIGZvcm0gZmllbGRzXG4gICAgICAgICAgdGhpcy5mb3JtRGV0YWlscy5wdXNoKF9mb3JtKTtcbiAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmZvcm1EZXRhaWxzKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHdpZGdldCBvZiBfZm9ybS53aWRnZXRzKSB7XG4gICAgICAgICAgICAvLyAvLyBDaGVjayBpZiB0aGUgd2lkZ2V0IHByb21wdCBpcyBcIlN5c3RlbSBGaWVsZHNcIlxuICAgICAgICAgICAgLy8gaWYgKHdpZGdldC5wcm9tcHQgPT09ICdTeXN0ZW0gRmllbGRzJykge1xuICAgICAgICAgICAgLy8gICAgIC8vIElmIHNvLCBicmVhayBvdXQgb2YgdGhlIGxvb3BcbiAgICAgICAgICAgIC8vICAgICBicmVhaztcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgIC8vIC8vIEFkZCBvdGhlciBjb25kaXRpb25zIGFzIG5lZWRlZFxuICAgICAgICAgICAgLy8gaWYgKHdpZGdldC5tYWluVHlwZSA9PT0gJ3RleHQnICYmIHdpZGdldC5pZGVudGlmaWVyLmluZGV4T2YoJ21ldGFfaGVhZGVyJykgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZFdpZGdldHMucHVzaCh3aWRnZXQpO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgLy90aGlzLmZpbHRlcmVkV2lkZ2V0cy5wdXNoKHdpZGdldCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2codGhpcy5maWx0ZXJlZFdpZGdldHMpO1xuICAgICAgfSk7XG5cbiAgICAgIFxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hcHBWZXJzaW9uSWQ9SlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYXBwVmVyc2lvbklkJykpO1xuICAgIHRoaXMuYWNjb3VudElkPSBwYXJzZUludChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYWNjb3VudElkJykpO1xuICAgIGNvbnNvbGUubG9nKFwiYWNjb3VudCBpZDpcIix0aGlzLmFjY291bnRJZCk7XG4gICAgXG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGxldmVsOiBbJ0FwcCddLCAvLyBEZWZhdWx0IGxldmVsIHZhbHVlIGlzICdhcHAnXG4gICAgICBkYXRhOiB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KFtcbiAgICAgICAgdGhpcy5jcmVhdGVEYXRhU2VjdGlvbigpIC8vIENyZWF0ZSBpbml0aWFsIGRhdGEgc2VjdGlvblxuICAgICAgXSksXG4gICAgICBlbWFpbDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgdGhpcy5jb21tYVNlcGFyYXRlZEVtYWlsc1ZhbGlkYXRvcigpXV0gLy8gQWRkIGN1c3RvbSB2YWxpZGF0b3IgaGVyZVxuICAgIH0pO1xuXG4gICAgLy8gZmV0Y2hpbmcgYXBwSWQgb2YgdGhpcyBhcHBWZXJzaW9uXG4gICAgdGhpcy5fZGF0YVZpZXdGaWx0ZXJzU2VydmljZS5mZXRjaEFwcERldGFpbHModGhpcy5hcHBWZXJzaW9uSWQpLnN1YnNjcmliZShcbiAgICAgIChyZXNwb25zZSkgPT4ge1xuXG4gICAgICAgIC8vIEFjY2VzcyB0aGUgdmFsdWUgb2YgXCJhXCIgZnJvbSB0aGUgXCJkZXRhaWxzXCIgb2JqZWN0XG4gICAgICAgIHRoaXMuYXBwSUQ9IHJlc3BvbnNlLmRhdGEuZGV0YWlscy5hO1xuXG4gICAgICAgIC8vIE5vdyB5b3UgY2FuIHVzZSBcImFwcElkXCIgaW4geW91ciBjb21wb25lbnRcbiAgICAgICAgY29uc29sZS5sb2coJ1ZhbHVlIG9mIFwiYXBwSWRcIjonLCB0aGlzLmFwcElEKTtcbiAgICAgICAgY29uc29sZS5sb2coJ1ZhbHVlIG9mIFwiYXBwVmVyc2lvbklkXCI6JywgdGhpcy5hcHBWZXJzaW9uSWQpO1xuICAgICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAvLyBIYW5kbGUgZXJyb3JzIGlmIGFueVxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7XG4gICAgICB9XG4gICAgKTsgXG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gdmFsdWUgY2hhbmdlcyBvZiBlbWFpbCBjb250cm9sIHRvIGVuYWJsZSByZWFsLXRpbWUgaGlnaGxpZ2h0aW5nXG4gICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdlbWFpbCcpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdlbWFpbCcpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTsgLy8gVHJpZ2dlciB2YWxpZGF0aW9uXG4gICAgfSk7XG5cblxuICAgIFxuICB9XG5cblxuICBnZXRBdmFpbGFibGVXaWRnZXRzKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RlZEZpZWxkcyA9IHRoaXMuZGF0YS5jb250cm9sc1xuICAgICAgLmZpbHRlcigoY29udHJvbCwgaSkgPT4gaSAhPT0gaW5kZXgpXG4gICAgICAubWFwKGNvbnRyb2wgPT4gY29udHJvbC52YWx1ZS5maWVsZF9pZCk7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRXaWRnZXRzLmZpbHRlcih3aWRnZXQgPT4gIXNlbGVjdGVkRmllbGRzLmluY2x1ZGVzKHdpZGdldC5pZGVudGlmaWVyKSk7XG4gIH1cblxuXG4gIC8vIEN1c3RvbSBWYWxpZGF0b3IgZm9yIGNvbW1hLXNlcGFyYXRlZCBlbWFpbHNcbiAgY29tbWFTZXBhcmF0ZWRFbWFpbHNWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwgPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsOyAvLyByZXR1cm4gbnVsbCBpZiBjb250cm9sIGlzIGVtcHR5LCB0byBsZXQgb3RoZXIgdmFsaWRhdG9ycyBoYW5kbGUgcmVxdWlyZWQgY2hlY2tcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVtYWlscyA9IGNvbnRyb2wudmFsdWUuc3BsaXQoJywnKS5tYXAoZW1haWwgPT4gZW1haWwudHJpbSgpKTtcbiAgICAgIGNvbnN0IGVtYWlsUGF0dGVybiA9IC9eW2EtekEtWjAtOS5fLV0rQFthLXpBLVowLTkuLV0rXFwuW2EtekEtWl17Miw0fSQvO1xuICAgICAgY29uc3QgaW52YWxpZEVtYWlscyA9IGVtYWlscy5maWx0ZXIoZW1haWwgPT4gIWVtYWlsUGF0dGVybi50ZXN0KGVtYWlsKSk7XG4gICAgICByZXR1cm4gaW52YWxpZEVtYWlscy5sZW5ndGggPiAwID8geyBpbnZhbGlkRW1haWxzOiBpbnZhbGlkRW1haWxzLmpvaW4oJywgJykgfSA6IG51bGw7XG4gICAgfTtcbiAgfVxuXG4gIGhhbmRsZWZpZWxkbWFwKGZpZWxkTWFwOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZygnRmllbGQgTWFwIG9iamVjdCByZWNlaXZlZDonLCBmaWVsZE1hcCk7XG4gICAgdGhpcy5maWVsZG1hcCA9IGZpZWxkTWFwOyAvLyBTYXZlIHRoZSBmaWVsZE1hcCBvYmplY3RcbiAgfVxuXG4gIGdlbmVyYXRlUXIoKSB7XG4gICAgdGhpcy5zYXZlRmllbGRNYXAoKTtcbiAgICB0aGlzLnNlbGVjdGVkRm9ybU9iamVjdElkcyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2Zvcm1PYmplY3RJZHMnKSk7XG4gICAgdGhpcy5zZWxlY3RlZEZvcm1PYmplY3RUaXRsZXMgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdmb3JtT2JqZWN0VGl0bGVzJykpO1xuICAgIHRoaXMuYXNzZXRGb3JtSWQ9IHBhcnNlSW50KGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdmb3JtSWQnKSB8fCAnJyk7XG4gICAgY29uc29sZS5sb2codGhpcy5hc3NldEZvcm1JZCk7XG4gICAgY29uc3QgZW1haWwgPSB0aGlzLmZvcm1Hcm91cC5nZXQoJ2VtYWlsJykudmFsdWU7XG4gICAgY29uc3QgZm9ybURhdGFBcnJheSA9IFtdO1xuICAgIGlmKHRoaXMuZm9ybXR5cGU9PVwiYWN0aW9uZm9ybVwiKXtcbiAgICAgIGZvciAobGV0IGk9MDtpPHRoaXMuc2VsZWN0ZWRGb3JtT2JqZWN0SWRzLmxlbmd0aDtpKyspIHtcbiAgICAgICAgbGV0IGZvcm1EYXRhID0ge1xuICAgICAgICAgIGFzc2V0Rm9ybUlkOnRoaXMuYXNzZXRGb3JtSWQsXG4gICAgICAgICAgYWlkOiB0aGlzLmFwcElELFxuICAgICAgICAgIGZpZDogdGhpcy5mb3JtLmZvcm1JZCxcbiAgICAgICAgICBhZm9pZDp0aGlzLnNlbGVjdGVkRm9ybU9iamVjdElkc1tpXSxcbiAgICAgICAgICB0aXRsZTp0aGlzLnNlbGVjdGVkRm9ybU9iamVjdFRpdGxlc1tpXSwgLy90aGlzLmZvcm0ubmFtZSBpbiBjYXNlIG9mIGFzc2V0IGZvcm1cbiAgICAgICAgICB0eXBlOiAnREEnLFxuICAgICAgICAgIGxldmVsOiB0aGlzLmZvcm1Hcm91cC5nZXQoJ2xldmVsJykudmFsdWUsXG4gICAgICAgICAgLy9kYXRhOiB7fSxcbiAgICAgICAgICBhcHBWZXJzaW9uSWQ6dGhpcy5hcHBWZXJzaW9uSWQsXG4gICAgICAgICAgZW1haWw6ZW1haWwsXG4gICAgICAgICAgYWNjb3VudElkOnRoaXMuYWNjb3VudElkLFxuICAgICAgICAgIGZpZWxkbWFwOnRoaXMuZmllbGRtYXBcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBmb3IgKGxldCBzZWN0aW9uIG9mIHRoaXMuZm9ybUdyb3VwLnZhbHVlLmRhdGEpIHtcbiAgICAgICAgLy8gICBmb3JtRGF0YS5kYXRhW3NlY3Rpb24uZmllbGRfaWRdID0gc2VjdGlvbi52YWx1ZTtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIGZvcm1EYXRhQXJyYXkucHVzaChmb3JtRGF0YSk7XG4gICAgICAgIGNvbnNvbGUubG9nKGZvcm1EYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZih0aGlzLmZvcm10eXBlPT1cImFzc2V0Zm9ybVwiKVxuICAgIHtcbiAgICAgIGxldCBmb3JtRGF0YSA9IHtcbiAgICAgICAgYXNzZXRGb3JtSWQ6dGhpcy5mb3JtLmZvcm1JZCxcbiAgICAgICAgYWlkOiB0aGlzLmFwcElELFxuICAgICAgICBmaWQ6IHRoaXMuZm9ybS5mb3JtSWQsXG4gICAgICAgIHRpdGxlOnRoaXMuZm9ybS5uYW1lLCAvL3RoaXMuZm9ybS5uYW1lIGluIGNhc2Ugb2YgYXNzZXQgZm9ybVxuICAgICAgICB0eXBlOiAnREEnLFxuICAgICAgICBsZXZlbDogdGhpcy5mb3JtR3JvdXAuZ2V0KCdsZXZlbCcpLnZhbHVlLFxuICAgICAgICAvL2RhdGE6IHt9LFxuICAgICAgICBhcHBWZXJzaW9uSWQ6dGhpcy5hcHBWZXJzaW9uSWQsXG4gICAgICAgIGVtYWlsOmVtYWlsLFxuICAgICAgICBhY2NvdW50SWQ6dGhpcy5hY2NvdW50SWQsXG4gICAgICAgIGZpZWxkbWFwOnRoaXMuZmllbGRtYXBcbiAgICAgIH07XG5cbiAgICAgIC8vIGZvciAobGV0IHNlY3Rpb24gb2YgdGhpcy5mb3JtR3JvdXAudmFsdWUuZGF0YSkge1xuICAgICAgLy8gICBmb3JtRGF0YS5kYXRhW3NlY3Rpb24uZmllbGRfaWRdID0gc2VjdGlvbi52YWx1ZTtcbiAgICAgIC8vIH1cblxuICAgICAgZm9ybURhdGFBcnJheS5wdXNoKGZvcm1EYXRhKTtcbiAgICAgIGNvbnNvbGUubG9nKGZvcm1EYXRhKTtcbiAgICB9XG4gICAgdGhpcy5fZGF0YVZpZXdGaWx0ZXJzU2VydmljZS5nZW5lcmF0ZVFyQ29kZXMoZm9ybURhdGFBcnJheSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdHVzPXJlc3BvbnNlO1xuICAgICAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgICAgICAgICAvLyBIYW5kbGUgdGhlIGVycm9yXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgICAgdGhpcy5fQXhvU2VydmljZS5vcGVuU25hY2tCYXIoJ1FSIGNvZGVzIGFyZSBnZW5lcmF0ZWQuIFBsZWFzZSBjaGVjayB5b3VyIGVtYWlsIScsIEF4b1NuYWNrQmFyVHlwZS5zdWNjZXNzKTtcbiAgICAgICAgXG4gIH1cblxuICBzYXZlRmllbGRNYXAoKTogdm9pZCB7XG4gICAgXG4gICAgICBjb25zdCB1cmwgPSAnZmllbGRtYXBwZXInO1xuICAgICAgY29uc3QgcmVxdWVzdEJvZHkgPSB0aGlzLmZpZWxkbWFwO1xuXG4gICAgICB0aGlzLl9odHRwQ2xpZW50LnBvc3Q8Rm9ybURhdGFbXT4odXJsLCByZXF1ZXN0Qm9keSwge1xuICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIH0pLFxuICAgICAgfSkuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2U6IEZvcm1EYXRhW10pID0+IHtcbiAgICAgICAgICAvL3RoaXMuZm9ybU5hbWVzID0gcmVzcG9uc2U7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIGZvcm0gbmFtZXM6JywgZXJyb3IpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIFxuICB9XG5cbiAgZG93bmxvYWRRUigpIHtcbiAgICAvLyBDcmVhdGUgYSBuZXcgYW5jaG9yIGVsZW1lbnRcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuXG4gICAgLy8gU2V0IHRoZSBocmVmIGF0dHJpYnV0ZSB0byB0aGUgUVIgVVJMXG4gICAgbGluay5ocmVmID0gdGhpcy5xclVybDtcblxuICAgIC8vIEFwcGVuZCB0aGUgYW5jaG9yIGVsZW1lbnQgdG8gdGhlIGJvZHlcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuXG4gICAgLy8gUHJvZ3JhbW1hdGljYWxseSB0cmlnZ2VyIGEgY2xpY2sgZXZlbnQgb24gdGhlIGFuY2hvciBlbGVtZW50XG4gICAgLy8gVGhpcyB3aWxsIHN0YXJ0IHRoZSBkb3dubG9hZCBwcm9jZXNzXG4gICAgbGluay5jbGljaygpO1xuXG4gICAgLy8gQWZ0ZXIgY2xpY2tpbmcsIHJlbW92ZSB0aGUgYW5jaG9yIGVsZW1lbnQgZnJvbSB0aGUgRE9NXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgfVxuXG4gIHN1Ym1pdEZvcm0oKSB7XG4gICAgdGhpcy5nZW5lcmF0ZVFyKCk7XG4gICAgLy8gQWRkIGFueSBhZGRpdGlvbmFsIGZvcm0gc3VibWlzc2lvbiBsb2dpYyBoZXJlIGlmIG5lZWRlZFxuICB9XG5cblxuXG4gIC8vIENvbnZlbmllbmNlIG1ldGhvZCB0byBjcmVhdGUgYSBmb3JtIGdyb3VwIGZvciBhIGRhdGEgc2VjdGlvblxuICBjcmVhdGVEYXRhU2VjdGlvbigpOiBGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGZpZWxkX2lkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLCAvLyBGaWVsZCBzZWxlY3Rpb24gaXMgcmVxdWlyZWRcbiAgICAgIHZhbHVlOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdICAgICAvLyBUZXh0IGVudHJ5IGlzIHJlcXVpcmVkXG4gICAgfSk7XG4gIH1cblxuICAvLyBHZXR0ZXIgZm9yIGVhc3kgYWNjZXNzIHRvIGRhdGEgZm9ybSBhcnJheVxuICBnZXQgZGF0YSgpOiBGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoJ2RhdGEnKSBhcyBGb3JtQXJyYXk7XG4gIH1cblxuXG4gIHNob3dPdmVybGF5OmJvb2xlYW4gPSBmYWxzZTsgLy8gQm9vbGVhbiBwcm9wZXJ0eSB0byBjb250cm9sIG92ZXJsYXkgdmlzaWJpbGl0eVxuXG4gIHRvZ2dsZU92ZXJsYXkoKSB7XG4gICAgdGhpcy5zaG93T3ZlcmxheSA9ICF0aGlzLnNob3dPdmVybGF5OyBcbiAgfVxuXG4gIC8vIGNsb3NlKCk6IHZvaWR7XG4gIC8vICAgdGhpcy5zaG93T3ZlcmxheSA9ICF0aGlzLnNob3dPdmVybGF5O1xuICAvLyB9XG4gIGNsb3NlKCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cbiAgLy9TdWJzY3JpYmVycyBzaG91bGQgYmUgaW1wbGVtZW50ZWQgaGVyXG4gIHN1YnNjcmliZXJzKCkgOnZvaWR7XG5cbiAgfVxuXG4gIC8vIE1ldGhvZCB0byBhZGQgYSBuZXcgZGF0YSBzZWN0aW9uXG4gIGFkZERhdGFTZWN0aW9uKCkge1xuICAgIHRoaXMuZGF0YS5wdXNoKHRoaXMuY3JlYXRlRGF0YVNlY3Rpb24oKSk7XG4gIH1cblxuICAvLyBNZXRob2QgdG8gcmVtb3ZlIGEgZGF0YSBzZWN0aW9uXG4gIHJlbW92ZURhdGFTZWN0aW9uKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmRhdGEucmVtb3ZlQXQoaW5kZXgpO1xuICB9XG59IiwiPGRpdiAqbmdJZj1cImZvcm1mdCA9PT0gJ1QnOyBlbHNlIHNob3dGb3JtXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC02IHctYXV0byBoLWF1dG8gcHgtOCBweS00IHJlbGF0aXZlXCI+XG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJheG9fcG9wdXBfY2xvc2VcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIGFic29sdXRlIHRvcC0yIHJpZ2h0LTJcIiAoY2xpY2spPVwiY2xvc2UoKVwiPjwvbWF0LWljb24+XG4gICAgPGRpdiBjbGFzcz1cImF4by1mb250IHRleHQtM3hsIGZvbnQtbWVkaXVtIG0tMFwiPkdlbmVyYXRlIFFSIENvZGVzPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInZpZGVvLWNvbnRhaW5lclwiPlxuICAgICAgPGlmcmFtZSB3aWR0aD1cIjU2MFwiIGhlaWdodD1cIjMxNVwiIHNyYz1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL1Jhekpla3VRLWNJXCIgZnJhbWVib3JkZXI9XCIwXCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3Nob3dGb3JtPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMyB3LWF1dG8gaC1hdXRvIHAtMiByZWxhdGl2ZVwiPlxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiYXhvX3BvcHVwX2Nsb3NlXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBhYnNvbHV0ZSB0b3AtMiByaWdodC0zXCIgKGNsaWNrKT1cImNsb3NlKClcIj48L21hdC1pY29uPlxuICAgIDxkaXYgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cImF4by1mb250IHRleHQtM3hsIGZvbnQtbWVkaXVtIG0tMFwiPkdlbmVyYXRlIFFSIENvZGVzPC9kaXY+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiAobmdTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCI+XG4gICAgICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImNvbnRlbnQtY29udGFpbmVyIGZsZXggZmxleC1jb2wgZ2FwLTFcIj5cbiAgICAgICAgPCEtLSBMZXZlbCAtLT5cbiAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cImF4by1mb250IGNyZWF0ZS1ib2FyZC1sYWJlbCBtdC00XCI+U2NhbiBUcmlnZ2VyPC9tYXQtbGFiZWw+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIHFyLWRlc2NyaXB0aW9uXCI+T3BlbiBRUiBDb2RlIHNjYW5uZXIgd2hlbiBvbmUgb2YgdGhlIGZvbGxvd2luZyBpcyBvcGVuZWQ8L2Rpdj5cbiAgICAgICAgPG1hdC1yYWRpby1ncm91cCBzdHlsZT1cIm1hcmdpbi10b3A6IDAuMXB4O1wiIGZvcm1Db250cm9sTmFtZT1cImxldmVsXCI+XG4gICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJBcHBcIiBjbGFzcz1cInByLTQgYXhvLWZvbnRcIj5BcHA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJGb3JtXCIgY2xhc3M9XCJheG8tZm9udFwiPkZvcm08L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgICAgICA8IS0tIERhdGEgU2VjdGlvbnMgLS0+XG4gICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJheG8tZm9udCBjcmVhdGUtYm9hcmQtbGFiZWwgbXQtNFwiPkF1dG8tUG9wdWxhdGU8L21hdC1sYWJlbD5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIHFyLWRlc2NyaXB0aW9uXCI+U2VsZWN0IHRoZSBmb3JtIGZpZWxkcyB0aGF0IG5lZWQgdG8gYmUgYXV0b21hdGljYWxseSBmaWxsZWQgYmFzZWQgb24gdGhlIGRhdGEgZW1iZWRkZWQgaW4gdGhlIFFSIENvZGU8L2Rpdj5cbiAgICAgICAgPCEtLTxkaXYgY2xhc3M9XCJkYXRhLXNlY3Rpb24gbWItMCBmbGV4IGp1c3RpZnktYXJvdW5kIGl0ZW1zLWNlbnRlciBnYXAtNFwiICpuZ0Zvcj1cImxldCBkYXRhIG9mIGRhdGEuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIiBbZm9ybUdyb3VwXT1cImRhdGFcIj5cbiAgICAgICAgICA8bWF0LXNlbGVjdCBjbGFzcz1cImZpZWxkLXNlbGVjdFwiIGZvcm1Db250cm9sTmFtZT1cImZpZWxkX2lkXCIgW2Rpc2FibGVPcHRpb25DZW50ZXJpbmddPVwidHJ1ZVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IEZpZWxkXCI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlwiIGRpc2FibGVkIHNlbGVjdGVkPlNlbGVjdCBhIGZlaWxkPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHdpZGdldCBvZiBnZXRBdmFpbGFibGVXaWRnZXRzKGkpXCIgW3ZhbHVlXT1cIndpZGdldC5pZGVudGlmaWVyXCI+e3sgd2lkZ2V0LnByb21wdCB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJ0ZXh0LWJveCB3LTgvMTIgcm91bmRlZC1tZFwiIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCIgcGxhY2Vob2xkZXI9XCJFbnRlciBmaWVsZCB2YWx1ZVwiPlxuICAgICAgICAgIDxpbWcgc3JjPVwiLi4vLi4vLi4vLi4vYXNzZXRzL2ljb25zL2F4by9zY3VscHRvci9heG9fZGVsZXRlLnN2Z1wiIGFsdD1cIlwiIGNsYXNzPVwiaC01IHctNSBkYXRhLXNlY3Rpb24tZGVsZXRlXCIgKGNsaWNrKT1cInJlbW92ZURhdGFTZWN0aW9uKGkpXCI+IC0tPlxuICAgICAgICAgIDwhLS0gPGJ1dHRvbiBzdHlsZT1cImhlaWdodDogMi4xNXJlbTsgd2lkdGg6IDIuMTVyZW07IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyO1wiIGNsYXNzPVwicHJpbWFyeS1idG4gYXhvLWZvbnRcIiAoY2xpY2spPVwicmVtb3ZlRGF0YVNlY3Rpb24oaSlcIj4tPC9idXR0b24+IC0tPlxuICAgICAgICA8IS0tIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBzdHJva2UtYnRuIHRleHQtYmFzZSBmb250LW5vcm1hbCBweC0yIHB5LTEgbXQtMlwiIChjbGljayk9XCJhZGREYXRhU2VjdGlvbigpXCI+KyBhZGQgZmVpbGQ8L2J1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZGl0aW9uYWwtZmllbGRzIG0tMFwiPiAtLT5cbiAgICAgICAgICA8IS0tIEFkZGl0aW9uYWwgZmllbGRzIHdpbGwgYmUgZHluYW1pY2FsbHkgYWRkZWQgaGVyZSAtLT5cbiAgICAgICAgPCEtLSA8L2Rpdj4gLS0+XG4gICAgICAgIDxsaWItZmllbGQtbWFwIFxuICAgICAgICBbZmlsdGVyZWRXaWRnZXRzXT1cImZpbHRlcmVkV2lkZ2V0c1wiIFxuICAgICAgICBbYXBwVmVyc2lvbklkXT1cImFwcFZlcnNpb25JZFwiXG4gICAgICAgIFtzb3VyY2VGb3Jtc109XCJzb3VyY2VGb3Jtc1wiXG4gICAgICAgIFtzb3VyY2VdPVwic291cmNlXCJcbiAgICAgICAgW2FjdGlvbkZvcm1JZF09XCJhY3Rpb25Gb3JtSWRcIlxuICAgICAgICBbbWFwVHlwZV09XCJtYXBUeXBlXCJcbiAgICAgICAgKGZpZWxkbWFwKT1cImhhbmRsZWZpZWxkbWFwKCRldmVudClcIj5cbiAgICAgICAgPC9saWItZmllbGQtbWFwPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWwtY29udGFpbmVyIGdhcC0xXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cImF4by1mb250IGNyZWF0ZS1ib2FyZC1sYWJlbCBtdC00XCI+U2VuZCBRUiBDb2RlczwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIHFyLWRlc2NyaXB0aW9uXCI+RW50ZXIgZW1haWxzIHdoZXJlIHlvdSB3YW50IHRvIHNlbmQgdGhlIGdlbmVyYXRlZCBRUiBDb2Rlcy4gQSB6aXAgZmlsZSB3aWxsIGJlIGVtYWlsZWQuPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJ0ZXh0LWJveCByb3VuZGVkLW1kXCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIiBwbGFjZWhvbGRlcj1cIkVudGVyIGNvbW1hIHNlcGFyYXRlZCBlbWFpbCBpZHNcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpbnZhbGlkLWVtYWlsJzogZm9ybUdyb3VwLmdldCgnZW1haWwnKS5pbnZhbGlkICYmIChmb3JtR3JvdXAuZ2V0KCdlbWFpbCcpLmRpcnR5IHx8IGZvcm1Hcm91cC5nZXQoJ2VtYWlsJykudG91Y2hlZCkgfVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvcm1Hcm91cC5nZXQoJ2VtYWlsJykuaW52YWxpZCAmJiAoZm9ybUdyb3VwLmdldCgnZW1haWwnKS5kaXJ0eSB8fCBmb3JtR3JvdXAuZ2V0KCdlbWFpbCcpLnRvdWNoZWQpXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZm9ybUdyb3VwLmdldCgnZW1haWwnKS5oYXNFcnJvcignaW52YWxpZEVtYWlscycpXCI+UGxlYXNlIGVudGVyIHZhbGlkIGVtYWlsIElEKHMpPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIEFjdGlvbiBCdXR0b25zIC0tPlxuICAgICAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJmbGV4IGdhcC0zIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZCBhY3Rpb24tYnV0dG9ucyBtci00XCI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNsb3NlKClcIiBjbGFzcz1cImJ0biBzdHJva2UtYnRuXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2RrRm9jdXNJbml0aWFsIGNsYXNzPVwiYnRuIGZpbGwtYnRuXCI+R2VuZXJhdGU8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
369
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtcXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2F4LWNvbW1vbi11aS1saWIvc3JjL2xpYi9kYXRhLXZpZXctbGliL2RhdGEtdmlldy1maWx0ZXJzL2dlbmVyYXRlLXFyL2dlbmVyYXRlLXFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9heC1jb21tb24tdWktbGliL3NyYy9saWIvZGF0YS12aWV3LWxpYi9kYXRhLXZpZXctZmlsdGVycy9nZW5lcmF0ZS1xci9nZW5lcmF0ZS1xci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RixPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLHNFQUFzRTtBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUMsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7SUNsQi9ELDJCQUEyQztJQUN6Qyw4QkFBa0U7SUFDaEUsbUNBQW9HO0lBQWxCLGtLQUFTLGNBQU8sSUFBQztJ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USxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsMkJBQTJCLEVBQUU7cUJBQzdEO2lCQUNGOztzQkFxQ0UsTUFBTTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfU0VMRUNUX0NPTkZJRyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXhGb3JtIH0gZnJvbSAnLi4vLi4vLi4vZm9ybXMvYXgtZm9ybSc7XG5pbXBvcnQgeyBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy9pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRGF0YVZpZXdGaWx0ZXJzU2VydmljZSB9IGZyb20gJy4uL2RhdGEtdmlldy1maWx0ZXJzLnNlcnZpY2UnOyBcbmltcG9ydCB7IERhdGFWaWV3U2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IHRyaWdnZXIsIHN0YXRlLCBzdHlsZSwgYW5pbWF0ZSwgdHJhbnNpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQXhvU25hY2tCYXJTZXJ2aWNlLEF4b1NuYWNrQmFyVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbi8vaW1wb3J0IHsgTG9nb1VwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vbG9nby11cGxvYWQvbG9nby11cGxvYWQuY29tcG9uZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJRmxhdHRlbiB9IGZyb20gJy4uLy4uLy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWdlbmVyYXRlLXFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyYXRlLXFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2VuZXJhdGUtcXIuY29tcG9uZW50LnNjc3MnXSxcblxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfU0VMRUNUX0NPTkZJRyxcbiAgICAgIHVzZVZhbHVlOiB7IG92ZXJsYXlQYW5lbENsYXNzOiAnZ2VuZXJhdGUtcXItb3ZlcmxheS1wYW5lbCcgfSxcbiAgICB9LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEdlbmVyYXRlUVJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzZWxlY3RlZEZvcm1PYmplY3RJZHM6IHN0cmluZ1tdO1xuICBzZWxlY3RlZEZvcm1PYmplY3RUaXRsZXM6IHN0cmluZ1tdO1xuICBmb3JtRGV0YWlsczogQXJyYXk8QXhGb3JtPiA9IFtdO1xuICBhY3Rpb25Gb3JtczogQXJyYXk8QXhGb3JtPjtcbiAgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIGFwcFZlcnNpb25JZDogbnVtYmVyO1xuICBhcHBJRDogbnVtYmVyO1xuICBhc3NldEZvcm1JZDpudW1iZXI7XG4gIHN0YXR1czpzdHJpbmc7XG4gIC8vZGF0YTogYW55W10gPSBbMF07IC8vIEluaXRpYWxpemUgYXJyYXkgdG8gc3RvcmUgZGF0YSBzZWN0aW9uc1xuICBmaWx0ZXJlZFdpZGdldHMgPSBbXTtcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlOyAvLyBJbml0aWFsaXplIGxvYWRpbmcgdG8gZmFsc2UgaW5pdGlhbGx5XG4gIG1hcFR5cGU9XCJRUlwiOyAvL2ZpZWxkIG1hcHBpbmcgdHlwZVxuICBmaWxsU3RhdGU6IHN0cmluZyA9ICdzdGFydCc7IC8vIEFuaW1hdGlvbiBzdGF0ZVxuICBmb3JtRGF0YUFycmF5ID0gW107XG4gIHFyR2VuZXJhdGVkOiBib29sZWFuID0gZmFsc2U7IC8vIEZsYWcgdG8gdHJhY2sgaWYgUVIgaXMgZ2VuZXJhdGVkXG4gIGFwcElkOmFueTtcbiAgc291cmNlRm9ybXM6QXJyYXk8QXhGb3JtPiA9IFtdO1xuICBzb3VyY2U6Ym9vbGVhbj1mYWxzZTtcbiAgYXBwVmVyc2lvbjphbnk7XG4gIGFjY291bnRJZDphbnk7XG4gIHFyVXJsOiBzdHJpbmc7IC8vIFZhcmlhYmxlIHRvIHN0b3JlIHRoZSByZWNlaXZlZCBRUiBVUkxcbiAgZm9ybXR5cGU6IHN0cmluZztcbiAgZm9ybTphbnk7XG4gIGZvcm1mdDpzdHJpbmc7XG4gIGZpZWxkbWFwIDphbnk7XG4gIGFjdGlvbkZvcm1JZDphbnk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxHZW5lcmF0ZVFSQ29tcG9uZW50PixcbiAgICBwcml2YXRlIF9kYXRhVmlld0ZpbHRlcnNTZXJ2aWNlOiBEYXRhVmlld0ZpbHRlcnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2RhdGFWaWV3U2VydmljZTogRGF0YVZpZXdTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZm9ybURhdGE6IGFueSxcbiAgICBwcml2YXRlIF9BeG9TZXJ2aWNlOiBBeG9TbmFja0JhclNlcnZpY2UvLyBJbmplY3QgdGhlIGZvcm0gb2JqZWN0XG4gICkgeyBcbiAgICAgICAgdGhpcy5mb3JtZnQgPSBmb3JtRGF0YS5mb3JtdHlwZTtcbiAgICAgICAgdGhpcy5mb3JtID0gZm9ybURhdGEuZm9ybTtcbiAgICAgICAgdGhpcy5mb3JtdHlwZT0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2dlbmVyYXRlUVInKTtcbiAgICAgICAgaWYodGhpcy5mb3JtdHlwZT09XCJhY3Rpb25mb3JtXCIpe1xuICAgICAgICAgIHRoaXMuc291cmNlPXRydWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRGb3JtID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc2VsZWN0ZWRGb3JtJykpO1xuICAgICAgICB0aGlzLnNvdXJjZUZvcm1zLnB1c2goc2VsZWN0ZWRGb3JtKTtcbiAgICAgICAgdGhpcy5hY3Rpb25Gb3JtSWQ9dGhpcy5mb3JtLmZvcm1JZDtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5mb3JtdHlwZSk7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuZm9ybSk7XG4gICAgICAgIHRoaXMuX2RhdGFWaWV3U2VydmljZS5nZXRGb3JtRGV0YWlscyh0aGlzLmZvcm0uZm9ybUlkKS50aGVuKChfZm9ybSk9PnsgIC8vZ2V0IHRoZSBkZXRhaWxzIG9mIGZvcm0gZmllbGRzXG4gICAgICAgICAgdGhpcy5mb3JtRGV0YWlscy5wdXNoKF9mb3JtKTtcbiAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmZvcm1EZXRhaWxzKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHdpZGdldCBvZiBfZm9ybS53aWRnZXRzKSB7XG4gICAgICAgICAgICAvLyAvLyBDaGVjayBpZiB0aGUgd2lkZ2V0IHByb21wdCBpcyBcIlN5c3RlbSBGaWVsZHNcIlxuICAgICAgICAgICAgLy8gaWYgKHdpZGdldC5wcm9tcHQgPT09ICdTeXN0ZW0gRmllbGRzJykge1xuICAgICAgICAgICAgLy8gICAgIC8vIElmIHNvLCBicmVhayBvdXQgb2YgdGhlIGxvb3BcbiAgICAgICAgICAgIC8vICAgICBicmVhaztcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgIC8vIC8vIEFkZCBvdGhlciBjb25kaXRpb25zIGFzIG5lZWRlZFxuICAgICAgICAgICAgLy8gaWYgKHdpZGdldC5tYWluVHlwZSA9PT0gJ3RleHQnICYmIHdpZGdldC5pZGVudGlmaWVyLmluZGV4T2YoJ21ldGFfaGVhZGVyJykgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZFdpZGdldHMucHVzaCh3aWRnZXQpO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgLy90aGlzLmZpbHRlcmVkV2lkZ2V0cy5wdXNoKHdpZGdldCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2codGhpcy5maWx0ZXJlZFdpZGdldHMpO1xuICAgICAgfSk7XG5cbiAgICAgIFxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hcHBWZXJzaW9uSWQ9SlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYXBwVmVyc2lvbklkJykpO1xuICAgIHRoaXMuYWNjb3VudElkPSBwYXJzZUludChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYWNjb3VudElkJykpO1xuICAgIGNvbnNvbGUubG9nKFwiYWNjb3VudCBpZDpcIix0aGlzLmFjY291bnRJZCk7XG4gICAgXG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGxldmVsOiBbJ0FwcCddLCAvLyBEZWZhdWx0IGxldmVsIHZhbHVlIGlzICdhcHAnXG4gICAgICBkYXRhOiB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KFtcbiAgICAgICAgdGhpcy5jcmVhdGVEYXRhU2VjdGlvbigpIC8vIENyZWF0ZSBpbml0aWFsIGRhdGEgc2VjdGlvblxuICAgICAgXSksXG4gICAgICBlbWFpbDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgdGhpcy5jb21tYVNlcGFyYXRlZEVtYWlsc1ZhbGlkYXRvcigpXV0gLy8gQWRkIGN1c3RvbSB2YWxpZGF0b3IgaGVyZVxuICAgIH0pO1xuXG4gICAgLy8gZmV0Y2hpbmcgYXBwSWQgb2YgdGhpcyBhcHBWZXJzaW9uXG4gICAgdGhpcy5fZGF0YVZpZXdGaWx0ZXJzU2VydmljZS5mZXRjaEFwcERldGFpbHModGhpcy5hcHBWZXJzaW9uSWQpLnN1YnNjcmliZShcbiAgICAgIChyZXNwb25zZSkgPT4ge1xuXG4gICAgICAgIC8vIEFjY2VzcyB0aGUgdmFsdWUgb2YgXCJhXCIgZnJvbSB0aGUgXCJkZXRhaWxzXCIgb2JqZWN0XG4gICAgICAgIHRoaXMuYXBwSUQ9IHJlc3BvbnNlLmRhdGEuZGV0YWlscy5hO1xuXG4gICAgICAgIC8vIE5vdyB5b3UgY2FuIHVzZSBcImFwcElkXCIgaW4geW91ciBjb21wb25lbnRcbiAgICAgICAgY29uc29sZS5sb2coJ1ZhbHVlIG9mIFwiYXBwSWRcIjonLCB0aGlzLmFwcElEKTtcbiAgICAgICAgY29uc29sZS5sb2coJ1ZhbHVlIG9mIFwiYXBwVmVyc2lvbklkXCI6JywgdGhpcy5hcHBWZXJzaW9uSWQpO1xuICAgICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAvLyBIYW5kbGUgZXJyb3JzIGlmIGFueVxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7XG4gICAgICB9XG4gICAgKTsgXG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gdmFsdWUgY2hhbmdlcyBvZiBlbWFpbCBjb250cm9sIHRvIGVuYWJsZSByZWFsLXRpbWUgaGlnaGxpZ2h0aW5nXG4gICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdlbWFpbCcpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdlbWFpbCcpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTsgLy8gVHJpZ2dlciB2YWxpZGF0aW9uXG4gICAgfSk7XG5cblxuICAgIFxuICB9XG5cblxuICBnZXRBdmFpbGFibGVXaWRnZXRzKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RlZEZpZWxkcyA9IHRoaXMuZGF0YS5jb250cm9sc1xuICAgICAgLmZpbHRlcigoY29udHJvbCwgaSkgPT4gaSAhPT0gaW5kZXgpXG4gICAgICAubWFwKGNvbnRyb2wgPT4gY29udHJvbC52YWx1ZS5maWVsZF9pZCk7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRXaWRnZXRzLmZpbHRlcih3aWRnZXQgPT4gIXNlbGVjdGVkRmllbGRzLmluY2x1ZGVzKHdpZGdldC5pZGVudGlmaWVyKSk7XG4gIH1cblxuXG4gIC8vIEN1c3RvbSBWYWxpZGF0b3IgZm9yIGNvbW1hLXNlcGFyYXRlZCBlbWFpbHNcbiAgY29tbWFTZXBhcmF0ZWRFbWFpbHNWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwgPT4ge1xuICAgICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsOyAvLyByZXR1cm4gbnVsbCBpZiBjb250cm9sIGlzIGVtcHR5LCB0byBsZXQgb3RoZXIgdmFsaWRhdG9ycyBoYW5kbGUgcmVxdWlyZWQgY2hlY2tcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVtYWlscyA9IGNvbnRyb2wudmFsdWUuc3BsaXQoJywnKS5tYXAoZW1haWwgPT4gZW1haWwudHJpbSgpKTtcbiAgICAgIGNvbnN0IGVtYWlsUGF0dGVybiA9IC9eW2EtekEtWjAtOS5fLV0rQFthLXpBLVowLTkuLV0rXFwuW2EtekEtWl17Miw0fSQvO1xuICAgICAgY29uc3QgaW52YWxpZEVtYWlscyA9IGVtYWlscy5maWx0ZXIoZW1haWwgPT4gIWVtYWlsUGF0dGVybi50ZXN0KGVtYWlsKSk7XG4gICAgICByZXR1cm4gaW52YWxpZEVtYWlscy5sZW5ndGggPiAwID8geyBpbnZhbGlkRW1haWxzOiBpbnZhbGlkRW1haWxzLmpvaW4oJywgJykgfSA6IG51bGw7XG4gICAgfTtcbiAgfVxuXG4gIGhhbmRsZWZpZWxkbWFwKGZpZWxkTWFwOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZygnRmllbGQgTWFwIG9iamVjdCByZWNlaXZlZDonLCBmaWVsZE1hcCk7XG4gICAgdGhpcy5maWVsZG1hcCA9IGZpZWxkTWFwOyAvLyBTYXZlIHRoZSBmaWVsZE1hcCBvYmplY3RcbiAgfVxuXG4gIGdlbmVyYXRlUXIoKSB7XG4gICAgdGhpcy5zYXZlRmllbGRNYXAoKTtcbiAgICB0aGlzLnNlbGVjdGVkRm9ybU9iamVjdElkcyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2Zvcm1PYmplY3RJZHMnKSk7XG4gICAgdGhpcy5zZWxlY3RlZEZvcm1PYmplY3RUaXRsZXMgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdmb3JtT2JqZWN0VGl0bGVzJykpO1xuICAgIHRoaXMuYXNzZXRGb3JtSWQ9IHBhcnNlSW50KGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdmb3JtSWQnKSB8fCAnJyk7XG4gICAgY29uc29sZS5sb2codGhpcy5hc3NldEZvcm1JZCk7XG4gICAgY29uc3QgZW1haWwgPSB0aGlzLmZvcm1Hcm91cC5nZXQoJ2VtYWlsJykudmFsdWU7XG4gICAgY29uc3QgZm9ybURhdGFBcnJheSA9IFtdO1xuICAgIGlmKHRoaXMuZm9ybXR5cGU9PVwiYWN0aW9uZm9ybVwiKXtcbiAgICAgIGZvciAobGV0IGk9MDtpPHRoaXMuc2VsZWN0ZWRGb3JtT2JqZWN0SWRzLmxlbmd0aDtpKyspIHtcbiAgICAgICAgbGV0IGZvcm1EYXRhID0ge1xuICAgICAgICAgIGFzc2V0Rm9ybUlkOnRoaXMuYXNzZXRGb3JtSWQsXG4gICAgICAgICAgYWlkOiB0aGlzLmFwcElELFxuICAgICAgICAgIGZpZDogdGhpcy5mb3JtLmZvcm1JZCxcbiAgICAgICAgICBhZm9pZDp0aGlzLnNlbGVjdGVkRm9ybU9iamVjdElkc1tpXSxcbiAgICAgICAgICB0aXRsZTp0aGlzLnNlbGVjdGVkRm9ybU9iamVjdFRpdGxlc1tpXSwgLy90aGlzLmZvcm0ubmFtZSBpbiBjYXNlIG9mIGFzc2V0IGZvcm1cbiAgICAgICAgICB0eXBlOiAnREEnLFxuICAgICAgICAgIGxldmVsOiB0aGlzLmZvcm1Hcm91cC5nZXQoJ2xldmVsJykudmFsdWUsXG4gICAgICAgICAgLy9kYXRhOiB7fSxcbiAgICAgICAgICBhcHBWZXJzaW9uSWQ6dGhpcy5hcHBWZXJzaW9uSWQsXG4gICAgICAgICAgZW1haWw6ZW1haWwsXG4gICAgICAgICAgYWNjb3VudElkOnRoaXMuYWNjb3VudElkLFxuICAgICAgICAgIGZpZWxkbWFwOnRoaXMuZmllbGRtYXBcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBmb3IgKGxldCBzZWN0aW9uIG9mIHRoaXMuZm9ybUdyb3VwLnZhbHVlLmRhdGEpIHtcbiAgICAgICAgLy8gICBmb3JtRGF0YS5kYXRhW3NlY3Rpb24uZmllbGRfaWRdID0gc2VjdGlvbi52YWx1ZTtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIGZvcm1EYXRhQXJyYXkucHVzaChmb3JtRGF0YSk7XG4gICAgICAgIGNvbnNvbGUubG9nKGZvcm1EYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZih0aGlzLmZvcm10eXBlPT1cImFzc2V0Zm9ybVwiKVxuICAgIHtcbiAgICAgIGxldCBmb3JtRGF0YSA9IHtcbiAgICAgICAgYXNzZXRGb3JtSWQ6dGhpcy5mb3JtLmZvcm1JZCxcbiAgICAgICAgYWlkOiB0aGlzLmFwcElELFxuICAgICAgICBmaWQ6IHRoaXMuZm9ybS5mb3JtSWQsXG4gICAgICAgIHRpdGxlOnRoaXMuZm9ybS5uYW1lLCAvL3RoaXMuZm9ybS5uYW1lIGluIGNhc2Ugb2YgYXNzZXQgZm9ybVxuICAgICAgICB0eXBlOiAnREEnLFxuICAgICAgICBsZXZlbDogdGhpcy5mb3JtR3JvdXAuZ2V0KCdsZXZlbCcpLnZhbHVlLFxuICAgICAgICAvL2RhdGE6IHt9LFxuICAgICAgICBhcHBWZXJzaW9uSWQ6dGhpcy5hcHBWZXJzaW9uSWQsXG4gICAgICAgIGVtYWlsOmVtYWlsLFxuICAgICAgICBhY2NvdW50SWQ6dGhpcy5hY2NvdW50SWQsXG4gICAgICAgIGZpZWxkbWFwOnRoaXMuZmllbGRtYXBcbiAgICAgIH07XG5cbiAgICAgIC8vIGZvciAobGV0IHNlY3Rpb24gb2YgdGhpcy5mb3JtR3JvdXAudmFsdWUuZGF0YSkge1xuICAgICAgLy8gICBmb3JtRGF0YS5kYXRhW3NlY3Rpb24uZmllbGRfaWRdID0gc2VjdGlvbi52YWx1ZTtcbiAgICAgIC8vIH1cblxuICAgICAgZm9ybURhdGFBcnJheS5wdXNoKGZvcm1EYXRhKTtcbiAgICAgIGNvbnNvbGUubG9nKGZvcm1EYXRhKTtcbiAgICB9XG4gICAgdGhpcy5fZGF0YVZpZXdGaWx0ZXJzU2VydmljZS5nZW5lcmF0ZVFyQ29kZXMoZm9ybURhdGFBcnJheSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdHVzPXJlc3BvbnNlO1xuICAgICAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgICAgICAgICAvLyBIYW5kbGUgdGhlIGVycm9yXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgICAgdGhpcy5fQXhvU2VydmljZS5vcGVuU25hY2tCYXIoJ1FSIGNvZGVzIGFyZSBnZW5lcmF0ZWQuIFBsZWFzZSBjaGVjayB5b3VyIGVtYWlsIScsIEF4b1NuYWNrQmFyVHlwZS5zdWNjZXNzKTtcbiAgICAgICAgXG4gIH1cblxuICBzYXZlRmllbGRNYXAoKTogdm9pZCB7XG4gICAgXG4gICAgICBjb25zdCB1cmwgPSAnZmllbGRtYXBwZXInO1xuICAgICAgY29uc3QgcmVxdWVzdEJvZHkgPSB0aGlzLmZpZWxkbWFwO1xuXG4gICAgICB0aGlzLl9odHRwQ2xpZW50LnBvc3Q8Rm9ybURhdGFbXT4odXJsLCByZXF1ZXN0Qm9keSwge1xuICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIH0pLFxuICAgICAgfSkuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2U6IEZvcm1EYXRhW10pID0+IHtcbiAgICAgICAgICAvL3RoaXMuZm9ybU5hbWVzID0gcmVzcG9uc2U7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIGZvcm0gbmFtZXM6JywgZXJyb3IpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIFxuICB9XG5cbiAgZG93bmxvYWRRUigpIHtcbiAgICAvLyBDcmVhdGUgYSBuZXcgYW5jaG9yIGVsZW1lbnRcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuXG4gICAgLy8gU2V0IHRoZSBocmVmIGF0dHJpYnV0ZSB0byB0aGUgUVIgVVJMXG4gICAgbGluay5ocmVmID0gdGhpcy5xclVybDtcblxuICAgIC8vIEFwcGVuZCB0aGUgYW5jaG9yIGVsZW1lbnQgdG8gdGhlIGJvZHlcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuXG4gICAgLy8gUHJvZ3JhbW1hdGljYWxseSB0cmlnZ2VyIGEgY2xpY2sgZXZlbnQgb24gdGhlIGFuY2hvciBlbGVtZW50XG4gICAgLy8gVGhpcyB3aWxsIHN0YXJ0IHRoZSBkb3dubG9hZCBwcm9jZXNzXG4gICAgbGluay5jbGljaygpO1xuXG4gICAgLy8gQWZ0ZXIgY2xpY2tpbmcsIHJlbW92ZSB0aGUgYW5jaG9yIGVsZW1lbnQgZnJvbSB0aGUgRE9NXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgfVxuXG4gIHN1Ym1pdEZvcm0oKSB7XG5cbiAgICBpZih0aGlzLmZvcm1Hcm91cC5jb250cm9scy5lbWFpbC5zdGF0dXMgPT09ICdJTlZBTElEJykge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHMuZW1haWwubWFya0FzVG91Y2hlZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH07XG5cbiAgICB0aGlzLmdlbmVyYXRlUXIoKTtcbiAgICAvLyBBZGQgYW55IGFkZGl0aW9uYWwgZm9ybSBzdWJtaXNzaW9uIGxvZ2ljIGhlcmUgaWYgbmVlZGVkXG4gIH1cblxuXG5cbiAgLy8gQ29udmVuaWVuY2UgbWV0aG9kIHRvIGNyZWF0ZSBhIGZvcm0gZ3JvdXAgZm9yIGEgZGF0YSBzZWN0aW9uXG4gIGNyZWF0ZURhdGFTZWN0aW9uKCk6IEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgZmllbGRfaWQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sIC8vIEZpZWxkIHNlbGVjdGlvbiBpcyByZXF1aXJlZFxuICAgICAgdmFsdWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0gICAgIC8vIFRleHQgZW50cnkgaXMgcmVxdWlyZWRcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEdldHRlciBmb3IgZWFzeSBhY2Nlc3MgdG8gZGF0YSBmb3JtIGFycmF5XG4gIGdldCBkYXRhKCk6IEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldCgnZGF0YScpIGFzIEZvcm1BcnJheTtcbiAgfVxuXG5cbiAgc2hvd092ZXJsYXk6Ym9vbGVhbiA9IGZhbHNlOyAvLyBCb29sZWFuIHByb3BlcnR5IHRvIGNvbnRyb2wgb3ZlcmxheSB2aXNpYmlsaXR5XG5cbiAgdG9nZ2xlT3ZlcmxheSgpIHtcbiAgICB0aGlzLnNob3dPdmVybGF5ID0gIXRoaXMuc2hvd092ZXJsYXk7IFxuICB9XG5cbiAgLy8gY2xvc2UoKTogdm9pZHtcbiAgLy8gICB0aGlzLnNob3dPdmVybGF5ID0gIXRoaXMuc2hvd092ZXJsYXk7XG4gIC8vIH1cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxuICAvL1N1YnNjcmliZXJzIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBoZXJcbiAgc3Vic2NyaWJlcnMoKSA6dm9pZHtcblxuICB9XG5cbiAgLy8gTWV0aG9kIHRvIGFkZCBhIG5ldyBkYXRhIHNlY3Rpb25cbiAgYWRkRGF0YVNlY3Rpb24oKSB7XG4gICAgdGhpcy5kYXRhLnB1c2godGhpcy5jcmVhdGVEYXRhU2VjdGlvbigpKTtcbiAgfVxuXG4gIC8vIE1ldGhvZCB0byByZW1vdmUgYSBkYXRhIHNlY3Rpb25cbiAgcmVtb3ZlRGF0YVNlY3Rpb24oaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZGF0YS5yZW1vdmVBdChpbmRleCk7XG4gIH1cbn0iLCI8ZGl2ICpuZ0lmPVwiZm9ybWZ0ID09PSAnVCc7IGVsc2Ugc2hvd0Zvcm1cIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTYgdy1hdXRvIGgtYXV0byBweC04IHB5LTQgcmVsYXRpdmVcIj5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImF4b19wb3B1cF9jbG9zZVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgYWJzb2x1dGUgdG9wLTIgcmlnaHQtMlwiIChjbGljayk9XCJjbG9zZSgpXCI+PC9tYXQtaWNvbj5cbiAgICA8ZGl2IGNsYXNzPVwiYXhvLWZvbnQgdGV4dC0zeGwgZm9udC1tZWRpdW0gbS0wXCI+R2VuZXJhdGUgUVIgQ29kZXM8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidmlkZW8tY29udGFpbmVyXCI+XG4gICAgICA8aWZyYW1lIHdpZHRoPVwiNTYwXCIgaGVpZ2h0PVwiMzE1XCIgc3JjPVwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvUmF6SmVrdVEtY0lcIiBmcmFtZWJvcmRlcj1cIjBcIlxuICAgICAgICBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2hvd0Zvcm0+XG4gIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250YWluZXJcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiY2xvc2UtaWNvblwiIChjbGljayk9XCJjbG9zZSgpXCI+PC9idXR0b24+XG4gICAgPGgxPkdlbmVyYXRlIFFSIENvZGVzPC9oMT5cbiAgICA8ZGl2IGNsYXNzPVwicG9wdXAtYm9keVwiPlxuICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiAobmdTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0xXCI+XG4gICAgICAgICAgPCEtLSBMZXZlbCAtLT5cbiAgICAgICAgICA8bGFiZWw+U2NhbiBUcmlnZ2VyPC9sYWJlbD5cbiAgICAgICAgICA8cD5PcGVuIFFSIENvZGUgc2Nhbm5lciB3aGVuIG9uZSBvZiB0aGUgZm9sbG93aW5nIGlzIG9wZW5lZDwvcD5cbiAgICAgICAgICA8bWF0LXJhZGlvLWdyb3VwIGZvcm1Db250cm9sTmFtZT1cImxldmVsXCIgY2xhc3M9XCJmbGV4IGdhcC00IG1iLTJcIj5cbiAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIHZhbHVlPVwiQXBwXCI+QXBwPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJGb3JtXCI+Rm9ybTwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICA8L21hdC1yYWRpby1ncm91cD5cbiAgICAgICAgICA8IS0tIERhdGEgU2VjdGlvbnMgLS0+XG4gICAgICAgICAgPGxhYmVsPkF1dG8tUG9wdWxhdGU8L2xhYmVsPlxuICAgICAgICAgIDxwPlNlbGVjdCB0aGUgZm9ybSBmaWVsZHMgdGhhdCBuZWVkIHRvIGJlIGF1dG9tYXRpY2FsbHkgZmlsbGVkIGJhc2VkIG9uIHRoZSBkYXRhIGVtYmVkZGVkIGluIHRoZSBRUiBDb2RlPC9wPlxuICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPVwiZGF0YS1zZWN0aW9uIG1iLTAgZmxleCBqdXN0aWZ5LWFyb3VuZCBpdGVtcy1jZW50ZXIgZ2FwLTRcIiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBkYXRhLmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4XCIgW2Zvcm1Hcm91cF09XCJkYXRhXCI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBjbGFzcz1cImZpZWxkLXNlbGVjdFwiIGZvcm1Db250cm9sTmFtZT1cImZpZWxkX2lkXCIgW2Rpc2FibGVPcHRpb25DZW50ZXJpbmddPVwidHJ1ZVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IEZpZWxkXCI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiXCIgZGlzYWJsZWQgc2VsZWN0ZWQ+U2VsZWN0IGEgZmVpbGQ8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB3aWRnZXQgb2YgZ2V0QXZhaWxhYmxlV2lkZ2V0cyhpKVwiIFt2YWx1ZV09XCJ3aWRnZXQuaWRlbnRpZmllclwiPnt7IHdpZGdldC5wcm9tcHQgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cInRleHQtYm94IHctOC8xMiByb3VuZGVkLW1kXCIgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIiBwbGFjZWhvbGRlcj1cIkVudGVyIGZpZWxkIHZhbHVlXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz1cIi4uLy4uLy4uLy4uL2Fzc2V0cy9pY29ucy9heG8vc2N1bHB0b3IvYXhvX2RlbGV0ZS5zdmdcIiBhbHQ9XCJcIiBjbGFzcz1cImgtNSB3LTUgZGF0YS1zZWN0aW9uLWRlbGV0ZVwiIChjbGljayk9XCJyZW1vdmVEYXRhU2VjdGlvbihpKVwiPiAtLT5cbiAgICAgICAgICA8IS0tIDxidXR0b24gc3R5bGU9XCJoZWlnaHQ6IDIuMTVyZW07IHdpZHRoOiAyLjE1cmVtOyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIiBjbGFzcz1cInByaW1hcnktYnRuIGF4by1mb250XCIgKGNsaWNrKT1cInJlbW92ZURhdGFTZWN0aW9uKGkpXCI+LTwvYnV0dG9uPiAtLT5cbiAgICAgICAgICA8IS0tIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIHN0cm9rZS1idG4gdGV4dC1iYXNlIGZvbnQtbm9ybWFsIHB4LTJ0ZXh0LWJveCBweS0xIG10LTJcIiAoY2xpY2spPVwiYWRkRGF0YVNlY3Rpb24oKVwiPisgYWRkIGZlaWxkPC9idXR0b24+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFkZGl0aW9uYWwtZmllbGRzIG0tMFwiPiAtLT5cbiAgICAgICAgICA8IS0tIEFkZGl0aW9uYWwgZmllbGRzIHdpbGwgYmUgZHluYW1pY2FsbHkgYWRkZWQgaGVyZSAtLT5cbiAgICAgICAgICA8IS0tIDwvZGl2PiAtLT5cbiAgICAgICAgICA8bGliLWZpZWxkLW1hcCBbZmlsdGVyZWRXaWRnZXRzXT1cImZpbHRlcmVkV2lkZ2V0c1wiIFthcHBWZXJzaW9uSWRdPVwiYXBwVmVyc2lvbklkXCIgW3NvdXJjZUZvcm1zXT1cInNvdXJjZUZvcm1zXCJcbiAgICAgICAgICAgIFtzb3VyY2VdPVwic291cmNlXCIgW2FjdGlvbkZvcm1JZF09XCJhY3Rpb25Gb3JtSWRcIiBbbWFwVHlwZV09XCJtYXBUeXBlXCIgKGZpZWxkbWFwKT1cImhhbmRsZWZpZWxkbWFwKCRldmVudClcIj5cbiAgICAgICAgICA8L2xpYi1maWVsZC1tYXA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgPGxhYmVsPlNlbmQgUVIgQ29kZXMgPHN1cD4qPC9zdXA+PC9sYWJlbD5cbiAgICAgICAgICAgIDxwPkVudGVyIGVtYWlscyB3aGVyZSB5b3Ugd2FudCB0byBzZW5kIHRoZSBnZW5lcmF0ZWQgUVIgQ29kZXMuIEEgemlwIGZpbGUgd2lsbCBiZSBlbWFpbGVkLjwvcD5cbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgY29tbWEgc2VwYXJhdGVkIGVtYWlsIGlkc1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaW52YWxpZC1pbnB1dCc6IGZvcm1Hcm91cC5jb250cm9scy5lbWFpbC50b3VjaGVkICYmIGZvcm1Hcm91cC5jb250cm9scy5lbWFpbC5zdGF0dXMgPT09ICdJTlZBTElEJyB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImVyci1tZXNzYWdlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZm9ybUdyb3VwLmNvbnRyb2xzLmVtYWlsLnRvdWNoZWQgJiYgZm9ybUdyb3VwLmNvbnRyb2xzLmVtYWlsLnN0YXR1cyA9PT0gJ0lOVkFMSUQnXCI+UGxlYXNlIGVudGVyIHZhbGlkIGVtYWlsIElEKHMpPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gQWN0aW9uIEJ1dHRvbnMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnRuLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjbG9zZSgpXCIgY2xhc3M9XCJzdHJva2UtYnRuXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2RrRm9jdXNJbml0aWFsIGNsYXNzPVwiZmlsbC1idG5cIj5HZW5lcmF0ZTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
|