tango-app-ui-ticket-user 3.0.32-dev → 3.0.34-dev

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.
Files changed (23) hide show
  1. package/esm2022/lib/components/contact-details/contact-details.component.mjs +4 -4
  2. package/esm2022/lib/components/edge-cameraview/edge-cameraview.component.mjs +4 -4
  3. package/esm2022/lib/components/edgeapp-log/edgeapp-log.component.mjs +4 -4
  4. package/esm2022/lib/components/edit-details/edit-details.component.mjs +4 -4
  5. package/esm2022/lib/components/infratickets/infratickets.component.mjs +162 -83
  6. package/esm2022/lib/components/installation/installation.component.mjs +4 -4
  7. package/esm2022/lib/components/store-activity/store-activity.component.mjs +4 -4
  8. package/esm2022/lib/components/store-info/store-info.component.mjs +4 -4
  9. package/esm2022/lib/components/takeremote/takeremote.component.mjs +4 -4
  10. package/esm2022/lib/components/tango-ticket-users/tango-ticket-users.component.mjs +4 -4
  11. package/esm2022/lib/components/tickets/tickets.component.mjs +4 -4
  12. package/esm2022/lib/route-wrappers/edge-wrapper.module.mjs +5 -5
  13. package/esm2022/lib/services/data.service.mjs +4 -4
  14. package/esm2022/lib/services/excel.service.mjs +4 -4
  15. package/esm2022/lib/services/ticket-infra.service.mjs +4 -4
  16. package/esm2022/lib/tango-ticket-users-routing.module.mjs +5 -5
  17. package/esm2022/lib/tango-ticket-users.module.mjs +5 -5
  18. package/fesm2022/{tango-app-ui-ticket-user-edge-wrapper.module-DM8Er_Bd.mjs → tango-app-ui-ticket-user-edge-wrapper.module-CiSUiLpi.mjs} +5 -5
  19. package/fesm2022/{tango-app-ui-ticket-user-edge-wrapper.module-DM8Er_Bd.mjs.map → tango-app-ui-ticket-user-edge-wrapper.module-CiSUiLpi.mjs.map} +1 -1
  20. package/fesm2022/tango-app-ui-ticket-user.mjs +209 -130
  21. package/fesm2022/tango-app-ui-ticket-user.mjs.map +1 -1
  22. package/lib/components/infratickets/infratickets.component.d.ts +11 -8
  23. package/package.json +1 -1
@@ -84,13 +84,13 @@ export class TakeremoteComponent {
84
84
  dismissModal() {
85
85
  this.Activemodal.close();
86
86
  }
87
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TakeremoteComponent, deps: [{ token: i1.NgbActiveModal }, { token: i2.TicketsService }, { token: i3.ToastService }, { token: i4.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
88
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TakeremoteComponent, selector: "lib-takeremote", inputs: { storeDetails: "storeDetails" }, ngImport: i0, template: "<div class=\"card p-0\">\r\n <div class=\"px-8 pt-5 pb-0\">\r\n <img class=\"mb-3\" src=\"./assets/tango/Images/RemoteIcon.png\">\r\n </div>\r\n <div class=\"card-header border-0 pt-3\">\r\n <div class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label header mb-2\">Take remote</span>\r\n <span class=\"sub-header mb-2\">Please enter the credentials</span>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\"> \r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isEdit\" type=\"button\" (click)=\"viewandEdit()\" [disabled]=\"readOnly === false\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val p-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4117_58968)\">\r\n <path d=\"M9.16602 3.33344H3.33268C2.89065 3.33344 2.46673 3.50904 2.15417 3.8216C1.84161 4.13416 1.66602 4.55808 1.66602 5.00011V16.6668C1.66602 17.1088 1.84161 17.5327 2.15417 17.8453C2.46673 18.1578 2.89065 18.3334 3.33268 18.3334H14.9993C15.4414 18.3334 15.8653 18.1578 16.1779 17.8453C16.4904 17.5327 16.666 17.1088 16.666 16.6668V10.8334M15.416 2.08344C15.7475 1.75192 16.1972 1.56567 16.666 1.56567C17.1349 1.56567 17.5845 1.75192 17.916 2.08344C18.2475 2.41496 18.4338 2.8646 18.4338 3.33344C18.4338 3.80228 18.2475 4.25192 17.916 4.58344L9.99935 12.5001L6.66602 13.3334L7.49935 10.0001L15.416 2.08344Z\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4117_58968\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"myForm\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"mb-3\">\r\n <label for=\"Username\" class=\"form-label\">Any desk ID / Team viewer</label>\r\n <input [ngClass]=\"readOnly?'bg-readonly':''\" type=\"email\" class=\"form-control\" id=\"Username\" formControlName=\"deskId\" [readonly]=\"readOnly\">\r\n </div>\r\n <div *ngIf=\"!viewEdit&&(gs.userAccess | async)?.manage_tickets_isEdit\">\r\n <button type=\"reset\" class=\"btn btn-default btn-primary w-100 me-2\" (click)=\"dismissModal()\">Okay</button>\r\n </div>\r\n <div *ngIf=\"viewEdit\" class=\"d-flex justify-content-between\">\r\n <button type=\"reset\" class=\"btn btn-default btn-outline w-50 me-2\" (click)=\"cancelRemote()\">Cancel</button>\r\n <button type=\"submit\" class=\"btn btn-primary w-50 ms-2\"> Submit </button>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n", styles: [".header{color:var(--Gray-900, #101828)!important;font-size:18px!important;line-height:28px!important}.sub-header{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.fw-bold-400{font-weight:400!important}.fw-bold-600{font-weight:600!important}.msgprofile{width:40px!important;height:40px!important;border-radius:200px;overflow:hidden}.select-wrapper{min-width:50px!important}.custom-select{width:auto!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}input::placeholder{color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px}.bg-readonly{background:var(--Gray-50, #F9FAFB)}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] });
87
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: TakeremoteComponent, deps: [{ token: i1.NgbActiveModal }, { token: i2.TicketsService }, { token: i3.ToastService }, { token: i4.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
88
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: TakeremoteComponent, selector: "lib-takeremote", inputs: { storeDetails: "storeDetails" }, ngImport: i0, template: "<div class=\"card p-0\">\r\n <div class=\"px-8 pt-5 pb-0\">\r\n <img class=\"mb-3\" src=\"./assets/tango/Images/RemoteIcon.png\">\r\n </div>\r\n <div class=\"card-header border-0 pt-3\">\r\n <div class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label header mb-2\">Take remote</span>\r\n <span class=\"sub-header mb-2\">Please enter the credentials</span>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\"> \r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isEdit\" type=\"button\" (click)=\"viewandEdit()\" [disabled]=\"readOnly === false\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val p-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4117_58968)\">\r\n <path d=\"M9.16602 3.33344H3.33268C2.89065 3.33344 2.46673 3.50904 2.15417 3.8216C1.84161 4.13416 1.66602 4.55808 1.66602 5.00011V16.6668C1.66602 17.1088 1.84161 17.5327 2.15417 17.8453C2.46673 18.1578 2.89065 18.3334 3.33268 18.3334H14.9993C15.4414 18.3334 15.8653 18.1578 16.1779 17.8453C16.4904 17.5327 16.666 17.1088 16.666 16.6668V10.8334M15.416 2.08344C15.7475 1.75192 16.1972 1.56567 16.666 1.56567C17.1349 1.56567 17.5845 1.75192 17.916 2.08344C18.2475 2.41496 18.4338 2.8646 18.4338 3.33344C18.4338 3.80228 18.2475 4.25192 17.916 4.58344L9.99935 12.5001L6.66602 13.3334L7.49935 10.0001L15.416 2.08344Z\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4117_58968\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"myForm\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"mb-3\">\r\n <label for=\"Username\" class=\"form-label\">Any desk ID / Team viewer</label>\r\n <input [ngClass]=\"readOnly?'bg-readonly':''\" type=\"email\" class=\"form-control\" id=\"Username\" formControlName=\"deskId\" [readonly]=\"readOnly\">\r\n </div>\r\n <div *ngIf=\"!viewEdit&&(gs.userAccess | async)?.manage_tickets_isEdit\">\r\n <button type=\"reset\" class=\"btn btn-default btn-primary w-100 me-2\" (click)=\"dismissModal()\">Okay</button>\r\n </div>\r\n <div *ngIf=\"viewEdit\" class=\"d-flex justify-content-between\">\r\n <button type=\"reset\" class=\"btn btn-default btn-outline w-50 me-2\" (click)=\"cancelRemote()\">Cancel</button>\r\n <button type=\"submit\" class=\"btn btn-primary w-50 ms-2\"> Submit </button>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n", styles: [".header{color:var(--Gray-900, #101828)!important;font-size:18px!important;line-height:28px!important}.sub-header{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.fw-bold-400{font-weight:400!important}.fw-bold-600{font-weight:600!important}.msgprofile{width:40px!important;height:40px!important;border-radius:200px;overflow:hidden}.select-wrapper{min-width:50px!important}.custom-select{width:auto!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}input::placeholder{color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px}.bg-readonly{background:var(--Gray-50, #F9FAFB)}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] });
89
89
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TakeremoteComponent, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: TakeremoteComponent, decorators: [{
91
91
  type: Component,
92
92
  args: [{ selector: 'lib-takeremote', template: "<div class=\"card p-0\">\r\n <div class=\"px-8 pt-5 pb-0\">\r\n <img class=\"mb-3\" src=\"./assets/tango/Images/RemoteIcon.png\">\r\n </div>\r\n <div class=\"card-header border-0 pt-3\">\r\n <div class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label header mb-2\">Take remote</span>\r\n <span class=\"sub-header mb-2\">Please enter the credentials</span>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\"> \r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isEdit\" type=\"button\" (click)=\"viewandEdit()\" [disabled]=\"readOnly === false\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val p-2\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4117_58968)\">\r\n <path d=\"M9.16602 3.33344H3.33268C2.89065 3.33344 2.46673 3.50904 2.15417 3.8216C1.84161 4.13416 1.66602 4.55808 1.66602 5.00011V16.6668C1.66602 17.1088 1.84161 17.5327 2.15417 17.8453C2.46673 18.1578 2.89065 18.3334 3.33268 18.3334H14.9993C15.4414 18.3334 15.8653 18.1578 16.1779 17.8453C16.4904 17.5327 16.666 17.1088 16.666 16.6668V10.8334M15.416 2.08344C15.7475 1.75192 16.1972 1.56567 16.666 1.56567C17.1349 1.56567 17.5845 1.75192 17.916 2.08344C18.2475 2.41496 18.4338 2.8646 18.4338 3.33344C18.4338 3.80228 18.2475 4.25192 17.916 4.58344L9.99935 12.5001L6.66602 13.3334L7.49935 10.0001L15.416 2.08344Z\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4117_58968\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <form [formGroup]=\"myForm\" (ngSubmit)=\"onSubmit()\">\r\n <div class=\"mb-3\">\r\n <label for=\"Username\" class=\"form-label\">Any desk ID / Team viewer</label>\r\n <input [ngClass]=\"readOnly?'bg-readonly':''\" type=\"email\" class=\"form-control\" id=\"Username\" formControlName=\"deskId\" [readonly]=\"readOnly\">\r\n </div>\r\n <div *ngIf=\"!viewEdit&&(gs.userAccess | async)?.manage_tickets_isEdit\">\r\n <button type=\"reset\" class=\"btn btn-default btn-primary w-100 me-2\" (click)=\"dismissModal()\">Okay</button>\r\n </div>\r\n <div *ngIf=\"viewEdit\" class=\"d-flex justify-content-between\">\r\n <button type=\"reset\" class=\"btn btn-default btn-outline w-50 me-2\" (click)=\"cancelRemote()\">Cancel</button>\r\n <button type=\"submit\" class=\"btn btn-primary w-50 ms-2\"> Submit </button>\r\n </div>\r\n </form>\r\n </div>\r\n</div>\r\n", styles: [".header{color:var(--Gray-900, #101828)!important;font-size:18px!important;line-height:28px!important}.sub-header{color:var(--Gray-500, #667085)!important;font-size:14px!important;line-height:20px}.fw-bold-400{font-weight:400!important}.fw-bold-600{font-weight:600!important}.msgprofile{width:40px!important;height:40px!important;border-radius:200px;overflow:hidden}.select-wrapper{min-width:50px!important}.custom-select{width:auto!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}input::placeholder{color:var(--Gray-500, #667085);font-size:16px;font-weight:400;line-height:24px}.bg-readonly{background:var(--Gray-50, #F9FAFB)}\n"] }]
93
93
  }], ctorParameters: () => [{ type: i1.NgbActiveModal }, { type: i2.TicketsService }, { type: i3.ToastService }, { type: i4.GlobalStateService }], propDecorators: { storeDetails: [{
94
94
  type: Input
95
95
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFrZXJlbW90ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL2NvbXBvbmVudHMvdGFrZXJlbW90ZS90YWtlcmVtb3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy90YWtlcmVtb3RlL3Rha2VyZW1vdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUlwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFRMUMsTUFBTSxPQUFPLG1CQUFtQjtJQVNUO0lBQ1g7SUFDQTtJQUNEO0lBWFQsTUFBTSxDQUFZO0lBQ2xCLFFBQVEsR0FBVyxJQUFJLENBQUM7SUFDeEIsUUFBUSxHQUFXLEtBQUssQ0FBQztJQUN6QixJQUFJLEdBQVksS0FBSyxDQUFDO0lBQ3RCLE1BQU0sQ0FBTTtJQUNILFlBQVksQ0FBSztJQUNULFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRTFDLFlBQXFCLFdBQTBCLEVBQ3JDLE9BQXNCLEVBQ3RCLEtBQWtCLEVBQ25CLEVBQXFCO1FBSFQsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFDckMsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDMUIsTUFBTSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUks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Qjs0S0FVakIsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBUaWNrZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRha2VyZW1vdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWtlcmVtb3RlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFrZXJlbW90ZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRha2VyZW1vdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIG15Rm9ybTogRm9ybUdyb3VwO1xyXG4gIHJlYWRPbmx5OmJvb2xlYW4gPSB0cnVlO1xyXG4gIHZpZXdFZGl0OmJvb2xlYW4gPSBmYWxzZTtcclxuICBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcmVtb3RlOiBhbnk7XHJcbiAgQElucHV0KCkgc3RvcmVEZXRhaWxzOmFueTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoIHByaXZhdGUgQWN0aXZlbW9kYWw6TmdiQWN0aXZlTW9kYWwsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6VGlja2V0c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0OlRvYXN0U2VydmljZSxcclxuICAgIHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2UpIHsgXHJcbiAgICB0aGlzLm15Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgICBkZXNrSWQ6IG5ldyBGb3JtQ29udHJvbCh0aGlzLnJlbW90ZSksIFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgIHRoaXMuZ2V0UmVtb3RlKCk7XHJcbiAgfVxyXG4gIGdldFJlbW90ZSgpe1xyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIHNlbGVjdGVkRmllbGRzOiBbXCJzdG9yZUNvbm5lY3Rpb25JZFwiXVxyXG4gICAgfVxyXG4gICAgICB0aGlzLnNlcnZpY2UuZ2V0UmVtb3RlKHRoaXMuc3RvcmVEZXRhaWxzPy5zdG9yZUlkLGRhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6KHJlczphbnkpPT4ge1xyXG4gICAgICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09MjAwKXtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdGUgPSByZXM/LmRhdGE/LnN0b3JlQ29ubmVjdGlvbklkO1xyXG4gICAgICAgICAgICB0aGlzLm15Rm9ybS5nZXQoJ2Rlc2tJZCcpPy5zZXRWYWx1ZSh0aGlzLnJlbW90ZSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICB0aGlzLkFjdGl2ZW1vZGFsLmNsb3NlKCk7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICBcInN0b3JlTmFtZVwiOiB0aGlzLnN0b3JlRGV0YWlscz8uc3RvcmVOYW1lLFxyXG4gICAgICAgIFwiY2xpZW50SWRcIjogdGhpcy5zdG9yZURldGFpbHM/LmNsaWVudElkLFxyXG4gICAgICAgIFwic3RvcmVDb25uZWN0aW9uSWRcIjogdGhpcy5teUZvcm0uZ2V0KCdkZXNrSWQnKT8udmFsdWVcclxuICAgIH1cclxuICAgIGlmKHRoaXMubXlGb3JtLnZhbGlkKXtcclxuICAgICAgdGhpcy5zZXJ2aWNlLnVwZGF0ZVJlbW90ZSh0aGlzLnN0b3JlRGV0YWlscz8uc3RvcmVJZCxkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OihyZXM6YW55KT0+IHtcclxuICAgICAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PSAyMDApe1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0LmdldFN1Y2Nlc3NUb2FzdChyZXM/LmRhdGE/Lm1lc3NhZ2UpXHJcbiAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KHJlcz8uZGF0YT8ubWVzc2FnZSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOihlcnIpPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KGVyci5FcnJvcilcclxuICAgICAgICB9LFxyXG4gICAgICB9KVxyXG4gICAgfWVsc2V7XHJcbiAgICBcclxuICAgIH1cclxuICB9XHJcbiAgc2hvd1Bhc3N3b3JkKCkge1xyXG4gICAgdGhpcy5zaG93ID0gIXRoaXMuc2hvdztcclxufVxyXG4gIGNhbmNlbFJlbW90ZSgpe1xyXG4gICAgdGhpcy5yZWFkT25seSA9IHRydWU7XHJcbiAgICB0aGlzLnZpZXdFZGl0ID0gZmFsc2U7XHJcbiAgfVxyXG4gIHZpZXdhbmRFZGl0KCl7XHJcbiAgICAgdGhpcy5yZWFkT25seSA9IGZhbHNlO1xyXG4gICAgIHRoaXMudmlld0VkaXQgPSB0cnVlO1xyXG4gIH1cclxuICBkaXNtaXNzTW9kYWwoKXtcclxuICAgIHRoaXMuQWN0aXZlbW9kYWwuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmQgcC0wXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHgtOCBwdC01IHBiLTBcIj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwibWItM1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9SZW1vdGVJY29uLnBuZ1wiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXIgbWItMlwiPlRha2UgcmVtb3RlPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXIgbWItMlwiPlBsZWFzZSBlbnRlciB0aGUgY3JlZGVudGlhbHM8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+ICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc0VkaXRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInZpZXdhbmRFZGl0KClcIiBbZGlzYWJsZWRdPVwicmVhZE9ubHkgPT09IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsIHAtMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80MTE3XzU4OTY4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk05LjE2NjAyIDMuMzMzNDRIMy4zMzI2OEMyLjg5MDY1IDMuMzMzNDQgMi40NjY3MyAzLjUwOTA0IDIuMTU0MTcgMy44MjE2QzEuODQxNjEgNC4xMzQxNiAxLjY2NjAyIDQuNTU4MDggMS42NjYwMiA1LjAwMDExVjE2LjY2NjhDMS42NjYwMiAxNy4xMDg4IDEuODQxNjEgMTcuNTMyNyAyLjE1NDE3IDE3Ljg0NTNDMi40NjY3MyAxOC4xNTc4IDIuODkwNjUgMTguMzMzNCAzLjMzMjY4IDE4LjMzMzRIMTQuOTk5M0MxNS40NDE0IDE4LjMzMzQgMTUuODY1MyAxOC4xNTc4IDE2LjE3NzkgMTcuODQ1M0MxNi40OTA0IDE3LjUzMjcgMTYuNjY2IDE3LjEwODggMTYuNjY2IDE2LjY2NjhWMTAuODMzNE0xNS40MTYgMi4wODM0NEMxNS43NDc1IDEuNzUxOTIgMTYuMTk3MiAxLjU2NTY3IDE2LjY2NiAxLjU2NTY3QzE3LjEzNDkgMS41NjU2NyAxNy41ODQ1IDEuNzUxOTIgMTcuOTE2IDIuMDgzNDRDMTguMjQ3NSAyLjQxNDk2IDE4LjQzMzggMi44NjQ2IDE4LjQzMzggMy4zMzM0NEMxOC40MzM4IDMuODAyMjggMTguMjQ3NSA0LjI1MTkyIDE3LjkxNiA0LjU4MzQ0TDkuOTk5MzUgMTIuNTAwMUw2LjY2NjAyIDEzLjMzMzRMNy40OTkzNSAxMC4wMDAxTDE1LjQxNiAyLjA4MzQ0WlwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80MTE3XzU4OTY4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cIm15Rm9ybVwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlVzZXJuYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QW55IGRlc2sgSUQgLyBUZWFtIHZpZXdlcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IFtuZ0NsYXNzXT1cInJlYWRPbmx5PydiZy1yZWFkb25seSc6JydcIiB0eXBlPVwiZW1haWxcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiVXNlcm5hbWVcIiBmb3JtQ29udHJvbE5hbWU9XCJkZXNrSWRcIiBbcmVhZG9ubHldPVwicmVhZE9ubHlcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhdmlld0VkaXQmJihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc0VkaXRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInJlc2V0XCIgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXByaW1hcnkgdy0xMDAgbWUtMlwiIChjbGljayk9XCJkaXNtaXNzTW9kYWwoKVwiPk9rYXk8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ2aWV3RWRpdFwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJyZXNldFwiIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1vdXRsaW5lIHctNTAgbWUtMlwiIChjbGljayk9XCJjYW5jZWxSZW1vdGUoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgdy01MCBtcy0yXCI+IFN1Ym1pdCA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Zvcm0+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFrZXJlbW90ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL2NvbXBvbmVudHMvdGFrZXJlbW90ZS90YWtlcmVtb3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy90YWtlcmVtb3RlL3Rha2VyZW1vdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUlwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFRMUMsTUFBTSxPQUFPLG1CQUFtQjtJQVNUO0lBQ1g7SUFDQTtJQUNEO0lBWFQsTUFBTSxDQUFZO0lBQ2xCLFFBQVEsR0FBVyxJQUFJLENBQUM7SUFDeEIsUUFBUSxHQUFXLEtBQUssQ0FBQztJQUN6QixJQUFJLEdBQVksS0FBSyxDQUFDO0lBQ3RCLE1BQU0sQ0FBTTtJQUNILFlBQVksQ0FBSztJQUNULFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRTFDLFlBQXFCLFdBQTBCLEVBQ3JDLE9BQXNCLEVBQ3RCLEtBQWtCLEVBQ25CLEVBQXFCO1FBSFQsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFDckMsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDMUIsTUFBTSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUks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Qjs0S0FVakIsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBUaWNrZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRha2VyZW1vdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWtlcmVtb3RlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFrZXJlbW90ZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRha2VyZW1vdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIG15Rm9ybTogRm9ybUdyb3VwO1xyXG4gIHJlYWRPbmx5OmJvb2xlYW4gPSB0cnVlO1xyXG4gIHZpZXdFZGl0OmJvb2xlYW4gPSBmYWxzZTtcclxuICBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcmVtb3RlOiBhbnk7XHJcbiAgQElucHV0KCkgc3RvcmVEZXRhaWxzOmFueTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoIHByaXZhdGUgQWN0aXZlbW9kYWw6TmdiQWN0aXZlTW9kYWwsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6VGlja2V0c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0OlRvYXN0U2VydmljZSxcclxuICAgIHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2UpIHsgXHJcbiAgICB0aGlzLm15Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgICBkZXNrSWQ6IG5ldyBGb3JtQ29udHJvbCh0aGlzLnJlbW90ZSksIFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgIHRoaXMuZ2V0UmVtb3RlKCk7XHJcbiAgfVxyXG4gIGdldFJlbW90ZSgpe1xyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIHNlbGVjdGVkRmllbGRzOiBbXCJzdG9yZUNvbm5lY3Rpb25JZFwiXVxyXG4gICAgfVxyXG4gICAgICB0aGlzLnNlcnZpY2UuZ2V0UmVtb3RlKHRoaXMuc3RvcmVEZXRhaWxzPy5zdG9yZUlkLGRhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6KHJlczphbnkpPT4ge1xyXG4gICAgICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09MjAwKXtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdGUgPSByZXM/LmRhdGE/LnN0b3JlQ29ubmVjdGlvbklkO1xyXG4gICAgICAgICAgICB0aGlzLm15Rm9ybS5nZXQoJ2Rlc2tJZCcpPy5zZXRWYWx1ZSh0aGlzLnJlbW90ZSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICB0aGlzLkFjdGl2ZW1vZGFsLmNsb3NlKCk7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICBcInN0b3JlTmFtZVwiOiB0aGlzLnN0b3JlRGV0YWlscz8uc3RvcmVOYW1lLFxyXG4gICAgICAgIFwiY2xpZW50SWRcIjogdGhpcy5zdG9yZURldGFpbHM/LmNsaWVudElkLFxyXG4gICAgICAgIFwic3RvcmVDb25uZWN0aW9uSWRcIjogdGhpcy5teUZvcm0uZ2V0KCdkZXNrSWQnKT8udmFsdWVcclxuICAgIH1cclxuICAgIGlmKHRoaXMubXlGb3JtLnZhbGlkKXtcclxuICAgICAgdGhpcy5zZXJ2aWNlLnVwZGF0ZVJlbW90ZSh0aGlzLnN0b3JlRGV0YWlscz8uc3RvcmVJZCxkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OihyZXM6YW55KT0+IHtcclxuICAgICAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PSAyMDApe1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0LmdldFN1Y2Nlc3NUb2FzdChyZXM/LmRhdGE/Lm1lc3NhZ2UpXHJcbiAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KHJlcz8uZGF0YT8ubWVzc2FnZSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOihlcnIpPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KGVyci5FcnJvcilcclxuICAgICAgICB9LFxyXG4gICAgICB9KVxyXG4gICAgfWVsc2V7XHJcbiAgICBcclxuICAgIH1cclxuICB9XHJcbiAgc2hvd1Bhc3N3b3JkKCkge1xyXG4gICAgdGhpcy5zaG93ID0gIXRoaXMuc2hvdztcclxufVxyXG4gIGNhbmNlbFJlbW90ZSgpe1xyXG4gICAgdGhpcy5yZWFkT25seSA9IHRydWU7XHJcbiAgICB0aGlzLnZpZXdFZGl0ID0gZmFsc2U7XHJcbiAgfVxyXG4gIHZpZXdhbmRFZGl0KCl7XHJcbiAgICAgdGhpcy5yZWFkT25seSA9IGZhbHNlO1xyXG4gICAgIHRoaXMudmlld0VkaXQgPSB0cnVlO1xyXG4gIH1cclxuICBkaXNtaXNzTW9kYWwoKXtcclxuICAgIHRoaXMuQWN0aXZlbW9kYWwuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmQgcC0wXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHgtOCBwdC01IHBiLTBcIj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwibWItM1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9SZW1vdGVJY29uLnBuZ1wiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBoZWFkZXIgbWItMlwiPlRha2UgcmVtb3RlPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1Yi1oZWFkZXIgbWItMlwiPlBsZWFzZSBlbnRlciB0aGUgY3JlZGVudGlhbHM8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+ICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc0VkaXRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInZpZXdhbmRFZGl0KClcIiBbZGlzYWJsZWRdPVwicmVhZE9ubHkgPT09IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsIHAtMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF80MTE3XzU4OTY4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk05LjE2NjAyIDMuMzMzNDRIMy4zMzI2OEMyLjg5MDY1IDMuMzMzNDQgMi40NjY3MyAzLjUwOTA0IDIuMTU0MTcgMy44MjE2QzEuODQxNjEgNC4xMzQxNiAxLjY2NjAyIDQuNTU4MDggMS42NjYwMiA1LjAwMDExVjE2LjY2NjhDMS42NjYwMiAxNy4xMDg4IDEuODQxNjEgMTcuNTMyNyAyLjE1NDE3IDE3Ljg0NTNDMi40NjY3MyAxOC4xNTc4IDIuODkwNjUgMTguMzMzNCAzLjMzMjY4IDE4LjMzMzRIMTQuOTk5M0MxNS40NDE0IDE4LjMzMzQgMTUuODY1MyAxOC4xNTc4IDE2LjE3NzkgMTcuODQ1M0MxNi40OTA0IDE3LjUzMjcgMTYuNjY2IDE3LjEwODggMTYuNjY2IDE2LjY2NjhWMTAuODMzNE0xNS40MTYgMi4wODM0NEMxNS43NDc1IDEuNzUxOTIgMTYuMTk3MiAxLjU2NTY3IDE2LjY2NiAxLjU2NTY3QzE3LjEzNDkgMS41NjU2NyAxNy41ODQ1IDEuNzUxOTIgMTcuOTE2IDIuMDgzNDRDMTguMjQ3NSAyLjQxNDk2IDE4LjQzMzggMi44NjQ2IDE4LjQzMzggMy4zMzM0NEMxOC40MzM4IDMuODAyMjggMTguMjQ3NSA0LjI1MTkyIDE3LjkxNiA0LjU4MzQ0TDkuOTk5MzUgMTIuNTAwMUw2LjY2NjAyIDEzLjMzMzRMNy40OTkzNSAxMC4wMDAxTDE1LjQxNiAyLjA4MzQ0WlwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80MTE3XzU4OTY4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cIm15Rm9ybVwiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlVzZXJuYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QW55IGRlc2sgSUQgLyBUZWFtIHZpZXdlcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IFtuZ0NsYXNzXT1cInJlYWRPbmx5PydiZy1yZWFkb25seSc6JydcIiB0eXBlPVwiZW1haWxcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiVXNlcm5hbWVcIiBmb3JtQ29udHJvbE5hbWU9XCJkZXNrSWRcIiBbcmVhZG9ubHldPVwicmVhZE9ubHlcIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhdmlld0VkaXQmJihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc0VkaXRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInJlc2V0XCIgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXByaW1hcnkgdy0xMDAgbWUtMlwiIChjbGljayk9XCJkaXNtaXNzTW9kYWwoKVwiPk9rYXk8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ2aWV3RWRpdFwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJyZXNldFwiIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1vdXRsaW5lIHctNTAgbWUtMlwiIChjbGljayk9XCJjYW5jZWxSZW1vdGUoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgdy01MCBtcy0yXCI+IFN1Ym1pdCA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Zvcm0+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -31,11 +31,11 @@ export class TangoTicketUsersComponent {
31
31
  Selectedtabs(value) {
32
32
  this.SelectedTab = value;
33
33
  }
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoTicketUsersComponent, deps: [{ token: i1.PageInfoService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TangoTicketUsersComponent, selector: "lib-tango-ticket-users", ngImport: i0, template: "<div class=\"card mb-5 py-3 px-5\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('installation')\">\r\n <a [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\"\r\n [ngClass]=\"SelectedTab === 'installation' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Installation\r\n </a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('infra')\">\r\n <a [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'infra' }\"\r\n [ngClass]=\"SelectedTab === 'infra' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Infra\r\n </a>\r\n </li> \r\n <li class=\"nav-item\" (click)=\"Selectedtabs('dataMismatch')\">\r\n <a [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'dataMismatch'}\" [ngClass]=\"SelectedTab ==='dataMismatch' ? 'active' :''\" class=\"nav-link cursor-pointer me-3\">Data Mismatch</a>\r\n </li>\r\n <!-- <li class=\"nav-item\" (click)=\"Selectedtabs('audit')\"><a [ngClass]=\"SelectedTab ==='audit' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Audit</a>\r\n </li> -->\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('mat')\"><a [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'mat'}\" [ngClass]=\"SelectedTab ==='mat' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Employee Training</a>\r\n </li>\r\n </ul>\r\n</div>\r\n<router-outlet></router-outlet>", styles: [".nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: TangoTicketUsersComponent, deps: [{ token: i1.PageInfoService }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
35
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: TangoTicketUsersComponent, selector: "lib-tango-ticket-users", ngImport: i0, template: "<div class=\"card mb-5 py-3 px-5\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('installation')\">\r\n <a [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\"\r\n [ngClass]=\"SelectedTab === 'installation' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Installation\r\n </a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('infra')\">\r\n <a [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'infra' }\"\r\n [ngClass]=\"SelectedTab === 'infra' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Infra\r\n </a>\r\n </li> \r\n <li class=\"nav-item\" (click)=\"Selectedtabs('dataMismatch')\">\r\n <a [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'dataMismatch'}\" [ngClass]=\"SelectedTab ==='dataMismatch' ? 'active' :''\" class=\"nav-link cursor-pointer me-3\">Data Mismatch</a>\r\n </li>\r\n <!-- <li class=\"nav-item\" (click)=\"Selectedtabs('audit')\"><a [ngClass]=\"SelectedTab ==='audit' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Audit</a>\r\n </li> -->\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('mat')\"><a [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'mat'}\" [ngClass]=\"SelectedTab ==='mat' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Employee Training</a>\r\n </li>\r\n </ul>\r\n</div>\r\n<router-outlet></router-outlet>", styles: [".nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TangoTicketUsersComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: TangoTicketUsersComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ selector: 'lib-tango-ticket-users', template: "<div class=\"card mb-5 py-3 px-5\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('installation')\">\r\n <a [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'installation' }\"\r\n [ngClass]=\"SelectedTab === 'installation' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Installation\r\n </a>\r\n </li>\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('infra')\">\r\n <a [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'infra' }\"\r\n [ngClass]=\"SelectedTab === 'infra' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Infra\r\n </a>\r\n </li> \r\n <li class=\"nav-item\" (click)=\"Selectedtabs('dataMismatch')\">\r\n <a [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'dataMismatch'}\" [ngClass]=\"SelectedTab ==='dataMismatch' ? 'active' :''\" class=\"nav-link cursor-pointer me-3\">Data Mismatch</a>\r\n </li>\r\n <!-- <li class=\"nav-item\" (click)=\"Selectedtabs('audit')\"><a [ngClass]=\"SelectedTab ==='audit' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Audit</a>\r\n </li> -->\r\n <li class=\"nav-item\" (click)=\"Selectedtabs('mat')\"><a [routerLink]=\"['/tickets/users']\" [queryParams]=\"{ type: 'mat'}\" [ngClass]=\"SelectedTab ==='mat' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Employee Training</a>\r\n </li>\r\n </ul>\r\n</div>\r\n<router-outlet></router-outlet>", styles: [".nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}\n"] }]
40
40
  }], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i2.ActivatedRoute }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tdGlja2V0LXVzZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy90YW5nby10aWNrZXQtdXNlcnMvdGFuZ28tdGlja2V0LXVzZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy90YW5nby10aWNrZXQtdXNlcnMvdGFuZ28tdGlja2V0LXVzZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBU2xELE1BQU0sT0FBTyx5QkFBeUI7SUFHMUI7SUFBa0M7SUFGNUMsV0FBVyxHQUFLLE9BQU8sQ0FBQTtJQUN2QixZQUNVLFFBQXlCLEVBQVMsS0FBcUI7UUFBdkQsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUUvRCxDQUFDO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQy9CLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMscUlBQXFJLENBQUMsQ0FBQztRQUNwSyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztZQUMzQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7WUFDekUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO1NBQ3pFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBUztRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO3VHQTFCVSx5QkFBeUI7MkZBQXpCLHlCQUF5Qiw4RENUdEMsb3NEQXlCK0I7OzJGRGhCbEIseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YW5nby10aWNrZXQtdXNlcnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YW5nby10aWNrZXQtdXNlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90YW5nby10aWNrZXQtdXNlcnMuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYW5nb1RpY2tldFVzZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBTZWxlY3RlZFRhYjphbnk9J2luZnJhJ1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKXtcclxuXHJcbiAgICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICBpZiAocGFyYW1zLmhhc093blByb3BlcnR5KCd0eXBlJykpIHtcclxuICAgICAgICAgIGNvbnN0IHR5cGUgPSBwYXJhbXNbJ3R5cGUnXTtcclxuICAgICAgICAgIHRoaXMuU2VsZWN0ZWR0YWJzKHR5cGUpOyBcclxuICAgICAgfVxyXG4gIH0pO1xyXG4gICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gIH1cclxuICBzZXRQYWdlRGF0YSgpIHtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0VGl0bGUoXCJUaWNrZXRzXCIpO1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXREZXNjcmlwdGlvbihcIlNlYW1sZXNzbHkgaGFuZGxlLCB0cmFjaywgYW5kIHJlc29sdmUgaXNzdWVzIHRocm91Z2ggb3VyIGludHVpdGl2ZSB0aWNrZXQsIG9wdGltaXppbmcgc3VwcG9ydCBhbmQgZW5oYW5jaW5nIG9wZXJhdGlvbmFsIGVmZmljaWVuY3kuXCIpO1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRCcmVhZGNydW1icyhbXHJcbiAgICAgIHsgdGl0bGU6IFwiTWFuYWdlXCIsIHBhdGg6IFwiL21hbmFnZVwiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiBcIk1hbmFnZVwiLCBwYXRoOiBcIi9tYW5hZ2VcIiwgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZSB9LFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBTZWxlY3RlZHRhYnModmFsdWU6YW55KXtcclxuICAgIHRoaXMuU2VsZWN0ZWRUYWIgPSB2YWx1ZTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIG1iLTUgcHktMyBweC01XCI+XHJcbiAgICA8dWwgY2xhc3M9XCJuYXYgbmF2LXN0cmV0Y2ggbmF2LWxpbmUtdGFiczEgbmF2LWxpbmUtdGFicyBib3JkZXItdHJhbnNwYXJlbnQgZmxleC1ub3dyYXBcIj5cclxuICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiIChjbGljayk9XCJTZWxlY3RlZHRhYnMoJ2luc3RhbGxhdGlvbicpXCI+XHJcbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL3RpY2tldHMvdXNlcnMnXVwiIFtxdWVyeVBhcmFtc109XCJ7IHR5cGU6ICdpbnN0YWxsYXRpb24nIH1cIlxyXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0gJ2luc3RhbGxhdGlvbicgPyAnYWN0aXZlJyA6ICcnXCIgY2xhc3M9XCJuYXYtbGluayBjdXJzb3ItcG9pbnRlciBuby1ib3JkZXIgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgSW5zdGFsbGF0aW9uXHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cIlNlbGVjdGVkdGFicygnaW5mcmEnKVwiPlxyXG4gICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy90aWNrZXRzL3VzZXJzJ11cIiBbcXVlcnlQYXJhbXNdPVwieyB0eXBlOiAnaW5mcmEnIH1cIlxyXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0gJ2luZnJhJyA/ICdhY3RpdmUnIDogJydcIiBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICBJbmZyYVxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9saT4gICAgXHJcbiAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiAoY2xpY2spPVwiU2VsZWN0ZWR0YWJzKCdkYXRhTWlzbWF0Y2gnKVwiPlxyXG4gICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy90aWNrZXRzL3VzZXJzJ11cIiBbcXVlcnlQYXJhbXNdPVwieyB0eXBlOiAnZGF0YU1pc21hdGNoJ31cIiBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0nZGF0YU1pc21hdGNoJyA/ICdhY3RpdmUnIDonJ1wiIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbWUtM1wiPkRhdGEgTWlzbWF0Y2g8L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8IS0tIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cIlNlbGVjdGVkdGFicygnYXVkaXQnKVwiPjxhIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSdhdWRpdCcgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS0zXCI+QXVkaXQ8L2E+XHJcbiAgICAgICAgPC9saT4gIC0tPlxyXG4gICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiIChjbGljayk9XCJTZWxlY3RlZHRhYnMoJ21hdCcpXCI+PGEgW3JvdXRlckxpbmtdPVwiWycvdGlja2V0cy91c2VycyddXCIgW3F1ZXJ5UGFyYW1zXT1cInsgdHlwZTogJ21hdCd9XCIgW25nQ2xhc3NdPVwiU2VsZWN0ZWRUYWIgPT09J21hdCcgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS0zXCI+RW1wbG95ZWUgVHJhaW5pbmc8L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbjwvZGl2PlxyXG48cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+Il19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tdGlja2V0LXVzZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy90YW5nby10aWNrZXQtdXNlcnMvdGFuZ28tdGlja2V0LXVzZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy90YW5nby10aWNrZXQtdXNlcnMvdGFuZ28tdGlja2V0LXVzZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBU2xELE1BQU0sT0FBTyx5QkFBeUI7SUFHMUI7SUFBa0M7SUFGNUMsV0FBVyxHQUFLLE9BQU8sQ0FBQTtJQUN2QixZQUNVLFFBQXlCLEVBQVMsS0FBcUI7UUFBdkQsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUUvRCxDQUFDO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQy9CLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMscUlBQXFJLENBQUMsQ0FBQztRQUNwSyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztZQUMzQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7WUFDekUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO1NBQ3pFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBUztRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO3dHQTFCVSx5QkFBeUI7NEZBQXpCLHlCQUF5Qiw4RENUdEMsb3NEQXlCK0I7OzRGRGhCbEIseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YW5nby10aWNrZXQtdXNlcnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YW5nby10aWNrZXQtdXNlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90YW5nby10aWNrZXQtdXNlcnMuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYW5nb1RpY2tldFVzZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBTZWxlY3RlZFRhYjphbnk9J2luZnJhJ1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKXtcclxuXHJcbiAgICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICBpZiAocGFyYW1zLmhhc093blByb3BlcnR5KCd0eXBlJykpIHtcclxuICAgICAgICAgIGNvbnN0IHR5cGUgPSBwYXJhbXNbJ3R5cGUnXTtcclxuICAgICAgICAgIHRoaXMuU2VsZWN0ZWR0YWJzKHR5cGUpOyBcclxuICAgICAgfVxyXG4gIH0pO1xyXG4gICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gIH1cclxuICBzZXRQYWdlRGF0YSgpIHtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0VGl0bGUoXCJUaWNrZXRzXCIpO1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXREZXNjcmlwdGlvbihcIlNlYW1sZXNzbHkgaGFuZGxlLCB0cmFjaywgYW5kIHJlc29sdmUgaXNzdWVzIHRocm91Z2ggb3VyIGludHVpdGl2ZSB0aWNrZXQsIG9wdGltaXppbmcgc3VwcG9ydCBhbmQgZW5oYW5jaW5nIG9wZXJhdGlvbmFsIGVmZmljaWVuY3kuXCIpO1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRCcmVhZGNydW1icyhbXHJcbiAgICAgIHsgdGl0bGU6IFwiTWFuYWdlXCIsIHBhdGg6IFwiL21hbmFnZVwiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiBcIk1hbmFnZVwiLCBwYXRoOiBcIi9tYW5hZ2VcIiwgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZSB9LFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBTZWxlY3RlZHRhYnModmFsdWU6YW55KXtcclxuICAgIHRoaXMuU2VsZWN0ZWRUYWIgPSB2YWx1ZTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIG1iLTUgcHktMyBweC01XCI+XHJcbiAgICA8dWwgY2xhc3M9XCJuYXYgbmF2LXN0cmV0Y2ggbmF2LWxpbmUtdGFiczEgbmF2LWxpbmUtdGFicyBib3JkZXItdHJhbnNwYXJlbnQgZmxleC1ub3dyYXBcIj5cclxuICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiIChjbGljayk9XCJTZWxlY3RlZHRhYnMoJ2luc3RhbGxhdGlvbicpXCI+XHJcbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL3RpY2tldHMvdXNlcnMnXVwiIFtxdWVyeVBhcmFtc109XCJ7IHR5cGU6ICdpbnN0YWxsYXRpb24nIH1cIlxyXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0gJ2luc3RhbGxhdGlvbicgPyAnYWN0aXZlJyA6ICcnXCIgY2xhc3M9XCJuYXYtbGluayBjdXJzb3ItcG9pbnRlciBuby1ib3JkZXIgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgSW5zdGFsbGF0aW9uXHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cIlNlbGVjdGVkdGFicygnaW5mcmEnKVwiPlxyXG4gICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy90aWNrZXRzL3VzZXJzJ11cIiBbcXVlcnlQYXJhbXNdPVwieyB0eXBlOiAnaW5mcmEnIH1cIlxyXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0gJ2luZnJhJyA/ICdhY3RpdmUnIDogJydcIiBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICBJbmZyYVxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9saT4gICAgXHJcbiAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiAoY2xpY2spPVwiU2VsZWN0ZWR0YWJzKCdkYXRhTWlzbWF0Y2gnKVwiPlxyXG4gICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy90aWNrZXRzL3VzZXJzJ11cIiBbcXVlcnlQYXJhbXNdPVwieyB0eXBlOiAnZGF0YU1pc21hdGNoJ31cIiBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0nZGF0YU1pc21hdGNoJyA/ICdhY3RpdmUnIDonJ1wiIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbWUtM1wiPkRhdGEgTWlzbWF0Y2g8L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8IS0tIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cIlNlbGVjdGVkdGFicygnYXVkaXQnKVwiPjxhIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSdhdWRpdCcgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS0zXCI+QXVkaXQ8L2E+XHJcbiAgICAgICAgPC9saT4gIC0tPlxyXG4gICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiIChjbGljayk9XCJTZWxlY3RlZHRhYnMoJ21hdCcpXCI+PGEgW3JvdXRlckxpbmtdPVwiWycvdGlja2V0cy91c2VycyddXCIgW3F1ZXJ5UGFyYW1zXT1cInsgdHlwZTogJ21hdCd9XCIgW25nQ2xhc3NdPVwiU2VsZWN0ZWRUYWIgPT09J21hdCcgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS0zXCI+RW1wbG95ZWUgVHJhaW5pbmc8L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbjwvZGl2PlxyXG48cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+Il19