@bnsights/bbsf-admin-portal 1.0.62 → 1.0.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/bundles/bnsights-bbsf-admin-portal.umd.js +6 -8
- package/bundles/bnsights-bbsf-admin-portal.umd.js.map +1 -1
- package/esm2015/lib/Pages/shared/components/survey/survey-info/add-question/add-question.component.js +2 -2
- package/esm2015/lib/Pages/shared/components/survey/survey-info/survey-info.component.js +3 -3
- package/esm2015/lib/Pages/shared/components/survey/survey.component.js +2 -2
- package/esm2015/lib/Pages/users/users.component.js +2 -3
- package/fesm2015/bnsights-bbsf-admin-portal.js +6 -8
- package/fesm2015/bnsights-bbsf-admin-portal.js.map +1 -1
- package/package.json +2 -2
- package/src/lib/assets/sass/custom-styles.scss +6 -6
- package/bnsights-bbsf-admin-portal-1.0.62.tgz +0 -0
|
@@ -216,7 +216,7 @@ export class SurveyComponent extends AppBaseComponent {
|
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
SurveyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SurveyComponent, deps: [{ token: i0.Injector }, { token: i1.SurveyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
219
|
-
SurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SurveyComponent, selector: "app-survey", viewQueries: [{ propertyName: "pagingElement", first: true, predicate: ["pagingViewElement"], descendants: true }, { propertyName: "addModal", first: true, predicate: ["addModal"], descendants: true }, { propertyName: "editModal", first: true, predicate: ["editModal"], descendants: true }, { propertyName: "deleteConfirmationModalControl", first: true, predicate: ["deleteConfirmationModalControl"], descendants: true }, { propertyName: "duplicateModal", first: true, predicate: ["duplicateModal"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--toolbar-->\r\n<bbsf-page-header-component [options]=\"pageHeaderOptions\" [group]=\"filtersForm\"></bbsf-page-header-component>\r\n<!--End toolbar-->\r\n<div class=\"container-xxl\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6 col-xl-
|
|
219
|
+
SurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SurveyComponent, selector: "app-survey", viewQueries: [{ propertyName: "pagingElement", first: true, predicate: ["pagingViewElement"], descendants: true }, { propertyName: "addModal", first: true, predicate: ["addModal"], descendants: true }, { propertyName: "editModal", first: true, predicate: ["editModal"], descendants: true }, { propertyName: "deleteConfirmationModalControl", first: true, predicate: ["deleteConfirmationModalControl"], descendants: true }, { propertyName: "duplicateModal", first: true, predicate: ["duplicateModal"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!--toolbar-->\r\n<bbsf-page-header-component [options]=\"pageHeaderOptions\" [group]=\"filtersForm\"></bbsf-page-header-component>\r\n<!--End toolbar-->\r\n<div class=\"container-xxl\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6 col-xl-6 d-flex\" *ngFor=\"let item of pagingResult\">\r\n <div class=\"card card-listing w-icon-boxes survey-card\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title line-clamp\">\r\n <a [routerLink]=\"['../info', item.iD_GUID]\">\r\n {{item.localizedTitle}}\r\n </a>\r\n </div>\r\n <div class=\"card-toolbar d-flex flex-nowrap flex-stack\">\r\n <span class=\"badge badge-light bagde-xs me-2\" *ngIf=\"!item.visible\"> {{l(\"NotVisible\")}} </span>\r\n <span class=\"badge bagde-xs badge-light me-2\" [ngClass]=\"getStatus(item.statusItemID)\">{{item.localizedStatus}}</span>\r\n <div ngbDropdown container=\"body\" class=\"dropdown-custom\" [placement]=\"EN ? 'bottom-right' : 'bottom-left'\">\r\n <button type=\"button\" class=\"dropdown-toggle-custom btn btn-clear btn-sm\"\r\n ngbDropdownToggle>\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"'/assets/images/card-dropdown.svg'\"></span>\r\n </button>\r\n <div ngbDropdownMenu class=\"dropdown-menu-custom\">\r\n <button (click)=\"showEditModal(item.iD_GUID)\" apppreventdoubleclick type=\"button\" ngbDropdownItem class=\"dropdown-button\">\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"'/assets/images/Edit.svg'\">\r\n </span>\r\n {{l(\"Edit\")}}\r\n </button>\r\n <button (click)=\"showDuplicateModal(item.iD_GUID)\" apppreventdoubleclick type=\"button\" ngbDropdownItem class=\"dropdown-button\">\r\n <span class=\"svg-icon svg-icon-3\" [inlineSVG]=\"'/assets/images/copy.svg'\">\r\n </span>\r\n {{l(\"Duplicate\")}}\r\n </button>\r\n <button type=\"button\" (click)=\"showDeleteModal(item.iD_GUID)\" apppreventdoubleclick ngbDropdownItem class=\"dropdown-button\">\r\n <span class=\"svg-icon svg-icon-3\"\r\n [inlineSVG]=\"'/assets/images/Trash.svg'\"></span> {{l(\"Delete\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\" *ngIf=\"item.localizedDesc\">\r\n <p class=\"line-clamp-2\">\r\n {{item.localizedDesc}}\r\n </p>\r\n </div>\r\n <!--footer type one-->\r\n <div class=\"card-footer\">\r\n <div>\r\n <div class=\"survey-counter\">\r\n <span class=\"survey-counter-title\">{{l('Question')}}</span>\r\n <span class=\"badge badge-light-brand badge-square \">{{item.totalQuestionCount}}</span>\r\n </div>\r\n <div class=\"survey-counter\">\r\n <span class=\"survey-counter-title\">{{l('Submissions')}}</span>\r\n <span class=\"badge badge-light-brand badge-square \">{{item.totalSubmissionsCount}}</span>\r\n </div>\r\n </div>\r\n <div class=\"survery-date\">\r\n <div class=\"icon-boxes align-items-baseline\">\r\n <div class=\"icon-box w-100\">\r\n <div class=\"symbol\">\r\n <span class=\"symbol-label\">\r\n <span class=\"svg-icon svg-icon-4\" [inlineSVG]=\"'/assets/images/calendar.svg'\">\r\n </span>\r\n </span>\r\n </div>\r\n <span class=\"survey-counter-title\" *ngIf=\"item.startDate==null\">\r\n {{l('NotStartedYet')}}\r\n </span>\r\n <span class=\"survey-counter-title d-flex flex-stack w-100\" *ngIf=\"item.startDate!=null\">\r\n {{item.startDate |surveyDate}} - {{item.endDate!=null?(item.endDate|surveyDate):\"\"}}\r\n <span class=\"badge badge-light\" *ngIf=\"item.endDate==null\">{{l('HasNoEnd')}}</span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<BBSF-Paging (Items)=\"setListingResult($event)\" *ngIf=\"loadingPage\" [options]=\"pagingOptions\" [group]=\"filtersForm\"\r\n #pagingViewElement></BBSF-Paging>\r\n\r\n<app-no-results *ngIf=\"pagingResult.length == 0 && showPageContent\"></app-no-results>\r\n<app-add-survey #addModal [pagingElement]=\"pagingElement\"></app-add-survey>\r\n<app-edit-survey #editModal [pagingElement]=\"pagingElement\"></app-edit-survey>\r\n<app-delete-survey #deleteConfirmationModalControl [pagingElement]=\"pagingElement\"></app-delete-survey>\r\n<app-duplicate-survey #duplicateModal [pagingElement]=\"pagingElement\"></app-duplicate-survey>\r\n", components: [{ type: i2.PageHeaderComponentComponent, selector: "bbsf-page-header-component", inputs: ["group", "options"] }, { type: i2.PagingComponent, selector: "BBSF-Paging", inputs: ["options", "group"], outputs: ["Items"] }, { type: i3.NoResultsComponent, selector: "app-no-results" }, { type: i4.AddSurveyComponent, selector: "app-add-survey", inputs: ["pagingElement"] }, { type: i5.EditSurveyComponent, selector: "app-edit-survey", inputs: ["pagingElement", "onSuccessHandler"] }, { type: i6.DeleteSurveyComponent, selector: "app-delete-survey", inputs: ["onSuccessHandler", "pagingElement"] }, { type: i7.DuplicateSurveyComponent, selector: "app-duplicate-survey", inputs: ["onSuccessHandler", "pagingElement"] }], directives: [{ type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.NgbDropdown, selector: "[ngbDropdown]", inputs: ["open", "placement", "container", "autoClose", "display", "dropdownClass"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { type: i10.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { type: i11.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "forceEvalStyles", "evalScripts", "inlineSVG", "setSVGAttributes", "removeSVGAttributes", "fallbackImgUrl", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }, { type: i10.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { type: i10.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }], pipes: { "surveyDate": i12.SurveyDatePipe } });
|
|
220
220
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SurveyComponent, decorators: [{
|
|
221
221
|
type: Component,
|
|
222
222
|
args: [{
|
|
@@ -239,4 +239,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
|
239
239
|
type: ViewChild,
|
|
240
240
|
args: ['duplicateModal', { static: false }]
|
|
241
241
|
}] } });
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvc2hhcmVkL2NvbXBvbmVudHMvc3VydmV5L3N1cnZleS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL3NoYXJlZC9jb21wb25lbnRzL3N1cnZleS9zdXJ2ZXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFNBQVMsRUFBMkIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQW1CLFNBQVMsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUdqUSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFPckQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0JBQWdCO0lBdUNuRCxZQUFvQixRQUFrQixFQUFVLGFBQTJCO1FBQ3pFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURFLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQXBDM0UsY0FBUyxHQUFFLEVBQUUsQ0FBQztRQUNkLGFBQVEsR0FBRSxFQUFFLENBQUM7UUFDYixlQUFVLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFHeEIs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QUFDLGlCQUFpQixFQUFFO2dCQUNuRSxRQUFRLEdBQUcsY0FBYyxDQUFDO2dCQUMxQixNQUFNO1lBQ1IsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3RFLFFBQVEsR0FBRyxlQUFlLENBQUM7Z0JBQzNCLE1BQU07WUFDUixLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDckUsUUFBUSxHQUFHLGVBQWUsQ0FBQztnQkFDM0IsTUFBTTtZQUVSO2dCQUNFLE1BQU07U0FDVDtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7OzZHQTdQVSxlQUFlO2lHQUFmLGVBQWUsbWxCQ2Y1Qiw2NkpBOEZBOzRGRC9FYSxlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUseUJBQXlCO2lCQUN2QzsySEFVb0QsYUFBYTtzQkFBL0QsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ1AsUUFBUTtzQkFBakQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNHLFNBQVM7c0JBQW5ELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDdUIsOEJBQThCO3NCQUE3RixTQUFTO3VCQUFDLGdDQUFnQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDZCxjQUFjO3NCQUE3RCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlbGV0ZVN1cnZleUNvbXBvbmVudCB9IGZyb20gJy4vZGVsZXRlLXN1cnZleS9kZWxldGUtc3VydmV5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVkaXRTdXJ2ZXlDb21wb25lbnQgfSBmcm9tICcuL2VkaXQtc3VydmV5L2VkaXQtc3VydmV5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFkZFN1cnZleUNvbXBvbmVudCB9IGZyb20gJy4vYWRkLXN1cnZleS9hZGQtc3VydmV5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbnRyb2xMYXlvdXQsIERhdGFUeXBlLCBEYXRlUGlja2VyT3B0aW9ucywgRHJvcGRvd25PcHRpb25zLCBGaWx0ZXJJdGVtLCBGaWx0ZXJUeXBlLCBJbnB1dFR5cGUsIFBhZ2luZ0NvbXBvbmVudCwgU3RhcnRWaWV3LCBUZXh0Qm94T3B0aW9ucywgUGlja2VyVHlwZSwgU2VsZWN0TW9kZSwgUGFnaW5nT3B0aW9ucywgUGFnZUhlYWRlck9wdGlvbnMsIEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcblxyXG5pbXBvcnQgeyBEdXBsaWNhdGVTdXJ2ZXlDb21wb25lbnQgfSBmcm9tICcuL2R1cGxpY2F0ZS1zdXJ2ZXkvZHVwbGljYXRlLXN1cnZleS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlTdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vRW51bXMvRW51bXMnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vU2VydmljZXMvc3VydmV5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc3VydmV5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3VydmV5LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3VydmV5Q29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuXHJcbiAgcGFnZUhlYWRlck9wdGlvbnM6IFBhZ2VIZWFkZXJPcHRpb25zO1xyXG4gIHBhZ2VUaXRsZSA9XCJcIjtcclxuICBzdWJUaXRsZT0gXCJcIjtcclxuICBzdXJ2ZXlGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgYnJlYWRDcnVtYjogYW55W107XHJcbiAgRU46IGJvb2xlYW47XHJcbiAgcHVibGljIFN1cnZleVN0YXR1c0VudW0gPSBTdXJ2ZXlTdGF0dXNFbnVtO1xyXG4gIEBWaWV3Q2hpbGQoJ3BhZ2luZ1ZpZXdFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIHBhZ2luZ0VsZW1lbnQ6IFBhZ2luZ0NvbXBvbmVudDxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2FkZE1vZGFsJywgeyBzdGF0aWM6IGZhbHNlIH0pIGFkZE1vZGFsOiBBZGRTdXJ2ZXlDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnZWRpdE1vZGFsJywgeyBzdGF0aWM6IGZhbHNlIH0pIGVkaXRNb2RhbDogRWRpdFN1cnZleUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdkZWxldGVDb25maXJtYXRpb25Nb2RhbENvbnRyb2wnLCB7IHN0YXRpYzogZmFsc2UgfSkgZGVsZXRlQ29uZmlybWF0aW9uTW9kYWxDb250cm9sOiBEZWxldGVTdXJ2ZXlDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnZHVwbGljYXRlTW9kYWwnLCB7IHN0YXRpYzogZmFsc2UgfSkgZHVwbGljYXRlTW9kYWw6IER1cGxpY2F0ZVN1cnZleUNvbXBvbmVudDtcclxuXHJcbiAgLy9MaXN0aW5nXHJcbiAgc2VhcmNoVGV4dEJveE9wdGlvbnM6IGFueTtcclxuICBzZWFyY2hUZXh0RmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIHN0YXR1c0Ryb3Bkb3duT3B0aW9uczogRHJvcGRvd25PcHRpb25zO1xyXG4gIHZpc2libGVEcm9wZG93bk9wdGlvbnM6IERyb3Bkb3duT3B0aW9ucztcclxuICB2aXNpYmxlUGFuZWxEcm9wZG93bkZpbHRlcjogRmlsdGVySXRlbTtcclxuICBzdGF0dXNEcm9wZG93bkZpbHRlcjogRmlsdGVySXRlbTtcclxuICBEYXRlUGlja2VyV2l0aFJhbmdlTW9kZTogRGF0ZVBpY2tlck9wdGlvbnM7XHJcbiAgRGF0ZVBpY2tlcldpdGhSYW5nZUZpbHRlcjogRmlsdGVySXRlbTtcclxuICBzb3J0RHJvcGRvd25PcHRpb25zOiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgc29ydFR5cGVEcm9wZG93bk9wdGlvbnM6IERyb3Bkb3duT3B0aW9ucztcclxuICBzb3J0RHJvcGRvd25GaWx0ZXI6IEZpbHRlckl0ZW07XHJcbiAgc29ydFR5cGVEcm9wZG93bkZpbHRlcjogRmlsdGVySXRlbTtcclxuICBwYWdpbmdSZXN1bHQ6IGFueVtdID0gW107XHJcbiAgcGFnaW5nT3B0aW9uczogUGFnaW5nT3B0aW9ucztcclxuICBmaWx0ZXJzRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIGFwaVVSTDogc3RyaW5nID0gdGhpcy5zdXJ2ZXlTZXJ2aWNlLmFwaVVSTDtcclxuICBsb2FkaW5nUGFnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dQYWdlQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzRmlsdGVyc0RhdGFMb2FkZWQ6IGJvb2xlYW47XHJcbiAgc2hvd0ZpbHRlcnM6IGJvb2xlYW47XHJcbiAgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgZmxpcHBpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgc3VydmV5U2VydmljZTpTdXJ2ZXlTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFnZVRpdGxlID0gdGhpcy5sKFwiU3VydmV5c19IZWFkZXJcIik7XHJcbiAgICB0aGlzLnVwZGF0ZVBhZ2VUaXRsZSh0aGlzLnBhZ2VUaXRsZSk7XHJcbiAgICB0aGlzLmJyZWFkQ3J1bWIgPSBbXTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuTmFtZSA9IFwiU2VhcmNoVGV4dEJveFwiO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0Qm94T3B0aW9ucy5UeXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3hPcHRpb25zLlBsYWNlaG9sZGVyID0gdGhpcy5sKFwiU2VhcmNoXCIpO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0Qm94T3B0aW9ucy5FeHRyYUNsYXNzZXMgPSBcImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc20gZm9ybS1jb250cm9sLXNvbGlkIHNlYXJjaC1ib3hcIjtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuSGlkZUxhYmVsID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuSWNvbiA9IFwiLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9zZWFyY2guc3ZnXCI7XHJcblxyXG4gICAgdGhpcy5zZWFyY2hUZXh0RmlsdGVyID0gbmV3IEZpbHRlckl0ZW0oKTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEZpbHRlci5Gb3JtQ29udHJvbE5hbWUgPSB0aGlzLnNlYXJjaFRleHRCb3hPcHRpb25zLk5hbWU7XHJcbiAgICB0aGlzLnNlYXJjaFRleHRGaWx0ZXIuQWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiU2VhcmNoVGV4dFwiO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0RmlsdGVyLklzRm9ybUNvbnRyb2wgPSB0cnVlO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0RmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLlRleHRCb3g7XHJcblxyXG4gICAgdGhpcy52aXNpYmxlRHJvcGRvd25PcHRpb25zID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgdGhpcy52aXNpYmxlRHJvcGRvd25PcHRpb25zLk5hbWUgPSBcInZpc2libGVTdXJ2ZXlcIjtcclxuICAgIHRoaXMudmlzaWJsZURyb3Bkb3duT3B0aW9ucy5MYWJlbEtleSA9IFwiVmlzaWJpbGl0eVwiO1xyXG4gICAgdGhpcy52aXNpYmxlRHJvcGRvd25PcHRpb25zLlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcblxyXG4gICAgdGhpcy52aXNpYmxlUGFuZWxEcm9wZG93bkZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLnZpc2libGVQYW5lbERyb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMudmlzaWJsZURyb3Bkb3duT3B0aW9ucy5OYW1lO1xyXG4gICAgdGhpcy52aXNpYmxlUGFuZWxEcm9wZG93bkZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJBY3RpdmVTdGF0dXNcIjtcclxuICAgIHRoaXMudmlzaWJsZVBhbmVsRHJvcGRvd25GaWx0ZXIuSXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLnZpc2libGVQYW5lbERyb3Bkb3duRmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRyb3Bkb3duTGlzdDtcclxuXHJcbiAgICB0aGlzLnN0YXR1c0Ryb3Bkb3duT3B0aW9ucyA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgIHRoaXMuc3RhdHVzRHJvcGRvd25PcHRpb25zLk5hbWUgPSBcIlN0YXR1c1wiO1xyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuTGFiZWxLZXkgPSBcIlN0YXR1c1wiO1xyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc3RhdHVzRHJvcGRvd25PcHRpb25zLk5vdEZvdW5kVGV4dCA9IHRoaXMubChcIk5vUmVzdWx0Rm91bmRcIik7XHJcblxyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bkZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLnN0YXR1c0Ryb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuc3RhdHVzRHJvcGRvd25PcHRpb25zLk5hbWU7XHJcbiAgICB0aGlzLnN0YXR1c0Ryb3Bkb3duRmlsdGVyLkFjdGlvblBhcmFtZXRlck5hbWUgPSBcIlN1cnZleVN0YXR1c1wiO1xyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bkZpbHRlci5Jc0Zvcm1Db250cm9sID0gdHJ1ZTtcclxuICAgIHRoaXMuc3RhdHVzRHJvcGRvd25GaWx0ZXIuRmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuRHJvcGRvd25MaXN0O1xyXG5cclxuXHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlID0gbmV3IERhdGVQaWNrZXJPcHRpb25zKCk7XHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlLk5hbWUgPSBcIkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlXCJcclxuICAgIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuTGFiZWxLZXkgPSBcIkRhdGVcIjtcclxuICAgIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuVmlld1R5cGUgPSBDb250cm9sTGF5b3V0LlZlcnRpY2FsXHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlLlN0YXJ0VmlldyA9IFN0YXJ0Vmlldy5Nb250aFxyXG4gICAgdGhpcy5EYXRlUGlja2VyV2l0aFJhbmdlTW9kZS5QaWNrZXJUeXBlID0gUGlja2VyVHlwZS5DYWxlbmRhclxyXG4gICAgdGhpcy5EYXRlUGlja2VyV2l0aFJhbmdlTW9kZS5TZWxlY3RNb2RlPVNlbGVjdE1vZGUuUmFuZ2VcclxuXHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VGaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgdGhpcy5EYXRlUGlja2VyV2l0aFJhbmdlRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuTmFtZTtcclxuICAgIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZUZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJEYXRlXCI7XHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VGaWx0ZXIuSXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VGaWx0ZXIuRmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuRGF0ZVBpY2tlcjtcclxuXHJcbiAgICB0aGlzLnNvcnREcm9wZG93bk9wdGlvbnMgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICB0aGlzLnNvcnREcm9wZG93bk9wdGlvbnMuTmFtZSA9IFwiU29ydFwiO1xyXG4gICAgdGhpcy5zb3J0RHJvcGRvd25PcHRpb25zLkxhYmVsS2V5ID0gXCJTb3J0XCI7XHJcbiAgICB0aGlzLnNvcnREcm9wZG93bk9wdGlvbnMuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc29ydERyb3Bkb3duT3B0aW9ucy5Ob3RGb3VuZFRleHQgPSB0aGlzLmwoXCJOb1Jlc3VsdEZvdW5kXCIpO1xyXG5cclxuICAgIHRoaXMuc29ydERyb3Bkb3duRmlsdGVyID0gbmV3IEZpbHRlckl0ZW0oKTtcclxuICAgIHRoaXMuc29ydERyb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuc29ydERyb3Bkb3duT3B0aW9ucy5OYW1lO1xyXG4gICAgdGhpcy5zb3J0RHJvcGRvd25GaWx0ZXIuQWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiU29ydEJ5XCI7XHJcbiAgICB0aGlzLnNvcnREcm9wZG93bkZpbHRlci5Jc0Zvcm1Db250cm9sID0gdHJ1ZTtcclxuICAgIHRoaXMuc29ydERyb3Bkb3duRmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRyb3Bkb3duTGlzdDtcclxuXHJcbiAgICB0aGlzLnNvcnRUeXBlRHJvcGRvd25PcHRpb25zID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duT3B0aW9ucy5OYW1lID0gXCJTb3J0VHlwZVwiO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duT3B0aW9ucy5MYWJlbEtleSA9IFwiU29ydFR5cGVcIjtcclxuICAgIHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMuTm90Rm91bmRUZXh0ID0gdGhpcy5sKFwiTm9SZXN1bHRGb3VuZFwiKTtcclxuXHJcbiAgICB0aGlzLnNvcnRUeXBlRHJvcGRvd25GaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMuTmFtZTtcclxuICAgIHRoaXMuc29ydFR5cGVEcm9wZG93bkZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJTb3J0VHlwZVwiO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duRmlsdGVyLklzRm9ybUNvbnRyb2wgPSB0cnVlO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duRmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRyb3Bkb3duTGlzdDtcclxuXHJcblxyXG5cclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMgPSBuZXcgUGFnZUhlYWRlck9wdGlvbnMoKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuVGl0bGVLZXkgPSB0aGlzLnBhZ2VUaXRsZTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuU3ViVGl0bGVLZXkgPSB0aGlzLmwoXCJTdXJ2ZXlfU3ViSGVhZGVyXCIpO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5TZWFyY2hUZXh0Qm94LkFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLlNlYXJjaFRleHRCb3guVGV4dFNlYXJjaEJveE9wdGlvbnMgPSB0aGlzLnNlYXJjaFRleHRCb3hPcHRpb25zO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5CcmVhZENydW1iLkFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkJyZWFkQ3J1bWIuQnJlYWRDcnVtYkl0ZW1zID0gdGhpcy5icmVhZENydW1iO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5FZGl0QnV0dG9uLkFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5FeHBvcnRCdXR0b24uQWN0aXZlID0gZmFsc2U7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkFkZEJ1dHRvbi5BY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5BZGRCdXR0b24uQnV0dG9uVGV4dEtleSA9IHRoaXMubChcIkFkZFwiKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuQWRkQnV0dG9uLkZ1bmN0aW9uID0gdGhpcy5zaG93QWRkTW9kYWw7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnNCdXR0b24uQWN0aXZlID0gdHJ1ZTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5CdXR0b25UZXh0S2V5ID0gdGhpcy5sKFwiRmlsdGVyc1wiKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5GdW5jdGlvbiA9IHRoaXMubG9hZEZpbHRlcnM7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnMuQXBwbHlGdW5jdGlvbiA9IHRoaXMuc2VhcmNoO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5GaWx0ZXJzLlJlc3RGdW5jdGlvbiA9IHRoaXMucmVzZXRGaWx0ZXJzO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5GaWx0ZXJzLkNvbnRyb2xzT3B0aW9ucy5wdXNoKHsga2V5OiBEYXRhVHlwZS5TaW5nbGVTZWxlY3QsIHZhbHVlOiB0aGlzLnZpc2libGVEcm9wZG93bk9wdGlvbnMgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVycy5Db250cm9sc09wdGlvbnMucHVzaCh7IGtleTogRGF0YVR5cGUuU2luZ2xlU2VsZWN0LCB2YWx1ZTogdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVycy5Db250cm9sc09wdGlvbnMucHVzaCh7IGtleTogRGF0YVR5cGUuRGF0ZSwgdmFsdWU6IHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVycy5Db250cm9sc09wdGlvbnMucHVzaCh7IGtleTogRGF0YVR5cGUuU2luZ2xlU2VsZWN0LCB2YWx1ZTogdGhpcy5zb3J0RHJvcGRvd25PcHRpb25zIH0pXHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnMuQ29udHJvbHNPcHRpb25zLnB1c2goeyBrZXk6IERhdGFUeXBlLlNpbmdsZVNlbGVjdCwgdmFsdWU6IHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuTGlzdGluZyA9IHRydWU7XHJcbiAgICB0aGlzLkVOID0gdGhpcy51dGlsaXR5U2VydmljZS5pc0N1cnJlbnRMYW5ndWFnZUVuZ2xpc2goKTtcclxuXHJcbiAgICB0aGlzLnBhZ2luZ09wdGlvbnMgPSBuZXcgUGFnaW5nT3B0aW9ucygpO1xyXG4gICAgdGhpcy5wYWdpbmdPcHRpb25zLlBhZ2VTaXplID0gOTtcclxuICAgIHRoaXMucGFnaW5nT3B0aW9ucy5EaXNhYmxlQmxvY2tVSSA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2luZ09wdGlvbnMuQWN0aW9uUG9zdFVSTCA9IHRoaXMuYXBpVVJMICsgJ0dldEFsbCc7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkxpc3RpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5wYWdpbmdPcHRpb25zLk9uS2V5UHJlc3NGaWx0ZXJzQ29udHJvbE5hbWVzID0gW3RoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuTmFtZV07XHJcbiAgICB0aGlzLnBhZ2luZ09wdGlvbnMuRmlsdGVycyA9IFt0aGlzLnNlYXJjaFRleHRGaWx0ZXIsIHRoaXMudmlzaWJsZVBhbmVsRHJvcGRvd25GaWx0ZXIsIHRoaXMuc3RhdHVzRHJvcGRvd25GaWx0ZXIsIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZUZpbHRlciwgdGhpcy5zb3J0RHJvcGRvd25GaWx0ZXIsIHRoaXMuc29ydFR5cGVEcm9wZG93bkZpbHRlcl07XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkaW5nUGFnZSA9IHRydWVcclxuICB9XHJcblxyXG4gIHNldExpc3RpbmdSZXN1bHQocmVzdWx0KSB7XHJcbiAgICBkZWJ1Z2dlcjtcclxuICAgIHRoaXMucGFnaW5nUmVzdWx0ID0gcmVzdWx0O1xyXG4gICAgdGhpcy5zaG93UGFnZUNvbnRlbnQgPSB0cnVlO1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gIH1cclxuXHJcbiAgbG9hZEZpbHRlcnMgPSAoKSA9PiB7XHJcbiAgICBpZiAoIXRoaXMuaXNGaWx0ZXJzRGF0YUxvYWRlZCAmJiAhdGhpcy5zaG93RmlsdGVycylcclxuICAgICAgdGhpcy5sb2FkRmlsdGVyc0RhdGEoKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dGaWx0ZXJzID0gIXRoaXMuc2hvd0ZpbHRlcnM7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJzRGF0YUxvYWRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnNCdXR0b24uU2hvd0xvYWRpbmdJbkZpbHRlcnNCb3ggPSB0aGlzLmxvYWRpbmdcclxuICAgIH1cclxuICAgIHRoaXMuZmxpcHBpbmcgPSAhdGhpcy5mbGlwcGluZztcclxuICB9XHJcblxyXG4gIGxvYWRGaWx0ZXJzRGF0YSA9ICgpID0+IHtcclxuICAgIHRoaXMuc3VydmV5U2VydmljZS5sb2FkRmlsdGVyc0Ryb3Bkb3duKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gciBhcyBhbnlcclxuICAgICAgdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuRGF0YVNvdXJjZSA9IHJlc3VsdC5zdGF0dXNlcztcclxuICAgICAgdGhpcy5zb3J0RHJvcGRvd25PcHRpb25zLkRhdGFTb3VyY2UgPSByZXN1bHQuc3VydmV5U29ydGluZ1R5cGVzO1xyXG4gICAgICB0aGlzLnNvcnRUeXBlRHJvcGRvd25PcHRpb25zLkRhdGFTb3VyY2UgPSByZXN1bHQuc29ydFR5cGVzO1xyXG4gICAgICB0aGlzLnZpc2libGVEcm9wZG93bk9wdGlvbnMuRGF0YVNvdXJjZSA9IHJlc3VsdC52aXNpYmlsaXR5O1xyXG4gICAgICB0aGlzLnNob3dGaWx0ZXJzID0gdHJ1ZTtcclxuICAgICAgdGhpcy5pc0ZpbHRlcnNEYXRhTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5TaG93TG9hZGluZ0luRmlsdGVyc0JveCA9IHRoaXMubG9hZGluZ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXNldEZpbHRlcnMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmZpbHRlcnNGb3JtLmNvbnRyb2xzW3RoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuTmFtZV0uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmZpbHRlcnNGb3JtLmNvbnRyb2xzW3RoaXMudmlzaWJsZURyb3Bkb3duT3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuZmlsdGVyc0Zvcm0uY29udHJvbHNbdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuTmFtZV0uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmZpbHRlcnNGb3JtLmNvbnRyb2xzW3RoaXMuc29ydERyb3Bkb3duT3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuZmlsdGVyc0Zvcm0uY29udHJvbHNbdGhpcy5zb3J0VHlwZURyb3Bkb3duT3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuZmlsdGVyc0Zvcm0uY29udHJvbHNbdGhpcy5zZWFyY2hUZXh0Qm94T3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnNCdXR0b24uU2hvd0xvYWRpbmdJbkZpbHRlcnNCb3ggPSB0aGlzLmxvYWRpbmdcclxuICAgIHRoaXMucGFnaW5nRWxlbWVudC5SZWluaXRpYWxpemVQYWdpbmcoKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaCA9ICgpID0+IHtcclxuICAgIGlmICghdGhpcy5maWx0ZXJzRm9ybS52YWxpZClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5TaG93TG9hZGluZ0luRmlsdGVyc0JveCA9IHRoaXMubG9hZGluZ1xyXG4gICAgdGhpcy5wYWdpbmdFbGVtZW50LlJlaW5pdGlhbGl6ZVBhZ2luZygpO1xyXG4gIH1cclxuXHJcblxyXG4gIHNob3dBZGRNb2RhbCA9ICgpID0+IHtcclxuICAgIHRoaXMuYWRkTW9kYWwuc2hvd01vZGFsKCk7XHJcblxyXG4gIH1cclxuICBzaG93RWRpdE1vZGFsKGlkKSB7XHJcbiAgICB0aGlzLmVkaXRNb2RhbC5zaG93RWRpdE1vZGFsKGlkKTtcclxuICB9XHJcbiAgc2hvd0R1cGxpY2F0ZU1vZGFsKGlkKSB7XHJcbiAgICB0aGlzLmR1cGxpY2F0ZU1vZGFsLnNob3dEdXBsaWNhdGVNb2RhbChpZCk7XHJcbiAgfVxyXG4gIHNob3dEZWxldGVNb2RhbChpZCkge1xyXG4gICAgdGhpcy5kZWxldGVDb25maXJtYXRpb25Nb2RhbENvbnRyb2wuc2hvd0RlbGV0ZU1vZGFsKGlkKTtcclxuXHJcbiAgfVxyXG5cclxuICBnZXRTdGF0dXMoc3RhdHVzKSB7XHJcbiAgICB2YXIgU3RhdHVzZXMgPSAnJztcclxuICAgIHN3aXRjaCAoc3RhdHVzLnRvTG9jYWxlTG93ZXJDYXNlKCkpe1xyXG4gICAgICBjYXNlIHRoaXMuU3VydmV5U3RhdHVzRW51bS5TY29yaW5nVHlwZUVudW1fRHJhZnQudG9Mb2NhbGVMb3dlckNhc2UoKTpcclxuICAgICAgICBTdGF0dXNlcyA9ICdiYWRnZS1zZWNvbmRhcnknO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuU3VydmV5U3RhdHVzRW51bS5TY29yaW5nVHlwZUVudW1fQ2xvc2VkLnRvTG9jYWxlTG93ZXJDYXNlKCk6XHJcbiAgICAgICAgU3RhdHVzZXMgPSAnYmFkZ2UtZGFuZ2VyJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLlN1cnZleVN0YXR1c0VudW0uU2NvcmluZ1R5cGVFbnVtX1B1Ymxpc2hlZC50b0xvY2FsZUxvd2VyQ2FzZSgpOlxyXG4gICAgICAgIFN0YXR1c2VzID0gJ2JhZGdlLXN1Y2Nlc3MnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuU3VydmV5U3RhdHVzRW51bS5TY29yaW5nVHlwZUVudW1fVXBjb21pbmcudG9Mb2NhbGVMb3dlckNhc2UoKTpcclxuICAgICAgICBTdGF0dXNlcyA9ICdiYWRnZS1zdWNjZXNzJztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gU3RhdHVzZXM7XHJcbiAgfVxyXG4gXHJcbn1cclxuIiwiPCEtLXRvb2xiYXItLT5cclxuPGJic2YtcGFnZS1oZWFkZXItY29tcG9uZW50IFtvcHRpb25zXT1cInBhZ2VIZWFkZXJPcHRpb25zXCIgW2dyb3VwXT1cImZpbHRlcnNGb3JtXCI+PC9iYnNmLXBhZ2UtaGVhZGVyLWNvbXBvbmVudD5cclxuPCEtLUVuZCB0b29sYmFyLS0+XHJcbjxkaXYgY2xhc3M9XCJjb250YWluZXIteHhsXCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC14bC00IGQtZmxleFwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHBhZ2luZ1Jlc3VsdFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWxpc3Rpbmcgdy1pY29uLWJveGVzIHN1cnZleS1jYXJkXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodCBjYXJkLWJhZGdlXCIgKm5nSWY9XCIhaXRlbS52aXNpYmxlXCI+XHJcbiAgICAgICAgICB7e2woXCJOb3RWaXNpYmxlXCIpfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBsaW5lLWNsYW1wXCI+XHJcbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLi4vaW5mbycsIGl0ZW0uaURfR1VJRF1cIj5cclxuICAgICAgICAgICAgICB7e2l0ZW0ubG9jYWxpemVkVGl0bGV9fVxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93biBjb250YWluZXI9XCJib2R5XCIgY2xhc3M9XCJkcm9wZG93bi1jdXN0b21cIiBbcGxhY2VtZW50XT1cIkVOID8gJ2JvdHRvbS1yaWdodCcgOiAnYm90dG9tLWxlZnQnXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJkcm9wZG93bi10b2dnbGUtY3VzdG9tIGJ0biBidG4tY2xlYXIgYnRuLXNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgIG5nYkRyb3Bkb3duVG9nZ2xlPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0zXCIgW2lubGluZVNWR109XCInL2Fzc2V0cy9pbWFnZXMvY2FyZC1kcm9wZG93bi5zdmcnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd25NZW51IGNsYXNzPVwiZHJvcGRvd24tbWVudS1jdXN0b21cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInNob3dFZGl0TW9kYWwoaXRlbS5pRF9HVUlEKVwiIGFwcHByZXZlbnRkb3VibGVjbGljayB0eXBlPVwiYnV0dG9uXCIgbmdiRHJvcGRvd25JdGVtIGNsYXNzPVwiZHJvcGRvd24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tM1wiIFtpbmxpbmVTVkddPVwiJy9hc3NldHMvaW1hZ2VzL0VkaXQuc3ZnJ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIHt7bChcIkVkaXRcIil9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzaG93RHVwbGljYXRlTW9kYWwoaXRlbS5pRF9HVUlEKVwiIGFwcHByZXZlbnRkb3VibGVjbGljayB0eXBlPVwiYnV0dG9uXCIgbmdiRHJvcGRvd25JdGVtIGNsYXNzPVwiZHJvcGRvd24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tM1wiIFtpbmxpbmVTVkddPVwiJy9hc3NldHMvaW1hZ2VzL2NvcHkuc3ZnJ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIHt7bChcIkR1cGxpY2F0ZVwiKX19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzaG93RGVsZXRlTW9kYWwoaXRlbS5pRF9HVUlEKVwiIGFwcHByZXZlbnRkb3VibGVjbGljayBuZ2JEcm9wZG93bkl0ZW0gY2xhc3M9XCJkcm9wZG93bi1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2lubGluZVNWR109XCInL2Fzc2V0cy9pbWFnZXMvVHJhc2guc3ZnJ1wiPjwvc3Bhbj4gIHt7bChcIkRlbGV0ZVwiKX19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cImxpbmUtY2xhbXAtMlwiPlxyXG4gICAgICAgICAgICB7e2l0ZW0ubG9jYWxpemVkRGVzY319XHJcbiAgICAgICAgICA8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLWZvb3RlciB0eXBlIG9uZS0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlclwiPlxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1jb3VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdXJ2ZXktY291bnRlci10aXRsZVwiPnt7bCgnUXVlc3Rpb24nKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtYnJhbmQgYmFkZ2Utc3F1YXJlIFwiPnt7aXRlbS50b3RhbFF1ZXN0aW9uQ291bnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdXJ2ZXktY291bnRlclwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3VydmV5LWNvdW50ZXItdGl0bGVcIj57e2woJ1N1Ym1pc3Npb25zJyl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWJyYW5kIGJhZGdlLXNxdWFyZSBcIj57e2l0ZW0udG90YWxTdWJtaXNzaW9uc0NvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VydmVyeS1kYXRlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWJveGVzIGFsaWduLWl0ZW1zLWJhc2VsaW5lXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tYm94IHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ltYm9sLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi00XCIgW2lubGluZVNWR109XCInL2Fzc2V0cy9pbWFnZXMvY2FsZW5kYXIuc3ZnJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1cnZleS1jb3VudGVyLXRpdGxlXCIgKm5nSWY9XCJpdGVtLnN0YXJ0RGF0ZT09bnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICB7e2woJ05vdFN0YXJ0ZWRZZXQnKX19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1cnZleS1jb3VudGVyLXRpdGxlIGQtZmxleCBmbGV4LXN0YWNrIHctMTAwXCIgKm5nSWY9XCJpdGVtLnN0YXJ0RGF0ZSE9bnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICB7e2l0ZW0uc3RhcnREYXRlIHxzdXJ2ZXlEYXRlfX1cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodFwiPnt7aXRlbS5lbmREYXRlIT1udWxsPyhpdGVtLmVuZERhdGV8c3VydmV5RGF0ZSk6bCgnSGFzTm9FbmQnKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWJveFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWdkZS14cyBiYWRnZS1saWdodFwiIFtuZ0NsYXNzXT1cImdldFN0YXR1cyhpdGVtLnN0YXR1c0l0ZW1JRClcIj57e2l0ZW0ubG9jYWxpemVkU3RhdHVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPEJCU0YtUGFnaW5nIChJdGVtcyk9XCJzZXRMaXN0aW5nUmVzdWx0KCRldmVudClcIiAqbmdJZj1cImxvYWRpbmdQYWdlXCIgW29wdGlvbnNdPVwicGFnaW5nT3B0aW9uc1wiIFtncm91cF09XCJmaWx0ZXJzRm9ybVwiXHJcbiAgI3BhZ2luZ1ZpZXdFbGVtZW50PjwvQkJTRi1QYWdpbmc+XHJcblxyXG48YXBwLW5vLXJlc3VsdHMgKm5nSWY9XCJwYWdpbmdSZXN1bHQubGVuZ3RoID09IDAgJiYgc2hvd1BhZ2VDb250ZW50XCI+PC9hcHAtbm8tcmVzdWx0cz5cclxuPGFwcC1hZGQtc3VydmV5ICNhZGRNb2RhbCBbcGFnaW5nRWxlbWVudF09XCJwYWdpbmdFbGVtZW50XCI+PC9hcHAtYWRkLXN1cnZleT5cclxuPGFwcC1lZGl0LXN1cnZleSAjZWRpdE1vZGFsIFtwYWdpbmdFbGVtZW50XT1cInBhZ2luZ0VsZW1lbnRcIj48L2FwcC1lZGl0LXN1cnZleT5cclxuPGFwcC1kZWxldGUtc3VydmV5ICNkZWxldGVDb25maXJtYXRpb25Nb2RhbENvbnRyb2wgW3BhZ2luZ0VsZW1lbnRdPVwicGFnaW5nRWxlbWVudFwiPjwvYXBwLWRlbGV0ZS1zdXJ2ZXk+XHJcbjxhcHAtZHVwbGljYXRlLXN1cnZleSAjZHVwbGljYXRlTW9kYWwgW3BhZ2luZ0VsZW1lbnRdPVwicGFnaW5nRWxlbWVudFwiPjwvYXBwLWR1cGxpY2F0ZS1zdXJ2ZXk+XHJcbiJdfQ==
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvc2hhcmVkL2NvbXBvbmVudHMvc3VydmV5L3N1cnZleS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL3NoYXJlZC9jb21wb25lbnRzL3N1cnZleS9zdXJ2ZXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFNBQVMsRUFBMkIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQW1CLFNBQVMsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUdqUSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFPckQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0JBQWdCO0lBdUNuRCxZQUFvQixRQUFrQixFQUFVLGFBQTJCO1FBQ3pFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURFLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQXBDM0UsY0FBUyxHQUFFLEVBQUUsQ0FBQztRQUNkLGFBQVEsR0FBRSxFQUFFLENBQUM7UUFDYixlQUFVLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFHeEIs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QUFDLGlCQUFpQixFQUFFO2dCQUNuRSxRQUFRLEdBQUcsY0FBYyxDQUFDO2dCQUMxQixNQUFNO1lBQ1IsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3RFLFFBQVEsR0FBRyxlQUFlLENBQUM7Z0JBQzNCLE1BQU07WUFDUixLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDckUsUUFBUSxHQUFHLGVBQWUsQ0FBQztnQkFDM0IsTUFBTTtZQUVSO2dCQUNFLE1BQU07U0FDVDtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7OzZHQTdQVSxlQUFlO2lHQUFmLGVBQWUsbWxCQ2Y1Qiw4N0pBMEZBOzRGRDNFYSxlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUseUJBQXlCO2lCQUN2QzsySEFVb0QsYUFBYTtzQkFBL0QsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ1AsUUFBUTtzQkFBakQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNHLFNBQVM7c0JBQW5ELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDdUIsOEJBQThCO3NCQUE3RixTQUFTO3VCQUFDLGdDQUFnQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDZCxjQUFjO3NCQUE3RCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlbGV0ZVN1cnZleUNvbXBvbmVudCB9IGZyb20gJy4vZGVsZXRlLXN1cnZleS9kZWxldGUtc3VydmV5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVkaXRTdXJ2ZXlDb21wb25lbnQgfSBmcm9tICcuL2VkaXQtc3VydmV5L2VkaXQtc3VydmV5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFkZFN1cnZleUNvbXBvbmVudCB9IGZyb20gJy4vYWRkLXN1cnZleS9hZGQtc3VydmV5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbnRyb2xMYXlvdXQsIERhdGFUeXBlLCBEYXRlUGlja2VyT3B0aW9ucywgRHJvcGRvd25PcHRpb25zLCBGaWx0ZXJJdGVtLCBGaWx0ZXJUeXBlLCBJbnB1dFR5cGUsIFBhZ2luZ0NvbXBvbmVudCwgU3RhcnRWaWV3LCBUZXh0Qm94T3B0aW9ucywgUGlja2VyVHlwZSwgU2VsZWN0TW9kZSwgUGFnaW5nT3B0aW9ucywgUGFnZUhlYWRlck9wdGlvbnMsIEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcblxyXG5pbXBvcnQgeyBEdXBsaWNhdGVTdXJ2ZXlDb21wb25lbnQgfSBmcm9tICcuL2R1cGxpY2F0ZS1zdXJ2ZXkvZHVwbGljYXRlLXN1cnZleS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlTdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vRW51bXMvRW51bXMnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vU2VydmljZXMvc3VydmV5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc3VydmV5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3VydmV5LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3VydmV5Q29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuXHJcbiAgcGFnZUhlYWRlck9wdGlvbnM6IFBhZ2VIZWFkZXJPcHRpb25zO1xyXG4gIHBhZ2VUaXRsZSA9XCJcIjtcclxuICBzdWJUaXRsZT0gXCJcIjtcclxuICBzdXJ2ZXlGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgYnJlYWRDcnVtYjogYW55W107XHJcbiAgRU46IGJvb2xlYW47XHJcbiAgcHVibGljIFN1cnZleVN0YXR1c0VudW0gPSBTdXJ2ZXlTdGF0dXNFbnVtO1xyXG4gIEBWaWV3Q2hpbGQoJ3BhZ2luZ1ZpZXdFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIHBhZ2luZ0VsZW1lbnQ6IFBhZ2luZ0NvbXBvbmVudDxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2FkZE1vZGFsJywgeyBzdGF0aWM6IGZhbHNlIH0pIGFkZE1vZGFsOiBBZGRTdXJ2ZXlDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnZWRpdE1vZGFsJywgeyBzdGF0aWM6IGZhbHNlIH0pIGVkaXRNb2RhbDogRWRpdFN1cnZleUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdkZWxldGVDb25maXJtYXRpb25Nb2RhbENvbnRyb2wnLCB7IHN0YXRpYzogZmFsc2UgfSkgZGVsZXRlQ29uZmlybWF0aW9uTW9kYWxDb250cm9sOiBEZWxldGVTdXJ2ZXlDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnZHVwbGljYXRlTW9kYWwnLCB7IHN0YXRpYzogZmFsc2UgfSkgZHVwbGljYXRlTW9kYWw6IER1cGxpY2F0ZVN1cnZleUNvbXBvbmVudDtcclxuXHJcbiAgLy9MaXN0aW5nXHJcbiAgc2VhcmNoVGV4dEJveE9wdGlvbnM6IGFueTtcclxuICBzZWFyY2hUZXh0RmlsdGVyOiBGaWx0ZXJJdGVtO1xyXG4gIHN0YXR1c0Ryb3Bkb3duT3B0aW9uczogRHJvcGRvd25PcHRpb25zO1xyXG4gIHZpc2libGVEcm9wZG93bk9wdGlvbnM6IERyb3Bkb3duT3B0aW9ucztcclxuICB2aXNpYmxlUGFuZWxEcm9wZG93bkZpbHRlcjogRmlsdGVySXRlbTtcclxuICBzdGF0dXNEcm9wZG93bkZpbHRlcjogRmlsdGVySXRlbTtcclxuICBEYXRlUGlja2VyV2l0aFJhbmdlTW9kZTogRGF0ZVBpY2tlck9wdGlvbnM7XHJcbiAgRGF0ZVBpY2tlcldpdGhSYW5nZUZpbHRlcjogRmlsdGVySXRlbTtcclxuICBzb3J0RHJvcGRvd25PcHRpb25zOiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgc29ydFR5cGVEcm9wZG93bk9wdGlvbnM6IERyb3Bkb3duT3B0aW9ucztcclxuICBzb3J0RHJvcGRvd25GaWx0ZXI6IEZpbHRlckl0ZW07XHJcbiAgc29ydFR5cGVEcm9wZG93bkZpbHRlcjogRmlsdGVySXRlbTtcclxuICBwYWdpbmdSZXN1bHQ6IGFueVtdID0gW107XHJcbiAgcGFnaW5nT3B0aW9uczogUGFnaW5nT3B0aW9ucztcclxuICBmaWx0ZXJzRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIGFwaVVSTDogc3RyaW5nID0gdGhpcy5zdXJ2ZXlTZXJ2aWNlLmFwaVVSTDtcclxuICBsb2FkaW5nUGFnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dQYWdlQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzRmlsdGVyc0RhdGFMb2FkZWQ6IGJvb2xlYW47XHJcbiAgc2hvd0ZpbHRlcnM6IGJvb2xlYW47XHJcbiAgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgZmxpcHBpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgc3VydmV5U2VydmljZTpTdXJ2ZXlTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFnZVRpdGxlID0gdGhpcy5sKFwiU3VydmV5c19IZWFkZXJcIik7XHJcbiAgICB0aGlzLnVwZGF0ZVBhZ2VUaXRsZSh0aGlzLnBhZ2VUaXRsZSk7XHJcbiAgICB0aGlzLmJyZWFkQ3J1bWIgPSBbXTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuTmFtZSA9IFwiU2VhcmNoVGV4dEJveFwiO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0Qm94T3B0aW9ucy5UeXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3hPcHRpb25zLlBsYWNlaG9sZGVyID0gdGhpcy5sKFwiU2VhcmNoXCIpO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0Qm94T3B0aW9ucy5FeHRyYUNsYXNzZXMgPSBcImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc20gZm9ybS1jb250cm9sLXNvbGlkIHNlYXJjaC1ib3hcIjtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuSGlkZUxhYmVsID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuSWNvbiA9IFwiLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9zZWFyY2guc3ZnXCI7XHJcblxyXG4gICAgdGhpcy5zZWFyY2hUZXh0RmlsdGVyID0gbmV3IEZpbHRlckl0ZW0oKTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEZpbHRlci5Gb3JtQ29udHJvbE5hbWUgPSB0aGlzLnNlYXJjaFRleHRCb3hPcHRpb25zLk5hbWU7XHJcbiAgICB0aGlzLnNlYXJjaFRleHRGaWx0ZXIuQWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiU2VhcmNoVGV4dFwiO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0RmlsdGVyLklzRm9ybUNvbnRyb2wgPSB0cnVlO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0RmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLlRleHRCb3g7XHJcblxyXG4gICAgdGhpcy52aXNpYmxlRHJvcGRvd25PcHRpb25zID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgdGhpcy52aXNpYmxlRHJvcGRvd25PcHRpb25zLk5hbWUgPSBcInZpc2libGVTdXJ2ZXlcIjtcclxuICAgIHRoaXMudmlzaWJsZURyb3Bkb3duT3B0aW9ucy5MYWJlbEtleSA9IFwiVmlzaWJpbGl0eVwiO1xyXG4gICAgdGhpcy52aXNpYmxlRHJvcGRvd25PcHRpb25zLlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcblxyXG4gICAgdGhpcy52aXNpYmxlUGFuZWxEcm9wZG93bkZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLnZpc2libGVQYW5lbERyb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMudmlzaWJsZURyb3Bkb3duT3B0aW9ucy5OYW1lO1xyXG4gICAgdGhpcy52aXNpYmxlUGFuZWxEcm9wZG93bkZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJBY3RpdmVTdGF0dXNcIjtcclxuICAgIHRoaXMudmlzaWJsZVBhbmVsRHJvcGRvd25GaWx0ZXIuSXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLnZpc2libGVQYW5lbERyb3Bkb3duRmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRyb3Bkb3duTGlzdDtcclxuXHJcbiAgICB0aGlzLnN0YXR1c0Ryb3Bkb3duT3B0aW9ucyA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgIHRoaXMuc3RhdHVzRHJvcGRvd25PcHRpb25zLk5hbWUgPSBcIlN0YXR1c1wiO1xyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuTGFiZWxLZXkgPSBcIlN0YXR1c1wiO1xyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc3RhdHVzRHJvcGRvd25PcHRpb25zLk5vdEZvdW5kVGV4dCA9IHRoaXMubChcIk5vUmVzdWx0Rm91bmRcIik7XHJcblxyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bkZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLnN0YXR1c0Ryb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuc3RhdHVzRHJvcGRvd25PcHRpb25zLk5hbWU7XHJcbiAgICB0aGlzLnN0YXR1c0Ryb3Bkb3duRmlsdGVyLkFjdGlvblBhcmFtZXRlck5hbWUgPSBcIlN1cnZleVN0YXR1c1wiO1xyXG4gICAgdGhpcy5zdGF0dXNEcm9wZG93bkZpbHRlci5Jc0Zvcm1Db250cm9sID0gdHJ1ZTtcclxuICAgIHRoaXMuc3RhdHVzRHJvcGRvd25GaWx0ZXIuRmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuRHJvcGRvd25MaXN0O1xyXG5cclxuXHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlID0gbmV3IERhdGVQaWNrZXJPcHRpb25zKCk7XHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlLk5hbWUgPSBcIkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlXCJcclxuICAgIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuTGFiZWxLZXkgPSBcIkRhdGVcIjtcclxuICAgIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuVmlld1R5cGUgPSBDb250cm9sTGF5b3V0LlZlcnRpY2FsXHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VNb2RlLlN0YXJ0VmlldyA9IFN0YXJ0Vmlldy5Nb250aFxyXG4gICAgdGhpcy5EYXRlUGlja2VyV2l0aFJhbmdlTW9kZS5QaWNrZXJUeXBlID0gUGlja2VyVHlwZS5DYWxlbmRhclxyXG4gICAgdGhpcy5EYXRlUGlja2VyV2l0aFJhbmdlTW9kZS5TZWxlY3RNb2RlPVNlbGVjdE1vZGUuUmFuZ2VcclxuXHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VGaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgdGhpcy5EYXRlUGlja2VyV2l0aFJhbmdlRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuTmFtZTtcclxuICAgIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZUZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJEYXRlXCI7XHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VGaWx0ZXIuSXNGb3JtQ29udHJvbCA9IHRydWU7XHJcbiAgICB0aGlzLkRhdGVQaWNrZXJXaXRoUmFuZ2VGaWx0ZXIuRmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuRGF0ZVBpY2tlcjtcclxuXHJcbiAgICB0aGlzLnNvcnREcm9wZG93bk9wdGlvbnMgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICB0aGlzLnNvcnREcm9wZG93bk9wdGlvbnMuTmFtZSA9IFwiU29ydFwiO1xyXG4gICAgdGhpcy5zb3J0RHJvcGRvd25PcHRpb25zLkxhYmVsS2V5ID0gXCJTb3J0XCI7XHJcbiAgICB0aGlzLnNvcnREcm9wZG93bk9wdGlvbnMuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc29ydERyb3Bkb3duT3B0aW9ucy5Ob3RGb3VuZFRleHQgPSB0aGlzLmwoXCJOb1Jlc3VsdEZvdW5kXCIpO1xyXG5cclxuICAgIHRoaXMuc29ydERyb3Bkb3duRmlsdGVyID0gbmV3IEZpbHRlckl0ZW0oKTtcclxuICAgIHRoaXMuc29ydERyb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuc29ydERyb3Bkb3duT3B0aW9ucy5OYW1lO1xyXG4gICAgdGhpcy5zb3J0RHJvcGRvd25GaWx0ZXIuQWN0aW9uUGFyYW1ldGVyTmFtZSA9IFwiU29ydEJ5XCI7XHJcbiAgICB0aGlzLnNvcnREcm9wZG93bkZpbHRlci5Jc0Zvcm1Db250cm9sID0gdHJ1ZTtcclxuICAgIHRoaXMuc29ydERyb3Bkb3duRmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRyb3Bkb3duTGlzdDtcclxuXHJcbiAgICB0aGlzLnNvcnRUeXBlRHJvcGRvd25PcHRpb25zID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duT3B0aW9ucy5OYW1lID0gXCJTb3J0VHlwZVwiO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duT3B0aW9ucy5MYWJlbEtleSA9IFwiU29ydFR5cGVcIjtcclxuICAgIHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMuTm90Rm91bmRUZXh0ID0gdGhpcy5sKFwiTm9SZXN1bHRGb3VuZFwiKTtcclxuXHJcbiAgICB0aGlzLnNvcnRUeXBlRHJvcGRvd25GaWx0ZXIgPSBuZXcgRmlsdGVySXRlbSgpO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duRmlsdGVyLkZvcm1Db250cm9sTmFtZSA9IHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMuTmFtZTtcclxuICAgIHRoaXMuc29ydFR5cGVEcm9wZG93bkZpbHRlci5BY3Rpb25QYXJhbWV0ZXJOYW1lID0gXCJTb3J0VHlwZVwiO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duRmlsdGVyLklzRm9ybUNvbnRyb2wgPSB0cnVlO1xyXG4gICAgdGhpcy5zb3J0VHlwZURyb3Bkb3duRmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLkRyb3Bkb3duTGlzdDtcclxuXHJcblxyXG5cclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMgPSBuZXcgUGFnZUhlYWRlck9wdGlvbnMoKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuVGl0bGVLZXkgPSB0aGlzLnBhZ2VUaXRsZTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuU3ViVGl0bGVLZXkgPSB0aGlzLmwoXCJTdXJ2ZXlfU3ViSGVhZGVyXCIpO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5TZWFyY2hUZXh0Qm94LkFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLlNlYXJjaFRleHRCb3guVGV4dFNlYXJjaEJveE9wdGlvbnMgPSB0aGlzLnNlYXJjaFRleHRCb3hPcHRpb25zO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5CcmVhZENydW1iLkFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkJyZWFkQ3J1bWIuQnJlYWRDcnVtYkl0ZW1zID0gdGhpcy5icmVhZENydW1iO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5FZGl0QnV0dG9uLkFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5FeHBvcnRCdXR0b24uQWN0aXZlID0gZmFsc2U7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkFkZEJ1dHRvbi5BY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5BZGRCdXR0b24uQnV0dG9uVGV4dEtleSA9IHRoaXMubChcIkFkZFwiKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuQWRkQnV0dG9uLkZ1bmN0aW9uID0gdGhpcy5zaG93QWRkTW9kYWw7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnNCdXR0b24uQWN0aXZlID0gdHJ1ZTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5CdXR0b25UZXh0S2V5ID0gdGhpcy5sKFwiRmlsdGVyc1wiKTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5GdW5jdGlvbiA9IHRoaXMubG9hZEZpbHRlcnM7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnMuQXBwbHlGdW5jdGlvbiA9IHRoaXMuc2VhcmNoO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5GaWx0ZXJzLlJlc3RGdW5jdGlvbiA9IHRoaXMucmVzZXRGaWx0ZXJzO1xyXG4gICAgdGhpcy5wYWdlSGVhZGVyT3B0aW9ucy5GaWx0ZXJzLkNvbnRyb2xzT3B0aW9ucy5wdXNoKHsga2V5OiBEYXRhVHlwZS5TaW5nbGVTZWxlY3QsIHZhbHVlOiB0aGlzLnZpc2libGVEcm9wZG93bk9wdGlvbnMgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVycy5Db250cm9sc09wdGlvbnMucHVzaCh7IGtleTogRGF0YVR5cGUuU2luZ2xlU2VsZWN0LCB2YWx1ZTogdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVycy5Db250cm9sc09wdGlvbnMucHVzaCh7IGtleTogRGF0YVR5cGUuRGF0ZSwgdmFsdWU6IHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVycy5Db250cm9sc09wdGlvbnMucHVzaCh7IGtleTogRGF0YVR5cGUuU2luZ2xlU2VsZWN0LCB2YWx1ZTogdGhpcy5zb3J0RHJvcGRvd25PcHRpb25zIH0pXHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnMuQ29udHJvbHNPcHRpb25zLnB1c2goeyBrZXk6IERhdGFUeXBlLlNpbmdsZVNlbGVjdCwgdmFsdWU6IHRoaXMuc29ydFR5cGVEcm9wZG93bk9wdGlvbnMgfSlcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuTGlzdGluZyA9IHRydWU7XHJcbiAgICB0aGlzLkVOID0gdGhpcy51dGlsaXR5U2VydmljZS5pc0N1cnJlbnRMYW5ndWFnZUVuZ2xpc2goKTtcclxuXHJcbiAgICB0aGlzLnBhZ2luZ09wdGlvbnMgPSBuZXcgUGFnaW5nT3B0aW9ucygpO1xyXG4gICAgdGhpcy5wYWdpbmdPcHRpb25zLlBhZ2VTaXplID0gOTtcclxuICAgIHRoaXMucGFnaW5nT3B0aW9ucy5EaXNhYmxlQmxvY2tVSSA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2luZ09wdGlvbnMuQWN0aW9uUG9zdFVSTCA9IHRoaXMuYXBpVVJMICsgJ0dldEFsbCc7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkxpc3RpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5wYWdpbmdPcHRpb25zLk9uS2V5UHJlc3NGaWx0ZXJzQ29udHJvbE5hbWVzID0gW3RoaXMuc2VhcmNoVGV4dEJveE9wdGlvbnMuTmFtZV07XHJcbiAgICB0aGlzLnBhZ2luZ09wdGlvbnMuRmlsdGVycyA9IFt0aGlzLnNlYXJjaFRleHRGaWx0ZXIsIHRoaXMudmlzaWJsZVBhbmVsRHJvcGRvd25GaWx0ZXIsIHRoaXMuc3RhdHVzRHJvcGRvd25GaWx0ZXIsIHRoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZUZpbHRlciwgdGhpcy5zb3J0RHJvcGRvd25GaWx0ZXIsIHRoaXMuc29ydFR5cGVEcm9wZG93bkZpbHRlcl07XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkaW5nUGFnZSA9IHRydWVcclxuICB9XHJcblxyXG4gIHNldExpc3RpbmdSZXN1bHQocmVzdWx0KSB7XHJcbiAgICBkZWJ1Z2dlcjtcclxuICAgIHRoaXMucGFnaW5nUmVzdWx0ID0gcmVzdWx0O1xyXG4gICAgdGhpcy5zaG93UGFnZUNvbnRlbnQgPSB0cnVlO1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gIH1cclxuXHJcbiAgbG9hZEZpbHRlcnMgPSAoKSA9PiB7XHJcbiAgICBpZiAoIXRoaXMuaXNGaWx0ZXJzRGF0YUxvYWRlZCAmJiAhdGhpcy5zaG93RmlsdGVycylcclxuICAgICAgdGhpcy5sb2FkRmlsdGVyc0RhdGEoKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dGaWx0ZXJzID0gIXRoaXMuc2hvd0ZpbHRlcnM7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJzRGF0YUxvYWRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnNCdXR0b24uU2hvd0xvYWRpbmdJbkZpbHRlcnNCb3ggPSB0aGlzLmxvYWRpbmdcclxuICAgIH1cclxuICAgIHRoaXMuZmxpcHBpbmcgPSAhdGhpcy5mbGlwcGluZztcclxuICB9XHJcblxyXG4gIGxvYWRGaWx0ZXJzRGF0YSA9ICgpID0+IHtcclxuICAgIHRoaXMuc3VydmV5U2VydmljZS5sb2FkRmlsdGVyc0Ryb3Bkb3duKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gciBhcyBhbnlcclxuICAgICAgdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuRGF0YVNvdXJjZSA9IHJlc3VsdC5zdGF0dXNlcztcclxuICAgICAgdGhpcy5zb3J0RHJvcGRvd25PcHRpb25zLkRhdGFTb3VyY2UgPSByZXN1bHQuc3VydmV5U29ydGluZ1R5cGVzO1xyXG4gICAgICB0aGlzLnNvcnRUeXBlRHJvcGRvd25PcHRpb25zLkRhdGFTb3VyY2UgPSByZXN1bHQuc29ydFR5cGVzO1xyXG4gICAgICB0aGlzLnZpc2libGVEcm9wZG93bk9wdGlvbnMuRGF0YVNvdXJjZSA9IHJlc3VsdC52aXNpYmlsaXR5O1xyXG4gICAgICB0aGlzLnNob3dGaWx0ZXJzID0gdHJ1ZTtcclxuICAgICAgdGhpcy5pc0ZpbHRlcnNEYXRhTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5TaG93TG9hZGluZ0luRmlsdGVyc0JveCA9IHRoaXMubG9hZGluZ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXNldEZpbHRlcnMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmZpbHRlcnNGb3JtLmNvbnRyb2xzW3RoaXMuRGF0ZVBpY2tlcldpdGhSYW5nZU1vZGUuTmFtZV0uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmZpbHRlcnNGb3JtLmNvbnRyb2xzW3RoaXMudmlzaWJsZURyb3Bkb3duT3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuZmlsdGVyc0Zvcm0uY29udHJvbHNbdGhpcy5zdGF0dXNEcm9wZG93bk9wdGlvbnMuTmFtZV0uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmZpbHRlcnNGb3JtLmNvbnRyb2xzW3RoaXMuc29ydERyb3Bkb3duT3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuZmlsdGVyc0Zvcm0uY29udHJvbHNbdGhpcy5zb3J0VHlwZURyb3Bkb3duT3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMuZmlsdGVyc0Zvcm0uY29udHJvbHNbdGhpcy5zZWFyY2hUZXh0Qm94T3B0aW9ucy5OYW1lXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnBhZ2VIZWFkZXJPcHRpb25zLkZpbHRlcnNCdXR0b24uU2hvd0xvYWRpbmdJbkZpbHRlcnNCb3ggPSB0aGlzLmxvYWRpbmdcclxuICAgIHRoaXMucGFnaW5nRWxlbWVudC5SZWluaXRpYWxpemVQYWdpbmcoKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaCA9ICgpID0+IHtcclxuICAgIGlmICghdGhpcy5maWx0ZXJzRm9ybS52YWxpZClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMucGFnZUhlYWRlck9wdGlvbnMuRmlsdGVyc0J1dHRvbi5TaG93TG9hZGluZ0luRmlsdGVyc0JveCA9IHRoaXMubG9hZGluZ1xyXG4gICAgdGhpcy5wYWdpbmdFbGVtZW50LlJlaW5pdGlhbGl6ZVBhZ2luZygpO1xyXG4gIH1cclxuXHJcblxyXG4gIHNob3dBZGRNb2RhbCA9ICgpID0+IHtcclxuICAgIHRoaXMuYWRkTW9kYWwuc2hvd01vZGFsKCk7XHJcblxyXG4gIH1cclxuICBzaG93RWRpdE1vZGFsKGlkKSB7XHJcbiAgICB0aGlzLmVkaXRNb2RhbC5zaG93RWRpdE1vZGFsKGlkKTtcclxuICB9XHJcbiAgc2hvd0R1cGxpY2F0ZU1vZGFsKGlkKSB7XHJcbiAgICB0aGlzLmR1cGxpY2F0ZU1vZGFsLnNob3dEdXBsaWNhdGVNb2RhbChpZCk7XHJcbiAgfVxyXG4gIHNob3dEZWxldGVNb2RhbChpZCkge1xyXG4gICAgdGhpcy5kZWxldGVDb25maXJtYXRpb25Nb2RhbENvbnRyb2wuc2hvd0RlbGV0ZU1vZGFsKGlkKTtcclxuXHJcbiAgfVxyXG5cclxuICBnZXRTdGF0dXMoc3RhdHVzKSB7XHJcbiAgICB2YXIgU3RhdHVzZXMgPSAnJztcclxuICAgIHN3aXRjaCAoc3RhdHVzLnRvTG9jYWxlTG93ZXJDYXNlKCkpe1xyXG4gICAgICBjYXNlIHRoaXMuU3VydmV5U3RhdHVzRW51bS5TY29yaW5nVHlwZUVudW1fRHJhZnQudG9Mb2NhbGVMb3dlckNhc2UoKTpcclxuICAgICAgICBTdGF0dXNlcyA9ICdiYWRnZS1zZWNvbmRhcnknO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuU3VydmV5U3RhdHVzRW51bS5TY29yaW5nVHlwZUVudW1fQ2xvc2VkLnRvTG9jYWxlTG93ZXJDYXNlKCk6XHJcbiAgICAgICAgU3RhdHVzZXMgPSAnYmFkZ2UtZGFuZ2VyJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLlN1cnZleVN0YXR1c0VudW0uU2NvcmluZ1R5cGVFbnVtX1B1Ymxpc2hlZC50b0xvY2FsZUxvd2VyQ2FzZSgpOlxyXG4gICAgICAgIFN0YXR1c2VzID0gJ2JhZGdlLXN1Y2Nlc3MnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuU3VydmV5U3RhdHVzRW51bS5TY29yaW5nVHlwZUVudW1fVXBjb21pbmcudG9Mb2NhbGVMb3dlckNhc2UoKTpcclxuICAgICAgICBTdGF0dXNlcyA9ICdiYWRnZS1zdWNjZXNzJztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gU3RhdHVzZXM7XHJcbiAgfVxyXG4gXHJcbn1cclxuIiwiPCEtLXRvb2xiYXItLT5cclxuPGJic2YtcGFnZS1oZWFkZXItY29tcG9uZW50IFtvcHRpb25zXT1cInBhZ2VIZWFkZXJPcHRpb25zXCIgW2dyb3VwXT1cImZpbHRlcnNGb3JtXCI+PC9iYnNmLXBhZ2UtaGVhZGVyLWNvbXBvbmVudD5cclxuPCEtLUVuZCB0b29sYmFyLS0+XHJcbjxkaXYgY2xhc3M9XCJjb250YWluZXIteHhsXCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC14bC02IGQtZmxleFwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHBhZ2luZ1Jlc3VsdFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWxpc3Rpbmcgdy1pY29uLWJveGVzIHN1cnZleS1jYXJkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBsaW5lLWNsYW1wXCI+XHJcbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLi4vaW5mbycsIGl0ZW0uaURfR1VJRF1cIj5cclxuICAgICAgICAgICAgICB7e2l0ZW0ubG9jYWxpemVkVGl0bGV9fVxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXIgZC1mbGV4IGZsZXgtbm93cmFwIGZsZXgtc3RhY2tcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodCBiYWdkZS14cyBtZS0yXCIgKm5nSWY9XCIhaXRlbS52aXNpYmxlXCI+IHt7bChcIk5vdFZpc2libGVcIil9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFnZGUteHMgYmFkZ2UtbGlnaHQgbWUtMlwiIFtuZ0NsYXNzXT1cImdldFN0YXR1cyhpdGVtLnN0YXR1c0l0ZW1JRClcIj57e2l0ZW0ubG9jYWxpemVkU3RhdHVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd24gY29udGFpbmVyPVwiYm9keVwiIGNsYXNzPVwiZHJvcGRvd24tY3VzdG9tXCIgW3BsYWNlbWVudF09XCJFTiA/ICdib3R0b20tcmlnaHQnIDogJ2JvdHRvbS1sZWZ0J1wiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlLWN1c3RvbSBidG4gYnRuLWNsZWFyIGJ0bi1zbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBuZ2JEcm9wZG93blRvZ2dsZT5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tM1wiIFtpbmxpbmVTVkddPVwiJy9hc3NldHMvaW1hZ2VzL2NhcmQtZHJvcGRvd24uc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duTWVudSBjbGFzcz1cImRyb3Bkb3duLW1lbnUtY3VzdG9tXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzaG93RWRpdE1vZGFsKGl0ZW0uaURfR1VJRClcIiBhcHBwcmV2ZW50ZG91YmxlY2xpY2sgdHlwZT1cImJ1dHRvblwiIG5nYkRyb3Bkb3duSXRlbSBjbGFzcz1cImRyb3Bkb3duLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTNcIiBbaW5saW5lU1ZHXT1cIicvYXNzZXRzL2ltYWdlcy9FZGl0LnN2ZydcIj5cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICB7e2woXCJFZGl0XCIpfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwic2hvd0R1cGxpY2F0ZU1vZGFsKGl0ZW0uaURfR1VJRClcIiBhcHBwcmV2ZW50ZG91YmxlY2xpY2sgdHlwZT1cImJ1dHRvblwiIG5nYkRyb3Bkb3duSXRlbSBjbGFzcz1cImRyb3Bkb3duLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTNcIiBbaW5saW5lU1ZHXT1cIicvYXNzZXRzL2ltYWdlcy9jb3B5LnN2ZydcIj5cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICB7e2woXCJEdXBsaWNhdGVcIil9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2hvd0RlbGV0ZU1vZGFsKGl0ZW0uaURfR1VJRClcIiBhcHBwcmV2ZW50ZG91YmxlY2xpY2sgbmdiRHJvcGRvd25JdGVtIGNsYXNzPVwiZHJvcGRvd24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbmxpbmVTVkddPVwiJy9hc3NldHMvaW1hZ2VzL1RyYXNoLnN2ZydcIj48L3NwYW4+ICB7e2woXCJEZWxldGVcIil9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiICpuZ0lmPVwiaXRlbS5sb2NhbGl6ZWREZXNjXCI+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cImxpbmUtY2xhbXAtMlwiPlxyXG4gICAgICAgICAgICB7e2l0ZW0ubG9jYWxpemVkRGVzY319XHJcbiAgICAgICAgICA8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLWZvb3RlciB0eXBlIG9uZS0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlclwiPlxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1cnZleS1jb3VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdXJ2ZXktY291bnRlci10aXRsZVwiPnt7bCgnUXVlc3Rpb24nKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtYnJhbmQgYmFkZ2Utc3F1YXJlIFwiPnt7aXRlbS50b3RhbFF1ZXN0aW9uQ291bnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdXJ2ZXktY291bnRlclwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3VydmV5LWNvdW50ZXItdGl0bGVcIj57e2woJ1N1Ym1pc3Npb25zJyl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWJyYW5kIGJhZGdlLXNxdWFyZSBcIj57e2l0ZW0udG90YWxTdWJtaXNzaW9uc0NvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VydmVyeS1kYXRlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWJveGVzIGFsaWduLWl0ZW1zLWJhc2VsaW5lXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tYm94IHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ltYm9sLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi00XCIgW2lubGluZVNWR109XCInL2Fzc2V0cy9pbWFnZXMvY2FsZW5kYXIuc3ZnJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1cnZleS1jb3VudGVyLXRpdGxlXCIgKm5nSWY9XCJpdGVtLnN0YXJ0RGF0ZT09bnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICB7e2woJ05vdFN0YXJ0ZWRZZXQnKX19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1cnZleS1jb3VudGVyLXRpdGxlIGQtZmxleCBmbGV4LXN0YWNrIHctMTAwXCIgKm5nSWY9XCJpdGVtLnN0YXJ0RGF0ZSE9bnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICB7e2l0ZW0uc3RhcnREYXRlIHxzdXJ2ZXlEYXRlfX0gLSB7e2l0ZW0uZW5kRGF0ZSE9bnVsbD8oaXRlbS5lbmREYXRlfHN1cnZleURhdGUpOlwiXCJ9fVxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0XCIgKm5nSWY9XCJpdGVtLmVuZERhdGU9PW51bGxcIj57e2woJ0hhc05vRW5kJyl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48QkJTRi1QYWdpbmcgKEl0ZW1zKT1cInNldExpc3RpbmdSZXN1bHQoJGV2ZW50KVwiICpuZ0lmPVwibG9hZGluZ1BhZ2VcIiBbb3B0aW9uc109XCJwYWdpbmdPcHRpb25zXCIgW2dyb3VwXT1cImZpbHRlcnNGb3JtXCJcclxuICAjcGFnaW5nVmlld0VsZW1lbnQ+PC9CQlNGLVBhZ2luZz5cclxuXHJcbjxhcHAtbm8tcmVzdWx0cyAqbmdJZj1cInBhZ2luZ1Jlc3VsdC5sZW5ndGggPT0gMCAmJiBzaG93UGFnZUNvbnRlbnRcIj48L2FwcC1uby1yZXN1bHRzPlxyXG48YXBwLWFkZC1zdXJ2ZXkgI2FkZE1vZGFsIFtwYWdpbmdFbGVtZW50XT1cInBhZ2luZ0VsZW1lbnRcIj48L2FwcC1hZGQtc3VydmV5PlxyXG48YXBwLWVkaXQtc3VydmV5ICNlZGl0TW9kYWwgW3BhZ2luZ0VsZW1lbnRdPVwicGFnaW5nRWxlbWVudFwiPjwvYXBwLWVkaXQtc3VydmV5PlxyXG48YXBwLWRlbGV0ZS1zdXJ2ZXkgI2RlbGV0ZUNvbmZpcm1hdGlvbk1vZGFsQ29udHJvbCBbcGFnaW5nRWxlbWVudF09XCJwYWdpbmdFbGVtZW50XCI+PC9hcHAtZGVsZXRlLXN1cnZleT5cclxuPGFwcC1kdXBsaWNhdGUtc3VydmV5ICNkdXBsaWNhdGVNb2RhbCBbcGFnaW5nRWxlbWVudF09XCJwYWdpbmdFbGVtZW50XCI+PC9hcHAtZHVwbGljYXRlLXN1cnZleT5cclxuIl19
|