raise-common-lib 0.0.193 → 0.0.194
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/README.md +57 -57
- package/bundles/raise-common-lib.umd.js +1642 -1564
- package/bundles/raise-common-lib.umd.js.map +1 -1
- package/bundles/raise-common-lib.umd.min.js +1 -1
- package/bundles/raise-common-lib.umd.min.js.map +1 -1
- package/esm2015/lib/dialog/new-action-notification/new-action-notification.component.js +1 -1
- package/esm2015/lib/form/drawer-form/drawer-form.component.js +113 -45
- package/esm2015/lib/form/richtexteditor/index.component.js +4 -7
- package/esm2015/lib/layout/drawer/index.component.js +1 -1
- package/esm2015/lib/layout/page-tab/index.component.js +1 -1
- package/esm2015/public-api.js +1 -2
- package/esm2015/raise-common-lib.js +6 -5
- package/esm5/lib/dialog/new-action-notification/new-action-notification.component.js +1 -1
- package/esm5/lib/form/drawer-form/drawer-form.component.js +124 -46
- package/esm5/lib/form/richtexteditor/index.component.js +4 -7
- package/esm5/lib/layout/drawer/index.component.js +1 -1
- package/esm5/lib/layout/page-tab/index.component.js +1 -1
- package/esm5/public-api.js +1 -2
- package/esm5/raise-common-lib.js +6 -5
- package/fesm2015/raise-common-lib.js +1503 -1435
- package/fesm2015/raise-common-lib.js.map +1 -1
- package/fesm5/raise-common-lib.js +1640 -1562
- package/fesm5/raise-common-lib.js.map +1 -1
- package/lib/form/drawer-form/drawer-form.component.d.ts +10 -5
- package/package.json +1 -1
- package/public-api.d.ts +0 -1
- package/raise-common-lib.d.ts +4 -3
- package/raise-common-lib.metadata.json +1 -1
- package/src/assets/img/arrow_right.svg +4 -4
- package/src/assets/img/calendar-disabled.svg +6 -6
- package/src/assets/img/calendar.svg +6 -6
- package/src/assets/img/calendar_arrow_left.svg +3 -3
- package/src/assets/img/calendar_arrow_right.svg +3 -3
- package/src/assets/img/checked-vector.svg +3 -3
- package/src/assets/img/dialog-close.svg +4 -4
- package/src/assets/img/dialog-grow.svg +6 -6
- package/src/assets/img/dialog-shrink.svg +6 -6
- package/src/assets/img/plus.svg +4 -4
- package/src/assets/img/search.svg +4 -4
- package/src/assets/img/shrink-icon.svg +6 -6
- package/src/assets/img/time-disabled.svg +4 -4
- package/src/assets/img/time.svg +4 -4
- package/src/assets/img/toolbar-action-addFolder.svg +17 -17
- package/src/assets/img/toolbar-action-calculator.svg +11 -11
- package/src/assets/img/toolbar-action-collapse.svg +7 -7
- package/src/assets/img/toolbar-action-combine.svg +4 -4
- package/src/assets/img/toolbar-action-edit.svg +4 -4
- package/src/assets/img/toolbar-action-expand.svg +7 -7
- package/src/assets/img/toolbar-action-folderMove.svg +8 -8
- package/src/assets/img/toolbar-action-lock.svg +6 -6
- package/src/assets/img/toolbar-action-preview.svg +7 -7
- package/src/assets/img/toolbar-action-publish.svg +5 -5
- package/src/assets/img/toolbar-action-reminders.svg +10 -10
- package/src/assets/img/toolbar-action-rename.svg +7 -7
- package/src/assets/img/toolbar-action-saveSequence.svg +5 -5
- package/src/assets/img/toolbar-action-send-file.svg +5 -5
- package/src/assets/img/toolbar-action-settle.svg +7 -7
- package/src/assets/img/toolbar-action-share.svg +5 -5
- package/src/assets/img/toolbar-action-submitForApproval.svg +4 -4
- package/src/assets/img/toolbar-action-sync.svg +4 -4
- package/src/assets/img/toolbar-action-template.svg +6 -6
- package/src/assets/img/toolbar-action-workflow.svg +9 -9
- package/src/assets/style/reset/grid.scss +2 -1
|
@@ -5,14 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import * as tslib_1 from "tslib";
|
|
7
7
|
import { Component, Input, Output, ViewChild, ChangeDetectorRef, EventEmitter, } from "@angular/core";
|
|
8
|
-
import { DropDownListComponent } from "@syncfusion/ej2-angular-dropdowns";
|
|
8
|
+
import { DropDownListComponent, } from "@syncfusion/ej2-angular-dropdowns";
|
|
9
9
|
import { RichTextEditorComponent, } from "@syncfusion/ej2-angular-richtexteditor";
|
|
10
|
-
import { ButtonComponent } from "@syncfusion/ej2-angular-buttons";
|
|
10
|
+
import { ButtonComponent, } from "@syncfusion/ej2-angular-buttons";
|
|
11
11
|
import { DropDownButton } from "@syncfusion/ej2-angular-splitbuttons";
|
|
12
12
|
import { DialogComponent } from "@syncfusion/ej2-angular-popups";
|
|
13
|
-
// service
|
|
14
|
-
// import { PbFunService } from "@app/services/pb-fun.service";
|
|
15
|
-
// import { SharedSyncfusionModule } from "@app/module/syncfusionModule";
|
|
16
13
|
import { OpenAiModelRTE } from "./openapi";
|
|
17
14
|
import { lineHeight_items } from "./data-config";
|
|
18
15
|
import { fontFamily } from "./data-config";
|
|
@@ -495,7 +492,7 @@ RichtexteditorComponent.decorators = [
|
|
|
495
492
|
{ type: Component, args: [{
|
|
496
493
|
selector: "rs-richtext-editor",
|
|
497
494
|
template: "<div class=\"editor_box\" id=\"container\">\r\n <ejs-richtexteditor\r\n #editor\r\n id=\"editor\"\r\n [height]=\"height\"\r\n [saveInterval]=\"0\"\r\n [autoSaveOnIdle]=\"autoSaveOnIdle\"\r\n [toolbarSettings]=\"tools\"\r\n [fontFamily]=\"family\"\r\n [insertImageSettings]=\"insertImageSettings\"\r\n [(value)]=\"value\"\r\n (change)=\"onContentChange($event)\"\r\n (created)=\"onCreate()\"\r\n (toolbarClick)=\"_toolbarClick($event)\"\r\n >\r\n </ejs-richtexteditor>\r\n <ejs-dialog\r\n #AIdialog\r\n id=\"AIdialog\"\r\n [ngClass]=\"size\"\r\n [visible]=\"false\"\r\n [target]=\"target\"\r\n [isModal]=\"true\"\r\n [height]=\"dialogHeight\"\r\n [width]=\"dialogWidth\"\r\n maxHeight=\"80%\"\r\n cssClass=\"e-rte-elements custom-dialog-rte\"\r\n zIndex=\"1000\"\r\n (close)=\"closeDialog()\"\r\n (overlayClick)=\"onOverlayClick()\"\r\n (open)=\"dialogShow()\"\r\n >\r\n <ng-template #header>\r\n <div class=\"header-title\">AI Assist</div>\r\n <div class=\"header-buttons\">\r\n <div *ngIf=\"showZoomBtn\" class=\"header-zoom\" (click)=\"onZoom()\">\r\n <img\r\n class=\"header-icon\"\r\n *ngIf=\"size === 'largest'\"\r\n src=\"../../../assets/img/dialog-shrink.svg\"\r\n />\r\n <img\r\n class=\"header-icon\"\r\n *ngIf=\"size !== 'largest'\"\r\n src=\"../../../assets/img/dialog-grow.svg\"\r\n />\r\n </div>\r\n <div class=\"header-btn\" (click)=\"closeDialog()\">\r\n <img class=\"header-icon\" src=\"../../../assets/img/dialog-close.svg\" />\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #footerTemplate>\r\n <div id=\"dialog-footer-content\">\r\n <div class=\"custom-row-0\">\r\n <div\r\n class=\"cuscol-0\"\r\n style=\"width: 100%; align-items: center; justify-content: left\"\r\n ></div>\r\n <div\r\n class=\"cuscol-1\"\r\n style=\"\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n \"\r\n >\r\n <div style=\"text-align: right; width: 100%\">\r\n <button\r\n ejs-button\r\n #sentimentButton\r\n content=\"\uD83D\uDE0A Neutral\"\r\n disabled=\"false\"\r\n cssClass=\"sentiment\"\r\n ></button>\r\n <button\r\n ejs-button\r\n #copyButton\r\n content=\"Copy\"\r\n disabled=\"false\"\r\n class=\"copy-btn\"\r\n ></button>\r\n <button\r\n ejs-button\r\n #replaceButton\r\n content=\"Replace\"\r\n isPrimary=\"true\"\r\n disabled=\"false\"\r\n ></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #content>\r\n <div class=\"dialog-content\" style=\"height: 100%\">\r\n <div class=\"custom-row-0\">\r\n <div class=\"cuscol-0\" style=\"width: 100%\">\r\n <ejs-dropdownlist\r\n #queryCategory\r\n style=\"width: 200px\"\r\n id=\"queryCategory\"\r\n [dataSource]=\"queryList\"\r\n index=\"0\"\r\n [fields]=\"{ text: 'text', value: 'id' }\"\r\n (select)=\"onQuerySelect($event)\"\r\n >\r\n Rephrase\r\n </ejs-dropdownlist>\r\n <ejs-dropdownlist\r\n *ngIf=\"selectedQuery == 'Rephrase'\"\r\n id=\"chips-container\"\r\n #chipList\r\n style=\"width: 160px\"\r\n [(ngModel)]=\"chipValue\"\r\n [dataSource]=\"rephraseTyleList\"\r\n [fields]=\"{ text: 'text', value: 'id' }\"\r\n (select)=\"onChipClick($event)\"\r\n >\r\n </ejs-dropdownlist>\r\n <ejs-dropdownlist\r\n *ngIf=\"selectedQuery == 'Translate'\"\r\n #languageCategory\r\n index=\"0\"\r\n id=\"language-Category\"\r\n [dataSource]=\"languageList\"\r\n [fields]=\"{ text: 'text', value: 'id' }\"\r\n (select)=\"onLanguageSelect($event)\"\r\n >\r\n </ejs-dropdownlist>\r\n </div>\r\n <div\r\n class=\"cuscol-1\"\r\n style=\"\r\n justify-content: space-between;\r\n align-items: center;\r\n width: 100%;\r\n \"\r\n >\r\n <!-- <ejs-chiplist\r\n id=\"chips-container\"\r\n #chipList\r\n [chips]=\"['Standard', 'Fluent', 'Professional']\"\r\n selection=\"Single\"\r\n cssClass=\"e-outline\"\r\n [selectedChips]=\"[0]\"\r\n (click)=\"onChipClick($event)\"\r\n >\r\n </ejs-chiplist> -->\r\n <button\r\n ejs-button\r\n #regenerateButton\r\n content=\"Regenerate\"\r\n isPrimary=\"true\"\r\n disabled=\"false\"\r\n ></button>\r\n </div>\r\n </div>\r\n <div class=\"custom-row-1\" style=\"height: calc(100% - 40px)\">\r\n <div\r\n class=\"cuscol-0\"\r\n style=\"\r\n width: 100%;\r\n height: 100%;\r\n align-items: center;\r\n justify-content: left;\r\n \"\r\n >\r\n <div style=\"text-align: left; height: 100%\">\r\n <ejs-richtexteditor\r\n #leftRte\r\n id=\"leftRte\"\r\n height=\"100%\"\r\n [toolbarSettings]=\"{ enable: false }\"\r\n placeholder=\"Analysis of AI Support\"\r\n cssClass=\"e-outline\"\r\n >\r\n </ejs-richtexteditor>\r\n </div>\r\n </div>\r\n <div\r\n class=\"cuscol-1\"\r\n style=\"\r\n display: flex;\r\n justify-content: space-between;\r\n width: 100%;\r\n height: 100%;\r\n \"\r\n >\r\n <div style=\"text-align: left; width: 100%; height: 100%\">\r\n <ejs-richtexteditor\r\n #rightRte\r\n id=\"rightRte\"\r\n height=\"100%\"\r\n [toolbarSettings]=\"{ enable: false }\"\r\n placeholder=\"Analysis of AI Support\"\r\n cssClass=\"e-outline\"\r\n >\r\n <!-- style=\"display: none\" -->\r\n </ejs-richtexteditor>\r\n <div\r\n class=\"no-results-found\"\r\n id=\"no-results-found\"\r\n style=\"display: none; height: 244px; align-content: center\"\r\n >\r\n <img\r\n height=\"50\"\r\n width=\"50\"\r\n src=\"https://storage.googleapis.com/cdn-bolddesk/agent-angular-app/images/light/no-records-warning.svg\"\r\n />\r\n <div>No results found</div>\r\n </div>\r\n <div id=\"skeletonId\" style=\"display: none\">\r\n <ejs-skeleton\r\n #skeletonId1\r\n shape=\"Rectangle\"\r\n height=\"20px\"\r\n width=\"100%\"\r\n ></ejs-skeleton\r\n ><br />\r\n <ejs-skeleton\r\n #skeletonId2\r\n shape=\"Rectangle\"\r\n height=\"20px\"\r\n width=\"90%\"\r\n ></ejs-skeleton\r\n ><br />\r\n <ejs-skeleton\r\n #skeletonId3\r\n shape=\"Rectangle\"\r\n height=\"20px\"\r\n width=\"70%\"\r\n ></ejs-skeleton\r\n ><br />\r\n <ejs-skeleton\r\n #skeletonId4\r\n shape=\"Rectangle\"\r\n height=\"20px\"\r\n width=\"50%\"\r\n ></ejs-skeleton\r\n ><br />\r\n <ejs-skeleton\r\n #skeletonId5\r\n shape=\"Rectangle\"\r\n height=\"20px\"\r\n width=\"30%\"\r\n ></ejs-skeleton\r\n ><br />\r\n <ejs-skeleton\r\n #skeletonId6\r\n shape=\"Rectangle\"\r\n height=\"20px\"\r\n width=\"10%\"\r\n ></ejs-skeleton\r\n ><br />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ejs-dialog>\r\n <div class=\"toast\" *ngIf=\"showMsg\">\r\n <span class=\"toast_text\">First, Select some text</span\r\n ><span class=\"close_icon\" (click)=\"hideToast()\"></span>\r\n </div>\r\n</div>\r\n",
|
|
498
|
-
styles: [".editor_box{position:relative;width:100%;height:100%}.editor_box .toast{position:absolute;left:35%;top:110px;z-index:1;width:400px;border-radius:4px;border:1px solid #e8f2ff;background:#f4f8ff;padding:4px 12px;color:#1f3f5c;font-size:12px;font-style:normal;font-weight:400;height:32px;font-family:Arial;display:flex;align-items:center;justify-content:space-between}.editor_box .toast .toast_text::before{content:url(
|
|
495
|
+
styles: [".editor_box{position:relative;width:100%;height:100%}.editor_box .toast{position:absolute;left:35%;top:110px;z-index:1;width:400px;border-radius:4px;border:1px solid #e8f2ff;background:#f4f8ff;padding:4px 12px;color:#1f3f5c;font-size:12px;font-style:normal;font-weight:400;height:32px;font-family:Arial;display:flex;align-items:center;justify-content:space-between}.editor_box .toast .toast_text::before{content:url(../../../assets/img/info.svg);display:inline-block;width:16px;height:16px;vertical-align:bottom;margin-right:8px}.editor_box .toast .close_icon{background-image:url(../../../assets/img/notification-close.svg);cursor:pointer;display:inline-block;width:16px;height:16px}.custom-dialog-rte{padding:0 20px;border-radius:10px}.custom-row-0,.custom-row-1,.custom-row-2{display:flex;align-items:center;padding:12px 24px}.e-rte-dropdown-btn-text{padding-left:4px}.no-results-found{text-align:center}.no-results-found img{display:block;margin:0 auto}.e-custom{margin-right:.5rem;border-radius:25px!important}.custom-dialog-rte .skeleton-rectangle{border-radius:4px}@media (max-width:767px){.cuscol-0,.cuscol-1,.cuscol-2{justify-content:center!important}.custom-row-0,.custom-row-1,.custom-row-2{flex-direction:column!important}.cuscol-1{border-right:none!important}.cuscol-0{width:100%;align-items:center}::ng-deep:host .e-dialog{max-height:80%!important}.custom-dialog-rte .e-dialog .e-dlg-content{overflow-y:auto!important}.custom-dialog-rte .e-dialog .e-dlg-content .e-richtexteditor{height:100px!important}.cuscol-noresult{padding-bottom:20px!important}.e-chip-list{padding:5px!important}.cuscol{padding-right:.2rem!important;width:auto!important}.custom-row-1{height:auto!important}}.cuscol-1{display:flex;flex-direction:row!important}.cuscol-2{display:flex;flex-direction:column!important}.sentiment{color:#000!important}.custom-dialog-rte .e-dialog .e-dlg-content{padding:0!important;overflow-y:hidden}.custom-dialog-rte .e-dialog .e-dlg-header-content{padding:20px 0!important;border:0!important}.custom-dialog-rte .e-dialog .e-dlg-header-content .e-dlg-header{display:flex;align-items:center;line-height:18px;justify-content:space-between}.custom-dialog-rte .e-dialog .e-dlg-header-content .e-dlg-header .header-title{font-family:Arial;font-size:15px;font-weight:700;font-style:normal}.custom-dialog-rte .e-dialog .e-dlg-header-content .header-buttons{display:flex}.custom-dialog-rte .e-dialog .e-dlg-header-content .header-buttons img{width:16px;height:16px;cursor:pointer;padding:2px;margin-left:12px}.custom-dialog-rte .e-dialog .e-footer-content{padding:0!important}.custom-dialog-rte .e-dialog .e-dlg-content .e-richtexteditor.e-rte-tb-expand .e-rte-content,.e-richtexteditor.e-rte-tb-expand .e-source-content{border:0;border-bottom:1px solid #dee2e6;border-top:0 solid #dee2e6!important}.custom-dialog-rte .dialog-content .custom-row-0{border-top:0 solid #ddd!important;padding:0;margin-bottom:12px}.custom-dialog-rte .dialog-content .custom-row-0 .cuscol-0{justify-content:left;border-right:none!important;padding:0;display:flex;gap:12px}.custom-dialog-rte .dialog-content .custom-row-0 .cuscol-1{padding:0;margin-left:12px}.custom-dialog-rte .dialog-content .custom-row-0 .cuscol-1 .e-primary{color:#44566c;border-radius:4px;border:1px solid #dbe1e7;background:#fff;width:87px;margin:0;padding:2px 12px;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:14px;height:28px}.custom-dialog-rte .dialog-content .custom-row-1{padding:0;height:calc(100% - 40px);gap:12px}.custom-dialog-rte .e-footer-content{border:0}.custom-dialog-rte .e-footer-content .custom-row-0{padding:20px 0}.custom-dialog-rte .e-footer-content .e-control.e-btn{font-family:Arial;font-size:12px;line-height:14px;padding:2px 12px;height:28px;background:#fff;color:#44566c}.custom-dialog-rte .e-footer-content .e-control.e-btn.copy-btn{border-color:#dbe1e7}.custom-dialog-rte .e-footer-content .e-control.e-btn.copy-btn::before{content:url(../../../assets/img/editor-copy.svg);vertical-align:middle;margin-right:6px}.custom-dialog-rte .e-footer-content .e-control.e-btn.e-primary{color:#fff;background:#1364b3}.editor_box .e-dialog.largest{width:96vw!important;height:88vh!important;max-height:88vh;max-width:2100px}"]
|
|
499
496
|
}] }
|
|
500
497
|
];
|
|
501
498
|
/** @nocollapse */
|
|
@@ -601,4 +598,4 @@ if (false) {
|
|
|
601
598
|
*/
|
|
602
599
|
RichtexteditorComponent.prototype.ref;
|
|
603
600
|
}
|
|
604
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL3JpY2h0ZXh0ZWRpdG9yL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUNMLHVCQUF1QixHQUV4QixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBSWpFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0MsTUFBTSxPQUFPLHVCQUF1Qjs7OztJQWtJbEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7O1FBOUdqQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsV0FBTSxHQUFHLEdBQUcsQ0FBQztRQUNiLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLFdBQU0sR0FBRyxZQUFZLENBQUMsQ0FBQyxjQUFjOztRQUVwQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7O1FBR3RDLFdBQU0sR0FBRyxVQUFVLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxPQUFPLENBQUM7UUFDdEIsaUJBQVksR0FBRyxPQUFPLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQix3QkFBbUIsR0FBRztZQUNwQixVQUFVLEVBQUUsTUFBTTtZQUNsQixZQUFZLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO1lBQzlCLE9BQU8sRUFBRSxNQUFNO1NBQ2hCLENBQUM7UUFFRixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRUgsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsY0FBUyxHQUFtQztZQUNqRCxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNwQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQzFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3RDLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3RDLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3RDLEVBQUUsRUFBRSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRTtTQUN4RCxDQUFDO1FBQ0sscUJBQWdCLEdBQUc7WUFDeEIsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUU7WUFDcEMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUU7WUFDaEMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUU7U0FDN0MsQ0FBQztRQUNLLGlCQUFZLEdBQW1DO1lBQ3BELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQzdCLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUU7WUFDMUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDN0IsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRTtZQUM1QyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUMzQixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUM1QixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUM3QixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNoQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUM3QixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUM5QixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUM1QixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUM1QixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUM1QixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUM3QixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtTQUM5QixDQUFDO1FBQ0ssZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFFZCxjQUFTLEdBQUcsVUFBVSxDQUFDO1FBRzlCLFVBQUssR0FBeUI7WUFDNUIsY0FBYyxFQUFFLEtBQUs7WUFDckIsS0FBSyxFQUFFO2dCQUNMO29CQUNFLFdBQVcsRUFBRSxXQUFXO29CQUN4QixRQUFRLEVBQ04sK0pBQStKO2lCQUNsSztnQkFDRCxNQUFNO2dCQUNOLFFBQVE7Z0JBQ1IsV0FBVztnQkFDWCxlQUFlO2dCQUNmLFVBQVU7Z0JBQ1YsVUFBVTtnQkFDVixXQUFXO2dCQUNYLGlCQUFpQjtnQkFDakIsV0FBVztnQkFDWCxXQUFXO2dCQUNYLEdBQUc7Z0JBQ0gsYUFBYTtnQkFDYixTQUFTO2dCQUNULFlBQVk7Z0JBQ1o7b0JBQ0UsV0FBVyxFQUFFLGFBQWE7b0JBQzFCLFFBQVEsRUFDTixtR0FBbUc7aUJBQ3RHO2dCQUNELGFBQWE7Z0JBQ2IsZUFBZTtnQkFDZixTQUFTO2dCQUNULFFBQVE7Z0JBQ1IsR0FBRztnQkFDSCxZQUFZO2dCQUNaO29CQUNFLFdBQVcsRUFBRSxFQUFFO29CQUNmLFFBQVEsRUFDTixzRkFBc0Y7d0JBQ3RGLDhRQUE4UTtpQkFDalI7Z0JBQ0QsR0FBRztnQkFDSCxlQUFlO2dCQUNmLGFBQWE7Z0JBQ2IsR0FBRztnQkFDSCxNQUFNO2dCQUNOLE1BQU07YUFFUDtTQUNGLENBQUM7SUFFMkMsQ0FBQzs7OztJQUU5QyxRQUFRLEtBQUksQ0FBQzs7Ozs7SUFFYixlQUFlLENBQUMsSUFBSTs7Y0FDWixNQUFNLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDO1FBQzdELE1BQU0sQ0FBQyxPQUFPOzs7O1FBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTs7a0JBQ2pCLFNBQVMsR0FBRyxtQkFBQSxLQUFLLEVBQW9CO1lBQzNDLFNBQVMsQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztZQUN0QyxTQUFTLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUM7WUFDNUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDOztrQkFDOUIsVUFBVSxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDL0MsVUFBVSxDQUFDLE9BQU87Ozs7WUFBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO2dCQUN4QixFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQztnQkFDdEMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO2dCQUN6QixFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7Z0JBQzNCLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztnQkFDN0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDO1lBQ3BDLENBQUMsRUFBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDOzs7O0lBRU0sUUFBUTtRQUNiLHdCQUF3QjtRQUN4QiwrRUFBK0U7UUFDL0Usc0VBQXNFO1FBQ3RFLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQzs7WUFDckQsV0FBVyxHQUFHLElBQUksY0FBYyxDQUFDO1lBQ25DLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsT0FBTyxFQUFFLHdCQUF3QjtZQUNqQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ2pDLENBQUM7UUFDRixXQUFXLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUM7OztZQUVyQyxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBQztZQUN6QyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVM7O1lBRXJCLE1BQU07Ozs7WUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFBO1NBQ2pELENBQUM7UUFDRixpQkFBaUIsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUMxRCxDQUFDOzs7Ozs7SUFFTyxRQUFRLENBQUMsSUFBSTtRQUNuQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6RCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNsQzs7WUFDRyxLQUFLLEdBQVcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO1FBQzNELEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzdDLENBQUMsbUJBQUEsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzdEO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRCxDQUFDOzs7Ozs7SUFFTyxtQkFBbUIsQ0FBQyxJQUFTO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxhQUFxQjs7WUFDNUIsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFO1FBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksYUFBYSxFQUFFOztnQkFDYixLQUFLLEdBQVUsQ0FDakIsbUJBQUEsSUFBSSxDQUFDLE1BQU0sRUFBTyxDQUNuQixDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FDOUMsQ0FBQyxtQkFBQSxJQUFJLENBQUMsTUFBTSxFQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQ2pEO1lBQ0QsQ0FBQyxtQkFBQSxJQUFJLENBQUMsTUFBTSxFQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQzdELEtBQUssRUFDTCxDQUFDLG1CQUFBLElBQUksQ0FBQyxNQUFNLEVBQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FDakQsQ0FBQztZQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTOzs7O1lBQzFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLGFBQWEsQ0FBQyxXQUFXLEVBQUUsRUFDNUQsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUM7WUFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM3QzthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsVUFBVTs7O1lBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUMsR0FBRSxJQUFJLENBQUMsQ0FBQztZQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsd0RBQXdELENBQUMsQ0FBQztTQUN2RTtJQUNILENBQUM7Ozs7O0lBRUQsdUJBQXVCLENBQUMsYUFBcUI7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixRQUFRLGFBQWEsRUFBRTtZQUNyQixLQUFLLFdBQVc7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRywwQ0FBMEMsQ0FBQztnQkFDM0QsTUFBTTtZQUNSLEtBQUssV0FBVztnQkFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLHFDQUFxQyxDQUFDO2dCQUN0RCxNQUFNO1lBQ1IsS0FBSyxVQUFVO2dCQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxrQ0FBa0MsQ0FBQztnQkFDcEUsTUFBTTtZQUNSLEtBQUssaUJBQWlCO2dCQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLCtDQUErQyxDQUFDO2dCQUNoRSxNQUFNO1lBQ1IsS0FBSyxXQUFXO2dCQUNkLElBQUksQ0FBQyxRQUFRO29CQUNYLHFDQUFxQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7Z0JBQ3ZFLE1BQU07WUFDUixLQUFLLG9CQUFvQjtnQkFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztnQkFDN0IsSUFBSSxDQUFDLFFBQVE7b0JBQ1gseU5BQXlOLENBQUM7Z0JBQzVOLE1BQU07U0FDVDtRQUNELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7Ozs7SUFFRCxtQkFBbUI7UUFDakIsSUFBSTtZQUNGLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsQ0FBQyxtQkFBQSxRQUFRLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTztvQkFDbEUsRUFBRSxDQUFDO2dCQUNMLENBQUMsbUJBQUEsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBZSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU87b0JBQ2hFLE1BQU0sQ0FBQztnQkFDVCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztnQkFDcEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FDN0MsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsV0FBVyxDQUNqQixDQUFDO2dCQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSTs7OztnQkFBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO29CQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO29CQUNsRSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sR0FBRyxNQUFNO3lCQUNsQyxXQUFXLEVBQUU7eUJBQ2IsUUFBUSxDQUFDLFVBQVUsQ0FBQzt3QkFDckIsQ0FBQyxDQUFDLGFBQWE7d0JBQ2YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDOzRCQUMzQyxDQUFDLENBQUMsYUFBYTs0QkFDZixDQUFDLENBQUMsWUFBWSxDQUFDO29CQUNqQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQjt3QkFDakUsQ0FBQyxDQUFDLE1BQU07d0JBQ1IsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDOzt3QkFDaEMsY0FBYyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7b0JBQ3pELENBQ0UsbUJBQUEsUUFBUSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFlLENBQzNELENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO29CQUMvQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQztvQkFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDO29CQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUM7b0JBQzdDLENBQUMsbUJBQUEsUUFBUSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsRUFBZSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU87d0JBQ2xFLE1BQU0sQ0FBQztvQkFDVCxDQUFDLG1CQUFBLFFBQVEsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPO3dCQUNoRSxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUMvQixPQUFPLENBQUMsR0FBRyxDQUNULGNBQWMsRUFDZCxDQUFDLG1CQUFBLFFBQVEsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FDM0QsQ0FBQztvQkFDRiwyQkFBMkI7Z0JBQzdCLENBQUMsRUFBQyxDQUFDO2FBQ0o7U0FDRjtRQUFDLFdBQU07WUFDTix3QkFBd0I7U0FDekI7SUFDSCxDQUFDOzs7Ozs7SUFFSyxxQkFBcUIsQ0FDekIsUUFBZ0IsRUFDaEIsV0FBbUI7OztrQkFFYixPQUFPLEdBQUcsTUFBTSxjQUFjLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQztZQUMzRCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxPQUFPLEVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUMsQ0FBQztLQUFBOzs7O0lBRUQsVUFBVTtRQUNSLG1CQUFBLElBQUksQ0FBQyxnQkFBZ0IsRUFBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPOzs7UUFBRSxHQUFHLEVBQUU7WUFDNUQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0IsQ0FBQyxFQUFDLENBQUM7UUFDSCxtQkFBQSxJQUFJLENBQUMsVUFBVSxFQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE9BQU87OztRQUFFLEdBQUcsRUFBRTtZQUN0RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFDLENBQUMsRUFBQyxDQUFDO1FBQ0gsbUJBQUEsSUFBSSxDQUFDLGFBQWEsRUFBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPOzs7UUFBRSxHQUFHLEVBQUU7O2dCQUNyRCxLQUFLLEdBQVUsQ0FDakIsbUJBQUEsSUFBSSxDQUFDLE1BQU0sRUFBTyxDQUNuQixDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FDOUMsQ0FBQyxtQkFBQSxJQUFJLENBQUMsTUFBTSxFQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQ2pEO1lBQ0QsQ0FBQyxtQkFBQSxJQUFJLENBQUMsTUFBTSxFQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUUsQ0FBQyxtQkFBQSxJQUFJLENBQUMsTUFBTSxFQUFPLENBQUMsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQy9ELElBQUksRUFBRSxJQUFJO2FBQ1gsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsRUFBQyxDQUFDO1FBQ0gsQ0FBQyxtQkFBQSxJQUFJLENBQUMsUUFBUSxFQUFtQixDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ2hFLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQztJQUM5QyxDQUFDOzs7OztJQUVELG1CQUFtQixDQUFDLElBQVk7UUFDOUIsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFO1lBQ3ZCLFNBQVMsQ0FBQyxTQUFTO2lCQUNoQixTQUFTLENBQUMsSUFBSSxDQUFDO2lCQUNmLElBQUk7OztZQUFDLEdBQUcsRUFBRTtnQkFDVCxPQUFPLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7WUFDeEQsQ0FBQyxFQUFDO2lCQUNELEtBQUs7Ozs7WUFBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDOUMsQ0FBQyxFQUFDLENBQUM7U0FDTjthQUFNOzs7a0JBRUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1lBQ25ELFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQixJQUFJO2dCQUNGLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsQ0FBQzthQUMzRDtZQUFDLE9BQU8sR0FBRyxFQUFFO2dCQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDN0M7b0JBQVM7Z0JBQ1IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDckM7U0FDRjtJQUNILENBQUM7Ozs7SUFFRCxjQUFjOztZQUNSLFNBQVMsR0FBdUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUNyRSxzQkFBc0IsQ0FDdkI7UUFDRCxJQUFJLFNBQVMsRUFBRTtZQUNiLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7Ozs7O0lBRUQsYUFBYSxDQUFDLElBQUk7UUFDaEIsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN4QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs7OztJQUVELGdCQUFnQixDQUFDLElBQVM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1QyxDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxJQUFTO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDcEMsNEJBQTRCO1FBQzVCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJO1lBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7Ozs7O0lBRUQsYUFBYSxDQUFDLElBQUk7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7OztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDOzs7O0lBRUQsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQyxVQUFVO1NBQzNCO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLFNBQVM7U0FDakM7SUFDSCxDQUFDOzs7WUFqYUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLG10U0FBcUM7O2FBSXRDOzs7O1lBeEJDLGlCQUFpQjs7O3FCQTBCaEIsU0FBUyxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7NEJBRXJDLFNBQVMsU0FBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3NCQUU1QyxTQUFTLFNBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt1QkFFdEMsU0FBUyxTQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7dUJBRXZDLFNBQVMsU0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOzhCQUN0QyxTQUFTLFNBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOytCQUU5QyxTQUFTLFNBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3lCQUUvQyxTQUFTLFNBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs0QkFFekMsU0FBUyxTQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7MEJBSTVDLEtBQUs7b0JBQ0wsS0FBSztxQkFDTCxLQUFLOzZCQUNMLEtBQUs7cUJBQ0wsS0FBSzsyQkFFTCxNQUFNO3FCQUNOLE1BQU07Ozs7SUExQlAseUNBQ3VDOztJQUN2QyxnREFDNkM7O0lBQzdDLDBDQUN5Qzs7SUFDekMsMkNBQzBDOztJQUMxQywyQ0FBMkU7O0lBQzNFLGtEQUN5Qzs7SUFDekMsbURBQzBDOztJQUMxQyw2Q0FDb0M7O0lBQ3BDLGdEQUN1Qzs7SUFHdkMsOENBQTBCOztJQUMxQix3Q0FBb0I7O0lBQ3BCLHlDQUFzQjs7SUFDdEIsaURBQStCOztJQUMvQix5Q0FBK0I7O0lBRS9CLCtDQUE0Qzs7SUFDNUMseUNBQXNDOztJQUd0Qyx5Q0FBb0I7O0lBQ3BCLDhDQUFzQjs7SUFDdEIsK0NBQXVCOztJQUN2Qiw4Q0FBbUI7O0lBQ25CLDBDQUFnQjs7SUFDaEIsc0RBSUU7O0lBQ0YsZ0RBQW1COztJQUNuQix1Q0FBVTs7SUFDVixnREFBYzs7SUFDZCwrQ0FBd0I7O0lBQ3hCLDRDQU9FOztJQUNGLG1EQUlFOztJQUNGLCtDQWdCRTs7SUFDRiw4Q0FBd0I7O0lBQ3hCLG1EQUF5Qzs7SUFDekMsMkNBQXFCOztJQUNyQixvREFBa0M7O0lBQ2xDLDRDQUE4Qjs7SUFDOUIsZ0RBQTBCOztJQUMxQiwyQ0FBeUI7O0lBQ3pCLHdDQStDRTs7Ozs7SUFFVSxzQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRHJvcERvd25MaXN0Q29tcG9uZW50IH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWRyb3Bkb3duc1wiO1xyXG5pbXBvcnQge1xyXG4gIFJpY2hUZXh0RWRpdG9yQ29tcG9uZW50LFxyXG4gIFRvb2xiYXJTZXR0aW5nc01vZGVsLFxyXG59IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1yaWNodGV4dGVkaXRvclwiO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYnV0dG9uc1wiO1xyXG5pbXBvcnQgeyBEcm9wRG93bkJ1dHRvbiB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1zcGxpdGJ1dHRvbnNcIjtcclxuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXBvcHVwc1wiO1xyXG4vLyBzZXJ2aWNlXHJcbi8vIGltcG9ydCB7IFBiRnVuU2VydmljZSB9IGZyb20gXCJAYXBwL3NlcnZpY2VzL3BiLWZ1bi5zZXJ2aWNlXCI7XHJcbi8vIGltcG9ydCB7IFNoYXJlZFN5bmNmdXNpb25Nb2R1bGUgfSBmcm9tIFwiQGFwcC9tb2R1bGUvc3luY2Z1c2lvbk1vZHVsZVwiO1xyXG5pbXBvcnQgeyBPcGVuQWlNb2RlbFJURSB9IGZyb20gXCIuL29wZW5hcGlcIjtcclxuaW1wb3J0IHsgbGluZUhlaWdodF9pdGVtcyB9IGZyb20gXCIuL2RhdGEtY29uZmlnXCI7XHJcbmltcG9ydCB7IGZvbnRGYW1pbHkgfSBmcm9tIFwiLi9kYXRhLWNvbmZpZ1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtcmljaHRleHQtZWRpdG9yXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAvLyBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIC8vIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNoYXJlZFN5bmNmdXNpb25Nb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmljaHRleHRlZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoXCJlZGl0b3JcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIHJ0ZU9iajogUmljaFRleHRFZGl0b3JDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChcInF1ZXJ5Q2F0ZWdvcnlcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIHF1ZXJ5Q2F0ZWdvcnkhOiBEcm9wRG93bkxpc3RDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChcImxlZnRSdGVcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIGxlZnRSdGUhOiBSaWNoVGV4dEVkaXRvckNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKFwicmlnaHRSdGVcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIHJpZ2h0UnRlITogUmljaFRleHRFZGl0b3JDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChcIkFJZGlhbG9nXCIsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBBSWRpYWxvZyE6IERpYWxvZ0NvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKFwic2VudGltZW50QnV0dG9uXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHB1YmxpYyBzZW50aW1lbnRCdXR0b24hOiBCdXR0b25Db21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChcInJlZ2VuZXJhdGVCdXR0b25cIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIHJlZ2VuZXJhdGVCdXR0b24hOiBCdXR0b25Db21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChcImNvcHlCdXR0b25cIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIGNvcHlCdXR0b24hOiBCdXR0b25Db21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChcInJlcGxhY2VCdXR0b25cIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIHJlcGxhY2VCdXR0b24hOiBCdXR0b25Db21wb25lbnQ7XHJcbiAgLy8gQFZpZXdDaGlsZChcImNoaXBMaXN0XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBwdWJsaWMgY2hpcExpc3QhOiBDaGlwTGlzdENvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHZhbHVlID0gXCJcIjtcclxuICBASW5wdXQoKSBoZWlnaHQgPSAxNTA7XHJcbiAgQElucHV0KCkgYXV0b1NhdmVPbklkbGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHRhcmdldCA9IFwiI2NvbnRhaW5lclwiOyAvLyBkaWFsb2cg5by556qX54i257qnXHJcblxyXG4gIEBPdXRwdXQoKSB0b29sYmFyQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvLyBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBmYW1pbHkgPSBmb250RmFtaWx5O1xyXG4gIGRpYWxvZ1dpZHRoID0gXCI4MDBweFwiO1xyXG4gIGRpYWxvZ0hlaWdodCA9IFwiNjQycHhcIjtcclxuICBzaG93Wm9vbUJ0biA9IHRydWU7XHJcbiAgc2hvd01zZyA9IGZhbHNlO1xyXG4gIGluc2VydEltYWdlU2V0dGluZ3MgPSB7XHJcbiAgICBzYXZlRm9ybWF0OiBcIkJsb2JcIixcclxuICAgIGFsbG93ZWRUeXBlczogW1wiLnN2Z1wiLCBcIi5wbmdcIl0sXHJcbiAgICBkaXNwbGF5OiBcIm5vbmVcIixcclxuICB9O1xyXG4gIGVkaXRvck1hbmFnZXI6IGFueTtcclxuICBzaXplID0gXCJcIjtcclxuICBzZWxlY3RlZFF1ZXJ5O1xyXG4gIHB1YmxpYyBkcm9wVmFsSW5kZXggPSAwO1xyXG4gIHB1YmxpYyBxdWVyeUxpc3Q6IHsgaWQ6IHN0cmluZzsgdGV4dDogc3RyaW5nIH1bXSA9IFtcclxuICAgIHsgaWQ6IFwiUmVwaHJhc2VcIiwgdGV4dDogXCJSZXBocmFzZVwiIH0sXHJcbiAgICB7IGlkOiBcIkdyYW1tYXJcIiwgdGV4dDogXCJDb3JyZWN0IEdyYW1tYXJcIiB9LFxyXG4gICAgeyBpZDogXCJTdW1tYXJpemVcIiwgdGV4dDogXCJTdW1tYXJpemVcIiB9LFxyXG4gICAgeyBpZDogXCJFbGFib3JhdGVcIiwgdGV4dDogXCJFbGFib3JhdGVcIiB9LFxyXG4gICAgeyBpZDogXCJUcmFuc2xhdGVcIiwgdGV4dDogXCJUcmFuc2xhdGVcIiB9LFxyXG4gICAgeyBpZDogXCJTZW50aW1lbnRBbmFseXNpc1wiLCB0ZXh0OiBcIlNlbnRpbWVudCBBbmFseXNpc1wiIH0sXHJcbiAgXTtcclxuICBwdWJsaWMgcmVwaHJhc2VUeWxlTGlzdCA9IFtcclxuICAgIHsgdGV4dDogXCJTdGFuZGFyZFwiLCBpZDogXCJTdGFuZGFyZFwiIH0sXHJcbiAgICB7IHRleHQ6IFwiRmx1ZW50XCIsIGlkOiBcIkZsdWVudFwiIH0sXHJcbiAgICB7IHRleHQ6IFwiUHJvZmVzc2lvbmFsXCIsIGlkOiBcIlByb2Zlc3Npb25hbFwiIH0sXHJcbiAgXTtcclxuICBwdWJsaWMgbGFuZ3VhZ2VMaXN0OiB7IGlkOiBzdHJpbmc7IHRleHQ6IHN0cmluZyB9W10gPSBbXHJcbiAgICB7IGlkOiBcIkVOXCIsIHRleHQ6IFwiRW5nbGlzaFwiIH0sXHJcbiAgICB7IGlkOiBcIlpIXCIsIHRleHQ6IFwiQ2hpbmVzZSAoU2ltcGxpZmllZClcIiB9LFxyXG4gICAgeyBpZDogXCJFU1wiLCB0ZXh0OiBcIlNwYW5pc2hcIiB9LFxyXG4gICAgeyBpZDogXCJaSFRcIiwgdGV4dDogXCJDaGluZXNlIChUcmFkaXRpb25hbClcIiB9LFxyXG4gICAgeyBpZDogXCJISVwiLCB0ZXh0OiBcIkhpbmRpXCIgfSxcclxuICAgIHsgaWQ6IFwiQVJcIiwgdGV4dDogXCJBcmFiaWNcIiB9LFxyXG4gICAgeyBpZDogXCJCTlwiLCB0ZXh0OiBcIkJlbmdhbGlcIiB9LFxyXG4gICAgeyBpZDogXCJQVFwiLCB0ZXh0OiBcIlBvcnR1Z3Vlc2VcIiB9LFxyXG4gICAgeyBpZDogXCJSVVwiLCB0ZXh0OiBcIlJ1c3NpYW5cIiB9LFxyXG4gICAgeyBpZDogXCJKQVwiLCB0ZXh0OiBcIkphcGFuZXNlXCIgfSxcclxuICAgIHsgaWQ6IFwiREVcIiwgdGV4dDogXCJHZXJtYW5cIiB9LFxyXG4gICAgeyBpZDogXCJLT1wiLCB0ZXh0OiBcIktvcmVhblwiIH0sXHJcbiAgICB7IGlkOiBcIkZSXCIsIHRleHQ6IFwiRnJlbmNoXCIgfSxcclxuICAgIHsgaWQ6IFwiSVRcIiwgdGV4dDogXCJJdGFsaWFuXCIgfSxcclxuICAgIHsgaWQ6IFwiVFJcIiwgdGV4dDogXCJUdXJraXNoXCIgfSxcclxuICBdO1xyXG4gIHB1YmxpYyBwcm9tcHRRdWVyeSA9IFwiXCI7XHJcbiAgcHVibGljIGlzU2VudGltZW50Q2hlY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc3ViUXVlcnkgPSBcIlwiO1xyXG4gIHB1YmxpYyB0cmFuc2xhdGVsYW5ndWFnZSE6IHN0cmluZztcclxuICBwdWJsaWMgY2hpcFZhbHVlID0gXCJTdGFuZGFyZFwiO1xyXG4gIHB1YmxpYyBhcGlSZXN1bHREYXRhOiBhbnk7XHJcbiAgcHVibGljIEFJUmVzdWx0ITogc3RyaW5nO1xyXG4gIHRvb2xzOiBUb29sYmFyU2V0dGluZ3NNb2RlbCA9IHtcclxuICAgIGVuYWJsZUZsb2F0aW5nOiBmYWxzZSxcclxuICAgIGl0ZW1zOiBbXHJcbiAgICAgIHtcclxuICAgICAgICB0b29sdGlwVGV4dDogXCJBSSBBc3Npc3RcIixcclxuICAgICAgICB0ZW1wbGF0ZTpcclxuICAgICAgICAgICc8YnV0dG9uIGNsYXNzPVwiZS10YmFyLWJ0biBlLWJ0blwiIHRhYmluZGV4PVwiLTFcIiBpZD1cImFpX2Fzc2lzdGFudF9idXR0b25fdGJhclwiIHN0eWxlPVwid2lkdGg6MTAwJVwiPjxkaXYgY2xhc3M9XCJlLXJ0ZS1kcm9wZG93bi1idG4tdGV4dFwiPkFJIEFzc2lzdDwvZGl2PjwvYnV0dG9uPicsXHJcbiAgICAgIH0sXHJcbiAgICAgIFwiQm9sZFwiLFxyXG4gICAgICBcIkl0YWxpY1wiLFxyXG4gICAgICBcIlVuZGVybGluZVwiLFxyXG4gICAgICBcIlN0cmlrZVRocm91Z2hcIixcclxuICAgICAgXCJGb250TmFtZVwiLFxyXG4gICAgICBcIkZvbnRTaXplXCIsXHJcbiAgICAgIFwiRm9udENvbG9yXCIsXHJcbiAgICAgIFwiQmFja2dyb3VuZENvbG9yXCIsXHJcbiAgICAgIFwiTG93ZXJDYXNlXCIsXHJcbiAgICAgIFwiVXBwZXJDYXNlXCIsXHJcbiAgICAgIFwifFwiLFxyXG4gICAgICBcIkNyZWF0ZVRhYmxlXCIsXHJcbiAgICAgIFwiRm9ybWF0c1wiLFxyXG4gICAgICBcIkFsaWdubWVudHNcIixcclxuICAgICAge1xyXG4gICAgICAgIHRvb2x0aXBUZXh0OiBcIkxpbmUgSGVpZ2h0XCIsXHJcbiAgICAgICAgdGVtcGxhdGU6XHJcbiAgICAgICAgICAnPGJ1dHRvbiBjbGFzcz1cImUtdGJhci1idG4gZS1idG5cIiB0YWJpbmRleD1cIi0xXCIgaWQ9XCJsaW5laGVpZ2h0X3RiYXJcIiAgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+PC9idXR0b24+JyxcclxuICAgICAgfSxcclxuICAgICAgXCJPcmRlcmVkTGlzdFwiLFxyXG4gICAgICBcIlVub3JkZXJlZExpc3RcIixcclxuICAgICAgXCJPdXRkZW50XCIsXHJcbiAgICAgIFwiSW5kZW50XCIsXHJcbiAgICAgIFwifFwiLFxyXG4gICAgICBcIkNyZWF0ZUxpbmtcIixcclxuICAgICAge1xyXG4gICAgICAgIHRvb2x0aXBUZXh0OiBcIlwiLFxyXG4gICAgICAgIHRlbXBsYXRlOlxyXG4gICAgICAgICAgJzxidXR0b24gY2xhc3M9XCJlLXRiYXItYnRuIGUtYnRuXCIgdGFiaW5kZXg9XCItMVwiIGlkPVwiY3VzdG9tX3RiYXJcIiAgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+JyArXHJcbiAgICAgICAgICAnPGRpdiBjbGFzcz1cImUtdGJhci1idG4tdGV4dFwiIHN0eWxlPVwiZm9udC13ZWlnaHQ6IDUwMDtcIj48aW1nIHNyYz1cIi9hc3NldHMvaW1nL2ZpbGUtaWNvbi5zdmdcIiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTt0b3A6IC0ycHg7XCIvPjxkaXYgY2xhc3M9XCJ1cGxvYWRBY3Rpb25zXCI+PGRpdiBpZD1cInVwbG9hZEZyb21Vc2VyXCI+Q29tcHV0ZXIgRmlsZTwvZGl2PjxkaXYgaWQ9XCJyZWxhdGlvbkRvbVwiPlRpY2tldCBBdHRhY2htZW50PC9kaXY+PC9kaXY+PC9kaXY+PC9idXR0b24+JyxcclxuICAgICAgfSxcclxuICAgICAgXCJ8XCIsXHJcbiAgICAgIFwiRm9ybWF0UGFpbnRlclwiLFxyXG4gICAgICBcIkNsZWFyRm9ybWF0XCIsXHJcbiAgICAgIFwifFwiLFxyXG4gICAgICBcIlVuZG9cIixcclxuICAgICAgXCJSZWRvXCIsXHJcbiAgICAgIC8vJ1NvdXJjZUNvZGUnLFxyXG4gICAgXSxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgb25Db250ZW50Q2hhbmdlKGFyZ3MpIHtcclxuICAgIGNvbnN0IHRhYmxlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJ0YWJsZS5lLXJ0ZS10YWJsZVwiKTtcclxuICAgIHRhYmxlcy5mb3JFYWNoKCh0YWJsZSkgPT4ge1xyXG4gICAgICBjb25zdCBodG1sVGFibGUgPSB0YWJsZSBhcyBIVE1MVGFibGVFbGVtZW50O1xyXG4gICAgICBodG1sVGFibGUuc3R5bGUubWFyZ2luQm90dG9tID0gXCIxMHB4XCI7XHJcbiAgICAgIGh0bWxUYWJsZS5zdHlsZS5ib3JkZXJDb2xsYXBzZSA9IFwiY29sbGFwc2VcIjtcclxuICAgICAgaHRtbFRhYmxlLnN0eWxlLmVtcHR5Q2VsbHMgPSBcInNob3dcIjtcclxuICAgICAgY29uc3QgdGRFbGVtZW50cyA9IHRhYmxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJ0ZFwiKTtcclxuICAgICAgdGRFbGVtZW50cy5mb3JFYWNoKCh0ZCkgPT4ge1xyXG4gICAgICAgIHRkLnN0eWxlLmJvcmRlciA9IFwiMXB4IHNvbGlkICNhZGI1YmRcIjtcclxuICAgICAgICB0ZC5zdHlsZS5oZWlnaHQgPSBcIjIwcHhcIjtcclxuICAgICAgICB0ZC5zdHlsZS5taW5XaWR0aCA9IFwiMjBweFwiO1xyXG4gICAgICAgIHRkLnN0eWxlLnBhZGRpbmcgPSBcIjJweCA1cHhcIjtcclxuICAgICAgICB0ZC5zdHlsZS5ib3hTaXppbmcgPSBcImJvcmRlci1ib3hcIjtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2hhbmdlLmVtaXQoYXJncyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DcmVhdGUoKTogdm9pZCB7XHJcbiAgICAvL2JpbmQgdGhlIGEgY2xpY2sgZXZlbnRcclxuICAgIC8vIGxldCBlZGl0b3JDb250ZW50ID0gdGhpcy5ydGVPYmouY29udGVudE1vZHVsZS5nZXRFZGl0UGFuZWwoKSBhcyBIVE1MRWxlbWVudDtcclxuICAgIC8vIGVkaXRvckNvbnRlbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLk9uQ2xpY2tlZC5iaW5kKHRoaXMpKTtcclxuICAgIC8vYWRkIHRoZSBsaW5lIGhlaWdodFxyXG4gICAgdGhpcy5lZGl0b3JNYW5hZ2VyID0gdGhpcy5ydGVPYmouZm9ybWF0dGVyLmVkaXRvck1hbmFnZXI7XHJcbiAgICBsZXQgc3BsaXRCdXR0b24gPSBuZXcgRHJvcERvd25CdXR0b24oe1xyXG4gICAgICBpdGVtczogbGluZUhlaWdodF9pdGVtcyxcclxuICAgICAgaWNvbkNzczogXCJlLWljb25zIGUtbGluZS1zcGFjaW5nXCIsXHJcbiAgICAgIHNlbGVjdDogdGhpcy5vblNlbGVjdC5iaW5kKHRoaXMpLFxyXG4gICAgfSk7XHJcbiAgICBzcGxpdEJ1dHRvbi5hcHBlbmRUbyhcIiNsaW5laGVpZ2h0X3RiYXJcIik7XHJcbiAgICAvLyBhaSBhc3Npc3RcclxuICAgIGxldCBhaWFzc2lzdGFudEJ1dHRvbiA9IG5ldyBEcm9wRG93bkJ1dHRvbih7XHJcbiAgICAgIGl0ZW1zOiB0aGlzLnF1ZXJ5TGlzdCxcclxuICAgICAgLy8gaWNvbkNzczogXCJlLWJ0bi1pY29uIGUtaWNvbnMgZS1hc3Npc3R2aWV3LWljb24gZS1pY29uLWxlZnRcIixcclxuICAgICAgc2VsZWN0OiAoYXJncykgPT4gdGhpcy5haVF1ZXJ5U2VsZWN0ZWRNZW51KGFyZ3MpLFxyXG4gICAgfSk7XHJcbiAgICBhaWFzc2lzdGFudEJ1dHRvbi5hcHBlbmRUbyhcIiNhaV9hc3Npc3RhbnRfYnV0dG9uX3RiYXJcIik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uU2VsZWN0KGFyZ3MpIHtcclxuICAgIGlmICh0aGlzLnJ0ZU9iai5mb3JtYXR0ZXIuZ2V0VW5kb1JlZG9TdGFjaygpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnJ0ZU9iai5mb3JtYXR0ZXIuc2F2ZURhdGEoKTtcclxuICAgIH1cclxuICAgIGxldCBub2RlczogTm9kZVtdID0gdGhpcy5lZGl0b3JNYW5hZ2VyLmRvbU5vZGUuYmxvY2tOb2RlcygpO1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgbm9kZXMubGVuZ3RoID4gaTsgaSsrKSB7XHJcbiAgICAgIChub2Rlc1tpXSBhcyBIVE1MRWxlbWVudCkuc3R5bGUubGluZUhlaWdodCA9IGFyZ3MuaXRlbS50ZXh0O1xyXG4gICAgfVxyXG4gICAgdGhpcy5ydGVPYmouZm9ybWF0dGVyLnNhdmVEYXRhKCk7XHJcbiAgICB0aGlzLnJ0ZU9iai5mb3JtYXR0ZXIuZW5hYmxlVW5kbyh0aGlzLnJ0ZU9iaik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFpUXVlcnlTZWxlY3RlZE1lbnUoYXJnczogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZ3VlT3BlbihhcmdzLml0ZW0udGV4dCk7XHJcbiAgfVxyXG5cclxuICBkaWFsb2d1ZU9wZW4oc2VsZWN0ZWRRdWVyeTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB2YXIgc2VsZWN0aW9uVGV4dCA9IHRoaXMucnRlT2JqLmdldFNlbGVjdGVkSHRtbCgpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFF1ZXJ5ID0gc2VsZWN0ZWRRdWVyeTtcclxuICAgIGlmIChzZWxlY3Rpb25UZXh0KSB7XHJcbiAgICAgIGxldCByYW5nZTogUmFuZ2UgPSAoXHJcbiAgICAgICAgdGhpcy5ydGVPYmogYXMgYW55XHJcbiAgICAgICkuZm9ybWF0dGVyLmVkaXRvck1hbmFnZXIubm9kZVNlbGVjdGlvbi5nZXRSYW5nZShcclxuICAgICAgICAodGhpcy5ydGVPYmogYXMgYW55KS5jb250ZW50TW9kdWxlLmdldERvY3VtZW50KClcclxuICAgICAgKTtcclxuICAgICAgKHRoaXMucnRlT2JqIGFzIGFueSkuZm9ybWF0dGVyLmVkaXRvck1hbmFnZXIubm9kZVNlbGVjdGlvbi5zYXZlKFxyXG4gICAgICAgIHJhbmdlLFxyXG4gICAgICAgICh0aGlzLnJ0ZU9iaiBhcyBhbnkpLmNvbnRlbnRNb2R1bGUuZ2V0RG9jdW1lbnQoKVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmRyb3BWYWxJbmRleCA9IHRoaXMucXVlcnlMaXN0LmZpbmRJbmRleChcclxuICAgICAgICAocSkgPT4gcS50ZXh0LnRvTG93ZXJDYXNlKCkgPT09IHNlbGVjdGVkUXVlcnkudG9Mb3dlckNhc2UoKVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnF1ZXJ5Q2F0ZWdvcnkuaW5kZXggPSB0aGlzLmRyb3BWYWxJbmRleDtcclxuICAgICAgdGhpcy5sZWZ0UnRlLnZhbHVlID0gdGhpcy5wcm9tcHRRdWVyeSA9IHNlbGVjdGlvblRleHQ7XHJcbiAgICAgIHRoaXMubGVmdFJ0ZS5yZWZyZXNoVUkoKTtcclxuICAgICAgdGhpcy5BSWRpYWxvZy5zaG93KCk7XHJcbiAgICAgIHRoaXMudXBkYXRlQUlTdWdlc3N0aW9uc0RhdGEoc2VsZWN0ZWRRdWVyeSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dNc2cgPSB0cnVlO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnNob3dNc2cgPSBmYWxzZTtcclxuICAgICAgfSwgMzAwMCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiUGxlYXNlIHNlbGVjdCB0aGUgY29udGVudCB0byBwZXJmb3JtIHRoZSBBSSBvcGVyYXRpb24uXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlQUlTdWdlc3N0aW9uc0RhdGEoc2VsZWN0ZWRRdWVyeTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzU2VudGltZW50Q2hlY2sgPSBmYWxzZTtcclxuICAgIHN3aXRjaCAoc2VsZWN0ZWRRdWVyeSkge1xyXG4gICAgICBjYXNlIFwiU3VtbWFyaXplXCI6XHJcbiAgICAgICAgdGhpcy5zdWJRdWVyeSA9IFwiU3VtbWFyaXplIHRoZSB1cGNvbWluZyBzZW50ZW5jZSBzaG9ydGx5LlwiO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiRWxhYm9yYXRlXCI6XHJcbiAgICAgICAgdGhpcy5zdWJRdWVyeSA9IFwiRWxhYm9yYXRlIG9uIHRoZSB1cGNvbWluZyBzZW50ZW5jZS5cIjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIlJlcGhyYXNlXCI6XHJcbiAgICAgICAgdGhpcy5zdWJRdWVyeSA9IHRoaXMuY2hpcFZhbHVlICsgXCIgcmVwaHJhc2UgdGhlIHVwY29taW5nIHNlbnRlbmNlLlwiO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiQ29ycmVjdCBHcmFtbWFyXCI6XHJcbiAgICAgICAgdGhpcy5zdWJRdWVyeSA9IFwiQ29ycmVjdCB0aGUgZ3JhbW1hciBvZiB0aGUgdXBjb21pbmcgc2VudGVuY2UuXCI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJUcmFuc2xhdGVcIjpcclxuICAgICAgICB0aGlzLnN1YlF1ZXJ5ID1cclxuICAgICAgICAgIFwiVHJhbnNsYXRlIHRoZSB1cGNvbWluZyBzZW50ZW5jZSB0byBcIiArIHRoaXMudHJhbnNsYXRlbGFuZ3VhZ2UgKyBcIi5cIjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIlNlbnRpbWVudCBBbmFseXNpc1wiOlxyXG4gICAgICAgIHRoaXMuaXNTZW50aW1lbnRDaGVjayA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zdWJRdWVyeSA9XHJcbiAgICAgICAgICAnQW5hbHl6ZSB0aGUgc2VudGltZW50IGFuZCBncmFtbWFyIG9mIHRoZSBmb2xsb3dpbmcgcGFyYWdyYXBocyBhbmQgcHJvdmlkZSB0aGUgZXhwcmVzc2lvbiBzY29yZSB3aXRoIGFuIGVtb2ppIGZvbGxvd2VkIGJ5IHRoZSBzZW50aW1lbnQgaW4gdGhlIGZvcm1hdDogXCLwn5iKIE5ldXRyYWxcIi4gXFxuXFxuTk9URTogQXZvaWQgYW55IGFkZGl0aW9uYWwgdGV4dCBvciBleHBsYW5hdGlvbjonO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGVBSVN1Z2Vzc3Rpb25zKCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVBSVN1Z2Vzc3Rpb25zKCk6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKHRoaXMucHJvbXB0UXVlcnkpIHtcclxuICAgICAgICAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJza2VsZXRvbklkXCIpIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID1cclxuICAgICAgICAgIFwiXCI7XHJcbiAgICAgICAgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwicmlnaHRSdGVcIikgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPVxyXG4gICAgICAgICAgXCJub25lXCI7XHJcbiAgICAgICAgdGhpcy5zZW50aW1lbnRCdXR0b24uZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XHJcbiAgICAgICAgdGhpcy5yZWdlbmVyYXRlQnV0dG9uLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNvcHlCdXR0b24uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMucmVwbGFjZUJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5hcGlSZXN1bHREYXRhID0gdGhpcy5nZXRSZXNwb25zZUZyb21PcGVuQUkoXHJcbiAgICAgICAgICB0aGlzLnN1YlF1ZXJ5LFxyXG4gICAgICAgICAgdGhpcy5wcm9tcHRRdWVyeVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5hcGlSZXN1bHREYXRhLnRoZW4oKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLkFJUmVzdWx0ID0gdGhpcy5pc1NlbnRpbWVudENoZWNrID8gdGhpcy5wcm9tcHRRdWVyeSA6IHJlc3VsdDtcclxuICAgICAgICAgIHRoaXMuc2VudGltZW50QnV0dG9uLmNvbnRlbnQgPSByZXN1bHRcclxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgLmluY2x1ZGVzKFwicG9zaXRpdmVcIilcclxuICAgICAgICAgICAgPyBcIvCfmIogUG9zaXRpdmVcIlxyXG4gICAgICAgICAgICA6IHJlc3VsdC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwibmVnYXRpdmVcIilcclxuICAgICAgICAgICAgPyBcIvCfmJ4gTmVnYXRpdmVcIlxyXG4gICAgICAgICAgICA6IFwi8J+YkCBOZXV0cmFsXCI7XHJcbiAgICAgICAgICB0aGlzLnNlbnRpbWVudEJ1dHRvbi5lbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAhdGhpcy5pc1NlbnRpbWVudENoZWNrXHJcbiAgICAgICAgICAgID8gXCJub25lXCJcclxuICAgICAgICAgICAgOiBcIlwiO1xyXG4gICAgICAgICAgdGhpcy5yaWdodFJ0ZS52YWx1ZSA9IHRoaXMuQUlSZXN1bHQ7XHJcbiAgICAgICAgICB2YXIgbm9SZXN1bHRzRm91bmQgPSAhKHRoaXMuQUlSZXN1bHQgfHwgdGhpcy5wcm9tcHRRdWVyeSk7XHJcbiAgICAgICAgICAoXHJcbiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwibm8tcmVzdWx0cy1mb3VuZFwiKSBhcyBIVE1MRWxlbWVudFxyXG4gICAgICAgICAgKS5zdHlsZS5kaXNwbGF5ID0gbm9SZXN1bHRzRm91bmQgPyBcIlwiIDogXCJub25lXCI7XHJcbiAgICAgICAgICB0aGlzLnJlZ2VuZXJhdGVCdXR0b24uZGlzYWJsZWQgPSBub1Jlc3VsdHNGb3VuZDtcclxuICAgICAgICAgIHRoaXMuY29weUJ1dHRvbi5kaXNhYmxlZCA9IG5vUmVzdWx0c0ZvdW5kO1xyXG4gICAgICAgICAgdGhpcy5yZXBsYWNlQnV0dG9uLmRpc2FibGVkID0gbm9SZXN1bHRzRm91bmQ7XHJcbiAgICAgICAgICAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJza2VsZXRvbklkXCIpIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID1cclxuICAgICAgICAgICAgXCJub25lXCI7XHJcbiAgICAgICAgICAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJyaWdodFJ0ZVwiKSBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9XHJcbiAgICAgICAgICAgIG5vUmVzdWx0c0ZvdW5kID8gXCJub25lXCIgOiBcIlwiO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXHJcbiAgICAgICAgICAgIG5vUmVzdWx0c0ZvdW5kLFxyXG4gICAgICAgICAgICAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJyaWdodFJ0ZVwiKSBhcyBIVE1MRWxlbWVudCkuc3R5bGVcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICAvLyB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCB7XHJcbiAgICAgIC8vIHRoaXMudG9hc3RPYmouc2hvdygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0UmVzcG9uc2VGcm9tT3BlbkFJKFxyXG4gICAgc3ViUXVlcnk6IHN0cmluZyxcclxuICAgIHByb21wdFF1ZXJ5OiBzdHJpbmdcclxuICApOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgY29uc3QgY29udGVudCA9IGF3YWl0IE9wZW5BaU1vZGVsUlRFKHN1YlF1ZXJ5LCBwcm9tcHRRdWVyeSk7XHJcbiAgICByZXR1cm4gY29udGVudCA/IChjb250ZW50IGFzIHN0cmluZykgOiBcIlwiO1xyXG4gIH1cclxuXHJcbiAgZGlhbG9nU2hvdygpOiB2b2lkIHtcclxuICAgIHRoaXMucmVnZW5lcmF0ZUJ1dHRvbiEuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xyXG4gICAgICB0aGlzLnVwZGF0ZUFJU3VnZXNzdGlvbnMoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jb3B5QnV0dG9uIS5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuY29weVRleHRUb0NsaXBib2FyZCh0aGlzLkFJUmVzdWx0KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZXBsYWNlQnV0dG9uIS5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgICAgIGxldCByYW5nZTogUmFuZ2UgPSAoXHJcbiAgICAgICAgdGhpcy5ydGVPYmogYXMgYW55XHJcbiAgICAgICkuZm9ybWF0dGVyLmVkaXRvck1hbmFnZXIubm9kZVNlbGVjdGlvbi5nZXRSYW5nZShcclxuICAgICAgICAodGhpcy5ydGVPYmogYXMgYW55KS5jb250ZW50TW9kdWxlLmdldERvY3VtZW50KClcclxuICAgICAgKTtcclxuICAgICAgKHRoaXMucnRlT2JqIGFzIGFueSkuZm9ybWF0dGVyLmVkaXRvck1hbmFnZXIubm9kZVNlbGVjdGlvbi5yZXN0b3JlKHJhbmdlKTtcclxuICAgICAgKHRoaXMucnRlT2JqIGFzIGFueSkuZXhlY3V0ZUNvbW1hbmQoXCJpbnNlcnRIVE1MXCIsIHRoaXMuQUlSZXN1bHQsIHtcclxuICAgICAgICB1bmRvOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5jbG9zZURpYWxvZygpO1xyXG4gICAgfSk7XHJcbiAgICAodGhpcy5BSWRpYWxvZyBhcyBEaWFsb2dDb21wb25lbnQpLmVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IFwiXCI7XHJcbiAgfVxyXG5cclxuICBjbG9zZURpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuQUlkaWFsb2cuaGlkZSgpO1xyXG4gICAgdGhpcy5yaWdodFJ0ZS52YWx1ZSA9IFwiXCI7XHJcbiAgICB0aGlzLmxlZnRSdGUudmFsdWUgPSBcIlwiO1xyXG4gICAgdGhpcy5wcm9tcHRRdWVyeSA9IFwiXCI7XHJcbiAgICB0aGlzLmNoaXBWYWx1ZSA9IFwiU3RhbmRhcmRcIjtcclxuICAgIHRoaXMuQUlSZXN1bHQgPSBcIlwiO1xyXG4gICAgdGhpcy5kcm9wVmFsSW5kZXggPSAwO1xyXG4gICAgdGhpcy5zZWxlY3RlZFF1ZXJ5ID0gXCJSZXBocmFzZVwiO1xyXG4gICAgdGhpcy5zZW50aW1lbnRCdXR0b24uY29udGVudCA9IFwi8J+YiiBOZXV0cmFsXCI7XHJcbiAgfVxyXG5cclxuICBjb3B5VGV4dFRvQ2xpcGJvYXJkKHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKG5hdmlnYXRvci5jbGlwYm9hcmQpIHtcclxuICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZFxyXG4gICAgICAgIC53cml0ZVRleHQodGV4dClcclxuICAgICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIlRleHQgY29waWVkIHRvIGNsaXBib2FyZCBzdWNjZXNzZnVsbHkhXCIpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJGYWlsZWQgdG8gY29weSB0ZXh0OiBcIiwgZXJyKTtcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IHRoZSBDbGlwYm9hcmQgQVBJXHJcbiAgICAgIGNvbnN0IHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRleHRhcmVhXCIpO1xyXG4gICAgICB0ZXh0YXJlYS52YWx1ZSA9IHRleHQ7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGV4dGFyZWEpO1xyXG4gICAgICB0ZXh0YXJlYS5zZWxlY3QoKTtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZChcImNvcHlcIik7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJUZXh0IGNvcGllZCB0byBjbGlwYm9hcmQgdXNpbmcgZXhlY0NvbW1hbmRcIik7XHJcbiAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJGYWlsZWQgdG8gY29weSB0ZXh0OiBcIiwgZXJyKTtcclxuICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRleHRhcmVhKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25PdmVybGF5Q2xpY2soKTogdm9pZCB7XHJcbiAgICBsZXQgYWN0aXZlRWxlOiBIVE1MRWxlbWVudCB8IG51bGwgPSB0aGlzLkFJZGlhbG9nLmVsZW1lbnQucXVlcnlTZWxlY3RvcihcclxuICAgICAgXCIuY2hhcl9ibG9jay5lLWFjdGl2ZVwiXHJcbiAgICApO1xyXG4gICAgaWYgKGFjdGl2ZUVsZSkge1xyXG4gICAgICBhY3RpdmVFbGUuY2xhc3NMaXN0LnJlbW92ZShcImUtYWN0aXZlXCIpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jbG9zZURpYWxvZygpO1xyXG4gIH1cclxuXHJcbiAgb25RdWVyeVNlbGVjdChhcmdzKSB7XHJcbiAgICAvLyB0aGlzLmNoaXBMaXN0LnNlbGVjdGVkQ2hpcHMgPSAwO1xyXG4gICAgdGhpcy50cmFuc2xhdGVsYW5ndWFnZSA9IFwiRU5cIjtcclxuICAgIHRoaXMuc2VsZWN0ZWRRdWVyeSA9IGFyZ3MuaXRlbURhdGEudGV4dDtcclxuICAgIHRoaXMudXBkYXRlQUlTdWdlc3N0aW9uc0RhdGEoYXJncy5pdGVtRGF0YS50ZXh0KTtcclxuICB9XHJcblxyXG4gIG9uTGFuZ3VhZ2VTZWxlY3QoYXJnczogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZWxhbmd1YWdlID0gYXJncy5pdGVtRGF0YS5pZDtcclxuICAgIHRoaXMudXBkYXRlQUlTdWdlc3N0aW9uc0RhdGEoXCJUcmFuc2xhdGVcIik7XHJcbiAgfVxyXG5cclxuICBvbkNoaXBDbGljayhhcmdzOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hpcFZhbHVlID0gYXJncy5pdGVtRGF0YS50ZXh0O1xyXG4gICAgLy8g5LqL5Lu25Lya6Kem5Y+R5Lik5qyhIOW/hemhu+WIpOaWrWFyZ3MudGV4dOaYr+WQpuacieWAvFxyXG4gICAgaWYgKGFyZ3MuaXRlbURhdGEudGV4dCkgdGhpcy51cGRhdGVBSVN1Z2Vzc3Rpb25zRGF0YShcIlJlcGhyYXNlXCIpO1xyXG4gIH1cclxuXHJcbiAgX3Rvb2xiYXJDbGljayhhcmdzKSB7XHJcbiAgICB0aGlzLnRvb2xiYXJDbGljay5lbWl0KGFyZ3MpO1xyXG4gIH1cclxuXHJcbiAgaGlkZVRvYXN0KCkge1xyXG4gICAgdGhpcy5zaG93TXNnID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvblpvb20oKSB7XHJcbiAgICBpZiAodGhpcy5zaXplID09PSBcImxhcmdlc3RcIikge1xyXG4gICAgICB0aGlzLnNpemUgPSBcIlwiOyAvLyDmgaLlpI3liLDljp/lp4vlpKflsI9cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2l6ZSA9IFwibGFyZ2VzdFwiOyAvLyDorr7nva7kuLrmnIDlpKfljJZcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
601
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL3JpY2h0ZXh0ZWRpdG9yL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUVULGlCQUFpQixFQUNqQixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLHFCQUFxQixHQUN0QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFLTCx1QkFBdUIsR0FFeEIsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsZUFBZSxHQUVoQixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFLakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMzQyxNQUFNLE9BQU8sdUJBQXVCOzs7O0lBa0lsQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjs7UUE5R2pDLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxXQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ2IsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsV0FBTSxHQUFHLFlBQVksQ0FBQyxDQUFDLGNBQWM7O1FBRXBDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQzs7UUFHdEMs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SUFDN0MsMENBQ3lDOztJQUN6QywyQ0FDMEM7O0lBQzFDLDJDQUEyRTs7SUFDM0Usa0RBQ3lDOztJQUN6QyxtREFDMEM7O0lBQzFDLDZDQUNvQzs7SUFDcEMsZ0RBQ3VDOztJQUd2Qyw4Q0FBMEI7O0lBQzFCLHdDQUFvQjs7SUFDcEIseUNBQXNCOztJQUN0QixpREFBK0I7O0lBQy9CLHlDQUErQjs7SUFFL0IsK0NBQTRDOztJQUM1Qyx5Q0FBc0M7O0lBR3RDLHlDQUFvQjs7SUFDcEIsOENBQXNCOztJQUN0QiwrQ0FBdUI7O0lBQ3ZCLDhDQUFtQjs7SUFDbkIsMENBQWdCOztJQUNoQixzREFJRTs7SUFDRixnREFBbUI7O0lBQ25CLHVDQUFVOztJQUNWLGdEQUFjOztJQUNkLCtDQUF3Qjs7SUFDeEIsNENBT0U7O0lBQ0YsbURBSUU7O0lBQ0YsK0NBZ0JFOztJQUNGLDhDQUF3Qjs7SUFDeEIsbURBQXlDOztJQUN6QywyQ0FBcUI7O0lBQ3JCLG9EQUFrQzs7SUFDbEMsNENBQThCOztJQUM5QixnREFBMEI7O0lBQzFCLDJDQUF5Qjs7SUFDekIsd0NBK0NFOzs7OztJQUVVLHNDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgQXV0b0NvbXBsZXRlQ29tcG9uZW50LFxyXG4gIERyb3BEb3duTGlzdENvbXBvbmVudCxcclxufSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItZHJvcGRvd25zXCI7XHJcbmltcG9ydCB7XHJcbiAgVG9vbGJhclNlcnZpY2UsXHJcbiAgTGlua1NlcnZpY2UsXHJcbiAgSW1hZ2VTZXJ2aWNlLFxyXG4gIEh0bWxFZGl0b3JTZXJ2aWNlLFxyXG4gIFJpY2hUZXh0RWRpdG9yQ29tcG9uZW50LFxyXG4gIFRvb2xiYXJTZXR0aW5nc01vZGVsLFxyXG59IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1yaWNodGV4dGVkaXRvclwiO1xyXG5pbXBvcnQge1xyXG4gIEJ1dHRvbkNvbXBvbmVudCxcclxuICBDaGlwTGlzdENvbXBvbmVudCxcclxufSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYnV0dG9uc1wiO1xyXG5pbXBvcnQgeyBFbWl0VHlwZSB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYmFzZVwiO1xyXG5pbXBvcnQgeyBEcm9wRG93bkJ1dHRvbiB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1zcGxpdGJ1dHRvbnNcIjtcclxuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXBvcHVwc1wiO1xyXG4vLyBzZXJ2aWNlXHJcbi8vIGltcG9ydCB7IFBiRnVuU2VydmljZSB9IGZyb20gXCJAYXBwL3NlcnZpY2VzL3BiLWZ1bi5zZXJ2aWNlXCI7XHJcbi8vIGltcG9ydCB7IFNoYXJlZFN5bmNmdXNpb25Nb2R1bGUgfSBmcm9tIFwiQGFwcC9tb2R1bGUvc3luY2Z1c2lvbk1vZHVsZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE9wZW5BaU1vZGVsUlRFIH0gZnJvbSBcIi4vb3BlbmFwaVwiO1xyXG5pbXBvcnQgeyBsaW5lSGVpZ2h0X2l0ZW1zIH0gZnJvbSBcIi4vZGF0YS1jb25maWdcIjtcclxuaW1wb3J0IHsgZm9udEZhbWlseSB9IGZyb20gXCIuL2RhdGEtY29uZmlnXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy1yaWNodGV4dC1lZGl0b3JcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gIC8vIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgLy8gaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2hhcmVkU3luY2Z1c2lvbk1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSaWNodGV4dGVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZChcImVkaXRvclwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwdWJsaWMgcnRlT2JqOiBSaWNoVGV4dEVkaXRvckNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKFwicXVlcnlDYXRlZ29yeVwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwdWJsaWMgcXVlcnlDYXRlZ29yeSE6IERyb3BEb3duTGlzdENvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKFwibGVmdFJ0ZVwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwdWJsaWMgbGVmdFJ0ZSE6IFJpY2hUZXh0RWRpdG9yQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoXCJyaWdodFJ0ZVwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwdWJsaWMgcmlnaHRSdGUhOiBSaWNoVGV4dEVkaXRvckNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKFwiQUlkaWFsb2dcIiwgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIEFJZGlhbG9nITogRGlhbG9nQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoXCJzZW50aW1lbnRCdXR0b25cIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIHNlbnRpbWVudEJ1dHRvbiE6IEJ1dHRvbkNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKFwicmVnZW5lcmF0ZUJ1dHRvblwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwdWJsaWMgcmVnZW5lcmF0ZUJ1dHRvbiE6IEJ1dHRvbkNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKFwiY29weUJ1dHRvblwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwdWJsaWMgY29weUJ1dHRvbiE6IEJ1dHRvbkNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKFwicmVwbGFjZUJ1dHRvblwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwdWJsaWMgcmVwbGFjZUJ1dHRvbiE6IEJ1dHRvbkNvbXBvbmVudDtcclxuICAvLyBAVmlld0NoaWxkKFwiY2hpcExpc3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHB1YmxpYyBjaGlwTGlzdCE6IENoaXBMaXN0Q29tcG9uZW50O1xyXG5cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9IFwiXCI7XHJcbiAgQElucHV0KCkgdmFsdWUgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIGhlaWdodCA9IDE1MDtcclxuICBASW5wdXQoKSBhdXRvU2F2ZU9uSWRsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgdGFyZ2V0ID0gXCIjY29udGFpbmVyXCI7IC8vIGRpYWxvZyDlvLnnqpfniLbnuqdcclxuXHJcbiAgQE91dHB1dCgpIHRvb2xiYXJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8vIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGZhbWlseSA9IGZvbnRGYW1pbHk7XHJcbiAgZGlhbG9nV2lkdGggPSBcIjgwMHB4XCI7XHJcbiAgZGlhbG9nSGVpZ2h0ID0gXCI2NDJweFwiO1xyXG4gIHNob3dab29tQnRuID0gdHJ1ZTtcclxuICBzaG93TXNnID0gZmFsc2U7XHJcbiAgaW5zZXJ0SW1hZ2VTZXR0aW5ncyA9IHtcclxuICAgIHNhdmVGb3JtYXQ6IFwiQmxvYlwiLFxyXG4gICAgYWxsb3dlZFR5cGVzOiBbXCIuc3ZnXCIsIFwiLnBuZ1wiXSxcclxuICAgIGRpc3BsYXk6IFwibm9uZVwiLFxyXG4gIH07XHJcbiAgZWRpdG9yTWFuYWdlcjogYW55O1xyXG4gIHNpemUgPSBcIlwiO1xyXG4gIHNlbGVjdGVkUXVlcnk7XHJcbiAgcHVibGljIGRyb3BWYWxJbmRleCA9IDA7XHJcbiAgcHVibGljIHF1ZXJ5TGlzdDogeyBpZDogc3RyaW5nOyB0ZXh0OiBzdHJpbmcgfVtdID0gW1xyXG4gICAgeyBpZDogXCJSZXBocmFzZVwiLCB0ZXh0OiBcIlJlcGhyYXNlXCIgfSxcclxuICAgIHsgaWQ6IFwiR3JhbW1hclwiLCB0ZXh0OiBcIkNvcnJlY3QgR3JhbW1hclwiIH0sXHJcbiAgICB7IGlkOiBcIlN1bW1hcml6ZVwiLCB0ZXh0OiBcIlN1bW1hcml6ZVwiIH0sXHJcbiAgICB7IGlkOiBcIkVsYWJvcmF0ZVwiLCB0ZXh0OiBcIkVsYWJvcmF0ZVwiIH0sXHJcbiAgICB7IGlkOiBcIlRyYW5zbGF0ZVwiLCB0ZXh0OiBcIlRyYW5zbGF0ZVwiIH0sXHJcbiAgICB7IGlkOiBcIlNlbnRpbWVudEFuYWx5c2lzXCIsIHRleHQ6IFwiU2VudGltZW50IEFuYWx5c2lzXCIgfSxcclxuICBdO1xyXG4gIHB1YmxpYyByZXBocmFzZVR5bGVMaXN0ID0gW1xyXG4gICAgeyB0ZXh0OiBcIlN0YW5kYXJkXCIsIGlkOiBcIlN0YW5kYXJkXCIgfSxcclxuICAgIHsgdGV4dDogXCJGbHVlbnRcIiwgaWQ6IFwiRmx1ZW50XCIgfSxcclxuICAgIHsgdGV4dDogXCJQcm9mZXNzaW9uYWxcIiwgaWQ6IFwiUHJvZmVzc2lvbmFsXCIgfSxcclxuICBdO1xyXG4gIHB1YmxpYyBsYW5ndWFnZUxpc3Q6IHsgaWQ6IHN0cmluZzsgdGV4dDogc3RyaW5nIH1bXSA9IFtcclxuICAgIHsgaWQ6IFwiRU5cIiwgdGV4dDogXCJFbmdsaXNoXCIgfSxcclxuICAgIHsgaWQ6IFwiWkhcIiwgdGV4dDogXCJDaGluZXNlIChTaW1wbGlmaWVkKVwiIH0sXHJcbiAgICB7IGlkOiBcIkVTXCIsIHRleHQ6IFwiU3BhbmlzaFwiIH0sXHJcbiAgICB7IGlkOiBcIlpIVFwiLCB0ZXh0OiBcIkNoaW5lc2UgKFRyYWRpdGlvbmFsKVwiIH0sXHJcbiAgICB7IGlkOiBcIkhJXCIsIHRleHQ6IFwiSGluZGlcIiB9LFxyXG4gICAgeyBpZDogXCJBUlwiLCB0ZXh0OiBcIkFyYWJpY1wiIH0sXHJcbiAgICB7IGlkOiBcIkJOXCIsIHRleHQ6IFwiQmVuZ2FsaVwiIH0sXHJcbiAgICB7IGlkOiBcIlBUXCIsIHRleHQ6IFwiUG9ydHVndWVzZVwiIH0sXHJcbiAgICB7IGlkOiBcIlJVXCIsIHRleHQ6IFwiUnVzc2lhblwiIH0sXHJcbiAgICB7IGlkOiBcIkpBXCIsIHRleHQ6IFwiSmFwYW5lc2VcIiB9LFxyXG4gICAgeyBpZDogXCJERVwiLCB0ZXh0OiBcIkdlcm1hblwiIH0sXHJcbiAgICB7IGlkOiBcIktPXCIsIHRleHQ6IFwiS29yZWFuXCIgfSxcclxuICAgIHsgaWQ6IFwiRlJcIiwgdGV4dDogXCJGcmVuY2hcIiB9LFxyXG4gICAgeyBpZDogXCJJVFwiLCB0ZXh0OiBcIkl0YWxpYW5cIiB9LFxyXG4gICAgeyBpZDogXCJUUlwiLCB0ZXh0OiBcIlR1cmtpc2hcIiB9LFxyXG4gIF07XHJcbiAgcHVibGljIHByb21wdFF1ZXJ5ID0gXCJcIjtcclxuICBwdWJsaWMgaXNTZW50aW1lbnRDaGVjazogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzdWJRdWVyeSA9IFwiXCI7XHJcbiAgcHVibGljIHRyYW5zbGF0ZWxhbmd1YWdlITogc3RyaW5nO1xyXG4gIHB1YmxpYyBjaGlwVmFsdWUgPSBcIlN0YW5kYXJkXCI7XHJcbiAgcHVibGljIGFwaVJlc3VsdERhdGE6IGFueTtcclxuICBwdWJsaWMgQUlSZXN1bHQhOiBzdHJpbmc7XHJcbiAgdG9vbHM6IFRvb2xiYXJTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgZW5hYmxlRmxvYXRpbmc6IGZhbHNlLFxyXG4gICAgaXRlbXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIHRvb2x0aXBUZXh0OiBcIkFJIEFzc2lzdFwiLFxyXG4gICAgICAgIHRlbXBsYXRlOlxyXG4gICAgICAgICAgJzxidXR0b24gY2xhc3M9XCJlLXRiYXItYnRuIGUtYnRuXCIgdGFiaW5kZXg9XCItMVwiIGlkPVwiYWlfYXNzaXN0YW50X2J1dHRvbl90YmFyXCIgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+PGRpdiBjbGFzcz1cImUtcnRlLWRyb3Bkb3duLWJ0bi10ZXh0XCI+QUkgQXNzaXN0PC9kaXY+PC9idXR0b24+JyxcclxuICAgICAgfSxcclxuICAgICAgXCJCb2xkXCIsXHJcbiAgICAgIFwiSXRhbGljXCIsXHJcbiAgICAgIFwiVW5kZXJsaW5lXCIsXHJcbiAgICAgIFwiU3RyaWtlVGhyb3VnaFwiLFxyXG4gICAgICBcIkZvbnROYW1lXCIsXHJcbiAgICAgIFwiRm9udFNpemVcIixcclxuICAgICAgXCJGb250Q29sb3JcIixcclxuICAgICAgXCJCYWNrZ3JvdW5kQ29sb3JcIixcclxuICAgICAgXCJMb3dlckNhc2VcIixcclxuICAgICAgXCJVcHBlckNhc2VcIixcclxuICAgICAgXCJ8XCIsXHJcbiAgICAgIFwiQ3JlYXRlVGFibGVcIixcclxuICAgICAgXCJGb3JtYXRzXCIsXHJcbiAgICAgIFwiQWxpZ25tZW50c1wiLFxyXG4gICAgICB7XHJcbiAgICAgICAgdG9vbHRpcFRleHQ6IFwiTGluZSBIZWlnaHRcIixcclxuICAgICAgICB0ZW1wbGF0ZTpcclxuICAgICAgICAgICc8YnV0dG9uIGNsYXNzPVwiZS10YmFyLWJ0biBlLWJ0blwiIHRhYmluZGV4PVwiLTFcIiBpZD1cImxpbmVoZWlnaHRfdGJhclwiICBzdHlsZT1cIndpZHRoOjEwMCVcIj48L2J1dHRvbj4nLFxyXG4gICAgICB9LFxyXG4gICAgICBcIk9yZGVyZWRMaXN0XCIsXHJcbiAgICAgIFwiVW5vcmRlcmVkTGlzdFwiLFxyXG4gICAgICBcIk91dGRlbnRcIixcclxuICAgICAgXCJJbmRlbnRcIixcclxuICAgICAgXCJ8XCIsXHJcbiAgICAgIFwiQ3JlYXRlTGlua1wiLFxyXG4gICAgICB7XHJcbiAgICAgICAgdG9vbHRpcFRleHQ6IFwiXCIsXHJcbiAgICAgICAgdGVtcGxhdGU6XHJcbiAgICAgICAgICAnPGJ1dHRvbiBjbGFzcz1cImUtdGJhci1idG4gZS1idG5cIiB0YWJpbmRleD1cIi0xXCIgaWQ9XCJjdXN0b21fdGJhclwiICBzdHlsZT1cIndpZHRoOjEwMCVcIj4nICtcclxuICAgICAgICAgICc8ZGl2IGNsYXNzPVwiZS10YmFyLWJ0bi10ZXh0XCIgc3R5bGU9XCJmb250LXdlaWdodDogNTAwO1wiPjxpbWcgc3JjPVwiL2Fzc2V0cy9pbWcvZmlsZS1pY29uLnN2Z1wiIHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlO3RvcDogLTJweDtcIi8+PGRpdiBjbGFzcz1cInVwbG9hZEFjdGlvbnNcIj48ZGl2IGlkPVwidXBsb2FkRnJvbVVzZXJcIj5Db21wdXRlciBGaWxlPC9kaXY+PGRpdiBpZD1cInJlbGF0aW9uRG9tXCI+VGlja2V0IEF0dGFjaG1lbnQ8L2Rpdj48L2Rpdj48L2Rpdj48L2J1dHRvbj4nLFxyXG4gICAgICB9LFxyXG4gICAgICBcInxcIixcclxuICAgICAgXCJGb3JtYXRQYWludGVyXCIsXHJcbiAgICAgIFwiQ2xlYXJGb3JtYXRcIixcclxuICAgICAgXCJ8XCIsXHJcbiAgICAgIFwiVW5kb1wiLFxyXG4gICAgICBcIlJlZG9cIixcclxuICAgICAgLy8nU291cmNlQ29kZScsXHJcbiAgICBdLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICBvbkNvbnRlbnRDaGFuZ2UoYXJncykge1xyXG4gICAgY29uc3QgdGFibGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcInRhYmxlLmUtcnRlLXRhYmxlXCIpO1xyXG4gICAgdGFibGVzLmZvckVhY2goKHRhYmxlKSA9PiB7XHJcbiAgICAgIGNvbnN0IGh0bWxUYWJsZSA9IHRhYmxlIGFzIEhUTUxUYWJsZUVsZW1lbnQ7XHJcbiAgICAgIGh0bWxUYWJsZS5zdHlsZS5tYXJnaW5Cb3R0b20gPSBcIjEwcHhcIjtcclxuICAgICAgaHRtbFRhYmxlLnN0eWxlLmJvcmRlckNvbGxhcHNlID0gXCJjb2xsYXBzZVwiO1xyXG4gICAgICBodG1sVGFibGUuc3R5bGUuZW1wdHlDZWxscyA9IFwic2hvd1wiO1xyXG4gICAgICBjb25zdCB0ZEVsZW1lbnRzID0gdGFibGUucXVlcnlTZWxlY3RvckFsbChcInRkXCIpO1xyXG4gICAgICB0ZEVsZW1lbnRzLmZvckVhY2goKHRkKSA9PiB7XHJcbiAgICAgICAgdGQuc3R5bGUuYm9yZGVyID0gXCIxcHggc29saWQgI2FkYjViZFwiO1xyXG4gICAgICAgIHRkLnN0eWxlLmhlaWdodCA9IFwiMjBweFwiO1xyXG4gICAgICAgIHRkLnN0eWxlLm1pbldpZHRoID0gXCIyMHB4XCI7XHJcbiAgICAgICAgdGQuc3R5bGUucGFkZGluZyA9IFwiMnB4IDVweFwiO1xyXG4gICAgICAgIHRkLnN0eWxlLmJveFNpemluZyA9IFwiYm9yZGVyLWJveFwiO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jaGFuZ2UuZW1pdChhcmdzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNyZWF0ZSgpOiB2b2lkIHtcclxuICAgIC8vYmluZCB0aGUgYSBjbGljayBldmVudFxyXG4gICAgLy8gbGV0IGVkaXRvckNvbnRlbnQgPSB0aGlzLnJ0ZU9iai5jb250ZW50TW9kdWxlLmdldEVkaXRQYW5lbCgpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgLy8gZWRpdG9yQ29udGVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuT25DbGlja2VkLmJpbmQodGhpcykpO1xyXG4gICAgLy9hZGQgdGhlIGxpbmUgaGVpZ2h0XHJcbiAgICB0aGlzLmVkaXRvck1hbmFnZXIgPSB0aGlzLnJ0ZU9iai5mb3JtYXR0ZXIuZWRpdG9yTWFuYWdlcjtcclxuICAgIGxldCBzcGxpdEJ1dHRvbiA9IG5ldyBEcm9wRG93bkJ1dHRvbih7XHJcbiAgICAgIGl0ZW1zOiBsaW5lSGVpZ2h0X2l0ZW1zLFxyXG4gICAgICBpY29uQ3NzOiBcImUtaWNvbnMgZS1saW5lLXNwYWNpbmdcIixcclxuICAgICAgc2VsZWN0OiB0aGlzLm9uU2VsZWN0LmJpbmQodGhpcyksXHJcbiAgICB9KTtcclxuICAgIHNwbGl0QnV0dG9uLmFwcGVuZFRvKFwiI2xpbmVoZWlnaHRfdGJhclwiKTtcclxuICAgIC8vIGFpIGFzc2lzdFxyXG4gICAgbGV0IGFpYXNzaXN0YW50QnV0dG9uID0gbmV3IERyb3BEb3duQnV0dG9uKHtcclxuICAgICAgaXRlbXM6IHRoaXMucXVlcnlMaXN0LFxyXG4gICAgICAvLyBpY29uQ3NzOiBcImUtYnRuLWljb24gZS1pY29ucyBlLWFzc2lzdHZpZXctaWNvbiBlLWljb24tbGVmdFwiLFxyXG4gICAgICBzZWxlY3Q6IChhcmdzKSA9PiB0aGlzLmFpUXVlcnlTZWxlY3RlZE1lbnUoYXJncyksXHJcbiAgICB9KTtcclxuICAgIGFpYXNzaXN0YW50QnV0dG9uLmFwcGVuZFRvKFwiI2FpX2Fzc2lzdGFudF9idXR0b25fdGJhclwiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25TZWxlY3QoYXJncykge1xyXG4gICAgaWYgKHRoaXMucnRlT2JqLmZvcm1hdHRlci5nZXRVbmRvUmVkb1N0YWNrKCkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMucnRlT2JqLmZvcm1hdHRlci5zYXZlRGF0YSgpO1xyXG4gICAgfVxyXG4gICAgbGV0IG5vZGVzOiBOb2RlW10gPSB0aGlzLmVkaXRvck1hbmFnZXIuZG9tTm9kZS5ibG9ja05vZGVzKCk7XHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBub2Rlcy5sZW5ndGggPiBpOyBpKyspIHtcclxuICAgICAgKG5vZGVzW2ldIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5saW5lSGVpZ2h0ID0gYXJncy5pdGVtLnRleHQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJ0ZU9iai5mb3JtYXR0ZXIuc2F2ZURhdGEoKTtcclxuICAgIHRoaXMucnRlT2JqLmZvcm1hdHRlci5lbmFibGVVbmRvKHRoaXMucnRlT2JqKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWlRdWVyeVNlbGVjdGVkTWVudShhcmdzOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9ndWVPcGVuKGFyZ3MuaXRlbS50ZXh0KTtcclxuICB9XHJcblxyXG4gIGRpYWxvZ3VlT3BlbihzZWxlY3RlZFF1ZXJ5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHZhciBzZWxlY3Rpb25UZXh0ID0gdGhpcy5ydGVPYmouZ2V0U2VsZWN0ZWRIdG1sKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkUXVlcnkgPSBzZWxlY3RlZFF1ZXJ5O1xyXG4gICAgaWYgKHNlbGVjdGlvblRleHQpIHtcclxuICAgICAgbGV0IHJhbmdlOiBSYW5nZSA9IChcclxuICAgICAgICB0aGlzLnJ0ZU9iaiBhcyBhbnlcclxuICAgICAgKS5mb3JtYXR0ZXIuZWRpdG9yTWFuYWdlci5ub2RlU2VsZWN0aW9uLmdldFJhbmdlKFxyXG4gICAgICAgICh0aGlzLnJ0ZU9iaiBhcyBhbnkpLmNvbnRlbnRNb2R1bGUuZ2V0RG9jdW1lbnQoKVxyXG4gICAgICApO1xyXG4gICAgICAodGhpcy5ydGVPYmogYXMgYW55KS5mb3JtYXR0ZXIuZWRpdG9yTWFuYWdlci5ub2RlU2VsZWN0aW9uLnNhdmUoXHJcbiAgICAgICAgcmFuZ2UsXHJcbiAgICAgICAgKHRoaXMucnRlT2JqIGFzIGFueSkuY29udGVudE1vZHVsZS5nZXREb2N1bWVudCgpXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuZHJvcFZhbEluZGV4ID0gdGhpcy5xdWVyeUxpc3QuZmluZEluZGV4KFxyXG4gICAgICAgIChxKSA9PiBxLnRleHQudG9Mb3dlckNhc2UoKSA9PT0gc2VsZWN0ZWRRdWVyeS50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMucXVlcnlDYXRlZ29yeS5pbmRleCA9IHRoaXMuZHJvcFZhbEluZGV4O1xyXG4gICAgICB0aGlzLmxlZnRSdGUudmFsdWUgPSB0aGlzLnByb21wdFF1ZXJ5ID0gc2VsZWN0aW9uVGV4dDtcclxuICAgICAgdGhpcy5sZWZ0UnRlLnJlZnJlc2hVSSgpO1xyXG4gICAgICB0aGlzLkFJZGlhbG9nLnNob3coKTtcclxuICAgICAgdGhpcy51cGRhdGVBSVN1Z2Vzc3Rpb25zRGF0YShzZWxlY3RlZFF1ZXJ5KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd01zZyA9IHRydWU7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2hvd01zZyA9IGZhbHNlO1xyXG4gICAgICB9LCAzMDAwKTtcclxuICAgICAgY29uc29sZS5sb2coXCJQbGVhc2Ugc2VsZWN0IHRoZSBjb250ZW50IHRvIHBlcmZvcm0gdGhlIEFJIG9wZXJhdGlvbi5cIik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVBSVN1Z2Vzc3Rpb25zRGF0YShzZWxlY3RlZFF1ZXJ5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNTZW50aW1lbnRDaGVjayA9IGZhbHNlO1xyXG4gICAgc3dpdGNoIChzZWxlY3RlZFF1ZXJ5KSB7XHJcbiAgICAgIGNhc2UgXCJTdW1tYXJpemVcIjpcclxuICAgICAgICB0aGlzLnN1YlF1ZXJ5ID0gXCJTdW1tYXJpemUgdGhlIHVwY29taW5nIHNlbnRlbmNlIHNob3J0bHkuXCI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJFbGFib3JhdGVcIjpcclxuICAgICAgICB0aGlzLnN1YlF1ZXJ5ID0gXCJFbGFib3JhdGUgb24gdGhlIHVwY29taW5nIHNlbnRlbmNlLlwiO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiUmVwaHJhc2VcIjpcclxuICAgICAgICB0aGlzLnN1YlF1ZXJ5ID0gdGhpcy5jaGlwVmFsdWUgKyBcIiByZXBocmFzZSB0aGUgdXBjb21pbmcgc2VudGVuY2UuXCI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgXCJDb3JyZWN0IEdyYW1tYXJcIjpcclxuICAgICAgICB0aGlzLnN1YlF1ZXJ5ID0gXCJDb3JyZWN0IHRoZSBncmFtbWFyIG9mIHRoZSB1cGNvbWluZyBzZW50ZW5jZS5cIjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIlRyYW5zbGF0ZVwiOlxyXG4gICAgICAgIHRoaXMuc3ViUXVlcnkgPVxyXG4gICAgICAgICAgXCJUcmFuc2xhdGUgdGhlIHVwY29taW5nIHNlbnRlbmNlIHRvIFwiICsgdGhpcy50cmFuc2xhdGVsYW5ndWFnZSArIFwiLlwiO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFwiU2VudGltZW50IEFuYWx5c2lzXCI6XHJcbiAgICAgICAgdGhpcy5pc1NlbnRpbWVudENoZWNrID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnN1YlF1ZXJ5ID1cclxuICAgICAgICAgICdBbmFseXplIHRoZSBzZW50aW1lbnQgYW5kIGdyYW1tYXIgb2YgdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGhzIGFuZCBwcm92aWRlIHRoZSBleHByZXNzaW9uIHNjb3JlIHdpdGggYW4gZW1vamkgZm9sbG93ZWQgYnkgdGhlIHNlbnRpbWVudCBpbiB0aGUgZm9ybWF0OiBcIvCfmIogTmV1dHJhbFwiLiBcXG5cXG5OT1RFOiBBdm9pZCBhbnkgYWRkaXRpb25hbCB0ZXh0IG9yIGV4cGxhbmF0aW9uOic7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0ZUFJU3VnZXNzdGlvbnMoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUFJU3VnZXNzdGlvbnMoKTogdm9pZCB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAodGhpcy5wcm9tcHRRdWVyeSkge1xyXG4gICAgICAgIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInNrZWxldG9uSWRcIikgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPVxyXG4gICAgICAgICAgXCJcIjtcclxuICAgICAgICAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJyaWdodFJ0ZVwiKSBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9XHJcbiAgICAgICAgICBcIm5vbmVcIjtcclxuICAgICAgICB0aGlzLnNlbnRpbWVudEJ1dHRvbi5lbGVtZW50LnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcclxuICAgICAgICB0aGlzLnJlZ2VuZXJhdGVCdXR0b24uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY29weUJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5yZXBsYWNlQnV0dG9uLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmFwaVJlc3VsdERhdGEgPSB0aGlzLmdldFJlc3BvbnNlRnJvbU9wZW5BSShcclxuICAgICAgICAgIHRoaXMuc3ViUXVlcnksXHJcbiAgICAgICAgICB0aGlzLnByb21wdFF1ZXJ5XHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmFwaVJlc3VsdERhdGEudGhlbigocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuQUlSZXN1bHQgPSB0aGlzLmlzU2VudGltZW50Q2hlY2sgPyB0aGlzLnByb21wdFF1ZXJ5IDogcmVzdWx0O1xyXG4gICAgICAgICAgdGhpcy5zZW50aW1lbnRCdXR0b24uY29udGVudCA9IHJlc3VsdFxyXG4gICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAuaW5jbHVkZXMoXCJwb3NpdGl2ZVwiKVxyXG4gICAgICAgICAgICA/IFwi8J+YiiBQb3NpdGl2ZVwiXHJcbiAgICAgICAgICAgIDogcmVzdWx0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoXCJuZWdhdGl2ZVwiKVxyXG4gICAgICAgICAgICA/IFwi8J+YniBOZWdhdGl2ZVwiXHJcbiAgICAgICAgICAgIDogXCLwn5iQIE5ldXRyYWxcIjtcclxuICAgICAgICAgIHRoaXMuc2VudGltZW50QnV0dG9uLmVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICF0aGlzLmlzU2VudGltZW50Q2hlY2tcclxuICAgICAgICAgICAgPyBcIm5vbmVcIlxyXG4gICAgICAgICAgICA6IFwiXCI7XHJcbiAgICAgICAgICB0aGlzLnJpZ2h0UnRlLnZhbHVlID0gdGhpcy5BSVJlc3VsdDtcclxuICAgICAgICAgIHZhciBub1Jlc3VsdHNGb3VuZCA9ICEodGhpcy5BSVJlc3VsdCB8fCB0aGlzLnByb21wdFF1ZXJ5KTtcclxuICAgICAgICAgIChcclxuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJuby1yZXN1bHRzLWZvdW5kXCIpIGFzIEhUTUxFbGVtZW50XHJcbiAgICAgICAgICApLnN0eWxlLmRpc3BsYXkgPSBub1Jlc3VsdHNGb3VuZCA/IFwiXCIgOiBcIm5vbmVcIjtcclxuICAgICAgICAgIHRoaXMucmVnZW5lcmF0ZUJ1dHRvbi5kaXNhYmxlZCA9IG5vUmVzdWx0c0ZvdW5kO1xyXG4gICAgICAgICAgdGhpcy5jb3B5QnV0dG9uLmRpc2FibGVkID0gbm9SZXN1bHRzRm91bmQ7XHJcbiAgICAgICAgICB0aGlzLnJlcGxhY2VCdXR0b24uZGlzYWJsZWQgPSBub1Jlc3VsdHNGb3VuZDtcclxuICAgICAgICAgIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInNrZWxldG9uSWRcIikgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPVxyXG4gICAgICAgICAgICBcIm5vbmVcIjtcclxuICAgICAgICAgIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInJpZ2h0UnRlXCIpIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID1cclxuICAgICAgICAgICAgbm9SZXN1bHRzRm91bmQgPyBcIm5vbmVcIiA6IFwiXCI7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcclxuICAgICAgICAgICAgbm9SZXN1bHRzRm91bmQsXHJcbiAgICAgICAgICAgIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInJpZ2h0UnRlXCIpIGFzIEhUTUxFbGVtZW50KS5zdHlsZVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIC8vIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgLy8gdGhpcy50b2FzdE9iai5zaG93KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRSZXNwb25zZUZyb21PcGVuQUkoXHJcbiAgICBzdWJRdWVyeTogc3RyaW5nLFxyXG4gICAgcHJvbXB0UXVlcnk6IHN0cmluZ1xyXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgT3BlbkFpTW9kZWxSVEUoc3ViUXVlcnksIHByb21wdFF1ZXJ5KTtcclxuICAgIHJldHVybiBjb250ZW50ID8gKGNvbnRlbnQgYXMgc3RyaW5nKSA6IFwiXCI7XHJcbiAgfVxyXG5cclxuICBkaWFsb2dTaG93KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWdlbmVyYXRlQnV0dG9uIS5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMudXBkYXRlQUlTdWdlc3N0aW9ucygpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNvcHlCdXR0b24hLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcclxuICAgICAgdGhpcy5jb3B5VGV4dFRvQ2xpcGJvYXJkKHRoaXMuQUlSZXN1bHQpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJlcGxhY2VCdXR0b24hLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcclxuICAgICAgbGV0IHJhbmdlOiBSYW5nZSA9IChcclxuICAgICAgICB0aGlzLnJ0ZU9iaiBhcyBhbnlcclxuICAgICAgKS5mb3JtYXR0ZXIuZWRpdG9yTWFuYWdlci5ub2RlU2VsZWN0aW9uLmdldFJhbmdlKFxyXG4gICAgICAgICh0aGlzLnJ0ZU9iaiBhcyBhbnkpLmNvbnRlbnRNb2R1bGUuZ2V0RG9jdW1lbnQoKVxyXG4gICAgICApO1xyXG4gICAgICAodGhpcy5ydGVPYmogYXMgYW55KS5mb3JtYXR0ZXIuZWRpdG9yTWFuYWdlci5ub2RlU2VsZWN0aW9uLnJlc3RvcmUocmFuZ2UpO1xyXG4gICAgICAodGhpcy5ydGVPYmogYXMgYW55KS5leGVjdXRlQ29tbWFuZChcImluc2VydEhUTUxcIiwgdGhpcy5BSVJlc3VsdCwge1xyXG4gICAgICAgIHVuZG86IHRydWUsXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmNsb3NlRGlhbG9nKCk7XHJcbiAgICB9KTtcclxuICAgICh0aGlzLkFJZGlhbG9nIGFzIERpYWxvZ0NvbXBvbmVudCkuZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gXCJcIjtcclxuICB9XHJcblxyXG4gIGNsb3NlRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5BSWRpYWxvZy5oaWRlKCk7XHJcbiAgICB0aGlzLnJpZ2h0UnRlLnZhbHVlID0gXCJcIjtcclxuICAgIHRoaXMubGVmdFJ0ZS52YWx1ZSA9IFwiXCI7XHJcbiAgICB0aGlzLnByb21wdFF1ZXJ5ID0gXCJcIjtcclxuICAgIHRoaXMuY2hpcFZhbHVlID0gXCJTdGFuZGFyZFwiO1xyXG4gICAgdGhpcy5BSVJlc3VsdCA9IFwiXCI7XHJcbiAgICB0aGlzLmRyb3BWYWxJbmRleCA9IDA7XHJcbiAgICB0aGlzLnNlbGVjdGVkUXVlcnkgPSBcIlJlcGhyYXNlXCI7XHJcbiAgICB0aGlzLnNlbnRpbWVudEJ1dHRvbi5jb250ZW50ID0gXCLwn5iKIE5ldXRyYWxcIjtcclxuICB9XHJcblxyXG4gIGNvcHlUZXh0VG9DbGlwYm9hcmQodGV4dDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAobmF2aWdhdG9yLmNsaXBib2FyZCkge1xyXG4gICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXHJcbiAgICAgICAgLndyaXRlVGV4dCh0ZXh0KVxyXG4gICAgICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiVGV4dCBjb3BpZWQgdG8gY2xpcGJvYXJkIHN1Y2Nlc3NmdWxseSFcIik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIkZhaWxlZCB0byBjb3B5IHRleHQ6IFwiLCBlcnIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgdGhlIENsaXBib2FyZCBBUElcclxuICAgICAgY29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidGV4dGFyZWFcIik7XHJcbiAgICAgIHRleHRhcmVhLnZhbHVlID0gdGV4dDtcclxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0YXJlYSk7XHJcbiAgICAgIHRleHRhcmVhLnNlbGVjdCgpO1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKFwiY29weVwiKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIlRleHQgY29waWVkIHRvIGNsaXBib2FyZCB1c2luZyBleGVjQ29tbWFuZFwiKTtcclxuICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkZhaWxlZCB0byBjb3B5IHRleHQ6IFwiLCBlcnIpO1xyXG4gICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGV4dGFyZWEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbk92ZXJsYXlDbGljaygpOiB2b2lkIHtcclxuICAgIGxldCBhY3RpdmVFbGU6IEhUTUxFbGVtZW50IHwgbnVsbCA9IHRoaXMuQUlkaWFsb2cuZWxlbWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICBcIi5jaGFyX2Jsb2NrLmUtYWN0aXZlXCJcclxuICAgICk7XHJcbiAgICBpZiAoYWN0aXZlRWxlKSB7XHJcbiAgICAgIGFjdGl2ZUVsZS5jbGFzc0xpc3QucmVtb3ZlKFwiZS1hY3RpdmVcIik7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNsb3NlRGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBvblF1ZXJ5U2VsZWN0KGFyZ3MpIHtcclxuICAgIC8vIHRoaXMuY2hpcExpc3Quc2VsZWN0ZWRDaGlwcyA9IDA7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZWxhbmd1YWdlID0gXCJFTlwiO1xyXG4gICAgdGhpcy5zZWxlY3RlZFF1ZXJ5ID0gYXJncy5pdGVtRGF0YS50ZXh0O1xyXG4gICAgdGhpcy51cGRhdGVBSVN1Z2Vzc3Rpb25zRGF0YShhcmdzLml0ZW1EYXRhLnRleHQpO1xyXG4gIH1cclxuXHJcbiAgb25MYW5ndWFnZVNlbGVjdChhcmdzOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRlbGFuZ3VhZ2UgPSBhcmdzLml0ZW1EYXRhLmlkO1xyXG4gICAgdGhpcy51cGRhdGVBSVN1Z2Vzc3Rpb25zRGF0YShcIlRyYW5zbGF0ZVwiKTtcclxuICB9XHJcblxyXG4gIG9uQ2hpcENsaWNrKGFyZ3M6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGlwVmFsdWUgPSBhcmdzLml0ZW1EYXRhLnRleHQ7XHJcbiAgICAvLyDkuovku7bkvJrop6blj5HkuKTmrKEg5b+F6aG75Yik5patYXJncy50ZXh05piv5ZCm5pyJ5YC8XHJcbiAgICBpZiAoYXJncy5pdGVtRGF0YS50ZXh0KSB0aGlzLnVwZGF0ZUFJU3VnZXNzdGlvbnNEYXRhKFwiUmVwaHJhc2VcIik7XHJcbiAgfVxyXG5cclxuICBfdG9vbGJhckNsaWNrKGFyZ3MpIHtcclxuICAgIHRoaXMudG9vbGJhckNsaWNrLmVtaXQoYXJncyk7XHJcbiAgfVxyXG5cclxuICBoaWRlVG9hc3QoKSB7XHJcbiAgICB0aGlzLnNob3dNc2cgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uWm9vbSgpIHtcclxuICAgIGlmICh0aGlzLnNpemUgPT09IFwibGFyZ2VzdFwiKSB7XHJcbiAgICAgIHRoaXMuc2l6ZSA9IFwiXCI7IC8vIOaBouWkjeWIsOWOn+Wni+Wkp+Wwj1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaXplID0gXCJsYXJnZXN0XCI7IC8vIOiuvue9ruS4uuacgOWkp+WMllxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -224,7 +224,7 @@ DrawerComponent.decorators = [
|
|
|
224
224
|
{ type: Component, args: [{
|
|
225
225
|
selector: "rs-drawer",
|
|
226
226
|
template: "<div #element id=\"rs-drawer-container\" class=\"rs-drawer-container\">\r\n <div class=\"rs-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div\r\n #drawer\r\n class=\"rs-drawer\"\r\n [attr.data-mode]=\"config.mode\"\r\n [attr.data-opened]=\"isOpened ? 'yes' : 'no'\"\r\n [attr.data-animation]=\"useAnimation\"\r\n [hidden]=\"hiddenDrawer\"\r\n (animationend)=\"onAnimationEnd()\"\r\n >\r\n <div class=\"drawer-header\" #header>\r\n <button class=\"drawer-return-button\" (click)=\"hide()\">\r\n <span class=\"drawer-sub-title\" *ngIf=\"config.subTitle\">\r\n {{ config.subTitle }}\r\n </span>\r\n </button>\r\n <div class=\"drawer-title\">{{ config.title }}</div>\r\n <div class=\"drawer-header-slot\" #headerSlot></div>\r\n </div>\r\n <div class=\"drawer-top-slot\" #topSlot></div>\r\n <div class=\"drawer-content-box\">\r\n <div class=\"drawer-content\" #content>\r\n <div class=\"drawer-content-container\">\r\n <ng-template #dynamicComponentContainer></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"drawer-toolbar-slot\" #toolbarSlot></div>\r\n </div>\r\n</div>\r\n",
|
|
227
|
-
styles: [":host{display:block;height:100%}#rs-drawer-container{height:100%}.rs-drawer-container{height:100%;background-color:transparent;overflow:hidden;position:relative}.rs-drawer-container .rs-drawer-content{width:100%;height:100%;overflow:auto;margin-right:0!important}.rs-drawer-container .rs-drawer-content::-webkit-scrollbar{width:5px;height:5px;background:#fff;position:static;z-index:999;border-radius:10px}.rs-drawer-container .rs-drawer-content::-webkit-scrollbar-thumb{background:#eaedf0}.rs-drawer-container .rs-drawer{width:100%;height:100%;border-left:none;background-color:transparent;overflow:visible;pointer-events:none;opacity:0;display:flex;flex-flow:column nowrap;position:absolute;z-index:2;top:0;left:100%}.rs-drawer-container .rs-drawer[data-opened=yes]{left:0;opacity:1}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=yes]{-webkit-animation:.5s ease-in-out drawer-open;animation:.5s ease-in-out drawer-open}@-webkit-keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}@keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=no]{-webkit-animation:.5s ease-in-out drawer-close;animation:.5s ease-in-out drawer-close}@-webkit-keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}@keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}.rs-drawer-container .rs-drawer[hidden]{display:none}.rs-drawer-container .rs-drawer .drawer-header{flex:none;display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:center;box-sizing:content-box;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button{flex:none;display:flex;flex-flow:row nowrap;align-items:center;padding:0;border:none;background-color:transparent;cursor:pointer}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button::before{content:url(
|
|
227
|
+
styles: [":host{display:block;height:100%}#rs-drawer-container{height:100%}.rs-drawer-container{height:100%;background-color:transparent;overflow:hidden;position:relative}.rs-drawer-container .rs-drawer-content{width:100%;height:100%;overflow:auto;margin-right:0!important}.rs-drawer-container .rs-drawer-content::-webkit-scrollbar{width:5px;height:5px;background:#fff;position:static;z-index:999;border-radius:10px}.rs-drawer-container .rs-drawer-content::-webkit-scrollbar-thumb{background:#eaedf0}.rs-drawer-container .rs-drawer{width:100%;height:100%;border-left:none;background-color:transparent;overflow:visible;pointer-events:none;opacity:0;display:flex;flex-flow:column nowrap;position:absolute;z-index:2;top:0;left:100%}.rs-drawer-container .rs-drawer[data-opened=yes]{left:0;opacity:1}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=yes]{-webkit-animation:.5s ease-in-out drawer-open;animation:.5s ease-in-out drawer-open}@-webkit-keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}@keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=no]{-webkit-animation:.5s ease-in-out drawer-close;animation:.5s ease-in-out drawer-close}@-webkit-keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}@keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}.rs-drawer-container .rs-drawer[hidden]{display:none}.rs-drawer-container .rs-drawer .drawer-header{flex:none;display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:center;box-sizing:content-box;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button{flex:none;display:flex;flex-flow:row nowrap;align-items:center;padding:0;border:none;background-color:transparent;cursor:pointer}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button::before{content:url(../../../assets/img/drawer-back.svg);width:24px;height:24px;margin-right:8px;transition:transform 125ms ease-in-out}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button:hover::before{transform:translateX(-2px)}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button .drawer-sub-title{margin-right:12px;font-family:Arial;font-style:normal;font-weight:400}.rs-drawer-container .rs-drawer .drawer-header .drawer-title{flex:none;min-height:14px;padding:0 12px;border-left:1px solid #bdc4ca;font-family:Arial;font-style:normal;font-weight:400}.rs-drawer-container .rs-drawer .drawer-header .drawer-title:empty{padding:0}.rs-drawer-container .rs-drawer .drawer-content-box{flex:auto;height:0;background-color:#f7fafb;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-content{height:100%;padding:0 20px;border:1px solid #ebedf0;border-radius:15px;background-color:#fff;display:flex;flex-flow:column nowrap}.rs-drawer-container .rs-drawer .drawer-content .drawer-content-container{flex:auto;overflow:hidden auto}.rs-drawer-container .rs-drawer .drawer-toolbar-slot{flex:none;height:32px;margin-left:auto;display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-toolbar-slot:empty{display:none}.rs-drawer-container .rs-drawer .drawer-top-slot{flex:none;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-top-slot:empty{height:var(--drawer-top,0);pointer-events:none}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header{height:46px;padding:0 12px 0 8px;background-color:#f7fafb}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header .drawer-sub-title,.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header .drawer-title{color:#1f3f5c;font-size:15px;font-weight:700;line-height:18px}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-content{padding-bottom:20px}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-content .drawer-content-container{margin-right:-20px;padding-right:20px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-top-slot:empty+.drawer-content-box{padding-top:calc((var(--drawer-top,0) + 1) * 16px)}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header{height:24px;padding:6px 0;border-bottom:1px solid #eaedf0}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-sub-title,.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-title{color:#44566c;font-size:12px;line-height:14px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-title{font-weight:700}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-content .drawer-content-container{margin-right:-20px;padding-right:20px;padding-left:8px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-toolbar-slot{width:100%;padding:16px 0;box-sizing:content-box;border-top:1px solid #eaedf0}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar]{display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center;gap:12px}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button{display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;gap:6px;min-width:80px;height:32px;padding:0 12px;border:1px solid #adb5bd;border-radius:4px;background-color:#fff;cursor:pointer;color:#44566c;font-size:13px;font-family:Arial;font-style:normal;font-weight:400;line-height:16px}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button:hover{border-color:#6c7c90}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button:disabled{opacity:1!important;border-color:#6c7c9066;color:#44566c66;cursor:unset}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary{border:none;background-color:#1364b3;color:#fff}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary:hover{background-color:#176bca}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary:disabled{background-color:#1364b366}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button img{width:16px;height:16px}::ng-deep .rs-drawer-container .rs-drawer[data-mode=outer] .drawer-toolbar-slot [drawer-toolbar] button{height:26px;font-size:12px;line-height:14px}::ng-deep .rs-drawer-container .rs-drawer[data-mode=inner] .drawer-toolbar-slot [drawer-toolbar] button img{display:none}"]
|
|
228
228
|
}] }
|
|
229
229
|
];
|
|
230
230
|
/** @nocollapse */
|
|
@@ -66,7 +66,7 @@ RsPageTabComponent.decorators = [
|
|
|
66
66
|
{ type: Component, args: [{
|
|
67
67
|
selector: "rs-page-tab",
|
|
68
68
|
template: "<div class=\"rs-page-list-wrap\">\r\n <ng-container *ngIf=\"customPageTitle; else defaultTitle\">\r\n <ng-content select=\"[titleSlot]\"></ng-content>\r\n </ng-container>\r\n <ng-template #defaultTitle>\r\n <div class=\"rs-page-title\" *ngIf=\"pageTitle\">{{ pageTitle }}</div>\r\n </ng-template>\r\n <ejs-tab\r\n class=\"rs-tab\"\r\n #tabObj\r\n (selected)=\"onTabClick($event)\"\r\n [animation]=\"animation\"\r\n\t overflowMode=\"Popup\"\r\n heightAdjustMode=\"None\"\r\n [selectedItem]=\"selectedItemIndex\"\r\n >\r\n <e-tabitems>\r\n <e-tabitem *ngFor=\"let item of tabList\">\r\n <ng-template #headerText>\r\n <div>{{ item.title }}</div>\r\n </ng-template>\r\n </e-tabitem>\r\n </e-tabitems>\r\n </ejs-tab>\r\n <div class=\"rs-grid-wrap\">\r\n <ng-content select=\"[tabContentSlot]\"></ng-content>\r\n </div>\r\n</div>\r\n",
|
|
69
|
-
styles: [".rs-page-list-wrap{height:100%;display:flex;flex-direction:column;position:relative;margin:0 auto;max-width:1885px}.rs-page-list-wrap .rs-page-title{font-family:var(--rs-font-family);font-size:var(--rs-page-title-font-size);font-weight:700;text-align:left;color:var(--rs-page-title-color);display:flex;align-items:center;padding:16px 8px 12px 20px}.rs-page-list-wrap .rs-tab{padding:0 20px}.rs-page-list-wrap .rs-tab .e-tab-header::before{display:none}.rs-page-list-wrap .rs-tab .e-toolbar-items{gap:32px;min-height:36px}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item{border:0}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item .e-tab-wrap{padding:0;border:0;position:relative;height:36px}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item .e-tab-wrap::before{content:\" \";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:transparent}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item .e-tab-text{color:#5f6f81;font-family:Arial;font-size:13px;font-style:normal;font-weight:400;line-height:16px}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item.e-active .e-tab-wrap::before{background-color:#1f7bff}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item.e-active .e-tab-text{color:#44566c}.rs-page-list-wrap .rs-tab .e-hor-nav{width:24px;height:24px;min-height:24px;top:3px;border-radius:4px;background-color:transparent!important;border:1px solid #eaedf0!important}.rs-page-list-wrap .rs-tab .e-hor-nav .e-icons{box-shadow:none;background-color:transparent!important;border-color:transparent!important;background-image:url(
|
|
69
|
+
styles: [".rs-page-list-wrap{height:100%;display:flex;flex-direction:column;position:relative;margin:0 auto;max-width:1885px}.rs-page-list-wrap .rs-page-title{font-family:var(--rs-font-family);font-size:var(--rs-page-title-font-size);font-weight:700;text-align:left;color:var(--rs-page-title-color);display:flex;align-items:center;padding:16px 8px 12px 20px}.rs-page-list-wrap .rs-tab{padding:0 20px}.rs-page-list-wrap .rs-tab .e-tab-header::before{display:none}.rs-page-list-wrap .rs-tab .e-toolbar-items{gap:32px;min-height:36px}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item{border:0}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item .e-tab-wrap{padding:0;border:0;position:relative;height:36px}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item .e-tab-wrap::before{content:\" \";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:transparent}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item .e-tab-text{color:#5f6f81;font-family:Arial;font-size:13px;font-style:normal;font-weight:400;line-height:16px}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item.e-active .e-tab-wrap::before{background-color:#1f7bff}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item.e-active .e-tab-text{color:#44566c}.rs-page-list-wrap .rs-tab .e-hor-nav{width:24px;height:24px;min-height:24px;top:3px;border-radius:4px;background-color:transparent!important;border:1px solid #eaedf0!important}.rs-page-list-wrap .rs-tab .e-hor-nav .e-icons{box-shadow:none;background-color:transparent!important;border-color:transparent!important;background-image:url(../../../assets/img/icon-more.svg);background-size:14px 3px;background-repeat:no-repeat;background-position:4px 14px}.rs-page-list-wrap .rs-tab .e-hor-nav .e-icons::before{display:none}.rs-page-list-wrap .rs-tab .e-hor-nav .e-icons:hover{background-color:#eff5fb!important;border-color:#b1d0fc!important;background-image:url(../../../assets/img/icon-more-active.svg)}.rs-page-list-wrap .rs-tab .e-toolbar-pop{min-width:160px;border-radius:10px;background:#fff;box-shadow:0 0 8px 0 rgba(0,0,0,.25);padding:8px}.rs-page-list-wrap .rs-tab .e-toolbar-pop .e-toolbar-item .e-tab-wrap{padding:0 8px}.rs-page-list-wrap .rs-tab .e-toolbar-pop .e-toolbar-item .e-tab-wrap .e-tab-text{color:#44566c;font-family:Arial;font-size:13px;font-weight:400;line-height:16px}.rs-page-list-wrap .rs-tab .e-toolbar-pop .e-toolbar-item .e-tab-wrap:hover{border-radius:6px;background:rgba(31,123,255,.05)}.rs-page-list-wrap .rs-grid-wrap{flex:1;height:0}"]
|
|
70
70
|
}] }
|
|
71
71
|
];
|
|
72
72
|
RsPageTabComponent.propDecorators = {
|
package/esm2015/public-api.js
CHANGED
|
@@ -31,7 +31,6 @@ export { SwitchInputComponent } from "./lib/form/switch-input/index.component";
|
|
|
31
31
|
export { EncryptedInputComponent } from "./lib/form/encrypted-input/index.component";
|
|
32
32
|
export { SearchInputComponent } from "./lib/form/search-input/index.component";
|
|
33
33
|
export { DrawerFormComponent } from "./lib/form/drawer-form/drawer-form.component";
|
|
34
|
-
export { RichtexteditorComponent } from "./lib/form/richtexteditor/index.component";
|
|
35
34
|
export { filterShowSection, EmailPattern } from "./lib/form/drawer-form/constants";
|
|
36
35
|
export { CommonDialogComponent } from "./lib/dialog/common-dialog/index.component";
|
|
37
36
|
export { CommonFunctionService } from "./lib/service/common-function.service";
|
|
@@ -41,4 +40,4 @@ export { KeepAliveService } from "./lib/service/keep-alive.service";
|
|
|
41
40
|
export { DefaultDrawerConfig, DrawerService } from "./lib/service/drawer.service";
|
|
42
41
|
export { TranslationService } from "./lib/service/translation.service";
|
|
43
42
|
export { RaiseCommonLibModule } from "./lib/raise-common-lib.module";
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3JhaXNlLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR0Esb0NBQWMsbUNBQW1DLENBQUM7QUFDbEQsb0NBQWMscURBQXFELENBQUM7QUFDcEUsd0NBQWMsMkVBQTJFLENBQUM7QUFDMUYsa0NBQWMsaUNBQWlDLENBQUM7QUFDaEQsc0NBQWMsa0NBQWtDLENBQUM7QUFDakQsNkNBQWMsNkNBQTZDLENBQUM7QUFHNUQsb0NBQWMsd0NBQXdDLENBQUM7QUFDdkQsbUNBQWMsdUNBQXVDLENBQUM7QUFDdEQsaUNBQWMsdUNBQXVDLENBQUM7QUFDdEQsa0NBQWMsd0NBQXdDLENBQUM7QUFDdkQsZ0NBQWMscUNBQXFDLENBQUM7QUFDcEQsd0NBQWMsNkNBQTZDLENBQUM7QUFFNUQsbUNBQWMsdUNBQXVDLENBQUM7QUFDdEQscUNBQWMsNENBQTRDLENBQUM7QUFHM0QsdUNBQWMsNkNBQTZDLENBQUM7QUFDNUQsa0NBQWMsd0NBQXdDLENBQUM7QUFDdkQsa0NBQWMsd0NBQXdDLENBQUM7QUFDdkQsaUNBQWMsdUNBQXVDLENBQUM7QUFFdEQsa0NBQWMsc0NBQXNDLENBQUM7QUFDckQsb0NBQWMsd0NBQXdDLENBQUM7QUFDdkQsdUNBQWMsMkNBQTJDLENBQUM7QUFDMUQscUNBQWMseUNBQXlDLENBQUM7QUFDeEQsd0NBQWMsNENBQTRDLENBQUM7QUFDM0QscUNBQWMseUNBQXlDLENBQUM7QUFDeEQsb0NBQWMsOENBQThDLENBQUM7QUFDN0QsZ0RBQWMsa0NBQWtDLENBQUM7QUFDakQsc0NBQWMsNENBQTRDLENBQUM7QUFJM0Qsc0NBQWMsdUNBQXVDLENBQUM7QUFDdEQsa0NBQWMsbUNBQW1DLENBQUM7QUFDbEQsMkNBQWMsOEJBQThCLENBQUM7QUFDN0MsaUNBQWMsa0NBQWtDLENBQUM7QUFDakQsbURBQWMsOEJBQThCLENBQUM7QUFDN0MsbUNBQWMsbUNBQW1DLENBQUM7QUFFbEQscUNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcmFpc2UtY29tbW9uLWxpYlxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbW1vbi1ncmlkL2luZGV4LmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tbW9uLWdyaWQvZ3JpZC1hY3Rpb24vZ3JpZC1hY3Rpb24uY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21tb24tZ3JpZC9ncmlkLWFjdGlvbi9ncmlkLWFjdGlvbi1pdGVtL2dyaWQtYWN0aW9uLWl0ZW0uY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9mbG9hdC1ib3gvaW5kZXguY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21tZW50YXJ5L2luZGV4LmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvdHJ1bmNhdGVkLXRleHQtdG9nZ2xlL2luZGV4LmNvbXBvbmVudFwiO1xyXG5cclxuXHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9sYXlvdXQvcGFnZS1saXN0L2luZGV4LmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbGF5b3V0L3BhZ2UtdGFiL2luZGV4LmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbGF5b3V0L2dyaWQtYm94L2luZGV4LmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbGF5b3V0L211bHRpLXRhYi9pbmRleC5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2xheW91dC9kcmF3ZXIvaW5kZXguY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9sYXlvdXQvbmF2LWNhcmQtZ3JvdXAvaW5kZXguY29tcG9uZW50XCI7XHJcblxyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvYWN0aW9ucy90b29sYmFyL2luZGV4LmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvYWN0aW9ucy90b29sYmFyLWl0ZW0vaW5kZXguY29tcG9uZW50XCI7XHJcblxyXG5cclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2xheW91dC9tYWluLWNvbnRhaW5lci9pbmRleC5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2xheW91dC9ycy1oZWFkZXIvaW5kZXguY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9sYXlvdXQvcnMtZm9vdGVyL2luZGV4LmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbGF5b3V0L3JzLWFzaWRlL2luZGV4LmNvbXBvbmVudFwiO1xyXG5cclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2Zvcm0vdGFnLWlucHV0L2luZGV4LmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZm9ybS9yYWRpby1ncm91cC9pbmRleC5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2Zvcm0vY2hlY2tib3gtZ3JvdXAvaW5kZXguY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9mb3JtL3N3aXRjaC1pbnB1dC9pbmRleC5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2Zvcm0vZW5jcnlwdGVkLWlucHV0L2luZGV4LmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZm9ybS9zZWFyY2gtaW5wdXQvaW5kZXguY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9mb3JtL2RyYXdlci1mb3JtL2RyYXdlci1mb3JtLmNvbXBvbmVudFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZm9ybS9kcmF3ZXItZm9ybS9jb25zdGFudHNcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RpYWxvZy9jb21tb24tZGlhbG9nL2luZGV4LmNvbXBvbmVudFwiO1xyXG5cclxuXHJcblxyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZS9jb21tb24tZnVuY3Rpb24uc2VydmljZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZS9pY29uLWxvYWRlci5zZXJ2aWNlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zZXJ2aWNlL2RpYWxvZy5zZXJ2aWNlXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zZXJ2aWNlL2tlZXAtYWxpdmUuc2VydmljZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZS9kcmF3ZXIuc2VydmljZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZS90cmFuc2xhdGlvbi5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvcmFpc2UtY29tbW9uLWxpYi5tb2R1bGVcIjtcclxuIl19
|
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* Generated bundle index. Do not edit.
|
|
8
8
|
*/
|
|
9
|
-
export { CommonGridComponent, GridActionComponent, GridActionItemComponent, FloatBoxComponent, RsCommentaryComponent, TruncatedTextToggleComponent, RsPageListComponent, RsPageTabComponent, GridBoxComponent, MultiTabComponent, DrawerComponent, RSNavCardGroupComponent, RSToolbarComponent, ToolbarItemComponent, MainContainerComponent, RSHeaderComponent, RSFooterComponent, RSAsideComponent, TagInputComponent, RadioGroupComponent, CheckboxGroupComponent, SwitchInputComponent, EncryptedInputComponent, SearchInputComponent, DrawerFormComponent,
|
|
10
|
-
export { CommonDeleteComponent as
|
|
11
|
-
export { NewActionNotificationComponent as
|
|
12
|
-
export { ConfirmSelectComponent as
|
|
9
|
+
export { CommonGridComponent, GridActionComponent, GridActionItemComponent, FloatBoxComponent, RsCommentaryComponent, TruncatedTextToggleComponent, RsPageListComponent, RsPageTabComponent, GridBoxComponent, MultiTabComponent, DrawerComponent, RSNavCardGroupComponent, RSToolbarComponent, ToolbarItemComponent, MainContainerComponent, RSHeaderComponent, RSFooterComponent, RSAsideComponent, TagInputComponent, RadioGroupComponent, CheckboxGroupComponent, SwitchInputComponent, EncryptedInputComponent, SearchInputComponent, DrawerFormComponent, filterShowSection, EmailPattern, CommonDialogComponent, CommonFunctionService, IconLoaderService, MessageType, DialogService, KeepAliveService, DefaultDrawerConfig, DrawerService, TranslationService, RaiseCommonLibModule } from './public-api';
|
|
10
|
+
export { CommonDeleteComponent as ɵe } from './lib/dialog/common-delete-dialog/index.component';
|
|
11
|
+
export { NewActionNotificationComponent as ɵd } from './lib/dialog/new-action-notification/new-action-notification.component';
|
|
12
|
+
export { ConfirmSelectComponent as ɵc } from './lib/form/confirm-select/index.component';
|
|
13
|
+
export { RichtexteditorComponent as ɵb } from './lib/form/richtexteditor/index.component';
|
|
13
14
|
export { Debounce as ɵa } from './lib/utils/decorator';
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFpc2UtY29tbW9uLWxpYi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3JhaXNlLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJyYWlzZS1jb21tb24tbGliLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsb3dCQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFDLDhCQUE4QixJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQzVILE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUN2RixPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDeEYsT0FBTyxFQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtDb21tb25EZWxldGVDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi9kaWFsb2cvY29tbW9uLWRlbGV0ZS1kaWFsb2cvaW5kZXguY29tcG9uZW50JztcbmV4cG9ydCB7TmV3QWN0aW9uTm90aWZpY2F0aW9uQ29tcG9uZW50IGFzIMm1ZH0gZnJvbSAnLi9saWIvZGlhbG9nL25ldy1hY3Rpb24tbm90aWZpY2F0aW9uL25ldy1hY3Rpb24tbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0NvbmZpcm1TZWxlY3RDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9mb3JtL2NvbmZpcm0tc2VsZWN0L2luZGV4LmNvbXBvbmVudCc7XG5leHBvcnQge1JpY2h0ZXh0ZWRpdG9yQ29tcG9uZW50IGFzIMm1Yn0gZnJvbSAnLi9saWIvZm9ybS9yaWNodGV4dGVkaXRvci9pbmRleC5jb21wb25lbnQnO1xuZXhwb3J0IHtEZWJvdW5jZSBhcyDJtWF9IGZyb20gJy4vbGliL3V0aWxzL2RlY29yYXRvcic7Il19
|
|
@@ -89,7 +89,7 @@ var NewActionNotificationComponent = /** @class */ (function () {
|
|
|
89
89
|
{ type: Component, args: [{
|
|
90
90
|
selector: "kt-new-action-notification",
|
|
91
91
|
template: "<div class=\"new-action-notification-container\" [attr.data-collapse]=\"collapsed\">\r\n\t<span\r\n\t\tclass=\"notification-icon\"\r\n\t\t[attr.data-type]=\"config.type === 'Loading' ? 'loading' : 'default'\"\r\n\t\t[attr.data-status]=\"config.status?.toLowerCase()\"\r\n\t\t(click)=\"expandNotification()\"\r\n\t></span>\r\n\t<span\r\n\t\tclass=\"notification-icon notification-loading\"\r\n\t\t*ngIf=\"config.type === 'Progress'\"\r\n\t></span>\r\n\t<div class=\"notification-content\">\r\n\t\t<span *ngIf=\"config.type === 'Detail'\" class=\"notification-title\">\r\n\t\t\t{{ config.title }}\r\n\t\t</span>\r\n\t\t<span class=\"notification-text\">{{ config.message }}</span>\r\n\t\t<a *ngIf=\"config.type === 'Detail'\" class=\"notification-link\">View</a>\r\n\t</div>\r\n\t<button\r\n\t\ttype=\"button\"\r\n\t\tclass=\"notification-close\"\r\n\t\t[attr.data-type]=\"config.type === 'Loading' ? 'loading' : 'default'\"\r\n\t\t(click)=\"closeNotification()\"\r\n\t></button>\r\n</div>\r\n",
|
|
92
|
-
styles: ["::ng-deep .new-action-notification{margin:0;padding:64px 12px;background-color:transparent!important;background-image:none!important;box-shadow:none}::ng-deep .mat-mdc-snack-bar-container .mdc-snackbar__surface{box-shadow:none;background-color:transparent}.new-action-notification-container{min-width:320px;max-width:400px;padding:12px;border-radius:10px;background-color:#fff;box-shadow:0 0 8px 0 #00000033;display:flex;flex-flow:row nowrap;align-items:flex-start;justify-content:flex-end}.new-action-notification-container .notification-icon{flex:none;width:24px;height:24px;margin-right:8px}.new-action-notification-container .notification-icon[data-type=default][data-status=success]::before{content:url(
|
|
92
|
+
styles: ["::ng-deep .new-action-notification{margin:0;padding:64px 12px;background-color:transparent!important;background-image:none!important;box-shadow:none}::ng-deep .mat-mdc-snack-bar-container .mdc-snackbar__surface{box-shadow:none;background-color:transparent}.new-action-notification-container{min-width:320px;max-width:400px;padding:12px;border-radius:10px;background-color:#fff;box-shadow:0 0 8px 0 #00000033;display:flex;flex-flow:row nowrap;align-items:flex-start;justify-content:flex-end}.new-action-notification-container .notification-icon{flex:none;width:24px;height:24px;margin-right:8px}.new-action-notification-container .notification-icon[data-type=default][data-status=success]::before{content:url(../../../assets/img/notification-status-success.svg)}.new-action-notification-container .notification-icon[data-type=default][data-status=warning]::before{content:url(../../../assets/img/notification-status-warning.svg)}.new-action-notification-container .notification-icon[data-type=default][data-status=error]::before{content:url(../../../assets/img/notification-status-error.svg)}.new-action-notification-container .notification-icon[data-type=loading]{-webkit-animation:2s linear infinite rotate;animation:2s linear infinite rotate}@-webkit-keyframes rotate{from{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes rotate{from{transform:rotate(360deg)}to{transform:rotate(0)}}.new-action-notification-container .notification-icon[data-type=loading]::before{content:url(../../../assets/img/notification-status-loading.svg)}.new-action-notification-container .notification-close{flex:none;height:24px;margin-left:24px;padding:0;border:none;background-color:transparent}.new-action-notification-container .notification-close[data-type=default]::before{content:url(../../../assets/img/notification-close.svg)}.new-action-notification-container .notification-close[data-type=loading]::before{content:url(../../../assets/img/notification-collapse.svg)}.new-action-notification-container .notification-content{flex:auto;min-height:24px;padding-top:4px;display:flex;flex-flow:column nowrap}.new-action-notification-container .notification-content .notification-title{margin-bottom:8px;color:#44566c;font-family:Arial;font-size:13px;font-style:normal;font-weight:700;line-height:19px}.new-action-notification-container .notification-content .notification-text{color:#1f3f5c;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.new-action-notification-container .notification-content .notification-link{margin-top:6px;cursor:pointer;color:#1364b3;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:14px}.new-action-notification-container[data-collapse=true]{padding:0;background-color:transparent;box-shadow:none}.new-action-notification-container[data-collapse=true] .notification-icon{cursor:pointer}.new-action-notification-container[data-collapse=true] .notification-close,.new-action-notification-container[data-collapse=true] .notification-content{display:none}"]
|
|
93
93
|
}] }
|
|
94
94
|
];
|
|
95
95
|
/** @nocollapse */
|