ax-common-ui-lib 1.0.1-beta.34-testing4 → 1.0.1-beta.34-testing6
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/form-object/form-object-view/form-object-widgets/image-widget-view/image-widget-lightbox-view/image-widget-lightbox-view.component.mjs +5 -5
- package/esm2020/lib/sculptor-lib/widgets/widgets.service.mjs +16 -4
- package/fesm2015/ax-common-ui-lib.mjs +19 -7
- package/fesm2015/ax-common-ui-lib.mjs.map +1 -1
- package/fesm2020/ax-common-ui-lib.mjs +19 -7
- package/fesm2020/ax-common-ui-lib.mjs.map +1 -1
- package/lib/sculptor-lib/widgets/widgets.service.d.ts +4 -0
- package/package.json +1 -1
|
@@ -414,7 +414,7 @@ export class ImageWidgetLightboxViewComponent {
|
|
|
414
414
|
ImageWidgetLightboxViewComponent.ɵfac = function ImageWidgetLightboxViewComponent_Factory(t) { return new (t || ImageWidgetLightboxViewComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
|
|
415
415
|
ImageWidgetLightboxViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ImageWidgetLightboxViewComponent, selectors: [["lib-image-widget-lightbox-view"]], hostBindings: function ImageWidgetLightboxViewComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
416
416
|
i0.ɵɵlistener("mousewheel", function ImageWidgetLightboxViewComponent_mousewheel_HostBindingHandler($event) { return ctx.click($event); }, false, i0.ɵɵresolveWindow);
|
|
417
|
-
} }, outputs: { expandCanvasDialog: "expandCanvasDialog" }, decls: 25, vars: 15, consts: [["mat-dialog-content", "", 1, "light-box-container", "flex", "h-full", "flex-col", "sm:flex-row", "relative"], [1, "mat-left-container"], ["id", "annotationsCanvas", 1, "relative", "z-10", 3, "ngClass", "click"], ["canvas", ""], [3, "disabled", "click", 4, "ngIf"], [1, "lightbox-image-zoom-in-out"], ["class", "cursor-pointer eye-icon z-20", 3, "svgIcon", "click", 4, "ngIf"], [1, "cursor-pointer", "z-20", 3, "svgIcon", "ngClass", "click"], [1, "cursor-pointer", "z-20", 3, "svgIcon", "click"], ["class", "\n spinner-border\n animate-spin\n loaders\n ", "role", "status", 3, "ngClass", 4, "ngIf"], [1, "mat-right-container", "sm:relative", "bg-white", "customscroll", "pl-5"], [1, "sticky", "top-0", "pt-4", "bg-white", "z-10", "hidden", "sm:block"], [
|
|
417
|
+
} }, outputs: { expandCanvasDialog: "expandCanvasDialog" }, decls: 25, vars: 15, consts: [["mat-dialog-content", "", 1, "light-box-container", "popup-container", "flex", "h-full", "flex-col", "sm:flex-row", "relative"], [1, "mat-left-container"], ["id", "annotationsCanvas", 1, "relative", "z-10", 3, "ngClass", "click"], ["canvas", ""], [3, "disabled", "click", 4, "ngIf"], [1, "lightbox-image-zoom-in-out"], ["class", "cursor-pointer eye-icon z-20", 3, "svgIcon", "click", 4, "ngIf"], [1, "cursor-pointer", "z-20", 3, "svgIcon", "ngClass", "click"], [1, "cursor-pointer", "z-20", 3, "svgIcon", "click"], ["class", "\n spinner-border\n animate-spin\n loaders\n ", "role", "status", 3, "ngClass", 4, "ngIf"], [1, "mat-right-container", "sm:relative", "bg-white", "customscroll", "pl-5"], [1, "sticky", "top-0", "pt-4", "bg-white", "z-10", "hidden", "sm:block"], [1, "close-icon", 3, "click"], [1, "py-4", "comments"], [1, "block", "sm:hidden", "flex", "justify-between", "sticky", "top-0", "z-10", "bg-white"], [1, "py-4", "bg-white", "commments"], [1, "block", "relative"], ["id", "close-icon", 1, "absolute", 3, "click"], ["class", "comment-box axo-font text-sm", 4, "ngIf"], ["class", "comment-box", 4, "ngIf"], [3, "disabled", "click"], [1, "lightbox-image-left-arrow", 3, "svgIcon"], [1, "lightbox-image-right-arrow", 3, "svgIcon"], [1, "cursor-pointer", "eye-icon", "z-20", 3, "svgIcon", "click"], ["role", "status", 1, "spinner-border", "animate-spin", "loaders", 3, "ngClass"], [1, "visually-hidden"], [1, "comment-box", "axo-font", "text-sm"], ["class", "comment-box-container flex gap-4 pb-4", 4, "ngFor", "ngForOf"], [1, "comment-box-container", "flex", "gap-4", "pb-4"], [1, "image-lightbox-index-wrapper"], [1, "image-lightbox-index", 3, "ngStyle", "click"], [1, "w-full", "customscroll", 3, "ngStyle", "click"], [1, "comment-box"]], template: function ImageWidgetLightboxViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
418
418
|
i0.ɵɵelementStart(0, "div", 0);
|
|
419
419
|
i0.ɵɵelementStart(1, "div", 1);
|
|
420
420
|
i0.ɵɵelementStart(2, "canvas", 2, 3);
|
|
@@ -438,8 +438,8 @@ ImageWidgetLightboxViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
438
438
|
i0.ɵɵelementEnd();
|
|
439
439
|
i0.ɵɵelementStart(12, "div", 10);
|
|
440
440
|
i0.ɵɵelementStart(13, "div", 11);
|
|
441
|
-
i0.ɵɵelementStart(14, "
|
|
442
|
-
i0.ɵɵlistener("click", function
|
|
441
|
+
i0.ɵɵelementStart(14, "button", 12);
|
|
442
|
+
i0.ɵɵlistener("click", function ImageWidgetLightboxViewComponent_Template_button_click_14_listener() { return ctx.closeDialog(); });
|
|
443
443
|
i0.ɵɵelementEnd();
|
|
444
444
|
i0.ɵɵelementStart(15, "div", 13);
|
|
445
445
|
i0.ɵɵtext(16, "Comments");
|
|
@@ -484,7 +484,7 @@ ImageWidgetLightboxViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
484
484
|
} }, directives: [i2.NgClass, i3.DefaultClassDirective, i2.NgIf, i4.MatIcon, i2.NgForOf, i2.NgStyle, i3.DefaultStyleDirective, i5.MatCard], styles: ["lib-image-widget-lightbox-view .light-box-container{height:100%;width:100%}lib-image-widget-lightbox-view .mat-left-container{position:relative;flex:70%;width:70%;display:flex;justify-content:center;align-items:center;background-color:#10172b}lib-image-widget-lightbox-view .mat-left-container .lightbox-image-left-arrow{position:absolute;top:50%;left:1rem;cursor:pointer;z-index:20}lib-image-widget-lightbox-view .mat-left-container .lightbox-image-right-arrow{position:absolute;top:50%;right:1rem;cursor:pointer;z-index:20}lib-image-widget-lightbox-view .mat-left-container .loaders{display:inline-block;width:2rem;height:2rem;border-width:4px;border-radius:100%;color:#a855f7;position:absolute;inset:50%;z-index:0}lib-image-widget-lightbox-view .mat-right-container{width:30%;flex:30%}lib-image-widget-lightbox-view .mat-right-container #close-icon{right:0;top:0;font-size:16px}lib-image-widget-lightbox-view .mat-right-container .comment-box-container{font-family:Open Sans,Arial,sans-serif}lib-image-widget-lightbox-view .mat-right-container .comment-box-container .image-lightbox-index-wrapper{display:flex;height:3.374rem;align-items:center}lib-image-widget-lightbox-view .mat-right-container .comment-box-container .image-lightbox-index-wrapper .image-lightbox-index{height:1.313rem;min-width:1.313rem;min-height:1.313rem;text-align:center;border-radius:100%;font-size:12px;font-weight:600;color:#fff;line-height:1.413rem}lib-image-widget-lightbox-view .mat-right-container .comment-box-container mat-card{background:#F2F4FA;border:none;box-shadow:none!important;font-size:.8rem;font-family:Open Sans,Arial,sans-serif}lib-image-widget-lightbox-view #annotationsCanvas{max-width:100%}lib-image-widget-lightbox-view .mat-card{min-width:auto}@media only screen and (max-width: 600px){lib-image-widget-lightbox-view .mat-left-container{flex:100%;width:100%}lib-image-widget-lightbox-view .mat-right-container{flex:100%;width:100%}lib-image-widget-lightbox-view #close-icon{top:.5rem!important}}lib-image-widget-lightbox-view .comments{font-size:1rem;cursor:default}lib-image-widget-lightbox-view .lightbox-image-zoom-in-out{position:absolute;bottom:0;right:0;display:flex;flex-direction:column;grid-row-gap:.5rem;row-gap:.5rem;justify-content:center;align-items:center;margin-right:.4rem;margin-bottom:.6rem}lib-image-widget-lightbox-view .comment-box{cursor:default}.cdk-overlay-pane:not(:has(.light-box-container)){height:auto!important;width:auto!important}.mat-dialog-container:has(.light-box-container){height:100%!important;width:100%!important;max-height:100%!important;max-width:100%!important}\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 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{display:block;color:#1b2b4b;font-weight:500;margin:0 0 .2rem}.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}.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"], encapsulation: 2 });
|
|
485
485
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImageWidgetLightboxViewComponent, [{
|
|
486
486
|
type: Component,
|
|
487
|
-
args: [{ selector: 'lib-image-widget-lightbox-view', encapsulation: ViewEncapsulation.None, template: "<div mat-dialog-content class=\"light-box-container flex h-full flex-col sm:flex-row relative\">\n<div class=\"mat-left-container\">\n <canvas id=\"annotationsCanvas\" (click)=\"onCanvasClick($event)\" #canvas class=\"relative z-10\" [ngClass]=\"{'opacity-50': !imageLoaded}\">\n\n </canvas>\n <button *ngIf=\"!disablePreviousButton && imageLoaded\" (click)=\"showPreviousImage()\" [disabled]=\"!imageLoaded\"><mat-icon class=\"lightbox-image-left-arrow\" [svgIcon]=\"'axo_left_arrow'\" ></mat-icon></button>\n <button *ngIf=\"!disableNextButton && imageLoaded\" (click)=\"showNextImage()\" [disabled]=\"!imageLoaded\"><mat-icon class=\"lightbox-image-right-arrow\" [svgIcon]=\"'axo_right_arrow'\" ></mat-icon></button>\n <div class=\"lightbox-image-zoom-in-out\">\n <mat-icon *ngIf=\"isImageWithAnnotations\" (click)=\"showImageWithoutAnnotations()\" [svgIcon]=\"showImage ?'axo_anotation_show':'axo_anotation_hide'\" class=\"cursor-pointer eye-icon z-20\"></mat-icon>\n <mat-icon (click)=\"expandCanvas()\" [svgIcon]=\"isCanvasExpanded ?'axo_img_compress':'axo_fullscreen'\" class=\"cursor-pointer z-20\" [ngClass]=\"{'expand': isCanvasExpanded}\"></mat-icon>\n <mat-icon (click)=\"imageZoomIn()\" [svgIcon]=\"'axo_zoom_in'\" class=\"cursor-pointer z-20\"></mat-icon>\n <mat-icon (click)=\"imageZoomOut()\"[svgIcon]=\"'axo_zoom_out'\" class=\"cursor-pointer z-20\"></mat-icon>\n </div>\n <div class=\"\n spinner-border\n animate-spin\n loaders\n \" role=\"status\" *ngIf=\"!imageLoaded\" [ngClass]=\"{'z-50': !imageLoaded}\">\n <span class=\"visually-hidden\">Loading...</span>\n </div>\n</div>\n\n <div class=\"mat-right-container sm:relative bg-white customscroll pl-5\">\n <div class=\"sticky top-0 pt-4 bg-white z-10 hidden sm:block\">\n <
|
|
487
|
+
args: [{ selector: 'lib-image-widget-lightbox-view', encapsulation: ViewEncapsulation.None, template: "<div mat-dialog-content class=\"light-box-container popup-container flex h-full flex-col sm:flex-row relative\">\n<div class=\"mat-left-container\">\n <canvas id=\"annotationsCanvas\" (click)=\"onCanvasClick($event)\" #canvas class=\"relative z-10\" [ngClass]=\"{'opacity-50': !imageLoaded}\">\n\n </canvas>\n <button *ngIf=\"!disablePreviousButton && imageLoaded\" (click)=\"showPreviousImage()\" [disabled]=\"!imageLoaded\"><mat-icon class=\"lightbox-image-left-arrow\" [svgIcon]=\"'axo_left_arrow'\" ></mat-icon></button>\n <button *ngIf=\"!disableNextButton && imageLoaded\" (click)=\"showNextImage()\" [disabled]=\"!imageLoaded\"><mat-icon class=\"lightbox-image-right-arrow\" [svgIcon]=\"'axo_right_arrow'\" ></mat-icon></button>\n <div class=\"lightbox-image-zoom-in-out\">\n <mat-icon *ngIf=\"isImageWithAnnotations\" (click)=\"showImageWithoutAnnotations()\" [svgIcon]=\"showImage ?'axo_anotation_show':'axo_anotation_hide'\" class=\"cursor-pointer eye-icon z-20\"></mat-icon>\n <mat-icon (click)=\"expandCanvas()\" [svgIcon]=\"isCanvasExpanded ?'axo_img_compress':'axo_fullscreen'\" class=\"cursor-pointer z-20\" [ngClass]=\"{'expand': isCanvasExpanded}\"></mat-icon>\n <mat-icon (click)=\"imageZoomIn()\" [svgIcon]=\"'axo_zoom_in'\" class=\"cursor-pointer z-20\"></mat-icon>\n <mat-icon (click)=\"imageZoomOut()\"[svgIcon]=\"'axo_zoom_out'\" class=\"cursor-pointer z-20\"></mat-icon>\n </div>\n <div class=\"\n spinner-border\n animate-spin\n loaders\n \" role=\"status\" *ngIf=\"!imageLoaded\" [ngClass]=\"{'z-50': !imageLoaded}\">\n <span class=\"visually-hidden\">Loading...</span>\n </div>\n</div>\n\n <div class=\"mat-right-container sm:relative bg-white customscroll pl-5\">\n <div class=\"sticky top-0 pt-4 bg-white z-10 hidden sm:block\">\n <button class=\"close-icon\" (click)=\"closeDialog()\"></button>\n <div class=\"py-4 comments\">Comments</div>\n </div>\n <div class=\"block sm:hidden flex justify-between sticky top-0 z-10 bg-white\">\n <div class=\"py-4 bg-white commments\">Comments</div>\n <div class=\"block relative\">\n <mat-icon id=\"close-icon\" (click)=\"closeDialog()\" class=\"absolute\">close</mat-icon> \n </div>\n \n </div>\n <div class=\"comment-box axo-font text-sm\" *ngIf=\"annotation?.annotations.length\">\n <div class=\"comment-box-container flex gap-4 pb-4\" *ngFor=\"let item of annotation?.annotations; let i= index\">\n <div class=\"image-lightbox-index-wrapper\">\n <div class=\"image-lightbox-index\" [ngStyle]=\"{'background-color': item.color ,'border': (isAnnotationSelected && i === selectedAnnotationIndex && previouslySelectedAnnotationId === selectedAnnotationIndex) ?'1px solid #0000FF':''}\" (click)=\"selectAnnotation(i)\">{{i+1}}</div>\n </div>\n <mat-card class=\"w-full customscroll\" [ngStyle]=\"{'border': (isAnnotationSelected && i === selectedAnnotationIndex && previouslySelectedAnnotationId === selectedAnnotationIndex) ?'1px solid #0000FF':''}\" (click)=\"selectAnnotation(i)\">{{item.notes}}</mat-card> \n </div>\n </div>\n <div class=\"comment-box\" *ngIf=\"annotation?.annotations.length === 0 || annotation?.annotations === null\">No comments available\n \n </div>\n </div>\n</div>\n", styles: ["lib-image-widget-lightbox-view .light-box-container{height:100%;width:100%}lib-image-widget-lightbox-view .mat-left-container{position:relative;flex:70%;width:70%;display:flex;justify-content:center;align-items:center;background-color:#10172b}lib-image-widget-lightbox-view .mat-left-container .lightbox-image-left-arrow{position:absolute;top:50%;left:1rem;cursor:pointer;z-index:20}lib-image-widget-lightbox-view .mat-left-container .lightbox-image-right-arrow{position:absolute;top:50%;right:1rem;cursor:pointer;z-index:20}lib-image-widget-lightbox-view .mat-left-container .loaders{display:inline-block;width:2rem;height:2rem;border-width:4px;border-radius:100%;color:#a855f7;position:absolute;inset:50%;z-index:0}lib-image-widget-lightbox-view .mat-right-container{width:30%;flex:30%}lib-image-widget-lightbox-view .mat-right-container #close-icon{right:0;top:0;font-size:16px}lib-image-widget-lightbox-view .mat-right-container .comment-box-container{font-family:Open Sans,Arial,sans-serif}lib-image-widget-lightbox-view .mat-right-container .comment-box-container .image-lightbox-index-wrapper{display:flex;height:3.374rem;align-items:center}lib-image-widget-lightbox-view .mat-right-container .comment-box-container .image-lightbox-index-wrapper .image-lightbox-index{height:1.313rem;min-width:1.313rem;min-height:1.313rem;text-align:center;border-radius:100%;font-size:12px;font-weight:600;color:#fff;line-height:1.413rem}lib-image-widget-lightbox-view .mat-right-container .comment-box-container mat-card{background:#F2F4FA;border:none;box-shadow:none!important;font-size:.8rem;font-family:Open Sans,Arial,sans-serif}lib-image-widget-lightbox-view #annotationsCanvas{max-width:100%}lib-image-widget-lightbox-view .mat-card{min-width:auto}@media only screen and (max-width: 600px){lib-image-widget-lightbox-view .mat-left-container{flex:100%;width:100%}lib-image-widget-lightbox-view .mat-right-container{flex:100%;width:100%}lib-image-widget-lightbox-view #close-icon{top:.5rem!important}}lib-image-widget-lightbox-view .comments{font-size:1rem;cursor:default}lib-image-widget-lightbox-view .lightbox-image-zoom-in-out{position:absolute;bottom:0;right:0;display:flex;flex-direction:column;grid-row-gap:.5rem;row-gap:.5rem;justify-content:center;align-items:center;margin-right:.4rem;margin-bottom:.6rem}lib-image-widget-lightbox-view .comment-box{cursor:default}.cdk-overlay-pane:not(:has(.light-box-container)){height:auto!important;width:auto!important}.mat-dialog-container:has(.light-box-container){height:100%!important;width:100%!important;max-height:100%!important;max-width:100%!important}\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 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{display:block;color:#1b2b4b;font-weight:500;margin:0 0 .2rem}.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}.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"] }]
|
|
488
488
|
}], function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
489
489
|
type: Inject,
|
|
490
490
|
args: [MAT_DIALOG_DATA]
|
|
@@ -494,4 +494,4 @@ ImageWidgetLightboxViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
494
494
|
type: HostListener,
|
|
495
495
|
args: ['window:mousewheel', ['$event']]
|
|
496
496
|
}] }); })();
|
|
497
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2F4LWNvbW1vbi11aS1saWIvc3JjL2xpYi9mb3JtLW9iamVjdC9mb3JtLW9iamVjdC12aWV3L2Zvcm0tb2JqZWN0LXdpZGdldHMvaW1hZ2Utd2lkZ2V0LXZpZXcvaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcvaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2F4LWNvbW1vbi11aS1saWIvc3JjL2xpYi9mb3JtLW9iamVjdC9mb3JtLW9iamVjdC12aWV3L2Zvcm0tb2JqZWN0LXdpZGdldHMvaW1hZ2Utd2lkZ2V0LXZpZXcvaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcvaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFhLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7OztJQ0c1RCxrQ0FBOEc7SUFBeEQsZ0xBQVMsMEJBQW1CLElBQUM7SUFBMkIsK0JBQXFGO0lBQUEsaUJBQVM7OztJQUF4SCw4Q0FBeUI7SUFBNkMsZUFBNEI7SUFBNUIsMENBQTRCOzs7O0lBQ3RMLGtDQUF3RztJQUFyRCxpTEFBUyxzQkFBZSxJQUFDO0lBQTRCLCtCQUF1RjtJQUFBLGlCQUFTOzs7SUFBMUgsOENBQXlCO0lBQThDLGVBQTZCO0lBQTdCLDJDQUE2Qjs7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QWEsSUFBQztRQUFrQixpQkFBVztRQUN4RyxnQ0FBMkI7UUFBQSx5QkFBUTtRQUFBLGlCQUFNO1FBQzNDLGlCQUFNO1FBQ04sZ0NBQTZFO1FBQzNFLGdDQUFxQztRQUFBLHlCQUFRO1FBQUEsaUJBQU07UUFDbkQsZ0NBQTRCO1FBQzFCLHFDQUFtRTtRQUF6QyxnSEFBUyxpQkFBYSxJQUFDO1FBQWtCLHNCQUFLO1FBQUEsaUJBQVc7UUFDckYsaUJBQU07UUFFUixpQkFBTTtRQUNOLG9GQU9NO1FBQ04sb0ZBRU07UUFDUixpQkFBTTtRQUNSLGlCQUFNOztRQTVDMkYsZUFBd0M7UUFBeEMsdUVBQXdDO1FBRzlILGVBQTJDO1FBQTNDLG9FQUEyQztRQUMzQyxlQUF3QztRQUF4QyxnRUFBd0M7UUFFcEMsZUFBNEI7UUFBNUIsaURBQTRCO1FBQ0osZUFBaUU7UUFBakUsc0ZBQWlFLDhEQUFBO1FBQ2xFLGVBQXlCO1FBQXpCLHVDQUF5QjtRQUN4QixlQUEwQjtRQUExQix3Q0FBMEI7UUFNNUMsZUFBa0I7UUFBbEIsdUNBQWtCO1FBaUJRLGdCQUFvQztRQUFwQyx3RkFBb0M7UUFRckQsZUFBOEU7UUFBOUUseUtBQThFOzt1RkQvQi9GLGdDQUFnQztjQU41QyxTQUFTOzJCQUNFLGdDQUFnQyxpQkFHM0IsaUJBQWlCLENBQUMsSUFBSTs7c0JBb0NsQyxNQUFNO3VCQUFDLGVBQWU7d0JBTGYsa0JBQWtCO2tCQUEzQixNQUFNO1lBd0RQLEtBQUs7a0JBREosWUFBWTttQkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEF4b1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vYXhvLXV0aWxzL2F4by11dGlscyc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uVmFsdWUgfSBmcm9tICcuLi9pbWFnZS1hbm5vdGF0aW9uLWRhdGEtZHRvJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWltYWdlLXdpZGdldC1saWdodGJveC12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLXdpZGdldC1saWdodGJveC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcuY29tcG9uZW50LnNjc3MnLCAnLi4vLi4vLi4vLi4vLi4vLi4vc3R5bGVzL3N0eWxlcy5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VXaWRnZXRMaWdodGJveFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBhbm5vdGF0aW9uVmFsdWVEYXRhOiBBcnJheTxBbm5vdGF0aW9uVmFsdWU+O1xuICBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50O1xuICBzZWxlY3RlZEltYWdlSWQ6IG51bWJlcjtcbiAgZGlzYWJsZU5leHRCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGlzYWJsZVByZXZpb3VzQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQW5ub3RhdGlvblNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGFubm90YXRpb246IEFubm90YXRpb25WYWx1ZTtcbiAgY3R4O1xuICBzZWxlY3RlZEFubm90YXRpb25JbmRleDogbnVtYmVyO1xuICBjdXJyZW50QW5ub3RhdGlvbk51bWJlcjogbnVtYmVyO1xuICBzaG93SW1hZ2U6IGJvb2xlYW4gPSB0cnVlO1xuICBhbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWw6IGFueTtcbiAgc2NhbGU6IG51bWJlciA9IDAuMjtcbiAgc2NhbGVNdWx0aXBsaWVyOiBudW1iZXIgPSAwLjg7XG4gIHN0YXJ0RHJhZ09mZnNldCA9IHsgeDogMCwgeTogMCB9O1xuICBtb3VzZURvd24gPSBmYWxzZTtcbiAgdHJhbnNsYXRlUG9zOiBhbnkgPSB7XG4gICAgeDogMCxcbiAgICB5OiAwXG4gIH07XG4gIG1vdXNlUG9zaXRpb246IGFueTtcbiAgZGlhbG9nOiBNYXREaWFsb2c7XG4gIGlzQ2FudmFzRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmF0aW86IG51bWJlcjtcbiAgY2VudGVyU2hpZnRfeDogbnVtYmVyO1xuICBjZW50ZXJTaGlmdF95OiBudW1iZXI7XG4gIGlzSW1hZ2VXaXRoQW5ub3RhdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkIDogbnVtYmVyO1xuICBAT3V0cHV0KCkgZXhwYW5kQ2FudmFzRGlhbG9nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgaW1hZ2VMb2FkZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEltYWdlV2lkZ2V0TGlnaHRib3hWaWV3Q29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGFubm90YXRpb25EYXRhOiBhbnlcbiAgKSB7IH1cblxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYW5ub3RhdGlvblZhbHVlRGF0YSA9IHRoaXMuYW5ub3RhdGlvbkRhdGEudmlld3Jlcy5maWVsZC52YWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkSW1hZ2VJZCA9IHRoaXMuYW5ub3RhdGlvbkRhdGEuc2VsZWN0ZWRJbWFnZUlkO1xuICAgIHRoaXMuYW5ub3RhdGlvbiA9IHRoaXMuYW5ub3RhdGlvblZhbHVlRGF0YS5maW5kKChhbm5vdGF0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLnNlbGVjdGVkSW1hZ2VJZDtcbiAgICB9KTtcbiAgICB0aGlzLmRpc2FibGVQcmV2aW91c0J1dHRvbiA9IHRoaXMuc2VsZWN0ZWRJbWFnZUlkID09PSAwID8gdHJ1ZSA6IGZhbHNlO1xuICAgIHRoaXMuZGlzYWJsZU5leHRCdXR0b24gPSB0aGlzLnNlbGVjdGVkSW1hZ2VJZCA9PT0gKHRoaXMuYW5ub3RhdGlvblZhbHVlRGF0YS5sZW5ndGggLSAxICk/IHRydWUgOiBmYWxzZTtcbiAgICB0aGlzLmNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiYW5ub3RhdGlvbnNDYW52YXNcIikgYXMgSFRNTENhbnZhc0VsZW1lbnQ7XG4gICAgdGhpcy5jYW52YXMuc3R5bGUud2lkdGggPSAnMTAwJSc7XG4gICAgdGhpcy5jYW52YXMuc3R5bGUuaGVpZ2h0ID0gJzEwMCUnO1xuICAgIHRoaXMuY2FudmFzLndpZHRoID0gdGhpcy5jYW52YXMub2Zmc2V0V2lkdGg7XG4gICAgdGhpcy5jYW52YXMuaGVpZ2h0ID0gdGhpcy5jYW52YXMub2Zmc2V0SGVpZ2h0O1xuICAgIHRoaXMuY3R4ID0gdGhpcy5jYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICB0aGlzLnNldEltYWdlRm9yQW5ub3RhdGlvbih0cnVlKTtcblxuXG4gICAgLy8gYWRkIGV2ZW50IGxpc3RlbmVycyB0byBoYW5kbGUgc2NyZWVuIGRyYWdcbiAgICB0aGlzLmNhbnZhcy5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIChldnQpID0+IHtcbiAgICAgIHRoaXMubW91c2VEb3duID0gdHJ1ZTtcbiAgICAgIHRoaXMuc3RhcnREcmFnT2Zmc2V0LnggPSBldnQuY2xpZW50WCAtIHRoaXMudHJhbnNsYXRlUG9zLng7XG4gICAgICB0aGlzLnN0YXJ0RHJhZ09mZnNldC55ID0gZXZ0LmNsaWVudFkgLSB0aGlzLnRyYW5zbGF0ZVBvcy55O1xuICAgIH0pO1xuXG4gICAgdGhpcy5jYW52YXMuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNldXBcIiwgKGV2dCkgPT4ge1xuICAgICAgdGhpcy5tb3VzZURvd24gPSBmYWxzZTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW92ZXJcIiwgKGV2dCkgPT4ge1xuICAgICAgdGhpcy5tb3VzZURvd24gPSBmYWxzZTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW91dFwiLCAoZXZ0KSA9PiB7XG4gICAgICB0aGlzLm1vdXNlRG93biA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jYW52YXMuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCAoZXZ0KSA9PiB7XG4gICAgICBpZiAodGhpcy5tb3VzZURvd24pIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVQb3MueCA9IGV2dC5jbGllbnRYIC0gdGhpcy5zdGFydERyYWdPZmZzZXQueDtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVQb3MueSA9IGV2dC5jbGllbnRZIC0gdGhpcy5zdGFydERyYWdPZmZzZXQueTtcbiAgICAgICAgdGhpcy5yZW5kZXJJbWFnZU9uQ2FudmFzKHRoaXMuYW5ub3RhdGlvbiwgZmFsc2UpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2V3aGVlbCcsIFsnJGV2ZW50J10pXG4gIGNsaWNrKGV2ZW50KTogdm9pZCB7XG4gICAgdmFyIGRlbHRhID0gZXZlbnQud2hlZWxEZWx0YSA/IGV2ZW50LndoZWVsRGVsdGEgLyA0MCA6IGV2ZW50LmRldGFpbCA/IC1ldmVudC5kZXRhaWwgOiAwO1xuICAgIGlmIChkZWx0YSkgdGhpcy56b29tSW1hZ2UoZGVsdGEpO1xuICB9XG5cbiAgem9vbUltYWdlKGRlbHRhKSB7XG4gICAgaWYgKGRlbHRhID09IDEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGRlbHRhID4gMCkge1xuICAgICAgdGhpcy5zY2FsZSAvPSB0aGlzLnNjYWxlTXVsdGlwbGllcjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zY2FsZSAqPSB0aGlzLnNjYWxlTXVsdGlwbGllcjtcbiAgICB9XG4gICAgdGhpcy5yZW5kZXJJbWFnZU9uQ2FudmFzKHRoaXMuYW5ub3RhdGlvbiwgZmFsc2UpO1xuICB9XG5cbiAgc2V0SW1hZ2VGb3JBbm5vdGF0aW9uKGlzRmlyc3RUaW1lUmVuZGVyKSB7XG4gICAgdGhpcy5hbm5vdGF0aW9uID0gdGhpcy5hbm5vdGF0aW9uVmFsdWVEYXRhLmZpbmQoKGFubm90YXRpb24sIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gaW5kZXggPT09IHRoaXMuc2VsZWN0ZWRJbWFnZUlkO1xuICAgIH0pO1xuICAgIHRoaXMuaXNJbWFnZVdpdGhBbm5vdGF0aW9ucyA9IHRoaXMuYW5ub3RhdGlvbj8uYW5ub3RhdGlvbnM/Lmxlbmd0aCA/IHRydWUgOiBmYWxzZTtcbiAgICBpZiAodGhpcy5hbm5vdGF0aW9uICE9IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hbm5vdGF0aW9uLmltYWdlID0gQXhvVXRpbHMucmVtb3ZlU2xhc2hGcm9tSW1hZ2VVcmwodGhpcy5hbm5vdGF0aW9uLmltYWdlKTtcbiAgICAgIGlmICghdGhpcy5pc0Fubm90YXRpb25TZWxlY3RlZCkge1xuICAgICAgICB0aGlzLmRyYXdJbWFnZSh0aGlzLmFubm90YXRpb24sIGlzRmlyc3RUaW1lUmVuZGVyKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5hbm5vdGF0aW9uPy5hbm5vdGF0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgIHZhciBzZWxlY3RlZEFubm90YXRpb24gPSB0aGlzLmFubm90YXRpb24uYW5ub3RhdGlvbnMuZmluZCgoYW5ub3RhdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICByZXR1cm4gaW5kZXggPT09IHRoaXMuc2VsZWN0ZWRBbm5vdGF0aW9uSW5kZXg7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyID0gdGhpcy5zZWxlY3RlZEFubm90YXRpb25JbmRleDtcbiAgICAgICAgdGhpcy5kcmF3QW5ub3RhdGlvbihzZWxlY3RlZEFubm90YXRpb24sIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIHNob3dQcmV2aW91c0ltYWdlKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSW1hZ2VJZCA+PSAwKSB7XG4gICAgICB0aGlzLmlzQW5ub3RhdGlvblNlbGVjdGVkID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZEltYWdlSWQgPiAwKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbWFnZUlkID0gdGhpcy5zZWxlY3RlZEltYWdlSWQgLSAxO1xuICAgICAgICB0aGlzLmRpc2FibGVQcmV2aW91c0J1dHRvbiA9IHRoaXMuc2VsZWN0ZWRJbWFnZUlkID09PSAwID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICB0aGlzLmRpc2FibGVOZXh0QnV0dG9uID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2V0SW1hZ2VGb3JBbm5vdGF0aW9uKHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlUHJldmlvdXNCdXR0b24gPSB0aGlzLnNlbGVjdGVkSW1hZ2VJZCA9PT0gMCA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNob3dOZXh0SW1hZ2UoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbWFnZUlkIDwgdGhpcy5hbm5vdGF0aW9uVmFsdWVEYXRhLmxlbmd0aCkge1xuICAgICAgdGhpcy5pc0Fubm90YXRpb25TZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5zZWxlY3RlZEltYWdlSWQgPSB0aGlzLnNlbGVjdGVkSW1hZ2VJZCArIDE7XG4gICAgICB0aGlzLmRpc2FibGVOZXh0QnV0dG9uID0gdGhpcy5zZWxlY3RlZEltYWdlSWQgPT09ICh0aGlzLmFubm90YXRpb25WYWx1ZURhdGEubGVuZ3RoIC0gMSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICB0aGlzLmRpc2FibGVQcmV2aW91c0J1dHRvbiA9IGZhbHNlO1xuICAgICAgdGhpcy5zZXRJbWFnZUZvckFubm90YXRpb24odHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgZHJhd0ltYWdlKGFubm90YXRpb246IEFubm90YXRpb25WYWx1ZSwgaXNGaXJzdFRpbWVSZW5kZXIpIHtcbiAgICBpZiAoYW5ub3RhdGlvbikge1xuICAgICAgdGhpcy5pbWFnZUxvYWRlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwgPSBuZXcgSW1hZ2UoKTtcbiAgICAgIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLnNyYyA9IHRoaXMuYW5ub3RhdGlvbkRhdGEuYmFzZVVybCArIGFubm90YXRpb24uaW1hZ2U7XG4gICAgICB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuaW1hZ2VMb2FkZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNjYWxlID0gTWF0aC5taW4odGhpcy5jYW52YXMud2lkdGggLyB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC53aWR0aCwgdGhpcy5jYW52YXMuaGVpZ2h0IC8gdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwuaGVpZ2h0KTtcbiAgICAgICAgdGhpcy5yZW5kZXJJbWFnZU9uQ2FudmFzKGFubm90YXRpb24sIGlzRmlyc3RUaW1lUmVuZGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZW5kZXJJbWFnZU9uQ2FudmFzKGFubm90YXRpb24sIGlzRmlyc3RUaW1lUmVuZGVyKSB7XG4gICAgaWYgKGlzRmlyc3RUaW1lUmVuZGVyKSB7XG4gICAgICB0aGlzLmN0eC5yZXN0b3JlKCk7XG4gICAgICB0aGlzLmN0eC5jbGVhclJlY3QoMCwgMCwgdGhpcy5jYW52YXMud2lkdGgsIHRoaXMuY2FudmFzLmhlaWdodCk7XG4gICAgICB0aGlzLmN0eC5zYXZlKCk7XG4gICAgICB2YXIgY3R4Q2FudmFzID0gdGhpcy5jdHguY2FudmFzO1xuICAgICAgdmFyIGhSYXRpbyA9IGN0eENhbnZhcy53aWR0aCAvIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLm5hdHVyYWxXaWR0aDtcbiAgICAgIHZhciB2UmF0aW8gPSBjdHhDYW52YXMuaGVpZ2h0IC8gdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwubmF0dXJhbEhlaWdodDtcbiAgICAgIHZhciByYXRpbyA9IE1hdGgubWluKGhSYXRpbywgdlJhdGlvKTtcbiAgICAgIHZhciBjZW50ZXJTaGlmdF94ID0gKGN0eENhbnZhcy53aWR0aCAtIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLm5hdHVyYWxXaWR0aCAqIHJhdGlvKSAvIDI7XG4gICAgICB2YXIgY2VudGVyU2hpZnRfeSA9IChjdHhDYW52YXMuaGVpZ2h0IC0gdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwubmF0dXJhbEhlaWdodCAqIHJhdGlvKSAvIDI7XG4gICAgICB0aGlzLmN0eC5kcmF3SW1hZ2UodGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwsIDAsIDAsIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLm5hdHVyYWxXaWR0aCwgdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwubmF0dXJhbEhlaWdodCwgY2VudGVyU2hpZnRfeCwgY2VudGVyU2hpZnRfeSwgdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwubmF0dXJhbFdpZHRoICogcmF0aW8sIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLm5hdHVyYWxIZWlnaHQgKiByYXRpbyk7XG4gICAgICB0aGlzLnRyYW5zbGF0ZVBvcyA9IHsgeDogY2VudGVyU2hpZnRfeCwgeTogY2VudGVyU2hpZnRfeSB9O1xuICAgICAgdGhpcy5jdHgudHJhbnNsYXRlKHRoaXMudHJhbnNsYXRlUG9zLngsIHRoaXMudHJhbnNsYXRlUG9zLnkpO1xuICAgICAgdGhpcy5jdHguc2NhbGUodGhpcy5zY2FsZSwgdGhpcy5zY2FsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vbGV0IHJlY3QgPSB0aGlzLmNhbnZhcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIC8vaWYocmVjdC5sZWZ0ID49IHRoaXMudHJhbnNsYXRlUG9zLnggJiYgcmVjdC50b3AgPj0gdGhpcy50cmFuc2xhdGVQb3MueSkge1xuICAgICAgICB0aGlzLmN0eC5yZXN0b3JlKCk7XG4gICAgICAgIHRoaXMuY3R4LmNsZWFyUmVjdCgwLCAwLCB0aGlzLmNhbnZhcy53aWR0aCwgdGhpcy5jYW52YXMuaGVpZ2h0KTtcbiAgICAgICAgdGhpcy5jdHguc2F2ZSgpO1xuICAgICAgICB0aGlzLmN0eC50cmFuc2xhdGUodGhpcy50cmFuc2xhdGVQb3MueCwgdGhpcy50cmFuc2xhdGVQb3MueSk7XG4gICAgICAgIHRoaXMuY3R4LnNjYWxlKHRoaXMuc2NhbGUsIHRoaXMuc2NhbGUpO1xuICAgICAgICB0aGlzLmN0eC5kcmF3SW1hZ2UodGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwsIDAsIDAsIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLndpZHRoLCB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC5oZWlnaHQpO1xuICAgICAgLy99XG5cbiAgICAgIFxuICAgIH1cbiAgICBpZiAodGhpcy5zaG93SW1hZ2UgJiYgYW5ub3RhdGlvbj8uYW5ub3RhdGlvbnMubGVuZ3RoKSB7XG4gICAgICBhbm5vdGF0aW9uLmFubm90YXRpb25zLmZvckVhY2goKGFubm90YXRpb24sIGluZGV4KSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPSBpbmRleDtcbiAgICAgICAgdGhpcy5kcmF3QW5ub3RhdGlvbihhbm5vdGF0aW9uLCBmYWxzZSk7XG4gICAgICB9KTtcbiAgICB9XG5cblxuICB9XG5cbiAgY2xvc2VEaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZmFsc2UpO1xuICB9XG5cbiAgZHJhd0Fubm90YXRpb24oYW5ub3RhdGlvbkRhdGEsIGlzSGlnaGxpZ2h0ZWQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaG93SW1hZ2UgJiYgYW5ub3RhdGlvbkRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jdHguYmVnaW5QYXRoKCk7XG4gICAgICB2YXIgY2VudGVyWDtcbiAgICAgIHZhciBjZW50ZXJZO1xuICAgICAgYW5ub3RhdGlvbkRhdGEucGF0aC5mb3JFYWNoKChwYXRoVmFsdWUpID0+IHtcbiAgICAgICAgaWYgKHBhdGhWYWx1ZS50eXBlID09IFwibVwiKSB7XG4gICAgICAgICAgdmFyIHN0YXJ0aW5nX3BvaW50ID0gW107XG4gICAgICAgICAgc3RhcnRpbmdfcG9pbnQgPSBwYXRoVmFsdWUucG9pbnRzLnNwbGl0KCcsJyk7XG4gICAgICAgICAgdGhpcy5jdHgubW92ZVRvKHN0YXJ0aW5nX3BvaW50WzBdLCBzdGFydGluZ19wb2ludFsxXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHBhdGhWYWx1ZS50eXBlID09IFwicVwiKSB7XG4gICAgICAgICAgICB2YXIgcG9pbnRzID0gW107XG4gICAgICAgICAgICBwb2ludHMgPSBwYXRoVmFsdWUucG9pbnRzLnNwbGl0KCcsJyk7XG4gICAgICAgICAgICBpZiAoIWNlbnRlclggJiYgIWNlbnRlclkpIHtcbiAgICAgICAgICAgICAgY2VudGVyWCA9IHBvaW50c1swXTtcbiAgICAgICAgICAgICAgY2VudGVyWSA9IHBvaW50c1sxXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY3R4LnF1YWRyYXRpY0N1cnZlVG8ocG9pbnRzWzBdLCBwb2ludHNbMV0sIHBvaW50c1syXSwgcG9pbnRzWzNdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgY2VudGVyWCA9IGNlbnRlclggKyAxNTtcbiAgICAgIGNlbnRlclkgPSBjZW50ZXJZIC0gMTU7XG4gICAgICBpc0hpZ2hsaWdodGVkID0gdGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPT09IHRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPyBmYWxzZTogaXNIaWdobGlnaHRlZDtcbiAgICAgIHZhciByYW5kb21Db2xvciA9IGlzSGlnaGxpZ2h0ZWQgPyBcImJsdWVcIiA6IGFubm90YXRpb25EYXRhLmNvbG9yICE9IG51bGwgPyBhbm5vdGF0aW9uRGF0YS5jb2xvciA6IHRoaXMuZ2V0UmFuZG9tQ29sb3IoKTtcbiAgICAgIGFubm90YXRpb25EYXRhLmNvbG9yID0gcmFuZG9tQ29sb3IgPT09IFwiYmx1ZVwiID8gYW5ub3RhdGlvbkRhdGEuY29sb3IgOiByYW5kb21Db2xvcjtcbiAgICAgIHRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID0gaXNIaWdobGlnaHRlZD90aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyOnRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkO1xuICAgICAgdGhpcy5jdHguc3Ryb2tlU3R5bGUgPSByYW5kb21Db2xvcjtcbiAgICAgIHRoaXMuY3R4LmxpbmVXaWR0aCA9IDU7XG4gICAgICB0aGlzLmN0eC5zdHJva2UoKTtcbiAgICAgIHRoaXMuY3R4LmNsb3NlUGF0aCgpO1xuICAgICAgdGhpcy5jdHguYmVnaW5QYXRoKCk7XG4gICAgICB0aGlzLmN0eC5hcmMoY2VudGVyWCwgY2VudGVyWSwgNywgMCwgMiAqIE1hdGguUEkpO1xuICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gcmFuZG9tQ29sb3I7XG4gICAgICB0aGlzLmN0eC5maWxsKCk7XG4gICAgICB0aGlzLmN0eC5jbG9zZVBhdGgoKTtcbiAgICAgIHRoaXMuY3R4LmJlZ2luUGF0aCgpO1xuICAgICAgdGhpcy5jdHgudGV4dEFsaWduID0gXCJjZW50ZXJcIjtcbiAgICAgIHRoaXMuY3R4LnRleHRCYXNlbGluZSA9IFwibWlkZGxlXCI7XG4gICAgICB0aGlzLmN0eC5maWxsU3R5bGUgPSAnd2hpdGUnO1xuICAgICAgdGhpcy5jdHguZm9udFNpemUgPSAnMTJweCBBcmlhbCc7XG4gICAgICB0aGlzLmN0eC5maWxsVGV4dCh0aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyICsgMSwgY2VudGVyWCwgY2VudGVyWSlcbiAgICAgIHRoaXMuY3R4LnN0cm9rZSgpO1xuICAgICAgdGhpcy5jdHguY2xvc2VQYXRoKCk7XG4gICAgfVxuICB9XG5cbiAgc2hvd0ltYWdlV2l0aG91dEFubm90YXRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0ltYWdlID0gIXRoaXMuc2hvd0ltYWdlO1xuICAgIHRoaXMuZHJhd0ltYWdlKHRoaXMuYW5ub3RhdGlvbiwgZmFsc2UpO1xuICB9XG5cbiAgc2VsZWN0QW5ub3RhdGlvbihzZWxlY3RlZEluZGV4KSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbWFnZUlkID49IDApIHtcbiAgICAgIHRoaXMuYW5ub3RhdGlvbiA9IHRoaXMuYW5ub3RhdGlvblZhbHVlRGF0YS5maW5kKChhbm5vdGF0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPT09IHRoaXMuc2VsZWN0ZWRJbWFnZUlkO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmFubm90YXRpb24uYW5ub3RhdGlvbnMuZm9yRWFjaCgoYW5ub3RhdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFubm90YXRpb25JbmRleCA9IHNlbGVjdGVkSW5kZXg7XG4gICAgICAgIHRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPSBpbmRleDtcbiAgICAgICAgdGhpcy5pc0Fubm90YXRpb25TZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5zZWxlY3RlZEFubm90YXRpb25JbmRleCAmJiB0aGlzLmFubm90YXRpb24uYW5ub3RhdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5pc0Fubm90YXRpb25TZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgdmFyIGlzSGlnaGxpZ2h0ZWQgPSB0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9PT10aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyID8gZmFsc2U6dHJ1ZTtcbiAgICAgICAgICB0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9IHRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID09PXRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPyBudWxsOnRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkO1xuICAgICAgICAgIFxuICAgICAgICAgIHRoaXMuZHJhd0Fubm90YXRpb24oYW5ub3RhdGlvbiwgaXNIaWdobGlnaHRlZCk7XG4gICAgICAgIH1cbiAgICAgICBlbHNlIGlmICh0aGlzLmFubm90YXRpb24uYW5ub3RhdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5kcmF3QW5ub3RhdGlvbihhbm5vdGF0aW9uLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2FudmFzQ2xpY2soZXZlbnQpIHtcbiAgICB0aGlzLmlzQW5ub3RhdGlvblNlbGVjdGVkID0gZmFsc2U7XG4gICAgbGV0IHJlY3QgPSB0aGlzLmNhbnZhcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLm1vdXNlUG9zaXRpb24gPSB7XG4gICAgICB4OiBldmVudC5wYWdlWCAtIHJlY3QubGVmdCxcbiAgICAgIHk6IGV2ZW50LnBhZ2VZIC0gcmVjdC50b3BcbiAgICB9XG4gICAgdGhpcy5nZXRTZWxlY3RlZENvbW1lbnQoKTtcbiAgfVxuXG4gIGdldFNlbGVjdGVkQ29tbWVudCgpIHtcbiAgICB0aGlzLmFubm90YXRpb24uYW5ub3RhdGlvbnMuZm9yRWFjaCgoYW5ub3RhdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgIHZhciBmcmFtZSA9IGFubm90YXRpb24uZnJhbWUuc3BsaXQoXCIsXCIpO1xuICAgICAgdmFyIHBhcnNlZEZyYW1lID0gW107XG4gICAgICBmb3IgKHZhciBpIGluIGZyYW1lKSB7XG4gICAgICAgIHBhcnNlZEZyYW1lW2ldID0gcGFyc2VGbG9hdChmcmFtZVtpXSkgKiB0aGlzLnNjYWxlO1xuICAgICAgfVxuICAgICAgbGV0IHNlbGVjdGVkUHQgPSB7XG4gICAgICAgIHg6IHRoaXMubW91c2VQb3NpdGlvbi54IC0gdGhpcy50cmFuc2xhdGVQb3MueCxcbiAgICAgICAgeTogdGhpcy5tb3VzZVBvc2l0aW9uLnkgLSB0aGlzLnRyYW5zbGF0ZVBvcy55XG4gICAgICB9O1xuICAgICAgdGhpcy5jdXJyZW50QW5ub3RhdGlvbk51bWJlciA9IGluZGV4O1xuICAgICAgaWYgKHNlbGVjdGVkUHQueCA+IHBhcnNlZEZyYW1lWzBdICYmIHNlbGVjdGVkUHQueCA8IHBhcnNlZEZyYW1lWzJdICYmIHNlbGVjdGVkUHQueSA+IHBhcnNlZEZyYW1lWzFdICYmIHNlbGVjdGVkUHQueSA8IHBhcnNlZEZyYW1lWzNdKSB7XG4gICAgICAgIHRoaXMuaXNBbm5vdGF0aW9uU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQW5ub3RhdGlvbkluZGV4ID0gaW5kZXg7XG4gICAgICAgIHZhciBpc0hpZ2hsaWdodGVkID0gdGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPT09IHRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPyBmYWxzZTp0cnVlO1xuICAgICAgICB0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9IHRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID09PXRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPyBudWxsOnRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkO1xuICAgICAgICB0aGlzLmRyYXdBbm5vdGF0aW9uKGFubm90YXRpb24sIGlzSGlnaGxpZ2h0ZWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPSB0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9PT10aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyID8gbnVsbDp0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZDtcbiAgICAgICAgdGhpcy5kcmF3QW5ub3RhdGlvbihhbm5vdGF0aW9uLCBmYWxzZSlcbiAgICAgIH07XG4gICAgfVxuICAgICk7XG4gIH1cblxuXG4gIC8qKlxuICAgICogR2VuZXJhdGUgcmFuZG9tIGNvbG9yIGV4Y2VwdCBibHVlIGFuZCB3aGl0ZVxuICAgICovXG4gIGdldFJhbmRvbUNvbG9yKCkge1xuICAgIHZhciBsZXR0ZXJzID0gJzAxMjM0NTY3ODlBQkNERUYnO1xuICAgIHZhciBjb2xvciA9ICcjJztcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDY7IGkrKykge1xuICAgICAgY29sb3IgKz0gbGV0dGVyc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxNildO1xuICAgIH1cbiAgICBpZiAoY29sb3IgPT09IFwiIzAwMDBGRlwiIHx8IGNvbG9yID09PSBcIiNGRkZGRkZcIikge1xuICAgICAgdGhpcy5nZXRSYW5kb21Db2xvcigpO1xuICAgIH1cbiAgICByZXR1cm4gY29sb3I7XG4gIH1cblxuXG4gIC8qKlxuICAgICAqICAgWm9vbSBpbiBpbWFnZSBjYW52YXMgb24gY2xpY2sgZXZlbnRcbiAgKi9cbiAgaW1hZ2Vab29tSW4oKSB7XG4gICAgdGhpcy5zY2FsZSAvPSB0aGlzLnNjYWxlTXVsdGlwbGllcjtcbiAgICB0aGlzLnJlbmRlckltYWdlT25DYW52YXModGhpcy5hbm5vdGF0aW9uLCBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICAgKiAgIFpvb20gb3V0IGltYWdlIGNhbnZhcyBvbiBjbGljayBldmVudFxuICAqL1xuICBpbWFnZVpvb21PdXQoKSB7XG4gICAgdGhpcy5zY2FsZSAqPSB0aGlzLnNjYWxlTXVsdGlwbGllcjtcbiAgICB0aGlzLnJlbmRlckltYWdlT25DYW52YXModGhpcy5hbm5vdGF0aW9uLCBmYWxzZSk7XG4gIH1cblxuXG4gIC8qKlxuICAgICogIEV4cGFuZCBpbWFnZSBjYW52YXMgb24gY2xpY2tcbiAqL1xuICBleHBhbmRDYW52YXMoKSB7XG4gICAgdGhpcy5pc0NhbnZhc0V4cGFuZGVkID0gIXRoaXMuaXNDYW52YXNFeHBhbmRlZDtcbiAgICBpZiAodGhpcy5pc0NhbnZhc0V4cGFuZGVkKSB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi51cGRhdGVTaXplKCcxMDB2dycsICcxMDB2aCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi51cGRhdGVTaXplKCc4MHZ3JywgJzgwdmgnKTtcbiAgICB9XG4gIH1cblxuXG59XG4iLCI8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImxpZ2h0LWJveC1jb250YWluZXIgZmxleCBoLWZ1bGwgZmxleC1jb2wgc206ZmxleC1yb3cgcmVsYXRpdmVcIj5cbjxkaXYgY2xhc3M9XCJtYXQtbGVmdC1jb250YWluZXJcIj5cbiAgICA8Y2FudmFzIGlkPVwiYW5ub3RhdGlvbnNDYW52YXNcIiAoY2xpY2spPVwib25DYW52YXNDbGljaygkZXZlbnQpXCIgI2NhbnZhcyBjbGFzcz1cInJlbGF0aXZlIHotMTBcIiBbbmdDbGFzc109XCJ7J29wYWNpdHktNTAnOiAhaW1hZ2VMb2FkZWR9XCI+XG5cbiAgICA8L2NhbnZhcz5cbiAgPGJ1dHRvbiAqbmdJZj1cIiFkaXNhYmxlUHJldmlvdXNCdXR0b24gJiYgaW1hZ2VMb2FkZWRcIiAoY2xpY2spPVwic2hvd1ByZXZpb3VzSW1hZ2UoKVwiIFtkaXNhYmxlZF09XCIhaW1hZ2VMb2FkZWRcIj48bWF0LWljb24gY2xhc3M9XCJsaWdodGJveC1pbWFnZS1sZWZ0LWFycm93XCIgW3N2Z0ljb25dPVwiJ2F4b19sZWZ0X2Fycm93J1wiID48L21hdC1pY29uPjwvYnV0dG9uPlxuICA8YnV0dG9uICpuZ0lmPVwiIWRpc2FibGVOZXh0QnV0dG9uICAmJiBpbWFnZUxvYWRlZFwiIChjbGljayk9XCJzaG93TmV4dEltYWdlKClcIiAgW2Rpc2FibGVkXT1cIiFpbWFnZUxvYWRlZFwiPjxtYXQtaWNvbiBjbGFzcz1cImxpZ2h0Ym94LWltYWdlLXJpZ2h0LWFycm93XCIgW3N2Z0ljb25dPVwiJ2F4b19yaWdodF9hcnJvdydcIiA+PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgPGRpdiBjbGFzcz1cImxpZ2h0Ym94LWltYWdlLXpvb20taW4tb3V0XCI+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaXNJbWFnZVdpdGhBbm5vdGF0aW9uc1wiIChjbGljayk9XCJzaG93SW1hZ2VXaXRob3V0QW5ub3RhdGlvbnMoKVwiIFtzdmdJY29uXT1cInNob3dJbWFnZSA/J2F4b19hbm90YXRpb25fc2hvdyc6J2F4b19hbm90YXRpb25faGlkZSdcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIGV5ZS1pY29uIHotMjBcIj48L21hdC1pY29uPlxuICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiZXhwYW5kQ2FudmFzKClcIiBbc3ZnSWNvbl09XCJpc0NhbnZhc0V4cGFuZGVkID8nYXhvX2ltZ19jb21wcmVzcyc6J2F4b19mdWxsc2NyZWVuJ1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgei0yMFwiIFtuZ0NsYXNzXT1cInsnZXhwYW5kJzogaXNDYW52YXNFeHBhbmRlZH1cIj48L21hdC1pY29uPlxuICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiaW1hZ2Vab29tSW4oKVwiIFtzdmdJY29uXT1cIidheG9fem9vbV9pbidcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIHotMjBcIj48L21hdC1pY29uPlxuICAgIDxtYXQtaWNvbiAgKGNsaWNrKT1cImltYWdlWm9vbU91dCgpXCJbc3ZnSWNvbl09XCInYXhvX3pvb21fb3V0J1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgei0yMFwiPjwvbWF0LWljb24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiXG4gICAgICBzcGlubmVyLWJvcmRlclxuICAgICAgYW5pbWF0ZS1zcGluXG4gICAgICBsb2FkZXJzXG4gICAgXCIgcm9sZT1cInN0YXR1c1wiICpuZ0lmPVwiIWltYWdlTG9hZGVkXCIgW25nQ2xhc3NdPVwieyd6LTUwJzogIWltYWdlTG9hZGVkfVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5Mb2FkaW5nLi4uPC9zcGFuPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1hdC1yaWdodC1jb250YWluZXIgc206cmVsYXRpdmUgYmctd2hpdGUgY3VzdG9tc2Nyb2xsIHBsLTVcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RpY2t5IHRvcC0wIHB0LTQgYmctd2hpdGUgei0xMCBoaWRkZW4gc206YmxvY2tcIj5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiYXhvX3BvcHVwX2Nsb3NlXCIgaWQ9XCJjbG9zZS1pY29uXCIgKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIiBjbGFzcz1cImFic29sdXRlXCI+PC9tYXQtaWNvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJweS00IGNvbW1lbnRzXCI+Q29tbWVudHM8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYmxvY2sgc206aGlkZGVuIGZsZXgganVzdGlmeS1iZXR3ZWVuIHN0aWNreSB0b3AtMCB6LTEwIGJnLXdoaXRlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicHktNCBiZy13aGl0ZSBjb21tbWVudHNcIj5Db21tZW50czwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImJsb2NrIHJlbGF0aXZlXCI+XG4gICAgICAgIDxtYXQtaWNvbiBpZD1cImNsb3NlLWljb25cIiAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiIGNsYXNzPVwiYWJzb2x1dGVcIj5jbG9zZTwvbWF0LWljb24+ICBcbiAgICAgIDwvZGl2PlxuICAgIFxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LWJveCBheG8tZm9udCB0ZXh0LXNtXCIgKm5nSWY9XCJhbm5vdGF0aW9uPy5hbm5vdGF0aW9ucy5sZW5ndGhcIj5cbiAgICAgIDxkaXYgIGNsYXNzPVwiY29tbWVudC1ib3gtY29udGFpbmVyIGZsZXggZ2FwLTQgcGItNFwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGFubm90YXRpb24/LmFubm90YXRpb25zOyBsZXQgaT0gaW5kZXhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlLWxpZ2h0Ym94LWluZGV4LXdyYXBwZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2UtbGlnaHRib3gtaW5kZXhcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiBpdGVtLmNvbG9yICwnYm9yZGVyJzogKGlzQW5ub3RhdGlvblNlbGVjdGVkICYmIGkgPT09IHNlbGVjdGVkQW5ub3RhdGlvbkluZGV4ICYmIHByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9PT0gc2VsZWN0ZWRBbm5vdGF0aW9uSW5kZXgpID8nMXB4IHNvbGlkICMwMDAwRkYnOicnfVwiIChjbGljayk9XCJzZWxlY3RBbm5vdGF0aW9uKGkpXCI+e3tpKzF9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1jYXJkIGNsYXNzPVwidy1mdWxsIGN1c3RvbXNjcm9sbFwiICBbbmdTdHlsZV09XCJ7J2JvcmRlcic6IChpc0Fubm90YXRpb25TZWxlY3RlZCAmJiBpID09PSBzZWxlY3RlZEFubm90YXRpb25JbmRleCAmJiBwcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPT09IHNlbGVjdGVkQW5ub3RhdGlvbkluZGV4KSA/JzFweCBzb2xpZCAjMDAwMEZGJzonJ31cIiAoY2xpY2spPVwic2VsZWN0QW5ub3RhdGlvbihpKVwiPnt7aXRlbS5ub3Rlc319PC9tYXQtY2FyZD4gIFxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtYm94XCIgKm5nSWY9XCJhbm5vdGF0aW9uPy5hbm5vdGF0aW9ucy5sZW5ndGggPT09IDAgfHwgYW5ub3RhdGlvbj8uYW5ub3RhdGlvbnMgPT09IG51bGxcIj5ObyBjb21tZW50cyBhdmFpbGFibGVcbiAgICAgIFxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
497
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2F4LWNvbW1vbi11aS1saWIvc3JjL2xpYi9mb3JtLW9iamVjdC9mb3JtLW9iamVjdC12aWV3L2Zvcm0tb2JqZWN0LXdpZGdldHMvaW1hZ2Utd2lkZ2V0LXZpZXcvaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcvaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2F4LWNvbW1vbi11aS1saWIvc3JjL2xpYi9mb3JtLW9iamVjdC9mb3JtLW9iamVjdC12aWV3L2Zvcm0tb2JqZWN0LXdpZGdldHMvaW1hZ2Utd2lkZ2V0LXZpZXcvaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcvaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFhLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7OztJQ0c1RCxrQ0FBOEc7SUFBeEQsZ0xBQVMsMEJBQW1CLElBQUM7SUFBMkIsK0JBQXFGO0lBQUEsaUJBQVM7OztJQUF4SCw4Q0FBeUI7SUFBNkMsZUFBNEI7SUFBNUIsMENBQTRCOzs7O0lBQ3RMLGtDQUF3RztJQUFyRCxpTEFBUyxzQkFBZSxJQUFDO0lBQTRCLCtCQUF1RjtJQUFBLGlCQUFTOzs7SUFBMUgsOENBQXlCO0lBQThDLGVBQTZCO0lBQTdCLDJDQUE2Qjs7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QWEsSUFBQztRQUFDLGlCQUFTO1FBQzVELGdDQUEyQjtRQUFBLHlCQUFRO1FBQUEsaUJBQU07UUFDM0MsaUJBQU07UUFDTixnQ0FBNkU7UUFDM0UsZ0NBQXFDO1FBQUEseUJBQVE7UUFBQSxpQkFBTTtRQUNuRCxnQ0FBNEI7UUFDMUIscUNBQW1FO1FBQXpDLGdIQUFTLGlCQUFhLElBQUM7UUFBa0Isc0JBQUs7UUFBQSxpQkFBVztRQUNyRixpQkFBTTtRQUVSLGlCQUFNO1FBQ04sb0ZBT007UUFDTixvRkFFTTtRQUNSLGlCQUFNO1FBQ1IsaUJBQU07O1FBNUMyRixlQUF3QztRQUF4Qyx1RUFBd0M7UUFHOUgsZUFBMkM7UUFBM0Msb0VBQTJDO1FBQzNDLGVBQXdDO1FBQXhDLGdFQUF3QztRQUVwQyxlQUE0QjtRQUE1QixpREFBNEI7UUFDSixlQUFpRTtRQUFqRSxzRkFBaUUsOERBQUE7UUFDbEUsZUFBeUI7UUFBekIsdUNBQXlCO1FBQ3hCLGVBQTBCO1FBQTFCLHdDQUEwQjtRQU01QyxlQUFrQjtRQUFsQix1Q0FBa0I7UUFpQlEsZ0JBQW9DO1FBQXBDLHdGQUFvQztRQVFyRCxlQUE4RTtRQUE5RSx5S0FBOEU7O3VGRC9CL0YsZ0NBQWdDO2NBTjVDLFNBQVM7MkJBQ0UsZ0NBQWdDLGlCQUczQixpQkFBaUIsQ0FBQyxJQUFJOztzQkFvQ2xDLE1BQU07dUJBQUMsZUFBZTt3QkFMZixrQkFBa0I7a0JBQTNCLE1BQU07WUF3RFAsS0FBSztrQkFESixZQUFZO21CQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQXhvVXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9heG8tdXRpbHMvYXhvLXV0aWxzJztcbmltcG9ydCB7IEFubm90YXRpb25WYWx1ZSB9IGZyb20gJy4uL2ltYWdlLWFubm90YXRpb24tZGF0YS1kdG8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2Utd2lkZ2V0LWxpZ2h0Ym94LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbWFnZS13aWRnZXQtbGlnaHRib3gtdmlldy5jb21wb25lbnQuc2NzcycsICcuLi8uLi8uLi8uLi8uLi8uLi9zdHlsZXMvc3R5bGVzLnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZVdpZGdldExpZ2h0Ym94Vmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGFubm90YXRpb25WYWx1ZURhdGE6IEFycmF5PEFubm90YXRpb25WYWx1ZT47XG4gIGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQ7XG4gIHNlbGVjdGVkSW1hZ2VJZDogbnVtYmVyO1xuICBkaXNhYmxlTmV4dEJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBkaXNhYmxlUHJldmlvdXNCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNBbm5vdGF0aW9uU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYW5ub3RhdGlvbjogQW5ub3RhdGlvblZhbHVlO1xuICBjdHg7XG4gIHNlbGVjdGVkQW5ub3RhdGlvbkluZGV4OiBudW1iZXI7XG4gIGN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyOiBudW1iZXI7XG4gIHNob3dJbWFnZTogYm9vbGVhbiA9IHRydWU7XG4gIGFubm90YXRpb25zSW1hZ2VPcmlnaW5hbDogYW55O1xuICBzY2FsZTogbnVtYmVyID0gMC4yO1xuICBzY2FsZU11bHRpcGxpZXI6IG51bWJlciA9IDAuODtcbiAgc3RhcnREcmFnT2Zmc2V0ID0geyB4OiAwLCB5OiAwIH07XG4gIG1vdXNlRG93biA9IGZhbHNlO1xuICB0cmFuc2xhdGVQb3M6IGFueSA9IHtcbiAgICB4OiAwLFxuICAgIHk6IDBcbiAgfTtcbiAgbW91c2VQb3NpdGlvbjogYW55O1xuICBkaWFsb2c6IE1hdERpYWxvZztcbiAgaXNDYW52YXNFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICByYXRpbzogbnVtYmVyO1xuICBjZW50ZXJTaGlmdF94OiBudW1iZXI7XG4gIGNlbnRlclNoaWZ0X3k6IG51bWJlcjtcbiAgaXNJbWFnZVdpdGhBbm5vdGF0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xuICBwcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgOiBudW1iZXI7XG4gIEBPdXRwdXQoKSBleHBhbmRDYW52YXNEaWFsb2cgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBpbWFnZUxvYWRlZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8SW1hZ2VXaWRnZXRMaWdodGJveFZpZXdDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgYW5ub3RhdGlvbkRhdGE6IGFueVxuICApIHsgfVxuXG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hbm5vdGF0aW9uVmFsdWVEYXRhID0gdGhpcy5hbm5vdGF0aW9uRGF0YS52aWV3cmVzLmZpZWxkLnZhbHVlO1xuICAgIHRoaXMuc2VsZWN0ZWRJbWFnZUlkID0gdGhpcy5hbm5vdGF0aW9uRGF0YS5zZWxlY3RlZEltYWdlSWQ7XG4gICAgdGhpcy5hbm5vdGF0aW9uID0gdGhpcy5hbm5vdGF0aW9uVmFsdWVEYXRhLmZpbmQoKGFubm90YXRpb24sIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gaW5kZXggPT09IHRoaXMuc2VsZWN0ZWRJbWFnZUlkO1xuICAgIH0pO1xuICAgIHRoaXMuZGlzYWJsZVByZXZpb3VzQnV0dG9uID0gdGhpcy5zZWxlY3RlZEltYWdlSWQgPT09IDAgPyB0cnVlIDogZmFsc2U7XG4gICAgdGhpcy5kaXNhYmxlTmV4dEJ1dHRvbiA9IHRoaXMuc2VsZWN0ZWRJbWFnZUlkID09PSAodGhpcy5hbm5vdGF0aW9uVmFsdWVEYXRhLmxlbmd0aCAtIDEgKT8gdHJ1ZSA6IGZhbHNlO1xuICAgIHRoaXMuY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJhbm5vdGF0aW9uc0NhbnZhc1wiKSBhcyBIVE1MQ2FudmFzRWxlbWVudDtcbiAgICB0aGlzLmNhbnZhcy5zdHlsZS53aWR0aCA9ICcxMDAlJztcbiAgICB0aGlzLmNhbnZhcy5zdHlsZS5oZWlnaHQgPSAnMTAwJSc7XG4gICAgdGhpcy5jYW52YXMud2lkdGggPSB0aGlzLmNhbnZhcy5vZmZzZXRXaWR0aDtcbiAgICB0aGlzLmNhbnZhcy5oZWlnaHQgPSB0aGlzLmNhbnZhcy5vZmZzZXRIZWlnaHQ7XG4gICAgdGhpcy5jdHggPSB0aGlzLmNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgIHRoaXMuc2V0SW1hZ2VGb3JBbm5vdGF0aW9uKHRydWUpO1xuXG5cbiAgICAvLyBhZGQgZXZlbnQgbGlzdGVuZXJzIHRvIGhhbmRsZSBzY3JlZW4gZHJhZ1xuICAgIHRoaXMuY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgKGV2dCkgPT4ge1xuICAgICAgdGhpcy5tb3VzZURvd24gPSB0cnVlO1xuICAgICAgdGhpcy5zdGFydERyYWdPZmZzZXQueCA9IGV2dC5jbGllbnRYIC0gdGhpcy50cmFuc2xhdGVQb3MueDtcbiAgICAgIHRoaXMuc3RhcnREcmFnT2Zmc2V0LnkgPSBldnQuY2xpZW50WSAtIHRoaXMudHJhbnNsYXRlUG9zLnk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNhbnZhcy5hZGRFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLCAoZXZ0KSA9PiB7XG4gICAgICB0aGlzLm1vdXNlRG93biA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jYW52YXMuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlb3ZlclwiLCAoZXZ0KSA9PiB7XG4gICAgICB0aGlzLm1vdXNlRG93biA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jYW52YXMuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlb3V0XCIsIChldnQpID0+IHtcbiAgICAgIHRoaXMubW91c2VEb3duID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNhbnZhcy5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIsIChldnQpID0+IHtcbiAgICAgIGlmICh0aGlzLm1vdXNlRG93bikge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVBvcy54ID0gZXZ0LmNsaWVudFggLSB0aGlzLnN0YXJ0RHJhZ09mZnNldC54O1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVBvcy55ID0gZXZ0LmNsaWVudFkgLSB0aGlzLnN0YXJ0RHJhZ09mZnNldC55O1xuICAgICAgICB0aGlzLnJlbmRlckltYWdlT25DYW52YXModGhpcy5hbm5vdGF0aW9uLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZXdoZWVsJywgWyckZXZlbnQnXSlcbiAgY2xpY2soZXZlbnQpOiB2b2lkIHtcbiAgICB2YXIgZGVsdGEgPSBldmVudC53aGVlbERlbHRhID8gZXZlbnQud2hlZWxEZWx0YSAvIDQwIDogZXZlbnQuZGV0YWlsID8gLWV2ZW50LmRldGFpbCA6IDA7XG4gICAgaWYgKGRlbHRhKSB0aGlzLnpvb21JbWFnZShkZWx0YSk7XG4gIH1cblxuICB6b29tSW1hZ2UoZGVsdGEpIHtcbiAgICBpZiAoZGVsdGEgPT0gMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZGVsdGEgPiAwKSB7XG4gICAgICB0aGlzLnNjYWxlIC89IHRoaXMuc2NhbGVNdWx0aXBsaWVyO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNjYWxlICo9IHRoaXMuc2NhbGVNdWx0aXBsaWVyO1xuICAgIH1cbiAgICB0aGlzLnJlbmRlckltYWdlT25DYW52YXModGhpcy5hbm5vdGF0aW9uLCBmYWxzZSk7XG4gIH1cblxuICBzZXRJbWFnZUZvckFubm90YXRpb24oaXNGaXJzdFRpbWVSZW5kZXIpIHtcbiAgICB0aGlzLmFubm90YXRpb24gPSB0aGlzLmFubm90YXRpb25WYWx1ZURhdGEuZmluZCgoYW5ub3RhdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgIHJldHVybiBpbmRleCA9PT0gdGhpcy5zZWxlY3RlZEltYWdlSWQ7XG4gICAgfSk7XG4gICAgdGhpcy5pc0ltYWdlV2l0aEFubm90YXRpb25zID0gdGhpcy5hbm5vdGF0aW9uPy5hbm5vdGF0aW9ucz8ubGVuZ3RoID8gdHJ1ZSA6IGZhbHNlO1xuICAgIGlmICh0aGlzLmFubm90YXRpb24gIT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmFubm90YXRpb24uaW1hZ2UgPSBBeG9VdGlscy5yZW1vdmVTbGFzaEZyb21JbWFnZVVybCh0aGlzLmFubm90YXRpb24uaW1hZ2UpO1xuICAgICAgaWYgKCF0aGlzLmlzQW5ub3RhdGlvblNlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuZHJhd0ltYWdlKHRoaXMuYW5ub3RhdGlvbiwgaXNGaXJzdFRpbWVSZW5kZXIpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmFubm90YXRpb24/LmFubm90YXRpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgdmFyIHNlbGVjdGVkQW5ub3RhdGlvbiA9IHRoaXMuYW5ub3RhdGlvbi5hbm5vdGF0aW9ucy5maW5kKChhbm5vdGF0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICAgIHJldHVybiBpbmRleCA9PT0gdGhpcy5zZWxlY3RlZEFubm90YXRpb25JbmRleDtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPSB0aGlzLnNlbGVjdGVkQW5ub3RhdGlvbkluZGV4O1xuICAgICAgICB0aGlzLmRyYXdBbm5vdGF0aW9uKHNlbGVjdGVkQW5ub3RhdGlvbiwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgc2hvd1ByZXZpb3VzSW1hZ2UoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbWFnZUlkID49IDApIHtcbiAgICAgIHRoaXMuaXNBbm5vdGF0aW9uU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkSW1hZ2VJZCA+IDApIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEltYWdlSWQgPSB0aGlzLnNlbGVjdGVkSW1hZ2VJZCAtIDE7XG4gICAgICAgIHRoaXMuZGlzYWJsZVByZXZpb3VzQnV0dG9uID0gdGhpcy5zZWxlY3RlZEltYWdlSWQgPT09IDAgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIHRoaXMuZGlzYWJsZU5leHRCdXR0b24gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZXRJbWFnZUZvckFubm90YXRpb24odHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRpc2FibGVQcmV2aW91c0J1dHRvbiA9IHRoaXMuc2VsZWN0ZWRJbWFnZUlkID09PSAwID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2hvd05leHRJbWFnZSgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEltYWdlSWQgPCB0aGlzLmFubm90YXRpb25WYWx1ZURhdGEubGVuZ3RoKSB7XG4gICAgICB0aGlzLmlzQW5ub3RhdGlvblNlbGVjdGVkID0gZmFsc2U7XG4gICAgICB0aGlzLnNlbGVjdGVkSW1hZ2VJZCA9IHRoaXMuc2VsZWN0ZWRJbWFnZUlkICsgMTtcbiAgICAgIHRoaXMuZGlzYWJsZU5leHRCdXR0b24gPSB0aGlzLnNlbGVjdGVkSW1hZ2VJZCA9PT0gKHRoaXMuYW5ub3RhdGlvblZhbHVlRGF0YS5sZW5ndGggLSAxKSA/IHRydWUgOiBmYWxzZTtcbiAgICAgIHRoaXMuZGlzYWJsZVByZXZpb3VzQnV0dG9uID0gZmFsc2U7XG4gICAgICB0aGlzLnNldEltYWdlRm9yQW5ub3RhdGlvbih0cnVlKTtcbiAgICB9XG4gIH1cblxuICBkcmF3SW1hZ2UoYW5ub3RhdGlvbjogQW5ub3RhdGlvblZhbHVlLCBpc0ZpcnN0VGltZVJlbmRlcikge1xuICAgIGlmIChhbm5vdGF0aW9uKSB7XG4gICAgICB0aGlzLmltYWdlTG9hZGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbCA9IG5ldyBJbWFnZSgpO1xuICAgICAgdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwuc3JjID0gdGhpcy5hbm5vdGF0aW9uRGF0YS5iYXNlVXJsICsgYW5ub3RhdGlvbi5pbWFnZTtcbiAgICAgIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5pbWFnZUxvYWRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuc2NhbGUgPSBNYXRoLm1pbih0aGlzLmNhbnZhcy53aWR0aCAvIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLndpZHRoLCB0aGlzLmNhbnZhcy5oZWlnaHQgLyB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC5oZWlnaHQpO1xuICAgICAgICB0aGlzLnJlbmRlckltYWdlT25DYW52YXMoYW5ub3RhdGlvbiwgaXNGaXJzdFRpbWVSZW5kZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlckltYWdlT25DYW52YXMoYW5ub3RhdGlvbiwgaXNGaXJzdFRpbWVSZW5kZXIpIHtcbiAgICBpZiAoaXNGaXJzdFRpbWVSZW5kZXIpIHtcbiAgICAgIHRoaXMuY3R4LnJlc3RvcmUoKTtcbiAgICAgIHRoaXMuY3R4LmNsZWFyUmVjdCgwLCAwLCB0aGlzLmNhbnZhcy53aWR0aCwgdGhpcy5jYW52YXMuaGVpZ2h0KTtcbiAgICAgIHRoaXMuY3R4LnNhdmUoKTtcbiAgICAgIHZhciBjdHhDYW52YXMgPSB0aGlzLmN0eC5jYW52YXM7XG4gICAgICB2YXIgaFJhdGlvID0gY3R4Q2FudmFzLndpZHRoIC8gdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwubmF0dXJhbFdpZHRoO1xuICAgICAgdmFyIHZSYXRpbyA9IGN0eENhbnZhcy5oZWlnaHQgLyB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC5uYXR1cmFsSGVpZ2h0O1xuICAgICAgdmFyIHJhdGlvID0gTWF0aC5taW4oaFJhdGlvLCB2UmF0aW8pO1xuICAgICAgdmFyIGNlbnRlclNoaWZ0X3ggPSAoY3R4Q2FudmFzLndpZHRoIC0gdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwubmF0dXJhbFdpZHRoICogcmF0aW8pIC8gMjtcbiAgICAgIHZhciBjZW50ZXJTaGlmdF95ID0gKGN0eENhbnZhcy5oZWlnaHQgLSB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC5uYXR1cmFsSGVpZ2h0ICogcmF0aW8pIC8gMjtcbiAgICAgIHRoaXMuY3R4LmRyYXdJbWFnZSh0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbCwgMCwgMCwgdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwubmF0dXJhbFdpZHRoLCB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC5uYXR1cmFsSGVpZ2h0LCBjZW50ZXJTaGlmdF94LCBjZW50ZXJTaGlmdF95LCB0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbC5uYXR1cmFsV2lkdGggKiByYXRpbywgdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwubmF0dXJhbEhlaWdodCAqIHJhdGlvKTtcbiAgICAgIHRoaXMudHJhbnNsYXRlUG9zID0geyB4OiBjZW50ZXJTaGlmdF94LCB5OiBjZW50ZXJTaGlmdF95IH07XG4gICAgICB0aGlzLmN0eC50cmFuc2xhdGUodGhpcy50cmFuc2xhdGVQb3MueCwgdGhpcy50cmFuc2xhdGVQb3MueSk7XG4gICAgICB0aGlzLmN0eC5zY2FsZSh0aGlzLnNjYWxlLCB0aGlzLnNjYWxlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy9sZXQgcmVjdCA9IHRoaXMuY2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgLy9pZihyZWN0LmxlZnQgPj0gdGhpcy50cmFuc2xhdGVQb3MueCAmJiByZWN0LnRvcCA+PSB0aGlzLnRyYW5zbGF0ZVBvcy55KSB7XG4gICAgICAgIHRoaXMuY3R4LnJlc3RvcmUoKTtcbiAgICAgICAgdGhpcy5jdHguY2xlYXJSZWN0KDAsIDAsIHRoaXMuY2FudmFzLndpZHRoLCB0aGlzLmNhbnZhcy5oZWlnaHQpO1xuICAgICAgICB0aGlzLmN0eC5zYXZlKCk7XG4gICAgICAgIHRoaXMuY3R4LnRyYW5zbGF0ZSh0aGlzLnRyYW5zbGF0ZVBvcy54LCB0aGlzLnRyYW5zbGF0ZVBvcy55KTtcbiAgICAgICAgdGhpcy5jdHguc2NhbGUodGhpcy5zY2FsZSwgdGhpcy5zY2FsZSk7XG4gICAgICAgIHRoaXMuY3R4LmRyYXdJbWFnZSh0aGlzLmFubm90YXRpb25zSW1hZ2VPcmlnaW5hbCwgMCwgMCwgdGhpcy5hbm5vdGF0aW9uc0ltYWdlT3JpZ2luYWwud2lkdGgsIHRoaXMuYW5ub3RhdGlvbnNJbWFnZU9yaWdpbmFsLmhlaWdodCk7XG4gICAgICAvL31cblxuICAgICAgXG4gICAgfVxuICAgIGlmICh0aGlzLnNob3dJbWFnZSAmJiBhbm5vdGF0aW9uPy5hbm5vdGF0aW9ucy5sZW5ndGgpIHtcbiAgICAgIGFubm90YXRpb24uYW5ub3RhdGlvbnMuZm9yRWFjaCgoYW5ub3RhdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50QW5ub3RhdGlvbk51bWJlciA9IGluZGV4O1xuICAgICAgICB0aGlzLmRyYXdBbm5vdGF0aW9uKGFubm90YXRpb24sIGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH1cblxuXG4gIH1cblxuICBjbG9zZURpYWxvZygpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XG4gIH1cblxuICBkcmF3QW5ub3RhdGlvbihhbm5vdGF0aW9uRGF0YSwgaXNIaWdobGlnaHRlZCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3dJbWFnZSAmJiBhbm5vdGF0aW9uRGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTtcbiAgICAgIHZhciBjZW50ZXJYO1xuICAgICAgdmFyIGNlbnRlclk7XG4gICAgICBhbm5vdGF0aW9uRGF0YS5wYXRoLmZvckVhY2goKHBhdGhWYWx1ZSkgPT4ge1xuICAgICAgICBpZiAocGF0aFZhbHVlLnR5cGUgPT0gXCJtXCIpIHtcbiAgICAgICAgICB2YXIgc3RhcnRpbmdfcG9pbnQgPSBbXTtcbiAgICAgICAgICBzdGFydGluZ19wb2ludCA9IHBhdGhWYWx1ZS5wb2ludHMuc3BsaXQoJywnKTtcbiAgICAgICAgICB0aGlzLmN0eC5tb3ZlVG8oc3RhcnRpbmdfcG9pbnRbMF0sIHN0YXJ0aW5nX3BvaW50WzFdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAocGF0aFZhbHVlLnR5cGUgPT0gXCJxXCIpIHtcbiAgICAgICAgICAgIHZhciBwb2ludHMgPSBbXTtcbiAgICAgICAgICAgIHBvaW50cyA9IHBhdGhWYWx1ZS5wb2ludHMuc3BsaXQoJywnKTtcbiAgICAgICAgICAgIGlmICghY2VudGVyWCAmJiAhY2VudGVyWSkge1xuICAgICAgICAgICAgICBjZW50ZXJYID0gcG9pbnRzWzBdO1xuICAgICAgICAgICAgICBjZW50ZXJZID0gcG9pbnRzWzFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jdHgucXVhZHJhdGljQ3VydmVUbyhwb2ludHNbMF0sIHBvaW50c1sxXSwgcG9pbnRzWzJdLCBwb2ludHNbM10pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBjZW50ZXJYID0gY2VudGVyWCArIDE1O1xuICAgICAgY2VudGVyWSA9IGNlbnRlclkgLSAxNTtcbiAgICAgIGlzSGlnaGxpZ2h0ZWQgPSB0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9PT0gdGhpcy5jdXJyZW50QW5ub3RhdGlvbk51bWJlciA/IGZhbHNlOiBpc0hpZ2hsaWdodGVkO1xuICAgICAgdmFyIHJhbmRvbUNvbG9yID0gaXNIaWdobGlnaHRlZCA/IFwiYmx1ZVwiIDogYW5ub3RhdGlvbkRhdGEuY29sb3IgIT0gbnVsbCA/IGFubm90YXRpb25EYXRhLmNvbG9yIDogdGhpcy5nZXRSYW5kb21Db2xvcigpO1xuICAgICAgYW5ub3RhdGlvbkRhdGEuY29sb3IgPSByYW5kb21Db2xvciA9PT0gXCJibHVlXCIgPyBhbm5vdGF0aW9uRGF0YS5jb2xvciA6IHJhbmRvbUNvbG9yO1xuICAgICAgdGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPSBpc0hpZ2hsaWdodGVkP3RoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXI6dGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQ7XG4gICAgICB0aGlzLmN0eC5zdHJva2VTdHlsZSA9IHJhbmRvbUNvbG9yO1xuICAgICAgdGhpcy5jdHgubGluZVdpZHRoID0gNTtcbiAgICAgIHRoaXMuY3R4LnN0cm9rZSgpO1xuICAgICAgdGhpcy5jdHguY2xvc2VQYXRoKCk7XG4gICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTtcbiAgICAgIHRoaXMuY3R4LmFyYyhjZW50ZXJYLCBjZW50ZXJZLCA3LCAwLCAyICogTWF0aC5QSSk7XG4gICAgICB0aGlzLmN0eC5maWxsU3R5bGUgPSByYW5kb21Db2xvcjtcbiAgICAgIHRoaXMuY3R4LmZpbGwoKTtcbiAgICAgIHRoaXMuY3R4LmNsb3NlUGF0aCgpO1xuICAgICAgdGhpcy5jdHguYmVnaW5QYXRoKCk7XG4gICAgICB0aGlzLmN0eC50ZXh0QWxpZ24gPSBcImNlbnRlclwiO1xuICAgICAgdGhpcy5jdHgudGV4dEJhc2VsaW5lID0gXCJtaWRkbGVcIjtcbiAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9ICd3aGl0ZSc7XG4gICAgICB0aGlzLmN0eC5mb250U2l6ZSA9ICcxMnB4IEFyaWFsJztcbiAgICAgIHRoaXMuY3R4LmZpbGxUZXh0KHRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgKyAxLCBjZW50ZXJYLCBjZW50ZXJZKVxuICAgICAgdGhpcy5jdHguc3Ryb2tlKCk7XG4gICAgICB0aGlzLmN0eC5jbG9zZVBhdGgoKTtcbiAgICB9XG4gIH1cblxuICBzaG93SW1hZ2VXaXRob3V0QW5ub3RhdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93SW1hZ2UgPSAhdGhpcy5zaG93SW1hZ2U7XG4gICAgdGhpcy5kcmF3SW1hZ2UodGhpcy5hbm5vdGF0aW9uLCBmYWxzZSk7XG4gIH1cblxuICBzZWxlY3RBbm5vdGF0aW9uKHNlbGVjdGVkSW5kZXgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEltYWdlSWQgPj0gMCkge1xuICAgICAgdGhpcy5hbm5vdGF0aW9uID0gdGhpcy5hbm5vdGF0aW9uVmFsdWVEYXRhLmZpbmQoKGFubm90YXRpb24sIGluZGV4KSA9PiB7XG4gICAgICAgIHJldHVybiBpbmRleCA9PT0gdGhpcy5zZWxlY3RlZEltYWdlSWQ7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYW5ub3RhdGlvbi5hbm5vdGF0aW9ucy5mb3JFYWNoKChhbm5vdGF0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQW5ub3RhdGlvbkluZGV4ID0gc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgdGhpcy5jdXJyZW50QW5ub3RhdGlvbk51bWJlciA9IGluZGV4O1xuICAgICAgICB0aGlzLmlzQW5ub3RhdGlvblNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLnNlbGVjdGVkQW5ub3RhdGlvbkluZGV4ICYmIHRoaXMuYW5ub3RhdGlvbi5hbm5vdGF0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmlzQW5ub3RhdGlvblNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICB2YXIgaXNIaWdobGlnaHRlZCA9IHRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID09PXRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPyBmYWxzZTp0cnVlO1xuICAgICAgICAgIHRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID0gdGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPT09dGhpcy5jdXJyZW50QW5ub3RhdGlvbk51bWJlciA/IG51bGw6dGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQ7XG4gICAgICAgICAgXG4gICAgICAgICAgdGhpcy5kcmF3QW5ub3RhdGlvbihhbm5vdGF0aW9uLCBpc0hpZ2hsaWdodGVkKTtcbiAgICAgICAgfVxuICAgICAgIGVsc2UgaWYgKHRoaXMuYW5ub3RhdGlvbi5hbm5vdGF0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmRyYXdBbm5vdGF0aW9uKGFubm90YXRpb24sIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25DYW52YXNDbGljayhldmVudCkge1xuICAgIHRoaXMuaXNBbm5vdGF0aW9uU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICBsZXQgcmVjdCA9IHRoaXMuY2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHRoaXMubW91c2VQb3NpdGlvbiA9IHtcbiAgICAgIHg6IGV2ZW50LnBhZ2VYIC0gcmVjdC5sZWZ0LFxuICAgICAgeTogZXZlbnQucGFnZVkgLSByZWN0LnRvcFxuICAgIH1cbiAgICB0aGlzLmdldFNlbGVjdGVkQ29tbWVudCgpO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWRDb21tZW50KCkge1xuICAgIHRoaXMuYW5ub3RhdGlvbi5hbm5vdGF0aW9ucy5mb3JFYWNoKChhbm5vdGF0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgdmFyIGZyYW1lID0gYW5ub3RhdGlvbi5mcmFtZS5zcGxpdChcIixcIik7XG4gICAgICB2YXIgcGFyc2VkRnJhbWUgPSBbXTtcbiAgICAgIGZvciAodmFyIGkgaW4gZnJhbWUpIHtcbiAgICAgICAgcGFyc2VkRnJhbWVbaV0gPSBwYXJzZUZsb2F0KGZyYW1lW2ldKSAqIHRoaXMuc2NhbGU7XG4gICAgICB9XG4gICAgICBsZXQgc2VsZWN0ZWRQdCA9IHtcbiAgICAgICAgeDogdGhpcy5tb3VzZVBvc2l0aW9uLnggLSB0aGlzLnRyYW5zbGF0ZVBvcy54LFxuICAgICAgICB5OiB0aGlzLm1vdXNlUG9zaXRpb24ueSAtIHRoaXMudHJhbnNsYXRlUG9zLnlcbiAgICAgIH07XG4gICAgICB0aGlzLmN1cnJlbnRBbm5vdGF0aW9uTnVtYmVyID0gaW5kZXg7XG4gICAgICBpZiAoc2VsZWN0ZWRQdC54ID4gcGFyc2VkRnJhbWVbMF0gJiYgc2VsZWN0ZWRQdC54IDwgcGFyc2VkRnJhbWVbMl0gJiYgc2VsZWN0ZWRQdC55ID4gcGFyc2VkRnJhbWVbMV0gJiYgc2VsZWN0ZWRQdC55IDwgcGFyc2VkRnJhbWVbM10pIHtcbiAgICAgICAgdGhpcy5pc0Fubm90YXRpb25TZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBbm5vdGF0aW9uSW5kZXggPSBpbmRleDtcbiAgICAgICAgdmFyIGlzSGlnaGxpZ2h0ZWQgPSB0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9PT0gdGhpcy5jdXJyZW50QW5ub3RhdGlvbk51bWJlciA/IGZhbHNlOnRydWU7XG4gICAgICAgIHRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID0gdGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPT09dGhpcy5jdXJyZW50QW5ub3RhdGlvbk51bWJlciA/IG51bGw6dGhpcy5wcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQ7XG4gICAgICAgIHRoaXMuZHJhd0Fubm90YXRpb24oYW5ub3RhdGlvbiwgaXNIaWdobGlnaHRlZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9IHRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkID09PXRoaXMuY3VycmVudEFubm90YXRpb25OdW1iZXIgPyBudWxsOnRoaXMucHJldmlvdXNseVNlbGVjdGVkQW5ub3RhdGlvbklkO1xuICAgICAgICB0aGlzLmRyYXdBbm5vdGF0aW9uKGFubm90YXRpb24sIGZhbHNlKVxuICAgICAgfTtcbiAgICB9XG4gICAgKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAgKiBHZW5lcmF0ZSByYW5kb20gY29sb3IgZXhjZXB0IGJsdWUgYW5kIHdoaXRlXG4gICAgKi9cbiAgZ2V0UmFuZG9tQ29sb3IoKSB7XG4gICAgdmFyIGxldHRlcnMgPSAnMDEyMzQ1Njc4OUFCQ0RFRic7XG4gICAgdmFyIGNvbG9yID0gJyMnO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNjsgaSsrKSB7XG4gICAgICBjb2xvciArPSBsZXR0ZXJzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDE2KV07XG4gICAgfVxuICAgIGlmIChjb2xvciA9PT0gXCIjMDAwMEZGXCIgfHwgY29sb3IgPT09IFwiI0ZGRkZGRlwiKSB7XG4gICAgICB0aGlzLmdldFJhbmRvbUNvbG9yKCk7XG4gICAgfVxuICAgIHJldHVybiBjb2xvcjtcbiAgfVxuXG5cbiAgLyoqXG4gICAgICogICBab29tIGluIGltYWdlIGNhbnZhcyBvbiBjbGljayBldmVudFxuICAqL1xuICBpbWFnZVpvb21JbigpIHtcbiAgICB0aGlzLnNjYWxlIC89IHRoaXMuc2NhbGVNdWx0aXBsaWVyO1xuICAgIHRoaXMucmVuZGVySW1hZ2VPbkNhbnZhcyh0aGlzLmFubm90YXRpb24sIGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgICAqICAgWm9vbSBvdXQgaW1hZ2UgY2FudmFzIG9uIGNsaWNrIGV2ZW50XG4gICovXG4gIGltYWdlWm9vbU91dCgpIHtcbiAgICB0aGlzLnNjYWxlICo9IHRoaXMuc2NhbGVNdWx0aXBsaWVyO1xuICAgIHRoaXMucmVuZGVySW1hZ2VPbkNhbnZhcyh0aGlzLmFubm90YXRpb24sIGZhbHNlKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAgKiAgRXhwYW5kIGltYWdlIGNhbnZhcyBvbiBjbGlja1xuICovXG4gIGV4cGFuZENhbnZhcygpIHtcbiAgICB0aGlzLmlzQ2FudmFzRXhwYW5kZWQgPSAhdGhpcy5pc0NhbnZhc0V4cGFuZGVkO1xuICAgIGlmICh0aGlzLmlzQ2FudmFzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuZGlhbG9nUmVmLnVwZGF0ZVNpemUoJzEwMHZ3JywgJzEwMHZoJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGlhbG9nUmVmLnVwZGF0ZVNpemUoJzgwdncnLCAnODB2aCcpO1xuICAgIH1cbiAgfVxuXG5cbn1cbiIsIjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwibGlnaHQtYm94LWNvbnRhaW5lciBwb3B1cC1jb250YWluZXIgZmxleCBoLWZ1bGwgZmxleC1jb2wgc206ZmxleC1yb3cgcmVsYXRpdmVcIj5cbjxkaXYgY2xhc3M9XCJtYXQtbGVmdC1jb250YWluZXJcIj5cbiAgICA8Y2FudmFzIGlkPVwiYW5ub3RhdGlvbnNDYW52YXNcIiAoY2xpY2spPVwib25DYW52YXNDbGljaygkZXZlbnQpXCIgI2NhbnZhcyBjbGFzcz1cInJlbGF0aXZlIHotMTBcIiBbbmdDbGFzc109XCJ7J29wYWNpdHktNTAnOiAhaW1hZ2VMb2FkZWR9XCI+XG5cbiAgICA8L2NhbnZhcz5cbiAgPGJ1dHRvbiAqbmdJZj1cIiFkaXNhYmxlUHJldmlvdXNCdXR0b24gJiYgaW1hZ2VMb2FkZWRcIiAoY2xpY2spPVwic2hvd1ByZXZpb3VzSW1hZ2UoKVwiIFtkaXNhYmxlZF09XCIhaW1hZ2VMb2FkZWRcIj48bWF0LWljb24gY2xhc3M9XCJsaWdodGJveC1pbWFnZS1sZWZ0LWFycm93XCIgW3N2Z0ljb25dPVwiJ2F4b19sZWZ0X2Fycm93J1wiID48L21hdC1pY29uPjwvYnV0dG9uPlxuICA8YnV0dG9uICpuZ0lmPVwiIWRpc2FibGVOZXh0QnV0dG9uICAmJiBpbWFnZUxvYWRlZFwiIChjbGljayk9XCJzaG93TmV4dEltYWdlKClcIiAgW2Rpc2FibGVkXT1cIiFpbWFnZUxvYWRlZFwiPjxtYXQtaWNvbiBjbGFzcz1cImxpZ2h0Ym94LWltYWdlLXJpZ2h0LWFycm93XCIgW3N2Z0ljb25dPVwiJ2F4b19yaWdodF9hcnJvdydcIiA+PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgPGRpdiBjbGFzcz1cImxpZ2h0Ym94LWltYWdlLXpvb20taW4tb3V0XCI+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaXNJbWFnZVdpdGhBbm5vdGF0aW9uc1wiIChjbGljayk9XCJzaG93SW1hZ2VXaXRob3V0QW5ub3RhdGlvbnMoKVwiIFtzdmdJY29uXT1cInNob3dJbWFnZSA/J2F4b19hbm90YXRpb25fc2hvdyc6J2F4b19hbm90YXRpb25faGlkZSdcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIGV5ZS1pY29uIHotMjBcIj48L21hdC1pY29uPlxuICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiZXhwYW5kQ2FudmFzKClcIiBbc3ZnSWNvbl09XCJpc0NhbnZhc0V4cGFuZGVkID8nYXhvX2ltZ19jb21wcmVzcyc6J2F4b19mdWxsc2NyZWVuJ1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgei0yMFwiIFtuZ0NsYXNzXT1cInsnZXhwYW5kJzogaXNDYW52YXNFeHBhbmRlZH1cIj48L21hdC1pY29uPlxuICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiaW1hZ2Vab29tSW4oKVwiIFtzdmdJY29uXT1cIidheG9fem9vbV9pbidcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIHotMjBcIj48L21hdC1pY29uPlxuICAgIDxtYXQtaWNvbiAgKGNsaWNrKT1cImltYWdlWm9vbU91dCgpXCJbc3ZnSWNvbl09XCInYXhvX3pvb21fb3V0J1wiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgei0yMFwiPjwvbWF0LWljb24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiXG4gICAgICBzcGlubmVyLWJvcmRlclxuICAgICAgYW5pbWF0ZS1zcGluXG4gICAgICBsb2FkZXJzXG4gICAgXCIgcm9sZT1cInN0YXR1c1wiICpuZ0lmPVwiIWltYWdlTG9hZGVkXCIgW25nQ2xhc3NdPVwieyd6LTUwJzogIWltYWdlTG9hZGVkfVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5Mb2FkaW5nLi4uPC9zcGFuPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1hdC1yaWdodC1jb250YWluZXIgc206cmVsYXRpdmUgYmctd2hpdGUgY3VzdG9tc2Nyb2xsIHBsLTVcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3RpY2t5IHRvcC0wIHB0LTQgYmctd2hpdGUgei0xMCBoaWRkZW4gc206YmxvY2tcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJjbG9zZS1pY29uXCIgKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIj48L2J1dHRvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJweS00IGNvbW1lbnRzXCI+Q29tbWVudHM8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYmxvY2sgc206aGlkZGVuIGZsZXgganVzdGlmeS1iZXR3ZWVuIHN0aWNreSB0b3AtMCB6LTEwIGJnLXdoaXRlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicHktNCBiZy13aGl0ZSBjb21tbWVudHNcIj5Db21tZW50czwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImJsb2NrIHJlbGF0aXZlXCI+XG4gICAgICAgIDxtYXQtaWNvbiBpZD1cImNsb3NlLWljb25cIiAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiIGNsYXNzPVwiYWJzb2x1dGVcIj5jbG9zZTwvbWF0LWljb24+ICBcbiAgICAgIDwvZGl2PlxuICAgIFxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LWJveCBheG8tZm9udCB0ZXh0LXNtXCIgKm5nSWY9XCJhbm5vdGF0aW9uPy5hbm5vdGF0aW9ucy5sZW5ndGhcIj5cbiAgICAgIDxkaXYgIGNsYXNzPVwiY29tbWVudC1ib3gtY29udGFpbmVyIGZsZXggZ2FwLTQgcGItNFwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGFubm90YXRpb24/LmFubm90YXRpb25zOyBsZXQgaT0gaW5kZXhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlLWxpZ2h0Ym94LWluZGV4LXdyYXBwZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2UtbGlnaHRib3gtaW5kZXhcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiBpdGVtLmNvbG9yICwnYm9yZGVyJzogKGlzQW5ub3RhdGlvblNlbGVjdGVkICYmIGkgPT09IHNlbGVjdGVkQW5ub3RhdGlvbkluZGV4ICYmIHByZXZpb3VzbHlTZWxlY3RlZEFubm90YXRpb25JZCA9PT0gc2VsZWN0ZWRBbm5vdGF0aW9uSW5kZXgpID8nMXB4IHNvbGlkICMwMDAwRkYnOicnfVwiIChjbGljayk9XCJzZWxlY3RBbm5vdGF0aW9uKGkpXCI+e3tpKzF9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1jYXJkIGNsYXNzPVwidy1mdWxsIGN1c3RvbXNjcm9sbFwiICBbbmdTdHlsZV09XCJ7J2JvcmRlcic6IChpc0Fubm90YXRpb25TZWxlY3RlZCAmJiBpID09PSBzZWxlY3RlZEFubm90YXRpb25JbmRleCAmJiBwcmV2aW91c2x5U2VsZWN0ZWRBbm5vdGF0aW9uSWQgPT09IHNlbGVjdGVkQW5ub3RhdGlvbkluZGV4KSA/JzFweCBzb2xpZCAjMDAwMEZGJzonJ31cIiAoY2xpY2spPVwic2VsZWN0QW5ub3RhdGlvbihpKVwiPnt7aXRlbS5ub3Rlc319PC9tYXQtY2FyZD4gIFxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtYm94XCIgKm5nSWY9XCJhbm5vdGF0aW9uPy5hbm5vdGF0aW9ucy5sZW5ndGggPT09IDAgfHwgYW5ub3RhdGlvbj8uYW5ub3RhdGlvbnMgPT09IG51bGxcIj5ObyBjb21tZW50cyBhdmFpbGFibGVcbiAgICAgIFxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -71,11 +71,13 @@ export class WidgetsService {
|
|
|
71
71
|
let previousCount = this.previousIdentifiersMap[response];
|
|
72
72
|
const currResponse = response;
|
|
73
73
|
if (previousCount !== undefined) {
|
|
74
|
-
const
|
|
75
|
-
|
|
74
|
+
const result = this.extractParts(response);
|
|
75
|
+
const count = result.number;
|
|
76
|
+
response = result.base;
|
|
76
77
|
const n = previousCount + count;
|
|
77
78
|
previousCount++;
|
|
78
|
-
|
|
79
|
+
if (!Number.isNaN(count) && count > 0)
|
|
80
|
+
response = `${response}_${n}`;
|
|
79
81
|
}
|
|
80
82
|
else {
|
|
81
83
|
previousCount = 0;
|
|
@@ -97,6 +99,16 @@ export class WidgetsService {
|
|
|
97
99
|
throw error;
|
|
98
100
|
});
|
|
99
101
|
}
|
|
102
|
+
extractParts(input) {
|
|
103
|
+
const match = input.match(/^(.*)_(\d+)$/);
|
|
104
|
+
if (match) {
|
|
105
|
+
return {
|
|
106
|
+
base: match[1],
|
|
107
|
+
number: parseInt(match[2], 10)
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
return { base: input, number: null };
|
|
111
|
+
}
|
|
100
112
|
// Function to check if the identifier is valid
|
|
101
113
|
isValidIdentifier(identifier) {
|
|
102
114
|
// Add your validation logic here, for example:
|
|
@@ -153,4 +165,4 @@ WidgetsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WidgetsSe
|
|
|
153
165
|
providedIn: 'root'
|
|
154
166
|
}]
|
|
155
167
|
}], function () { return [{ type: i1.HttpClient }, { type: i2.CommonLibConfigurationService }, { type: i3.ClipboardService }, { type: i4.FormBuilderMasterService }]; }, null); })();
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2F4LWNvbW1vbi11aS1saWIvc3JjL2xpYi9zY3VscHRvci1saWIvd2lkZ2V0cy93aWRnZXRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOzs7Ozs7QUFNMUcsTUFBTSxPQUFPLGNBQWM7SUFZekI7O09BRUc7SUFDSCxZQUNVLFdBQXVCLEVBQ3ZCLGVBQThDLEVBQzlDLGdCQUFrQyxFQUNsQyx5QkFBbUQ7UUFIbkQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsb0JBQWUsR0FBZixlQUFlLENBQStCO1FBQzlDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQWpCNUMsNEJBQXVCLEdBQUcsa0JBQWtCLENBQUM7UUFDOUQscUJBQWdCLEdBQWtCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2Ryx3Q0FBd0M7UUFDeEMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNoRCxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM3QyxzQkFBaUIsR0FBRyxJQUFJ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QUFDO0lBQ3BDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFMUQsSUFBRyxhQUFhLEVBQUM7WUFDZixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzVDO2FBQU07WUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUE7U0FDbEM7SUFFSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPLENBQUMsMEJBQTBCO1FBQ3hELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsdUJBQXVCO1FBRWhELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUU1RCxJQUFJLGFBQWEsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzlDO2FBQU07WUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7U0FDMUM7UUFFRCxnRUFBZ0U7UUFDaEUsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLGtDQUFrQztJQUM3QyxDQUFDOzs0RUEzSlUsY0FBYztvRUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFGYixNQUFNO3VGQUVQLGNBQWM7Y0FIMUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTGliQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24tbGliLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBXaWRnZXQgfSBmcm9tICcuLi8uLi9mb3Jtcy9wYWdlL3dpZGdldHMvd2lkZ2V0JztcbmltcG9ydCB7IENsaXBib2FyZFNlcnZpY2UgfSBmcm9tICcuL2NsaXBib2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyTWFzdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NjdWxwdG9yL2Zvcm0tYnVpbGRlci1tYXN0ZXIvZm9ybS1idWlsZGVyLW1hc3Rlci5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRzU2VydmljZSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBJREVOVElGSUVSU19TVE9SQUdFX0tFWSA9ICdpZGVudGlmaWVyc0FycmF5JztcbiAgaWRlbnRpZmllcnNBcnJheTogQXJyYXk8c3RyaW5nPiA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5JREVOVElGSUVSU19TVE9SQUdFX0tFWSkpIHx8IFtdO1xuICAvLyBpZGVudGlmaWVyc0FycmF5OiBBcnJheTxzdHJpbmc+ID0gW107XG4gIF93aWRnZXREZWxldGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8V2lkZ2V0PigpO1xuICBfd2lkZ2V0Q29weUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxXaWRnZXQ+KCk7XG4gIF93aWRnZXRDdXRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8V2lkZ2V0PigpO1xuICBfd2lkZ2V0UGFzdGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8V2lkZ2V0PigpO1xuICBfd2lkZ2V0UGFzdGVBSUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxXaWRnZXQ+KCk7XG4gIHByaXZhdGUgaXNQYXN0aW5nQUk6IGJvb2xlYW4gPSBmYWxzZTsgLy8gQWRkIGEgZmxhZyB0byB0cmFjayBwYXN0aW5nIHN0YXRlXG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29tbW9uTGliQ29uZmlnOiBDb21tb25MaWJDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNsaXBib2FyZFNlcnZpY2U6IENsaXBib2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZm9ybUJ1aWxkZXJNYXN0ZXJTZXJ2aWNlOiBGb3JtQnVpbGRlck1hc3RlclNlcnZpY2VcbiAgKSB7IH1cblxuICAgIC8vIGxvY2Fsc3Ryb3JhZ2UgZm9yIGlkZW50aWZpZXJzQXJyYXlcbiAgICBwcml2YXRlIHVwZGF0ZUlkZW50aWZpZXJzU3RvcmFnZSgpOiB2b2lkIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuSURFTlRJRklFUlNfU1RPUkFHRV9LRVksIEpTT04uc3RyaW5naWZ5KHRoaXMuaWRlbnRpZmllcnNBcnJheSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgKiBVcGRhdGUgaWRlbnRpZmllcnNBcnJheSBhZnRlciBkZWxldGluZyBhIHdpZGdldFxuICAgKiBAcGFyYW0gZGVsZXRlZElkZW50aWZpZXIgVGhlIGlkZW50aWZpZXIgb2YgdGhlIGRlbGV0ZWQgd2lkZ2V0XG4gICAqL1xuICB1cGRhdGVJZGVudGlmaWVyc0FmdGVyRGVsZXRlKGRlbGV0ZWRJZGVudGlmaWVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyBGaW5kIHRoZSBpbmRleCBvZiB0aGUgZGVsZXRlZCBpZGVudGlmaWVyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmlkZW50aWZpZXJzQXJyYXkuaW5kZXhPZihkZWxldGVkSWRlbnRpZmllcik7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgLy8gUmVtb3ZlIHRoZSBpZGVudGlmaWVyIGZyb20gdGhlIGFycmF5XG4gICAgICB0aGlzLmlkZW50aWZpZXJzQXJyYXkuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIC8vIFVwZGF0ZSBsb2NhbFN0b3JhZ2VcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuSURFTlRJRklFUlNfU1RPUkFHRV9LRVksIEpTT04uc3RyaW5naWZ5KHRoaXMuaWRlbnRpZmllcnNBcnJheSkpO1xuICAgIH1cbiAgfVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBAIFB1YmxpYyBtZXRob2RzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gaWRlbnRpZmllclxuICAgKiBAcGFyYW0gZm9ybUlkXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwcml2YXRlIHByZXZpb3VzSWRlbnRpZmllcnNNYXA6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTsgLy8gU3RvcmVzIHRoZSBsYXN0IGluY3JlbWVudCBmb3IgZWFjaCBiYXNlIGlkZW50aWZpZXJcblxuICBnZXRVbmlxdWVJZGVudGlmaWVyKGlkZW50aWZpZXI6IHN0cmluZywgZm9ybUlkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHRoaXMuaWRlbnRpZmllcnNBcnJheT0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLklERU5USUZJRVJTX1NUT1JBR0VfS0VZKSk7XG4gICAgXG4gICAgaWYodGhpcy5pZGVudGlmaWVyc0FycmF5PT09bnVsbClcbiAgICB0aGlzLmlkZW50aWZpZXJzQXJyYXkgPSB0aGlzLl9mb3JtQnVpbGRlck1hc3RlclNlcnZpY2UuZ2V0SWRlbnRpZmVyQXJyYXkoKTtcblxuICAgIGNvbnN0IGZvcm1EYXRhID0ge1xuICAgICAgJ2N1cnJlbnRfaWQnOiBpZGVudGlmaWVyLFxuICAgICAgJ2Zvcm1faWQnOiBmb3JtSWQsXG4gICAgICAnb3RoZXJfaWRzJzogdGhpcy5pZGVudGlmaWVyc0FycmF5XG4gICAgfTtcbiAgXG4gICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnQucG9zdDxzdHJpbmc+KGAke3RoaXMuY29tbW9uTGliQ29uZmlnLmF4b25hdG9yWDFVcmx9Z2V0VW5pcXVlSWRlbnRpZmllci9gLCBmb3JtRGF0YSkudG9Qcm9taXNlKClcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5pc1ZhbGlkSWRlbnRpZmllcihyZXNwb25zZSkpIHtcbiAgICAgICAgICAvLyBVc2UgYSBsb2NhbCB2YXJpYWJsZSB0byBhdm9pZCByZXBlYXRlZCBvYmplY3QgYWNjZXNzXG4gICAgICAgICAgbGV0IHByZXZpb3VzQ291bnQgPSB0aGlzLnByZXZpb3VzSWRlbnRpZmllcnNNYXBbcmVzcG9uc2VdO1xuICAgICAgICAgIGNvbnN0IGN1cnJSZXNwb25zZT1yZXNwb25zZTtcbiAgICAgICAgICBpZiAocHJldmlvdXNDb3VudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCBjb3VudD1wYXJzZUludChyZXNwb25zZS5zcGxpdCgnXycpWzFdLDEwKTtcblxuICAgICAgICAgICAgcmVzcG9uc2U9cmVzcG9uc2Uuc3BsaXQoJ18nKVswXTtcbiAgICAgICAgICAgIGNvbnN0IG49cHJldmlvdXNDb3VudCtjb3VudDtcbiAgICAgICAgICAgIHByZXZpb3VzQ291bnQrKztcbiAgICAgICAgICAgIHJlc3BvbnNlID0gYCR7cmVzcG9uc2V9XyR7bn1gO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwcmV2aW91c0NvdW50ID0gMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnByZXZpb3VzSWRlbnRpZmllcnNNYXBbY3VyclJlc3BvbnNlXSA9IHByZXZpb3VzQ291bnQ7XG4gICAgICAgICAgdGhpcy5pZGVudGlmaWVyc0FycmF5LnB1c2gocmVzcG9uc2UpO1xuXG4gICAgICAgICAgLy8gQ29uc2lkZXIgYmF0Y2hpbmcgdXBkYXRlcyB0byBsb2NhbFN0b3JhZ2VcbiAgICAgICAgICB0aGlzLnVwZGF0ZUlkZW50aWZpZXJzU3RvcmFnZSgpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdVbmlxdWUgaWRlbnRpZmllcjonLCByZXNwb25zZSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgaWRlbnRpZmllciByZWNlaXZlZDonLCByZXNwb25zZSk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGlkZW50aWZpZXIgcmVjZWl2ZWQnKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIHVuaXF1ZSBpZGVudGlmaWVyOicsIGVycm9yKTtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgfVxuICBcbiAgXG4gIC8vIEZ1bmN0aW9uIHRvIGNoZWNrIGlmIHRoZSBpZGVudGlmaWVyIGlzIHZhbGlkXG4gIGlzVmFsaWRJZGVudGlmaWVyKGlkZW50aWZpZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIC8vIEFkZCB5b3VyIHZhbGlkYXRpb24gbG9naWMgaGVyZSwgZm9yIGV4YW1wbGU6XG4gICAgcmV0dXJuIC9eW2EtekEtWjAtOV9dKyQvLnRlc3QoaWRlbnRpZmllcik7XG4gIH1cbiAgICAvKipcbiAgICAgKnRvIGVtaXQgd2lkZ2V0IGNsaWNrIGV2ZW50IG9uIHdpZGdldCBEZWxldGUgY2xpY2tcbiAgICAgKlxuICAgICAqIEBwYXJhbSB3aWRnZXRcbiAgICAgKi9cbiAgIHdpZGdldERlbGV0ZUV2ZW50KHdpZGdldDogV2lkZ2V0KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVJZGVudGlmaWVyc0FmdGVyRGVsZXRlKHdpZGdldC5pZGVudGlmaWVyKTtcbiAgICB0aGlzLl93aWRnZXREZWxldGVFdmVudC5lbWl0KHdpZGdldCk7XG4gIH1cbiAgXG4gIHdpZGdldENvcHlFdmVudCh3aWRnZXQ6IFdpZGdldCk6IHZvaWQge1xuICAgIHRoaXMuY2xpcGJvYXJkU2VydmljZS5jb3B5V2lkZ2V0KHdpZGdldCk7XG4gICAgY29uc29sZS5sb2coJ1dpZGdldCBjb3BpZWQ6Jywgd2lkZ2V0KTtcbiAgfVxuXG4gIHdpZGdldEN1dEV2ZW50KHdpZGdldDogV2lkZ2V0KTogdm9pZCB7XG4gICAgdGhpcy5jbGlwYm9hcmRTZXJ2aWNlLmN1dFdpZGdldCh3aWRnZXQpO1xuICAgIHRoaXMuX3dpZGdldEN1dEV2ZW50LmVtaXQod2lkZ2V0KTtcbiAgfVxuXG4gIHdpZGdldFBhc3RlRXZlbnQoKSA6IHZvaWQge1xuICAgIGNvbnN0IHdpZGdldFRvUGFzdGUgPSB0aGlzLmNsaXBib2FyZFNlcnZpY2UucGFzdGVXaWRnZXQoKTtcblxuICAgIGlmKHdpZGdldFRvUGFzdGUpe1xuICAgICAgdGhpcy5fd2lkZ2V0UGFzdGVFdmVudC5lbWl0KHdpZGdldFRvUGFzdGUpO1xuICAgIH0gIGVsc2V7XG4gICAgICBjb25zb2xlLmxvZygnTm8gV2lkZ2V0IHRvIHBhc3RlJylcbiAgICB9XG4gICBcbiAgfVxuXG4gIHdpZGdldFBhc3RlQUlFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1Bhc3RpbmdBSSkgcmV0dXJuOyAvLyBQcmV2ZW50IG11bHRpcGxlIHBhc3Rlc1xuICAgIHRoaXMuaXNQYXN0aW5nQUkgPSB0cnVlOyAvLyBTZXQgdGhlIGZsYWcgdG8gdHJ1ZVxuXG4gICAgY29uc3Qgd2lkZ2V0VG9QYXN0ZSA9IHRoaXMuY2xpcGJvYXJkU2VydmljZS5wYXN0ZVdpZGdldEFJKCk7XG5cbiAgICBpZiAod2lkZ2V0VG9QYXN0ZSkge1xuICAgICAgdGhpcy5fd2lkZ2V0UGFzdGVBSUV2ZW50LmVtaXQod2lkZ2V0VG9QYXN0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKCdObyBBSSBXaWRnZXQgdG8gcGFzdGVlZWVlJyk7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgdGhlIGZsYWcgYWZ0ZXIgYSBzaG9ydCBkZWxheSB0byBhbGxvdyBmb3IgYW5vdGhlciBwYXN0ZVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pc1Bhc3RpbmdBSSA9IGZhbHNlO1xuICAgIH0sIDEwMCk7IC8vIEFkanVzdCB0aGUgdGltZW91dCBhcyBuZWNlc3NhcnlcbiAgfVxuICBcbn1cbiJdfQ==
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2F4LWNvbW1vbi11aS1saWIvc3JjL2xpYi9zY3VscHRvci1saWIvd2lkZ2V0cy93aWRnZXRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOzs7Ozs7QUFNMUcsTUFBTSxPQUFPLGNBQWM7SUFZekI7O09BRUc7SUFDSCxZQUNVLFdBQXVCLEVBQ3ZCLGVBQThDLEVBQzlDLGdCQUFrQyxFQUNsQyx5QkFBbUQ7UUFIbkQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsb0JBQWUsR0FBZixlQUFlLENBQStCO1FBQzlDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQWpCNUMsNEJBQXVCLEdBQUcsa0JBQWtCLENBQUM7UUFDOUQscUJBQWdCLEdBQWtCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2Ryx3Q0FBd0M7UUFDeEMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNoRCxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM3QyxzQkFBaUIsR0FBRyxJQUFJ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QUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLGtDQUFrQztJQUM3QyxDQUFDOzs0RUF0S1UsY0FBYztvRUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFGYixNQUFNO3VGQUVQLGNBQWM7Y0FIMUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTGliQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24tbGliLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBXaWRnZXQgfSBmcm9tICcuLi8uLi9mb3Jtcy9wYWdlL3dpZGdldHMvd2lkZ2V0JztcbmltcG9ydCB7IENsaXBib2FyZFNlcnZpY2UgfSBmcm9tICcuL2NsaXBib2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyTWFzdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NjdWxwdG9yL2Zvcm0tYnVpbGRlci1tYXN0ZXIvZm9ybS1idWlsZGVyLW1hc3Rlci5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRzU2VydmljZSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBJREVOVElGSUVSU19TVE9SQUdFX0tFWSA9ICdpZGVudGlmaWVyc0FycmF5JztcbiAgaWRlbnRpZmllcnNBcnJheTogQXJyYXk8c3RyaW5nPiA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5JREVOVElGSUVSU19TVE9SQUdFX0tFWSkpIHx8IFtdO1xuICAvLyBpZGVudGlmaWVyc0FycmF5OiBBcnJheTxzdHJpbmc+ID0gW107XG4gIF93aWRnZXREZWxldGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8V2lkZ2V0PigpO1xuICBfd2lkZ2V0Q29weUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxXaWRnZXQ+KCk7XG4gIF93aWRnZXRDdXRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8V2lkZ2V0PigpO1xuICBfd2lkZ2V0UGFzdGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8V2lkZ2V0PigpO1xuICBfd2lkZ2V0UGFzdGVBSUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxXaWRnZXQ+KCk7XG4gIHByaXZhdGUgaXNQYXN0aW5nQUk6IGJvb2xlYW4gPSBmYWxzZTsgLy8gQWRkIGEgZmxhZyB0byB0cmFjayBwYXN0aW5nIHN0YXRlXG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29tbW9uTGliQ29uZmlnOiBDb21tb25MaWJDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNsaXBib2FyZFNlcnZpY2U6IENsaXBib2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZm9ybUJ1aWxkZXJNYXN0ZXJTZXJ2aWNlOiBGb3JtQnVpbGRlck1hc3RlclNlcnZpY2VcbiAgKSB7IH1cblxuICAgIC8vIGxvY2Fsc3Ryb3JhZ2UgZm9yIGlkZW50aWZpZXJzQXJyYXlcbiAgICBwcml2YXRlIHVwZGF0ZUlkZW50aWZpZXJzU3RvcmFnZSgpOiB2b2lkIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuSURFTlRJRklFUlNfU1RPUkFHRV9LRVksIEpTT04uc3RyaW5naWZ5KHRoaXMuaWRlbnRpZmllcnNBcnJheSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgKiBVcGRhdGUgaWRlbnRpZmllcnNBcnJheSBhZnRlciBkZWxldGluZyBhIHdpZGdldFxuICAgKiBAcGFyYW0gZGVsZXRlZElkZW50aWZpZXIgVGhlIGlkZW50aWZpZXIgb2YgdGhlIGRlbGV0ZWQgd2lkZ2V0XG4gICAqL1xuICB1cGRhdGVJZGVudGlmaWVyc0FmdGVyRGVsZXRlKGRlbGV0ZWRJZGVudGlmaWVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyBGaW5kIHRoZSBpbmRleCBvZiB0aGUgZGVsZXRlZCBpZGVudGlmaWVyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmlkZW50aWZpZXJzQXJyYXkuaW5kZXhPZihkZWxldGVkSWRlbnRpZmllcik7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgLy8gUmVtb3ZlIHRoZSBpZGVudGlmaWVyIGZyb20gdGhlIGFycmF5XG4gICAgICB0aGlzLmlkZW50aWZpZXJzQXJyYXkuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIC8vIFVwZGF0ZSBsb2NhbFN0b3JhZ2VcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuSURFTlRJRklFUlNfU1RPUkFHRV9LRVksIEpTT04uc3RyaW5naWZ5KHRoaXMuaWRlbnRpZmllcnNBcnJheSkpO1xuICAgIH1cbiAgfVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBAIFB1YmxpYyBtZXRob2RzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gaWRlbnRpZmllclxuICAgKiBAcGFyYW0gZm9ybUlkXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwcml2YXRlIHByZXZpb3VzSWRlbnRpZmllcnNNYXA6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTsgLy8gU3RvcmVzIHRoZSBsYXN0IGluY3JlbWVudCBmb3IgZWFjaCBiYXNlIGlkZW50aWZpZXJcblxuICBnZXRVbmlxdWVJZGVudGlmaWVyKGlkZW50aWZpZXI6IHN0cmluZywgZm9ybUlkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHRoaXMuaWRlbnRpZmllcnNBcnJheT0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLklERU5USUZJRVJTX1NUT1JBR0VfS0VZKSk7XG4gICAgXG4gICAgaWYodGhpcy5pZGVudGlmaWVyc0FycmF5PT09bnVsbClcbiAgICB0aGlzLmlkZW50aWZpZXJzQXJyYXkgPSB0aGlzLl9mb3JtQnVpbGRlck1hc3RlclNlcnZpY2UuZ2V0SWRlbnRpZmVyQXJyYXkoKTtcblxuICAgIGNvbnN0IGZvcm1EYXRhID0ge1xuICAgICAgJ2N1cnJlbnRfaWQnOiBpZGVudGlmaWVyLFxuICAgICAgJ2Zvcm1faWQnOiBmb3JtSWQsXG4gICAgICAnb3RoZXJfaWRzJzogdGhpcy5pZGVudGlmaWVyc0FycmF5XG4gICAgfTtcbiAgXG4gICAgcmV0dXJuIHRoaXMuX2h0dHBDbGllbnQucG9zdDxzdHJpbmc+KGAke3RoaXMuY29tbW9uTGliQ29uZmlnLmF4b25hdG9yWDFVcmx9Z2V0VW5pcXVlSWRlbnRpZmllci9gLCBmb3JtRGF0YSkudG9Qcm9taXNlKClcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5pc1ZhbGlkSWRlbnRpZmllcihyZXNwb25zZSkpIHtcbiAgICAgICAgICAvLyBVc2UgYSBsb2NhbCB2YXJpYWJsZSB0byBhdm9pZCByZXBlYXRlZCBvYmplY3QgYWNjZXNzXG4gICAgICAgICAgbGV0IHByZXZpb3VzQ291bnQgPSB0aGlzLnByZXZpb3VzSWRlbnRpZmllcnNNYXBbcmVzcG9uc2VdO1xuICAgICAgICAgIGNvbnN0IGN1cnJSZXNwb25zZT1yZXNwb25zZTtcbiAgICAgICAgICBpZiAocHJldmlvdXNDb3VudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQ9dGhpcy5leHRyYWN0UGFydHMocmVzcG9uc2UpO1xuICAgICAgICAgICAgY29uc3QgY291bnQ9cmVzdWx0Lm51bWJlcjtcbiAgICAgICAgICAgIHJlc3BvbnNlPXJlc3VsdC5iYXNlO1xuICAgICAgICAgICAgY29uc3Qgbj1wcmV2aW91c0NvdW50K2NvdW50O1xuICAgICAgICAgICAgcHJldmlvdXNDb3VudCsrO1xuICAgICAgICAgICAgaWYoIU51bWJlci5pc05hTihjb3VudCkmJiBjb3VudD4wKVxuICAgICAgICAgICAgcmVzcG9uc2UgPSBgJHtyZXNwb25zZX1fJHtufWA7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHByZXZpb3VzQ291bnQgPSAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMucHJldmlvdXNJZGVudGlmaWVyc01hcFtjdXJyUmVzcG9uc2VdID0gcHJldmlvdXNDb3VudDtcbiAgICAgICAgICB0aGlzLmlkZW50aWZpZXJzQXJyYXkucHVzaChyZXNwb25zZSk7XG5cbiAgICAgICAgICAvLyBDb25zaWRlciBiYXRjaGluZyB1cGRhdGVzIHRvIGxvY2FsU3RvcmFnZVxuICAgICAgICAgIHRoaXMudXBkYXRlSWRlbnRpZmllcnNTdG9yYWdlKCk7XG4gICAgICAgICAgY29uc29sZS5sb2coJ1VuaXF1ZSBpZGVudGlmaWVyOicsIHJlc3BvbnNlKTtcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBpZGVudGlmaWVyIHJlY2VpdmVkOicsIHJlc3BvbnNlKTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaWRlbnRpZmllciByZWNlaXZlZCcpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgdW5pcXVlIGlkZW50aWZpZXI6JywgZXJyb3IpO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICB9XG4gIFxuICBleHRyYWN0UGFydHMoaW5wdXQ6IHN0cmluZyk6IHsgYmFzZTogc3RyaW5nOyBudW1iZXI6IG51bWJlciB8IG51bGwgfSB7XG4gICAgY29uc3QgbWF0Y2ggPSBpbnB1dC5tYXRjaCgvXiguKilfKFxcZCspJC8pOyBcbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJhc2U6IG1hdGNoWzFdLCBcbiAgICAgICAgbnVtYmVyOiBwYXJzZUludChtYXRjaFsyXSwgMTApIFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgYmFzZTogaW5wdXQsIG51bWJlcjogbnVsbCB9OyBcbiAgfVxuICBcbiAgLy8gRnVuY3Rpb24gdG8gY2hlY2sgaWYgdGhlIGlkZW50aWZpZXIgaXMgdmFsaWRcbiAgaXNWYWxpZElkZW50aWZpZXIoaWRlbnRpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgLy8gQWRkIHlvdXIgdmFsaWRhdGlvbiBsb2dpYyBoZXJlLCBmb3IgZXhhbXBsZTpcbiAgICByZXR1cm4gL15bYS16QS1aMC05X10rJC8udGVzdChpZGVudGlmaWVyKTtcbiAgfVxuICAgIC8qKlxuICAgICAqdG8gZW1pdCB3aWRnZXQgY2xpY2sgZXZlbnQgb24gd2lkZ2V0IERlbGV0ZSBjbGlja1xuICAgICAqXG4gICAgICogQHBhcmFtIHdpZGdldFxuICAgICAqL1xuICAgd2lkZ2V0RGVsZXRlRXZlbnQod2lkZ2V0OiBXaWRnZXQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUlkZW50aWZpZXJzQWZ0ZXJEZWxldGUod2lkZ2V0LmlkZW50aWZpZXIpO1xuICAgIHRoaXMuX3dpZGdldERlbGV0ZUV2ZW50LmVtaXQod2lkZ2V0KTtcbiAgfVxuICBcbiAgd2lkZ2V0Q29weUV2ZW50KHdpZGdldDogV2lkZ2V0KTogdm9pZCB7XG4gICAgdGhpcy5jbGlwYm9hcmRTZXJ2aWNlLmNvcHlXaWRnZXQod2lkZ2V0KTtcbiAgICBjb25zb2xlLmxvZygnV2lkZ2V0IGNvcGllZDonLCB3aWRnZXQpO1xuICB9XG5cbiAgd2lkZ2V0Q3V0RXZlbnQod2lkZ2V0OiBXaWRnZXQpOiB2b2lkIHtcbiAgICB0aGlzLmNsaXBib2FyZFNlcnZpY2UuY3V0V2lkZ2V0KHdpZGdldCk7XG4gICAgdGhpcy5fd2lkZ2V0Q3V0RXZlbnQuZW1pdCh3aWRnZXQpO1xuICB9XG5cbiAgd2lkZ2V0UGFzdGVFdmVudCgpIDogdm9pZCB7XG4gICAgY29uc3Qgd2lkZ2V0VG9QYXN0ZSA9IHRoaXMuY2xpcGJvYXJkU2VydmljZS5wYXN0ZVdpZGdldCgpO1xuXG4gICAgaWYod2lkZ2V0VG9QYXN0ZSl7XG4gICAgICB0aGlzLl93aWRnZXRQYXN0ZUV2ZW50LmVtaXQod2lkZ2V0VG9QYXN0ZSk7XG4gICAgfSAgZWxzZXtcbiAgICAgIGNvbnNvbGUubG9nKCdObyBXaWRnZXQgdG8gcGFzdGUnKVxuICAgIH1cbiAgIFxuICB9XG5cbiAgd2lkZ2V0UGFzdGVBSUV2ZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzUGFzdGluZ0FJKSByZXR1cm47IC8vIFByZXZlbnQgbXVsdGlwbGUgcGFzdGVzXG4gICAgdGhpcy5pc1Bhc3RpbmdBSSA9IHRydWU7IC8vIFNldCB0aGUgZmxhZyB0byB0cnVlXG5cbiAgICBjb25zdCB3aWRnZXRUb1Bhc3RlID0gdGhpcy5jbGlwYm9hcmRTZXJ2aWNlLnBhc3RlV2lkZ2V0QUkoKTtcblxuICAgIGlmICh3aWRnZXRUb1Bhc3RlKSB7XG4gICAgICB0aGlzLl93aWRnZXRQYXN0ZUFJRXZlbnQuZW1pdCh3aWRnZXRUb1Bhc3RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ05vIEFJIFdpZGdldCB0byBwYXN0ZWVlZWUnKTtcbiAgICB9XG5cbiAgICAvLyBSZXNldCB0aGUgZmxhZyBhZnRlciBhIHNob3J0IGRlbGF5IHRvIGFsbG93IGZvciBhbm90aGVyIHBhc3RlXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzUGFzdGluZ0FJID0gZmFsc2U7XG4gICAgfSwgMTAwKTsgLy8gQWRqdXN0IHRoZSB0aW1lb3V0IGFzIG5lY2Vzc2FyeVxuICB9XG4gIFxufVxuIl19
|
|
@@ -50597,11 +50597,13 @@ class WidgetsService {
|
|
|
50597
50597
|
let previousCount = this.previousIdentifiersMap[response];
|
|
50598
50598
|
const currResponse = response;
|
|
50599
50599
|
if (previousCount !== undefined) {
|
|
50600
|
-
const
|
|
50601
|
-
|
|
50600
|
+
const result = this.extractParts(response);
|
|
50601
|
+
const count = result.number;
|
|
50602
|
+
response = result.base;
|
|
50602
50603
|
const n = previousCount + count;
|
|
50603
50604
|
previousCount++;
|
|
50604
|
-
|
|
50605
|
+
if (!Number.isNaN(count) && count > 0)
|
|
50606
|
+
response = `${response}_${n}`;
|
|
50605
50607
|
}
|
|
50606
50608
|
else {
|
|
50607
50609
|
previousCount = 0;
|
|
@@ -50623,6 +50625,16 @@ class WidgetsService {
|
|
|
50623
50625
|
throw error;
|
|
50624
50626
|
});
|
|
50625
50627
|
}
|
|
50628
|
+
extractParts(input) {
|
|
50629
|
+
const match = input.match(/^(.*)_(\d+)$/);
|
|
50630
|
+
if (match) {
|
|
50631
|
+
return {
|
|
50632
|
+
base: match[1],
|
|
50633
|
+
number: parseInt(match[2], 10)
|
|
50634
|
+
};
|
|
50635
|
+
}
|
|
50636
|
+
return { base: input, number: null };
|
|
50637
|
+
}
|
|
50626
50638
|
// Function to check if the identifier is valid
|
|
50627
50639
|
isValidIdentifier(identifier) {
|
|
50628
50640
|
// Add your validation logic here, for example:
|
|
@@ -60568,7 +60580,7 @@ ImageWidgetLightboxViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
60568
60580
|
if (rf & 1) {
|
|
60569
60581
|
i0.ɵɵlistener("mousewheel", function ImageWidgetLightboxViewComponent_mousewheel_HostBindingHandler($event) { return ctx.click($event); }, false, i0.ɵɵresolveWindow);
|
|
60570
60582
|
}
|
|
60571
|
-
}, outputs: { expandCanvasDialog: "expandCanvasDialog" }, decls: 25, vars: 15, consts: [["mat-dialog-content", "", 1, "light-box-container", "flex", "h-full", "flex-col", "sm:flex-row", "relative"], [1, "mat-left-container"], ["id", "annotationsCanvas", 1, "relative", "z-10", 3, "ngClass", "click"], ["canvas", ""], [3, "disabled", "click", 4, "ngIf"], [1, "lightbox-image-zoom-in-out"], ["class", "cursor-pointer eye-icon z-20", 3, "svgIcon", "click", 4, "ngIf"], [1, "cursor-pointer", "z-20", 3, "svgIcon", "ngClass", "click"], [1, "cursor-pointer", "z-20", 3, "svgIcon", "click"], ["class", "\n spinner-border\n animate-spin\n loaders\n ", "role", "status", 3, "ngClass", 4, "ngIf"], [1, "mat-right-container", "sm:relative", "bg-white", "customscroll", "pl-5"], [1, "sticky", "top-0", "pt-4", "bg-white", "z-10", "hidden", "sm:block"], [
|
|
60583
|
+
}, outputs: { expandCanvasDialog: "expandCanvasDialog" }, decls: 25, vars: 15, consts: [["mat-dialog-content", "", 1, "light-box-container", "popup-container", "flex", "h-full", "flex-col", "sm:flex-row", "relative"], [1, "mat-left-container"], ["id", "annotationsCanvas", 1, "relative", "z-10", 3, "ngClass", "click"], ["canvas", ""], [3, "disabled", "click", 4, "ngIf"], [1, "lightbox-image-zoom-in-out"], ["class", "cursor-pointer eye-icon z-20", 3, "svgIcon", "click", 4, "ngIf"], [1, "cursor-pointer", "z-20", 3, "svgIcon", "ngClass", "click"], [1, "cursor-pointer", "z-20", 3, "svgIcon", "click"], ["class", "\n spinner-border\n animate-spin\n loaders\n ", "role", "status", 3, "ngClass", 4, "ngIf"], [1, "mat-right-container", "sm:relative", "bg-white", "customscroll", "pl-5"], [1, "sticky", "top-0", "pt-4", "bg-white", "z-10", "hidden", "sm:block"], [1, "close-icon", 3, "click"], [1, "py-4", "comments"], [1, "block", "sm:hidden", "flex", "justify-between", "sticky", "top-0", "z-10", "bg-white"], [1, "py-4", "bg-white", "commments"], [1, "block", "relative"], ["id", "close-icon", 1, "absolute", 3, "click"], ["class", "comment-box axo-font text-sm", 4, "ngIf"], ["class", "comment-box", 4, "ngIf"], [3, "disabled", "click"], [1, "lightbox-image-left-arrow", 3, "svgIcon"], [1, "lightbox-image-right-arrow", 3, "svgIcon"], [1, "cursor-pointer", "eye-icon", "z-20", 3, "svgIcon", "click"], ["role", "status", 1, "spinner-border", "animate-spin", "loaders", 3, "ngClass"], [1, "visually-hidden"], [1, "comment-box", "axo-font", "text-sm"], ["class", "comment-box-container flex gap-4 pb-4", 4, "ngFor", "ngForOf"], [1, "comment-box-container", "flex", "gap-4", "pb-4"], [1, "image-lightbox-index-wrapper"], [1, "image-lightbox-index", 3, "ngStyle", "click"], [1, "w-full", "customscroll", 3, "ngStyle", "click"], [1, "comment-box"]], template: function ImageWidgetLightboxViewComponent_Template(rf, ctx) {
|
|
60572
60584
|
if (rf & 1) {
|
|
60573
60585
|
i0.ɵɵelementStart(0, "div", 0);
|
|
60574
60586
|
i0.ɵɵelementStart(1, "div", 1);
|
|
@@ -60593,8 +60605,8 @@ ImageWidgetLightboxViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
60593
60605
|
i0.ɵɵelementEnd();
|
|
60594
60606
|
i0.ɵɵelementStart(12, "div", 10);
|
|
60595
60607
|
i0.ɵɵelementStart(13, "div", 11);
|
|
60596
|
-
i0.ɵɵelementStart(14, "
|
|
60597
|
-
i0.ɵɵlistener("click", function
|
|
60608
|
+
i0.ɵɵelementStart(14, "button", 12);
|
|
60609
|
+
i0.ɵɵlistener("click", function ImageWidgetLightboxViewComponent_Template_button_click_14_listener() { return ctx.closeDialog(); });
|
|
60598
60610
|
i0.ɵɵelementEnd();
|
|
60599
60611
|
i0.ɵɵelementStart(15, "div", 13);
|
|
60600
60612
|
i0.ɵɵtext(16, "Comments");
|
|
@@ -60642,7 +60654,7 @@ ImageWidgetLightboxViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
60642
60654
|
(function () {
|
|
60643
60655
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImageWidgetLightboxViewComponent, [{
|
|
60644
60656
|
type: Component,
|
|
60645
|
-
args: [{ selector: 'lib-image-widget-lightbox-view', encapsulation: ViewEncapsulation.None, template: "<div mat-dialog-content class=\"light-box-container flex h-full flex-col sm:flex-row relative\">\n<div class=\"mat-left-container\">\n <canvas id=\"annotationsCanvas\" (click)=\"onCanvasClick($event)\" #canvas class=\"relative z-10\" [ngClass]=\"{'opacity-50': !imageLoaded}\">\n\n </canvas>\n <button *ngIf=\"!disablePreviousButton && imageLoaded\" (click)=\"showPreviousImage()\" [disabled]=\"!imageLoaded\"><mat-icon class=\"lightbox-image-left-arrow\" [svgIcon]=\"'axo_left_arrow'\" ></mat-icon></button>\n <button *ngIf=\"!disableNextButton && imageLoaded\" (click)=\"showNextImage()\" [disabled]=\"!imageLoaded\"><mat-icon class=\"lightbox-image-right-arrow\" [svgIcon]=\"'axo_right_arrow'\" ></mat-icon></button>\n <div class=\"lightbox-image-zoom-in-out\">\n <mat-icon *ngIf=\"isImageWithAnnotations\" (click)=\"showImageWithoutAnnotations()\" [svgIcon]=\"showImage ?'axo_anotation_show':'axo_anotation_hide'\" class=\"cursor-pointer eye-icon z-20\"></mat-icon>\n <mat-icon (click)=\"expandCanvas()\" [svgIcon]=\"isCanvasExpanded ?'axo_img_compress':'axo_fullscreen'\" class=\"cursor-pointer z-20\" [ngClass]=\"{'expand': isCanvasExpanded}\"></mat-icon>\n <mat-icon (click)=\"imageZoomIn()\" [svgIcon]=\"'axo_zoom_in'\" class=\"cursor-pointer z-20\"></mat-icon>\n <mat-icon (click)=\"imageZoomOut()\"[svgIcon]=\"'axo_zoom_out'\" class=\"cursor-pointer z-20\"></mat-icon>\n </div>\n <div class=\"\n spinner-border\n animate-spin\n loaders\n \" role=\"status\" *ngIf=\"!imageLoaded\" [ngClass]=\"{'z-50': !imageLoaded}\">\n <span class=\"visually-hidden\">Loading...</span>\n </div>\n</div>\n\n <div class=\"mat-right-container sm:relative bg-white customscroll pl-5\">\n <div class=\"sticky top-0 pt-4 bg-white z-10 hidden sm:block\">\n <
|
|
60657
|
+
args: [{ selector: 'lib-image-widget-lightbox-view', encapsulation: ViewEncapsulation.None, template: "<div mat-dialog-content class=\"light-box-container popup-container flex h-full flex-col sm:flex-row relative\">\n<div class=\"mat-left-container\">\n <canvas id=\"annotationsCanvas\" (click)=\"onCanvasClick($event)\" #canvas class=\"relative z-10\" [ngClass]=\"{'opacity-50': !imageLoaded}\">\n\n </canvas>\n <button *ngIf=\"!disablePreviousButton && imageLoaded\" (click)=\"showPreviousImage()\" [disabled]=\"!imageLoaded\"><mat-icon class=\"lightbox-image-left-arrow\" [svgIcon]=\"'axo_left_arrow'\" ></mat-icon></button>\n <button *ngIf=\"!disableNextButton && imageLoaded\" (click)=\"showNextImage()\" [disabled]=\"!imageLoaded\"><mat-icon class=\"lightbox-image-right-arrow\" [svgIcon]=\"'axo_right_arrow'\" ></mat-icon></button>\n <div class=\"lightbox-image-zoom-in-out\">\n <mat-icon *ngIf=\"isImageWithAnnotations\" (click)=\"showImageWithoutAnnotations()\" [svgIcon]=\"showImage ?'axo_anotation_show':'axo_anotation_hide'\" class=\"cursor-pointer eye-icon z-20\"></mat-icon>\n <mat-icon (click)=\"expandCanvas()\" [svgIcon]=\"isCanvasExpanded ?'axo_img_compress':'axo_fullscreen'\" class=\"cursor-pointer z-20\" [ngClass]=\"{'expand': isCanvasExpanded}\"></mat-icon>\n <mat-icon (click)=\"imageZoomIn()\" [svgIcon]=\"'axo_zoom_in'\" class=\"cursor-pointer z-20\"></mat-icon>\n <mat-icon (click)=\"imageZoomOut()\"[svgIcon]=\"'axo_zoom_out'\" class=\"cursor-pointer z-20\"></mat-icon>\n </div>\n <div class=\"\n spinner-border\n animate-spin\n loaders\n \" role=\"status\" *ngIf=\"!imageLoaded\" [ngClass]=\"{'z-50': !imageLoaded}\">\n <span class=\"visually-hidden\">Loading...</span>\n </div>\n</div>\n\n <div class=\"mat-right-container sm:relative bg-white customscroll pl-5\">\n <div class=\"sticky top-0 pt-4 bg-white z-10 hidden sm:block\">\n <button class=\"close-icon\" (click)=\"closeDialog()\"></button>\n <div class=\"py-4 comments\">Comments</div>\n </div>\n <div class=\"block sm:hidden flex justify-between sticky top-0 z-10 bg-white\">\n <div class=\"py-4 bg-white commments\">Comments</div>\n <div class=\"block relative\">\n <mat-icon id=\"close-icon\" (click)=\"closeDialog()\" class=\"absolute\">close</mat-icon> \n </div>\n \n </div>\n <div class=\"comment-box axo-font text-sm\" *ngIf=\"annotation?.annotations.length\">\n <div class=\"comment-box-container flex gap-4 pb-4\" *ngFor=\"let item of annotation?.annotations; let i= index\">\n <div class=\"image-lightbox-index-wrapper\">\n <div class=\"image-lightbox-index\" [ngStyle]=\"{'background-color': item.color ,'border': (isAnnotationSelected && i === selectedAnnotationIndex && previouslySelectedAnnotationId === selectedAnnotationIndex) ?'1px solid #0000FF':''}\" (click)=\"selectAnnotation(i)\">{{i+1}}</div>\n </div>\n <mat-card class=\"w-full customscroll\" [ngStyle]=\"{'border': (isAnnotationSelected && i === selectedAnnotationIndex && previouslySelectedAnnotationId === selectedAnnotationIndex) ?'1px solid #0000FF':''}\" (click)=\"selectAnnotation(i)\">{{item.notes}}</mat-card> \n </div>\n </div>\n <div class=\"comment-box\" *ngIf=\"annotation?.annotations.length === 0 || annotation?.annotations === null\">No comments available\n \n </div>\n </div>\n</div>\n", styles: ["lib-image-widget-lightbox-view .light-box-container{height:100%;width:100%}lib-image-widget-lightbox-view .mat-left-container{position:relative;flex:70%;width:70%;display:flex;justify-content:center;align-items:center;background-color:#10172b}lib-image-widget-lightbox-view .mat-left-container .lightbox-image-left-arrow{position:absolute;top:50%;left:1rem;cursor:pointer;z-index:20}lib-image-widget-lightbox-view .mat-left-container .lightbox-image-right-arrow{position:absolute;top:50%;right:1rem;cursor:pointer;z-index:20}lib-image-widget-lightbox-view .mat-left-container .loaders{display:inline-block;width:2rem;height:2rem;border-width:4px;border-radius:100%;color:#a855f7;position:absolute;inset:50%;z-index:0}lib-image-widget-lightbox-view .mat-right-container{width:30%;flex:30%}lib-image-widget-lightbox-view .mat-right-container #close-icon{right:0;top:0;font-size:16px}lib-image-widget-lightbox-view .mat-right-container .comment-box-container{font-family:Open Sans,Arial,sans-serif}lib-image-widget-lightbox-view .mat-right-container .comment-box-container .image-lightbox-index-wrapper{display:flex;height:3.374rem;align-items:center}lib-image-widget-lightbox-view .mat-right-container .comment-box-container .image-lightbox-index-wrapper .image-lightbox-index{height:1.313rem;min-width:1.313rem;min-height:1.313rem;text-align:center;border-radius:100%;font-size:12px;font-weight:600;color:#fff;line-height:1.413rem}lib-image-widget-lightbox-view .mat-right-container .comment-box-container mat-card{background:#F2F4FA;border:none;box-shadow:none!important;font-size:.8rem;font-family:Open Sans,Arial,sans-serif}lib-image-widget-lightbox-view #annotationsCanvas{max-width:100%}lib-image-widget-lightbox-view .mat-card{min-width:auto}@media only screen and (max-width: 600px){lib-image-widget-lightbox-view .mat-left-container{flex:100%;width:100%}lib-image-widget-lightbox-view .mat-right-container{flex:100%;width:100%}lib-image-widget-lightbox-view #close-icon{top:.5rem!important}}lib-image-widget-lightbox-view .comments{font-size:1rem;cursor:default}lib-image-widget-lightbox-view .lightbox-image-zoom-in-out{position:absolute;bottom:0;right:0;display:flex;flex-direction:column;grid-row-gap:.5rem;row-gap:.5rem;justify-content:center;align-items:center;margin-right:.4rem;margin-bottom:.6rem}lib-image-widget-lightbox-view .comment-box{cursor:default}.cdk-overlay-pane:not(:has(.light-box-container)){height:auto!important;width:auto!important}.mat-dialog-container:has(.light-box-container){height:100%!important;width:100%!important;max-height:100%!important;max-width:100%!important}\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 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{display:block;color:#1b2b4b;font-weight:500;margin:0 0 .2rem}.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}.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"] }]
|
|
60646
60658
|
}], function () {
|
|
60647
60659
|
return [{ type: i1$5.MatDialogRef }, { type: undefined, decorators: [{
|
|
60648
60660
|
type: Inject,
|