kwikid-forms 0.0.1 → 0.0.3

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.
@@ -6,6 +6,7 @@ import * as i2 from "@taiga-ui/core";
6
6
  import * as i3 from "@angular/common";
7
7
  export class KwikIDFormsListComponent {
8
8
  constructor() {
9
+ this.userConfig = {};
9
10
  this.formsList = [];
10
11
  this.formsListCompleted = [];
11
12
  this.isMobileView = false;
@@ -37,7 +38,7 @@ export class KwikIDFormsListComponent {
37
38
  }
38
39
  }
39
40
  /** @nocollapse */ KwikIDFormsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDFormsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
- /** @nocollapse */ KwikIDFormsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: { formsList: "formsList", formsListCompleted: "formsListCompleted", isMobileView: "isMobileView" }, outputs: { onClickSetActiveForm: "onClickSetActiveForm", onClickHideFormsList: "onClickHideFormsList", onClickSubmitForms: "onClickSubmitForms" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"sidebar-container\">\r\n <div id=\"sidebar\">\r\n <div id=\"uf-progress\">\r\n <div id=\"uf-progress-steps\">\r\n {{ this.formsListCompleted.length }} / {{ this.formsList.length }} Steps\r\n Completed\r\n </div>\r\n <kwikui-progress-segmented\r\n [max]=\"this.formsList.length\"\r\n size=\"m\"\r\n [value]=\"this.formsListCompleted.length\"\r\n ></kwikui-progress-segmented>\r\n </div>\r\n <div id=\"uf-sections-container\">\r\n <div\r\n *ngFor=\"let form of formsList; let i = index\"\r\n [class]=\"'uf-section-item'\"\r\n [class.completed]=\"form.status === 'completed' && !form.disabled\"\r\n [class.edit]=\"form.status !== 'completed' && !form.disabled\"\r\n [class.locked]=\"form.status !== 'completed' && form.disabled\"\r\n (click)=\"\r\n form.status !== 'completed' && form.disabled\r\n ? undefined\r\n : handleOnClickSetActiveForm(form.key)\r\n \"\r\n >\r\n <div class=\"uf-form-section-card-title\">\r\n {{ form.title }}\r\n </div>\r\n <div class=\"uf-form-section-card-action\">\r\n <div\r\n *ngIf=\"form.status === 'completed' && !form.disabled\"\r\n class=\"uf-form-section-card-action-img completed\"\r\n >\r\n <tui-svg src=\"tuiIconCheckLarge\"></tui-svg>\r\n <!-- <img class=\"completed\" src=\"assets/done1.png\" /> -->\r\n </div>\r\n <div\r\n *ngIf=\"form.status !== 'completed' && !form.disabled\"\r\n class=\"uf-form-section-card-action-img edit\"\r\n >\r\n <tui-svg src=\"tuiIconEdit\"></tui-svg>\r\n <!-- <img class=\"active\" src=\"assets/edit.png\" /> -->\r\n </div>\r\n <div\r\n *ngIf=\"form.status !== 'completed' && form.disabled\"\r\n class=\"uf-form-section-card-action-img locked\"\r\n >\r\n <tui-svg src=\"tuiIconLock\"></tui-svg>\r\n <!-- <img class=\"disabled\" src=\"assets/lock.png\" /> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div id=\"submit-sidebar-btn-container\">\r\n <kwikui-button\r\n [disabled]=\"false\"\r\n id=\"\"\r\n label=\"Submit\"\r\n [showLoader]=\"false\"\r\n styles=\"\"\r\n class=\"\"\r\n type=\"button\"\r\n appearance=\"primary\"\r\n icon=\"\"\r\n iconRight=\"\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: 100%\"\r\n (onClick)=\"handleOnSubmitForms($event)\"\r\n ></kwikui-button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}#sidebar-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}#sidebar{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch}.uf-section-item{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;align-content:center;padding:1rem;grid-gap:1rem;gap:1rem;cursor:pointer;box-shadow:0 .1rem .5rem -.25rem gray;border-radius:.5rem;background-color:var(--tui-base-02)}.uf-section-item:hover{box-shadow:0 .2rem .75rem -.5rem #656565}#submit-sidebar-btn-container{width:100%;bottom:0px;z-index:1;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-gap:1rem;gap:1rem}#submit-sidebar-btn-container *{flex-grow:1}#uf-sections-container{display:flex;flex-direction:column;height:100%;grid-row-gap:20px;row-gap:20px;padding:1rem;overflow-y:auto}.uf-form-section-card{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:10px;column-gap:10px;border:none;border-radius:8px;background-color:#e9e9e9;height:-moz-fit-content;height:fit-content;min-height:60px;padding:10px 15px;width:100%;max-width:350px;margin:0 auto}.uf-section-item.locked{-webkit-user-select:none;user-select:none;cursor:not-allowed}.uf-form-section-card .uf-form-section-card-title{font-size:1.2em;text-align:left;line-height:1.25em}.uf-form-section-card .uf-form-section-card-action{width:30px;height:30px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.uf-form-section-card .uf-form-section-card-action .uf-form-section-card-action-img{width:30px;height:30px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;border-radius:100%;color:#fff;font-weight:bold}.uf-form-section-card-action-img.completed{background-color:#228b22;padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-action-img.edit{background-color:#dc143c;padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-action-img.locked{background-color:gray;padding:.25rem;border-radius:50%;color:#fff}#uf-progress{display:flex;padding:1rem;flex-direction:column;align-content:center;justify-content:center;align-items:stretch;grid-gap:.5rem;gap:.5rem}#uf-progress-steps{font-size:1em;text-align:right;color:#3d3d3d}.uf-form-section-card-title{font-size:1em;font-weight:bold;color:#121212}@media screen and (max-width: 600px){#sidebar-container{max-width:unset}}\n"], components: [{ type: i1.KwikUIProgressSegmentedComponent, selector: "kwikui-progress-segmented", inputs: ["value", "max", "size", "colors"] }, { type: i2.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
41
+ /** @nocollapse */ KwikIDFormsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: { userConfig: "userConfig", formsList: "formsList", formsListCompleted: "formsListCompleted", isMobileView: "isMobileView" }, outputs: { onClickSetActiveForm: "onClickSetActiveForm", onClickHideFormsList: "onClickHideFormsList", onClickSubmitForms: "onClickSubmitForms" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"sidebar-container\">\r\n <div id=\"sidebar\">\r\n <div ngClass=\"kwikid-form-header\">\r\n <div id=\"uf-header\">\r\n <div id=\"uf-header-logo-container\">\r\n <img\r\n id=\"uf-header-logo\"\r\n src=\"{{ this.userConfig.theme.clientLogo }}\"\r\n [ngClass]=\"'large-icon'\"\r\n />\r\n </div>\r\n </div>\r\n <hr />\r\n </div>\r\n <div id=\"uf-progress\">\r\n <div id=\"uf-progress-steps\">\r\n {{ this.formsListCompleted.length }} / {{ this.formsList.length }} Steps\r\n Completed\r\n </div>\r\n <kwikui-progress-segmented\r\n [max]=\"this.formsList.length\"\r\n size=\"m\"\r\n [value]=\"this.formsListCompleted.length\"\r\n ></kwikui-progress-segmented>\r\n </div>\r\n <div id=\"uf-sections-container\">\r\n <div\r\n *ngFor=\"let form of formsList; let i = index\"\r\n [class]=\"'uf-section-item'\"\r\n [class.completed]=\"form.status === 'completed' && !form.disabled\"\r\n [class.edit]=\"form.status !== 'completed' && !form.disabled\"\r\n [class.locked]=\"form.status !== 'completed' && form.disabled\"\r\n (click)=\"\r\n form.status !== 'completed' && form.disabled\r\n ? undefined\r\n : handleOnClickSetActiveForm(form.key)\r\n \"\r\n >\r\n <div class=\"uf-form-section-card-title\">\r\n {{ form.title }}\r\n </div>\r\n <div class=\"uf-form-section-card-action\">\r\n <div\r\n *ngIf=\"form.status === 'completed' && !form.disabled\"\r\n class=\"uf-form-section-card-action-img completed\"\r\n >\r\n <tui-svg src=\"tuiIconCheckLarge\"></tui-svg>\r\n </div>\r\n <div\r\n *ngIf=\"form.status !== 'completed' && !form.disabled\"\r\n class=\"uf-form-section-card-action-img edit\"\r\n >\r\n <tui-svg src=\"tuiIconEdit\"></tui-svg>\r\n </div>\r\n <div\r\n *ngIf=\"form.status !== 'completed' && form.disabled\"\r\n class=\"uf-form-section-card-action-img locked\"\r\n >\r\n <tui-svg src=\"tuiIconLock\"></tui-svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div id=\"submit-sidebar-btn-container\">\r\n <kwikui-button\r\n [disabled]=\"false\"\r\n id=\"\"\r\n label=\"Submit\"\r\n [showLoader]=\"false\"\r\n styles=\"\"\r\n class=\"\"\r\n type=\"button\"\r\n appearance=\"primary\"\r\n icon=\"\"\r\n iconRight=\"\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: 100%\"\r\n (onClick)=\"handleOnSubmitForms($event)\"\r\n ></kwikui-button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}#sidebar-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}#sidebar{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch}.uf-section-item{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;align-content:center;padding:1rem;grid-gap:1rem;gap:1rem;cursor:pointer;box-shadow:0 .1rem .5rem -.25rem gray;border-radius:.5rem;background-color:var(--tui-base-02)}.uf-section-item:hover{box-shadow:0 .2rem .75rem -.5rem #656565}#submit-sidebar-btn-container{width:100%;bottom:0px;z-index:1;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-gap:1rem;gap:1rem}#submit-sidebar-btn-container *{flex-grow:1}#uf-sections-container{display:flex;flex-direction:column;height:100%;grid-row-gap:20px;row-gap:20px;padding:1rem;overflow-y:auto}.uf-form-section-card{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:10px;column-gap:10px;border:none;border-radius:8px;background-color:#e9e9e9;height:-moz-fit-content;height:fit-content;min-height:60px;padding:10px 15px;width:100%;max-width:350px;margin:0 auto}.uf-section-item.locked{-webkit-user-select:none;user-select:none;cursor:not-allowed}.uf-form-section-card .uf-form-section-card-title{font-size:1.2em;text-align:left;line-height:1.25em}.uf-form-section-card .uf-form-section-card-action{width:30px;height:30px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.uf-form-section-card .uf-form-section-card-action .uf-form-section-card-action-img{width:30px;height:30px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;border-radius:100%;color:#fff;font-weight:bold}.uf-form-section-card-action-img.completed{background-color:#228b22;padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-action-img.edit{background-color:#dc143c;padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-action-img.locked{background-color:gray;padding:.25rem;border-radius:50%;color:#fff}#uf-progress{display:flex;padding:1rem;flex-direction:column;align-content:center;justify-content:center;align-items:stretch;grid-gap:.5rem;gap:.5rem}#uf-progress-steps{font-size:1em;text-align:right;color:#3d3d3d}.uf-form-section-card-title{font-size:1em;font-weight:bold;color:#121212}@media screen and (max-width: 600px){#sidebar-container{max-width:unset}}.kwikid-form-header{height:70px;z-index:6}.kwikid-form-header hr{width:calc(100% - 1rem);margin-left:auto;margin-right:auto}#uf-header{display:flex;flex-direction:row;align-content:center;align-items:center;justify-content:flex-start;grid-column-gap:10px;column-gap:10px;padding:10px 20px;width:100%;max-width:calc(400px + 50vw + 2rem);margin:0 auto;height:70px;z-index:1}#uf-header #uf-header-goback-container{display:none}#uf-header #uf-header-goback-container:hover{border-radius:50%;background-color:#d3d3d3}#uf-header #uf-header-goback-container #uf-header-goback{width:100%;height:auto}#uf-header #uf-header-logo-container{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}#uf-header #uf-header-logo-container #uf-header-logo.small-icon{width:100%;height:50px}#uf-header #uf-header-logo-container #uf-header-logo.large-icon{width:100%;height:50px}#uf-header #uf-header-title-container{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;grid-row-gap:4px;row-gap:4px}#uf-header #uf-header-title-container #uf-header-title{font-size:1.4em;color:#121212}#uf-header #uf-header-title-container #uf-header-subtitle{font-size:1.2em;color:#121212}\n"], components: [{ type: i1.KwikUIProgressSegmentedComponent, selector: "kwikui-progress-segmented", inputs: ["value", "max", "size", "colors"] }, { type: i2.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
41
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDFormsListComponent, decorators: [{
42
43
  type: Component,
43
44
  args: [{
@@ -45,7 +46,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
45
46
  templateUrl: "./forms-list.component.html",
46
47
  styleUrls: ["./forms-list.component.scss"]
47
48
  }]
48
- }], ctorParameters: function () { return []; }, propDecorators: { formsList: [{
49
+ }], ctorParameters: function () { return []; }, propDecorators: { userConfig: [{
50
+ type: Input
51
+ }], formsList: [{
49
52
  type: Input
50
53
  }], formsListCompleted: [{
51
54
  type: Input
@@ -58,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
58
61
  }], onClickSubmitForms: [{
59
62
  type: Output
60
63
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9yZW5kZXJlci9mb3Jtcy1saXN0L2Zvcm1zLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvZm9ybXMtbGlzdC9mb3Jtcy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQU83QyxNQUFNLE9BQU8sd0JBQXdCO0lBcUJuQztRQW5CQSxjQUFTLEdBQVUsRUFBRSxDQUFDO1FBR3RCLHVCQUFrQixHQUFVLEVBQUUsQ0FBQztRQUcvQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUc5Qix5QkFBb0IsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUdsRSx5QkFBb0IsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUdsRSx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTdDLGlCQUFZLEdBQVcsRUFBRSxDQUFDO0lBRVgsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQztJQUVuQixXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNuQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQzNELENBQUMsQ0FBQztRQUNGLElBQUksWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7U0FDakQ7UUFDRCxJQUFJLFlBQVksQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELDBCQUEwQixDQUFDLFlBQW9CO1FBQzdDLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxZQUFZLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7WUFDakMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM5QztJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7eUlBOUNVLHdCQUF3Qjs2SEFBeEIsd0JBQXdCLDZVQ2hCckMsK3FGQTBFQTs0RkQxRGEsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFdBQVcsRUFBRSw2QkFBNkI7b0JBQzFDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2lCQUMzQzswRUFHQyxTQUFTO3NCQURSLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixvQkFBb0I7c0JBRG5CLE1BQU07Z0JBSVAsb0JBQW9CO3NCQURuQixNQUFNO2dCQUlQLGtCQUFrQjtzQkFEakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgaGFzS2V5IH0gZnJvbSBcIi4vZm9ybXMtbGlzdC5oZWxwZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImt3aWtpZC1mb3Jtcy1saXN0XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9mb3Jtcy1saXN0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2Zvcm1zLWxpc3QuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEt3aWtJREZvcm1zTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKVxyXG4gIGZvcm1zTGlzdDogYW55W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBmb3Jtc0xpc3RDb21wbGV0ZWQ6IGFueVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaXNNb2JpbGVWaWV3OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ2xpY2tTZXRBY3RpdmVGb3JtOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkNsaWNrSGlkZUZvcm1zTGlzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25DbGlja1N1Ym1pdEZvcm1zID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHNlbGVjdGVkRm9ybTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHZlcmlmeUNoYW5nZSA9IChrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICByZXR1cm4gaGFzS2V5KGNoYW5nZXMsIGtleSkgJiYgIWNoYW5nZXNba2V5XS5maXJzdENoYW5nZTtcclxuICAgIH07XHJcbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiZm9ybXNMaXN0XCIpKSB7XHJcbiAgICAgIHRoaXMuZm9ybXNMaXN0ID0gY2hhbmdlcy5mb3Jtc0xpc3QuY3VycmVudFZhbHVlO1xyXG4gICAgfVxyXG4gICAgaWYgKHZlcmlmeUNoYW5nZShcImlzTW9iaWxlVmlld1wiKSkge1xyXG4gICAgICB0aGlzLmlzTW9iaWxlVmlldyA9IGNoYW5nZXMuaXNNb2JpbGVWaWV3LmN1cnJlbnRWYWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZU9uQ2xpY2tTZXRBY3RpdmVGb3JtKHNlbGVjdGVkRm9ybTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZEZvcm0gIT09IHNlbGVjdGVkRm9ybSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRm9ybSA9IHNlbGVjdGVkRm9ybTtcclxuICAgICAgdGhpcy5vbkNsaWNrU2V0QWN0aXZlRm9ybS5lbWl0KHNlbGVjdGVkRm9ybSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVPblN1Ym1pdEZvcm1zKGU6IGFueSkge1xyXG4gICAgdGhpcy5vbkNsaWNrU3VibWl0Rm9ybXMuZW1pdChlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBpZD1cInNpZGViYXItY29udGFpbmVyXCI+XHJcbiAgPGRpdiBpZD1cInNpZGViYXJcIj5cclxuICAgIDxkaXYgaWQ9XCJ1Zi1wcm9ncmVzc1wiPlxyXG4gICAgICA8ZGl2IGlkPVwidWYtcHJvZ3Jlc3Mtc3RlcHNcIj5cclxuICAgICAgICB7eyB0aGlzLmZvcm1zTGlzdENvbXBsZXRlZC5sZW5ndGggfX0gLyB7eyB0aGlzLmZvcm1zTGlzdC5sZW5ndGggfX0gU3RlcHNcclxuICAgICAgICBDb21wbGV0ZWRcclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxrd2lrdWktcHJvZ3Jlc3Mtc2VnbWVudGVkXHJcbiAgICAgICAgW21heF09XCJ0aGlzLmZvcm1zTGlzdC5sZW5ndGhcIlxyXG4gICAgICAgIHNpemU9XCJtXCJcclxuICAgICAgICBbdmFsdWVdPVwidGhpcy5mb3Jtc0xpc3RDb21wbGV0ZWQubGVuZ3RoXCJcclxuICAgICAgPjwva3dpa3VpLXByb2dyZXNzLXNlZ21lbnRlZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBpZD1cInVmLXNlY3Rpb25zLWNvbnRhaW5lclwiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGZvcm0gb2YgZm9ybXNMaXN0OyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICBbY2xhc3NdPVwiJ3VmLXNlY3Rpb24taXRlbSdcIlxyXG4gICAgICAgIFtjbGFzcy5jb21wbGV0ZWRdPVwiZm9ybS5zdGF0dXMgPT09ICdjb21wbGV0ZWQnICYmICFmb3JtLmRpc2FibGVkXCJcclxuICAgICAgICBbY2xhc3MuZWRpdF09XCJmb3JtLnN0YXR1cyAhPT0gJ2NvbXBsZXRlZCcgJiYgIWZvcm0uZGlzYWJsZWRcIlxyXG4gICAgICAgIFtjbGFzcy5sb2NrZWRdPVwiZm9ybS5zdGF0dXMgIT09ICdjb21wbGV0ZWQnICYmIGZvcm0uZGlzYWJsZWRcIlxyXG4gICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgIGZvcm0uc3RhdHVzICE9PSAnY29tcGxldGVkJyAmJiBmb3JtLmRpc2FibGVkXHJcbiAgICAgICAgICAgID8gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgIDogaGFuZGxlT25DbGlja1NldEFjdGl2ZUZvcm0oZm9ybS5rZXkpXHJcbiAgICAgICAgXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1Zi1mb3JtLXNlY3Rpb24tY2FyZC10aXRsZVwiPlxyXG4gICAgICAgICAge3sgZm9ybS50aXRsZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1Zi1mb3JtLXNlY3Rpb24tY2FyZC1hY3Rpb25cIj5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtLnN0YXR1cyA9PT0gJ2NvbXBsZXRlZCcgJiYgIWZvcm0uZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInVmLWZvcm0tc2VjdGlvbi1jYXJkLWFjdGlvbi1pbWcgY29tcGxldGVkXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHR1aS1zdmcgc3JjPVwidHVpSWNvbkNoZWNrTGFyZ2VcIj48L3R1aS1zdmc+XHJcbiAgICAgICAgICAgIDwhLS0gPGltZyBjbGFzcz1cImNvbXBsZXRlZFwiIHNyYz1cImFzc2V0cy9kb25lMS5wbmdcIiAvPiAtLT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdJZj1cImZvcm0uc3RhdHVzICE9PSAnY29tcGxldGVkJyAmJiAhZm9ybS5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwidWYtZm9ybS1zZWN0aW9uLWNhcmQtYWN0aW9uLWltZyBlZGl0XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHR1aS1zdmcgc3JjPVwidHVpSWNvbkVkaXRcIj48L3R1aS1zdmc+XHJcbiAgICAgICAgICAgIDwhLS0gPGltZyBjbGFzcz1cImFjdGl2ZVwiIHNyYz1cImFzc2V0cy9lZGl0LnBuZ1wiIC8+IC0tPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9ybS5zdGF0dXMgIT09ICdjb21wbGV0ZWQnICYmIGZvcm0uZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInVmLWZvcm0tc2VjdGlvbi1jYXJkLWFjdGlvbi1pbWcgbG9ja2VkXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHR1aS1zdmcgc3JjPVwidHVpSWNvbkxvY2tcIj48L3R1aS1zdmc+XHJcbiAgICAgICAgICAgIDwhLS0gPGltZyBjbGFzcz1cImRpc2FibGVkXCIgc3JjPVwiYXNzZXRzL2xvY2sucG5nXCIgLz4gLS0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgaWQ9XCJzdWJtaXQtc2lkZWJhci1idG4tY29udGFpbmVyXCI+XHJcbiAgICAgIDxrd2lrdWktYnV0dG9uXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcclxuICAgICAgICBpZD1cIlwiXHJcbiAgICAgICAgbGFiZWw9XCJTdWJtaXRcIlxyXG4gICAgICAgIFtzaG93TG9hZGVyXT1cImZhbHNlXCJcclxuICAgICAgICBzdHlsZXM9XCJcIlxyXG4gICAgICAgIGNsYXNzPVwiXCJcclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICBhcHBlYXJhbmNlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgaWNvbj1cIlwiXHJcbiAgICAgICAgaWNvblJpZ2h0PVwiXCJcclxuICAgICAgICBzaGFwZT1cIm51bGxcIlxyXG4gICAgICAgIHNpemU9XCJtXCJcclxuICAgICAgICBzdHlsZXM9XCJ3aWR0aDogMTAwJVwiXHJcbiAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlT25TdWJtaXRGb3JtcygkZXZlbnQpXCJcclxuICAgICAgPjwva3dpa3VpLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9yZW5kZXJlci9mb3Jtcy1saXN0L2Zvcm1zLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvZm9ybXMtbGlzdC9mb3Jtcy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQU83QyxNQUFNLE9BQU8sd0JBQXdCO0lBd0JuQztRQXRCQSxlQUFVLEdBQVEsRUFBRSxDQUFDO1FBR3JCLGNBQVMsR0FBVSxFQUFFLENBQUM7UUFHdEIsdUJBQWtCLEdBQVUsRUFBRSxDQUFDO1FBRy9CLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRzlCLHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBR2xFLHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBR2xFLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFN0MsaUJBQVksR0FBVyxFQUFFLENBQUM7SUFFWCxDQUFDO0lBRWhCLFFBQVEsS0FBVSxDQUFDO0lBRW5CLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQ25DLE9BQU8sTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDM0QsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztTQUNqRDtRQUNELElBQUksWUFBWSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsWUFBb0I7UUFDN0MsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFlBQVksRUFBRTtZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztZQUNqQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUVELG1CQUFtQixDQUFDLENBQU07UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQyxDQUFDOzt5SUFqRFUsd0JBQXdCOzZIQUF4Qix3QkFBd0IsdVdDaEJyQywwekZBbUZBOzRGRG5FYSx3QkFBd0I7a0JBTHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLDZCQUE2QjtvQkFDMUMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7aUJBQzNDOzBFQUdDLFVBQVU7c0JBRFQsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixvQkFBb0I7c0JBRG5CLE1BQU07Z0JBSVAsb0JBQW9CO3NCQURuQixNQUFNO2dCQUlQLGtCQUFrQjtzQkFEakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgaGFzS2V5IH0gZnJvbSBcIi4vZm9ybXMtbGlzdC5oZWxwZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImt3aWtpZC1mb3Jtcy1saXN0XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9mb3Jtcy1saXN0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2Zvcm1zLWxpc3QuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEt3aWtJREZvcm1zTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKVxyXG4gIHVzZXJDb25maWc6IGFueSA9IHt9O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGZvcm1zTGlzdDogYW55W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBmb3Jtc0xpc3RDb21wbGV0ZWQ6IGFueVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaXNNb2JpbGVWaWV3OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ2xpY2tTZXRBY3RpdmVGb3JtOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkNsaWNrSGlkZUZvcm1zTGlzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25DbGlja1N1Ym1pdEZvcm1zID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHNlbGVjdGVkRm9ybTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHZlcmlmeUNoYW5nZSA9IChrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICByZXR1cm4gaGFzS2V5KGNoYW5nZXMsIGtleSkgJiYgIWNoYW5nZXNba2V5XS5maXJzdENoYW5nZTtcclxuICAgIH07XHJcbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiZm9ybXNMaXN0XCIpKSB7XHJcbiAgICAgIHRoaXMuZm9ybXNMaXN0ID0gY2hhbmdlcy5mb3Jtc0xpc3QuY3VycmVudFZhbHVlO1xyXG4gICAgfVxyXG4gICAgaWYgKHZlcmlmeUNoYW5nZShcImlzTW9iaWxlVmlld1wiKSkge1xyXG4gICAgICB0aGlzLmlzTW9iaWxlVmlldyA9IGNoYW5nZXMuaXNNb2JpbGVWaWV3LmN1cnJlbnRWYWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZU9uQ2xpY2tTZXRBY3RpdmVGb3JtKHNlbGVjdGVkRm9ybTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZEZvcm0gIT09IHNlbGVjdGVkRm9ybSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRm9ybSA9IHNlbGVjdGVkRm9ybTtcclxuICAgICAgdGhpcy5vbkNsaWNrU2V0QWN0aXZlRm9ybS5lbWl0KHNlbGVjdGVkRm9ybSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVPblN1Ym1pdEZvcm1zKGU6IGFueSkge1xyXG4gICAgdGhpcy5vbkNsaWNrU3VibWl0Rm9ybXMuZW1pdChlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBpZD1cInNpZGViYXItY29udGFpbmVyXCI+XHJcbiAgPGRpdiBpZD1cInNpZGViYXJcIj5cclxuICAgIDxkaXYgbmdDbGFzcz1cImt3aWtpZC1mb3JtLWhlYWRlclwiPlxyXG4gICAgICA8ZGl2IGlkPVwidWYtaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdiBpZD1cInVmLWhlYWRlci1sb2dvLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICBpZD1cInVmLWhlYWRlci1sb2dvXCJcclxuICAgICAgICAgICAgc3JjPVwie3sgdGhpcy51c2VyQ29uZmlnLnRoZW1lLmNsaWVudExvZ28gfX1cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCInbGFyZ2UtaWNvbidcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxociAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGlkPVwidWYtcHJvZ3Jlc3NcIj5cclxuICAgICAgPGRpdiBpZD1cInVmLXByb2dyZXNzLXN0ZXBzXCI+XHJcbiAgICAgICAge3sgdGhpcy5mb3Jtc0xpc3RDb21wbGV0ZWQubGVuZ3RoIH19IC8ge3sgdGhpcy5mb3Jtc0xpc3QubGVuZ3RoIH19IFN0ZXBzXHJcbiAgICAgICAgQ29tcGxldGVkXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8a3dpa3VpLXByb2dyZXNzLXNlZ21lbnRlZFxyXG4gICAgICAgIFttYXhdPVwidGhpcy5mb3Jtc0xpc3QubGVuZ3RoXCJcclxuICAgICAgICBzaXplPVwibVwiXHJcbiAgICAgICAgW3ZhbHVlXT1cInRoaXMuZm9ybXNMaXN0Q29tcGxldGVkLmxlbmd0aFwiXHJcbiAgICAgID48L2t3aWt1aS1wcm9ncmVzcy1zZWdtZW50ZWQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgaWQ9XCJ1Zi1zZWN0aW9ucy1jb250YWluZXJcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBmb3JtIG9mIGZvcm1zTGlzdDsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgW2NsYXNzXT1cIid1Zi1zZWN0aW9uLWl0ZW0nXCJcclxuICAgICAgICBbY2xhc3MuY29tcGxldGVkXT1cImZvcm0uc3RhdHVzID09PSAnY29tcGxldGVkJyAmJiAhZm9ybS5kaXNhYmxlZFwiXHJcbiAgICAgICAgW2NsYXNzLmVkaXRdPVwiZm9ybS5zdGF0dXMgIT09ICdjb21wbGV0ZWQnICYmICFmb3JtLmRpc2FibGVkXCJcclxuICAgICAgICBbY2xhc3MubG9ja2VkXT1cImZvcm0uc3RhdHVzICE9PSAnY29tcGxldGVkJyAmJiBmb3JtLmRpc2FibGVkXCJcclxuICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICBmb3JtLnN0YXR1cyAhPT0gJ2NvbXBsZXRlZCcgJiYgZm9ybS5kaXNhYmxlZFxyXG4gICAgICAgICAgICA/IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICA6IGhhbmRsZU9uQ2xpY2tTZXRBY3RpdmVGb3JtKGZvcm0ua2V5KVxyXG4gICAgICAgIFwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidWYtZm9ybS1zZWN0aW9uLWNhcmQtdGl0bGVcIj5cclxuICAgICAgICAgIHt7IGZvcm0udGl0bGUgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidWYtZm9ybS1zZWN0aW9uLWNhcmQtYWN0aW9uXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9ybS5zdGF0dXMgPT09ICdjb21wbGV0ZWQnICYmICFmb3JtLmRpc2FibGVkXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJ1Zi1mb3JtLXNlY3Rpb24tY2FyZC1hY3Rpb24taW1nIGNvbXBsZXRlZFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDx0dWktc3ZnIHNyYz1cInR1aUljb25DaGVja0xhcmdlXCI+PC90dWktc3ZnPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9ybS5zdGF0dXMgIT09ICdjb21wbGV0ZWQnICYmICFmb3JtLmRpc2FibGVkXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJ1Zi1mb3JtLXNlY3Rpb24tY2FyZC1hY3Rpb24taW1nIGVkaXRcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8dHVpLXN2ZyBzcmM9XCJ0dWlJY29uRWRpdFwiPjwvdHVpLXN2Zz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdJZj1cImZvcm0uc3RhdHVzICE9PSAnY29tcGxldGVkJyAmJiBmb3JtLmRpc2FibGVkXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJ1Zi1mb3JtLXNlY3Rpb24tY2FyZC1hY3Rpb24taW1nIGxvY2tlZFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDx0dWktc3ZnIHNyYz1cInR1aUljb25Mb2NrXCI+PC90dWktc3ZnPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGlkPVwic3VibWl0LXNpZGViYXItYnRuLWNvbnRhaW5lclwiPlxyXG4gICAgICA8a3dpa3VpLWJ1dHRvblxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgaWQ9XCJcIlxyXG4gICAgICAgIGxhYmVsPVwiU3VibWl0XCJcclxuICAgICAgICBbc2hvd0xvYWRlcl09XCJmYWxzZVwiXHJcbiAgICAgICAgc3R5bGVzPVwiXCJcclxuICAgICAgICBjbGFzcz1cIlwiXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgYXBwZWFyYW5jZT1cInByaW1hcnlcIlxyXG4gICAgICAgIGljb249XCJcIlxyXG4gICAgICAgIGljb25SaWdodD1cIlwiXHJcbiAgICAgICAgc2hhcGU9XCJudWxsXCJcclxuICAgICAgICBzaXplPVwibVwiXHJcbiAgICAgICAgc3R5bGVzPVwid2lkdGg6IDEwMCVcIlxyXG4gICAgICAgIChvbkNsaWNrKT1cImhhbmRsZU9uU3VibWl0Rm9ybXMoJGV2ZW50KVwiXHJcbiAgICAgID48L2t3aWt1aS1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -15,6 +15,7 @@ export class KwikIDFormsRendererComponent {
15
15
  this.hostElement = hostElement;
16
16
  this.formsData = {};
17
17
  this.apiCallResponse = {};
18
+ this.onClickSubmit = new EventEmitter();
18
19
  this.getFormData = new EventEmitter();
19
20
  this.onClickApiCall = new EventEmitter();
20
21
  this.loading = false;
@@ -104,7 +105,9 @@ export class KwikIDFormsRendererComponent {
104
105
  }
105
106
  // forms-list listener
106
107
  handleOnClickSetActiveForm(selectedForm) {
108
+ var _a;
107
109
  return __awaiter(this, void 0, void 0, function* () {
110
+ this.showForm = false;
108
111
  const activeFormConfig = this.rendererService.formsList.find((form) => {
109
112
  if (form.key === selectedForm) {
110
113
  return form;
@@ -112,7 +115,8 @@ export class KwikIDFormsRendererComponent {
112
115
  });
113
116
  let formConfig = yield this.rendererService.fetchFormConfig(activeFormConfig.formContent.url);
114
117
  formConfig = new Converter().convertFormConfig(formConfig);
115
- this.rendererService.setActiveFormData(this.rendererService.allFormsData[formConfig.key]);
118
+ const activeFormData = (_a = this.rendererService.allFormsData[formConfig.key]) !== null && _a !== void 0 ? _a : {};
119
+ this.rendererService.setActiveFormData(activeFormData);
116
120
  this.rendererService.setActiveFormConfig(Object.assign(Object.assign({}, activeFormConfig), formConfig));
117
121
  if (this.hostElement.nativeElement.offsetWidth < 600) {
118
122
  this.showFormSections = false;
@@ -128,6 +132,7 @@ export class KwikIDFormsRendererComponent {
128
132
  // forms-list listener
129
133
  handleOnClickSubmitForms(e) {
130
134
  console.log(e);
135
+ this.onClickSubmit.emit(e);
131
136
  }
132
137
  // form-view listener
133
138
  handleOnClickApiCall(e) {
@@ -141,20 +146,20 @@ export class KwikIDFormsRendererComponent {
141
146
  }
142
147
  // form-view listener
143
148
  handleOnClickSaveForm(e) {
149
+ this.rendererService.setActiveFormData({});
144
150
  this.getFormData.emit({
145
151
  [this.rendererService.activeFormConfig.key]: e["data"]
146
152
  });
147
153
  }
148
154
  // form-view listener
149
155
  handleOnClickViewForms(e) {
150
- console.log(e);
151
156
  this.showFormSections = true;
152
157
  this.showForm = false;
153
158
  this.showFormFields = false;
154
159
  }
155
160
  }
156
161
  /** @nocollapse */ KwikIDFormsRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDFormsRendererComponent, deps: [{ token: i1.KwikIDRendererService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
157
- /** @nocollapse */ KwikIDFormsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: KwikIDFormsRendererComponent, selector: "kwikid-forms-renderer", inputs: { userConfig: "userConfig", formsData: "formsData", apiCallResponse: "apiCallResponse" }, outputs: { getFormData: "getFormData", onClickApiCall: "onClickApiCall" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, providers: [KwikIDRendererService], usesOnChanges: true, ngImport: i0, template: "<div ngClass=\"kwikid-renderer\">\r\n <div ngClass=\"kwikid-form-header\">\r\n <div id=\"uf-header\">\r\n <div id=\"uf-header-logo-container\">\r\n <img\r\n id=\"uf-header-logo\"\r\n src=\"https://kwikid.s3.ap-south-1.amazonaws.com/CONFIG/USER/assets/logo/kwikid/kwikid-logo-favicon-32x32.png\"\r\n [ngClass]=\"showForm ? 'small-icon' : 'large-icon'\"\r\n />\r\n </div>\r\n <div id=\"uf-header-title-container\">\r\n <div id=\"uf-header-title\">Customer Registration</div>\r\n <div id=\"uf-header-subtitle\">\r\n {{ \"Central Bank of India\" }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n ngClass=\"kwikid-layout-container\"\r\n *ngIf=\"!loading\"\r\n >\r\n <div\r\n ngClass=\"kwikid-sections-container\"\r\n *ngIf=\"showFormSections\"\r\n class=\"active\"\r\n [class.active]=\"showFormSections\"\r\n [class.mobile]=\"rendererService.isMobileView\"\r\n >\r\n <kwikid-forms-list\r\n [formsList]=\"this.rendererService.formsList\"\r\n [formsListCompleted]=\"this.rendererService.formsListCompleted\"\r\n [isMobileView]=\"this.rendererService.isMobileView\"\r\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\r\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\r\n ></kwikid-forms-list>\r\n </div>\r\n <div\r\n ngClass=\"kwikid-forms-container\"\r\n *ngIf=\"this.showForm && this.showFormFields\"\r\n [class.active]=\"showFormFields\"\r\n [class.mobile]=\"rendererService.isMobileView\"\r\n [@panelInOut]\r\n >\r\n <kwikid-form-view\r\n [formConfig]=\"this.rendererService.activeFormConfig\"\r\n [formData]=\"this.rendererService.activeFormData\"\r\n [apiCallResponse]=\"this.apiCallResponse\"\r\n [formsList]=\"this.rendererService.formsList\"\r\n [allFormsData]=\"this.rendererService.allFormsData\"\r\n [isMobileView]=\"this.rendererService.isMobileView\"\r\n (onClickApiCall)=\"this.handleOnClickApiCall($event)\"\r\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\r\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\r\n (getActiveFormData)=\"this.handleGetActiveFormData($event)\"\r\n ></kwikid-form-view>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".kwikid-root{width:100%;height:100%}.kwikid-renderer{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-form-header{height:70px;box-shadow:0 0 12px -8px var(--tui-primary);z-index:6}#uf-header{display:flex;flex-direction:row;align-content:center;align-items:center;justify-content:flex-start;grid-column-gap:10px;column-gap:10px;padding:10px 20px;width:100%;max-width:calc(400px + 50vw + 2rem);margin:0 auto;height:70px;z-index:1}#uf-header #uf-header-goback-container{display:none}#uf-header #uf-header-goback-container:hover{border-radius:50%;background-color:#d3d3d3}#uf-header #uf-header-goback-container #uf-header-goback{width:100%;height:auto}#uf-header #uf-header-logo-container{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}#uf-header #uf-header-logo-container #uf-header-logo.small-icon{width:50px;height:50px}#uf-header #uf-header-logo-container #uf-header-logo.large-icon{width:50px;height:50px}#uf-header #uf-header-title-container{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;grid-row-gap:4px;row-gap:4px}#uf-header #uf-header-title-container #uf-header-title{font-size:1.4em;color:#121212}#uf-header #uf-header-title-container #uf-header-subtitle{font-size:1.2em;color:#121212}.kwikid-layout-container{display:flex;flex-direction:row;padding:0 1rem;height:calc(100% - 70px);justify-content:center;align-items:stretch;background:var(--tui-secondary);position:relative}.kwikid-sections-container{display:block;width:100%;max-width:400px;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);margin:auto 1rem auto 0;box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-sections-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s}.kwikid-forms-container{display:block;width:100%;max-width:50vw;margin:auto 0;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-forms-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s}@media screen and (max-width: 600px){.kwikid-layout-container{padding:0;background:transparent}.kwikid-sections-container{position:absolute;max-width:100%;bottom:-10000px;left:-10000px;opacity:0;padding:0;visibility:hidden}.kwikid-sections-container.active{visibility:visible}.kwikid-sections-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container{display:none;max-width:100%;height:100%;padding:0;border-radius:0;box-shadow:none}.kwikid-forms-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container.active{display:block}}\n"], components: [{ type: i2.KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["formsList", "formsListCompleted", "isMobileView"], outputs: ["onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: i3.KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["formConfig", "formData", "apiCallResponse", "isMobileView", "allFormsData", "formsList"], outputs: ["onClickViewForms", "onClickSaveForm", "onClickApiCall", "getActiveFormData"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
162
+ /** @nocollapse */ KwikIDFormsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: KwikIDFormsRendererComponent, selector: "kwikid-forms-renderer", inputs: { userConfig: "userConfig", formsData: "formsData", apiCallResponse: "apiCallResponse" }, outputs: { onClickSubmit: "onClickSubmit", getFormData: "getFormData", onClickApiCall: "onClickApiCall" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, providers: [KwikIDRendererService], usesOnChanges: true, ngImport: i0, template: "<div ngClass=\"kwikid-renderer\">\r\n <div\r\n ngClass=\"kwikid-layout-container\"\r\n *ngIf=\"!loading\"\r\n >\r\n <div\r\n ngClass=\"kwikid-sections-container\"\r\n *ngIf=\"showFormSections\"\r\n class=\"active\"\r\n [class.active]=\"showFormSections\"\r\n [class.mobile]=\"rendererService.isMobileView\"\r\n >\r\n <kwikid-forms-list\r\n [userConfig]=\"this.userConfig\"\r\n [formsList]=\"this.rendererService.formsList\"\r\n [formsListCompleted]=\"this.rendererService.formsListCompleted\"\r\n [isMobileView]=\"this.rendererService.isMobileView\"\r\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\r\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\r\n ></kwikid-forms-list>\r\n </div>\r\n <div\r\n ngClass=\"kwikid-forms-container\"\r\n *ngIf=\"this.showForm && this.showFormFields\"\r\n [class.active]=\"showFormFields\"\r\n [class.mobile]=\"rendererService.isMobileView\"\r\n [@panelInOut]\r\n >\r\n <kwikid-form-view\r\n [formConfig]=\"this.rendererService.activeFormConfig\"\r\n [formData]=\"this.rendererService.activeFormData\"\r\n [apiCallResponse]=\"this.apiCallResponse\"\r\n [formsList]=\"this.rendererService.formsList\"\r\n [allFormsData]=\"this.rendererService.allFormsData\"\r\n [isMobileView]=\"this.rendererService.isMobileView\"\r\n (onClickApiCall)=\"this.handleOnClickApiCall($event)\"\r\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\r\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\r\n (getActiveFormData)=\"this.handleGetActiveFormData($event)\"\r\n ></kwikid-form-view>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".kwikid-root{width:100%;height:100%}.kwikid-renderer{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-layout-container{display:flex;flex-direction:row;padding:0 1rem;height:100%;justify-content:center;align-items:stretch;background:var(--tui-secondary);position:relative}.kwikid-sections-container{display:block;width:100%;max-width:400px;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);margin:auto 1rem auto 0;box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-sections-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s}.kwikid-forms-container{display:block;width:100%;max-width:50vw;margin:auto 0;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-forms-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s}@media screen and (max-width: 600px){.kwikid-layout-container{padding:0;background:transparent}.kwikid-sections-container{position:absolute;max-width:100%;bottom:-10000px;left:-10000px;opacity:0;padding:0;visibility:hidden}.kwikid-sections-container.active{visibility:visible}.kwikid-sections-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container{display:none;max-width:100%;height:100%;padding:0;border-radius:0;box-shadow:none}.kwikid-forms-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container.active{display:block}}\n"], components: [{ type: i2.KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["userConfig", "formsList", "formsListCompleted", "isMobileView"], outputs: ["onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: i3.KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["formConfig", "formData", "apiCallResponse", "isMobileView", "allFormsData", "formsList"], outputs: ["onClickViewForms", "onClickSaveForm", "onClickApiCall", "getActiveFormData"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
158
163
  trigger("panelInOut", [
159
164
  transition(":enter", [
160
165
  style({ transform: "translateY(100%)" }),
@@ -193,9 +198,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
193
198
  type: Input
194
199
  }], apiCallResponse: [{
195
200
  type: Input
201
+ }], onClickSubmit: [{
202
+ type: Output
196
203
  }], getFormData: [{
197
204
  type: Output
198
205
  }], onClickApiCall: [{
199
206
  type: Output
200
207
  }] } });
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7QUFtQjNELE1BQU0sT0FBTyw0QkFBNEI7SUErQ3ZDLFlBQ1MsZUFBc0MsRUFDckMsV0FBdUI7UUFEeEIsb0JBQWUsR0FBZixlQUFlLENBQXVCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBcEJqQyxjQUFTLEdBQVEsRUFBRSxDQUFDO1FBR3BCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBRzFCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFHekQsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU1RCxZQUFPLEdBQVksS0FBSyxDQUFDO1FBRXpCLHVDQUF1QztRQUN2QyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBQy9CLHFCQUFnQixHQUFZLElBQUksQ0FB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R0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7NkJBQ3ZELENBQUM7eUJBQ0gsQ0FBQztxQkFDSDtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDbkM7cUlBSUMsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkF3QnpDLFVBQVU7c0JBRFQsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxjQUFjO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udmVydGVyIH0gZnJvbSBcIi4vcmVuZGVyZXIuY29uZmlnLWNvbnZlcnRlci5oZWxwZXJcIjtcclxuaW1wb3J0IHsgaXNTaW5nbGVGb3JtIH0gZnJvbSBcIi4vcmVuZGVyZXIuaGVscGVyXCI7XHJcbmltcG9ydCB7IEt3aWtJRFJlbmRlcmVyU2VydmljZSB9IGZyb20gXCIuL3JlbmRlcmVyLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImt3aWtpZC1mb3Jtcy1yZW5kZXJlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vcmVuZGVyZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vcmVuZGVyZXIuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcihcInBhbmVsSW5PdXRcIiwgW1xyXG4gICAgICB0cmFuc2l0aW9uKFwiOmVudGVyXCIsIFtcclxuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKDEwMCUpXCIgfSksXHJcbiAgICAgICAgYW5pbWF0ZSgxNTApXHJcbiAgICAgIF0pLFxyXG4gICAgICB0cmFuc2l0aW9uKFwiOmxlYXZlXCIsIFtcclxuICAgICAgICBhbmltYXRlKDEwMCwgc3R5bGUoeyB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgxMDAlKVwiIH0pKVxyXG4gICAgICBdKVxyXG4gICAgXSlcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW0t3aWtJRFJlbmRlcmVyU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEt3aWtJREZvcm1zUmVuZGVyZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgLy8gVGhlIGZpbmFsIHZhbHVlIHNob3VsZCBiZSBwcm92aWRlZCB0byBzZXJ2aWNlLCBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGluIGFsbCBjb21wb25lbnRzXHJcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIHdpbmRvd1Jlc2l6ZVdhdGNoZXIoKSB7XHJcbiAgICBpZiAodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIDwgNjAwKSB7XHJcbiAgICAgIGlmICh0aGlzLnNob3dGb3JtKSB7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybUZpZWxkcyA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3dGb3JtRmllbGRzID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuaXNNb2JpbGVWaWV3ID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLnNob3dGb3JtKSB7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3dGb3JtRmllbGRzID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNob3dGb3JtU2VjdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlbmRlcmVyU2VydmljZS5pc01vYmlsZVZpZXcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdXNlckNvbmZpZzogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGZvcm1zRGF0YTogYW55ID0ge307XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYXBpQ2FsbFJlc3BvbnNlOiBhbnkgPSB7fTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgZ2V0Rm9ybURhdGE6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ2xpY2tBcGlDYWxsOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vIGRpc3BsYXkgZm9ybXMgYW5kIGxpc3QgY29uZGl0aW9uYWxseVxyXG4gIHNob3dGb3JtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd0Zvcm1GaWVsZHM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dGb3JtU2VjdGlvbnM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlclNlcnZpY2U6IEt3aWtJRFJlbmRlcmVyU2VydmljZSxcclxuICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWZcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyU2VydmljZS5zZXRGb3Jtc0xpc3QodGhpcy51c2VyQ29uZmlnLnVzZXJGb3JtRmllbGRzKTtcclxuXHJcbiAgICB0aGlzLmluaXRpYWxpemVGb3JtcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgdmVyaWZ5Q2hhbmdlID0gKHByb3A6IHN0cmluZykgPT4ge1xyXG4gICAgICByZXR1cm4gY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShwcm9wKSAmJiAhY2hhbmdlc1twcm9wXS5maXJzdENoYW5nZTtcclxuICAgIH07XHJcbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwidXNlckNvbmZpZ1wiKSkge1xyXG4gICAgICB0aGlzLnVzZXJDb25maWcgPSBjaGFuZ2VzLnVzZXJDb25maWcuY3VycmVudFZhbHVlO1xyXG4gICAgfVxyXG4gICAgaWYgKHZlcmlmeUNoYW5nZShcImZvcm1zRGF0YVwiKSkge1xyXG4gICAgICB0aGlzLmZvcm1zRGF0YSA9IGNoYW5nZXMuZm9ybXNEYXRhLmN1cnJlbnRWYWx1ZTtcclxuXHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUZvcm1zKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiYXBpQ2FsbFJlc3BvbnNlXCIpKSB7XHJcbiAgICAgIHRoaXMuYXBpQ2FsbFJlc3BvbnNlID0gY2hhbmdlcy5hcGlDYWxsUmVzcG9uc2UuY3VycmVudFZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgaW5pdGlhbGl6ZUZvcm1zKCkge1xyXG4gICAgdGhpcy5yZW5kZXJlclNlcnZpY2Uuc2V0QWxsRm9ybXNEYXRhKHRoaXMuZm9ybXNEYXRhKTtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyU2VydmljZS51cGRhdGVGb3Jtc0xpc3QoKTtcclxuXHJcbiAgICB0aGlzLmhhbmRsZVJlc2l6ZSh0aGlzLnJlbmRlcmVyU2VydmljZS5mb3Jtc0xpc3QpO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuZm9ybXNMaXN0Lmxlbmd0aCAhPT1cclxuICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuZm9ybXNMaXN0Q29tcGxldGVkLmxlbmd0aFxyXG4gICAgKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlT25DbGlja1NldEFjdGl2ZUZvcm0oXHJcbiAgICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuYWN0aXZlRm9ybUNvbmZpZy5rZXlcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0Zvcm0gPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93Rm9ybUZpZWxkcyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlUmVzaXplKGZvcm1zTGlzdDogYW55W10pIHtcclxuICAgIGlmICh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggPCA2MDApIHtcclxuICAgICAgaWYgKCFpc1NpbmdsZUZvcm0oZm9ybXNMaXN0KSkge1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1TZWN0aW9ucyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybUZpZWxkcyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm0gPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNob3dGb3JtU2VjdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dGb3JtID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuaXNNb2JpbGVWaWV3ID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLmlzTW9iaWxlVmlldyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gZm9ybXMtbGlzdCBsaXN0ZW5lclxyXG4gIGFzeW5jIGhhbmRsZU9uQ2xpY2tTZXRBY3RpdmVGb3JtKHNlbGVjdGVkRm9ybTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBhY3RpdmVGb3JtQ29uZmlnID0gdGhpcy5yZW5kZXJlclNlcnZpY2UuZm9ybXNMaXN0LmZpbmQoKGZvcm0pID0+IHtcclxuICAgICAgaWYgKGZvcm0ua2V5ID09PSBzZWxlY3RlZEZvcm0pIHtcclxuICAgICAgICByZXR1cm4gZm9ybTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgbGV0IGZvcm1Db25maWcgPSBhd2FpdCB0aGlzLnJlbmRlcmVyU2VydmljZS5mZXRjaEZvcm1Db25maWcoXHJcbiAgICAgIGFjdGl2ZUZvcm1Db25maWcuZm9ybUNvbnRlbnQudXJsXHJcbiAgICApO1xyXG5cclxuICAgIGZvcm1Db25maWcgPSBuZXcgQ29udmVydGVyKCkuY29udmVydEZvcm1Db25maWcoZm9ybUNvbmZpZyk7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlclNlcnZpY2Uuc2V0QWN0aXZlRm9ybURhdGEoXHJcbiAgICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLmFsbEZvcm1zRGF0YVtmb3JtQ29uZmlnLmtleV1cclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlclNlcnZpY2Uuc2V0QWN0aXZlRm9ybUNvbmZpZyh7XHJcbiAgICAgIC4uLmFjdGl2ZUZvcm1Db25maWcsXHJcbiAgICAgIC4uLmZvcm1Db25maWdcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggPCA2MDApIHtcclxuICAgICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggPj0gNjAwKSB7XHJcbiAgICAgIHRoaXMuc2hvd0Zvcm1TZWN0aW9ucyA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93Rm9ybSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvLyBmb3Jtcy1saXN0IGxpc3RlbmVyXHJcbiAgaGFuZGxlT25DbGlja1N1Ym1pdEZvcm1zKGU6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coZSk7XHJcbiAgfVxyXG5cclxuICAvLyBmb3JtLXZpZXcgbGlzdGVuZXJcclxuICBoYW5kbGVPbkNsaWNrQXBpQ2FsbChlOiBhbnkpIHtcclxuICAgIHRoaXMub25DbGlja0FwaUNhbGwuZW1pdChlKTtcclxuICB9XHJcblxyXG4gIC8vIGZvcm0tdmlldyBsaXN0ZW5lclxyXG4gIGhhbmRsZUdldEFjdGl2ZUZvcm1EYXRhKGU6IGFueSkge1xyXG4gICAgdGhpcy5nZXRGb3JtRGF0YS5lbWl0KHtcclxuICAgICAgW3RoaXMucmVuZGVyZXJTZXJ2aWNlLmFjdGl2ZUZvcm1Db25maWcua2V5XTogZVtcImRhdGFcIl1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gZm9ybS12aWV3IGxpc3RlbmVyXHJcbiAgaGFuZGxlT25DbGlja1NhdmVGb3JtKGU6IGFueSkge1xyXG4gICAgdGhpcy5nZXRGb3JtRGF0YS5lbWl0KHtcclxuICAgICAgW3RoaXMucmVuZGVyZXJTZXJ2aWNlLmFjdGl2ZUZvcm1Db25maWcua2V5XTogZVtcImRhdGFcIl1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gZm9ybS12aWV3IGxpc3RlbmVyXHJcbiAgaGFuZGxlT25DbGlja1ZpZXdGb3JtcyhlOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hvd0Zvcm0gPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBuZ0NsYXNzPVwia3dpa2lkLXJlbmRlcmVyXCI+XHJcbiAgPGRpdiBuZ0NsYXNzPVwia3dpa2lkLWZvcm0taGVhZGVyXCI+XHJcbiAgICA8ZGl2IGlkPVwidWYtaGVhZGVyXCI+XHJcbiAgICAgIDxkaXYgaWQ9XCJ1Zi1oZWFkZXItbG9nby1jb250YWluZXJcIj5cclxuICAgICAgICA8aW1nXHJcbiAgICAgICAgICBpZD1cInVmLWhlYWRlci1sb2dvXCJcclxuICAgICAgICAgIHNyYz1cImh0dHBzOi8va3dpa2lkLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9DT05GSUcvVVNFUi9hc3NldHMvbG9nby9rd2lraWQva3dpa2lkLWxvZ28tZmF2aWNvbi0zMngzMi5wbmdcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwic2hvd0Zvcm0gPyAnc21hbGwtaWNvbicgOiAnbGFyZ2UtaWNvbidcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGlkPVwidWYtaGVhZGVyLXRpdGxlLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgaWQ9XCJ1Zi1oZWFkZXItdGl0bGVcIj5DdXN0b21lciBSZWdpc3RyYXRpb248L2Rpdj5cclxuICAgICAgICA8ZGl2IGlkPVwidWYtaGVhZGVyLXN1YnRpdGxlXCI+XHJcbiAgICAgICAgICB7eyBcIkNlbnRyYWwgQmFuayBvZiBJbmRpYVwiIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdlxyXG4gICAgbmdDbGFzcz1cImt3aWtpZC1sYXlvdXQtY29udGFpbmVyXCJcclxuICAgICpuZ0lmPVwiIWxvYWRpbmdcIlxyXG4gID5cclxuICAgIDxkaXZcclxuICAgICAgbmdDbGFzcz1cImt3aWtpZC1zZWN0aW9ucy1jb250YWluZXJcIlxyXG4gICAgICAqbmdJZj1cInNob3dGb3JtU2VjdGlvbnNcIlxyXG4gICAgICBjbGFzcz1cImFjdGl2ZVwiXHJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2hvd0Zvcm1TZWN0aW9uc1wiXHJcbiAgICAgIFtjbGFzcy5tb2JpbGVdPVwicmVuZGVyZXJTZXJ2aWNlLmlzTW9iaWxlVmlld1wiXHJcbiAgICA+XHJcbiAgICAgIDxrd2lraWQtZm9ybXMtbGlzdFxyXG4gICAgICAgIFtmb3Jtc0xpc3RdPVwidGhpcy5yZW5kZXJlclNlcnZpY2UuZm9ybXNMaXN0XCJcclxuICAgICAgICBbZm9ybXNMaXN0Q29tcGxldGVkXT1cInRoaXMucmVuZGVyZXJTZXJ2aWNlLmZvcm1zTGlzdENvbXBsZXRlZFwiXHJcbiAgICAgICAgW2lzTW9iaWxlVmlld109XCJ0aGlzLnJlbmRlcmVyU2VydmljZS5pc01vYmlsZVZpZXdcIlxyXG4gICAgICAgIChvbkNsaWNrU2V0QWN0aXZlRm9ybSk9XCJ0aGlzLmhhbmRsZU9uQ2xpY2tTZXRBY3RpdmVGb3JtKCRldmVudClcIlxyXG4gICAgICAgIChvbkNsaWNrU3VibWl0Rm9ybXMpPVwidGhpcy5oYW5kbGVPbkNsaWNrU3VibWl0Rm9ybXMoJGV2ZW50KVwiXHJcbiAgICAgID48L2t3aWtpZC1mb3Jtcy1saXN0PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgIG5nQ2xhc3M9XCJrd2lraWQtZm9ybXMtY29udGFpbmVyXCJcclxuICAgICAgKm5nSWY9XCJ0aGlzLnNob3dGb3JtICYmIHRoaXMuc2hvd0Zvcm1GaWVsZHNcIlxyXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cInNob3dGb3JtRmllbGRzXCJcclxuICAgICAgW2NsYXNzLm1vYmlsZV09XCJyZW5kZXJlclNlcnZpY2UuaXNNb2JpbGVWaWV3XCJcclxuICAgICAgW0BwYW5lbEluT3V0XVxyXG4gICAgPlxyXG4gICAgICA8a3dpa2lkLWZvcm0tdmlld1xyXG4gICAgICAgIFtmb3JtQ29uZmlnXT1cInRoaXMucmVuZGVyZXJTZXJ2aWNlLmFjdGl2ZUZvcm1Db25maWdcIlxyXG4gICAgICAgIFtmb3JtRGF0YV09XCJ0aGlzLnJlbmRlcmVyU2VydmljZS5hY3RpdmVGb3JtRGF0YVwiXHJcbiAgICAgICAgW2FwaUNhbGxSZXNwb25zZV09XCJ0aGlzLmFwaUNhbGxSZXNwb25zZVwiXHJcbiAgICAgICAgW2Zvcm1zTGlzdF09XCJ0aGlzLnJlbmRlcmVyU2VydmljZS5mb3Jtc0xpc3RcIlxyXG4gICAgICAgIFthbGxGb3Jtc0RhdGFdPVwidGhpcy5yZW5kZXJlclNlcnZpY2UuYWxsRm9ybXNEYXRhXCJcclxuICAgICAgICBbaXNNb2JpbGVWaWV3XT1cInRoaXMucmVuZGVyZXJTZXJ2aWNlLmlzTW9iaWxlVmlld1wiXHJcbiAgICAgICAgKG9uQ2xpY2tBcGlDYWxsKT1cInRoaXMuaGFuZGxlT25DbGlja0FwaUNhbGwoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uQ2xpY2tWaWV3Rm9ybXMpPVwidGhpcy5oYW5kbGVPbkNsaWNrVmlld0Zvcm1zKCRldmVudClcIlxyXG4gICAgICAgIChvbkNsaWNrU2F2ZUZvcm0pPVwidGhpcy5oYW5kbGVPbkNsaWNrU2F2ZUZvcm0oJGV2ZW50KVwiXHJcbiAgICAgICAgKGdldEFjdGl2ZUZvcm1EYXRhKT1cInRoaXMuaGFuZGxlR2V0QWN0aXZlRm9ybURhdGEoJGV2ZW50KVwiXHJcbiAgICAgID48L2t3aWtpZC1mb3JtLXZpZXc+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7QUFtQjNELE1BQU0sT0FBTyw0QkFBNEI7SUFrRHZDLFlBQ1MsZUFBc0MsRUFDckMsV0FBdUI7UUFEeEIsb0JBQWUsR0FBZixlQUFlLENBQXVCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBdkJqQyxjQUFTLEdBQVEsRUFBRSxDQUFDO1FBR3BCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBRzFCLGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFHM0QsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUd6RCxtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTVELFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsdUNBQXVDO1FBQ3ZDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsbUJBQWMsR0FB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QUFPLENBQUMsWUFBWSxFQUFFOzRCQUNwQixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNuQixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztnQ0FDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQzs2QkFDYixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQzs2QkFDdkQsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIO29CQUNELFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNuQztxSUFJQyxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQXdCekMsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixNQUFNO2dCQUlQLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxjQUFjO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udmVydGVyIH0gZnJvbSBcIi4vcmVuZGVyZXIuY29uZmlnLWNvbnZlcnRlci5oZWxwZXJcIjtcclxuaW1wb3J0IHsgaXNTaW5nbGVGb3JtIH0gZnJvbSBcIi4vcmVuZGVyZXIuaGVscGVyXCI7XHJcbmltcG9ydCB7IEt3aWtJRFJlbmRlcmVyU2VydmljZSB9IGZyb20gXCIuL3JlbmRlcmVyLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImt3aWtpZC1mb3Jtcy1yZW5kZXJlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vcmVuZGVyZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vcmVuZGVyZXIuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcihcInBhbmVsSW5PdXRcIiwgW1xyXG4gICAgICB0cmFuc2l0aW9uKFwiOmVudGVyXCIsIFtcclxuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKDEwMCUpXCIgfSksXHJcbiAgICAgICAgYW5pbWF0ZSgxNTApXHJcbiAgICAgIF0pLFxyXG4gICAgICB0cmFuc2l0aW9uKFwiOmxlYXZlXCIsIFtcclxuICAgICAgICBhbmltYXRlKDEwMCwgc3R5bGUoeyB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgxMDAlKVwiIH0pKVxyXG4gICAgICBdKVxyXG4gICAgXSlcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW0t3aWtJRFJlbmRlcmVyU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEt3aWtJREZvcm1zUmVuZGVyZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgLy8gVGhlIGZpbmFsIHZhbHVlIHNob3VsZCBiZSBwcm92aWRlZCB0byBzZXJ2aWNlLCBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGluIGFsbCBjb21wb25lbnRzXHJcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIHdpbmRvd1Jlc2l6ZVdhdGNoZXIoKSB7XHJcbiAgICBpZiAodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIDwgNjAwKSB7XHJcbiAgICAgIGlmICh0aGlzLnNob3dGb3JtKSB7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybUZpZWxkcyA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3dGb3JtRmllbGRzID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuaXNNb2JpbGVWaWV3ID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLnNob3dGb3JtKSB7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3dGb3JtRmllbGRzID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNob3dGb3JtU2VjdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlbmRlcmVyU2VydmljZS5pc01vYmlsZVZpZXcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdXNlckNvbmZpZzogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGZvcm1zRGF0YTogYW55ID0ge307XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYXBpQ2FsbFJlc3BvbnNlOiBhbnkgPSB7fTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25DbGlja1N1Ym1pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgZ2V0Rm9ybURhdGE6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ2xpY2tBcGlDYWxsOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vIGRpc3BsYXkgZm9ybXMgYW5kIGxpc3QgY29uZGl0aW9uYWxseVxyXG4gIHNob3dGb3JtOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd0Zvcm1GaWVsZHM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dGb3JtU2VjdGlvbnM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlclNlcnZpY2U6IEt3aWtJRFJlbmRlcmVyU2VydmljZSxcclxuICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWZcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyU2VydmljZS5zZXRGb3Jtc0xpc3QodGhpcy51c2VyQ29uZmlnLnVzZXJGb3JtRmllbGRzKTtcclxuXHJcbiAgICB0aGlzLmluaXRpYWxpemVGb3JtcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgdmVyaWZ5Q2hhbmdlID0gKHByb3A6IHN0cmluZykgPT4ge1xyXG4gICAgICByZXR1cm4gY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShwcm9wKSAmJiAhY2hhbmdlc1twcm9wXS5maXJzdENoYW5nZTtcclxuICAgIH07XHJcbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwidXNlckNvbmZpZ1wiKSkge1xyXG4gICAgICB0aGlzLnVzZXJDb25maWcgPSBjaGFuZ2VzLnVzZXJDb25maWcuY3VycmVudFZhbHVlO1xyXG4gICAgfVxyXG4gICAgaWYgKHZlcmlmeUNoYW5nZShcImZvcm1zRGF0YVwiKSkge1xyXG4gICAgICB0aGlzLmZvcm1zRGF0YSA9IGNoYW5nZXMuZm9ybXNEYXRhLmN1cnJlbnRWYWx1ZTtcclxuXHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUZvcm1zKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiYXBpQ2FsbFJlc3BvbnNlXCIpKSB7XHJcbiAgICAgIHRoaXMuYXBpQ2FsbFJlc3BvbnNlID0gY2hhbmdlcy5hcGlDYWxsUmVzcG9uc2UuY3VycmVudFZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgaW5pdGlhbGl6ZUZvcm1zKCkge1xyXG4gICAgdGhpcy5yZW5kZXJlclNlcnZpY2Uuc2V0QWxsRm9ybXNEYXRhKHRoaXMuZm9ybXNEYXRhKTtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyU2VydmljZS51cGRhdGVGb3Jtc0xpc3QoKTtcclxuXHJcbiAgICB0aGlzLmhhbmRsZVJlc2l6ZSh0aGlzLnJlbmRlcmVyU2VydmljZS5mb3Jtc0xpc3QpO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuZm9ybXNMaXN0Lmxlbmd0aCAhPT1cclxuICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuZm9ybXNMaXN0Q29tcGxldGVkLmxlbmd0aFxyXG4gICAgKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlT25DbGlja1NldEFjdGl2ZUZvcm0oXHJcbiAgICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuYWN0aXZlRm9ybUNvbmZpZy5rZXlcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0Zvcm0gPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93Rm9ybUZpZWxkcyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlUmVzaXplKGZvcm1zTGlzdDogYW55W10pIHtcclxuICAgIGlmICh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggPCA2MDApIHtcclxuICAgICAgaWYgKCFpc1NpbmdsZUZvcm0oZm9ybXNMaXN0KSkge1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1TZWN0aW9ucyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zaG93Rm9ybUZpZWxkcyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm0gPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNob3dGb3JtU2VjdGlvbnMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dGb3JtID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuaXNNb2JpbGVWaWV3ID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLmlzTW9iaWxlVmlldyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gZm9ybXMtbGlzdCBsaXN0ZW5lclxyXG4gIGFzeW5jIGhhbmRsZU9uQ2xpY2tTZXRBY3RpdmVGb3JtKHNlbGVjdGVkRm9ybTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNob3dGb3JtID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgYWN0aXZlRm9ybUNvbmZpZyA9IHRoaXMucmVuZGVyZXJTZXJ2aWNlLmZvcm1zTGlzdC5maW5kKChmb3JtKSA9PiB7XHJcbiAgICAgIGlmIChmb3JtLmtleSA9PT0gc2VsZWN0ZWRGb3JtKSB7XHJcbiAgICAgICAgcmV0dXJuIGZvcm07XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGxldCBmb3JtQ29uZmlnID0gYXdhaXQgdGhpcy5yZW5kZXJlclNlcnZpY2UuZmV0Y2hGb3JtQ29uZmlnKFxyXG4gICAgICBhY3RpdmVGb3JtQ29uZmlnLmZvcm1Db250ZW50LnVybFxyXG4gICAgKTtcclxuXHJcbiAgICBmb3JtQ29uZmlnID0gbmV3IENvbnZlcnRlcigpLmNvbnZlcnRGb3JtQ29uZmlnKGZvcm1Db25maWcpO1xyXG5cclxuICAgIGNvbnN0IGFjdGl2ZUZvcm1EYXRhID1cclxuICAgICAgdGhpcy5yZW5kZXJlclNlcnZpY2UuYWxsRm9ybXNEYXRhW2Zvcm1Db25maWcua2V5XSA/PyB7fTtcclxuICAgIHRoaXMucmVuZGVyZXJTZXJ2aWNlLnNldEFjdGl2ZUZvcm1EYXRhKGFjdGl2ZUZvcm1EYXRhKTtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyU2VydmljZS5zZXRBY3RpdmVGb3JtQ29uZmlnKHtcclxuICAgICAgLi4uYWN0aXZlRm9ybUNvbmZpZyxcclxuICAgICAgLi4uZm9ybUNvbmZpZ1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCA8IDYwMCkge1xyXG4gICAgICB0aGlzLnNob3dGb3JtU2VjdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93Rm9ybUZpZWxkcyA9IHRydWU7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCA+PSA2MDApIHtcclxuICAgICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gdHJ1ZTtcclxuICAgICAgdGhpcy5zaG93Rm9ybUZpZWxkcyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zaG93Rm9ybSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvLyBmb3Jtcy1saXN0IGxpc3RlbmVyXHJcbiAgaGFuZGxlT25DbGlja1N1Ym1pdEZvcm1zKGU6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coZSk7XHJcbiAgICB0aGlzLm9uQ2xpY2tTdWJtaXQuZW1pdChlKTtcclxuICB9XHJcblxyXG4gIC8vIGZvcm0tdmlldyBsaXN0ZW5lclxyXG4gIGhhbmRsZU9uQ2xpY2tBcGlDYWxsKGU6IGFueSkge1xyXG4gICAgdGhpcy5vbkNsaWNrQXBpQ2FsbC5lbWl0KGUpO1xyXG4gIH1cclxuXHJcbiAgLy8gZm9ybS12aWV3IGxpc3RlbmVyXHJcbiAgaGFuZGxlR2V0QWN0aXZlRm9ybURhdGEoZTogYW55KSB7XHJcbiAgICB0aGlzLmdldEZvcm1EYXRhLmVtaXQoe1xyXG4gICAgICBbdGhpcy5yZW5kZXJlclNlcnZpY2UuYWN0aXZlRm9ybUNvbmZpZy5rZXldOiBlW1wiZGF0YVwiXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBmb3JtLXZpZXcgbGlzdGVuZXJcclxuICBoYW5kbGVPbkNsaWNrU2F2ZUZvcm0oZTogYW55KSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyU2VydmljZS5zZXRBY3RpdmVGb3JtRGF0YSh7fSk7XHJcbiAgICB0aGlzLmdldEZvcm1EYXRhLmVtaXQoe1xyXG4gICAgICBbdGhpcy5yZW5kZXJlclNlcnZpY2UuYWN0aXZlRm9ybUNvbmZpZy5rZXldOiBlW1wiZGF0YVwiXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBmb3JtLXZpZXcgbGlzdGVuZXJcclxuICBoYW5kbGVPbkNsaWNrVmlld0Zvcm1zKGU6IGFueSkge1xyXG4gICAgdGhpcy5zaG93Rm9ybVNlY3Rpb25zID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hvd0Zvcm0gPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd0Zvcm1GaWVsZHMgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBuZ0NsYXNzPVwia3dpa2lkLXJlbmRlcmVyXCI+XHJcbiAgPGRpdlxyXG4gICAgbmdDbGFzcz1cImt3aWtpZC1sYXlvdXQtY29udGFpbmVyXCJcclxuICAgICpuZ0lmPVwiIWxvYWRpbmdcIlxyXG4gID5cclxuICAgIDxkaXZcclxuICAgICAgbmdDbGFzcz1cImt3aWtpZC1zZWN0aW9ucy1jb250YWluZXJcIlxyXG4gICAgICAqbmdJZj1cInNob3dGb3JtU2VjdGlvbnNcIlxyXG4gICAgICBjbGFzcz1cImFjdGl2ZVwiXHJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2hvd0Zvcm1TZWN0aW9uc1wiXHJcbiAgICAgIFtjbGFzcy5tb2JpbGVdPVwicmVuZGVyZXJTZXJ2aWNlLmlzTW9iaWxlVmlld1wiXHJcbiAgICA+XHJcbiAgICAgIDxrd2lraWQtZm9ybXMtbGlzdFxyXG4gICAgICAgIFt1c2VyQ29uZmlnXT1cInRoaXMudXNlckNvbmZpZ1wiXHJcbiAgICAgICAgW2Zvcm1zTGlzdF09XCJ0aGlzLnJlbmRlcmVyU2VydmljZS5mb3Jtc0xpc3RcIlxyXG4gICAgICAgIFtmb3Jtc0xpc3RDb21wbGV0ZWRdPVwidGhpcy5yZW5kZXJlclNlcnZpY2UuZm9ybXNMaXN0Q29tcGxldGVkXCJcclxuICAgICAgICBbaXNNb2JpbGVWaWV3XT1cInRoaXMucmVuZGVyZXJTZXJ2aWNlLmlzTW9iaWxlVmlld1wiXHJcbiAgICAgICAgKG9uQ2xpY2tTZXRBY3RpdmVGb3JtKT1cInRoaXMuaGFuZGxlT25DbGlja1NldEFjdGl2ZUZvcm0oJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uQ2xpY2tTdWJtaXRGb3Jtcyk9XCJ0aGlzLmhhbmRsZU9uQ2xpY2tTdWJtaXRGb3JtcygkZXZlbnQpXCJcclxuICAgICAgPjwva3dpa2lkLWZvcm1zLWxpc3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgbmdDbGFzcz1cImt3aWtpZC1mb3Jtcy1jb250YWluZXJcIlxyXG4gICAgICAqbmdJZj1cInRoaXMuc2hvd0Zvcm0gJiYgdGhpcy5zaG93Rm9ybUZpZWxkc1wiXHJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2hvd0Zvcm1GaWVsZHNcIlxyXG4gICAgICBbY2xhc3MubW9iaWxlXT1cInJlbmRlcmVyU2VydmljZS5pc01vYmlsZVZpZXdcIlxyXG4gICAgICBbQHBhbmVsSW5PdXRdXHJcbiAgICA+XHJcbiAgICAgIDxrd2lraWQtZm9ybS12aWV3XHJcbiAgICAgICAgW2Zvcm1Db25maWddPVwidGhpcy5yZW5kZXJlclNlcnZpY2UuYWN0aXZlRm9ybUNvbmZpZ1wiXHJcbiAgICAgICAgW2Zvcm1EYXRhXT1cInRoaXMucmVuZGVyZXJTZXJ2aWNlLmFjdGl2ZUZvcm1EYXRhXCJcclxuICAgICAgICBbYXBpQ2FsbFJlc3BvbnNlXT1cInRoaXMuYXBpQ2FsbFJlc3BvbnNlXCJcclxuICAgICAgICBbZm9ybXNMaXN0XT1cInRoaXMucmVuZGVyZXJTZXJ2aWNlLmZvcm1zTGlzdFwiXHJcbiAgICAgICAgW2FsbEZvcm1zRGF0YV09XCJ0aGlzLnJlbmRlcmVyU2VydmljZS5hbGxGb3Jtc0RhdGFcIlxyXG4gICAgICAgIFtpc01vYmlsZVZpZXddPVwidGhpcy5yZW5kZXJlclNlcnZpY2UuaXNNb2JpbGVWaWV3XCJcclxuICAgICAgICAob25DbGlja0FwaUNhbGwpPVwidGhpcy5oYW5kbGVPbkNsaWNrQXBpQ2FsbCgkZXZlbnQpXCJcclxuICAgICAgICAob25DbGlja1ZpZXdGb3Jtcyk9XCJ0aGlzLmhhbmRsZU9uQ2xpY2tWaWV3Rm9ybXMoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uQ2xpY2tTYXZlRm9ybSk9XCJ0aGlzLmhhbmRsZU9uQ2xpY2tTYXZlRm9ybSgkZXZlbnQpXCJcclxuICAgICAgICAoZ2V0QWN0aXZlRm9ybURhdGEpPVwidGhpcy5oYW5kbGVHZXRBY3RpdmVGb3JtRGF0YSgkZXZlbnQpXCJcclxuICAgICAgPjwva3dpa2lkLWZvcm0tdmlldz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -69,7 +69,7 @@ export class KwikIDRendererService {
69
69
  }
70
70
  else {
71
71
  form = setValueToObject(form, "status", "locked");
72
- form = setValueToObject(form, "disabled", false);
72
+ form = setValueToObject(form, "disabled", true);
73
73
  }
74
74
  }
75
75
  else {
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
112
112
  providedIn: "root"
113
113
  }]
114
114
  }], ctorParameters: function () { return []; } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL3JlbmRlcmVyL3JlbmRlcmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDL0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUszQyxNQUFNLE9BQU8scUJBQXFCO0lBb0NoQztRQW5DQSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQWVyQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztJQW9CUixDQUFDO0lBbENoQixlQUFlLENBQUMsWUFBcUI7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUdELFlBQVksQ0FBQyxTQUFnQjtRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBR0QscUJBQXFCLENBQUMsa0JBQXlCO1FBQzdDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQUMvQyxDQUFDO0lBR0QsZUFBZSxDQUFDLFlBQW1CO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxnQkFBcUI7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxnQkFBdUI7UUFDekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFHRCxpQkFBaUIsQ0FBQyxjQUFtQjtRQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBSUss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bkIsS0FBSyxJQUFJLElBQUksSUFBSSxTQUFTLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLEVBQUUsQ0FBQztTQUNoQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxTQUFTLEdBQVUsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLGtCQUE0QixDQUFDO1FBQ2pDLElBQUksZ0JBQXFCLENBQUM7UUFFMUIsU0FBUyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVuRCxrQkFBa0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXBFLFNBQVMsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQzdDLFNBQVMsRUFDVCxrQkFBa0IsQ0FDbkIsQ0FBQztRQUVGLFNBQVMsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQzVDLFNBQVMsRUFDVCxrQkFBa0IsQ0FDbkIsQ0FBQztRQUVGLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUU7WUFDbEQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRXhELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNqRCxDQUFDOztzSUEzSVUscUJBQXFCOzBJQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IHNldFZhbHVlVG9PYmplY3QgfSBmcm9tIFwiLi9mb3JtLXZpZXcvaGVscGVycy9mb3JtLXZpZXcuY29tbW9uLmhlbHBlclwiO1xyXG5pbXBvcnQgeyBoYXNLZXkgfSBmcm9tIFwiLi9yZW5kZXJlci5oZWxwZXJcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3dpa0lEUmVuZGVyZXJTZXJ2aWNlIHtcclxuICBpc01vYmlsZVZpZXcgPSBmYWxzZTtcclxuICBzZXRJc01vYmlsZVZpZXcoaXNNb2JpbGVWaWV3OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmlzTW9iaWxlVmlldyA9IGlzTW9iaWxlVmlldztcclxuICB9XHJcblxyXG4gIGZvcm1zTGlzdDogYW55W107XHJcbiAgc2V0Rm9ybXNMaXN0KGZvcm1zTGlzdDogYW55W10pIHtcclxuICAgIHRoaXMuZm9ybXNMaXN0ID0gZm9ybXNMaXN0O1xyXG4gIH1cclxuXHJcbiAgZm9ybXNMaXN0Q29tcGxldGVkOiBzdHJpbmdbXTtcclxuICBzZXRGb3Jtc0xpc3RDb21wbGV0ZWQoZm9ybXNMaXN0Q29tcGxldGVkOiBhbnlbXSkge1xyXG4gICAgdGhpcy5mb3Jtc0xpc3RDb21wbGV0ZWQgPSBmb3Jtc0xpc3RDb21wbGV0ZWQ7XHJcbiAgfVxyXG5cclxuICBhbGxGb3Jtc0RhdGE6IGFueSA9IHt9O1xyXG4gIHNldEFsbEZvcm1zRGF0YShhbGxGb3Jtc0RhdGE6IGFueVtdKSB7XHJcbiAgICB0aGlzLmFsbEZvcm1zRGF0YSA9IGFsbEZvcm1zRGF0YTtcclxuICB9XHJcblxyXG4gIGFjdGl2ZUZvcm1Db25maWc6IGFueTtcclxuICBzZXRBY3RpdmVGb3JtQ29uZmlnKGFjdGl2ZUZvcm1Db25maWc6IGFueSkge1xyXG4gICAgdGhpcy5hY3RpdmVGb3JtQ29uZmlnID0gYWN0aXZlRm9ybUNvbmZpZztcclxuICB9XHJcblxyXG4gIGFjdGl2ZUZvcm1GaWVsZHM6IGFueVtdO1xyXG4gIHNldEFjdGl2ZUZvcm1GaWVsZHMoYWN0aXZlRm9ybUZpZWxkczogYW55W10pIHtcclxuICAgIHRoaXMuYWN0aXZlRm9ybUZpZWxkcyA9IGFjdGl2ZUZvcm1GaWVsZHM7XHJcbiAgfVxyXG5cclxuICBhY3RpdmVGb3JtRGF0YTogYW55O1xyXG4gIHNldEFjdGl2ZUZvcm1EYXRhKGFjdGl2ZUZvcm1EYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuYWN0aXZlRm9ybURhdGEgPSBhY3RpdmVGb3JtRGF0YTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgYXN5bmMgZmV0Y2hGb3JtQ29uZmlnKHVybDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCwgeyBtZXRob2Q6IFwiR0VUXCIgfSk7XHJcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfVxyXG5cclxuICBmaW5kQWN0aXZlRm9ybUNvbmZpZyhmb3Jtc0xpc3Q6IGFueVtdKTogYW55IHtcclxuICAgIGNvbnN0IGFjdGl2ZUZvcm1Db25maWcgPSBmb3Jtc0xpc3QuZmluZCgoZm9ybSkgPT4ge1xyXG4gICAgICByZXR1cm4gZm9ybS5zdGF0dXMgPT09IFwiZWRpdGFibGVcIiAmJiAhZm9ybS5kaXNhYmxlZDtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFjdGl2ZUZvcm1Db25maWc7XHJcbiAgfVxyXG5cclxuICBmaW5kQ29tcGxldGVkRm9ybXNMaXN0KGFsbEZvcm1zRGF0YTogYW55KTogc3RyaW5nW10ge1xyXG4gICAgbGV0IGZvcm1zTGlzdENvbXBsZXRlZDogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICBPYmplY3Qua2V5cyhhbGxGb3Jtc0RhdGEpLm1hcCgoZm9ybUtleSkgPT4ge1xyXG4gICAgICBmb3Jtc0xpc3RDb21wbGV0ZWQucHVzaChmb3JtS2V5KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBmb3Jtc0xpc3RDb21wbGV0ZWQ7XHJcbiAgfVxyXG5cclxuICBtYXJrRm9ybUluRm9ybXNMaXN0QXNDb21wbGV0ZWQoXHJcbiAgICBmb3Jtc0xpc3Q6IGFueVtdLFxyXG4gICAgZm9ybXNMaXN0Q29tcGxldGVkOiBzdHJpbmdbXVxyXG4gICk6IGFueVtdIHtcclxuICAgIGZvciAobGV0IGZvcm0gb2YgZm9ybXNMaXN0KSB7XHJcbiAgICAgIGlmIChmb3Jtc0xpc3RDb21wbGV0ZWQuaW5jbHVkZXMoZm9ybS5rZXkpKSB7XHJcbiAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3QoZm9ybSwgXCJzdGF0dXNcIiwgXCJjb21wbGV0ZWRcIik7XHJcbiAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3QoZm9ybSwgXCJkaXNhYmxlZFwiLCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZm9ybXNMaXN0O1xyXG4gIH1cclxuXHJcbiAgbWFya0Zvcm1JbkZvcm1zTGlzdEFzRGlzYWJsZWQoXHJcbiAgICBmb3Jtc0xpc3Q6IGFueVtdLFxyXG4gICAgZm9ybXNMaXN0Q29tcGxldGVkOiBzdHJpbmdbXVxyXG4gICk6IGFueVtdIHtcclxuICAgIGZvciAobGV0IGZvcm0gb2YgZm9ybXNMaXN0KSB7XHJcbiAgICAgIGlmIChmb3JtLnN0YXR1cyAhPT0gXCJjb21wbGV0ZWRcIikge1xyXG4gICAgICAgIGlmIChoYXNLZXkoZm9ybSwgXCJkZXBlbmRlbnRPblwiKSkge1xyXG4gICAgICAgICAgY29uc3QgaXNEZXBlbmRlbnQgPSBmb3JtLmRlcGVuZGVudE9uLmV2ZXJ5KChyOiBzdHJpbmcpID0+XHJcbiAgICAgICAgICAgIGZvcm1zTGlzdENvbXBsZXRlZC5pbmNsdWRlcyhyKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGlmIChpc0RlcGVuZGVudCkge1xyXG4gICAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcInN0YXR1c1wiLCBcImVkaXRhYmxlXCIpO1xyXG4gICAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRpc2FibGVkXCIsIGZhbHNlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwic3RhdHVzXCIsIFwibG9ja2VkXCIpO1xyXG4gICAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRpc2FibGVkXCIsIGZhbHNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3QoZm9ybSwgXCJkZXBlbmRlbnRPblwiLCBbXSk7XHJcbiAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcInN0YXR1c1wiLCBcImVkaXRhYmxlXCIpO1xyXG4gICAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3QoZm9ybSwgXCJkaXNhYmxlZFwiLCBmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZvcm1zTGlzdDtcclxuICB9XHJcblxyXG4gIGFzc2lnblNlcXVlbmNlTm9Ub0Zvcm0oZm9ybXNMaXN0OiBhbnlbXSk6IGFueVtdIHtcclxuICAgIGxldCBzZXF1ZW5jZU5vID0gMTtcclxuICAgIGZvciAobGV0IGZvcm0gb2YgZm9ybXNMaXN0KSB7XHJcbiAgICAgIGZvcm0uc2VxdWVuY2VObyA9IHNlcXVlbmNlTm8rKztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZm9ybXNMaXN0O1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlRm9ybXNMaXN0KCkge1xyXG4gICAgbGV0IGZvcm1zTGlzdDogYW55W10gPSB0aGlzLmZvcm1zTGlzdDtcclxuICAgIGxldCBmb3Jtc0xpc3RDb21wbGV0ZWQ6IHN0cmluZ1tdO1xyXG4gICAgbGV0IGFjdGl2ZUZvcm1Db25maWc6IGFueTtcclxuXHJcbiAgICBmb3Jtc0xpc3QgPSB0aGlzLmFzc2lnblNlcXVlbmNlTm9Ub0Zvcm0oZm9ybXNMaXN0KTtcclxuXHJcbiAgICBmb3Jtc0xpc3RDb21wbGV0ZWQgPSB0aGlzLmZpbmRDb21wbGV0ZWRGb3Jtc0xpc3QodGhpcy5hbGxGb3Jtc0RhdGEpO1xyXG5cclxuICAgIGZvcm1zTGlzdCA9IHRoaXMubWFya0Zvcm1JbkZvcm1zTGlzdEFzQ29tcGxldGVkKFxyXG4gICAgICBmb3Jtc0xpc3QsXHJcbiAgICAgIGZvcm1zTGlzdENvbXBsZXRlZFxyXG4gICAgKTtcclxuXHJcbiAgICBmb3Jtc0xpc3QgPSB0aGlzLm1hcmtGb3JtSW5Gb3Jtc0xpc3RBc0Rpc2FibGVkKFxyXG4gICAgICBmb3Jtc0xpc3QsXHJcbiAgICAgIGZvcm1zTGlzdENvbXBsZXRlZFxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoZm9ybXNMaXN0Lmxlbmd0aCAhPT0gZm9ybXNMaXN0Q29tcGxldGVkLmxlbmd0aCkge1xyXG4gICAgICBhY3RpdmVGb3JtQ29uZmlnID0gdGhpcy5maW5kQWN0aXZlRm9ybUNvbmZpZyhmb3Jtc0xpc3QpO1xyXG5cclxuICAgICAgdGhpcy5zZXRBY3RpdmVGb3JtQ29uZmlnKGFjdGl2ZUZvcm1Db25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2V0Rm9ybXNMaXN0KGZvcm1zTGlzdCk7XHJcbiAgICB0aGlzLnNldEZvcm1zTGlzdENvbXBsZXRlZChmb3Jtc0xpc3RDb21wbGV0ZWQpO1xyXG4gIH1cclxufVxyXG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL3JlbmRlcmVyL3JlbmRlcmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDL0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUszQyxNQUFNLE9BQU8scUJBQXFCO0lBb0NoQztRQW5DQSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQWVyQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztJQW9CUixDQUFDO0lBbENoQixlQUFlLENBQUMsWUFBcUI7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUdELFlBQVksQ0FBQyxTQUFnQjtRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBR0QscUJBQXFCLENBQUMsa0JBQXlCO1FBQzdDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQUMvQyxDQUFDO0lBR0QsZUFBZSxDQUFDLFlBQW1CO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxnQkFBcUI7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxnQkFBdUI7UUFDekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFHRCxpQkFBaUIsQ0FBQyxjQUFtQjtRQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBSUss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bkIsS0FBSyxJQUFJLElBQUksSUFBSSxTQUFTLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLEVBQUUsQ0FBQztTQUNoQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxTQUFTLEdBQVUsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLGtCQUE0QixDQUFDO1FBQ2pDLElBQUksZ0JBQXFCLENBQUM7UUFFMUIsU0FBUyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVuRCxrQkFBa0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXBFLFNBQVMsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQzdDLFNBQVMsRUFDVCxrQkFBa0IsQ0FDbkIsQ0FBQztRQUVGLFNBQVMsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQzVDLFNBQVMsRUFDVCxrQkFBa0IsQ0FDbkIsQ0FBQztRQUVGLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUU7WUFDbEQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRXhELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNqRCxDQUFDOztzSUEzSVUscUJBQXFCOzBJQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IHNldFZhbHVlVG9PYmplY3QgfSBmcm9tIFwiLi9mb3JtLXZpZXcvaGVscGVycy9mb3JtLXZpZXcuY29tbW9uLmhlbHBlclwiO1xyXG5pbXBvcnQgeyBoYXNLZXkgfSBmcm9tIFwiLi9yZW5kZXJlci5oZWxwZXJcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3dpa0lEUmVuZGVyZXJTZXJ2aWNlIHtcclxuICBpc01vYmlsZVZpZXcgPSBmYWxzZTtcclxuICBzZXRJc01vYmlsZVZpZXcoaXNNb2JpbGVWaWV3OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmlzTW9iaWxlVmlldyA9IGlzTW9iaWxlVmlldztcclxuICB9XHJcblxyXG4gIGZvcm1zTGlzdDogYW55W107XHJcbiAgc2V0Rm9ybXNMaXN0KGZvcm1zTGlzdDogYW55W10pIHtcclxuICAgIHRoaXMuZm9ybXNMaXN0ID0gZm9ybXNMaXN0O1xyXG4gIH1cclxuXHJcbiAgZm9ybXNMaXN0Q29tcGxldGVkOiBzdHJpbmdbXTtcclxuICBzZXRGb3Jtc0xpc3RDb21wbGV0ZWQoZm9ybXNMaXN0Q29tcGxldGVkOiBhbnlbXSkge1xyXG4gICAgdGhpcy5mb3Jtc0xpc3RDb21wbGV0ZWQgPSBmb3Jtc0xpc3RDb21wbGV0ZWQ7XHJcbiAgfVxyXG5cclxuICBhbGxGb3Jtc0RhdGE6IGFueSA9IHt9O1xyXG4gIHNldEFsbEZvcm1zRGF0YShhbGxGb3Jtc0RhdGE6IGFueVtdKSB7XHJcbiAgICB0aGlzLmFsbEZvcm1zRGF0YSA9IGFsbEZvcm1zRGF0YTtcclxuICB9XHJcblxyXG4gIGFjdGl2ZUZvcm1Db25maWc6IGFueTtcclxuICBzZXRBY3RpdmVGb3JtQ29uZmlnKGFjdGl2ZUZvcm1Db25maWc6IGFueSkge1xyXG4gICAgdGhpcy5hY3RpdmVGb3JtQ29uZmlnID0gYWN0aXZlRm9ybUNvbmZpZztcclxuICB9XHJcblxyXG4gIGFjdGl2ZUZvcm1GaWVsZHM6IGFueVtdO1xyXG4gIHNldEFjdGl2ZUZvcm1GaWVsZHMoYWN0aXZlRm9ybUZpZWxkczogYW55W10pIHtcclxuICAgIHRoaXMuYWN0aXZlRm9ybUZpZWxkcyA9IGFjdGl2ZUZvcm1GaWVsZHM7XHJcbiAgfVxyXG5cclxuICBhY3RpdmVGb3JtRGF0YTogYW55O1xyXG4gIHNldEFjdGl2ZUZvcm1EYXRhKGFjdGl2ZUZvcm1EYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuYWN0aXZlRm9ybURhdGEgPSBhY3RpdmVGb3JtRGF0YTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgYXN5bmMgZmV0Y2hGb3JtQ29uZmlnKHVybDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCwgeyBtZXRob2Q6IFwiR0VUXCIgfSk7XHJcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfVxyXG5cclxuICBmaW5kQWN0aXZlRm9ybUNvbmZpZyhmb3Jtc0xpc3Q6IGFueVtdKTogYW55IHtcclxuICAgIGNvbnN0IGFjdGl2ZUZvcm1Db25maWcgPSBmb3Jtc0xpc3QuZmluZCgoZm9ybSkgPT4ge1xyXG4gICAgICByZXR1cm4gZm9ybS5zdGF0dXMgPT09IFwiZWRpdGFibGVcIiAmJiAhZm9ybS5kaXNhYmxlZDtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFjdGl2ZUZvcm1Db25maWc7XHJcbiAgfVxyXG5cclxuICBmaW5kQ29tcGxldGVkRm9ybXNMaXN0KGFsbEZvcm1zRGF0YTogYW55KTogc3RyaW5nW10ge1xyXG4gICAgbGV0IGZvcm1zTGlzdENvbXBsZXRlZDogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICBPYmplY3Qua2V5cyhhbGxGb3Jtc0RhdGEpLm1hcCgoZm9ybUtleSkgPT4ge1xyXG4gICAgICBmb3Jtc0xpc3RDb21wbGV0ZWQucHVzaChmb3JtS2V5KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBmb3Jtc0xpc3RDb21wbGV0ZWQ7XHJcbiAgfVxyXG5cclxuICBtYXJrRm9ybUluRm9ybXNMaXN0QXNDb21wbGV0ZWQoXHJcbiAgICBmb3Jtc0xpc3Q6IGFueVtdLFxyXG4gICAgZm9ybXNMaXN0Q29tcGxldGVkOiBzdHJpbmdbXVxyXG4gICk6IGFueVtdIHtcclxuICAgIGZvciAobGV0IGZvcm0gb2YgZm9ybXNMaXN0KSB7XHJcbiAgICAgIGlmIChmb3Jtc0xpc3RDb21wbGV0ZWQuaW5jbHVkZXMoZm9ybS5rZXkpKSB7XHJcbiAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3QoZm9ybSwgXCJzdGF0dXNcIiwgXCJjb21wbGV0ZWRcIik7XHJcbiAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3QoZm9ybSwgXCJkaXNhYmxlZFwiLCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZm9ybXNMaXN0O1xyXG4gIH1cclxuXHJcbiAgbWFya0Zvcm1JbkZvcm1zTGlzdEFzRGlzYWJsZWQoXHJcbiAgICBmb3Jtc0xpc3Q6IGFueVtdLFxyXG4gICAgZm9ybXNMaXN0Q29tcGxldGVkOiBzdHJpbmdbXVxyXG4gICk6IGFueVtdIHtcclxuICAgIGZvciAobGV0IGZvcm0gb2YgZm9ybXNMaXN0KSB7XHJcbiAgICAgIGlmIChmb3JtLnN0YXR1cyAhPT0gXCJjb21wbGV0ZWRcIikge1xyXG4gICAgICAgIGlmIChoYXNLZXkoZm9ybSwgXCJkZXBlbmRlbnRPblwiKSkge1xyXG4gICAgICAgICAgY29uc3QgaXNEZXBlbmRlbnQgPSBmb3JtLmRlcGVuZGVudE9uLmV2ZXJ5KChyOiBzdHJpbmcpID0+XHJcbiAgICAgICAgICAgIGZvcm1zTGlzdENvbXBsZXRlZC5pbmNsdWRlcyhyKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGlmIChpc0RlcGVuZGVudCkge1xyXG4gICAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcInN0YXR1c1wiLCBcImVkaXRhYmxlXCIpO1xyXG4gICAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRpc2FibGVkXCIsIGZhbHNlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwic3RhdHVzXCIsIFwibG9ja2VkXCIpO1xyXG4gICAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRpc2FibGVkXCIsIHRydWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRlcGVuZGVudE9uXCIsIFtdKTtcclxuICAgICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0KGZvcm0sIFwic3RhdHVzXCIsIFwiZWRpdGFibGVcIik7XHJcbiAgICAgICAgICBmb3JtID0gc2V0VmFsdWVUb09iamVjdChmb3JtLCBcImRpc2FibGVkXCIsIGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZm9ybXNMaXN0O1xyXG4gIH1cclxuXHJcbiAgYXNzaWduU2VxdWVuY2VOb1RvRm9ybShmb3Jtc0xpc3Q6IGFueVtdKTogYW55W10ge1xyXG4gICAgbGV0IHNlcXVlbmNlTm8gPSAxO1xyXG4gICAgZm9yIChsZXQgZm9ybSBvZiBmb3Jtc0xpc3QpIHtcclxuICAgICAgZm9ybS5zZXF1ZW5jZU5vID0gc2VxdWVuY2VObysrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb3Jtc0xpc3Q7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVGb3Jtc0xpc3QoKSB7XHJcbiAgICBsZXQgZm9ybXNMaXN0OiBhbnlbXSA9IHRoaXMuZm9ybXNMaXN0O1xyXG4gICAgbGV0IGZvcm1zTGlzdENvbXBsZXRlZDogc3RyaW5nW107XHJcbiAgICBsZXQgYWN0aXZlRm9ybUNvbmZpZzogYW55O1xyXG5cclxuICAgIGZvcm1zTGlzdCA9IHRoaXMuYXNzaWduU2VxdWVuY2VOb1RvRm9ybShmb3Jtc0xpc3QpO1xyXG5cclxuICAgIGZvcm1zTGlzdENvbXBsZXRlZCA9IHRoaXMuZmluZENvbXBsZXRlZEZvcm1zTGlzdCh0aGlzLmFsbEZvcm1zRGF0YSk7XHJcblxyXG4gICAgZm9ybXNMaXN0ID0gdGhpcy5tYXJrRm9ybUluRm9ybXNMaXN0QXNDb21wbGV0ZWQoXHJcbiAgICAgIGZvcm1zTGlzdCxcclxuICAgICAgZm9ybXNMaXN0Q29tcGxldGVkXHJcbiAgICApO1xyXG5cclxuICAgIGZvcm1zTGlzdCA9IHRoaXMubWFya0Zvcm1JbkZvcm1zTGlzdEFzRGlzYWJsZWQoXHJcbiAgICAgIGZvcm1zTGlzdCxcclxuICAgICAgZm9ybXNMaXN0Q29tcGxldGVkXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChmb3Jtc0xpc3QubGVuZ3RoICE9PSBmb3Jtc0xpc3RDb21wbGV0ZWQubGVuZ3RoKSB7XHJcbiAgICAgIGFjdGl2ZUZvcm1Db25maWcgPSB0aGlzLmZpbmRBY3RpdmVGb3JtQ29uZmlnKGZvcm1zTGlzdCk7XHJcblxyXG4gICAgICB0aGlzLnNldEFjdGl2ZUZvcm1Db25maWcoYWN0aXZlRm9ybUNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXRGb3Jtc0xpc3QoZm9ybXNMaXN0KTtcclxuICAgIHRoaXMuc2V0Rm9ybXNMaXN0Q29tcGxldGVkKGZvcm1zTGlzdENvbXBsZXRlZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==