@amc-technology/ui-library 1.0.101 → 1.0.103
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 +34 -8
- package/esm2022/projects/UILibrary/src/app/components/activity/activity.component.mjs +5 -5
- package/esm2022/projects/UILibrary/src/app/components/chat-box/chat-box.component.mjs +41 -26
- package/esm2022/projects/UILibrary/src/app/components/chat-message/chat-message.component.mjs +5 -5
- package/esm2022/projects/UILibrary/src/app/components/create/create.component.mjs +5 -5
- package/esm2022/projects/UILibrary/src/app/components/current-activity/current-activity.component.mjs +5 -5
- package/esm2022/projects/UILibrary/src/app/components/disposition/disposition.component.mjs +4 -4
- package/esm2022/projects/UILibrary/src/app/components/duration/duration.component.mjs +5 -5
- package/esm2022/projects/UILibrary/src/app/components/hold-timer/hold-timer.component.mjs +72 -0
- package/esm2022/projects/UILibrary/src/app/components/interaction/interaction.component.mjs +7 -10
- package/esm2022/projects/UILibrary/src/app/components/login/login.component.mjs +5 -5
- package/esm2022/projects/UILibrary/src/app/components/operation/operation.component.mjs +5 -5
- package/esm2022/projects/UILibrary/src/app/components/property/property.component.mjs +5 -5
- package/esm2022/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.mjs +5 -5
- package/esm2022/projects/UILibrary/src/app/components/scenario/scenario.component.mjs +6 -9
- package/esm2022/projects/UILibrary/src/app/components/search-information/search-information.component.mjs +5 -5
- package/esm2022/projects/UILibrary/src/app/models/chat.settings.mjs +1 -1
- package/esm2022/projects/UILibrary/src/app/models/uilibrary.model.mjs +1 -1
- package/esm2022/projects/UILibrary/src/app/uilibrary.module.mjs +22 -22
- package/fesm2022/amc-technology-ui-library.mjs +767 -757
- package/fesm2022/amc-technology-ui-library.mjs.map +1 -1
- package/package.json +2 -2
- package/projects/UILibrary/src/app/components/chat-box/chat-box.component.d.ts +9 -5
- package/projects/UILibrary/src/app/components/chat-message/chat-message.component.d.ts +3 -3
- package/projects/UILibrary/src/app/components/{holdtimer/holdtimer.component.d.ts → hold-timer/hold-timer.component.d.ts} +4 -4
- package/projects/UILibrary/src/app/components/interaction/interaction.component.d.ts +3 -4
- package/projects/UILibrary/src/app/components/login/login.component.d.ts +1 -1
- package/projects/UILibrary/src/app/components/scenario/scenario.component.d.ts +3 -4
- package/projects/UILibrary/src/app/models/chat.settings.d.ts +2 -0
- package/projects/UILibrary/src/app/models/uilibrary.model.d.ts +13 -0
- package/projects/UILibrary/src/app/uilibrary.module.d.ts +2 -2
- package/webcomponents/webcomponents.js +2 -2
- package/esm2022/projects/UILibrary/src/app/components/holdtimer/holdtimer.component.mjs +0 -72
- package/esm2022/projects/UILibrary/src/app/models/login.interface.mjs +0 -2
- package/projects/UILibrary/src/app/models/login.interface.d.ts +0 -13
- package/webcomponents/styles.css +0 -0
package/esm2022/projects/UILibrary/src/app/components/recent-activity/recent-activity.component.mjs
CHANGED
|
@@ -116,12 +116,12 @@ export class RecentActivityComponent {
|
|
|
116
116
|
newValue: this.ActivityDetails
|
|
117
117
|
});
|
|
118
118
|
}
|
|
119
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
120
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: RecentActivityComponent, selector: "amc-recent-activity", inputs: { ActivityDetails: "ActivityDetails", isInConsoleView: "isInConsoleView", quickCommentList: "quickCommentList", workingScenarioID: "workingScenarioID", idx: "idx", last: "last", WhoObjectList: "WhoObjectList", WhatObjectList: "WhatObjectList" }, outputs: { EventEmitter: "EventEmitter" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"ActivityDetails.ScenarioId === workingScenarioID\">\r\n <div (click)=\"expandAndCollapseRecentActivity(false);\" class=\"editor callHeaderRecentActivitySelected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img [src]=\"getIcon(ActivityDetails.ChannelType)\" class=\"RecentCallsImg\" />\r\n <b>{{ ActivityDetails.Subject }}</b>\r\n </label>\r\n <img *ngIf=\"ActivityDetails.ActivityId\" class=\"RecentCallsImgForActivity\" src=\"../../assets/images/open_activity.png\"\r\n title=\"Open Activity\" (click)=\"openActivity();$event.stopPropagation();\" />\r\n <label *ngIf=\"ActivityDetails.IsUnSaved && isInConsoleView\" class=\"unsavedText\">unsaved</label>\r\n </div>\r\n <div class=\"callBody\">\r\n <div class=\"gray-out\" *ngIf=\"ActivityDetails.IsRecentWorkItemLoading\">\r\n <div class=\"spinner-container\">\r\n <img class=\"spinner\" src=\"../../assets/images/view_progress.gif\" />\r\n </div>\r\n </div>\r\n <div class=\"activityFields\">\r\n <!-- <form> -->\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Subject\">Subject</label>\r\n <input class=\"activitySubjectTextBoxStyle displayData\" type=\"text\" (change)=\"onSubjectChange();\"\r\n (keyup)=\"onSubjectKeyUp()\" name=\"subject\" [(ngModel)]=\"ActivityDetails.Subject\" />\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Name\">Name</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhoObject.objectId\"\r\n (ngModelChange)=\"onWhoObjectChange($event)\" name=\"whoItem\">\r\n <option *ngFor=\"let whoItem of WhoObjectList\" [ngValue]=\"whoItem.objectId\">\r\n {{(whoItem.displayName && whoItem.objectName) ? (whoItem.displayName + ': ' + whoItem.objectName) : \"\" }}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Regarding\">Related To</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhatObject.objectId\"\r\n (ngModelChange)=\"onRelatedToChange($event)\" name=\"whatItem\">\r\n <option *ngFor=\"let whatItem of WhatObjectList;\" [ngValue]=\"whatItem.objectId\">\r\n {{ (whatItem.displayName && whatItem.objectName) ? (whatItem.displayName + ': ' + whatItem.objectName) : \"\" }}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <div class=\"callNotesSection\">\r\n <div class=\"callNotesTextArea\">\r\n <textarea placeholder=\"Click to add a comment\" class=\"activityCommentsTextBoxStyle\"\r\n (change)=\"onCallNotesChange();\" (keyup)=\"onCallNotesKeyUp()\" name=\"description\" rows=\"5\" title=\"\"\r\n [(ngModel)]=\"ActivityDetails.Description\">\r\n </textarea>\r\n </div>\r\n <div class=\"notesBottonBorder\">\r\n <div class=\"commentsButtonDiv\">\r\n <div class=\"quickCommentsDiv\">\r\n <input *ngFor=\"let quickComment of quickCommentList; let i = index;\" class=\"quickNotesBotton\"\r\n type=\"button\" value=\"{{i+1}}\" (click)=\"addQuickCommentToDescription(quickComment)\"\r\n title=\"{{quickComment}}\">\r\n </div>\r\n <div class=\"callNotesButtonsSection\">\r\n <input class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity()\"\r\n [disabled]=\"!ActivityDetails.IsUnSaved\" />\r\n <!-- <input *ngIf=\"recentScenario.IsProcessing\" class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity(idx)\" [disabled]=\"!recentScenario.IsUnSaved\"/> -->\r\n <img *ngIf=\"ActivityDetails.IsProcessing\" class=\"loadingIcon\" src=\"../../assets/images/loading.gif\"\r\n title=\"Updating Activity\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- </form> -->\r\n </div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"ActivityDetails.ScenarioId !== workingScenarioID \">\r\n <div [class.callHeaderBottomBorder]='last' (click)=\"expandAndCollapseRecentActivity(true)\"\r\n class=\"editor callHeaderRecentActivityUnselected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img [src]=\"getIcon(ActivityDetails.ChannelType)\" class=\"RecentCallsImg\" />\r\n <b>{{ ActivityDetails.Subject }}</b>\r\n </label>\r\n <img *ngIf=\"ActivityDetails.ActivityId\" class=\"RecentCallsImgForActivity\" src=\"../../assets/images/open_activity.png\"\r\n title=\"Open Activity\" (click)=\"openActivity();$event.stopPropagation();\" />\r\n <label *ngIf=\"ActivityDetails.IsUnSaved && isInConsoleView\" class=\"unsavedText\">unsaved</label>\r\n </div>\r\n</div>\r\n\r\n", styles: [".callSection{margin-left:0;font-family:Arial;position:relative;margin-top:5px;background-color:#fff}.notesBottonBorder{background-color:#fff;border-left:1px solid #939598;border-bottom:1px solid #939598;border-right:1px solid #939598;border-bottom-left-radius:3px!important;border-bottom-right-radius:3px!important;height:auto}.quickCommentsDiv{text-align:left;flex:1 0 0;flex-wrap:wrap;display:flex;margin:2px}.unsavedText{float:right;margin-right:5px;color:gray;font-style:italic}.quickNotesBotton{background-color:#1e72ba;border:0;color:#fff;height:70%;width:20px;margin:2px;outline:none;font-size:70%}.submitButton{border:0;float:right;margin-top:2px;outline:none;cursor:pointer;background-color:#6cb047;color:#fff;border-radius:4px;font-size:98%;margin-bottom:2px}.commentsButtonDiv{width:100%;display:flex;align-items:center;background-color:#f6f7fb}.gray-out{top:0;left:0;position:absolute;z-index:2000;background:white;opacity:.7;filter:alpha(opacity=70);width:100%;height:100%}.spinner-container{position:relative;width:-moz-fit-content;width:fit-content;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner{height:80px;width:80px;border:0;position:relative;left:50%;transform:translate(-50%)}.callNotesButtonsSection{text-align:right;padding-right:4px}.ViewResizeImage{width:20px;height:20px;float:right;cursor:pointer}.callBody{border:1px solid #939598;border-top:1px solid #ffffff;position:relative}.callBodyBorderless{position:relative}.callDisplay{margin-bottom:8px;background-color:#fff}.editor{font-size:.9em;width:70%;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;border:0;padding-top:5px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.dropDownListStyle{border:1px solid #939598!important;border-radius:3px!important;width:70%!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0 5px 0 0;cursor:pointer}.activitySubjectTextBoxStyle{border:1px solid #939598!important;border-radius:3px!important;width:70%!important;height:20px!important;text-align:left!important;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;margin:0 5px 0 0;padding-left:2px}.activityCommentsTextBoxStyle{color:#333!important;text-align:left!important;margin:0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;resize:none;width:100%;height:100%;border:none}.displayDiv{width:100%;display:flex}.displayLabels{margin-left:5px;width:25%;overflow:hidden;text-overflow:ellipsis}.displayData{width:70%}.headerLabel{margin-left:10px}.activityFields{position:relative;z-index:0}.callNotesTextArea{background-color:#fff;border-bottom:1px solid #939598;border-top:1px solid #939598;border-top-left-radius:3px!important;border-top-right-radius:3px!important}.callNotesSection{float:left;height:100%;width:100%;background-color:#f6f7fb}.callHeaderRecentActivitySelected{cursor:pointer;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#cfecf2!important;width:100%!important;margin-top:0!important}.callHeaderRecentActivityUnselected{cursor:pointer;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#e6f4f7!important;width:100%!important;margin-top:0!important}.callHeader{border:1px solid #939598!important;background-color:#f4f5fb!important;width:100%!important;margin-top:0!important}.callHeaderBottomBorder{cursor:pointer;border-bottom:1px solid #939598!important;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#e6f4f7!important;width:100%!important;margin-top:0!important}.RecentCallsImg{height:15px;vertical-align:text-bottom}.RecentCallsImgForActivity{height:15px;vertical-align:super;margin-right:5px}.headerLabelClickableLook{cursor:pointer;display:inline-block;margin-left:10px;max-width:80%;overflow:hidden;text-overflow:ellipsis}.loadingIcon{margin-left:auto;margin-right:5px;height:10px;width:30px;margin-top:5px;padding-bottom:0}input[type=button]:disabled{background-color:#d3d3d3;cursor:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
119
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecentActivityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
120
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RecentActivityComponent, selector: "amc-recent-activity", inputs: { ActivityDetails: "ActivityDetails", isInConsoleView: "isInConsoleView", quickCommentList: "quickCommentList", workingScenarioID: "workingScenarioID", idx: "idx", last: "last", WhoObjectList: "WhoObjectList", WhatObjectList: "WhatObjectList" }, outputs: { EventEmitter: "EventEmitter" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"ActivityDetails.ScenarioId === workingScenarioID\">\r\n <div (click)=\"expandAndCollapseRecentActivity(false);\" class=\"editor callHeaderRecentActivitySelected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img [src]=\"getIcon(ActivityDetails.ChannelType)\" class=\"RecentCallsImg\" />\r\n <b>{{ ActivityDetails.Subject }}</b>\r\n </label>\r\n <img *ngIf=\"ActivityDetails.ActivityId\" class=\"RecentCallsImgForActivity\" src=\"../../assets/images/open_activity.png\"\r\n title=\"Open Activity\" (click)=\"openActivity();$event.stopPropagation();\" />\r\n <label *ngIf=\"ActivityDetails.IsUnSaved && isInConsoleView\" class=\"unsavedText\">unsaved</label>\r\n </div>\r\n <div class=\"callBody\">\r\n <div class=\"gray-out\" *ngIf=\"ActivityDetails.IsRecentWorkItemLoading\">\r\n <div class=\"spinner-container\">\r\n <img class=\"spinner\" src=\"../../assets/images/view_progress.gif\" />\r\n </div>\r\n </div>\r\n <div class=\"activityFields\">\r\n <!-- <form> -->\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Subject\">Subject</label>\r\n <input class=\"activitySubjectTextBoxStyle displayData\" type=\"text\" (change)=\"onSubjectChange();\"\r\n (keyup)=\"onSubjectKeyUp()\" name=\"subject\" [(ngModel)]=\"ActivityDetails.Subject\" />\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Name\">Name</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhoObject.objectId\"\r\n (ngModelChange)=\"onWhoObjectChange($event)\" name=\"whoItem\">\r\n <option *ngFor=\"let whoItem of WhoObjectList\" [ngValue]=\"whoItem.objectId\">\r\n {{(whoItem.displayName && whoItem.objectName) ? (whoItem.displayName + ': ' + whoItem.objectName) : \"\" }}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Regarding\">Related To</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhatObject.objectId\"\r\n (ngModelChange)=\"onRelatedToChange($event)\" name=\"whatItem\">\r\n <option *ngFor=\"let whatItem of WhatObjectList;\" [ngValue]=\"whatItem.objectId\">\r\n {{ (whatItem.displayName && whatItem.objectName) ? (whatItem.displayName + ': ' + whatItem.objectName) : \"\" }}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <div class=\"callNotesSection\">\r\n <div class=\"callNotesTextArea\">\r\n <textarea placeholder=\"Click to add a comment\" class=\"activityCommentsTextBoxStyle\"\r\n (change)=\"onCallNotesChange();\" (keyup)=\"onCallNotesKeyUp()\" name=\"description\" rows=\"5\" title=\"\"\r\n [(ngModel)]=\"ActivityDetails.Description\">\r\n </textarea>\r\n </div>\r\n <div class=\"notesBottonBorder\">\r\n <div class=\"commentsButtonDiv\">\r\n <div class=\"quickCommentsDiv\">\r\n <input *ngFor=\"let quickComment of quickCommentList; let i = index;\" class=\"quickNotesBotton\"\r\n type=\"button\" value=\"{{i+1}}\" (click)=\"addQuickCommentToDescription(quickComment)\"\r\n title=\"{{quickComment}}\">\r\n </div>\r\n <div class=\"callNotesButtonsSection\">\r\n <input class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity()\"\r\n [disabled]=\"!ActivityDetails.IsUnSaved\" />\r\n <!-- <input *ngIf=\"recentScenario.IsProcessing\" class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity(idx)\" [disabled]=\"!recentScenario.IsUnSaved\"/> -->\r\n <img *ngIf=\"ActivityDetails.IsProcessing\" class=\"loadingIcon\" src=\"../../assets/images/loading.gif\"\r\n title=\"Updating Activity\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- </form> -->\r\n </div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"ActivityDetails.ScenarioId !== workingScenarioID \">\r\n <div [class.callHeaderBottomBorder]='last' (click)=\"expandAndCollapseRecentActivity(true)\"\r\n class=\"editor callHeaderRecentActivityUnselected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img [src]=\"getIcon(ActivityDetails.ChannelType)\" class=\"RecentCallsImg\" />\r\n <b>{{ ActivityDetails.Subject }}</b>\r\n </label>\r\n <img *ngIf=\"ActivityDetails.ActivityId\" class=\"RecentCallsImgForActivity\" src=\"../../assets/images/open_activity.png\"\r\n title=\"Open Activity\" (click)=\"openActivity();$event.stopPropagation();\" />\r\n <label *ngIf=\"ActivityDetails.IsUnSaved && isInConsoleView\" class=\"unsavedText\">unsaved</label>\r\n </div>\r\n</div>\r\n\r\n", styles: [".callSection{margin-left:0;font-family:Arial;position:relative;margin-top:5px;background-color:#fff}.notesBottonBorder{background-color:#fff;border-left:1px solid #939598;border-bottom:1px solid #939598;border-right:1px solid #939598;border-bottom-left-radius:3px!important;border-bottom-right-radius:3px!important;height:auto}.quickCommentsDiv{text-align:left;flex:1 0 0;flex-wrap:wrap;display:flex;margin:2px}.unsavedText{float:right;margin-right:5px;color:gray;font-style:italic}.quickNotesBotton{background-color:#1e72ba;border:0;color:#fff;height:70%;width:20px;margin:2px;outline:none;font-size:70%}.submitButton{border:0;float:right;margin-top:2px;outline:none;cursor:pointer;background-color:#6cb047;color:#fff;border-radius:4px;font-size:98%;margin-bottom:2px}.commentsButtonDiv{width:100%;display:flex;align-items:center;background-color:#f6f7fb}.gray-out{top:0;left:0;position:absolute;z-index:2000;background:#fff;opacity:.7;filter:alpha(opacity=70);width:100%;height:100%}.spinner-container{position:relative;width:-moz-fit-content;width:fit-content;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner{height:80px;width:80px;border:0;position:relative;left:50%;transform:translate(-50%)}.callNotesButtonsSection{text-align:right;padding-right:4px}.ViewResizeImage{width:20px;height:20px;float:right;cursor:pointer}.callBody{border:1px solid #939598;border-top:1px solid #ffffff;position:relative}.callBodyBorderless{position:relative}.callDisplay{margin-bottom:8px;background-color:#fff}.editor{font-size:.9em;width:70%;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:0;padding-top:5px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.dropDownListStyle{border:1px solid #939598!important;border-radius:3px!important;width:70%!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0 5px 0 0;cursor:pointer}.activitySubjectTextBoxStyle{border:1px solid #939598!important;border-radius:3px!important;width:70%!important;height:20px!important;text-align:left!important;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;margin:0 5px 0 0;padding-left:2px}.activityCommentsTextBoxStyle{color:#333!important;text-align:left!important;margin:0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;resize:none;width:100%;height:100%;border:none}.displayDiv{width:100%;display:flex}.displayData{width:70%}.headerLabel{margin-left:10px}.activityFields{position:relative;z-index:0}.callNotesTextArea{background-color:#fff;border-bottom:1px solid #939598;border-top:1px solid #939598;border-top-left-radius:3px!important;border-top-right-radius:3px!important}.callNotesSection{float:left;height:100%;width:100%;background-color:#f6f7fb}.callHeaderRecentActivitySelected{cursor:pointer;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#cfecf2!important;width:100%!important;margin-top:0!important}.callHeaderRecentActivityUnselected{cursor:pointer;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#e6f4f7!important;width:100%!important;margin-top:0!important}.callHeader{border:1px solid #939598!important;background-color:#f4f5fb!important;width:100%!important;margin-top:0!important}.callHeaderBottomBorder{cursor:pointer;border-bottom:1px solid #939598!important;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#e6f4f7!important;width:100%!important;margin-top:0!important}.RecentCallsImg{height:15px;vertical-align:text-bottom}.RecentCallsImgForActivity{height:15px;vertical-align:super;margin-right:5px}.headerLabelClickableLook{cursor:pointer;display:inline-block;margin-left:10px;max-width:80%;overflow:hidden;text-overflow:ellipsis}.loadingIcon{margin-left:auto;margin-right:5px;height:10px;width:30px;margin-top:5px;padding-bottom:0}input[type=button]:disabled{background-color:#d3d3d3;cursor:auto}.displayLabels{margin-left:5px;width:25%;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
121
121
|
}
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RecentActivityComponent, decorators: [{
|
|
123
123
|
type: Component,
|
|
124
|
-
args: [{ selector: 'amc-recent-activity', template: "<div *ngIf=\"ActivityDetails.ScenarioId === workingScenarioID\">\r\n <div (click)=\"expandAndCollapseRecentActivity(false);\" class=\"editor callHeaderRecentActivitySelected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img [src]=\"getIcon(ActivityDetails.ChannelType)\" class=\"RecentCallsImg\" />\r\n <b>{{ ActivityDetails.Subject }}</b>\r\n </label>\r\n <img *ngIf=\"ActivityDetails.ActivityId\" class=\"RecentCallsImgForActivity\" src=\"../../assets/images/open_activity.png\"\r\n title=\"Open Activity\" (click)=\"openActivity();$event.stopPropagation();\" />\r\n <label *ngIf=\"ActivityDetails.IsUnSaved && isInConsoleView\" class=\"unsavedText\">unsaved</label>\r\n </div>\r\n <div class=\"callBody\">\r\n <div class=\"gray-out\" *ngIf=\"ActivityDetails.IsRecentWorkItemLoading\">\r\n <div class=\"spinner-container\">\r\n <img class=\"spinner\" src=\"../../assets/images/view_progress.gif\" />\r\n </div>\r\n </div>\r\n <div class=\"activityFields\">\r\n <!-- <form> -->\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Subject\">Subject</label>\r\n <input class=\"activitySubjectTextBoxStyle displayData\" type=\"text\" (change)=\"onSubjectChange();\"\r\n (keyup)=\"onSubjectKeyUp()\" name=\"subject\" [(ngModel)]=\"ActivityDetails.Subject\" />\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Name\">Name</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhoObject.objectId\"\r\n (ngModelChange)=\"onWhoObjectChange($event)\" name=\"whoItem\">\r\n <option *ngFor=\"let whoItem of WhoObjectList\" [ngValue]=\"whoItem.objectId\">\r\n {{(whoItem.displayName && whoItem.objectName) ? (whoItem.displayName + ': ' + whoItem.objectName) : \"\" }}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Regarding\">Related To</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhatObject.objectId\"\r\n (ngModelChange)=\"onRelatedToChange($event)\" name=\"whatItem\">\r\n <option *ngFor=\"let whatItem of WhatObjectList;\" [ngValue]=\"whatItem.objectId\">\r\n {{ (whatItem.displayName && whatItem.objectName) ? (whatItem.displayName + ': ' + whatItem.objectName) : \"\" }}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <div class=\"callNotesSection\">\r\n <div class=\"callNotesTextArea\">\r\n <textarea placeholder=\"Click to add a comment\" class=\"activityCommentsTextBoxStyle\"\r\n (change)=\"onCallNotesChange();\" (keyup)=\"onCallNotesKeyUp()\" name=\"description\" rows=\"5\" title=\"\"\r\n [(ngModel)]=\"ActivityDetails.Description\">\r\n </textarea>\r\n </div>\r\n <div class=\"notesBottonBorder\">\r\n <div class=\"commentsButtonDiv\">\r\n <div class=\"quickCommentsDiv\">\r\n <input *ngFor=\"let quickComment of quickCommentList; let i = index;\" class=\"quickNotesBotton\"\r\n type=\"button\" value=\"{{i+1}}\" (click)=\"addQuickCommentToDescription(quickComment)\"\r\n title=\"{{quickComment}}\">\r\n </div>\r\n <div class=\"callNotesButtonsSection\">\r\n <input class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity()\"\r\n [disabled]=\"!ActivityDetails.IsUnSaved\" />\r\n <!-- <input *ngIf=\"recentScenario.IsProcessing\" class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity(idx)\" [disabled]=\"!recentScenario.IsUnSaved\"/> -->\r\n <img *ngIf=\"ActivityDetails.IsProcessing\" class=\"loadingIcon\" src=\"../../assets/images/loading.gif\"\r\n title=\"Updating Activity\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- </form> -->\r\n </div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"ActivityDetails.ScenarioId !== workingScenarioID \">\r\n <div [class.callHeaderBottomBorder]='last' (click)=\"expandAndCollapseRecentActivity(true)\"\r\n class=\"editor callHeaderRecentActivityUnselected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img [src]=\"getIcon(ActivityDetails.ChannelType)\" class=\"RecentCallsImg\" />\r\n <b>{{ ActivityDetails.Subject }}</b>\r\n </label>\r\n <img *ngIf=\"ActivityDetails.ActivityId\" class=\"RecentCallsImgForActivity\" src=\"../../assets/images/open_activity.png\"\r\n title=\"Open Activity\" (click)=\"openActivity();$event.stopPropagation();\" />\r\n <label *ngIf=\"ActivityDetails.IsUnSaved && isInConsoleView\" class=\"unsavedText\">unsaved</label>\r\n </div>\r\n</div>\r\n\r\n", styles: [".callSection{margin-left:0;font-family:Arial;position:relative;margin-top:5px;background-color:#fff}.notesBottonBorder{background-color:#fff;border-left:1px solid #939598;border-bottom:1px solid #939598;border-right:1px solid #939598;border-bottom-left-radius:3px!important;border-bottom-right-radius:3px!important;height:auto}.quickCommentsDiv{text-align:left;flex:1 0 0;flex-wrap:wrap;display:flex;margin:2px}.unsavedText{float:right;margin-right:5px;color:gray;font-style:italic}.quickNotesBotton{background-color:#1e72ba;border:0;color:#fff;height:70%;width:20px;margin:2px;outline:none;font-size:70%}.submitButton{border:0;float:right;margin-top:2px;outline:none;cursor:pointer;background-color:#6cb047;color:#fff;border-radius:4px;font-size:98%;margin-bottom:2px}.commentsButtonDiv{width:100%;display:flex;align-items:center;background-color:#f6f7fb}.gray-out{top:0;left:0;position:absolute;z-index:2000;background
|
|
124
|
+
args: [{ selector: 'amc-recent-activity', template: "<div *ngIf=\"ActivityDetails.ScenarioId === workingScenarioID\">\r\n <div (click)=\"expandAndCollapseRecentActivity(false);\" class=\"editor callHeaderRecentActivitySelected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img [src]=\"getIcon(ActivityDetails.ChannelType)\" class=\"RecentCallsImg\" />\r\n <b>{{ ActivityDetails.Subject }}</b>\r\n </label>\r\n <img *ngIf=\"ActivityDetails.ActivityId\" class=\"RecentCallsImgForActivity\" src=\"../../assets/images/open_activity.png\"\r\n title=\"Open Activity\" (click)=\"openActivity();$event.stopPropagation();\" />\r\n <label *ngIf=\"ActivityDetails.IsUnSaved && isInConsoleView\" class=\"unsavedText\">unsaved</label>\r\n </div>\r\n <div class=\"callBody\">\r\n <div class=\"gray-out\" *ngIf=\"ActivityDetails.IsRecentWorkItemLoading\">\r\n <div class=\"spinner-container\">\r\n <img class=\"spinner\" src=\"../../assets/images/view_progress.gif\" />\r\n </div>\r\n </div>\r\n <div class=\"activityFields\">\r\n <!-- <form> -->\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Subject\">Subject</label>\r\n <input class=\"activitySubjectTextBoxStyle displayData\" type=\"text\" (change)=\"onSubjectChange();\"\r\n (keyup)=\"onSubjectKeyUp()\" name=\"subject\" [(ngModel)]=\"ActivityDetails.Subject\" />\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Name\">Name</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhoObject.objectId\"\r\n (ngModelChange)=\"onWhoObjectChange($event)\" name=\"whoItem\">\r\n <option *ngFor=\"let whoItem of WhoObjectList\" [ngValue]=\"whoItem.objectId\">\r\n {{(whoItem.displayName && whoItem.objectName) ? (whoItem.displayName + ': ' + whoItem.objectName) : \"\" }}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <label class=\"displayLabels\" title=\"Regarding\">Related To</label>\r\n <select class=\"dropDownListStyle displayData\" [ngModel]=\"ActivityDetails.WhatObject.objectId\"\r\n (ngModelChange)=\"onRelatedToChange($event)\" name=\"whatItem\">\r\n <option *ngFor=\"let whatItem of WhatObjectList;\" [ngValue]=\"whatItem.objectId\">\r\n {{ (whatItem.displayName && whatItem.objectName) ? (whatItem.displayName + ': ' + whatItem.objectName) : \"\" }}</option>\r\n <!-- <option value=\"UserSelectedForEmptyRecord\"></option> -->\r\n </select>\r\n </div>\r\n <div class=\"editor displayDiv\">\r\n <div class=\"callNotesSection\">\r\n <div class=\"callNotesTextArea\">\r\n <textarea placeholder=\"Click to add a comment\" class=\"activityCommentsTextBoxStyle\"\r\n (change)=\"onCallNotesChange();\" (keyup)=\"onCallNotesKeyUp()\" name=\"description\" rows=\"5\" title=\"\"\r\n [(ngModel)]=\"ActivityDetails.Description\">\r\n </textarea>\r\n </div>\r\n <div class=\"notesBottonBorder\">\r\n <div class=\"commentsButtonDiv\">\r\n <div class=\"quickCommentsDiv\">\r\n <input *ngFor=\"let quickComment of quickCommentList; let i = index;\" class=\"quickNotesBotton\"\r\n type=\"button\" value=\"{{i+1}}\" (click)=\"addQuickCommentToDescription(quickComment)\"\r\n title=\"{{quickComment}}\">\r\n </div>\r\n <div class=\"callNotesButtonsSection\">\r\n <input class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity()\"\r\n [disabled]=\"!ActivityDetails.IsUnSaved\" />\r\n <!-- <input *ngIf=\"recentScenario.IsProcessing\" class=\"submitButton\" type=\"button\" value=\"Save\" (click)=\"submitActivity(idx)\" [disabled]=\"!recentScenario.IsUnSaved\"/> -->\r\n <img *ngIf=\"ActivityDetails.IsProcessing\" class=\"loadingIcon\" src=\"../../assets/images/loading.gif\"\r\n title=\"Updating Activity\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- </form> -->\r\n </div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"ActivityDetails.ScenarioId !== workingScenarioID \">\r\n <div [class.callHeaderBottomBorder]='last' (click)=\"expandAndCollapseRecentActivity(true)\"\r\n class=\"editor callHeaderRecentActivityUnselected\">\r\n <label class=\"headerLabelClickableLook\">\r\n <img [src]=\"getIcon(ActivityDetails.ChannelType)\" class=\"RecentCallsImg\" />\r\n <b>{{ ActivityDetails.Subject }}</b>\r\n </label>\r\n <img *ngIf=\"ActivityDetails.ActivityId\" class=\"RecentCallsImgForActivity\" src=\"../../assets/images/open_activity.png\"\r\n title=\"Open Activity\" (click)=\"openActivity();$event.stopPropagation();\" />\r\n <label *ngIf=\"ActivityDetails.IsUnSaved && isInConsoleView\" class=\"unsavedText\">unsaved</label>\r\n </div>\r\n</div>\r\n\r\n", styles: [".callSection{margin-left:0;font-family:Arial;position:relative;margin-top:5px;background-color:#fff}.notesBottonBorder{background-color:#fff;border-left:1px solid #939598;border-bottom:1px solid #939598;border-right:1px solid #939598;border-bottom-left-radius:3px!important;border-bottom-right-radius:3px!important;height:auto}.quickCommentsDiv{text-align:left;flex:1 0 0;flex-wrap:wrap;display:flex;margin:2px}.unsavedText{float:right;margin-right:5px;color:gray;font-style:italic}.quickNotesBotton{background-color:#1e72ba;border:0;color:#fff;height:70%;width:20px;margin:2px;outline:none;font-size:70%}.submitButton{border:0;float:right;margin-top:2px;outline:none;cursor:pointer;background-color:#6cb047;color:#fff;border-radius:4px;font-size:98%;margin-bottom:2px}.commentsButtonDiv{width:100%;display:flex;align-items:center;background-color:#f6f7fb}.gray-out{top:0;left:0;position:absolute;z-index:2000;background:#fff;opacity:.7;filter:alpha(opacity=70);width:100%;height:100%}.spinner-container{position:relative;width:-moz-fit-content;width:fit-content;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner{height:80px;width:80px;border:0;position:relative;left:50%;transform:translate(-50%)}.callNotesButtonsSection{text-align:right;padding-right:4px}.ViewResizeImage{width:20px;height:20px;float:right;cursor:pointer}.callBody{border:1px solid #939598;border-top:1px solid #ffffff;position:relative}.callBodyBorderless{position:relative}.callDisplay{margin-bottom:8px;background-color:#fff}.editor{font-size:.9em;width:70%;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:0;padding-top:5px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.dropDownListStyle{border:1px solid #939598!important;border-radius:3px!important;width:70%!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0 5px 0 0;cursor:pointer}.activitySubjectTextBoxStyle{border:1px solid #939598!important;border-radius:3px!important;width:70%!important;height:20px!important;text-align:left!important;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;margin:0 5px 0 0;padding-left:2px}.activityCommentsTextBoxStyle{color:#333!important;text-align:left!important;margin:0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;resize:none;width:100%;height:100%;border:none}.displayDiv{width:100%;display:flex}.displayData{width:70%}.headerLabel{margin-left:10px}.activityFields{position:relative;z-index:0}.callNotesTextArea{background-color:#fff;border-bottom:1px solid #939598;border-top:1px solid #939598;border-top-left-radius:3px!important;border-top-right-radius:3px!important}.callNotesSection{float:left;height:100%;width:100%;background-color:#f6f7fb}.callHeaderRecentActivitySelected{cursor:pointer;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#cfecf2!important;width:100%!important;margin-top:0!important}.callHeaderRecentActivityUnselected{cursor:pointer;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#e6f4f7!important;width:100%!important;margin-top:0!important}.callHeader{border:1px solid #939598!important;background-color:#f4f5fb!important;width:100%!important;margin-top:0!important}.callHeaderBottomBorder{cursor:pointer;border-bottom:1px solid #939598!important;border-left:1px solid #939598!important;border-right:1px solid #939598!important;background-color:#e6f4f7!important;width:100%!important;margin-top:0!important}.RecentCallsImg{height:15px;vertical-align:text-bottom}.RecentCallsImgForActivity{height:15px;vertical-align:super;margin-right:5px}.headerLabelClickableLook{cursor:pointer;display:inline-block;margin-left:10px;max-width:80%;overflow:hidden;text-overflow:ellipsis}.loadingIcon{margin-left:auto;margin-right:5px;height:10px;width:30px;margin-top:5px;padding-bottom:0}input[type=button]:disabled{background-color:#d3d3d3;cursor:auto}.displayLabels{margin-left:5px;width:25%;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
125
125
|
}], ctorParameters: function () { return []; }, propDecorators: { ActivityDetails: [{
|
|
126
126
|
type: Input
|
|
127
127
|
}], isInConsoleView: [{
|
|
@@ -141,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
|
141
141
|
}], EventEmitter: [{
|
|
142
142
|
type: Output
|
|
143
143
|
}] } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50LWFjdGl2aXR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL1VJTGlicmFyeS9zcmMvYXBwL2NvbXBvbmVudHMvcmVjZW50LWFjdGl2aXR5L3JlY2VudC1hY3Rpdml0eS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL3JlY2VudC1hY3Rpdml0eS9yZWNlbnQtYWN0aXZpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFJUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQVMvQixNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLGVBQWUsQ0FBWTtJQUMzQixlQUFlLENBQVU7SUFDekIsZ0JBQWdCLENBQVc7SUFDM0IsaUJBQWlCLENBQVM7SUFDMUIsR0FBRyxDQUFTO0lBQ1osSUFBSSxDQUFVO0lBQ2QsYUFBYSxDQUFxQjtJQUNsQyxjQUFjLENBQXFCO0lBRWxDLFlBQVksQ0FJbkI7SUFFSyxTQUFTLENBQWdCO0lBQ3pCLFNBQVMsQ0FBYztJQUUvQjtRQUNFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBSWhDLENBQUM7UUFFTCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXO0lBQ1gsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFRO1FBQ2QsUUFBUSxRQUFRLEVBQUU7WUFD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QkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgT25Jbml0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IElBY3Rpdml0eSB9IGZyb20gJy4uLy4uL21vZGVscy9JQWN0aXZpdHknO1xyXG5pbXBvcnQgeyBJQWN0aXZpdHlEZXRhaWxzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0lBY3Rpdml0eURldGFpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbWMtcmVjZW50LWFjdGl2aXR5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVjZW50LWFjdGl2aXR5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZWNlbnQtYWN0aXZpdHkuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWNlbnRBY3Rpdml0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIEFjdGl2aXR5RGV0YWlsczogSUFjdGl2aXR5O1xyXG4gIEBJbnB1dCgpIGlzSW5Db25zb2xlVmlldzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBxdWlja0NvbW1lbnRMaXN0OiBzdHJpbmdbXTtcclxuICBASW5wdXQoKSB3b3JraW5nU2NlbmFyaW9JRDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlkeDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGxhc3Q6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgV2hvT2JqZWN0TGlzdDogSUFjdGl2aXR5RGV0YWlsc1tdO1xyXG4gIEBJbnB1dCgpIFdoYXRPYmplY3RMaXN0OiBJQWN0aXZpdHlEZXRhaWxzW107XHJcblxyXG4gIEBPdXRwdXQoKSBFdmVudEVtaXR0ZXI6IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBldmVudE5hbWU6IHN0cmluZztcclxuICAgIGlkeDogbnVtYmVyO1xyXG4gICAgbmV3VmFsdWU/OiBJQWN0aXZpdHk7XHJcbiAgfT47XHJcblxyXG4gIHByaXZhdGUgZGVib3VuY2VyOiBTdWJqZWN0PHZvaWQ+O1xyXG4gIHByaXZhdGUgZXZlbnRMaXN0OiBTZXQ8U3RyaW5nPjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLkV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgICBldmVudE5hbWU6IHN0cmluZztcclxuICAgICAgaWR4OiBudW1iZXI7XHJcbiAgICAgIG5ld1ZhbHVlPzogSUFjdGl2aXR5O1xyXG4gICAgfT4oKTtcclxuXHJcbiAgICB0aGlzLmRlYm91bmNlciA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgICB0aGlzLmV2ZW50TGlzdCA9IG5ldyBTZXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgZ2V0SWNvbihzY2VuYXJpbyk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKHNjZW5hcmlvKSB7XHJcbiAgICAgIGNhc2UgJ1RlbGVwaG9ueSc6XHJcbiAgICAgICAgcmV0dXJuICcuLi8uLi9hc3NldHMvaW1hZ2VzL1Bob25lX051bWJlcl9JY29uLnBuZyc7XHJcbiAgICAgIGNhc2UgJ0VtYWlsJzpcclxuICAgICAgICByZXR1cm4gJy4uLy4uL2Fzc2V0cy9pbWFnZXMvZW1haWxUYWIucG5nJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJy4uLy4uL2Fzc2V0cy9pbWFnZXMvY2hhdC5wbmcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlYm91bmNlci5waXBlKGRlYm91bmNlVGltZSg1MDApKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBjb25zdCBuZXdFdmVudCA9IHtcclxuICAgICAgICBldmVudE5hbWU6IEFycmF5LmZyb20odGhpcy5ldmVudExpc3QpLmpvaW4oJ3wnKSxcclxuICAgICAgICBpZHg6IHRoaXMuaWR4LFxyXG4gICAgICAgIG5ld1ZhbHVlOiB0aGlzLkFjdGl2aXR5RGV0YWlsc1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLkV2ZW50RW1pdHRlci5lbWl0KG5ld0V2ZW50KTtcclxuICAgICAgdGhpcy5ldmVudExpc3QuY2xlYXIoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7fVxyXG5cclxuICBleHBhbmRBbmRDb2xsYXBzZVJlY2VudEFjdGl2aXR5KGlzRXhwYW5kOiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNFeHBhbmQpIHtcclxuICAgICAgdGhpcy5FdmVudEVtaXR0ZXIuZW1pdCh7XHJcbiAgICAgICAgZXZlbnROYW1lOiAnV29ya2luZ0V2dGl2aXR5Q2hhbmdlZCcsXHJcbiAgICAgICAgaWR4OiB0aGlzLmlkeCxcclxuICAgICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLkV2ZW50RW1pdHRlci5lbWl0KHtcclxuICAgICAgICBldmVudE5hbWU6ICdXb3JraW5nRXZ0aXZpdHlDaGFuZ2VkJyxcclxuICAgICAgICBpZHg6IC0xLFxyXG4gICAgICAgIG5ld1ZhbHVlOiB0aGlzLkFjdGl2aXR5RGV0YWlsc1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5BY3Rpdml0eSgpIHtcclxuICAgIHRoaXMuRXZlbnRFbWl0dGVyLmVtaXQoe1xyXG4gICAgICBldmVudE5hbWU6ICdPcGVuQ2FsbEFjdGl2aXR5JyxcclxuICAgICAgaWR4OiB0aGlzLmlkeCxcclxuICAgICAgbmV3VmFsdWU6IHRoaXMuQWN0aXZpdHlEZXRhaWxzXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uU3ViamVjdENoYW5nZSgpIHtcclxuICAgIHRoaXMuZXZlbnRMaXN0LmFkZCgnQWN0aXZpdHlTdWJqZWN0Q2hhbmdlZCcpO1xyXG4gICAgdGhpcy5kZWJvdW5jZXIubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgb25TdWJqZWN0S2V5VXAoKSB7XHJcbiAgICB0aGlzLmV2ZW50TGlzdC5hZGQoJ0FjdGl2aXR5U3ViamVjdENoYW5nZWQnKTtcclxuICAgIHRoaXMuZGVib3VuY2VyLm5leHQoKTtcclxuICB9XHJcblxyXG4gIG9uV2hvT2JqZWN0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuQWN0aXZpdHlEZXRhaWxzLldob09iamVjdCA9IHRoaXMuV2hvT2JqZWN0TGlzdC5maW5kKChvYmopID0+IG9iai5vYmplY3RJZCA9PT0gZXZlbnQpO1xyXG4gICAgdGhpcy5FdmVudEVtaXR0ZXIuZW1pdCh7XHJcbiAgICAgIGV2ZW50TmFtZTogJ0FjdGl2aXR5V2hvT2JqZWN0Q2hhbmdlZCcsXHJcbiAgICAgIGlkeDogdGhpcy5pZHgsXHJcbiAgICAgIG5ld1ZhbHVlOiB0aGlzLkFjdGl2aXR5RGV0YWlsc1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblJlbGF0ZWRUb0NoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLkFjdGl2aXR5RGV0YWlscy5XaGF0T2JqZWN0ID0gdGhpcy5XaGF0T2JqZWN0TGlzdC5maW5kKChvYmopID0+IG9iai5vYmplY3RJZCA9PT0gZXZlbnQpO1xyXG4gICAgdGhpcy5FdmVudEVtaXR0ZXIuZW1pdCh7XHJcbiAgICAgIGV2ZW50TmFtZTogJ0FjdGl2aXR5V2hhdE9iamVjdENoYW5nZWQnLFxyXG4gICAgICBpZHg6IHRoaXMuaWR4LFxyXG4gICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25DYWxsTm90ZXNDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmV2ZW50TGlzdC5hZGQoJ0FjdGl2aXR5Q2FsbE5vdGVDaGFuZ2VkJyk7XHJcbiAgICB0aGlzLmRlYm91bmNlci5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNhbGxOb3Rlc0tleVVwKCkge1xyXG4gICAgdGhpcy5ldmVudExpc3QuYWRkKCdBY3Rpdml0eUNhbGxOb3RlQ2hhbmdlZCcpO1xyXG4gICAgdGhpcy5kZWJvdW5jZXIubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgYWRkUXVpY2tDb21tZW50VG9EZXNjcmlwdGlvbihjb21tZW50OiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLkFjdGl2aXR5RGV0YWlscy5EZXNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLkFjdGl2aXR5RGV0YWlscy5EZXNjcmlwdGlvbiArPSAnXFxuJztcclxuICAgIH1cclxuICAgIHRoaXMuQWN0aXZpdHlEZXRhaWxzLkRlc2NyaXB0aW9uICs9IGNvbW1lbnQ7XHJcbiAgICB0aGlzLmV2ZW50TGlzdC5hZGQoJ0FjdGl2aXR5Q2FsbE5vdGVDaGFuZ2VkJyk7XHJcbiAgICB0aGlzLmRlYm91bmNlci5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRBY3Rpdml0eSgpIHtcclxuICAgIHRoaXMuQWN0aXZpdHlEZXRhaWxzLklzUHJvY2Vzc2luZyA9IHRydWU7XHJcbiAgICB0aGlzLkV2ZW50RW1pdHRlci5lbWl0KHtcclxuICAgICAgZXZlbnROYW1lOiAnU3VibWl0QWN0aXZpdHknLFxyXG4gICAgICBpZHg6IHRoaXMuaWR4LFxyXG4gICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiQWN0aXZpdHlEZXRhaWxzLlNjZW5hcmlvSWQgPT09IHdvcmtpbmdTY2VuYXJpb0lEXCI+XHJcbiAgPGRpdiAoY2xpY2spPVwiZXhwYW5kQW5kQ29sbGFwc2VSZWNlbnRBY3Rpdml0eShmYWxzZSk7XCIgY2xhc3M9XCJlZGl0b3IgY2FsbEhlYWRlclJlY2VudEFjdGl2aXR5U2VsZWN0ZWRcIj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImhlYWRlckxhYmVsQ2xpY2thYmxlTG9va1wiPlxyXG4gICAgICA8aW1nIFtzcmNdPVwiZ2V0SWNvbihBY3Rpdml0eURldGFpbHMuQ2hhbm5lbFR5cGUpXCIgY2xhc3M9XCJSZWNlbnRDYWxsc0ltZ1wiIC8+XHJcbiAgICAgIDxiPnt7IEFjdGl2aXR5RGV0YWlscy5TdWJqZWN0IH19PC9iPlxyXG4gICAgPC9sYWJlbD5cclxuICAgIDxpbWcgKm5nSWY9XCJBY3Rpdml0eURldGFpbHMuQWN0aXZpdHlJZFwiIGNsYXNzPVwiUmVjZW50Q2FsbHNJbWdGb3JBY3Rpdml0eVwiIHNyYz1cIi4uLy4uL2Fzc2V0cy9pbWFnZXMvb3Blbl9hY3Rpdml0eS5wbmdcIlxyXG4gICAgICB0aXRsZT1cIk9wZW4gQWN0aXZpdHlcIiAoY2xpY2spPVwib3BlbkFjdGl2aXR5KCk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiIC8+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJBY3Rpdml0eURldGFpbHMuSXNVblNhdmVkICYmIGlzSW5Db25zb2xlVmlld1wiIGNsYXNzPVwidW5zYXZlZFRleHRcIj51bnNhdmVkPC9sYWJlbD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY2FsbEJvZHlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJncmF5LW91dFwiICpuZ0lmPVwiQWN0aXZpdHlEZXRhaWxzLklzUmVjZW50V29ya0l0ZW1Mb2FkaW5nXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJzcGlubmVyXCIgc3JjPVwiLi4vLi4vYXNzZXRzL2ltYWdlcy92aWV3X3Byb2dyZXNzLmdpZlwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHlGaWVsZHNcIj5cclxuICAgICAgPCEtLSA8Zm9ybT4gLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlZGl0b3IgZGlzcGxheURpdlwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImRpc3BsYXlMYWJlbHNcIiB0aXRsZT1cIlN1YmplY3RcIj5TdWJqZWN0PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJhY3Rpdml0eVN1YmplY3RUZXh0Qm94U3R5bGUgZGlzcGxheURhdGFcIiB0eXBlPVwidGV4dFwiIChjaGFuZ2UpPVwib25TdWJqZWN0Q2hhbmdlKCk7XCJcclxuICAgICAgICAgIChrZXl1cCk9XCJvblN1YmplY3RLZXlVcCgpXCIgbmFtZT1cInN1YmplY3RcIiBbKG5nTW9kZWwpXT1cIkFjdGl2aXR5RGV0YWlscy5TdWJqZWN0XCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlZGl0b3IgZGlzcGxheURpdlwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImRpc3BsYXlMYWJlbHNcIiB0aXRsZT1cIk5hbWVcIj5OYW1lPC9sYWJlbD5cclxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZHJvcERvd25MaXN0U3R5bGUgZGlzcGxheURhdGFcIiBbbmdNb2RlbF09XCJBY3Rpdml0eURldGFpbHMuV2hvT2JqZWN0Lm9iamVjdElkXCJcclxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uV2hvT2JqZWN0Q2hhbmdlKCRldmVudClcIiBuYW1lPVwid2hvSXRlbVwiPlxyXG4gICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgd2hvSXRlbSBvZiBXaG9PYmplY3RMaXN0XCIgW25nVmFsdWVdPVwid2hvSXRlbS5vYmplY3RJZFwiPlxyXG4gICAgICAgICAgICB7eyh3aG9JdGVtLmRpc3BsYXlOYW1lICYmIHdob0l0ZW0ub2JqZWN0TmFtZSkgPyAod2hvSXRlbS5kaXNwbGF5TmFtZSArICc6ICcgKyB3aG9JdGVtLm9iamVjdE5hbWUpIDogXCJcIiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgPCEtLSA8b3B0aW9uIHZhbHVlPVwiVXNlclNlbGVjdGVkRm9yRW1wdHlSZWNvcmRcIj48L29wdGlvbj4gLS0+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yIGRpc3BsYXlEaXZcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJkaXNwbGF5TGFiZWxzXCIgdGl0bGU9XCJSZWdhcmRpbmdcIj5SZWxhdGVkIFRvPC9sYWJlbD5cclxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZHJvcERvd25MaXN0U3R5bGUgZGlzcGxheURhdGFcIiBbbmdNb2RlbF09XCJBY3Rpdml0eURldGFpbHMuV2hhdE9iamVjdC5vYmplY3RJZFwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblJlbGF0ZWRUb0NoYW5nZSgkZXZlbnQpXCIgbmFtZT1cIndoYXRJdGVtXCI+XHJcbiAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCB3aGF0SXRlbSBvZiBXaGF0T2JqZWN0TGlzdDtcIiBbbmdWYWx1ZV09XCJ3aGF0SXRlbS5vYmplY3RJZFwiPlxyXG4gICAgICAgICAgICB7eyAod2hhdEl0ZW0uZGlzcGxheU5hbWUgJiYgd2hhdEl0ZW0ub2JqZWN0TmFtZSkgPyAod2hhdEl0ZW0uZGlzcGxheU5hbWUgKyAnOiAnICsgd2hhdEl0ZW0ub2JqZWN0TmFtZSkgOiBcIlwiIH19PC9vcHRpb24+XHJcbiAgICAgICAgICA8IS0tIDxvcHRpb24gdmFsdWU9XCJVc2VyU2VsZWN0ZWRGb3JFbXB0eVJlY29yZFwiPjwvb3B0aW9uPiAtLT5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlZGl0b3IgZGlzcGxheURpdlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYWxsTm90ZXNTZWN0aW9uXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsbE5vdGVzVGV4dEFyZWFcIj5cclxuICAgICAgICAgICAgPHRleHRhcmVhIHBsYWNlaG9sZGVyPVwiQ2xpY2sgdG8gYWRkIGEgY29tbWVudFwiIGNsYXNzPVwiYWN0aXZpdHlDb21tZW50c1RleHRCb3hTdHlsZVwiXHJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNhbGxOb3Rlc0NoYW5nZSgpO1wiIChrZXl1cCk9XCJvbkNhbGxOb3Rlc0tleVVwKClcIiBuYW1lPVwiZGVzY3JpcHRpb25cIiByb3dzPVwiNVwiIHRpdGxlPVwiXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIkFjdGl2aXR5RGV0YWlscy5EZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICA8L3RleHRhcmVhPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90ZXNCb3R0b25Cb3JkZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnRzQnV0dG9uRGl2XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1aWNrQ29tbWVudHNEaXZcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdGb3I9XCJsZXQgcXVpY2tDb21tZW50IG9mIHF1aWNrQ29tbWVudExpc3Q7IGxldCBpID0gaW5kZXg7XCIgY2xhc3M9XCJxdWlja05vdGVzQm90dG9uXCJcclxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiIHZhbHVlPVwie3tpKzF9fVwiIChjbGljayk9XCJhZGRRdWlja0NvbW1lbnRUb0Rlc2NyaXB0aW9uKHF1aWNrQ29tbWVudClcIlxyXG4gICAgICAgICAgICAgICAgICB0aXRsZT1cInt7cXVpY2tDb21tZW50fX1cIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsbE5vdGVzQnV0dG9uc1NlY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cInN1Ym1pdEJ1dHRvblwiIHR5cGU9XCJidXR0b25cIiB2YWx1ZT1cIlNhdmVcIiAoY2xpY2spPVwic3VibWl0QWN0aXZpdHkoKVwiXHJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhQWN0aXZpdHlEZXRhaWxzLklzVW5TYXZlZFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxpbnB1dCAqbmdJZj1cInJlY2VudFNjZW5hcmlvLklzUHJvY2Vzc2luZ1wiIGNsYXNzPVwic3VibWl0QnV0dG9uXCIgdHlwZT1cImJ1dHRvblwiIHZhbHVlPVwiU2F2ZVwiIChjbGljayk9XCJzdWJtaXRBY3Rpdml0eShpZHgpXCIgW2Rpc2FibGVkXT1cIiFyZWNlbnRTY2VuYXJpby5Jc1VuU2F2ZWRcIi8+IC0tPlxyXG4gICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cIkFjdGl2aXR5RGV0YWlscy5Jc1Byb2Nlc3NpbmdcIiBjbGFzcz1cImxvYWRpbmdJY29uXCIgc3JjPVwiLi4vLi4vYXNzZXRzL2ltYWdlcy9sb2FkaW5nLmdpZlwiXHJcbiAgICAgICAgICAgICAgICAgIHRpdGxlPVwiVXBkYXRpbmcgQWN0aXZpdHlcIiAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLSA8L2Zvcm0+IC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwiQWN0aXZpdHlEZXRhaWxzLlNjZW5hcmlvSWQgIT09IHdvcmtpbmdTY2VuYXJpb0lEIFwiPlxyXG4gIDxkaXYgW2NsYXNzLmNhbGxIZWFkZXJCb3R0b21Cb3JkZXJdPSdsYXN0JyAoY2xpY2spPVwiZXhwYW5kQW5kQ29sbGFwc2VSZWNlbnRBY3Rpdml0eSh0cnVlKVwiXHJcbiAgICBjbGFzcz1cImVkaXRvciBjYWxsSGVhZGVyUmVjZW50QWN0aXZpdHlVbnNlbGVjdGVkXCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJoZWFkZXJMYWJlbENsaWNrYWJsZUxvb2tcIj5cclxuICAgICAgPGltZyBbc3JjXT1cImdldEljb24oQWN0aXZpdHlEZXRhaWxzLkNoYW5uZWxUeXBlKVwiIGNsYXNzPVwiUmVjZW50Q2FsbHNJbWdcIiAvPlxyXG4gICAgICA8Yj57eyBBY3Rpdml0eURldGFpbHMuU3ViamVjdCB9fTwvYj5cclxuICAgIDwvbGFiZWw+XHJcbiAgICA8aW1nICpuZ0lmPVwiQWN0aXZpdHlEZXRhaWxzLkFjdGl2aXR5SWRcIiBjbGFzcz1cIlJlY2VudENhbGxzSW1nRm9yQWN0aXZpdHlcIiBzcmM9XCIuLi8uLi9hc3NldHMvaW1hZ2VzL29wZW5fYWN0aXZpdHkucG5nXCJcclxuICAgICAgdGl0bGU9XCJPcGVuIEFjdGl2aXR5XCIgKGNsaWNrKT1cIm9wZW5BY3Rpdml0eSgpOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIiAvPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwiQWN0aXZpdHlEZXRhaWxzLklzVW5TYXZlZCAmJiBpc0luQ29uc29sZVZpZXdcIiBjbGFzcz1cInVuc2F2ZWRUZXh0XCI+dW5zYXZlZDwvbGFiZWw+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIl19
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50LWFjdGl2aXR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL1VJTGlicmFyeS9zcmMvYXBwL2NvbXBvbmVudHMvcmVjZW50LWFjdGl2aXR5L3JlY2VudC1hY3Rpdml0eS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL3JlY2VudC1hY3Rpdml0eS9yZWNlbnQtYWN0aXZpdHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFJUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQVMvQixNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLGVBQWUsQ0FBWTtJQUMzQixlQUFlLENBQVU7SUFDekIsZ0JBQWdCLENBQVc7SUFDM0IsaUJBQWlCLENBQVM7SUFDMUIsR0FBRyxDQUFTO0lBQ1osSUFBSSxDQUFVO0lBQ2QsYUFBYSxDQUFxQjtJQUNsQyxjQUFjLENBQXFCO0lBRWxDLFlBQVksQ0FJbkI7SUFFSyxTQUFTLENBQWdCO0lBQ3pCLFNBQVMsQ0FBYztJQUUvQjtRQUNFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBSWhDLENBQUM7UUFFTCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXO0lBQ1gsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFRO1FBQ2QsUUFBUSxRQUFRLEVBQUU7WUFD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QkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgT25Jbml0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IElBY3Rpdml0eSB9IGZyb20gJy4uLy4uL21vZGVscy9JQWN0aXZpdHknO1xyXG5pbXBvcnQgeyBJQWN0aXZpdHlEZXRhaWxzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0lBY3Rpdml0eURldGFpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbWMtcmVjZW50LWFjdGl2aXR5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVjZW50LWFjdGl2aXR5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZWNlbnQtYWN0aXZpdHkuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWNlbnRBY3Rpdml0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIEFjdGl2aXR5RGV0YWlsczogSUFjdGl2aXR5O1xyXG4gIEBJbnB1dCgpIGlzSW5Db25zb2xlVmlldzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBxdWlja0NvbW1lbnRMaXN0OiBzdHJpbmdbXTtcclxuICBASW5wdXQoKSB3b3JraW5nU2NlbmFyaW9JRDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlkeDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGxhc3Q6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgV2hvT2JqZWN0TGlzdDogSUFjdGl2aXR5RGV0YWlsc1tdO1xyXG4gIEBJbnB1dCgpIFdoYXRPYmplY3RMaXN0OiBJQWN0aXZpdHlEZXRhaWxzW107XHJcblxyXG4gIEBPdXRwdXQoKSBFdmVudEVtaXR0ZXI6IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBldmVudE5hbWU6IHN0cmluZztcclxuICAgIGlkeDogbnVtYmVyO1xyXG4gICAgbmV3VmFsdWU/OiBJQWN0aXZpdHk7XHJcbiAgfT47XHJcblxyXG4gIHByaXZhdGUgZGVib3VuY2VyOiBTdWJqZWN0PHZvaWQ+O1xyXG4gIHByaXZhdGUgZXZlbnRMaXN0OiBTZXQ8U3RyaW5nPjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLkV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgICBldmVudE5hbWU6IHN0cmluZztcclxuICAgICAgaWR4OiBudW1iZXI7XHJcbiAgICAgIG5ld1ZhbHVlPzogSUFjdGl2aXR5O1xyXG4gICAgfT4oKTtcclxuXHJcbiAgICB0aGlzLmRlYm91bmNlciA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgICB0aGlzLmV2ZW50TGlzdCA9IG5ldyBTZXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgZ2V0SWNvbihzY2VuYXJpbyk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKHNjZW5hcmlvKSB7XHJcbiAgICAgIGNhc2UgJ1RlbGVwaG9ueSc6XHJcbiAgICAgICAgcmV0dXJuICcuLi8uLi9hc3NldHMvaW1hZ2VzL1Bob25lX051bWJlcl9JY29uLnBuZyc7XHJcbiAgICAgIGNhc2UgJ0VtYWlsJzpcclxuICAgICAgICByZXR1cm4gJy4uLy4uL2Fzc2V0cy9pbWFnZXMvZW1haWxUYWIucG5nJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJy4uLy4uL2Fzc2V0cy9pbWFnZXMvY2hhdC5wbmcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlYm91bmNlci5waXBlKGRlYm91bmNlVGltZSg1MDApKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBjb25zdCBuZXdFdmVudCA9IHtcclxuICAgICAgICBldmVudE5hbWU6IEFycmF5LmZyb20odGhpcy5ldmVudExpc3QpLmpvaW4oJ3wnKSxcclxuICAgICAgICBpZHg6IHRoaXMuaWR4LFxyXG4gICAgICAgIG5ld1ZhbHVlOiB0aGlzLkFjdGl2aXR5RGV0YWlsc1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLkV2ZW50RW1pdHRlci5lbWl0KG5ld0V2ZW50KTtcclxuICAgICAgdGhpcy5ldmVudExpc3QuY2xlYXIoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7fVxyXG5cclxuICBleHBhbmRBbmRDb2xsYXBzZVJlY2VudEFjdGl2aXR5KGlzRXhwYW5kOiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNFeHBhbmQpIHtcclxuICAgICAgdGhpcy5FdmVudEVtaXR0ZXIuZW1pdCh7XHJcbiAgICAgICAgZXZlbnROYW1lOiAnV29ya2luZ0V2dGl2aXR5Q2hhbmdlZCcsXHJcbiAgICAgICAgaWR4OiB0aGlzLmlkeCxcclxuICAgICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLkV2ZW50RW1pdHRlci5lbWl0KHtcclxuICAgICAgICBldmVudE5hbWU6ICdXb3JraW5nRXZ0aXZpdHlDaGFuZ2VkJyxcclxuICAgICAgICBpZHg6IC0xLFxyXG4gICAgICAgIG5ld1ZhbHVlOiB0aGlzLkFjdGl2aXR5RGV0YWlsc1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5BY3Rpdml0eSgpIHtcclxuICAgIHRoaXMuRXZlbnRFbWl0dGVyLmVtaXQoe1xyXG4gICAgICBldmVudE5hbWU6ICdPcGVuQ2FsbEFjdGl2aXR5JyxcclxuICAgICAgaWR4OiB0aGlzLmlkeCxcclxuICAgICAgbmV3VmFsdWU6IHRoaXMuQWN0aXZpdHlEZXRhaWxzXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uU3ViamVjdENoYW5nZSgpIHtcclxuICAgIHRoaXMuZXZlbnRMaXN0LmFkZCgnQWN0aXZpdHlTdWJqZWN0Q2hhbmdlZCcpO1xyXG4gICAgdGhpcy5kZWJvdW5jZXIubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgb25TdWJqZWN0S2V5VXAoKSB7XHJcbiAgICB0aGlzLmV2ZW50TGlzdC5hZGQoJ0FjdGl2aXR5U3ViamVjdENoYW5nZWQnKTtcclxuICAgIHRoaXMuZGVib3VuY2VyLm5leHQoKTtcclxuICB9XHJcblxyXG4gIG9uV2hvT2JqZWN0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuQWN0aXZpdHlEZXRhaWxzLldob09iamVjdCA9IHRoaXMuV2hvT2JqZWN0TGlzdC5maW5kKChvYmopID0+IG9iai5vYmplY3RJZCA9PT0gZXZlbnQpO1xyXG4gICAgdGhpcy5FdmVudEVtaXR0ZXIuZW1pdCh7XHJcbiAgICAgIGV2ZW50TmFtZTogJ0FjdGl2aXR5V2hvT2JqZWN0Q2hhbmdlZCcsXHJcbiAgICAgIGlkeDogdGhpcy5pZHgsXHJcbiAgICAgIG5ld1ZhbHVlOiB0aGlzLkFjdGl2aXR5RGV0YWlsc1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblJlbGF0ZWRUb0NoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLkFjdGl2aXR5RGV0YWlscy5XaGF0T2JqZWN0ID0gdGhpcy5XaGF0T2JqZWN0TGlzdC5maW5kKChvYmopID0+IG9iai5vYmplY3RJZCA9PT0gZXZlbnQpO1xyXG4gICAgdGhpcy5FdmVudEVtaXR0ZXIuZW1pdCh7XHJcbiAgICAgIGV2ZW50TmFtZTogJ0FjdGl2aXR5V2hhdE9iamVjdENoYW5nZWQnLFxyXG4gICAgICBpZHg6IHRoaXMuaWR4LFxyXG4gICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25DYWxsTm90ZXNDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmV2ZW50TGlzdC5hZGQoJ0FjdGl2aXR5Q2FsbE5vdGVDaGFuZ2VkJyk7XHJcbiAgICB0aGlzLmRlYm91bmNlci5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNhbGxOb3Rlc0tleVVwKCkge1xyXG4gICAgdGhpcy5ldmVudExpc3QuYWRkKCdBY3Rpdml0eUNhbGxOb3RlQ2hhbmdlZCcpO1xyXG4gICAgdGhpcy5kZWJvdW5jZXIubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgYWRkUXVpY2tDb21tZW50VG9EZXNjcmlwdGlvbihjb21tZW50OiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLkFjdGl2aXR5RGV0YWlscy5EZXNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLkFjdGl2aXR5RGV0YWlscy5EZXNjcmlwdGlvbiArPSAnXFxuJztcclxuICAgIH1cclxuICAgIHRoaXMuQWN0aXZpdHlEZXRhaWxzLkRlc2NyaXB0aW9uICs9IGNvbW1lbnQ7XHJcbiAgICB0aGlzLmV2ZW50TGlzdC5hZGQoJ0FjdGl2aXR5Q2FsbE5vdGVDaGFuZ2VkJyk7XHJcbiAgICB0aGlzLmRlYm91bmNlci5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRBY3Rpdml0eSgpIHtcclxuICAgIHRoaXMuQWN0aXZpdHlEZXRhaWxzLklzUHJvY2Vzc2luZyA9IHRydWU7XHJcbiAgICB0aGlzLkV2ZW50RW1pdHRlci5lbWl0KHtcclxuICAgICAgZXZlbnROYW1lOiAnU3VibWl0QWN0aXZpdHknLFxyXG4gICAgICBpZHg6IHRoaXMuaWR4LFxyXG4gICAgICBuZXdWYWx1ZTogdGhpcy5BY3Rpdml0eURldGFpbHNcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiQWN0aXZpdHlEZXRhaWxzLlNjZW5hcmlvSWQgPT09IHdvcmtpbmdTY2VuYXJpb0lEXCI+XHJcbiAgPGRpdiAoY2xpY2spPVwiZXhwYW5kQW5kQ29sbGFwc2VSZWNlbnRBY3Rpdml0eShmYWxzZSk7XCIgY2xhc3M9XCJlZGl0b3IgY2FsbEhlYWRlclJlY2VudEFjdGl2aXR5U2VsZWN0ZWRcIj5cclxuICAgIDxsYWJlbCBjbGFzcz1cImhlYWRlckxhYmVsQ2xpY2thYmxlTG9va1wiPlxyXG4gICAgICA8aW1nIFtzcmNdPVwiZ2V0SWNvbihBY3Rpdml0eURldGFpbHMuQ2hhbm5lbFR5cGUpXCIgY2xhc3M9XCJSZWNlbnRDYWxsc0ltZ1wiIC8+XHJcbiAgICAgIDxiPnt7IEFjdGl2aXR5RGV0YWlscy5TdWJqZWN0IH19PC9iPlxyXG4gICAgPC9sYWJlbD5cclxuICAgIDxpbWcgKm5nSWY9XCJBY3Rpdml0eURldGFpbHMuQWN0aXZpdHlJZFwiIGNsYXNzPVwiUmVjZW50Q2FsbHNJbWdGb3JBY3Rpdml0eVwiIHNyYz1cIi4uLy4uL2Fzc2V0cy9pbWFnZXMvb3Blbl9hY3Rpdml0eS5wbmdcIlxyXG4gICAgICB0aXRsZT1cIk9wZW4gQWN0aXZpdHlcIiAoY2xpY2spPVwib3BlbkFjdGl2aXR5KCk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiIC8+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJBY3Rpdml0eURldGFpbHMuSXNVblNhdmVkICYmIGlzSW5Db25zb2xlVmlld1wiIGNsYXNzPVwidW5zYXZlZFRleHRcIj51bnNhdmVkPC9sYWJlbD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY2FsbEJvZHlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJncmF5LW91dFwiICpuZ0lmPVwiQWN0aXZpdHlEZXRhaWxzLklzUmVjZW50V29ya0l0ZW1Mb2FkaW5nXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJzcGlubmVyXCIgc3JjPVwiLi4vLi4vYXNzZXRzL2ltYWdlcy92aWV3X3Byb2dyZXNzLmdpZlwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHlGaWVsZHNcIj5cclxuICAgICAgPCEtLSA8Zm9ybT4gLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlZGl0b3IgZGlzcGxheURpdlwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImRpc3BsYXlMYWJlbHNcIiB0aXRsZT1cIlN1YmplY3RcIj5TdWJqZWN0PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJhY3Rpdml0eVN1YmplY3RUZXh0Qm94U3R5bGUgZGlzcGxheURhdGFcIiB0eXBlPVwidGV4dFwiIChjaGFuZ2UpPVwib25TdWJqZWN0Q2hhbmdlKCk7XCJcclxuICAgICAgICAgIChrZXl1cCk9XCJvblN1YmplY3RLZXlVcCgpXCIgbmFtZT1cInN1YmplY3RcIiBbKG5nTW9kZWwpXT1cIkFjdGl2aXR5RGV0YWlscy5TdWJqZWN0XCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlZGl0b3IgZGlzcGxheURpdlwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImRpc3BsYXlMYWJlbHNcIiB0aXRsZT1cIk5hbWVcIj5OYW1lPC9sYWJlbD5cclxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZHJvcERvd25MaXN0U3R5bGUgZGlzcGxheURhdGFcIiBbbmdNb2RlbF09XCJBY3Rpdml0eURldGFpbHMuV2hvT2JqZWN0Lm9iamVjdElkXCJcclxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uV2hvT2JqZWN0Q2hhbmdlKCRldmVudClcIiBuYW1lPVwid2hvSXRlbVwiPlxyXG4gICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgd2hvSXRlbSBvZiBXaG9PYmplY3RMaXN0XCIgW25nVmFsdWVdPVwid2hvSXRlbS5vYmplY3RJZFwiPlxyXG4gICAgICAgICAgICB7eyh3aG9JdGVtLmRpc3BsYXlOYW1lICYmIHdob0l0ZW0ub2JqZWN0TmFtZSkgPyAod2hvSXRlbS5kaXNwbGF5TmFtZSArICc6ICcgKyB3aG9JdGVtLm9iamVjdE5hbWUpIDogXCJcIiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgPCEtLSA8b3B0aW9uIHZhbHVlPVwiVXNlclNlbGVjdGVkRm9yRW1wdHlSZWNvcmRcIj48L29wdGlvbj4gLS0+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yIGRpc3BsYXlEaXZcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJkaXNwbGF5TGFiZWxzXCIgdGl0bGU9XCJSZWdhcmRpbmdcIj5SZWxhdGVkIFRvPC9sYWJlbD5cclxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZHJvcERvd25MaXN0U3R5bGUgZGlzcGxheURhdGFcIiBbbmdNb2RlbF09XCJBY3Rpdml0eURldGFpbHMuV2hhdE9iamVjdC5vYmplY3RJZFwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblJlbGF0ZWRUb0NoYW5nZSgkZXZlbnQpXCIgbmFtZT1cIndoYXRJdGVtXCI+XHJcbiAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCB3aGF0SXRlbSBvZiBXaGF0T2JqZWN0TGlzdDtcIiBbbmdWYWx1ZV09XCJ3aGF0SXRlbS5vYmplY3RJZFwiPlxyXG4gICAgICAgICAgICB7eyAod2hhdEl0ZW0uZGlzcGxheU5hbWUgJiYgd2hhdEl0ZW0ub2JqZWN0TmFtZSkgPyAod2hhdEl0ZW0uZGlzcGxheU5hbWUgKyAnOiAnICsgd2hhdEl0ZW0ub2JqZWN0TmFtZSkgOiBcIlwiIH19PC9vcHRpb24+XHJcbiAgICAgICAgICA8IS0tIDxvcHRpb24gdmFsdWU9XCJVc2VyU2VsZWN0ZWRGb3JFbXB0eVJlY29yZFwiPjwvb3B0aW9uPiAtLT5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlZGl0b3IgZGlzcGxheURpdlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYWxsTm90ZXNTZWN0aW9uXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsbE5vdGVzVGV4dEFyZWFcIj5cclxuICAgICAgICAgICAgPHRleHRhcmVhIHBsYWNlaG9sZGVyPVwiQ2xpY2sgdG8gYWRkIGEgY29tbWVudFwiIGNsYXNzPVwiYWN0aXZpdHlDb21tZW50c1RleHRCb3hTdHlsZVwiXHJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNhbGxOb3Rlc0NoYW5nZSgpO1wiIChrZXl1cCk9XCJvbkNhbGxOb3Rlc0tleVVwKClcIiBuYW1lPVwiZGVzY3JpcHRpb25cIiByb3dzPVwiNVwiIHRpdGxlPVwiXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIkFjdGl2aXR5RGV0YWlscy5EZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICA8L3RleHRhcmVhPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm90ZXNCb3R0b25Cb3JkZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnRzQnV0dG9uRGl2XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1aWNrQ29tbWVudHNEaXZcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCAqbmdGb3I9XCJsZXQgcXVpY2tDb21tZW50IG9mIHF1aWNrQ29tbWVudExpc3Q7IGxldCBpID0gaW5kZXg7XCIgY2xhc3M9XCJxdWlja05vdGVzQm90dG9uXCJcclxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiIHZhbHVlPVwie3tpKzF9fVwiIChjbGljayk9XCJhZGRRdWlja0NvbW1lbnRUb0Rlc2NyaXB0aW9uKHF1aWNrQ29tbWVudClcIlxyXG4gICAgICAgICAgICAgICAgICB0aXRsZT1cInt7cXVpY2tDb21tZW50fX1cIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsbE5vdGVzQnV0dG9uc1NlY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cInN1Ym1pdEJ1dHRvblwiIHR5cGU9XCJidXR0b25cIiB2YWx1ZT1cIlNhdmVcIiAoY2xpY2spPVwic3VibWl0QWN0aXZpdHkoKVwiXHJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhQWN0aXZpdHlEZXRhaWxzLklzVW5TYXZlZFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxpbnB1dCAqbmdJZj1cInJlY2VudFNjZW5hcmlvLklzUHJvY2Vzc2luZ1wiIGNsYXNzPVwic3VibWl0QnV0dG9uXCIgdHlwZT1cImJ1dHRvblwiIHZhbHVlPVwiU2F2ZVwiIChjbGljayk9XCJzdWJtaXRBY3Rpdml0eShpZHgpXCIgW2Rpc2FibGVkXT1cIiFyZWNlbnRTY2VuYXJpby5Jc1VuU2F2ZWRcIi8+IC0tPlxyXG4gICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cIkFjdGl2aXR5RGV0YWlscy5Jc1Byb2Nlc3NpbmdcIiBjbGFzcz1cImxvYWRpbmdJY29uXCIgc3JjPVwiLi4vLi4vYXNzZXRzL2ltYWdlcy9sb2FkaW5nLmdpZlwiXHJcbiAgICAgICAgICAgICAgICAgIHRpdGxlPVwiVXBkYXRpbmcgQWN0aXZpdHlcIiAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLSA8L2Zvcm0+IC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwiQWN0aXZpdHlEZXRhaWxzLlNjZW5hcmlvSWQgIT09IHdvcmtpbmdTY2VuYXJpb0lEIFwiPlxyXG4gIDxkaXYgW2NsYXNzLmNhbGxIZWFkZXJCb3R0b21Cb3JkZXJdPSdsYXN0JyAoY2xpY2spPVwiZXhwYW5kQW5kQ29sbGFwc2VSZWNlbnRBY3Rpdml0eSh0cnVlKVwiXHJcbiAgICBjbGFzcz1cImVkaXRvciBjYWxsSGVhZGVyUmVjZW50QWN0aXZpdHlVbnNlbGVjdGVkXCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJoZWFkZXJMYWJlbENsaWNrYWJsZUxvb2tcIj5cclxuICAgICAgPGltZyBbc3JjXT1cImdldEljb24oQWN0aXZpdHlEZXRhaWxzLkNoYW5uZWxUeXBlKVwiIGNsYXNzPVwiUmVjZW50Q2FsbHNJbWdcIiAvPlxyXG4gICAgICA8Yj57eyBBY3Rpdml0eURldGFpbHMuU3ViamVjdCB9fTwvYj5cclxuICAgIDwvbGFiZWw+XHJcbiAgICA8aW1nICpuZ0lmPVwiQWN0aXZpdHlEZXRhaWxzLkFjdGl2aXR5SWRcIiBjbGFzcz1cIlJlY2VudENhbGxzSW1nRm9yQWN0aXZpdHlcIiBzcmM9XCIuLi8uLi9hc3NldHMvaW1hZ2VzL29wZW5fYWN0aXZpdHkucG5nXCJcclxuICAgICAgdGl0bGU9XCJPcGVuIEFjdGl2aXR5XCIgKGNsaWNrKT1cIm9wZW5BY3Rpdml0eSgpOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIiAvPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwiQWN0aXZpdHlEZXRhaWxzLklzVW5TYXZlZCAmJiBpc0luQ29uc29sZVZpZXdcIiBjbGFzcz1cInVuc2F2ZWRUZXh0XCI+dW5zYXZlZDwvbGFiZWw+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIl19
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { Component, Input, Output
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
4
|
import * as i2 from "../interaction/interaction.component";
|
|
5
5
|
export class ScenarioComponent {
|
|
6
6
|
scenario;
|
|
7
|
-
newMsgs;
|
|
8
7
|
minimizedChanged = new EventEmitter();
|
|
9
8
|
isAgentTyping = new EventEmitter();
|
|
10
9
|
newMessage = new EventEmitter();
|
|
@@ -16,16 +15,14 @@ export class ScenarioComponent {
|
|
|
16
15
|
onMinimizedChanged() {
|
|
17
16
|
this.minimizedChanged.emit();
|
|
18
17
|
}
|
|
19
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
20
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScenarioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ScenarioComponent, selector: "amc-scenario", inputs: { scenario: "scenario" }, outputs: { minimizedChanged: "minimizedChanged", isAgentTyping: "isAgentTyping", newMessage: "newMessage", afterViewChecked: "afterViewChecked" }, ngImport: i0, template: "<ng-container *ngIf=\"scenario && scenario.interactions\">\r\n <amc-interaction *ngFor=\"let interaction of scenario.interactions\" [interaction]=\"interaction\"\r\n (minimizedChanged)=\"onMinimizedChanged()\" (isAgentTyping)=\"isAgentTyping.emit($event)\"\r\n (newMessage)=\"newMessage.emit($event)\">\r\n </amc-interaction>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.InteractionComponent, selector: "amc-interaction", inputs: ["interaction"], outputs: ["minimizedChanged", "isAgentTyping", "newMessage"] }] });
|
|
21
20
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScenarioComponent, decorators: [{
|
|
23
22
|
type: Component,
|
|
24
|
-
args: [{ selector: 'amc-scenario', template: "<ng-container *ngIf=\"scenario && scenario.interactions\">\r\n <amc-interaction *ngFor=\"let interaction of scenario.interactions\" [interaction]=\"interaction\"
|
|
23
|
+
args: [{ selector: 'amc-scenario', template: "<ng-container *ngIf=\"scenario && scenario.interactions\">\r\n <amc-interaction *ngFor=\"let interaction of scenario.interactions\" [interaction]=\"interaction\"\r\n (minimizedChanged)=\"onMinimizedChanged()\" (isAgentTyping)=\"isAgentTyping.emit($event)\"\r\n (newMessage)=\"newMessage.emit($event)\">\r\n </amc-interaction>\r\n</ng-container>\r\n" }]
|
|
25
24
|
}], ctorParameters: function () { return []; }, propDecorators: { scenario: [{
|
|
26
25
|
type: Input
|
|
27
|
-
}], newMsgs: [{
|
|
28
|
-
type: Input
|
|
29
26
|
}], minimizedChanged: [{
|
|
30
27
|
type: Output
|
|
31
28
|
}], isAgentTyping: [{
|
|
@@ -35,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
|
35
32
|
}], afterViewChecked: [{
|
|
36
33
|
type: Output
|
|
37
34
|
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvY29tcG9uZW50cy9zY2VuYXJpby9zY2VuYXJpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL3NjZW5hcmlvL3NjZW5hcmlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7QUFRdkIsTUFBTSxPQUFPLGlCQUFpQjtJQUNuQixRQUFRLENBQVk7SUFDbkIsZ0JBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN0QyxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUM1QyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUN4QyxnQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRWhELGdCQUFlLENBQUM7SUFFaEIsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO3dHQWZVLGlCQUFpQjs0RkFBakIsaUJBQWlCLHlPQ2Q5QixzV0FNQTs7NEZEUWEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGNBQWM7MEVBS2YsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQ2hhdE1lc3NhZ2UsIElTY2VuYXJpbyB9IGZyb20gJy4uLy4uL21vZGVscy91aWxpYnJhcnkubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbWMtc2NlbmFyaW8nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zY2VuYXJpby5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2NlbmFyaW8uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2NlbmFyaW9Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcclxuICBASW5wdXQoKSBzY2VuYXJpbzogSVNjZW5hcmlvO1xyXG4gIEBPdXRwdXQoKSBtaW5pbWl6ZWRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBpc0FnZW50VHlwaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSBuZXdNZXNzYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIGFmdGVyVmlld0NoZWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xyXG4gICAgdGhpcy5hZnRlclZpZXdDaGVja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uTWluaW1pemVkQ2hhbmdlZCgpIHtcclxuICAgIHRoaXMubWluaW1pemVkQ2hhbmdlZC5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzY2VuYXJpbyAmJiBzY2VuYXJpby5pbnRlcmFjdGlvbnNcIj5cclxuICA8YW1jLWludGVyYWN0aW9uICpuZ0Zvcj1cImxldCBpbnRlcmFjdGlvbiBvZiBzY2VuYXJpby5pbnRlcmFjdGlvbnNcIiBbaW50ZXJhY3Rpb25dPVwiaW50ZXJhY3Rpb25cIlxyXG4gICAgKG1pbmltaXplZENoYW5nZWQpPVwib25NaW5pbWl6ZWRDaGFuZ2VkKClcIiAoaXNBZ2VudFR5cGluZyk9XCJpc0FnZW50VHlwaW5nLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAobmV3TWVzc2FnZSk9XCJuZXdNZXNzYWdlLmVtaXQoJGV2ZW50KVwiPlxyXG4gIDwvYW1jLWludGVyYWN0aW9uPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
|
@@ -142,12 +142,12 @@ export class SearchInformationComponent {
|
|
|
142
142
|
catch (error) { }
|
|
143
143
|
return layoutInfo;
|
|
144
144
|
}
|
|
145
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
146
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.
|
|
145
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchInformationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
146
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SearchInformationComponent, selector: "amc-search-information", inputs: { ActivityDetails: "ActivityDetails", searchLayout: "searchLayout", searchRecordList: "searchRecordList" }, outputs: { agentSelectedCallerInformation: "agentSelectedCallerInformation" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"callDisplay\">\r\n <div class=\"editor callHeader\">\r\n <label class=\"headerLabel\">\r\n <b>Caller Information</b>\r\n </label>\r\n <img\r\n title=\"Multiple Matches Available\"\r\n *ngIf=\"this.searchRecordList.length > 1\"\r\n src=\"../../assets/images/MultiMatchAlert.png\"\r\n class=\"multiMatchImg\"\r\n />\r\n <img\r\n *ngIf=\"isSearchInformationMaximized\"\r\n class=\"ViewResizeImage\"\r\n src=\"assets/images/section_collapse.png\"\r\n (click)=\"isSearchInformationMaximized = false\"\r\n title=\"Collapse\"\r\n />\r\n <img\r\n *ngIf=\"!isSearchInformationMaximized\"\r\n class=\"ViewResizeImage\"\r\n src=\"assets/images/section_expand.png\"\r\n (click)=\"isSearchInformationMaximized = true\"\r\n title=\"Expand\"\r\n />\r\n </div>\r\n <div class=\"callBody\" *ngIf=\"isSearchInformationMaximized\">\r\n <div *ngIf=\"this.searchRecordList.length > 1\">\r\n <span class=\"overflowWrapper\">\r\n <img\r\n class=\"CRMResultImageMultiMatch\"\r\n src=\"{{ this.multiMatchData[0][0][2] }}\"\r\n />\r\n <input\r\n id=\"{{ this.searchRecordList[0].id }}\"\r\n name=\"{{ this.multiMatchData[0][0][1] }}\"\r\n (click)=\"onAgentSelectedCallerInformation($event)\"\r\n readonly\r\n class=\"multiMatchLabel\"\r\n title=\"{{ this.multiMatchData[0][0][1] }}\"\r\n type=\"text\"\r\n value=\"{{ this.multiMatchData[0][0][1] }}\"\r\n />\r\n <span style=\"float: right; margin-right: 4%;\">\r\n <img\r\n *ngIf=\"!this.shouldShowAllMultiMatchOptions\"\r\n class=\"CRMExpandImage\"\r\n src=\"../../assets/images/down-arrow.png\"\r\n (click)=\"shouldShowAllMultiMatchOptions = true\"\r\n />\r\n <img\r\n *ngIf=\"this.shouldShowAllMultiMatchOptions\"\r\n class=\"CRMExpandImage\"\r\n src=\"../../assets/images/up-arrow.png\"\r\n (click)=\"shouldShowAllMultiMatchOptions = false\"\r\n />\r\n </span>\r\n </span>\r\n <div *ngIf=\"this.shouldShowAllMultiMatchOptions\">\r\n <div *ngFor=\"let i of this.multiMatchData | slice: 1; let index = index\">\r\n <span\r\n class=\"overflowWrapper\"\r\n >\r\n <img class=\"CRMResultImageMultiMatch\" src=\"{{ i[0][2] }}\" />\r\n <input\r\n id=\"{{ this.searchRecordList[index + 1].id }}\"\r\n name=\"{{ i[0][1] }}\"\r\n readonly\r\n class=\"multiMatchLabel\"\r\n (click)=\"onAgentSelectedCallerInformation($event)\"\r\n title=\"{{ i[0][1] }}\"\r\n type=\"text\"\r\n value=\"{{ i[0][1] }}\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Below is the HTML loaded on Single Match -->\r\n <div *ngIf=\"this.searchRecordList.length === 1\">\r\n <div\r\n class=\"editorFull displayDiv\"\r\n *ngFor=\"\r\n let i of this.singleMatchData | slice: 0:1;\r\n let index = index;\r\n let first = first\r\n \"\r\n >\r\n <span class=\"overflowWrapper\">\r\n <img\r\n id=\"EntityIcon\"\r\n src=\"{{ this.singleMatchIconSrc }}\"\r\n class=\"CRMResultImage\"\r\n />\r\n <input\r\n class=\"singleSearchResultSelect singleMatchFirstWrapper \"\r\n id=\"{{ this.searchRecordList[0].id }}\"\r\n [class.firstSingleMatchResult]=\"first\"\r\n value=\"{{ i[1] }}\"\r\n title=\"{{ i[1] }}\"\r\n (click)=\"onAgentSelectedCallerInformation($event)\"\r\n readonly\r\n />\r\n </span>\r\n </div>\r\n <div\r\n class=\"editorFull displayDiv\"\r\n *ngFor=\"\r\n let i of this.singleMatchData | slice: 1;\r\n let index = index;\r\n let first = first\r\n \"\r\n >\r\n <span class=\"overflowWrapper\">\r\n <label title=\"{{ i[0] }}\" class=\"displayLabelsTabbed\">{{\r\n i[0]\r\n }}</label>\r\n <input\r\n class=\"singleSearchResultSelect singleMatchTabbedItemsWrapper singleMatchLabel\"\r\n id=\"{{ this.searchRecordList[0].id }}\"\r\n value=\"{{ i[1] }}\"\r\n title=\"{{ i[1] }}\"\r\n readonly\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".callHeader{background-color:#f4f5fb!important;width:100%!important;margin-top:0!important;border:1px solid #939598!important}.displayDiv{width:100%;display:flex}.multiMatchImg{height:18px;margin-left:5px}.editor{font-size:.9em;width:70%;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:0;padding-top:2px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.editorFull{font-size:.9em;width:100%;text-align:left;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;border:0;padding-top:2px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.CRMResultImage{width:18px;height:18px;margin-right:-5px;margin-top:-5px;margin-left:5px}.CRMResultImageMultiMatch{width:18px;height:18px;margin-right:2px;margin-left:5px;margin-top:-5px}.CRMExpandImage{width:6px;height:6px;cursor:pointer;margin-bottom:2px}.callBody{border:1px solid #939598;border-top-color:#939598;border-top-style:solid;border-top-width:1px;border-top:0;position:relative}.callDisplay{margin-bottom:8px;background-color:#fff;display:grid}.multipleSearchResultSelect{border:1px solid #939598!important;border-radius:3px!important;width:96%!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:5px 0% 5px 6px;cursor:pointer}.overflowWrapper{width:100%;overflow-x:hidden;overflow-y:hidden}.singleSearchResultSelect{border:0px solid #939598!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0 0% 0 0;outline:none}.wrapper{width:79%!important}.singleMatchFirstWrapper{cursor:pointer;border:0px;outline:none;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:calc(100% - 30px)}.singleMatchTabbedItemsWrapper{width:70%}.displayLabels{margin-left:5px;width:calc(20% + 5px);font-weight:400;margin-bottom:0;margin-top:0;outline:none;overflow:hidden;max-width:100px;vertical-align:middle}.displayLabelsMultiMatch{margin-left:5px;width:calc(20% + 5px);font-weight:400;margin-bottom:0;margin-top:0;outline:none}.displayLabelsTabbed{margin-left:5px;width:35%;font-weight:400;margin-bottom:0;margin-top:0;outline:none;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.matchedRecordsMargin{margin-top:1%}.ViewResizeImage{width:20px;height:20px;float:right;cursor:pointer}.headerLabel{margin-left:10px}.firstSingleMatchResult{font-weight:700;border:0px solid #939598!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0 0% 0 5px;outline:none}.multiMatchLabel{border:0px;cursor:pointer;outline:none;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:calc(95% - 45px)}.singleMatchLabel{border:0px;outline:none;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:calc(65% - 13px)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }] });
|
|
147
147
|
}
|
|
148
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.
|
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchInformationComponent, decorators: [{
|
|
149
149
|
type: Component,
|
|
150
|
-
args: [{ selector: 'amc-search-information', template: "<div class=\"callDisplay\">\r\n <div class=\"editor callHeader\">\r\n <label class=\"headerLabel\">\r\n <b>Caller Information</b>\r\n </label>\r\n <img\r\n title=\"Multiple Matches Available\"\r\n *ngIf=\"this.searchRecordList.length > 1\"\r\n src=\"../../assets/images/MultiMatchAlert.png\"\r\n class=\"multiMatchImg\"\r\n />\r\n <img\r\n *ngIf=\"isSearchInformationMaximized\"\r\n class=\"ViewResizeImage\"\r\n src=\"assets/images/section_collapse.png\"\r\n (click)=\"isSearchInformationMaximized = false\"\r\n title=\"Collapse\"\r\n />\r\n <img\r\n *ngIf=\"!isSearchInformationMaximized\"\r\n class=\"ViewResizeImage\"\r\n src=\"assets/images/section_expand.png\"\r\n (click)=\"isSearchInformationMaximized = true\"\r\n title=\"Expand\"\r\n />\r\n </div>\r\n <div class=\"callBody\" *ngIf=\"isSearchInformationMaximized\">\r\n <div *ngIf=\"this.searchRecordList.length > 1\">\r\n <span class=\"overflowWrapper\">\r\n <img\r\n class=\"CRMResultImageMultiMatch\"\r\n src=\"{{ this.multiMatchData[0][0][2] }}\"\r\n />\r\n <input\r\n id=\"{{ this.searchRecordList[0].id }}\"\r\n name=\"{{ this.multiMatchData[0][0][1] }}\"\r\n (click)=\"onAgentSelectedCallerInformation($event)\"\r\n readonly\r\n class=\"multiMatchLabel\"\r\n title=\"{{ this.multiMatchData[0][0][1] }}\"\r\n type=\"text\"\r\n value=\"{{ this.multiMatchData[0][0][1] }}\"\r\n />\r\n <span style=\"float: right; margin-right: 4%;\">\r\n <img\r\n *ngIf=\"!this.shouldShowAllMultiMatchOptions\"\r\n class=\"CRMExpandImage\"\r\n src=\"../../assets/images/down-arrow.png\"\r\n (click)=\"shouldShowAllMultiMatchOptions = true\"\r\n />\r\n <img\r\n *ngIf=\"this.shouldShowAllMultiMatchOptions\"\r\n class=\"CRMExpandImage\"\r\n src=\"../../assets/images/up-arrow.png\"\r\n (click)=\"shouldShowAllMultiMatchOptions = false\"\r\n />\r\n </span>\r\n </span>\r\n <div *ngIf=\"this.shouldShowAllMultiMatchOptions\">\r\n <div *ngFor=\"let i of this.multiMatchData | slice: 1; let index = index\">\r\n <span\r\n class=\"overflowWrapper\"\r\n >\r\n <img class=\"CRMResultImageMultiMatch\" src=\"{{ i[0][2] }}\" />\r\n <input\r\n id=\"{{ this.searchRecordList[index + 1].id }}\"\r\n name=\"{{ i[0][1] }}\"\r\n readonly\r\n class=\"multiMatchLabel\"\r\n (click)=\"onAgentSelectedCallerInformation($event)\"\r\n title=\"{{ i[0][1] }}\"\r\n type=\"text\"\r\n value=\"{{ i[0][1] }}\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Below is the HTML loaded on Single Match -->\r\n <div *ngIf=\"this.searchRecordList.length === 1\">\r\n <div\r\n class=\"editorFull displayDiv\"\r\n *ngFor=\"\r\n let i of this.singleMatchData | slice: 0:1;\r\n let index = index;\r\n let first = first\r\n \"\r\n >\r\n <span class=\"overflowWrapper\">\r\n <img\r\n id=\"EntityIcon\"\r\n src=\"{{ this.singleMatchIconSrc }}\"\r\n class=\"CRMResultImage\"\r\n />\r\n <input\r\n class=\"singleSearchResultSelect singleMatchFirstWrapper \"\r\n id=\"{{ this.searchRecordList[0].id }}\"\r\n [class.firstSingleMatchResult]=\"first\"\r\n value=\"{{ i[1] }}\"\r\n title=\"{{ i[1] }}\"\r\n (click)=\"onAgentSelectedCallerInformation($event)\"\r\n readonly\r\n />\r\n </span>\r\n </div>\r\n <div\r\n class=\"editorFull displayDiv\"\r\n *ngFor=\"\r\n let i of this.singleMatchData | slice: 1;\r\n let index = index;\r\n let first = first\r\n \"\r\n >\r\n <span class=\"overflowWrapper\">\r\n <label title=\"{{ i[0] }}\" class=\"displayLabelsTabbed\">{{\r\n i[0]\r\n }}</label>\r\n <input\r\n class=\"singleSearchResultSelect singleMatchTabbedItemsWrapper singleMatchLabel\"\r\n id=\"{{ this.searchRecordList[0].id }}\"\r\n value=\"{{ i[1] }}\"\r\n title=\"{{ i[1] }}\"\r\n readonly\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".callHeader{background-color:#f4f5fb!important;width:100%!important;margin-top:0!important;border:1px solid #939598!important}.displayDiv{width:100%;display:flex}.multiMatchImg{height:18px;margin-left:5px}.editor{font-size:.9em;width:70%;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;border:0;padding-top:2px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.editorFull{font-size:.9em;width:100%;text-align:left;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;border:0;padding-top:2px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.CRMResultImage{width:18px;height:18px;margin-right:-5px;margin-top:-5px;margin-left:5px}.CRMResultImageMultiMatch{width:18px;height:18px;margin-right:2px;margin-left:5px;margin-top:-5px}.CRMExpandImage{width:6px;height:6px;cursor:pointer;margin-bottom:2px}.callBody{border:1px solid #939598;border-top-color:#939598;border-top-style:solid;border-top-width:1px;border-top:0;position:relative}.callDisplay{margin-bottom:8px;background-color:#fff;display:grid}.multipleSearchResultSelect{border:1px solid #939598!important;border-radius:3px!important;width:96%!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:5px 0% 5px 6px;cursor:pointer}.overflowWrapper{width:100%;overflow-x:hidden;overflow-y:hidden}.singleSearchResultSelect{border:0px solid #939598!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0 0% 0 0;outline:none}.wrapper{width:79%!important}.singleMatchFirstWrapper{cursor:pointer;border:0px;outline:none;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:calc(100% - 30px)}.singleMatchTabbedItemsWrapper{width:70%}.displayLabels{margin-left:5px;width:calc(20% + 5px);font-weight:400;margin-bottom:0;margin-top:0;outline:none;overflow:hidden;max-width:100px;vertical-align:middle}.displayLabelsMultiMatch{margin-left:5px;width:calc(20% + 5px);font-weight:400;margin-bottom:0;margin-top:0;outline:none}.displayLabelsTabbed{margin-left:5px;width:35%;font-weight:400;margin-bottom:0;margin-top:0;outline:none;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.matchedRecordsMargin{margin-top:1%}.ViewResizeImage{width:20px;height:20px;float:right;cursor:pointer}.headerLabel{margin-left:10px}.firstSingleMatchResult{font-weight:700;border:0px solid #939598!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0 0% 0 5px;outline:none}.multiMatchLabel{border:0px;cursor:pointer;outline:none;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:calc(95% - 45px)}.singleMatchLabel{border:0px;outline:none;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:calc(65% - 13px)}\n"] }]
|
|
150
|
+
args: [{ selector: 'amc-search-information', template: "<div class=\"callDisplay\">\r\n <div class=\"editor callHeader\">\r\n <label class=\"headerLabel\">\r\n <b>Caller Information</b>\r\n </label>\r\n <img\r\n title=\"Multiple Matches Available\"\r\n *ngIf=\"this.searchRecordList.length > 1\"\r\n src=\"../../assets/images/MultiMatchAlert.png\"\r\n class=\"multiMatchImg\"\r\n />\r\n <img\r\n *ngIf=\"isSearchInformationMaximized\"\r\n class=\"ViewResizeImage\"\r\n src=\"assets/images/section_collapse.png\"\r\n (click)=\"isSearchInformationMaximized = false\"\r\n title=\"Collapse\"\r\n />\r\n <img\r\n *ngIf=\"!isSearchInformationMaximized\"\r\n class=\"ViewResizeImage\"\r\n src=\"assets/images/section_expand.png\"\r\n (click)=\"isSearchInformationMaximized = true\"\r\n title=\"Expand\"\r\n />\r\n </div>\r\n <div class=\"callBody\" *ngIf=\"isSearchInformationMaximized\">\r\n <div *ngIf=\"this.searchRecordList.length > 1\">\r\n <span class=\"overflowWrapper\">\r\n <img\r\n class=\"CRMResultImageMultiMatch\"\r\n src=\"{{ this.multiMatchData[0][0][2] }}\"\r\n />\r\n <input\r\n id=\"{{ this.searchRecordList[0].id }}\"\r\n name=\"{{ this.multiMatchData[0][0][1] }}\"\r\n (click)=\"onAgentSelectedCallerInformation($event)\"\r\n readonly\r\n class=\"multiMatchLabel\"\r\n title=\"{{ this.multiMatchData[0][0][1] }}\"\r\n type=\"text\"\r\n value=\"{{ this.multiMatchData[0][0][1] }}\"\r\n />\r\n <span style=\"float: right; margin-right: 4%;\">\r\n <img\r\n *ngIf=\"!this.shouldShowAllMultiMatchOptions\"\r\n class=\"CRMExpandImage\"\r\n src=\"../../assets/images/down-arrow.png\"\r\n (click)=\"shouldShowAllMultiMatchOptions = true\"\r\n />\r\n <img\r\n *ngIf=\"this.shouldShowAllMultiMatchOptions\"\r\n class=\"CRMExpandImage\"\r\n src=\"../../assets/images/up-arrow.png\"\r\n (click)=\"shouldShowAllMultiMatchOptions = false\"\r\n />\r\n </span>\r\n </span>\r\n <div *ngIf=\"this.shouldShowAllMultiMatchOptions\">\r\n <div *ngFor=\"let i of this.multiMatchData | slice: 1; let index = index\">\r\n <span\r\n class=\"overflowWrapper\"\r\n >\r\n <img class=\"CRMResultImageMultiMatch\" src=\"{{ i[0][2] }}\" />\r\n <input\r\n id=\"{{ this.searchRecordList[index + 1].id }}\"\r\n name=\"{{ i[0][1] }}\"\r\n readonly\r\n class=\"multiMatchLabel\"\r\n (click)=\"onAgentSelectedCallerInformation($event)\"\r\n title=\"{{ i[0][1] }}\"\r\n type=\"text\"\r\n value=\"{{ i[0][1] }}\"\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Below is the HTML loaded on Single Match -->\r\n <div *ngIf=\"this.searchRecordList.length === 1\">\r\n <div\r\n class=\"editorFull displayDiv\"\r\n *ngFor=\"\r\n let i of this.singleMatchData | slice: 0:1;\r\n let index = index;\r\n let first = first\r\n \"\r\n >\r\n <span class=\"overflowWrapper\">\r\n <img\r\n id=\"EntityIcon\"\r\n src=\"{{ this.singleMatchIconSrc }}\"\r\n class=\"CRMResultImage\"\r\n />\r\n <input\r\n class=\"singleSearchResultSelect singleMatchFirstWrapper \"\r\n id=\"{{ this.searchRecordList[0].id }}\"\r\n [class.firstSingleMatchResult]=\"first\"\r\n value=\"{{ i[1] }}\"\r\n title=\"{{ i[1] }}\"\r\n (click)=\"onAgentSelectedCallerInformation($event)\"\r\n readonly\r\n />\r\n </span>\r\n </div>\r\n <div\r\n class=\"editorFull displayDiv\"\r\n *ngFor=\"\r\n let i of this.singleMatchData | slice: 1;\r\n let index = index;\r\n let first = first\r\n \"\r\n >\r\n <span class=\"overflowWrapper\">\r\n <label title=\"{{ i[0] }}\" class=\"displayLabelsTabbed\">{{\r\n i[0]\r\n }}</label>\r\n <input\r\n class=\"singleSearchResultSelect singleMatchTabbedItemsWrapper singleMatchLabel\"\r\n id=\"{{ this.searchRecordList[0].id }}\"\r\n value=\"{{ i[1] }}\"\r\n title=\"{{ i[1] }}\"\r\n readonly\r\n />\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".callHeader{background-color:#f4f5fb!important;width:100%!important;margin-top:0!important;border:1px solid #939598!important}.displayDiv{width:100%;display:flex}.multiMatchImg{height:18px;margin-left:5px}.editor{font-size:.9em;width:70%;text-align:left;margin:4px 5% 0 0;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:0;padding-top:2px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.editorFull{font-size:.9em;width:100%;text-align:left;font-family:Arial;white-space:nowrap;text-overflow:ellipsis;border:0;padding-top:2px;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.CRMResultImage{width:18px;height:18px;margin-right:-5px;margin-top:-5px;margin-left:5px}.CRMResultImageMultiMatch{width:18px;height:18px;margin-right:2px;margin-left:5px;margin-top:-5px}.CRMExpandImage{width:6px;height:6px;cursor:pointer;margin-bottom:2px}.callBody{border:1px solid #939598;border-top-color:#939598;border-top-style:solid;border-top-width:1px;border-top:0;position:relative}.callDisplay{margin-bottom:8px;background-color:#fff;display:grid}.multipleSearchResultSelect{border:1px solid #939598!important;border-radius:3px!important;width:96%!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:5px 0% 5px 6px;cursor:pointer}.overflowWrapper{width:100%;overflow-x:hidden;overflow-y:hidden}.singleSearchResultSelect{border:0px solid #939598!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0 0% 0 0;outline:none}.wrapper{width:79%!important}.singleMatchFirstWrapper{cursor:pointer;border:0px;outline:none;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:calc(100% - 30px)}.singleMatchTabbedItemsWrapper{width:70%}.displayLabels{margin-left:5px;width:calc(20% + 5px);font-weight:400;margin-bottom:0;margin-top:0;outline:none;overflow:hidden;max-width:100px;vertical-align:middle}.displayLabelsMultiMatch{margin-left:5px;width:calc(20% + 5px);font-weight:400;margin-bottom:0;margin-top:0;outline:none}.displayLabelsTabbed{margin-left:5px;width:35%;font-weight:400;margin-bottom:0;margin-top:0;outline:none;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.matchedRecordsMargin{margin-top:1%}.ViewResizeImage{width:20px;height:20px;float:right;cursor:pointer}.headerLabel{margin-left:10px}.firstSingleMatchResult{font-weight:700;border:0px solid #939598!important;height:20px!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important;margin:0 0% 0 5px;outline:none}.multiMatchLabel{border:0px;cursor:pointer;outline:none;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:calc(95% - 45px)}.singleMatchLabel{border:0px;outline:none;overflow:hidden;text-overflow:ellipsis;display:inline-block;width:calc(65% - 13px)}\n"] }]
|
|
151
151
|
}], ctorParameters: function () { return []; }, propDecorators: { ActivityDetails: [{
|
|
152
152
|
type: Input
|
|
153
153
|
}], searchLayout: [{
|
|
@@ -157,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
|
157
157
|
}], agentSelectedCallerInformation: [{
|
|
158
158
|
type: Output
|
|
159
159
|
}] } });
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWluZm9ybWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL1VJTGlicmFyeS9zcmMvYXBwL2NvbXBvbmVudHMvc2VhcmNoLWluZm9ybWF0aW9uL3NlYXJjaC1pbmZvcm1hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL3NlYXJjaC1pbmZvcm1hdGlvbi9zZWFyY2gtaW5mb3JtYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFFYixNQUFNLGVBQWUsQ0FBQzs7O0FBU3ZCLE1BQU0sT0FBTywwQkFBMEI7SUFDNUIsZUFBZSxDQUFZO0lBQzNCLFlBQVksQ0FBb0I7SUFDaEMsZ0JBQWdCLENBQXlCO0lBQ3hDLDhCQUE4QixDQUdyQztJQUVILDRCQUE0QixDQUFVO0lBQ3RDLGFBQWEsQ0FBUztJQUN0QixrQkFBa0IsQ0FBUztJQUMzQixlQUFlLENBQU07SUFDckIsY0FBYyxDQUFRO0lBQ3RCLDhCQUE4QixDQUFVO0lBRXhDO1FBQ0UsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQztRQUN6QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRVMsVUFBVTtRQUNsQixJQUFJO1lBQ0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFD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QUFTLEVBQUU7b0JBQ2pELEdBQUcsR0FBRyxzQ0FBc0MsQ0FBQztpQkFDOUM7cUJBQU0sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLFNBQVMsRUFBRTtvQkFDeEQsR0FBRyxHQUFHLHNDQUFzQyxDQUFDO2lCQUM5QztxQkFBTSxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxFQUFFO29CQUNyRCxHQUFHLEdBQUcsbUNBQW1DLENBQUM7aUJBQzNDO3FCQUFNO29CQUNMLEdBQUcsR0FBRyw0Q0FBNEMsQ0FBQztpQkFDcEQ7YUFDRjtTQUNGO1FBQUMsT0FBTyxLQUFLLEVBQUUsR0FBRTtRQUNsQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFUyw2QkFBNkIsQ0FBQyxZQUE2QjtRQUNuRSxJQUFJLFVBQWUsQ0FBQztRQUNwQixJQUFJO1lBQ0YsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FDOUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hEO1FBQUMsT0FBTyxLQUFLLEVBQUUsR0FBRTtRQUNsQixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO3VHQXRKVSwwQkFBMEI7MkZBQTFCLDBCQUEwQixzUkNmdkMsaWtKQWlJQTs7MkZEbEhhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx3QkFBd0I7MEVBS3pCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksOEJBQThCO3NCQUF2QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPbkNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgYXBpIGZyb20gJ0BhbWMtdGVjaG5vbG9neS9kYXZpbmNpLWFwaSc7XHJcbmltcG9ydCB7IElBY3Rpdml0eSB9IGZyb20gJy4uLy4uL21vZGVscy9JQWN0aXZpdHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbWMtc2VhcmNoLWluZm9ybWF0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWluZm9ybWF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtaW5mb3JtYXRpb24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hJbmZvcm1hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgQWN0aXZpdHlEZXRhaWxzOiBJQWN0aXZpdHk7XHJcbiAgQElucHV0KCkgc2VhcmNoTGF5b3V0OiBhcGkuU2VhcmNoTGF5b3V0cztcclxuICBASW5wdXQoKSBzZWFyY2hSZWNvcmRMaXN0OiBBcnJheTxhcGkuSVJlY29yZEl0ZW0+O1xyXG4gIEBPdXRwdXQoKSBhZ2VudFNlbGVjdGVkQ2FsbGVySW5mb3JtYXRpb246IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgdmFsdWU6IHN0cmluZztcclxuICB9PjtcclxuXHJcbiAgaXNTZWFyY2hJbmZvcm1hdGlvbk1heGltaXplZDogYm9vbGVhbjtcclxuICBpbWFnZUxvY2F0aW9uOiBzdHJpbmc7XHJcbiAgc2luZ2xlTWF0Y2hJY29uU3JjOiBzdHJpbmc7XHJcbiAgc2luZ2xlTWF0Y2hEYXRhOiBhbnk7XHJcbiAgbXVsdGlNYXRjaERhdGE6IGFueVtdO1xyXG4gIHNob3VsZFNob3dBbGxNdWx0aU1hdGNoT3B0aW9uczogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmlzU2VhcmNoSW5mb3JtYXRpb25NYXhpbWl6ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5zaW5nbGVNYXRjaERhdGEgPSBudWxsO1xyXG4gICAgdGhpcy5tdWx0aU1hdGNoRGF0YSA9IFtdO1xyXG4gICAgdGhpcy5hZ2VudFNlbGVjdGVkQ2FsbGVySW5mb3JtYXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMucmVuZGVyRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlbmRlckRhdGEoKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLnNpbmdsZU1hdGNoRGF0YSA9IG51bGw7XHJcbiAgICAgIHRoaXMubXVsdGlNYXRjaERhdGEgPSBbXTtcclxuICAgICAgdGhpcy5zaG91bGRTaG93QWxsTXVsdGlNYXRjaE9wdGlvbnMgPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMuc2VhcmNoUmVjb3JkTGlzdC5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICB0aGlzLnNpbmdsZU1hdGNoRGF0YSA9IHRoaXMucGFyc2VTZWFyY2hSZWNvcmRGb3JOYW1lU2luZ2xlTWF0Y2goXHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFJlY29yZExpc3RbMF1cclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc2VhcmNoUmVjb3JkTGlzdC5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnNlYXJjaFJlY29yZExpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIHRoaXMubXVsdGlNYXRjaERhdGEucHVzaChcclxuICAgICAgICAgICAgdGhpcy5wYXJzZVNlYXJjaFJlY29yZEZvck5hbWVNdWx0aU1hdGNoKHRoaXMuc2VhcmNoUmVjb3JkTGlzdFtpXSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnJvcikge31cclxuICB9XHJcblxyXG4gIG9uQWdlbnRTZWxlY3RlZENhbGxlckluZm9ybWF0aW9uKGV2ZW50OiBhbnkpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuYWdlbnRTZWxlY3RlZENhbGxlckluZm9ybWF0aW9uLmVtaXQoe1xyXG4gICAgICAgIGlkOiBldmVudC50YXJnZXQuaWQsXHJcbiAgICAgICAgdmFsdWU6IGV2ZW50LnRhcmdldC52YWx1ZVxyXG4gICAgICB9KTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHBhcnNlU2VhcmNoUmVjb3JkRm9yTmFtZVNpbmdsZU1hdGNoKHNlYXJjaFJlY29yZDogYXBpLklSZWNvcmRJdGVtKSB7XHJcbiAgICBjb25zdCByZXN1bHRzID0gW107XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBzcmMgPSB0aGlzLmdldEVudGl0eUltZ1RvRGlzcGxheShzZWFyY2hSZWNvcmQpO1xyXG4gICAgICB0aGlzLnNpbmdsZU1hdGNoSWNvblNyYyA9IHNyYztcclxuICAgICAgY29uc3Qgc0xheW91dEluZm8gPSB0aGlzLmdldFNlYXJjaExheW91dEluZm9Gb3JEaXNwbGF5KHNlYXJjaFJlY29yZCk7XHJcbiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgc0xheW91dEluZm8uRGlzcGxheUZpZWxkcy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgIGlmIChzTGF5b3V0SW5mby5EaXNwbGF5RmllbGRzICYmIHNMYXlvdXRJbmZvLkRpc3BsYXlGaWVsZHNbal0uRGV2TmFtZSkge1xyXG4gICAgICAgICAgY29uc3QgbmFtZUtleSA9IHNMYXlvdXRJbmZvLkRpc3BsYXlGaWVsZHNbal0uRGV2TmFtZTtcclxuICAgICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzZWFyY2hSZWNvcmQuZmllbGRzKTtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgc2VhcmNoUmVjb3JkLmZpZWxkc1trZXlzW2ldXSAmJlxyXG4gICAgICAgICAgICAgIHNlYXJjaFJlY29yZC5maWVsZHNba2V5c1tpXV0uRGV2TmFtZSA9PT0gbmFtZUtleVxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICBsZXQgZGlzcGxheVJlY29yZCA9IHNlYXJjaFJlY29yZC5maWVsZHNba2V5c1tpXV0uVmFsdWU7XHJcbiAgICAgICAgICAgICAgaWYgKGogPT09IDApIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXlSZWNvcmQgPSBzZWFyY2hSZWNvcmQuZGlzcGxheU5hbWVcclxuICAgICAgICAgICAgICAgICAgPyBbc2VhcmNoUmVjb3JkLmRpc3BsYXlOYW1lLCBkaXNwbGF5UmVjb3JkXVxyXG4gICAgICAgICAgICAgICAgICA6IFtzZWFyY2hSZWNvcmQudHlwZSwgZGlzcGxheVJlY29yZF07XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXlSZWNvcmQgPSBzTGF5b3V0SW5mby5EaXNwbGF5RmllbGRzW2pdLkRpc3BsYXlOYW1lXHJcbiAgICAgICAgICAgICAgICAgID8gW3NMYXlvdXRJbmZvLkRpc3BsYXlGaWVsZHNbal0uRGlzcGxheU5hbWUsIGRpc3BsYXlSZWNvcmRdXHJcbiAgICAgICAgICAgICAgICAgIDogW3NMYXlvdXRJbmZvLkRpc3BsYXlGaWVsZHNbal0uRGV2TmFtZSwgZGlzcGxheVJlY29yZF07XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJlc3VsdHMucHVzaChkaXNwbGF5UmVjb3JkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHt9XHJcbiAgICByZXR1cm4gcmVzdWx0cztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBwYXJzZVNlYXJjaFJlY29yZEZvck5hbWVNdWx0aU1hdGNoKHNlYXJjaFJlY29yZDogYXBpLklSZWNvcmRJdGVtKSB7XHJcbiAgICBjb25zdCByZXN1bHRzID0gW107XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBzcmMgPSB0aGlzLmdldEVudGl0eUltZ1RvRGlzcGxheShzZWFyY2hSZWNvcmQpO1xyXG4gICAgICBjb25zdCBzTGF5b3V0SW5mbyA9IHRoaXMuZ2V0U2VhcmNoTGF5b3V0SW5mb0ZvckRpc3BsYXkoc2VhcmNoUmVjb3JkKTtcclxuICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBzTGF5b3V0SW5mby5EaXNwbGF5RmllbGRzLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgaWYgKHNMYXlvdXRJbmZvLkRpc3BsYXlGaWVsZHMgJiYgc0xheW91dEluZm8uRGlzcGxheUZpZWxkc1tqXS5EZXZOYW1lKSB7XHJcbiAgICAgICAgICBjb25zdCBuYW1lS2V5ID0gc0xheW91dEluZm8uRGlzcGxheUZpZWxkc1tqXS5EZXZOYW1lO1xyXG4gICAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHNlYXJjaFJlY29yZC5maWVsZHMpO1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICBzZWFyY2hSZWNvcmQuZmllbGRzW2tleXNbaV1dICYmXHJcbiAgICAgICAgICAgICAgc2VhcmNoUmVjb3JkLmZpZWxkc1trZXlzW2ldXS5EZXZOYW1lID09PSBuYW1lS2V5XHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgIGxldCBkaXNwbGF5UmVjb3JkID0gc2VhcmNoUmVjb3JkLmZpZWxkc1trZXlzW2ldXS5WYWx1ZTtcclxuICAgICAgICAgICAgICBpZiAoaiA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheVJlY29yZCA9IHNlYXJjaFJlY29yZC5kaXNwbGF5TmFtZVxyXG4gICAgICAgICAgICAgICAgICA/IFtzZWFyY2hSZWNvcmQuZGlzcGxheU5hbWUsIGRpc3BsYXlSZWNvcmRdXHJcbiAgICAgICAgICAgICAgICAgIDogW3NlYXJjaFJlY29yZC50eXBlLCBkaXNwbGF5UmVjb3JkXTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheVJlY29yZCA9IHNMYXlvdXRJbmZvLkRpc3BsYXlGaWVsZHNbal0uRGlzcGxheU5hbWVcclxuICAgICAgICAgICAgICAgICAgPyBbc0xheW91dEluZm8uRGlzcGxheUZpZWxkc1tqXS5EaXNwbGF5TmFtZSwgZGlzcGxheVJlY29yZF1cclxuICAgICAgICAgICAgICAgICAgOiBbc0xheW91dEluZm8uRGlzcGxheUZpZWxkc1tqXS5EZXZOYW1lLCBkaXNwbGF5UmVjb3JkXTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZGlzcGxheVJlY29yZC5wdXNoKHNyYyk7XHJcbiAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKGRpc3BsYXlSZWNvcmQpO1xyXG4gICAgICAgICAgICAgIHJldHVybiByZXN1bHRzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnJvcikge31cclxuICAgIHJldHVybiByZXN1bHRzO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEVudGl0eUltZ1RvRGlzcGxheShzZWFyY2hSZWNvcmQ6IGFwaS5JUmVjb3JkSXRlbSkge1xyXG4gICAgbGV0IHNyYyA9ICcnO1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKHNlYXJjaFJlY29yZC50eXBlKSB7XHJcbiAgICAgICAgaWYgKHNlYXJjaFJlY29yZC50eXBlLnRvVXBwZXJDYXNlKCkgPT09ICdDT05UQUNUJykge1xyXG4gICAgICAgICAgc3JjID0gJy4uLy4uL2Fzc2V0cy9pbWFnZXMvSWNvbl9Db250YWN0LnBuZyc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzZWFyY2hSZWNvcmQudHlwZS50b1VwcGVyQ2FzZSgpID09PSAnQUNDT1VOVCcpIHtcclxuICAgICAgICAgIHNyYyA9ICcuLi8uLi9hc3NldHMvaW1hZ2VzL0ljb25fQWNjb3VudC5wbmcnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoc2VhcmNoUmVjb3JkLnR5cGUudG9VcHBlckNhc2UoKSA9PT0gJ0xFQUQnKSB7XHJcbiAgICAgICAgICBzcmMgPSAnLi4vLi4vYXNzZXRzL2ltYWdlcy9JY29uX0xlYWQucG5nJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgc3JjID0gJy4uLy4uL2Fzc2V0cy9pbWFnZXMvTWlzY2VsbGFuZW91c19JY29uLnBuZyc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnJvcikge31cclxuICAgIHJldHVybiBzcmM7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0U2VhcmNoTGF5b3V0SW5mb0ZvckRpc3BsYXkoc2VhcmNoUmVjb3JkOiBhcGkuSVJlY29yZEl0ZW0pIHtcclxuICAgIGxldCBsYXlvdXRJbmZvOiBhbnk7XHJcbiAgICB0cnkge1xyXG4gICAgICBsYXlvdXRJbmZvID0gdGhpcy5zZWFyY2hMYXlvdXQubGF5b3V0c1swXVtcclxuICAgICAgICB0aGlzLkFjdGl2aXR5RGV0YWlscy5DYWxsVHlwZVxyXG4gICAgICBdLmZpbmQoKGkpID0+IGkuRGV2TmFtZSA9PT0gc2VhcmNoUmVjb3JkLnR5cGUpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHt9XHJcbiAgICByZXR1cm4gbGF5b3V0SW5mbztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhbGxEaXNwbGF5XCI+XHJcbiAgPGRpdiBjbGFzcz1cImVkaXRvciBjYWxsSGVhZGVyXCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJoZWFkZXJMYWJlbFwiPlxyXG4gICAgICA8Yj5DYWxsZXIgSW5mb3JtYXRpb248L2I+XHJcbiAgICA8L2xhYmVsPlxyXG4gICAgPGltZ1xyXG4gICAgICB0aXRsZT1cIk11bHRpcGxlIE1hdGNoZXMgQXZhaWxhYmxlXCJcclxuICAgICAgKm5nSWY9XCJ0aGlzLnNlYXJjaFJlY29yZExpc3QubGVuZ3RoID4gMVwiXHJcbiAgICAgIHNyYz1cIi4uLy4uL2Fzc2V0cy9pbWFnZXMvTXVsdGlNYXRjaEFsZXJ0LnBuZ1wiXHJcbiAgICAgIGNsYXNzPVwibXVsdGlNYXRjaEltZ1wiXHJcbiAgICAvPlxyXG4gICAgPGltZ1xyXG4gICAgICAqbmdJZj1cImlzU2VhcmNoSW5mb3JtYXRpb25NYXhpbWl6ZWRcIlxyXG4gICAgICBjbGFzcz1cIlZpZXdSZXNpemVJbWFnZVwiXHJcbiAgICAgIHNyYz1cImFzc2V0cy9pbWFnZXMvc2VjdGlvbl9jb2xsYXBzZS5wbmdcIlxyXG4gICAgICAoY2xpY2spPVwiaXNTZWFyY2hJbmZvcm1hdGlvbk1heGltaXplZCA9IGZhbHNlXCJcclxuICAgICAgdGl0bGU9XCJDb2xsYXBzZVwiXHJcbiAgICAvPlxyXG4gICAgPGltZ1xyXG4gICAgICAqbmdJZj1cIiFpc1NlYXJjaEluZm9ybWF0aW9uTWF4aW1pemVkXCJcclxuICAgICAgY2xhc3M9XCJWaWV3UmVzaXplSW1hZ2VcIlxyXG4gICAgICBzcmM9XCJhc3NldHMvaW1hZ2VzL3NlY3Rpb25fZXhwYW5kLnBuZ1wiXHJcbiAgICAgIChjbGljayk9XCJpc1NlYXJjaEluZm9ybWF0aW9uTWF4aW1pemVkID0gdHJ1ZVwiXHJcbiAgICAgIHRpdGxlPVwiRXhwYW5kXCJcclxuICAgIC8+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNhbGxCb2R5XCIgKm5nSWY9XCJpc1NlYXJjaEluZm9ybWF0aW9uTWF4aW1pemVkXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwidGhpcy5zZWFyY2hSZWNvcmRMaXN0Lmxlbmd0aCA+IDFcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJvdmVyZmxvd1dyYXBwZXJcIj5cclxuICAgICAgICA8aW1nXHJcbiAgICAgICAgICBjbGFzcz1cIkNSTVJlc3VsdEltYWdlTXVsdGlNYXRjaFwiXHJcbiAgICAgICAgICBzcmM9XCJ7eyB0aGlzLm11bHRpTWF0Y2hEYXRhWzBdWzBdWzJdIH19XCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgaWQ9XCJ7eyB0aGlzLnNlYXJjaFJlY29yZExpc3RbMF0uaWQgfX1cIlxyXG4gICAgICAgICAgbmFtZT1cInt7IHRoaXMubXVsdGlNYXRjaERhdGFbMF1bMF1bMV0gfX1cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWdlbnRTZWxlY3RlZENhbGxlckluZm9ybWF0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgIGNsYXNzPVwibXVsdGlNYXRjaExhYmVsXCJcclxuICAgICAgICAgIHRpdGxlPVwie3sgdGhpcy5tdWx0aU1hdGNoRGF0YVswXVswXVsxXSB9fVwiXHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICB2YWx1ZT1cInt7IHRoaXMubXVsdGlNYXRjaERhdGFbMF1bMF1bMV0gfX1cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPHNwYW4gc3R5bGU9XCJmbG9hdDogcmlnaHQ7IG1hcmdpbi1yaWdodDogNCU7XCI+XHJcbiAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICpuZ0lmPVwiIXRoaXMuc2hvdWxkU2hvd0FsbE11bHRpTWF0Y2hPcHRpb25zXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJDUk1FeHBhbmRJbWFnZVwiXHJcbiAgICAgICAgICAgIHNyYz1cIi4uLy4uL2Fzc2V0cy9pbWFnZXMvZG93bi1hcnJvdy5wbmdcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2hvdWxkU2hvd0FsbE11bHRpTWF0Y2hPcHRpb25zID0gdHJ1ZVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAqbmdJZj1cInRoaXMuc2hvdWxkU2hvd0FsbE11bHRpTWF0Y2hPcHRpb25zXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJDUk1FeHBhbmRJbWFnZVwiXHJcbiAgICAgICAgICAgIHNyYz1cIi4uLy4uL2Fzc2V0cy9pbWFnZXMvdXAtYXJyb3cucG5nXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNob3VsZFNob3dBbGxNdWx0aU1hdGNoT3B0aW9ucyA9IGZhbHNlXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJ0aGlzLnNob3VsZFNob3dBbGxNdWx0aU1hdGNoT3B0aW9uc1wiPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpIG9mIHRoaXMubXVsdGlNYXRjaERhdGEgfCBzbGljZTogMTsgbGV0IGluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgY2xhc3M9XCJvdmVyZmxvd1dyYXBwZXJcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJDUk1SZXN1bHRJbWFnZU11bHRpTWF0Y2hcIiBzcmM9XCJ7eyBpWzBdWzJdIH19XCIgLz5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInt7IHRoaXMuc2VhcmNoUmVjb3JkTGlzdFtpbmRleCArIDFdLmlkIH19XCJcclxuICAgICAgICAgICAgbmFtZT1cInt7IGlbMF1bMV0gfX1cIlxyXG4gICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICBjbGFzcz1cIm11bHRpTWF0Y2hMYWJlbFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkFnZW50U2VsZWN0ZWRDYWxsZXJJbmZvcm1hdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgdGl0bGU9XCJ7eyBpWzBdWzFdIH19XCJcclxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7IGlbMF1bMV0gfX1cIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSBCZWxvdyBpcyB0aGUgSFRNTCBsb2FkZWQgb24gU2luZ2xlIE1hdGNoIC0tPlxyXG4gICAgPGRpdiAqbmdJZj1cInRoaXMuc2VhcmNoUmVjb3JkTGlzdC5sZW5ndGggPT09IDFcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiZWRpdG9yRnVsbCBkaXNwbGF5RGl2XCJcclxuICAgICAgICAqbmdGb3I9XCJcclxuICAgICAgICAgIGxldCBpIG9mIHRoaXMuc2luZ2xlTWF0Y2hEYXRhIHwgc2xpY2U6IDA6MTtcclxuICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xyXG4gICAgICAgICAgbGV0IGZpcnN0ID0gZmlyc3RcclxuICAgICAgICBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJvdmVyZmxvd1dyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgIGlkPVwiRW50aXR5SWNvblwiXHJcbiAgICAgICAgICAgICAgc3JjPVwie3sgdGhpcy5zaW5nbGVNYXRjaEljb25TcmMgfX1cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiQ1JNUmVzdWx0SW1hZ2VcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBjbGFzcz1cInNpbmdsZVNlYXJjaFJlc3VsdFNlbGVjdCBzaW5nbGVNYXRjaEZpcnN0V3JhcHBlciBcIlxyXG4gICAgICAgICAgICAgIGlkPVwie3sgdGhpcy5zZWFyY2hSZWNvcmRMaXN0WzBdLmlkIH19XCJcclxuICAgICAgICAgICAgICBbY2xhc3MuZmlyc3RTaW5nbGVNYXRjaFJlc3VsdF09XCJmaXJzdFwiXHJcbiAgICAgICAgICAgICAgdmFsdWU9XCJ7eyBpWzFdIH19XCJcclxuICAgICAgICAgICAgICB0aXRsZT1cInt7IGlbMV0gfX1cIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkFnZW50U2VsZWN0ZWRDYWxsZXJJbmZvcm1hdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImVkaXRvckZ1bGwgZGlzcGxheURpdlwiXHJcbiAgICAgICAgKm5nRm9yPVwiXHJcbiAgICAgICAgICBsZXQgaSBvZiB0aGlzLnNpbmdsZU1hdGNoRGF0YSB8IHNsaWNlOiAxO1xyXG4gICAgICAgICAgbGV0IGluZGV4ID0gaW5kZXg7XHJcbiAgICAgICAgICBsZXQgZmlyc3QgPSBmaXJzdFxyXG4gICAgICAgIFwiXHJcbiAgICAgID5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm92ZXJmbG93V3JhcHBlclwiPlxyXG4gICAgICAgICAgPGxhYmVsIHRpdGxlPVwie3sgaVswXSB9fVwiIGNsYXNzPVwiZGlzcGxheUxhYmVsc1RhYmJlZFwiPnt7XHJcbiAgICAgICAgICAgIGlbMF1cclxuICAgICAgICAgIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzaW5nbGVTZWFyY2hSZXN1bHRTZWxlY3Qgc2luZ2xlTWF0Y2hUYWJiZWRJdGVtc1dyYXBwZXIgc2luZ2xlTWF0Y2hMYWJlbFwiXHJcbiAgICAgICAgICAgICAgaWQ9XCJ7eyB0aGlzLnNlYXJjaFJlY29yZExpc3RbMF0uaWQgfX1cIlxyXG4gICAgICAgICAgICAgIHZhbHVlPVwie3sgaVsxXSB9fVwiXHJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBpWzFdIH19XCJcclxuICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWluZm9ybWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL1VJTGlicmFyeS9zcmMvYXBwL2NvbXBvbmVudHMvc2VhcmNoLWluZm9ybWF0aW9uL3NlYXJjaC1pbmZvcm1hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9VSUxpYnJhcnkvc3JjL2FwcC9jb21wb25lbnRzL3NlYXJjaC1pbmZvcm1hdGlvbi9zZWFyY2gtaW5mb3JtYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFFYixNQUFNLGVBQWUsQ0FBQzs7O0FBU3ZCLE1BQU0sT0FBTywwQkFBMEI7SUFDNUIsZUFBZSxDQUFZO0lBQzNCLFlBQVksQ0FBb0I7SUFDaEMsZ0JBQWdCLENBQXlCO0lBQ3hDLDhCQUE4QixDQUdyQztJQUVILDRCQUE0QixDQUFVO0lBQ3RDLGFBQWEsQ0FBUztJQUN0QixrQkFBa0IsQ0FBUztJQUMzQixlQUFlLENBQU07SUFDckIsY0FBYyxDQUFRO0lBQ3RCLDhCQUE4QixDQUFVO0lBRXhDO1FBQ0UsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQztRQUN6QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRVMsVUFBVTtRQUNsQixJQUFJO1lBQ0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFD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QUFTLEVBQUU7b0JBQ2pELEdBQUcsR0FBRyxzQ0FBc0MsQ0FBQztpQkFDOUM7cUJBQU0sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLFNBQVMsRUFBRTtvQkFDeEQsR0FBRyxHQUFHLHNDQUFzQyxDQUFDO2lCQUM5QztxQkFBTSxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxFQUFFO29CQUNyRCxHQUFHLEdBQUcsbUNBQW1DLENBQUM7aUJBQzNDO3FCQUFNO29CQUNMLEdBQUcsR0FBRyw0Q0FBNEMsQ0FBQztpQkFDcEQ7YUFDRjtTQUNGO1FBQUMsT0FBTyxLQUFLLEVBQUUsR0FBRTtRQUNsQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFUyw2QkFBNkIsQ0FBQyxZQUE2QjtRQUNuRSxJQUFJLFVBQWUsQ0FBQztRQUNwQixJQUFJO1lBQ0YsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FDOUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hEO1FBQUMsT0FBTyxLQUFLLEVBQUUsR0FBRTtRQUNsQixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO3dHQXRKVSwwQkFBMEI7NEZBQTFCLDBCQUEwQixzUkNmdkMsaWtKQWlJQTs7NEZEbEhhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx3QkFBd0I7MEVBS3pCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksOEJBQThCO3NCQUF2QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPbkNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgYXBpIGZyb20gJ0BhbWMtdGVjaG5vbG9neS9kYXZpbmNpLWFwaSc7XHJcbmltcG9ydCB7IElBY3Rpdml0eSB9IGZyb20gJy4uLy4uL21vZGVscy9JQWN0aXZpdHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbWMtc2VhcmNoLWluZm9ybWF0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWluZm9ybWF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtaW5mb3JtYXRpb24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hJbmZvcm1hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgQWN0aXZpdHlEZXRhaWxzOiBJQWN0aXZpdHk7XHJcbiAgQElucHV0KCkgc2VhcmNoTGF5b3V0OiBhcGkuU2VhcmNoTGF5b3V0cztcclxuICBASW5wdXQoKSBzZWFyY2hSZWNvcmRMaXN0OiBBcnJheTxhcGkuSVJlY29yZEl0ZW0+O1xyXG4gIEBPdXRwdXQoKSBhZ2VudFNlbGVjdGVkQ2FsbGVySW5mb3JtYXRpb246IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgdmFsdWU6IHN0cmluZztcclxuICB9PjtcclxuXHJcbiAgaXNTZWFyY2hJbmZvcm1hdGlvbk1heGltaXplZDogYm9vbGVhbjtcclxuICBpbWFnZUxvY2F0aW9uOiBzdHJpbmc7XHJcbiAgc2luZ2xlTWF0Y2hJY29uU3JjOiBzdHJpbmc7XHJcbiAgc2luZ2xlTWF0Y2hEYXRhOiBhbnk7XHJcbiAgbXVsdGlNYXRjaERhdGE6IGFueVtdO1xyXG4gIHNob3VsZFNob3dBbGxNdWx0aU1hdGNoT3B0aW9uczogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmlzU2VhcmNoSW5mb3JtYXRpb25NYXhpbWl6ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5zaW5nbGVNYXRjaERhdGEgPSBudWxsO1xyXG4gICAgdGhpcy5tdWx0aU1hdGNoRGF0YSA9IFtdO1xyXG4gICAgdGhpcy5hZ2VudFNlbGVjdGVkQ2FsbGVySW5mb3JtYXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMucmVuZGVyRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlbmRlckRhdGEoKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLnNpbmdsZU1hdGNoRGF0YSA9IG51bGw7XHJcbiAgICAgIHRoaXMubXVsdGlNYXRjaERhdGEgPSBbXTtcclxuICAgICAgdGhpcy5zaG91bGRTaG93QWxsTXVsdGlNYXRjaE9wdGlvbnMgPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMuc2VhcmNoUmVjb3JkTGlzdC5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICB0aGlzLnNpbmdsZU1hdGNoRGF0YSA9IHRoaXMucGFyc2VTZWFyY2hSZWNvcmRGb3JOYW1lU2luZ2xlTWF0Y2goXHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFJlY29yZExpc3RbMF1cclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc2VhcmNoUmVjb3JkTGlzdC5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnNlYXJjaFJlY29yZExpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIHRoaXMubXVsdGlNYXRjaERhdGEucHVzaChcclxuICAgICAgICAgICAgdGhpcy5wYXJzZVNlYXJjaFJlY29yZEZvck5hbWVNdWx0aU1hdGNoKHRoaXMuc2VhcmNoUmVjb3JkTGlzdFtpXSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnJvcikge31cclxuICB9XHJcblxyXG4gIG9uQWdlbnRTZWxlY3RlZENhbGxlckluZm9ybWF0aW9uKGV2ZW50OiBhbnkpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuYWdlbnRTZWxlY3RlZENhbGxlckluZm9ybWF0aW9uLmVtaXQoe1xyXG4gICAgICAgIGlkOiBldmVudC50YXJnZXQuaWQsXHJcbiAgICAgICAgdmFsdWU6IGV2ZW50LnRhcmdldC52YWx1ZVxyXG4gICAgICB9KTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHBhcnNlU2VhcmNoUmVjb3JkRm9yTmFtZVNpbmdsZU1hdGNoKHNlYXJjaFJlY29yZDogYXBpLklSZWNvcmRJdGVtKSB7XHJcbiAgICBjb25zdCByZXN1bHRzID0gW107XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBzcmMgPSB0aGlzLmdldEVudGl0eUltZ1RvRGlzcGxheShzZWFyY2hSZWNvcmQpO1xyXG4gICAgICB0aGlzLnNpbmdsZU1hdGNoSWNvblNyYyA9IHNyYztcclxuICAgICAgY29uc3Qgc0xheW91dEluZm8gPSB0aGlzLmdldFNlYXJjaExheW91dEluZm9Gb3JEaXNwbGF5KHNlYXJjaFJlY29yZCk7XHJcbiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgc0xheW91dEluZm8uRGlzcGxheUZpZWxkcy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgIGlmIChzTGF5b3V0SW5mby5EaXNwbGF5RmllbGRzICYmIHNMYXlvdXRJbmZvLkRpc3BsYXlGaWVsZHNbal0uRGV2TmFtZSkge1xyXG4gICAgICAgICAgY29uc3QgbmFtZUtleSA9IHNMYXlvdXRJbmZvLkRpc3BsYXlGaWVsZHNbal0uRGV2TmFtZTtcclxuICAgICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzZWFyY2hSZWNvcmQuZmllbGRzKTtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgc2VhcmNoUmVjb3JkLmZpZWxkc1trZXlzW2ldXSAmJlxyXG4gICAgICAgICAgICAgIHNlYXJjaFJlY29yZC5maWVsZHNba2V5c1tpXV0uRGV2TmFtZSA9PT0gbmFtZUtleVxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICBsZXQgZGlzcGxheVJlY29yZCA9IHNlYXJjaFJlY29yZC5maWVsZHNba2V5c1tpXV0uVmFsdWU7XHJcbiAgICAgICAgICAgICAgaWYgKGogPT09IDApIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXlSZWNvcmQgPSBzZWFyY2hSZWNvcmQuZGlzcGxheU5hbWVcclxuICAgICAgICAgICAgICAgICAgPyBbc2VhcmNoUmVjb3JkLmRpc3BsYXlOYW1lLCBkaXNwbGF5UmVjb3JkXVxyXG4gICAgICAgICAgICAgICAgICA6IFtzZWFyY2hSZWNvcmQudHlwZSwgZGlzcGxheVJlY29yZF07XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXlSZWNvcmQgPSBzTGF5b3V0SW5mby5EaXNwbGF5RmllbGRzW2pdLkRpc3BsYXlOYW1lXHJcbiAgICAgICAgICAgICAgICAgID8gW3NMYXlvdXRJbmZvLkRpc3BsYXlGaWVsZHNbal0uRGlzcGxheU5hbWUsIGRpc3BsYXlSZWNvcmRdXHJcbiAgICAgICAgICAgICAgICAgIDogW3NMYXlvdXRJbmZvLkRpc3BsYXlGaWVsZHNbal0uRGV2TmFtZSwgZGlzcGxheVJlY29yZF07XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJlc3VsdHMucHVzaChkaXNwbGF5UmVjb3JkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHt9XHJcbiAgICByZXR1cm4gcmVzdWx0cztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBwYXJzZVNlYXJjaFJlY29yZEZvck5hbWVNdWx0aU1hdGNoKHNlYXJjaFJlY29yZDogYXBpLklSZWNvcmRJdGVtKSB7XHJcbiAgICBjb25zdCByZXN1bHRzID0gW107XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBzcmMgPSB0aGlzLmdldEVudGl0eUltZ1RvRGlzcGxheShzZWFyY2hSZWNvcmQpO1xyXG4gICAgICBjb25zdCBzTGF5b3V0SW5mbyA9IHRoaXMuZ2V0U2VhcmNoTGF5b3V0SW5mb0ZvckRpc3BsYXkoc2VhcmNoUmVjb3JkKTtcclxuICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBzTGF5b3V0SW5mby5EaXNwbGF5RmllbGRzLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgaWYgKHNMYXlvdXRJbmZvLkRpc3BsYXlGaWVsZHMgJiYgc0xheW91dEluZm8uRGlzcGxheUZpZWxkc1tqXS5EZXZOYW1lKSB7XHJcbiAgICAgICAgICBjb25zdCBuYW1lS2V5ID0gc0xheW91dEluZm8uRGlzcGxheUZpZWxkc1tqXS5EZXZOYW1lO1xyXG4gICAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHNlYXJjaFJlY29yZC5maWVsZHMpO1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICBzZWFyY2hSZWNvcmQuZmllbGRzW2tleXNbaV1dICYmXHJcbiAgICAgICAgICAgICAgc2VhcmNoUmVjb3JkLmZpZWxkc1trZXlzW2ldXS5EZXZOYW1lID09PSBuYW1lS2V5XHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgIGxldCBkaXNwbGF5UmVjb3JkID0gc2VhcmNoUmVjb3JkLmZpZWxkc1trZXlzW2ldXS5WYWx1ZTtcclxuICAgICAgICAgICAgICBpZiAoaiA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheVJlY29yZCA9IHNlYXJjaFJlY29yZC5kaXNwbGF5TmFtZVxyXG4gICAgICAgICAgICAgICAgICA/IFtzZWFyY2hSZWNvcmQuZGlzcGxheU5hbWUsIGRpc3BsYXlSZWNvcmRdXHJcbiAgICAgICAgICAgICAgICAgIDogW3NlYXJjaFJlY29yZC50eXBlLCBkaXNwbGF5UmVjb3JkXTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheVJlY29yZCA9IHNMYXlvdXRJbmZvLkRpc3BsYXlGaWVsZHNbal0uRGlzcGxheU5hbWVcclxuICAgICAgICAgICAgICAgICAgPyBbc0xheW91dEluZm8uRGlzcGxheUZpZWxkc1tqXS5EaXNwbGF5TmFtZSwgZGlzcGxheVJlY29yZF1cclxuICAgICAgICAgICAgICAgICAgOiBbc0xheW91dEluZm8uRGlzcGxheUZpZWxkc1tqXS5EZXZOYW1lLCBkaXNwbGF5UmVjb3JkXTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZGlzcGxheVJlY29yZC5wdXNoKHNyYyk7XHJcbiAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKGRpc3BsYXlSZWNvcmQpO1xyXG4gICAgICAgICAgICAgIHJldHVybiByZXN1bHRzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnJvcikge31cclxuICAgIHJldHVybiByZXN1bHRzO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEVudGl0eUltZ1RvRGlzcGxheShzZWFyY2hSZWNvcmQ6IGFwaS5JUmVjb3JkSXRlbSkge1xyXG4gICAgbGV0IHNyYyA9ICcnO1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKHNlYXJjaFJlY29yZC50eXBlKSB7XHJcbiAgICAgICAgaWYgKHNlYXJjaFJlY29yZC50eXBlLnRvVXBwZXJDYXNlKCkgPT09ICdDT05UQUNUJykge1xyXG4gICAgICAgICAgc3JjID0gJy4uLy4uL2Fzc2V0cy9pbWFnZXMvSWNvbl9Db250YWN0LnBuZyc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzZWFyY2hSZWNvcmQudHlwZS50b1VwcGVyQ2FzZSgpID09PSAnQUNDT1VOVCcpIHtcclxuICAgICAgICAgIHNyYyA9ICcuLi8uLi9hc3NldHMvaW1hZ2VzL0ljb25fQWNjb3VudC5wbmcnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoc2VhcmNoUmVjb3JkLnR5cGUudG9VcHBlckNhc2UoKSA9PT0gJ0xFQUQnKSB7XHJcbiAgICAgICAgICBzcmMgPSAnLi4vLi4vYXNzZXRzL2ltYWdlcy9JY29uX0xlYWQucG5nJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgc3JjID0gJy4uLy4uL2Fzc2V0cy9pbWFnZXMvTWlzY2VsbGFuZW91c19JY29uLnBuZyc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnJvcikge31cclxuICAgIHJldHVybiBzcmM7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0U2VhcmNoTGF5b3V0SW5mb0ZvckRpc3BsYXkoc2VhcmNoUmVjb3JkOiBhcGkuSVJlY29yZEl0ZW0pIHtcclxuICAgIGxldCBsYXlvdXRJbmZvOiBhbnk7XHJcbiAgICB0cnkge1xyXG4gICAgICBsYXlvdXRJbmZvID0gdGhpcy5zZWFyY2hMYXlvdXQubGF5b3V0c1swXVtcclxuICAgICAgICB0aGlzLkFjdGl2aXR5RGV0YWlscy5DYWxsVHlwZVxyXG4gICAgICBdLmZpbmQoKGkpID0+IGkuRGV2TmFtZSA9PT0gc2VhcmNoUmVjb3JkLnR5cGUpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHt9XHJcbiAgICByZXR1cm4gbGF5b3V0SW5mbztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhbGxEaXNwbGF5XCI+XHJcbiAgPGRpdiBjbGFzcz1cImVkaXRvciBjYWxsSGVhZGVyXCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJoZWFkZXJMYWJlbFwiPlxyXG4gICAgICA8Yj5DYWxsZXIgSW5mb3JtYXRpb248L2I+XHJcbiAgICA8L2xhYmVsPlxyXG4gICAgPGltZ1xyXG4gICAgICB0aXRsZT1cIk11bHRpcGxlIE1hdGNoZXMgQXZhaWxhYmxlXCJcclxuICAgICAgKm5nSWY9XCJ0aGlzLnNlYXJjaFJlY29yZExpc3QubGVuZ3RoID4gMVwiXHJcbiAgICAgIHNyYz1cIi4uLy4uL2Fzc2V0cy9pbWFnZXMvTXVsdGlNYXRjaEFsZXJ0LnBuZ1wiXHJcbiAgICAgIGNsYXNzPVwibXVsdGlNYXRjaEltZ1wiXHJcbiAgICAvPlxyXG4gICAgPGltZ1xyXG4gICAgICAqbmdJZj1cImlzU2VhcmNoSW5mb3JtYXRpb25NYXhpbWl6ZWRcIlxyXG4gICAgICBjbGFzcz1cIlZpZXdSZXNpemVJbWFnZVwiXHJcbiAgICAgIHNyYz1cImFzc2V0cy9pbWFnZXMvc2VjdGlvbl9jb2xsYXBzZS5wbmdcIlxyXG4gICAgICAoY2xpY2spPVwiaXNTZWFyY2hJbmZvcm1hdGlvbk1heGltaXplZCA9IGZhbHNlXCJcclxuICAgICAgdGl0bGU9XCJDb2xsYXBzZVwiXHJcbiAgICAvPlxyXG4gICAgPGltZ1xyXG4gICAgICAqbmdJZj1cIiFpc1NlYXJjaEluZm9ybWF0aW9uTWF4aW1pemVkXCJcclxuICAgICAgY2xhc3M9XCJWaWV3UmVzaXplSW1hZ2VcIlxyXG4gICAgICBzcmM9XCJhc3NldHMvaW1hZ2VzL3NlY3Rpb25fZXhwYW5kLnBuZ1wiXHJcbiAgICAgIChjbGljayk9XCJpc1NlYXJjaEluZm9ybWF0aW9uTWF4aW1pemVkID0gdHJ1ZVwiXHJcbiAgICAgIHRpdGxlPVwiRXhwYW5kXCJcclxuICAgIC8+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNhbGxCb2R5XCIgKm5nSWY9XCJpc1NlYXJjaEluZm9ybWF0aW9uTWF4aW1pemVkXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwidGhpcy5zZWFyY2hSZWNvcmRMaXN0Lmxlbmd0aCA+IDFcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJvdmVyZmxvd1dyYXBwZXJcIj5cclxuICAgICAgICA8aW1nXHJcbiAgICAgICAgICBjbGFzcz1cIkNSTVJlc3VsdEltYWdlTXVsdGlNYXRjaFwiXHJcbiAgICAgICAgICBzcmM9XCJ7eyB0aGlzLm11bHRpTWF0Y2hEYXRhWzBdWzBdWzJdIH19XCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgaWQ9XCJ7eyB0aGlzLnNlYXJjaFJlY29yZExpc3RbMF0uaWQgfX1cIlxyXG4gICAgICAgICAgbmFtZT1cInt7IHRoaXMubXVsdGlNYXRjaERhdGFbMF1bMF1bMV0gfX1cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWdlbnRTZWxlY3RlZENhbGxlckluZm9ybWF0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgIGNsYXNzPVwibXVsdGlNYXRjaExhYmVsXCJcclxuICAgICAgICAgIHRpdGxlPVwie3sgdGhpcy5tdWx0aU1hdGNoRGF0YVswXVswXVsxXSB9fVwiXHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICB2YWx1ZT1cInt7IHRoaXMubXVsdGlNYXRjaERhdGFbMF1bMF1bMV0gfX1cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPHNwYW4gc3R5bGU9XCJmbG9hdDogcmlnaHQ7IG1hcmdpbi1yaWdodDogNCU7XCI+XHJcbiAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICpuZ0lmPVwiIXRoaXMuc2hvdWxkU2hvd0FsbE11bHRpTWF0Y2hPcHRpb25zXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJDUk1FeHBhbmRJbWFnZVwiXHJcbiAgICAgICAgICAgIHNyYz1cIi4uLy4uL2Fzc2V0cy9pbWFnZXMvZG93bi1hcnJvdy5wbmdcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2hvdWxkU2hvd0FsbE11bHRpTWF0Y2hPcHRpb25zID0gdHJ1ZVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAqbmdJZj1cInRoaXMuc2hvdWxkU2hvd0FsbE11bHRpTWF0Y2hPcHRpb25zXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJDUk1FeHBhbmRJbWFnZVwiXHJcbiAgICAgICAgICAgIHNyYz1cIi4uLy4uL2Fzc2V0cy9pbWFnZXMvdXAtYXJyb3cucG5nXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNob3VsZFNob3dBbGxNdWx0aU1hdGNoT3B0aW9ucyA9IGZhbHNlXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJ0aGlzLnNob3VsZFNob3dBbGxNdWx0aU1hdGNoT3B0aW9uc1wiPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpIG9mIHRoaXMubXVsdGlNYXRjaERhdGEgfCBzbGljZTogMTsgbGV0IGluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgY2xhc3M9XCJvdmVyZmxvd1dyYXBwZXJcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJDUk1SZXN1bHRJbWFnZU11bHRpTWF0Y2hcIiBzcmM9XCJ7eyBpWzBdWzJdIH19XCIgLz5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBpZD1cInt7IHRoaXMuc2VhcmNoUmVjb3JkTGlzdFtpbmRleCArIDFdLmlkIH19XCJcclxuICAgICAgICAgICAgbmFtZT1cInt7IGlbMF1bMV0gfX1cIlxyXG4gICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICBjbGFzcz1cIm11bHRpTWF0Y2hMYWJlbFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkFnZW50U2VsZWN0ZWRDYWxsZXJJbmZvcm1hdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgdGl0bGU9XCJ7eyBpWzBdWzFdIH19XCJcclxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7IGlbMF1bMV0gfX1cIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSBCZWxvdyBpcyB0aGUgSFRNTCBsb2FkZWQgb24gU2luZ2xlIE1hdGNoIC0tPlxyXG4gICAgPGRpdiAqbmdJZj1cInRoaXMuc2VhcmNoUmVjb3JkTGlzdC5sZW5ndGggPT09IDFcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiZWRpdG9yRnVsbCBkaXNwbGF5RGl2XCJcclxuICAgICAgICAqbmdGb3I9XCJcclxuICAgICAgICAgIGxldCBpIG9mIHRoaXMuc2luZ2xlTWF0Y2hEYXRhIHwgc2xpY2U6IDA6MTtcclxuICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xyXG4gICAgICAgICAgbGV0IGZpcnN0ID0gZmlyc3RcclxuICAgICAgICBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJvdmVyZmxvd1dyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgIGlkPVwiRW50aXR5SWNvblwiXHJcbiAgICAgICAgICAgICAgc3JjPVwie3sgdGhpcy5zaW5nbGVNYXRjaEljb25TcmMgfX1cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiQ1JNUmVzdWx0SW1hZ2VcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBjbGFzcz1cInNpbmdsZVNlYXJjaFJlc3VsdFNlbGVjdCBzaW5nbGVNYXRjaEZpcnN0V3JhcHBlciBcIlxyXG4gICAgICAgICAgICAgIGlkPVwie3sgdGhpcy5zZWFyY2hSZWNvcmRMaXN0WzBdLmlkIH19XCJcclxuICAgICAgICAgICAgICBbY2xhc3MuZmlyc3RTaW5nbGVNYXRjaFJlc3VsdF09XCJmaXJzdFwiXHJcbiAgICAgICAgICAgICAgdmFsdWU9XCJ7eyBpWzFdIH19XCJcclxuICAgICAgICAgICAgICB0aXRsZT1cInt7IGlbMV0gfX1cIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkFnZW50U2VsZWN0ZWRDYWxsZXJJbmZvcm1hdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImVkaXRvckZ1bGwgZGlzcGxheURpdlwiXHJcbiAgICAgICAgKm5nRm9yPVwiXHJcbiAgICAgICAgICBsZXQgaSBvZiB0aGlzLnNpbmdsZU1hdGNoRGF0YSB8IHNsaWNlOiAxO1xyXG4gICAgICAgICAgbGV0IGluZGV4ID0gaW5kZXg7XHJcbiAgICAgICAgICBsZXQgZmlyc3QgPSBmaXJzdFxyXG4gICAgICAgIFwiXHJcbiAgICAgID5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm92ZXJmbG93V3JhcHBlclwiPlxyXG4gICAgICAgICAgPGxhYmVsIHRpdGxlPVwie3sgaVswXSB9fVwiIGNsYXNzPVwiZGlzcGxheUxhYmVsc1RhYmJlZFwiPnt7XHJcbiAgICAgICAgICAgIGlbMF1cclxuICAgICAgICAgIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzaW5nbGVTZWFyY2hSZXN1bHRTZWxlY3Qgc2luZ2xlTWF0Y2hUYWJiZWRJdGVtc1dyYXBwZXIgc2luZ2xlTWF0Y2hMYWJlbFwiXHJcbiAgICAgICAgICAgICAgaWQ9XCJ7eyB0aGlzLnNlYXJjaFJlY29yZExpc3RbMF0uaWQgfX1cIlxyXG4gICAgICAgICAgICAgIHZhbHVlPVwie3sgaVsxXSB9fVwiXHJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBpWzFdIH19XCJcclxuICAgICAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL1VJTGlicmFyeS9zcmMvYXBwL21vZGVscy9jaGF0LnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElDaGF0U2V0dGluZ3Mge1xyXG4gIHNlbmRJbWFnZTogVVJMO1xyXG4gIG1heEhlaWdodD86IHN0cmluZztcclxuICBmYWxsYmFja1VzZXJJY29uPzogVVJMO1xyXG4gIGRpc2FibGVTZW5kTWVzc2FnZT86IGJvb2xlYW47XHJcbiAgaGlkZVNlbmRNZXNzYWdlPzogYm9vbGVhbjtcclxuICBzZW5kTWVzc2FnZVRleHQ/OiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -58,4 +58,4 @@ export var ValueType;
|
|
|
58
58
|
ValueType[ValueType["STRING"] = 0] = "STRING";
|
|
59
59
|
ValueType[ValueType["COUNTER"] = 1] = "COUNTER";
|
|
60
60
|
})(ValueType || (ValueType = {}));
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlsaWJyYXJ5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvbW9kZWxzL3VpbGlicmFyeS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUEwUGhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFDWCxHQUFHLENBQVM7SUFDWixLQUFLLENBQU07SUFDbkI7O09BRUc7SUFDSCxVQUFVLENBQVU7SUFFcEI7O09BRUc7SUFDSCxZQUFZLENBQU87SUFDbkIsZ0JBQWdCLENBQVk7SUFDNUIsZ0JBQWdCLENBQWU7SUFFL0I7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBaUI7SUFDakM7O09BRUc7SUFDSCxPQUFPLENBQVU7SUFFakI7O09BRUc7SUFDSCxnQkFBZ0IsR0FBZSxHQUFHLEVBQUU7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDLENBQUE7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsWUFDRSxHQUFXLEVBQ1gsS0FBVSxFQUNWLE9BQWlCLEVBQ2pCLFNBQXFCLEVBQ3JCLGVBQStCO1FBRS9CLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbkUsU0FBUyxJQUFJLElBQUk7WUFDZixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFXRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDbkIsNkNBQU0sQ0FBQTtJQUNOLCtDQUFPLENBQUE7QUFDVCxDQUFDLEVBSFcsU0FBUyxLQUFULFNBQVMsUUFHcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ2hhdFNldHRpbmdzIH0gZnJvbSAnLi9jaGF0LnNldHRpbmdzJztcclxuaW1wb3J0IHsgSUNoYXRNZXNzYWdlIH0gZnJvbSAnLi9jaGF0Lm1lc3NhZ2UnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jaGF0Lm1lc3NhZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoYXQuc2V0dGluZ3MnO1xyXG5cclxuLyoqXHJcbiAqIEl0IGlzIGNvbGxlY3Rpb24gb2YgSW50ZXJhY3Rpb24gd2hpY2ggbmVlZCB0byBiZSBkaXNwbGF5ZWQgb24gc2NlbmFyaW8gY29tcG9uZW50LlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJU2NlbmFyaW8ge1xyXG4gIGludGVyYWN0aW9uczogSUludGVyYWN0aW9uW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUludGVyYWN0aW9uIHtcclxuICAvKipcclxuICAgKiBVbmlxdWUgaWQgZm9yIHRoZSBpbnRlcmFjdGlvbi5cclxuICAgKiBOb3RlOiB0aGlzIGludGVyYWN0aW9uSWQgaXMgYWxzbyB1c2VkIHRvIHByb3ZpZGUgaWQgZm9yIHRoZSBkaXYgZWxlbWVudC5cclxuICAgKi9cclxuICBpbnRlcmFjdGlvbklkOiBzdHJpbmc7XHJcbiAgcHJvcGVydGllcz86IFByb3BlcnR5W107XHJcbiAgYXNzb2NpYXRlZERhdGE/OiBQcm9wZXJ0eVtdO1xyXG4gIHN0YXJ0VGltZTogbnVtYmVyO1xyXG4gIGRpc3BsYXlDYWxsVGltZXI6IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogcGFydGllcyBpcyBzdXBwb3NlZCB0byBjb250YWluIGRhdGEgYWJvdXQgYWxsIHRoZSBwYXJ0aWNpcGFudHMgaW4gY2FsbCBleGNlcHQgYWdlbnQgaGltc2VsZi5cclxuICAgKi9cclxuICBwYXJ0aWVzPzogSVBhcnR5W107XHJcbiAgLyoqXHJcbiAgICogT3BlcmF0aW9ucy9idXR0b25zIHdoaWNoIG5lZWRzIHRvIGJlIGRpc3BsYXllZCBpbiBpbnRlcmFjdGlvbiBhbmQgaXRzIGhhbmRsZXJzLlxyXG4gICAqL1xyXG4gIG9wZXJhdGlvbnM/OiBJT3BlcmF0aW9uW107XHJcblxyXG4gIC8qKlxyXG4gICAqIEl0IGNvbnRhaW5zIFVSTHMgZm9yIG1pbmltaXplLCBtYXhpbWl6ZSwgaW50ZXJhY3Rpb24gc3BlY2lmaWMgaWNvbiB1cmxzIGZvciBpbnRlcmFjdGlvbi5cclxuICAgKiBBbmQgaGVhZGVyIG51bWJlciB3aGljaCBuZWVkcyB0byBiZSBkaXNwbGF5ZWQgYXQgdG9wLlxyXG4gICAqL1xyXG4gIFVJSGVhZGVyc0RhdGE6IElJbnRlcmFjdGlvblVJSGVhZGVycztcclxuXHJcbiAgLyoqXHJcbiAgICogU2hvdWxkIGNvbnRhaW4gaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG1haW4gcGFydHkgaW4gdGhlIGludGVyYWN0aW9uLlxyXG4gICAqL1xyXG4gIHN1YmhlYWRlckRhdGE6IElQYXJ0eUhlYWRlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBlbmFibGVzIGFuZCBjb25maWd1cmVzIHRoZSBjaGF0IFVJXHJcbiAgICovXHJcbiAgY2hhdD86IHtcclxuICAgIHNldHRpbmdzOiBJQ2hhdFNldHRpbmdzO1xyXG4gICAgbWVzc2FnZXM6IElDaGF0TWVzc2FnZVtdO1xyXG4gICAgaXNDdXN0b21lclR5cGluZz86IGJvb2xlYW47XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQWN0aXZpdHkge1xyXG4gIGludGVyYWN0aW9uSWQ6IHN0cmluZztcclxuICBXaG9PYmplY3Q6IElBY3Rpdml0eURldGFpbHM7XHJcbiAgV2hhdE9iamVjdDogSUFjdGl2aXR5RGV0YWlscztcclxuICB3aG9MaXN0OiBJQWN0aXZpdHlEZXRhaWxzW107XHJcbiAgd2hhdExpc3Q6IElBY3Rpdml0eURldGFpbHNbXTtcclxuICBDYWxsVHlwZTogc3RyaW5nO1xyXG4gIENhbGxEdXJhdGlvbkluU2Vjb25kczogc3RyaW5nO1xyXG4gIFN1YmplY3Q6IHN0cmluZztcclxuICBTdWJqZWN0RmllbGROYW1lOiBzdHJpbmc7XHJcbiAgTmFtZUZpZWxkTmFtZTogc3RyaW5nO1xyXG4gIFJlbGF0ZWRUb0ZpZWxkTmFtZTogc3RyaW5nO1xyXG4gIERlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgU3RhdHVzOiBzdHJpbmc7XHJcbiAgQWN0aXZpdHlEYXRlOiBzdHJpbmc7XHJcbiAgVGltZVN0YW1wOiBEYXRlO1xyXG4gIEFjdGl2aXR5SWQ6IHN0cmluZztcclxuICBxdWlja0NvbW1lbnRMaXN0OiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQWN0aXZpdHlEZXRhaWxzICB7XHJcbiAgb2JqZWN0VHlwZTogc3RyaW5nO1xyXG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XHJcbiAgb2JqZWN0TmFtZTogc3RyaW5nO1xyXG4gIG9iamVjdElkOiBzdHJpbmc7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbnRhaW5zIHRoZSBtYWluIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBpbnRlcmFjdGlvbi5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBhcnR5SGVhZGVyIHtcclxuICAvKipcclxuICAgKiBJbWFnZSB0aGF0IGlkZW50aWZpZXMgdGhlIHR5cGUgb2YgaW50ZXJhY3Rpb25cclxuICAgKiBvciB0aGUgdHlwZSBvZiB0aGUgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24oZXg6IHBob25lIGljb24gZm9yIHBob25lIG51bWJlcilcclxuICAgKi9cclxuICBpbWFnZT86IFVSTDtcclxuICAvKipcclxuICAgKiBUaGUgdG9vbHRpcCB0byBiZSBkaXNwbGF5ZWQgd2hlbiB0aGUgaW1hZ2UgaXMgaG92ZXJlZCBvdmVyXHJcbiAgICovXHJcbiAgdG9vbHRpcD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBUaGUgdmFsdWUgdG8gYmUgZGlzcGxheWVkXHJcbiAgICovXHJcbiAgdmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIEl0IGNvbnRhaW5zIFVSTHMgZm9yIG1pbmltaXplLCBtYXhpbWl6ZSwgaW50ZXJhY3Rpb24gc3BlY2lmaWMgaWNvbiB1cmxzIGZvciBpbnRlcmFjdGlvbi5cclxuICogQW5kIGhlYWRlciBudW1iZXIgd2hpY2ggbmVlZHMgdG8gYmUgZGlzcGxheWVkIGF0IHRvcC5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUludGVyYWN0aW9uVUlIZWFkZXJzIHtcclxuICAvKipcclxuICAgKiBNaW5pbWl6ZSBpY29uIHVybC5cclxuICAgKi9cclxuICBtaW5pbWl6ZVVybDogVVJMO1xyXG5cclxuICAvKipcclxuICAgKiBNYXhpbWl6ZSBJY29uIHVybC5cclxuICAgKi9cclxuICBtYXhpbWl6ZVVybDogVVJMO1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIGlzIHRoZSBVUkwgZm9yIHRoZSBzdGF0dXMgaW1hZ2UuXHJcbiAgICogQG1lbWJlcm9mIElJbnRlcmFjdGlvblVJSGVhZGVyc1xyXG4gICAqL1xyXG4gIHN0YXR1c1VybDogVVJMO1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIGlzIHRoZSBoYW5kbGVyIGZvciBmb2N1cyhUcmlnZ2VyZWQgb24gY2xpY2sgb2Ygc3RhdHVzKS5cclxuICAgKiBAbWVtYmVyb2YgSUludGVyYWN0aW9uVUlIZWFkZXJzXHJcbiAgICovXHJcbiAgZm9jdXNIYW5kbGVyPzogSUZvY3VzO1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIGlzIHRoZSB0ZXh0IHdoaWNoIGlzIGdvaW5nIHRvIGJlIGRpc3BsYXllZCBmb3Igc3RhdHVzIG9mIHRoZSBjYWxsLlxyXG4gICAqXHJcbiAgICogQG1lbWJlcm9mIElJbnRlcmFjdGlvblVJSGVhZGVyc1xyXG4gICAqL1xyXG4gIHN0YXR1c1RleHQ6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICpUaGlzIG1lbWJlciB3aWxsIGNvbnRhaW4gdGhlIHRleHQgcmVsYXRlZCB0byB0aGUgZGlyZWN0aW9uIG9mIHRoZSBjYWxsLiBFLmcgSW5ib3VuZCwgT3V0Ym91bmQgZXRjLlxyXG4gICAqIEBtZW1iZXJvZiBJSW50ZXJhY3Rpb25VSUhlYWRlcnNcclxuICAgKi9cclxuICBkaXJlY3Rpb25UZXh0OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqVGhpcyBkYXRhIHdpbGwgYmUgdXNlZCB0byBkaXNwbGF5IGhvbGQgY291bnRlciB3aGloYyB3aWxsIGJlIHRoZSBjb21iaW5hdGlvbiBvZiB0aGUgY3VycmVudCBob2xkIHRpbWUgYW5kIGNvbXBsZXRlIGhvbGQgdGltZS5cclxuICAgKiBAbWVtYmVyb2YgSUludGVyYWN0aW9uVUlIZWFkZXJzXHJcbiAgICovXHJcbiAgaG9sZENvdW50ZXJEYXRhPzogSUhvbGRDb3VudGVyRGF0YTtcclxuXHJcbiAgLyoqXHJcbiAgICpJZiB0aGlzIHZhbHVlIGlzIHNldCB0byB0cnVlIHRoZW4gaG9sZCBjb3VudGVyIGlzIGRpc3BsYXllZCBiYXNlZCBvbiB0aGUgaG9sZENvdW50ZXJEYXRhLlxyXG4gICAqIEBtZW1iZXJvZiBJSW50ZXJhY3Rpb25VSUhlYWRlcnNcclxuICAgKi9cclxuICBkaXNwbGF5SG9sZENvdW50ZXI6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBJQ2FsbER1cmF0aW9uIHtcclxuICBzdGFydFRpbWU6IG51bWJlcjtcclxuICBlbmRUaW1lOiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBJSG9sZENvdW50ZXJEYXRhIHtcclxuICBwYXN0Q2FsbER1cmF0aW9ucz86IElDYWxsRHVyYXRpb25bXTtcclxuICBjdXJyZW50SG9sZFN0YXJ0VGltZTogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogSXQgY29udGFpbnMgT3BlcmF0aW9uIEljb24gVVJMIGFuZCBpdHMgaGFkbGVycyB3aGljaCBuZWVkIHRvIGJlIGRpc3BsYXllZCBpbiBJbnRlcmFjdGlvbi5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUZvY3VzIHtcclxuICAvKipcclxuICAgKiBtZXRhZGF0YSByZWxhdGVkIHRvIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBvcGVyYXRpb25NZXRhZGF0YT86IElNZXRhZGF0YVtdO1xyXG4gIC8qKlxyXG4gICAqIG5hbWUgb2YgdGhlIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBvcGVyYXRpb25OYW1lOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogSGFuZGxlciB3aGljaCBuZWVkcyB0byBiZSBpbnZva2VkIHdoZW4gc29tZW9uZSBjbGlja3Mgb24gdGhlIG9wZXJhdGlvbiBpY29uLlxyXG4gICAqL1xyXG4gIGhhbmRsZXI6IChvcGVyYXRpb25OYW1lOiBzdHJpbmcsIG9wZXJhdGlvbk1ldGFkYXRhPzogSU1ldGFkYXRhW10pID0+IHZvaWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJdCBjb250YWlucyBPcGVyYXRpb24gSWNvbiBVUkwgYW5kIGl0cyBoYWRsZXJzIHdoaWNoIG5lZWQgdG8gYmUgZGlzcGxheWVkIGluIEludGVyYWN0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJT3BlcmF0aW9uIHtcclxuICAvKipcclxuICAgKiBtZXRhZGF0YSByZWxhdGVkIHRvIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBvcGVyYXRpb25NZXRhZGF0YT86IElNZXRhZGF0YVtdO1xyXG4gIC8qKlxyXG4gICAqIG5hbWUgb2YgdGhlIG9wZXJhdGlvbi5cclxuICAgKi9cclxuICBvcGVyYXRpb25OYW1lOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogVVJMIGZvciB0aGUgaWNvbiBvZiBvcGVyYXRpb25zLlxyXG4gICAqL1xyXG4gIGljb246IFVSTDtcclxuICAvKipcclxuICAgKiBUaXRsZSB3aGljaCBuZWVkcyB0byBiZSBkb2lzcGxheWVkIHdoZW4gc29tZW9uZSBob3ZlcnMgb3ZlciB0aGUgaWNvbi5cclxuICAgKi9cclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXIgd2hpY2ggbmVlZHMgdG8gYmUgaW52b2tlZCB3aGVuIHNvbWVvbmUgY2xpY2tzIG9uIHRoZSBvcGVyYXRpb24gaWNvbi5cclxuICAgKi9cclxuICBoYW5kbGVyOiAob3BlcmF0aW9uTmFtZTogc3RyaW5nLCBvcGVyYXRpb25NZXRhZGF0YT86IElNZXRhZGF0YVtdKSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIEJyb3dzZXIgYWNjZXNza2V5IHRvIGp1bXAgaW5zdGFudGx5IHRvIHRoaXMgb3BlcmF0aW9uIFNob3VsZCBjb25mb3JtIHRvIEFNQyBub3JtcyBhbmQgY29uc2lzdCBvZiBhIHNpbmdsZSBwcmludGFibGUgY2hhcmFjdGVyLlxyXG4gICAqL1xyXG4gIGFjY2Vzc2tleT86IHN0cmluZ1xyXG59XHJcblxyXG4vKipcclxuICogVGhpcyBjb250YWlucyBwcm9wZXJ0aWVzIGFuZCBvcGVyYXRpb25zIHRvIGJlIGRpc3BsYXllZCBmb3IgY29uZmVyZW5jZSBtZW1iZXIuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElQYXJ0eSB7XHJcbiAgaGVhZGVyOiBJUGFydHlIZWFkZXI7XHJcbiAgcHJvcGVydGllczogUHJvcGVydHlbXTtcclxuICBvcGVyYXRpb25zOiBJT3BlcmF0aW9uW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBrZXkgdmFsdWUgcGFpcnMgd2hpY2ggY2FuIGJlIHVzZWQgYW1vbmdzdCBvdGhlciBpbnRlcmZhY2VzL2NsYXNzZXMgdG8gc3RvcmUgbWV0YWRhdGEgb2YgdGhvc2UgZW50aXRpZXMuXHJcbiAqL1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTWV0YWRhdGEge1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGlzIGludGVyZmFjZSBjb250YWlucyBrZXkgdmFsdWUgcGFpcnMsIHNvbWUgY3VzdG9tIG9wZXJhdGlvbiB3aGljaCBnZW5lcmF0ZXMgZGlzcGxheSBrZXkgYW5kIGRpc3BsYXkgdmFsdWUuXHJcbiAqIEFsc28gaXQgaW5jbHVkZXMgY3VzdG9tIG9wZXJhdGlvbiBoYW5kbGVyIGZvciBjbGljayBldmVudCBvbiBwcm9wZXJ0aWVzLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEtFWSB2YWx1ZSB0byBiZSBkaXNwbGF5ZWQgb24gY29tcG9uZW50LlxyXG4gICAqL1xyXG4gIGRpc3BsYXlLZXk/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFZBTFVFIHRvIGJlIGRpc3BsYXllZCBvbiBjb21wb25lbnQuXHJcbiAgICovXHJcbiAgZGlzcGxheVZhbHVlPzogYW55O1xyXG4gIGRpc3BsYXlWYWx1ZVR5cGU6IFZhbHVlVHlwZTtcclxuICBwcm9wZXJ0eU1ldGFkYXRhPzogSU1ldGFkYXRhW107XHJcblxyXG4gIC8qKlxyXG4gICAqIENsaWNrIGV2ZW50IGhhbmRsZXIgZm9yIHByb3BlcnR5LlxyXG4gICAqL1xyXG4gIGN1c3RvbU9wZXJhdGlvbnM/OiBJRXZlbnRIYW5kbGVyO1xyXG4gIC8qKlxyXG4gICAqIFRoaXMgZmxhZyBkZWNpZGVzIGlmIFBST1BFUlRZIHdpbGwgYmUgZGlzcGxheWVkIG9uIGNvbXBvbmVudCBvciBub3QuXHJcbiAgICovXHJcbiAgdmlzaWJsZTogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEEgaGVscGVyIG1ldGhvZCB0byBtYWtlIGluc3RhbmNlcyBvZiBbSVByb3BlcnR5XVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFByb3BlcnR5IGltcGxlbWVudHMgSVByb3BlcnR5IHtcclxuICBwcml2YXRlIGtleTogc3RyaW5nO1xyXG4gIHByaXZhdGUgdmFsdWU6IGFueTtcclxuICAvKipcclxuICAgKiBLRVkgdmFsdWUgdG8gYmUgZGlzcGxheWVkIG9uIGNvbXBvbmVudC5cclxuICAgKi9cclxuICBkaXNwbGF5S2V5Pzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBWQUxVRSB0byBiZSBkaXNwbGF5ZWQgb24gY29tcG9uZW50LlxyXG4gICAqL1xyXG4gIGRpc3BsYXlWYWx1ZT86IGFueTtcclxuICBkaXNwbGF5VmFsdWVUeXBlOiBWYWx1ZVR5cGU7XHJcbiAgcHJvcGVydHlNZXRhZGF0YT86IElNZXRhZGF0YVtdO1xyXG5cclxuICAvKipcclxuICAgKiBDbGljayBldmVudCBoYW5kbGVyIGZvciBwcm9wZXJ0eS5cclxuICAgKi9cclxuICBjdXN0b21PcGVyYXRpb25zPzogSUV2ZW50SGFuZGxlcjtcclxuICAvKipcclxuICAgKiBUaGlzIGZsYWcgZGVjaWRlcyBpZiBQUk9QRVJUWSB3aWxsIGJlIGRpc3BsYXllZCBvbiBjb21wb25lbnQgb3Igbm90LlxyXG4gICAqL1xyXG4gIHZpc2libGU6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wZXJhdGlvbiByZXNwb25zaWJsZSBmb3IgZ2VuZXJhdGluZyBkaXNwbGF5S2V5IGFuZCBkaXNwa2F5VmFsdXIgZnJvbSBrZXkgYW5kIHZhbHVlLlxyXG4gICAqL1xyXG4gIGRpc3BsYXlPcGVyYXRpb246ICgpID0+IHZvaWQgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmRpc3BsYXlLZXkgPSB0aGlzLmtleTtcclxuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy52YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGtleVxyXG4gICAqIEBwYXJhbSB2YWx1ZSA6IGlmIHZhbHVlIHR5cGUgaXMgQ09VTlRFUiB0aGVuIHZhbHVlIHNob3VsZCBiZSBzdGFydCB0aW1lIGluIE1pbGxpU2Vjb25kcy5cclxuICAgKiBAcGFyYW0gdmlzaWJsZVxyXG4gICAqIEBwYXJhbSB2YWx1ZVR5cGVcclxuICAgKiBAcGFyYW0gY3VzdG9tT3BlcmF0aW9uXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBrZXk6IHN0cmluZyxcclxuICAgIHZhbHVlOiBhbnksXHJcbiAgICB2aXNpYmxlPzogYm9vbGVhbixcclxuICAgIHZhbHVlVHlwZT86IFZhbHVlVHlwZSxcclxuICAgIGN1c3RvbU9wZXJhdGlvbj86IElFdmVudEhhbmRsZXJcclxuICApIHtcclxuICAgIHRoaXMua2V5ID0ga2V5O1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdmlzaWJsZSAhPSBudWxsID8gKHRoaXMudmlzaWJsZSA9IHZpc2libGUpIDogKHRoaXMudmlzaWJsZSA9IHRydWUpO1xyXG4gICAgdmFsdWVUeXBlICE9IG51bGxcclxuICAgICAgPyAodGhpcy5kaXNwbGF5VmFsdWVUeXBlID0gdmFsdWVUeXBlKVxyXG4gICAgICA6ICh0aGlzLmRpc3BsYXlWYWx1ZVR5cGUgPSBWYWx1ZVR5cGUuU1RSSU5HKTtcclxuICAgIHRoaXMuY3VzdG9tT3BlcmF0aW9ucyA9IGN1c3RvbU9wZXJhdGlvbjtcclxuICAgIHRoaXMuZGlzcGxheU9wZXJhdGlvbigpO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEludGVyZmFjZSB3aGljaCBjb250YWlucyBldmVudE5hbWUgYW5kIGhhbmRsZXIgYXNzb2NpYXRlZCB3aXRoIGl0LlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJRXZlbnRIYW5kbGVyIHtcclxuICBldmVudE5hbWU6IHN0cmluZztcclxuICBoYW5kbGVyOiAoZXZlbnROYW1lOiBzdHJpbmcsIGV2ZW50TWV0YWRhdGE/OiBJTWV0YWRhdGFbXSkgPT4gdm9pZDtcclxuICBldmVudE1ldGFkYXRhPzogSU1ldGFkYXRhW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBlbnVtIGZvciBWYWx1ZSB0eXBlcyBvZiBQUk9QRVJUWS5cclxuICovXHJcbmV4cG9ydCBlbnVtIFZhbHVlVHlwZSB7XHJcbiAgU1RSSU5HLFxyXG4gIENPVU5URVJcclxufVxyXG4iXX0=
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlsaWJyYXJ5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvVUlMaWJyYXJ5L3NyYy9hcHAvbW9kZWxzL3VpbGlicmFyeS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUF5UWhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFDWCxHQUFHLENBQVM7SUFDWixLQUFLLENBQU07SUFDbkI7O09BRUc7SUFDSCxVQUFVLENBQVU7SUFFcEI7O09BRUc7SUFDSCxZQUFZLENBQU87SUFDbkIsZ0JBQWdCLENBQVk7SUFDNUIsZ0JBQWdCLENBQWU7SUFFL0I7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBaUI7SUFDakM7O09BRUc7SUFDSCxPQUFPLENBQVU7SUFFakI7O09BRUc7SUFDSCxnQkFBZ0IsR0FBZSxHQUFHLEVBQUU7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDLENBQUE7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsWUFDRSxHQUFXLEVBQ1gsS0FBVSxFQUNWLE9BQWlCLEVBQ2pCLFNBQXFCLEVBQ3JCLGVBQStCO1FBRS9CLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbkUsU0FBUyxJQUFJLElBQUk7WUFDZixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFXRDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDbkIsNkNBQU0sQ0FBQTtJQUNOLCtDQUFPLENBQUE7QUFDVCxDQUFDLEVBSFcsU0FBUyxLQUFULFNBQVMsUUFHcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ2hhdFNldHRpbmdzIH0gZnJvbSAnLi9jaGF0LnNldHRpbmdzJztcclxuaW1wb3J0IHsgSUNoYXRNZXNzYWdlIH0gZnJvbSAnLi9jaGF0Lm1lc3NhZ2UnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jaGF0Lm1lc3NhZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoYXQuc2V0dGluZ3MnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTG9naW5EYXRhIHtcclxuICBoZWFkZXI6IHN0cmluZyxcclxuICBmaWVsZHM6IElMb2dpbkZpZWxkW11cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTG9naW5GaWVsZCB7XHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIHR5cGU6IHN0cmluZyxcclxuICB2YWx1ZT86IHN0cmluZyxcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xyXG4gIGlzUmVxdWlyZWQ/OiBib29sZWFuXHJcbiAgaW52YWxpZE1lc3NhZ2U6IHN0cmluZztcclxuICBpc0ludmFsaWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG4vKipcclxuICogSXQgaXMgY29sbGVjdGlvbiBvZiBJbnRlcmFjdGlvbiB3aGljaCBuZWVkIHRvIGJlIGRpc3BsYXllZCBvbiBzY2VuYXJpbyBjb21wb25lbnQuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElTY2VuYXJpbyB7XHJcbiAgaW50ZXJhY3Rpb25zOiBJSW50ZXJhY3Rpb25bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW50ZXJhY3Rpb24ge1xyXG4gIC8qKlxyXG4gICAqIFVuaXF1ZSBpZCBmb3IgdGhlIGludGVyYWN0aW9uLlxyXG4gICAqIE5vdGU6IHRoaXMgaW50ZXJhY3Rpb25JZCBpcyBhbHNvIHVzZWQgdG8gcHJvdmlkZSBpZCBmb3IgdGhlIGRpdiBlbGVtZW50LlxyXG4gICAqL1xyXG4gIGludGVyYWN0aW9uSWQ6IHN0cmluZztcclxuICBwcm9wZXJ0aWVzPzogUHJvcGVydHlbXTtcclxuICBhc3NvY2lhdGVkRGF0YT86IFByb3BlcnR5W107XHJcbiAgc3RhcnRUaW1lOiBudW1iZXI7XHJcbiAgZGlzcGxheUNhbGxUaW1lcjogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBwYXJ0aWVzIGlzIHN1cHBvc2VkIHRvIGNvbnRhaW4gZGF0YSBhYm91dCBhbGwgdGhlIHBhcnRpY2lwYW50cyBpbiBjYWxsIGV4Y2VwdCBhZ2VudCBoaW1zZWxmLlxyXG4gICAqL1xyXG4gIHBhcnRpZXM/OiBJUGFydHlbXTtcclxuICAvKipcclxuICAgKiBPcGVyYXRpb25zL2J1dHRvbnMgd2hpY2ggbmVlZHMgdG8gYmUgZGlzcGxheWVkIGluIGludGVyYWN0aW9uIGFuZCBpdHMgaGFuZGxlcnMuXHJcbiAgICovXHJcbiAgb3BlcmF0aW9ucz86IElPcGVyYXRpb25bXTtcclxuXHJcbiAgLyoqXHJcbiAgICogSXQgY29udGFpbnMgVVJMcyBmb3IgbWluaW1pemUsIG1heGltaXplLCBpbnRlcmFjdGlvbiBzcGVjaWZpYyBpY29uIHVybHMgZm9yIGludGVyYWN0aW9uLlxyXG4gICAqIEFuZCBoZWFkZXIgbnVtYmVyIHdoaWNoIG5lZWRzIHRvIGJlIGRpc3BsYXllZCBhdCB0b3AuXHJcbiAgICovXHJcbiAgVUlIZWFkZXJzRGF0YTogSUludGVyYWN0aW9uVUlIZWFkZXJzO1xyXG5cclxuICAvKipcclxuICAgKiBTaG91bGQgY29udGFpbiBpZGVudGlmeWluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWFpbiBwYXJ0eSBpbiB0aGUgaW50ZXJhY3Rpb24uXHJcbiAgICovXHJcbiAgc3ViaGVhZGVyRGF0YTogSVBhcnR5SGVhZGVyO1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIGVuYWJsZXMgYW5kIGNvbmZpZ3VyZXMgdGhlIGNoYXQgVUlcclxuICAgKi9cclxuICBjaGF0Pzoge1xyXG4gICAgc2V0dGluZ3M6IElDaGF0U2V0dGluZ3M7XHJcbiAgICBtZXNzYWdlczogSUNoYXRNZXNzYWdlW107XHJcbiAgICBpc0N1c3RvbWVyVHlwaW5nPzogYm9vbGVhbjtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBY3Rpdml0eSB7XHJcbiAgaW50ZXJhY3Rpb25JZDogc3RyaW5nO1xyXG4gIFdob09iamVjdDogSUFjdGl2aXR5RGV0YWlscztcclxuICBXaGF0T2JqZWN0OiBJQWN0aXZpdHlEZXRhaWxzO1xyXG4gIHdob0xpc3Q6IElBY3Rpdml0eURldGFpbHNbXTtcclxuICB3aGF0TGlzdDogSUFjdGl2aXR5RGV0YWlsc1tdO1xyXG4gIENhbGxUeXBlOiBzdHJpbmc7XHJcbiAgQ2FsbER1cmF0aW9uSW5TZWNvbmRzOiBzdHJpbmc7XHJcbiAgU3ViamVjdDogc3RyaW5nO1xyXG4gIFN1YmplY3RGaWVsZE5hbWU6IHN0cmluZztcclxuICBOYW1lRmllbGROYW1lOiBzdHJpbmc7XHJcbiAgUmVsYXRlZFRvRmllbGROYW1lOiBzdHJpbmc7XHJcbiAgRGVzY3JpcHRpb246IHN0cmluZztcclxuICBTdGF0dXM6IHN0cmluZztcclxuICBBY3Rpdml0eURhdGU6IHN0cmluZztcclxuICBUaW1lU3RhbXA6IERhdGU7XHJcbiAgQWN0aXZpdHlJZDogc3RyaW5nO1xyXG4gIHF1aWNrQ29tbWVudExpc3Q6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBY3Rpdml0eURldGFpbHMgIHtcclxuICBvYmplY3RUeXBlOiBzdHJpbmc7XHJcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcclxuICBvYmplY3ROYW1lOiBzdHJpbmc7XHJcbiAgb2JqZWN0SWQ6IHN0cmluZztcclxuICB1cmw6IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFRoaXMgY29udGFpbnMgdGhlIG1haW4gaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGludGVyYWN0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJUGFydHlIZWFkZXIge1xyXG4gIC8qKlxyXG4gICAqIEltYWdlIHRoYXQgaWRlbnRpZmllcyB0aGUgdHlwZSBvZiBpbnRlcmFjdGlvblxyXG4gICAqIG9yIHRoZSB0eXBlIG9mIHRoZSBpZGVudGlmeWluZyBpbmZvcm1hdGlvbihleDogcGhvbmUgaWNvbiBmb3IgcGhvbmUgbnVtYmVyKVxyXG4gICAqL1xyXG4gIGltYWdlPzogVVJMO1xyXG4gIC8qKlxyXG4gICAqIFRoZSB0b29sdGlwIHRvIGJlIGRpc3BsYXllZCB3aGVuIHRoZSBpbWFnZSBpcyBob3ZlcmVkIG92ZXJcclxuICAgKi9cclxuICB0b29sdGlwPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFRoZSB2YWx1ZSB0byBiZSBkaXNwbGF5ZWRcclxuICAgKi9cclxuICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogSXQgY29udGFpbnMgVVJMcyBmb3IgbWluaW1pemUsIG1heGltaXplLCBpbnRlcmFjdGlvbiBzcGVjaWZpYyBpY29uIHVybHMgZm9yIGludGVyYWN0aW9uLlxyXG4gKiBBbmQgaGVhZGVyIG51bWJlciB3aGljaCBuZWVkcyB0byBiZSBkaXNwbGF5ZWQgYXQgdG9wLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJSW50ZXJhY3Rpb25VSUhlYWRlcnMge1xyXG4gIC8qKlxyXG4gICAqIE1pbmltaXplIGljb24gdXJsLlxyXG4gICAqL1xyXG4gIG1pbmltaXplVXJsOiBVUkw7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1heGltaXplIEljb24gdXJsLlxyXG4gICAqL1xyXG4gIG1heGltaXplVXJsOiBVUkw7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgaXMgdGhlIFVSTCBmb3IgdGhlIHN0YXR1cyBpbWFnZS5cclxuICAgKiBAbWVtYmVyb2YgSUludGVyYWN0aW9uVUlIZWFkZXJzXHJcbiAgICovXHJcbiAgc3RhdHVzVXJsOiBVUkw7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgaXMgdGhlIGhhbmRsZXIgZm9yIGZvY3VzKFRyaWdnZXJlZCBvbiBjbGljayBvZiBzdGF0dXMpLlxyXG4gICAqIEBtZW1iZXJvZiBJSW50ZXJhY3Rpb25VSUhlYWRlcnNcclxuICAgKi9cclxuICBmb2N1c0hhbmRsZXI/OiBJRm9jdXM7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgaXMgdGhlIHRleHQgd2hpY2ggaXMgZ29pbmcgdG8gYmUgZGlzcGxheWVkIGZvciBzdGF0dXMgb2YgdGhlIGNhbGwuXHJcbiAgICpcclxuICAgKiBAbWVtYmVyb2YgSUludGVyYWN0aW9uVUlIZWFkZXJzXHJcbiAgICovXHJcbiAgc3RhdHVzVGV4dDogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKlRoaXMgbWVtYmVyIHdpbGwgY29udGFpbiB0aGUgdGV4dCByZWxhdGVkIHRvIHRoZSBkaXJlY3Rpb24gb2YgdGhlIGNhbGwuIEUuZyBJbmJvdW5kLCBPdXRib3VuZCBldGMuXHJcbiAgICogQG1lbWJlcm9mIElJbnRlcmFjdGlvblVJSGVhZGVyc1xyXG4gICAqL1xyXG4gIGRpcmVjdGlvblRleHQ6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICpUaGlzIGRhdGEgd2lsbCBiZSB1c2VkIHRvIGRpc3BsYXkgaG9sZCBjb3VudGVyIHdoaWhjIHdpbGwgYmUgdGhlIGNvbWJpbmF0aW9uIG9mIHRoZSBjdXJyZW50IGhvbGQgdGltZSBhbmQgY29tcGxldGUgaG9sZCB0aW1lLlxyXG4gICAqIEBtZW1iZXJvZiBJSW50ZXJhY3Rpb25VSUhlYWRlcnNcclxuICAgKi9cclxuICBob2xkQ291bnRlckRhdGE/OiBJSG9sZENvdW50ZXJEYXRhO1xyXG5cclxuICAvKipcclxuICAgKklmIHRoaXMgdmFsdWUgaXMgc2V0IHRvIHRydWUgdGhlbiBob2xkIGNvdW50ZXIgaXMgZGlzcGxheWVkIGJhc2VkIG9uIHRoZSBob2xkQ291bnRlckRhdGEuXHJcbiAgICogQG1lbWJlcm9mIElJbnRlcmFjdGlvblVJSGVhZGVyc1xyXG4gICAqL1xyXG4gIGRpc3BsYXlIb2xkQ291bnRlcjogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIElDYWxsRHVyYXRpb24ge1xyXG4gIHN0YXJ0VGltZTogbnVtYmVyO1xyXG4gIGVuZFRpbWU6IG51bWJlcjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIElIb2xkQ291bnRlckRhdGEge1xyXG4gIHBhc3RDYWxsRHVyYXRpb25zPzogSUNhbGxEdXJhdGlvbltdO1xyXG4gIGN1cnJlbnRIb2xkU3RhcnRUaW1lOiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJdCBjb250YWlucyBPcGVyYXRpb24gSWNvbiBVUkwgYW5kIGl0cyBoYWRsZXJzIHdoaWNoIG5lZWQgdG8gYmUgZGlzcGxheWVkIGluIEludGVyYWN0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJRm9jdXMge1xyXG4gIC8qKlxyXG4gICAqIG1ldGFkYXRhIHJlbGF0ZWQgdG8gb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIG9wZXJhdGlvbk1ldGFkYXRhPzogSU1ldGFkYXRhW107XHJcbiAgLyoqXHJcbiAgICogbmFtZSBvZiB0aGUgb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIG9wZXJhdGlvbk5hbWU6IHN0cmluZztcclxuICAvKipcclxuICAgKiBIYW5kbGVyIHdoaWNoIG5lZWRzIHRvIGJlIGludm9rZWQgd2hlbiBzb21lb25lIGNsaWNrcyBvbiB0aGUgb3BlcmF0aW9uIGljb24uXHJcbiAgICovXHJcbiAgaGFuZGxlcjogKG9wZXJhdGlvbk5hbWU6IHN0cmluZywgb3BlcmF0aW9uTWV0YWRhdGE/OiBJTWV0YWRhdGFbXSkgPT4gdm9pZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEl0IGNvbnRhaW5zIE9wZXJhdGlvbiBJY29uIFVSTCBhbmQgaXRzIGhhZGxlcnMgd2hpY2ggbmVlZCB0byBiZSBkaXNwbGF5ZWQgaW4gSW50ZXJhY3Rpb24uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElPcGVyYXRpb24ge1xyXG4gIC8qKlxyXG4gICAqIG1ldGFkYXRhIHJlbGF0ZWQgdG8gb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIG9wZXJhdGlvbk1ldGFkYXRhPzogSU1ldGFkYXRhW107XHJcbiAgLyoqXHJcbiAgICogbmFtZSBvZiB0aGUgb3BlcmF0aW9uLlxyXG4gICAqL1xyXG4gIG9wZXJhdGlvbk5hbWU6IHN0cmluZztcclxuICAvKipcclxuICAgKiBVUkwgZm9yIHRoZSBpY29uIG9mIG9wZXJhdGlvbnMuXHJcbiAgICovXHJcbiAgaWNvbjogVVJMO1xyXG4gIC8qKlxyXG4gICAqIFRpdGxlIHdoaWNoIG5lZWRzIHRvIGJlIGRvaXNwbGF5ZWQgd2hlbiBzb21lb25lIGhvdmVycyBvdmVyIHRoZSBpY29uLlxyXG4gICAqL1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogSGFuZGxlciB3aGljaCBuZWVkcyB0byBiZSBpbnZva2VkIHdoZW4gc29tZW9uZSBjbGlja3Mgb24gdGhlIG9wZXJhdGlvbiBpY29uLlxyXG4gICAqL1xyXG4gIGhhbmRsZXI6IChvcGVyYXRpb25OYW1lOiBzdHJpbmcsIG9wZXJhdGlvbk1ldGFkYXRhPzogSU1ldGFkYXRhW10pID0+IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogQnJvd3NlciBhY2Nlc3NrZXkgdG8ganVtcCBpbnN0YW50bHkgdG8gdGhpcyBvcGVyYXRpb24gU2hvdWxkIGNvbmZvcm0gdG8gQU1DIG5vcm1zIGFuZCBjb25zaXN0IG9mIGEgc2luZ2xlIHByaW50YWJsZSBjaGFyYWN0ZXIuXHJcbiAgICovXHJcbiAgYWNjZXNza2V5Pzogc3RyaW5nXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbnRhaW5zIHByb3BlcnRpZXMgYW5kIG9wZXJhdGlvbnMgdG8gYmUgZGlzcGxheWVkIGZvciBjb25mZXJlbmNlIG1lbWJlci5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBhcnR5IHtcclxuICBoZWFkZXI6IElQYXJ0eUhlYWRlcjtcclxuICBwcm9wZXJ0aWVzOiBQcm9wZXJ0eVtdO1xyXG4gIG9wZXJhdGlvbnM6IElPcGVyYXRpb25bXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIGtleSB2YWx1ZSBwYWlycyB3aGljaCBjYW4gYmUgdXNlZCBhbW9uZ3N0IG90aGVyIGludGVyZmFjZXMvY2xhc3NlcyB0byBzdG9yZSBtZXRhZGF0YSBvZiB0aG9zZSBlbnRpdGllcy5cclxuICovXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElNZXRhZGF0YSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFRoaXMgaW50ZXJmYWNlIGNvbnRhaW5zIGtleSB2YWx1ZSBwYWlycywgc29tZSBjdXN0b20gb3BlcmF0aW9uIHdoaWNoIGdlbmVyYXRlcyBkaXNwbGF5IGtleSBhbmQgZGlzcGxheSB2YWx1ZS5cclxuICogQWxzbyBpdCBpbmNsdWRlcyBjdXN0b20gb3BlcmF0aW9uIGhhbmRsZXIgZm9yIGNsaWNrIGV2ZW50IG9uIHByb3BlcnRpZXMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogS0VZIHZhbHVlIHRvIGJlIGRpc3BsYXllZCBvbiBjb21wb25lbnQuXHJcbiAgICovXHJcbiAgZGlzcGxheUtleT86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogVkFMVUUgdG8gYmUgZGlzcGxheWVkIG9uIGNvbXBvbmVudC5cclxuICAgKi9cclxuICBkaXNwbGF5VmFsdWU/OiBhbnk7XHJcbiAgZGlzcGxheVZhbHVlVHlwZTogVmFsdWVUeXBlO1xyXG4gIHByb3BlcnR5TWV0YWRhdGE/OiBJTWV0YWRhdGFbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2xpY2sgZXZlbnQgaGFuZGxlciBmb3IgcHJvcGVydHkuXHJcbiAgICovXHJcbiAgY3VzdG9tT3BlcmF0aW9ucz86IElFdmVudEhhbmRsZXI7XHJcbiAgLyoqXHJcbiAgICogVGhpcyBmbGFnIGRlY2lkZXMgaWYgUFJPUEVSVFkgd2lsbCBiZSBkaXNwbGF5ZWQgb24gY29tcG9uZW50IG9yIG5vdC5cclxuICAgKi9cclxuICB2aXNpYmxlOiBib29sZWFuO1xyXG59XHJcblxyXG4vKipcclxuICogQSBoZWxwZXIgbWV0aG9kIHRvIG1ha2UgaW5zdGFuY2VzIG9mIFtJUHJvcGVydHldXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgUHJvcGVydHkgaW1wbGVtZW50cyBJUHJvcGVydHkge1xyXG4gIHByaXZhdGUga2V5OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSB2YWx1ZTogYW55O1xyXG4gIC8qKlxyXG4gICAqIEtFWSB2YWx1ZSB0byBiZSBkaXNwbGF5ZWQgb24gY29tcG9uZW50LlxyXG4gICAqL1xyXG4gIGRpc3BsYXlLZXk/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFZBTFVFIHRvIGJlIGRpc3BsYXllZCBvbiBjb21wb25lbnQuXHJcbiAgICovXHJcbiAgZGlzcGxheVZhbHVlPzogYW55O1xyXG4gIGRpc3BsYXlWYWx1ZVR5cGU6IFZhbHVlVHlwZTtcclxuICBwcm9wZXJ0eU1ldGFkYXRhPzogSU1ldGFkYXRhW107XHJcblxyXG4gIC8qKlxyXG4gICAqIENsaWNrIGV2ZW50IGhhbmRsZXIgZm9yIHByb3BlcnR5LlxyXG4gICAqL1xyXG4gIGN1c3RvbU9wZXJhdGlvbnM/OiBJRXZlbnRIYW5kbGVyO1xyXG4gIC8qKlxyXG4gICAqIFRoaXMgZmxhZyBkZWNpZGVzIGlmIFBST1BFUlRZIHdpbGwgYmUgZGlzcGxheWVkIG9uIGNvbXBvbmVudCBvciBub3QuXHJcbiAgICovXHJcbiAgdmlzaWJsZTogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogT3BlcmF0aW9uIHJlc3BvbnNpYmxlIGZvciBnZW5lcmF0aW5nIGRpc3BsYXlLZXkgYW5kIGRpc3BrYXlWYWx1ciBmcm9tIGtleSBhbmQgdmFsdWUuXHJcbiAgICovXHJcbiAgZGlzcGxheU9wZXJhdGlvbjogKCkgPT4gdm9pZCA9ICgpID0+IHtcclxuICAgIHRoaXMuZGlzcGxheUtleSA9IHRoaXMua2V5O1xyXG4gICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0ga2V5XHJcbiAgICogQHBhcmFtIHZhbHVlIDogaWYgdmFsdWUgdHlwZSBpcyBDT1VOVEVSIHRoZW4gdmFsdWUgc2hvdWxkIGJlIHN0YXJ0IHRpbWUgaW4gTWlsbGlTZWNvbmRzLlxyXG4gICAqIEBwYXJhbSB2aXNpYmxlXHJcbiAgICogQHBhcmFtIHZhbHVlVHlwZVxyXG4gICAqIEBwYXJhbSBjdXN0b21PcGVyYXRpb25cclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGtleTogc3RyaW5nLFxyXG4gICAgdmFsdWU6IGFueSxcclxuICAgIHZpc2libGU/OiBib29sZWFuLFxyXG4gICAgdmFsdWVUeXBlPzogVmFsdWVUeXBlLFxyXG4gICAgY3VzdG9tT3BlcmF0aW9uPzogSUV2ZW50SGFuZGxlclxyXG4gICkge1xyXG4gICAgdGhpcy5rZXkgPSBrZXk7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB2aXNpYmxlICE9IG51bGwgPyAodGhpcy52aXNpYmxlID0gdmlzaWJsZSkgOiAodGhpcy52aXNpYmxlID0gdHJ1ZSk7XHJcbiAgICB2YWx1ZVR5cGUgIT0gbnVsbFxyXG4gICAgICA/ICh0aGlzLmRpc3BsYXlWYWx1ZVR5cGUgPSB2YWx1ZVR5cGUpXHJcbiAgICAgIDogKHRoaXMuZGlzcGxheVZhbHVlVHlwZSA9IFZhbHVlVHlwZS5TVFJJTkcpO1xyXG4gICAgdGhpcy5jdXN0b21PcGVyYXRpb25zID0gY3VzdG9tT3BlcmF0aW9uO1xyXG4gICAgdGhpcy5kaXNwbGF5T3BlcmF0aW9uKCk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogSW50ZXJmYWNlIHdoaWNoIGNvbnRhaW5zIGV2ZW50TmFtZSBhbmQgaGFuZGxlciBhc3NvY2lhdGVkIHdpdGggaXQuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElFdmVudEhhbmRsZXIge1xyXG4gIGV2ZW50TmFtZTogc3RyaW5nO1xyXG4gIGhhbmRsZXI6IChldmVudE5hbWU6IHN0cmluZywgZXZlbnRNZXRhZGF0YT86IElNZXRhZGF0YVtdKSA9PiB2b2lkO1xyXG4gIGV2ZW50TWV0YWRhdGE/OiBJTWV0YWRhdGFbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIGVudW0gZm9yIFZhbHVlIHR5cGVzIG9mIFBST1BFUlRZLlxyXG4gKi9cclxuZXhwb3J0IGVudW0gVmFsdWVUeXBlIHtcclxuICBTVFJJTkcsXHJcbiAgQ09VTlRFUlxyXG59XHJcbiJdfQ==
|