@bnsights/bbsf-admin-portal 1.0.80 → 1.0.82

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 (80) hide show
  1. package/README.md +5 -1
  2. package/bnsights-bbsf-admin-portal-1.0.82.tgz +0 -0
  3. package/bundles/bnsights-bbsf-admin-portal.umd.js +18 -6514
  4. package/bundles/bnsights-bbsf-admin-portal.umd.js.map +1 -1
  5. package/esm2015/lib/Pages/documents/document-template-info/document-template-info.component.js +7 -29
  6. package/esm2015/lib/Pages/shared/Services/DocumentTemplateService.service.js +1 -9
  7. package/esm2015/public-api.js +1 -3
  8. package/fesm2015/bnsights-bbsf-admin-portal.js +14 -7032
  9. package/fesm2015/bnsights-bbsf-admin-portal.js.map +1 -1
  10. package/lib/Pages/documents/document-template-info/document-template-info.component.d.ts +3 -2
  11. package/lib/Pages/shared/Services/DocumentTemplateService.service.d.ts +0 -2
  12. package/package.json +3 -3
  13. package/public-api.d.ts +0 -1
  14. package/src/lib/assets/sass/_init.scss +4 -4
  15. package/src/lib/assets/sass/core/components/components.scss +31 -31
  16. package/src/lib/assets/sass/style-rtl.scss +3 -3
  17. package/src/lib/assets/sass/style.scss +3 -3
  18. package/bnsights-bbsf-admin-portal-1.0.80.tgz +0 -0
  19. package/esm2015/lib/Pages/shared/word/constants.js +0 -105
  20. package/esm2015/lib/Pages/shared/word/docx-document.js +0 -351
  21. package/esm2015/lib/Pages/shared/word/helpers/index.js +0 -4
  22. package/esm2015/lib/Pages/shared/word/helpers/render-document-file.js +0 -278
  23. package/esm2015/lib/Pages/shared/word/helpers/xml-builder.js +0 -1678
  24. package/esm2015/lib/Pages/shared/word/html-to-docx.js +0 -190
  25. package/esm2015/lib/Pages/shared/word/index.js +0 -53
  26. package/esm2015/lib/Pages/shared/word/namespaces.js +0 -37
  27. package/esm2015/lib/Pages/shared/word/schemas/content-types.js +0 -26
  28. package/esm2015/lib/Pages/shared/word/schemas/core.js +0 -27
  29. package/esm2015/lib/Pages/shared/word/schemas/document-rels.js +0 -16
  30. package/esm2015/lib/Pages/shared/word/schemas/document.template.js +0 -107
  31. package/esm2015/lib/Pages/shared/word/schemas/font-table.js +0 -40
  32. package/esm2015/lib/Pages/shared/word/schemas/generic-rels.js +0 -11
  33. package/esm2015/lib/Pages/shared/word/schemas/index.js +0 -13
  34. package/esm2015/lib/Pages/shared/word/schemas/numbering.js +0 -17
  35. package/esm2015/lib/Pages/shared/word/schemas/rels.js +0 -11
  36. package/esm2015/lib/Pages/shared/word/schemas/settings.js +0 -13
  37. package/esm2015/lib/Pages/shared/word/schemas/styles.js +0 -147
  38. package/esm2015/lib/Pages/shared/word/schemas/theme.js +0 -198
  39. package/esm2015/lib/Pages/shared/word/schemas/web-settings.js +0 -9
  40. package/esm2015/lib/Pages/shared/word/utils/color-conversion.js +0 -60
  41. package/esm2015/lib/Pages/shared/word/utils/list.js +0 -51
  42. package/esm2015/lib/Pages/shared/word/utils/unit-conversion.js +0 -30
  43. package/esm2015/lib/Pages/shared/word/utils/url.js +0 -7
  44. package/esm2015/lib/Pages/shared/word/utils/vnode.js +0 -3
  45. package/esm2015/lib/Pages/shared/word/word-work/templates/documentTemplate.js +0 -54
  46. package/esm2015/lib/Pages/shared/word/word-work/templates/index.js +0 -4
  47. package/esm2015/lib/Pages/shared/word/word-work/templates/mhtDocumentTemplate.js +0 -22
  48. package/esm2015/lib/Pages/shared/word/word-work/templates/mhtPartTemplate.js +0 -10
  49. package/esm2015/lib/Pages/shared/word/word-work/utils.js +0 -26
  50. package/lib/Pages/shared/word/constants.d.ts +0 -124
  51. package/lib/Pages/shared/word/docx-document.d.ts +0 -73
  52. package/lib/Pages/shared/word/helpers/index.d.ts +0 -1
  53. package/lib/Pages/shared/word/helpers/render-document-file.d.ts +0 -4
  54. package/lib/Pages/shared/word/helpers/xml-builder.d.ts +0 -14
  55. package/lib/Pages/shared/word/html-to-docx.d.ts +0 -1
  56. package/lib/Pages/shared/word/index.d.ts +0 -1
  57. package/lib/Pages/shared/word/namespaces.d.ts +0 -36
  58. package/lib/Pages/shared/word/schemas/content-types.d.ts +0 -1
  59. package/lib/Pages/shared/word/schemas/core.d.ts +0 -1
  60. package/lib/Pages/shared/word/schemas/document-rels.d.ts +0 -1
  61. package/lib/Pages/shared/word/schemas/document.template.d.ts +0 -4
  62. package/lib/Pages/shared/word/schemas/font-table.d.ts +0 -1
  63. package/lib/Pages/shared/word/schemas/generic-rels.d.ts +0 -1
  64. package/lib/Pages/shared/word/schemas/index.d.ts +0 -12
  65. package/lib/Pages/shared/word/schemas/numbering.d.ts +0 -1
  66. package/lib/Pages/shared/word/schemas/rels.d.ts +0 -1
  67. package/lib/Pages/shared/word/schemas/settings.d.ts +0 -1
  68. package/lib/Pages/shared/word/schemas/styles.d.ts +0 -1
  69. package/lib/Pages/shared/word/schemas/theme.d.ts +0 -1
  70. package/lib/Pages/shared/word/schemas/web-settings.d.ts +0 -1
  71. package/lib/Pages/shared/word/utils/color-conversion.d.ts +0 -7
  72. package/lib/Pages/shared/word/utils/list.d.ts +0 -6
  73. package/lib/Pages/shared/word/utils/unit-conversion.d.ts +0 -29
  74. package/lib/Pages/shared/word/utils/url.d.ts +0 -1
  75. package/lib/Pages/shared/word/utils/vnode.d.ts +0 -1
  76. package/lib/Pages/shared/word/word-work/templates/documentTemplate.d.ts +0 -12
  77. package/lib/Pages/shared/word/word-work/templates/index.d.ts +0 -3
  78. package/lib/Pages/shared/word/word-work/templates/mhtDocumentTemplate.d.ts +0 -1
  79. package/lib/Pages/shared/word/word-work/templates/mhtPartTemplate.d.ts +0 -1
  80. package/lib/Pages/shared/word/word-work/utils.d.ts +0 -1
@@ -19,7 +19,7 @@ import * as i9 from "@bnsights/bbsf-controls";
19
19
  import * as i10 from "ng-inline-svg";
20
20
  import * as i11 from "@angular/forms";
21
21
  export class DocumentTemplateInfoComponent extends AppBaseComponent {
22
- constructor(injector, utilityService, bbsfTranslateService, _clipboardService, templateService, activatedRoute, pageInfoService, modalService, datepipe, requestHandlerService) {
22
+ constructor(injector, utilityService, bbsfTranslateService, _clipboardService, templateService, activatedRoute, pageInfoService, modalService, datepipe, requestHandlerService, wordDocumentService) {
23
23
  super(injector);
24
24
  this.injector = injector;
25
25
  this.utilityService = utilityService;
@@ -31,6 +31,7 @@ export class DocumentTemplateInfoComponent extends AppBaseComponent {
31
31
  this.modalService = modalService;
32
32
  this.datepipe = datepipe;
33
33
  this.requestHandlerService = requestHandlerService;
34
+ this.wordDocumentService = wordDocumentService;
34
35
  this.TemplateIdEnc = '';
35
36
  this.isDataLoaded = false;
36
37
  this.saveAs = saveAs;
@@ -96,30 +97,7 @@ export class DocumentTemplateInfoComponent extends AppBaseComponent {
96
97
  let latest_date = this.datepipe.transform(now, 'dd-MM-yyyy HH.mm');
97
98
  if (this.exportType == 2) {
98
99
  let fileName = this.TemplateInfo.localizedTemplateName + '_' + latest_date + '.doc';
99
- let documentOptions = {};
100
- if (result.isLandscape)
101
- documentOptions.orientation = 'landscape';
102
- // documentOptions.pageNumber =result.showPaging;
103
- documentOptions.pageSize = {
104
- width: result.pageWidth * 15,
105
- height: result.pageHeight * 15
106
- };
107
- documentOptions.margins = {
108
- top: result.top * 15,
109
- right: result.right * 15,
110
- bottom: result.bottom * 15,
111
- left: result.left * 15,
112
- header: 720,
113
- footer: 720,
114
- gutter: 0,
115
- };
116
- documentOptions.footer = true;
117
- documentOptions.header = true;
118
- documentOptions.pageNumber = true;
119
- documentOptions.table = { row: { cantSplit: true } };
120
- // var fileBuffer =await GenerateDOCX(result.body, result.header, documentOptions, result.footer)
121
- // this.downloadWord(fileBuffer as any, fileName);
122
- var fileBufferLib = yield this.templateService.generateWordByteFile(result.body, result.header, documentOptions, result.footer);
100
+ var fileBufferLib = yield this.wordDocumentService.generateWordByteFile(result);
123
101
  this.downloadWord(fileBufferLib, "Lib" + fileName);
124
102
  return;
125
103
  }
@@ -349,13 +327,13 @@ export class DocumentTemplateInfoComponent extends AppBaseComponent {
349
327
  this.requestHandlerService.destroyHandler();
350
328
  }
351
329
  }
352
- DocumentTemplateInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DocumentTemplateInfoComponent, deps: [{ token: i0.Injector }, { token: i1.UtilityService }, { token: i1.BBSFTranslateService }, { token: i2.ClipboardService }, { token: i3.DocumentTemplateService }, { token: i4.ActivatedRoute }, { token: i5.PageInfoService }, { token: i6.NgbModal }, { token: i7.DatePipe }, { token: i1.RequestHandlerService }], target: i0.ɵɵFactoryTarget.Component });
353
- DocumentTemplateInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: DocumentTemplateInfoComponent, selector: "lib-document-template-info", usesInheritance: true, ngImport: i0, template: "<block-ui></block-ui>\r\n\r\n<div class=\"container-fluid\" *ngIf=\"isDataLoaded\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0 pt-5\">\r\n <div class=\"card-title align-items-start flex-column\">\r\n\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-light-primary\"\r\n (click)=\"showEditTemplateModal(EditTemplateModal)\">\r\n <i class=\"fa fa fa-edit\" aria-hidden=\"true\"></i>\r\n <span>{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n </button>\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-light-primary\"\r\n (click)=\"showTestExportDocumentModal(ExportDocumentModal)\">\r\n <i class=\"fa fa fa-download\" aria-hidden=\"true\"></i>\r\n <span>{{utilityService.getResourceValue(\"Export\")}}</span>\r\n </button>\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-light-primary\"\r\n (click)=\"showTestExportDocumentModal(ExportDocumentModal,2)\">\r\n <i class=\"fa fa fa-download\" aria-hidden=\"true\"></i>\r\n <span>{{utilityService.getResourceValue(\"Export\")}} Word</span>\r\n </button>\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-primary\" *ngIf=\"!ProductionMode\"\r\n (click)=\"showGenerateCodeByIdModal(GenerateCodeModal)\">\r\n <i class=\"fa fa-bars\"></i>{{utilityService.getResourceValue(\"GenerateCode\")}}\r\n </button>\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-primary\" *ngIf=\"!ProductionMode\"\r\n (click)=\"showGenerateUpdateCodeByIdModal(GenerateCodeModal)\">\r\n <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateUpdateCode\")}}\r\n </button>\r\n\r\n </div>\r\n </div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row\">\r\n <div class=\"col-xl-6 mb-10\">\r\n <div class=\"d-flex h-100 align-items-center \">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-center rounded-3 bg-light\r\n py-10 px-10 h-100\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 d-flex justify-content-between w-100\">\r\n <!--begin::Title-->\r\n <a\r\n [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'en']\"\r\n routerLinkActive=\"router-link-active\" class=\"text-primary mb-5\r\n fw-boldest fs-2\">\r\n English:\r\n {{TemplateInfo.templateNameEN}}\r\n </a>\r\n\r\n <a\r\n [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'en']\"\r\n routerLinkActive=\"router-link-active\" class=\"btn btn-sm\r\n btn-light-primary btn-icon\">\r\n <i class=\"fa fa-pen\"></i>\r\n </a>\r\n\r\n </div>\r\n <div class=\"w-100 mb-10\">\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-center mb-5\">\r\n <div class=\"fw-bold fs-6 text-gray-800 flex-grow-1 pe-3\">\r\n <div innerHTML=\"{{TemplateInfo.headerEN}}\">\r\n </div>\r\n <div innerHTML=\"{{TemplateInfo.bodyEN}}\">\r\n </div>\r\n <div innerHTML=\"{{TemplateInfo.footerEN}}\">\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <div class=\"col-xl-6 mb-10\">\r\n <div class=\"d-flex h-100 align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-center rounded-3 bg-light\r\n py-10 px-10 h-100\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 d-flex justify-content-between w-100\">\r\n <!--begin::Title-->\r\n <a\r\n [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'ar']\"\r\n routerLinkActive=\"router-link-active\" class=\"text-primary mb-5\r\n fw-boldest fs-2\">\r\n Arabic:\r\n {{TemplateInfo.templateNameAR}}\r\n </a>\r\n <a\r\n [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'ar']\"\r\n routerLinkActive=\"router-link-active\" class=\"btn btn-sm\r\n btn-light-primary btn-icon\">\r\n <i class=\"fa fa-pen\"></i>\r\n </a>\r\n </div>\r\n <div class=\"w-100 mb-10\">\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-center mb-5\">\r\n <div class=\"fw-bold fs-6 text-gray-800 flex-grow-1 pe-3 ar\">\r\n <div innerHTML=\"{{TemplateInfo.headerAR}}\">\r\n </div>\r\n <div innerHTML=\"{{TemplateInfo.bodyAR}}\">\r\n </div>\r\n <div innerHTML=\"{{TemplateInfo.footerAR}}\">\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n<!-- edit Modal -->\r\n<ng-template #EditTemplateModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn\r\n btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}}\r\n {{utilityService.getResourceValue(\"Template\")}}</h1>\r\n </div>\r\n\r\n <BBSF-Form [options]=\"EditTemplateFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextBox [options]=\"EditName\"\r\n [group]=\"EditTemplateForm\"></BBSF-MultiLingualTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextArea [options]=\"EditDescription\"\r\n [group]=\"EditTemplateForm\">\r\n </BBSF-MultiLingualTextArea>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n <div class=\"col-md-12\">\r\n <BBSF-TextBox [options]=\"EditSysName\" [group]=\"EditTemplateForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditOrganization\"\r\n [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditCategory\"\r\n [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditMasterLayout\"\r\n [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"text-center pt-7\">\r\n <button #CloseEditTemplateModal id=\"CloseEditTemplateModal\"\r\n type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n\r\n<!-- Export Document Modal -->\r\n<ng-template #ExportDocumentModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Export\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"TestExportDocumentFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-repeater-table [options]=\"addKeyValueRepeaterOptions\" [group]=\"TestExportDocumentForm\">\r\n </BBSF-repeater-table>\r\n </div>\r\n </div>\r\n\r\n <div class=\"text-center pt-7\">\r\n <button #CloseSendEmailForm id=\"CloseSendEmailForm\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Export\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n<!-- GenerateCode Modal -->\r\n<ng-template #GenerateCodeModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn\r\n btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</h1>\r\n </div>\r\n <form [formGroup]=\"GenerateCodeForm\">\r\n\r\n <div class=\"Row\">\r\n <BBSF-TextArea [options]=\"GenerateCodeTextArea\"\r\n [group]=\"GenerateCodeForm\" #GenerateCodeInput>\r\n </BBSF-TextArea>\r\n </div>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseGenerateCodeModal id=\"CloseGenerateCodeModal\"\r\n type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"button\" class=\"btn btn-primary btn-sm\"\r\n (click)=\"copyInputMessage()\">\r\n {{utilityService.getResourceValue(\"CopyToClipboard\")}}\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n</ng-template>\r\n", components: [{ type: i8.BlockUIComponent, selector: "block-ui", inputs: ["name", "template", "message", "delayStart", "delayStop"] }, { type: i9.FormComponent, selector: "BBSF-Form", inputs: ["options"], outputs: ["OnChange"] }, { type: i9.MultiLingualTextBoxComponent, selector: "BBSF-MultiLingualTextBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i9.MultiLingualTextAreaComponent, selector: "BBSF-MultiLingualTextArea", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i9.TextboxComponent, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i9.DropdownListComponent, selector: "BBSF-DropdownList", inputs: ["group", "options"], outputs: ["OnChange", "onClear"] }, { type: i9.RepeaterTableComponent, selector: "BBSF-repeater-table", inputs: ["group", "options"] }, { type: i9.TextAreaComponent, selector: "BBSF-TextArea", inputs: ["group", "options"], outputs: ["OnChange"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }, { type: i10.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "forceEvalStyles", "evalScripts", "inlineSVG", "setSVGAttributes", "removeSVGAttributes", "fallbackImgUrl", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }, { type: i11.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i11.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i11.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
330
+ DocumentTemplateInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DocumentTemplateInfoComponent, deps: [{ token: i0.Injector }, { token: i1.UtilityService }, { token: i1.BBSFTranslateService }, { token: i2.ClipboardService }, { token: i3.DocumentTemplateService }, { token: i4.ActivatedRoute }, { token: i5.PageInfoService }, { token: i6.NgbModal }, { token: i7.DatePipe }, { token: i1.RequestHandlerService }, { token: i1.WordDocumentService }], target: i0.ɵɵFactoryTarget.Component });
331
+ DocumentTemplateInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: DocumentTemplateInfoComponent, selector: "lib-document-template-info", usesInheritance: true, ngImport: i0, template: "<block-ui></block-ui>\r\n\r\n<div class=\"container-fluid\" *ngIf=\"isDataLoaded\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0 pt-5\">\r\n <div class=\"card-title align-items-start flex-column\">\r\n\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-light-primary\"\r\n (click)=\"showEditTemplateModal(EditTemplateModal)\">\r\n <i class=\"fa fa fa-edit\" aria-hidden=\"true\"></i>\r\n <span>{{utilityService.getResourceValue(\"Edit\")}}</span>\r\n </button>\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-light-primary\"\r\n (click)=\"showTestExportDocumentModal(ExportDocumentModal)\">\r\n <i class=\"fa fa-file-pdf\" aria-hidden=\"true\"></i>\r\n <span>{{utilityService.getResourceValue(\"Export\")}} PDF</span>\r\n </button>\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-light-primary\"\r\n (click)=\"showTestExportDocumentModal(ExportDocumentModal,2)\">\r\n <i class=\"fa fa-file-word\" aria-hidden=\"true\"></i>\r\n <span>{{utilityService.getResourceValue(\"Export\")}} Word</span>\r\n </button>\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-primary\" *ngIf=\"!ProductionMode\"\r\n (click)=\"showGenerateCodeByIdModal(GenerateCodeModal)\">\r\n <i class=\"fa fa-bars\"></i>{{utilityService.getResourceValue(\"GenerateCode\")}}\r\n </button>\r\n <button type=\"button\" id=\"btnSetPass\" class=\"btn btn-sm me-3\r\n btn-primary\" *ngIf=\"!ProductionMode\"\r\n (click)=\"showGenerateUpdateCodeByIdModal(GenerateCodeModal)\">\r\n <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateUpdateCode\")}}\r\n </button>\r\n\r\n </div>\r\n </div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row\">\r\n <div class=\"col-xl-6 mb-10\">\r\n <div class=\"d-flex h-100 align-items-center \">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-center rounded-3 bg-light\r\n py-10 px-10 h-100\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 d-flex justify-content-between w-100\">\r\n <!--begin::Title-->\r\n <a\r\n [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'en']\"\r\n routerLinkActive=\"router-link-active\" class=\"text-primary mb-5\r\n fw-boldest fs-2\">\r\n English:\r\n {{TemplateInfo.templateNameEN}}\r\n </a>\r\n\r\n <a\r\n [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'en']\"\r\n routerLinkActive=\"router-link-active\" class=\"btn btn-sm\r\n btn-light-primary btn-icon\">\r\n <i class=\"fa fa-pen\"></i>\r\n </a>\r\n\r\n </div>\r\n <div class=\"w-100 mb-10\">\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-center mb-5\">\r\n <div class=\"fw-bold fs-6 text-gray-800 flex-grow-1 pe-3\">\r\n <div innerHTML=\"{{TemplateInfo.headerEN}}\">\r\n </div>\r\n <div innerHTML=\"{{TemplateInfo.bodyEN}}\">\r\n </div>\r\n <div innerHTML=\"{{TemplateInfo.footerEN}}\">\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n <div class=\"col-xl-6 mb-10\">\r\n <div class=\"d-flex h-100 align-items-center\">\r\n <!--begin::Option-->\r\n <div class=\"w-100 d-flex flex-column flex-center rounded-3 bg-light\r\n py-10 px-10 h-100\">\r\n <!--begin::Heading-->\r\n <div class=\"mb-7 d-flex justify-content-between w-100\">\r\n <!--begin::Title-->\r\n <a\r\n [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'ar']\"\r\n routerLinkActive=\"router-link-active\" class=\"text-primary mb-5\r\n fw-boldest fs-2\">\r\n Arabic:\r\n {{TemplateInfo.templateNameAR}}\r\n </a>\r\n <a\r\n [routerLink]=\"['/Admin/Documents/EditTemplate',TemplateId,'ar']\"\r\n routerLinkActive=\"router-link-active\" class=\"btn btn-sm\r\n btn-light-primary btn-icon\">\r\n <i class=\"fa fa-pen\"></i>\r\n </a>\r\n </div>\r\n <div class=\"w-100 mb-10\">\r\n <!--begin::Item-->\r\n <div class=\"d-flex align-items-center mb-5\">\r\n <div class=\"fw-bold fs-6 text-gray-800 flex-grow-1 pe-3 ar\">\r\n <div innerHTML=\"{{TemplateInfo.headerAR}}\">\r\n </div>\r\n <div innerHTML=\"{{TemplateInfo.bodyAR}}\">\r\n </div>\r\n <div innerHTML=\"{{TemplateInfo.footerAR}}\">\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Option-->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n<!-- edit Modal -->\r\n<ng-template #EditTemplateModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn\r\n btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}}\r\n {{utilityService.getResourceValue(\"Template\")}}</h1>\r\n </div>\r\n\r\n <BBSF-Form [options]=\"EditTemplateFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextBox [options]=\"EditName\"\r\n [group]=\"EditTemplateForm\"></BBSF-MultiLingualTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextArea [options]=\"EditDescription\"\r\n [group]=\"EditTemplateForm\">\r\n </BBSF-MultiLingualTextArea>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n <div class=\"col-md-12\">\r\n <BBSF-TextBox [options]=\"EditSysName\" [group]=\"EditTemplateForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditOrganization\"\r\n [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditCategory\"\r\n [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditMasterLayout\"\r\n [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"text-center pt-7\">\r\n <button #CloseEditTemplateModal id=\"CloseEditTemplateModal\"\r\n type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n\r\n<!-- Export Document Modal -->\r\n<ng-template #ExportDocumentModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Export\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"TestExportDocumentFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-repeater-table [options]=\"addKeyValueRepeaterOptions\" [group]=\"TestExportDocumentForm\">\r\n </BBSF-repeater-table>\r\n </div>\r\n </div>\r\n\r\n <div class=\"text-center pt-7\">\r\n <button #CloseSendEmailForm id=\"CloseSendEmailForm\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Export\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n<!-- GenerateCode Modal -->\r\n<ng-template #GenerateCodeModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn\r\n btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</h1>\r\n </div>\r\n <form [formGroup]=\"GenerateCodeForm\">\r\n\r\n <div class=\"Row\">\r\n <BBSF-TextArea [options]=\"GenerateCodeTextArea\"\r\n [group]=\"GenerateCodeForm\" #GenerateCodeInput>\r\n </BBSF-TextArea>\r\n </div>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseGenerateCodeModal id=\"CloseGenerateCodeModal\"\r\n type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"button\" class=\"btn btn-primary btn-sm\"\r\n (click)=\"copyInputMessage()\">\r\n {{utilityService.getResourceValue(\"CopyToClipboard\")}}\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n</ng-template>\r\n", components: [{ type: i8.BlockUIComponent, selector: "block-ui", inputs: ["name", "template", "message", "delayStart", "delayStop"] }, { type: i9.FormComponent, selector: "BBSF-Form", inputs: ["options"], outputs: ["OnChange"] }, { type: i9.MultiLingualTextBoxComponent, selector: "BBSF-MultiLingualTextBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i9.MultiLingualTextAreaComponent, selector: "BBSF-MultiLingualTextArea", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i9.TextboxComponent, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i9.DropdownListComponent, selector: "BBSF-DropdownList", inputs: ["group", "options"], outputs: ["OnChange", "onClear"] }, { type: i9.RepeaterTableComponent, selector: "BBSF-repeater-table", inputs: ["group", "options"] }, { type: i9.TextAreaComponent, selector: "BBSF-TextArea", inputs: ["group", "options"], outputs: ["OnChange"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }, { type: i10.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "forceEvalStyles", "evalScripts", "inlineSVG", "setSVGAttributes", "removeSVGAttributes", "fallbackImgUrl", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }, { type: i11.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i11.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i11.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
354
332
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DocumentTemplateInfoComponent, decorators: [{
355
333
  type: Component,
356
334
  args: [{
357
335
  selector: 'lib-document-template-info',
358
336
  templateUrl: './document-template-info.component.html',
359
337
  }]
360
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.UtilityService }, { type: i1.BBSFTranslateService }, { type: i2.ClipboardService }, { type: i3.DocumentTemplateService }, { type: i4.ActivatedRoute }, { type: i5.PageInfoService }, { type: i6.NgbModal }, { type: i7.DatePipe }, { type: i1.RequestHandlerService }]; } });
361
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdGVtcGxhdGUtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RvY3VtZW50cy9kb2N1bWVudC10ZW1wbGF0ZS1pbmZvL2RvY3VtZW50LXRlbXBsYXRlLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9kb2N1bWVudHMvZG9jdW1lbnQtdGVtcGxhdGUtaW5mby9kb2N1bWVudC10ZW1wbGF0ZS1pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQ0wsZ0JBQWdCLEVBRWhCLGFBQWEsRUFFYixRQUFRLEVBQ1IsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsU0FBUyxFQUNULDJCQUEyQixFQUMzQiwwQkFBMEIsRUFFMUIsYUFBYSxFQUNiLGVBQWUsRUFDZixlQUFlLEVBQ2YsY0FBYyxHQUNmLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQVVyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUU5RixPQUFPLEtBQUssTUFBTSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLHFCQUFxQixHQUN0QixNQUFNLHVEQUF1RCxDQUFDOzs7Ozs7Ozs7Ozs7O0FBTy9ELE1BQU0sT0FBTyw2QkFDWCxTQUFRLGdCQUFnQjtJQXNDeEIsWUFDVSxRQUFrQixFQUNuQixjQUE4QixFQUM5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bEQsV0FBVztZQUNYLGFBQWE7U0FDZCxDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBdUVELFlBQVk7SUFDWixXQUFXO1FBQ1QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlDLENBQUM7OzJIQWpZVSw2QkFBNkI7K0dBQTdCLDZCQUE2Qix5RkNqRDFDLHFoWEF3UkE7NEZEdk9hLDZCQUE2QjtrQkFKekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxXQUFXLEVBQUUseUNBQXlDO2lCQUN2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7XHJcbiAgQXBwQmFzZUNvbXBvbmVudCxcclxuICBDaGVja0JveE9wdGlvbnMsXHJcbiAgQ29udHJvbExheW91dCxcclxuICBDb3VudHJ5LFxyXG4gIERhdGFUeXBlLFxyXG4gIERyb3Bkb3duT3B0aW9ucyxcclxuICBFbmdsaXNoQXJhYmljRFRPLFxyXG4gIEZvcm1PcHRpb25zLFxyXG4gIElucHV0VHlwZSxcclxuICBNdWx0aUxpbmd1YWxUZXh0QXJlYU9wdGlvbnMsXHJcbiAgTXVsdGlMaW5ndWFsVGV4dEJveE9wdGlvbnMsXHJcbiAgUGhvbmVPcHRpb25zLFxyXG4gIFJlcGVhdGVyRmllbGQsXHJcbiAgUmVwZWF0ZXJPcHRpb25zLFxyXG4gIFRleHRBcmVhT3B0aW9ucyxcclxuICBUZXh0Qm94T3B0aW9ucyxcclxufSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IFRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9TZXJ2aWNlcy9UZW1wbGF0ZVNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ2xpcGJvYXJkU2VydmljZSB9IGZyb20gJ25neC1jbGlwYm9hcmQnO1xyXG5pbXBvcnQgeyBFbWFpbFRlbXBsYXRlVGVzdGVyTW9kZWwgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL05vdGlmaWNhdGlvbnNNb2RlbHMvRW1haWxUZW1wbGF0ZVRlc3Rlck1vZGVsJztcclxuaW1wb3J0IHsgU01TVGVtcGxhdGVUZXN0ZXJNb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvTm90aWZpY2F0aW9uc01vZGVscy9TTVNUZW1wbGF0ZVRlc3Rlck1vZGVsJztcclxuaW1wb3J0IHsgVGVtcGxhdGVEVE8gfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL05vdGlmaWNhdGlvbnNNb2RlbHMvVGVtcGxhdGVEVE8nO1xyXG5pbXBvcnQgeyBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fbWV0cm9uaWMvY29yZS9zZXJ2aWNlcy9wYWdlLWluZm8uc2VydmljZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQge1xyXG4gIFV0aWxpdHlTZXJ2aWNlLFxyXG4gIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gIEVudmlyb25tZW50U2VydmljZSxcclxuICBSZXF1ZXN0SGFuZGxlclNlcnZpY2UsXHJcbn0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEb2N1bWVudFRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9TZXJ2aWNlcy9Eb2N1bWVudFRlbXBsYXRlU2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRUZW1wbGF0ZURUTyB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvRG9jdW1lbnRzTW9kZWxzL0RvY3VtZW50VGVtcGxhdGVEVE8nO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCAqIGFzIHNhdmVBcyBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IHtcclxuICBEb2N1bWVudEV4cG9ydERUTyxcclxuICBEb2N1bWVudEV4cG9ydEl0ZW1EVE8sXHJcbn0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9Eb2N1bWVudHNNb2RlbHMvRG9jdW1lbnRFeHBvcnREVE8nO1xyXG5pbXBvcnQge2dlbmVyYXRlQ29udGFpbmVyIGFzIEdlbmVyYXRlRE9DWH0gZnJvbSAnLi4vLi4vc2hhcmVkL3dvcmQvaW5kZXgnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZG9jdW1lbnQtdGVtcGxhdGUtaW5mbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50LXRlbXBsYXRlLWluZm8uY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRUZW1wbGF0ZUluZm9Db21wb25lbnRcclxuICBleHRlbmRzIEFwcEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdFxyXG57XHJcbiAgLy9QYWdlIHJlcXVpcmVtZW50c1xyXG4gIFByb2R1Y3Rpb25Nb2RlOiBib29sZWFuO1xyXG4gIFRlbXBsYXRlSWQ6IHN0cmluZztcclxuICBUZW1wbGF0ZUlkRW5jOiBzdHJpbmcgPSAnJztcclxuICBUZW1wbGF0ZUluZm86IGFueTtcclxuICBUZW1wbGF0ZTogYW55O1xyXG4gIGlzRGF0YUxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNhdmVBcyA9IHNhdmVBcztcclxuICBleHBvcnRUeXBlOiBudW1iZXIgPSAxO1xyXG4gIC8vUmVxdWlyZWQgbGlzdHNcclxuICBDYXRlZ29yeUxpc3QgPSBbXTtcclxuICBPcmdhbml6YXRpb25MaXN0ID0gW107XHJcbiAgTWFzdGVyTGF5b3V0TGlzdCA9IFtdO1xyXG5cclxuICAvL0dlbmVyYXRlQ29kZSAgTW9kZWwgQ29udHJvbHNcclxuICBHZW5lcmF0ZUNvZGVGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgSXNPcGVuR2VuZXJhdGVDb2RlTW9kYWw6IGJvb2xlYW47XHJcbiAgR2VuZXJhdGVDb2RlVGV4dEFyZWE6IFRleHRBcmVhT3B0aW9ucztcclxuICBWYWx1ZVRvQ29weTogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8vRWRpdCBNb2RlbCBDb250cm9sc1xyXG4gIEVkaXRUZW1wbGF0ZUZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBFZGl0VGVtcGxhdGVGb3JtT3B0aW9uczogRm9ybU9wdGlvbnM7XHJcbiAgRWRpdE5hbWU6IE11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zO1xyXG4gIEVkaXRTeXNOYW1lOiBUZXh0Qm94T3B0aW9ucztcclxuICBFZGl0RGVzY3JpcHRpb246IE11bHRpTGluZ3VhbFRleHRBcmVhT3B0aW9ucztcclxuICBFZGl0T3JnYW5pemF0aW9uOiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgRWRpdENhdGVnb3J5OiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgRWRpdE1hc3RlckxheW91dDogRHJvcGRvd25PcHRpb25zO1xyXG5cclxuICAvL1Rlc3QgRXhwb3J0IE1vZGVsIENvbnRyb2xzXHJcbiAgVGVzdEV4cG9ydERvY3VtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIFRlc3RFeHBvcnREb2N1bWVudEZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnM6IFJlcGVhdGVyT3B0aW9ucztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYmJzZlRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIF9jbGlwYm9hcmRTZXJ2aWNlOiBDbGlwYm9hcmRTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRlbXBsYXRlU2VydmljZTogRG9jdW1lbnRUZW1wbGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHVibGljIHBhZ2VJbmZvU2VydmljZTogUGFnZUluZm9TZXJ2aWNlLFxyXG4gICAgcHVibGljIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXHJcbiAgICBwdWJsaWMgZGF0ZXBpcGU6IERhdGVQaXBlLFxyXG4gICAgcHVibGljIHJlcXVlc3RIYW5kbGVyU2VydmljZTogUmVxdWVzdEhhbmRsZXJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xyXG4gICAgICB0aGlzLlRlbXBsYXRlSWQgPSBwYXJhbXNbJ2lkJ107XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdGFydEJsb2NrVUkoKTtcclxuICAgIHRoaXMuYmJzZlRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gICAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuUHJvZHVjdGlvbk1vZGUgPSB0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRQcm9kdWN0aW9uTW9kZSgpO1xyXG4gICAgdGhpcy5pbml0aWFsaXplUGFnZSgpO1xyXG4gIH1cclxuXHJcbiAgLy9Jbml0aWFsaXplIHBhZ2UgaW5mb1xyXG4gIGluaXRpYWxpemVQYWdlKCkge1xyXG4gICAgdGhpcy5pc0RhdGFMb2FkZWQgPSBmYWxzZTtcclxuICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlXHJcbiAgICAgIC5nZXRUZW1wbGF0ZUluZm8odGhpcy5UZW1wbGF0ZUlkKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICBsZXQgUmVzdWx0OiBhbnkgPSByZXN1bHQ7XHJcbiAgICAgICAgdGhpcy5UZW1wbGF0ZUluZm8gPSBSZXN1bHQudmFsO1xyXG4gICAgICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlVGl0bGUgPSB0aGlzLlRlbXBsYXRlSW5mby5sb2NhbGl6ZWRUZW1wbGF0ZU5hbWU7XHJcbiAgICAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VCcmVhZGNydW1icyA9IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnSG9tZScpLFxyXG4gICAgICAgICAgICBwYXRoOiAnL0FkbWluL0hvbWUnLFxyXG4gICAgICAgICAgICBpc1NlcGFyYXRvcjogZmFsc2UsXHJcbiAgICAgICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7IHRpdGxlOiAnJywgcGF0aDogJycsIGlzU2VwYXJhdG9yOiB0cnVlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnVGVtcGxhdGVzJyksXHJcbiAgICAgICAgICAgIHBhdGg6ICcvQWRtaW4vRG9jdW1lbnRzL1RlbXBsYXRlcycsXHJcbiAgICAgICAgICAgIGlzU2VwYXJhdG9yOiBmYWxzZSxcclxuICAgICAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIF07XHJcbiAgICAgICAgdGhpcy5pc0RhdGFMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKTtcclxuICAgICAgICB0aGlzLnBhZ2VJbmZvU2VydmljZS5jYWxjdWxhdGVUaXRsZSgpO1xyXG4gICAgICAgIHRoaXMucGFnZUluZm9TZXJ2aWNlLmNhbGN1bGF0ZUJyZWFkY3J1bWJzKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9HZW5lcmF0ZSBDb2RlXHJcbiAgc2hvd0dlbmVyYXRlQ29kZUJ5SWRNb2RhbChHZW5lcmF0ZUNvZGVNb2RhbCkge1xyXG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgLmdlbmVyYXRlQ29kZUJ5SWQodGhpcy5UZW1wbGF0ZUlkKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICB2YXIgVmFsdWUgPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEgPSBuZXcgVGV4dEFyZWFPcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5OYW1lID0gJ0dlbmVyYXRlQ29kZVRleHRBcmVhJztcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLlZhbHVlID0gVmFsdWUudmFsLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5WYWx1ZVRvQ29weSA9IFZhbHVlLnZhbC50b1N0cmluZygpO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuSXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5IaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuUm93cyA9IDIwO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuQ29scyA9IDIwO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuTWF4TGVuZ3RoID0gMTAwMDAwMDtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEdlbmVyYXRlQ29kZU1vZGFsKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzaG93R2VuZXJhdGVVcGRhdGVDb2RlQnlJZE1vZGFsKEdlbmVyYXRlQ29kZU1vZGFsKSB7XHJcbiAgICB0aGlzLkdlbmVyYXRlQ29kZUZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlXHJcbiAgICAgIC5nZW5lcmF0ZVVwZGF0ZUNvZGVCeUlkKHRoaXMuVGVtcGxhdGVJZClcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdmFyIFZhbHVlID0gcmVzdWx0IGFzIGFueTtcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhID0gbmV3IFRleHRBcmVhT3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuTmFtZSA9ICdHZW5lcmF0ZUNvZGVUZXh0QXJlYSc7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5WYWx1ZSA9IFZhbHVlLnZhbC50b1N0cmluZygpO1xyXG4gICAgICAgIHRoaXMuVmFsdWVUb0NvcHkgPSBWYWx1ZS52YWwudG9TdHJpbmcoKTtcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLklzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuSGlkZUxhYmVsID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLlJvd3MgPSAyMDtcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLkNvbHMgPSAyMDtcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLk1heExlbmd0aCA9IDEwMDAwMDA7XHJcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihHZW5lcmF0ZUNvZGVNb2RhbCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29weUlucHV0TWVzc2FnZSgpIHtcclxuICAgIHRoaXMuX2NsaXBib2FyZFNlcnZpY2UuY29weSh0aGlzLlZhbHVlVG9Db3B5LnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuICAvL0VkaXQgVGVtcGxhdGVcclxuICAvL0VkaXQgVGVtcGxhdGVcclxuICBzaG93RWRpdFRlbXBsYXRlTW9kYWwoRWRpdFRlbXBsYXRlTW9kYWwpIHtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKCk7XHJcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZVxyXG4gICAgICAuZ2V0RWRpdFRlbXBsYXRlRGF0YSh0aGlzLlRlbXBsYXRlSWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGxldCByZXN1bHRPYmogPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICAgIGxldCB0ZW1wbGF0ZSA9IHJlc3VsdE9iai5tb2RlbDtcclxuICAgICAgICBsZXQgbGlzdHMgPSByZXN1bHRPYmoubGlzdHM7XHJcbiAgICAgICAgdGhpcy5Pcmdhbml6YXRpb25MaXN0ID0gbGlzdHMub3JnYW5pemF0aW9uO1xyXG4gICAgICAgIHRoaXMuTWFzdGVyTGF5b3V0TGlzdCA9IGxpc3RzLmRvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGU7XHJcbiAgICAgICAgdGhpcy5DYXRlZ29yeUxpc3QgPSBsaXN0cy5sb29rVXBJdGVtc0NhdGVnb3J5O1xyXG5cclxuICAgICAgICB0aGlzLkVkaXRUZW1wbGF0ZUZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICAgICAgICB0aGlzLkVkaXRUZW1wbGF0ZUZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy5FZGl0VGVtcGxhdGVGb3JtT3B0aW9ucy5Gb3JtR3JvdXAgPSB0aGlzLkVkaXRUZW1wbGF0ZUZvcm07XHJcbiAgICAgICAgdGhpcy5FZGl0VGVtcGxhdGVGb3JtT3B0aW9ucy5HZXRNb2RlbEZ1bmN0aW9uID1cclxuICAgICAgICAgIHRoaXMuZ2V0RWRpdFRlbXBsYXRlTW9kZWw7XHJcbiAgICAgICAgdGhpcy5FZGl0VGVtcGxhdGVGb3JtT3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPVxyXG4gICAgICAgICAgdGhpcy5nZXRFZGl0VGVtcGxhdGVGdW5jdGlvbjtcclxuICAgICAgICBsZXQgTmFtZSA9IG5ldyBFbmdsaXNoQXJhYmljRFRPKCk7XHJcbiAgICAgICAgTmFtZS5BcmFiaWMgPSB0ZW1wbGF0ZS5uYW1lLmFyYWJpYztcclxuICAgICAgICBOYW1lLkVuZ2xpc2ggPSB0ZW1wbGF0ZS5uYW1lLmVuZ2xpc2g7XHJcblxyXG4gICAgICAgIHRoaXMuRWRpdE5hbWUgPSBuZXcgTXVsdGlMaW5ndWFsVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLkVkaXROYW1lLk5hbWUgPSAnTmFtZSc7XHJcbiAgICAgICAgdGhpcy5FZGl0TmFtZS5BcmFiaWNMYWJlbEtleSA9ICdOYW1lSW5BcmFiaWMnO1xyXG4gICAgICAgIHRoaXMuRWRpdE5hbWUuRW5nbGlzaExhYmVsS2V5ID0gJ05hbWVJbkVuZ2xpc2gnO1xyXG4gICAgICAgIHRoaXMuRWRpdE5hbWUuSXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5FZGl0TmFtZS5WYWx1ZSA9IE5hbWU7XHJcbiAgICAgICAgdGhpcy5FZGl0TmFtZS5NYXhMZW5ndGggPSAxMDA7XHJcblxyXG4gICAgICAgIHRoaXMuRWRpdFN5c05hbWUgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLkVkaXRTeXNOYW1lLk5hbWUgPSAnU3lzTmFtZSc7XHJcbiAgICAgICAgdGhpcy5FZGl0U3lzTmFtZS5MYWJlbEtleSA9ICdTeXNOYW1lJztcclxuICAgICAgICB0aGlzLkVkaXRTeXNOYW1lLlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgICAgICB0aGlzLkVkaXRTeXNOYW1lLlZhbHVlID0gdGVtcGxhdGUuc3lzTmFtZTtcclxuICAgICAgICB0aGlzLkVkaXRTeXNOYW1lLk1heExlbmd0aCA9IDEwMDtcclxuXHJcbiAgICAgICAgbGV0IGRlc2NyaXB0aW9uID0gbmV3IEVuZ2xpc2hBcmFiaWNEVE8oKTtcclxuICAgICAgICBkZXNjcmlwdGlvbi5BcmFiaWMgPSB0ZW1wbGF0ZS5kZXNjcmlwdGlvbi5hcmFiaWM7XHJcbiAgICAgICAgZGVzY3JpcHRpb24uRW5nbGlzaCA9IHRlbXBsYXRlLmRlc2NyaXB0aW9uLmVuZ2xpc2g7XHJcblxyXG4gICAgICAgIHRoaXMuRWRpdERlc2NyaXB0aW9uID0gbmV3IE11bHRpTGluZ3VhbFRleHRBcmVhT3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuRWRpdERlc2NyaXB0aW9uLk5hbWUgPSAnRGVzY3JpcHRpb24nO1xyXG4gICAgICAgIHRoaXMuRWRpdERlc2NyaXB0aW9uLkFyYWJpY0xhYmVsS2V5ID0gJ0Rlc2NyaXB0aW9uSW5BcmFiaWMnO1xyXG4gICAgICAgIHRoaXMuRWRpdERlc2NyaXB0aW9uLkVuZ2xpc2hMYWJlbEtleSA9ICdEZXNjcmlwdGlvbkluRW5nbGlzaCc7XHJcbiAgICAgICAgdGhpcy5FZGl0RGVzY3JpcHRpb24uVmFsdWUgPSBkZXNjcmlwdGlvbjtcclxuICAgICAgICB0aGlzLkVkaXREZXNjcmlwdGlvbi5NYXhMZW5ndGggPSAyNTA7XHJcblxyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbiA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLkVkaXRPcmdhbml6YXRpb24uTmFtZSA9ICdPcmdhbml6YXRpb25JRF9HVUlEJztcclxuICAgICAgICB0aGlzLkVkaXRPcmdhbml6YXRpb24uTGFiZWxLZXkgPSAnT3JnYW5pemF0aW9uJztcclxuICAgICAgICB0aGlzLkVkaXRPcmdhbml6YXRpb24uRGF0YVNvdXJjZSA9IHRoaXMuT3JnYW5pemF0aW9uTGlzdDtcclxuICAgICAgICB0aGlzLkVkaXRPcmdhbml6YXRpb24uU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkVkaXRPcmdhbml6YXRpb24uQWxsb3dTZWFyY2hGaWx0ZXIgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5QbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkVkaXRPcmdhbml6YXRpb24uU2VsZWN0ZWRJdGVtcyA9XHJcbiAgICAgICAgICB0ZW1wbGF0ZS5vcmdhbml6YXRpb25JRF9HVUlEPy50b0xvd2VyQ2FzZSgpO1xyXG5cclxuICAgICAgICB0aGlzLkVkaXRNYXN0ZXJMYXlvdXQgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0Lk5hbWUgPSAnRG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZUlEX0dVSUQnO1xyXG4gICAgICAgIHRoaXMuRWRpdE1hc3RlckxheW91dC5MYWJlbEtleSA9ICdNYXN0ZXJMYXlvdXQnO1xyXG4gICAgICAgIHRoaXMuRWRpdE1hc3RlckxheW91dC5EYXRhU291cmNlID0gdGhpcy5NYXN0ZXJMYXlvdXRMaXN0O1xyXG4gICAgICAgIHRoaXMuRWRpdE1hc3RlckxheW91dC5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdE1hc3RlckxheW91dC5BbGxvd1NlYXJjaEZpbHRlciA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LlBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LklzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdE1hc3RlckxheW91dC5TZWxlY3RlZEl0ZW1zID1cclxuICAgICAgICAgIHRlbXBsYXRlLmRvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGVJRF9HVUlEPy50b0xvd2VyQ2FzZSgpO1xyXG5cclxuICAgICAgICB0aGlzLkVkaXRDYXRlZ29yeSA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLkVkaXRDYXRlZ29yeS5OYW1lID0gJ0NhdGVnb3J5SXRlbUlEX0dVSUQnO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5LkxhYmVsS2V5ID0gJ0NhdGVnb3J5JztcclxuICAgICAgICB0aGlzLkVkaXRDYXRlZ29yeS5EYXRhU291cmNlID0gdGhpcy5DYXRlZ29yeUxpc3Q7XHJcbiAgICAgICAgdGhpcy5FZGl0Q2F0ZWdvcnkuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkVkaXRDYXRlZ29yeS5BbGxvd1NlYXJjaEZpbHRlciA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5FZGl0Q2F0ZWdvcnkuUGxhY2Vob2xkZXIgPSAnJztcclxuICAgICAgICB0aGlzLkVkaXRDYXRlZ29yeS5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkVkaXRDYXRlZ29yeS5TZWxlY3RlZEl0ZW1zID1cclxuICAgICAgICAgIHRlbXBsYXRlLmNhdGVnb3J5SXRlbUlEX0dVSUQ/LnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oRWRpdFRlbXBsYXRlTW9kYWwpO1xyXG4gICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGdldEVkaXRUZW1wbGF0ZU1vZGVsID0gKCkgPT4ge1xyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBsZXQgUmVzdWx0TW9kZWwgPSB0aGlzLkVkaXRUZW1wbGF0ZUZvcm0udmFsdWU7XHJcbiAgICBsZXQgRWRpdE1vZGVsID0gbmV3IERvY3VtZW50VGVtcGxhdGVEVE8oKTtcclxuICAgIEVkaXRNb2RlbC5JRF9HVUlEID0gdGhpcy5UZW1wbGF0ZUlkO1xyXG4gICAgRWRpdE1vZGVsLk5hbWUuQXJhYmljID0gUmVzdWx0TW9kZWwuTmFtZS5BcmFiaWM7XHJcbiAgICBFZGl0TW9kZWwuTmFtZS5FbmdsaXNoID0gUmVzdWx0TW9kZWwuTmFtZS5FbmdsaXNoO1xyXG4gICAgRWRpdE1vZGVsLlN5c05hbWUgPSBSZXN1bHRNb2RlbC5TeXNOYW1lO1xyXG4gICAgRWRpdE1vZGVsLkRvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGVJRF9HVUlEID1cclxuICAgICAgUmVzdWx0TW9kZWwuRG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZUlEX0dVSUQ7XHJcbiAgICBFZGl0TW9kZWwuRGVzY3JpcHRpb24uRW5nbGlzaCA9IFJlc3VsdE1vZGVsLkRlc2NyaXB0aW9uLkVuZ2xpc2g7XHJcbiAgICBFZGl0TW9kZWwuRGVzY3JpcHRpb24uQXJhYmljID0gUmVzdWx0TW9kZWwuRGVzY3JpcHRpb24uQXJhYmljO1xyXG4gICAgRWRpdE1vZGVsLk9yZ2FuaXphdGlvbklEX0dVSUQgPSBSZXN1bHRNb2RlbC5Pcmdhbml6YXRpb25JRF9HVUlEO1xyXG4gICAgRWRpdE1vZGVsLkNhdGVnb3J5SXRlbUlEX0dVSUQgPSBSZXN1bHRNb2RlbC5DYXRlZ29yeUl0ZW1JRF9HVUlEO1xyXG5cclxuICAgIHBhcmFtQXJyYXkucHVzaChFZGl0TW9kZWwpO1xyXG4gICAgcmV0dXJuIHBhcmFtQXJyYXk7XHJcbiAgfTtcclxuXHJcbiAgZ2V0RWRpdFRlbXBsYXRlRnVuY3Rpb24gPSAoRWRpdE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlU2VydmljZS5lZGl0RG9jdW1lbnRUZW1wbGF0ZShFZGl0TW9kZWwpO1xyXG4gIH07XHJcblxyXG4gIC8vVGVzdCBTZW5kIEVtYWlsXHJcbiAgc2hvd1Rlc3RFeHBvcnREb2N1bWVudE1vZGFsKFRlc3RFeHBvcnREb2N1bWVudE1vZGFsLCB0eXBlID0gMSkge1xyXG4gICAgdGhpcy5leHBvcnRUeXBlID0gdHlwZTtcclxuICAgIHRoaXMuVGVzdEV4cG9ydERvY3VtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucy5Gb3JtR3JvdXAgPSB0aGlzLlRlc3RFeHBvcnREb2N1bWVudEZvcm07XHJcbiAgICB0aGlzLlRlc3RFeHBvcnREb2N1bWVudEZvcm1PcHRpb25zLkdldE1vZGVsRnVuY3Rpb24gPVxyXG4gICAgICB0aGlzLmdldFRlc3RFeHBvcnREb2N1bWVudE1vZGVsO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPVxyXG4gICAgICB0aGlzLmdldFRlc3RFeHBvcnREb2N1bWVudEZ1bmN0aW9uO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucy5PblN1Y2Nlc3NIYW5kbGVyID1cclxuICAgICAgdGhpcy5vblN1Y2Nlc3NFeHBvcnRIYW5kbGVyO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucy5EaXNhYmxlU3VjY2Vzc05vdGlmaWNhdGlvbiA9IHRydWU7XHJcblxyXG4gICAgbGV0IEtleSA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgS2V5Lk5hbWUgPSAnS2V5JztcclxuICAgIEtleS5IaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgS2V5LlZpZXdUeXBlID0gQ29udHJvbExheW91dC5WZXJ0aWNhbDtcclxuICAgIEtleS5UeXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcblxyXG4gICAgbGV0IFZhbHVlID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICBWYWx1ZS5OYW1lID0gJ1ZhbHVlJztcclxuICAgIFZhbHVlLkhpZGVMYWJlbCA9IHRydWU7XHJcbiAgICBWYWx1ZS5WaWV3VHlwZSA9IENvbnRyb2xMYXlvdXQuVmVydGljYWw7XHJcbiAgICBWYWx1ZS5UeXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcblxyXG4gICAgbGV0IEtleVJlcGVhdGVyID0gbmV3IFJlcGVhdGVyRmllbGQoKTtcclxuICAgIEtleVJlcGVhdGVyLkNvbnRyb2xUeXBlID0gRGF0YVR5cGUuVGV4dDtcclxuICAgIEtleVJlcGVhdGVyLkNvbnRyb2xPcHRpb25zID0gS2V5O1xyXG4gICAgS2V5UmVwZWF0ZXIuSGVhZGVyVGl0bGUgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoJ0tleScpO1xyXG5cclxuICAgIGxldCBWYWx1ZVJlcGVhdGVyID0gbmV3IFJlcGVhdGVyRmllbGQoKTtcclxuICAgIFZhbHVlUmVwZWF0ZXIuQ29udHJvbFR5cGUgPSBEYXRhVHlwZS5UZXh0O1xyXG4gICAgVmFsdWVSZXBlYXRlci5Db250cm9sT3B0aW9ucyA9IFZhbHVlO1xyXG4gICAgVmFsdWVSZXBlYXRlci5IZWFkZXJUaXRsZSA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnVmFsdWUnKTtcclxuXHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zID0gbmV3IFJlcGVhdGVyT3B0aW9ucygpO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5Jc1JlcXVpcmVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLk5hbWUgPSAndmFsdWVzJztcclxuICAgIHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMuRGVsZXRlQnV0dG9uRXh0cmFDbGFzc2VzID1cclxuICAgICAgJ2J0biBidG4tZGFuZ2VyIGJ0bi1zbSBidG4taWNvbic7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLkRlbGV0ZUJ1dHRvblRleHQgPSBgPGkgY2xhc3M9XCJmYSBmYS10cmFzaFwiPjwvaT5gO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5SZXBlYXRlclRhYmxlRXh0cmFDbGFzc2VzID1cclxuICAgICAgJ3RhYmxlIGFsaWduLW1pZGRsZSB0YWJsZS1yb3ctZGFzaGVkIGZzLTYgZ3ktOSBkYXRhVGFibGUgbm8tZm9vdGVyIHZhbGlkYXRpb24tdGFibGUtdGV4dCc7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLlJlcGVhdGVyVGFibGVSb3dFeHRyYUNsYXNzZXMgPVxyXG4gICAgICAndGV4dC1zdGFydCB0ZXh0LWdyYXktNDAwIGZ3LWJvbGRlciBmcy03IHRleHQtdXBwZXJjYXNlIGdzLTAnO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5BY3Rpb25MYWJlbEtleSA9ICdBY3Rpb24nO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5BZGRCdXR0b25FeHRyYUNsYXNzZXMgPVxyXG4gICAgICAnYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9jayc7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLkFkZEJ1dHRvblRleHQgPSBgPGkgY2xhc3M9XCJmYSBmYS1wbHVzXCI+PC9pPiR7dGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFxyXG4gICAgICAnQWRkJ1xyXG4gICAgKX1gO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5NaW5SZXF1aXJlZEl0ZW1zID0gMTtcclxuICAgIHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMuUmVwZWF0ZXJWYWx1ZSA9IFtdO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5SZXBlYXRlclN0cnVjdHVyZSA9IFtcclxuICAgICAgS2V5UmVwZWF0ZXIsXHJcbiAgICAgIFZhbHVlUmVwZWF0ZXIsXHJcbiAgICBdO1xyXG5cclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oVGVzdEV4cG9ydERvY3VtZW50TW9kYWwpO1xyXG4gIH1cclxuICBnZXRUZXN0RXhwb3J0RG9jdW1lbnRNb2RlbCA9ICgpID0+IHtcclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtLnZhbHVlO1xyXG4gICAgbGV0IEV4cG9ydERvY3VtZW50VGVtcGxhdGVNb2RlbCA9IG5ldyBEb2N1bWVudEV4cG9ydERUTygpO1xyXG4gICAgRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsLklEX0dVSUQgPSB0aGlzLlRlbXBsYXRlSWQ7XHJcbiAgICBsZXQgcmVzdWx0OiBEb2N1bWVudEV4cG9ydEl0ZW1EVE9bXSA9IFtdO1xyXG4gICAgZm9yIChcclxuICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgaW5kZXggPCB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLlJlcGVhdGVyVmFsdWUubGVuZ3RoO1xyXG4gICAgICBpbmRleCsrXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMuUmVwZWF0ZXJWYWx1ZVtpbmRleF07XHJcbiAgICAgIGlmIChlbGVtZW50LktleSAmJiBlbGVtZW50LlZhbHVlKSB7XHJcbiAgICAgICAgbGV0IGl0ZW06IERvY3VtZW50RXhwb3J0SXRlbURUTyA9IG5ldyBEb2N1bWVudEV4cG9ydEl0ZW1EVE8oKTtcclxuICAgICAgICBpdGVtLktleSA9IGVsZW1lbnQuS2V5O1xyXG4gICAgICAgIGl0ZW0uVmFsdWUgPSBlbGVtZW50LlZhbHVlO1xyXG4gICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBFeHBvcnREb2N1bWVudFRlbXBsYXRlTW9kZWwuSXRlbXMgPSByZXN1bHQ7XHJcbiAgICBwYXJhbUFycmF5LnB1c2goRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH07XHJcblxyXG4gIGdldFRlc3RFeHBvcnREb2N1bWVudEZ1bmN0aW9uID0gKFxyXG4gICAgRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIGlmICh0aGlzLmV4cG9ydFR5cGUgPT0gMilcclxuICAgICAgcmV0dXJuIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmV4cG9ydFdvcmQoRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsKTtcclxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlU2VydmljZS5leHBvcnRQREYoRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsKTtcclxuICB9O1xyXG5cclxuICBvblN1Y2Nlc3NFeHBvcnRIYW5kbGVyID0gYXN5bmMgKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICBsZXQgbm93ID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xyXG4gICAgbGV0IGxhdGVzdF9kYXRlID0gdGhpcy5kYXRlcGlwZS50cmFuc2Zvcm0obm93LCAnZGQtTU0teXl5eSBISC5tbScpO1xyXG4gICAgaWYgKHRoaXMuZXhwb3J0VHlwZSA9PSAyKSB7XHJcbiAgICAgIGxldCBmaWxlTmFtZSA9XHJcbiAgICAgICAgdGhpcy5UZW1wbGF0ZUluZm8ubG9jYWxpemVkVGVtcGxhdGVOYW1lICsgJ18nICsgbGF0ZXN0X2RhdGUgKyAnLmRvYyc7XHJcbiAgICAgIGxldCBkb2N1bWVudE9wdGlvbnM6IGFueSA9IHt9O1xyXG4gICAgICBpZiAocmVzdWx0LmlzTGFuZHNjYXBlKVxyXG4gICAgICAgZG9jdW1lbnRPcHRpb25zLm9yaWVudGF0aW9uID0gJ2xhbmRzY2FwZSc7XHJcbiAgICAgIC8vICBkb2N1bWVudE9wdGlvbnMucGFnZU51bWJlciA9cmVzdWx0LnNob3dQYWdpbmc7XHJcbiAgICAgICBkb2N1bWVudE9wdGlvbnMucGFnZVNpemU9e1xyXG4gICAgICAgICB3aWR0aDpyZXN1bHQucGFnZVdpZHRoKjE1LFxyXG4gICAgICAgICBoZWlnaHQ6cmVzdWx0LnBhZ2VIZWlnaHQqMTVcclxuICAgICAgIH07XHJcbiAgICAgICBkb2N1bWVudE9wdGlvbnMubWFyZ2lucz17XHJcbiAgICAgICAgdG9wOnJlc3VsdC50b3AqMTUsXHJcbiAgICAgICAgcmlnaHQ6cmVzdWx0LnJpZ2h0KjE1LFxyXG4gICAgICAgIGJvdHRvbTpyZXN1bHQuYm90dG9tKjE1LFxyXG4gICAgICAgIGxlZnQ6cmVzdWx0LmxlZnQqMTUsXHJcbiAgICAgICAgaGVhZGVyOjcyMCxcclxuICAgICAgICBmb290ZXI6NzIwLFxyXG4gICAgICAgIGd1dHRlcjowLFxyXG4gICAgICB9O1xyXG4gICAgICBkb2N1bWVudE9wdGlvbnMuZm9vdGVyPSB0cnVlO1xyXG4gICAgICBkb2N1bWVudE9wdGlvbnMuaGVhZGVyPSB0cnVlO1xyXG4gICAgICBkb2N1bWVudE9wdGlvbnMucGFnZU51bWJlcj10cnVlO1xyXG4gICAgICBkb2N1bWVudE9wdGlvbnMudGFibGU9eyByb3c6IHsgY2FudFNwbGl0OiB0cnVlIH0gfTtcclxuICAgICAgLy8gdmFyIGZpbGVCdWZmZXIgPWF3YWl0IEdlbmVyYXRlRE9DWChyZXN1bHQuYm9keSwgcmVzdWx0LmhlYWRlciwgZG9jdW1lbnRPcHRpb25zLCByZXN1bHQuZm9vdGVyKVxyXG4gICAgICAvLyB0aGlzLmRvd25sb2FkV29yZChmaWxlQnVmZmVyIGFzIGFueSwgZmlsZU5hbWUpO1xyXG4gICAgICB2YXIgZmlsZUJ1ZmZlckxpYiA9YXdhaXQgdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZ2VuZXJhdGVXb3JkQnl0ZUZpbGUocmVzdWx0LmJvZHksIHJlc3VsdC5oZWFkZXIsIGRvY3VtZW50T3B0aW9ucywgcmVzdWx0LmZvb3RlcilcclxuICAgICAgdGhpcy5kb3dubG9hZFdvcmQoZmlsZUJ1ZmZlckxpYiBhcyBhbnksIFwiTGliXCIrZmlsZU5hbWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGZpbGVOYW1lID0gdGhpcy5UZW1wbGF0ZUluZm8ubG9jYWxpemVkVGVtcGxhdGVOYW1lICsgJ18nICsgbGF0ZXN0X2RhdGUgKyAnLnBkZic7XHJcbiAgICB0aGlzLmRvd25sb2FkUERGKHJlc3VsdCBhcyBhbnksIGZpbGVOYW1lKTtcclxuICB9O1xyXG5cclxuICAvL09uIGRlc3Ryb3lcclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVxdWVzdEhhbmRsZXJTZXJ2aWNlLmRlc3Ryb3lIYW5kbGVyKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxibG9jay11aT48L2Jsb2NrLXVpPlxyXG5cclxuPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiICpuZ0lmPVwiaXNEYXRhTG9hZGVkXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmQgY2FyZC1jdXN0b20taFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJidG5TZXRQYXNzXCIgY2xhc3M9XCJidG4gYnRuLXNtIG1lLTNcclxuICAgICAgICAgIGJ0bi1saWdodC1wcmltYXJ5XCJcclxuICAgICAgICAgIChjbGljayk9XCJzaG93RWRpdFRlbXBsYXRlTW9kYWwoRWRpdFRlbXBsYXRlTW9kYWwpXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhIGZhLWVkaXRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICA8c3Bhbj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFZGl0XCIpfX08L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJidG5TZXRQYXNzXCIgY2xhc3M9XCJidG4gYnRuLXNtIG1lLTNcclxuICAgICAgICAgIGJ0bi1saWdodC1wcmltYXJ5XCJcclxuICAgICAgICAgIChjbGljayk9XCJzaG93VGVzdEV4cG9ydERvY3VtZW50TW9kYWwoRXhwb3J0RG9jdW1lbnRNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEgZmEtZG93bmxvYWRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICA8c3Bhbj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFeHBvcnRcIil9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZD1cImJ0blNldFBhc3NcIiBjbGFzcz1cImJ0biBidG4tc20gbWUtM1xyXG4gICAgICAgICAgYnRuLWxpZ2h0LXByaW1hcnlcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInNob3dUZXN0RXhwb3J0RG9jdW1lbnRNb2RhbChFeHBvcnREb2N1bWVudE1vZGFsLDIpXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhIGZhLWRvd25sb2FkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgPHNwYW4+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRXhwb3J0XCIpfX0gV29yZDwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZD1cImJ0blNldFBhc3NcIiBjbGFzcz1cImJ0biBidG4tc20gbWUtM1xyXG4gICAgICAgICAgYnRuLXByaW1hcnlcIiAqbmdJZj1cIiFQcm9kdWN0aW9uTW9kZVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2hvd0dlbmVyYXRlQ29kZUJ5SWRNb2RhbChHZW5lcmF0ZUNvZGVNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtYmFyc1wiPjwvaT57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJHZW5lcmF0ZUNvZGVcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwiYnRuU2V0UGFzc1wiIGNsYXNzPVwiYnRuIGJ0bi1zbSBtZS0zXHJcbiAgICAgICAgICBidG4tcHJpbWFyeVwiICpuZ0lmPVwiIVByb2R1Y3Rpb25Nb2RlXCJcclxuICAgICAgICAgIChjbGljayk9XCJzaG93R2VuZXJhdGVVcGRhdGVDb2RlQnlJZE1vZGFsKEdlbmVyYXRlQ29kZU1vZGFsKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1rZXlcIj48L2k+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiR2VuZXJhdGVVcGRhdGVDb2RlXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtNiBtYi0xMFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBoLTEwMCBhbGlnbi1pdGVtcy1jZW50ZXIgXCI+XHJcbiAgICAgICAgICAgIDwhLS1iZWdpbjo6T3B0aW9uLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBkLWZsZXggZmxleC1jb2x1bW4gZmxleC1jZW50ZXIgcm91bmRlZC0zIGJnLWxpZ2h0XHJcbiAgICAgICAgICAgICAgcHktMTAgcHgtMTAgaC0xMDBcIj5cclxuICAgICAgICAgICAgICA8IS0tYmVnaW46OkhlYWRpbmctLT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6VGl0bGUtLT5cclxuICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL0FkbWluL0RvY3VtZW50cy9FZGl0VGVtcGxhdGUnLFRlbXBsYXRlSWQsJ2VuJ11cIlxyXG4gICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicm91dGVyLWxpbmstYWN0aXZlXCIgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgbWItNVxyXG4gICAgICAgICAgICAgICAgICBmdy1ib2xkZXN0IGZzLTJcIj5cclxuICAgICAgICAgICAgICAgICAgRW5nbGlzaDpcclxuICAgICAgICAgICAgICAgICAge3tUZW1wbGF0ZUluZm8udGVtcGxhdGVOYW1lRU59fVxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG5cclxuICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL0FkbWluL0RvY3VtZW50cy9FZGl0VGVtcGxhdGUnLFRlbXBsYXRlSWQsJ2VuJ11cIlxyXG4gICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicm91dGVyLWxpbmstYWN0aXZlXCIgY2xhc3M9XCJidG4gYnRuLXNtXHJcbiAgICAgICAgICAgICAgICAgIGJ0bi1saWdodC1wcmltYXJ5IGJ0bi1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGVuXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgbWItMTBcIj5cclxuICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6SXRlbS0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZCBmcy02IHRleHQtZ3JheS04MDAgZmxleC1ncm93LTEgcGUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaW5uZXJIVE1MPVwie3tUZW1wbGF0ZUluZm8uaGVhZGVyRU59fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaW5uZXJIVE1MPVwie3tUZW1wbGF0ZUluZm8uYm9keUVOfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlubmVySFRNTD1cInt7VGVtcGxhdGVJbmZvLmZvb3RlckVOfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDwhLS1lbmQ6OlNlbGVjdC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLWVuZDo6T3B0aW9uLS0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTYgbWItMTBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggaC0xMDAgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDwhLS1iZWdpbjo6T3B0aW9uLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBkLWZsZXggZmxleC1jb2x1bW4gZmxleC1jZW50ZXIgcm91bmRlZC0zIGJnLWxpZ2h0XHJcbiAgICAgICAgICAgICAgcHktMTAgcHgtMTAgaC0xMDBcIj5cclxuICAgICAgICAgICAgICA8IS0tYmVnaW46OkhlYWRpbmctLT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6VGl0bGUtLT5cclxuICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL0FkbWluL0RvY3VtZW50cy9FZGl0VGVtcGxhdGUnLFRlbXBsYXRlSWQsJ2FyJ11cIlxyXG4gICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicm91dGVyLWxpbmstYWN0aXZlXCIgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgbWItNVxyXG4gICAgICAgICAgICAgICAgICBmdy1ib2xkZXN0IGZzLTJcIj5cclxuICAgICAgICAgICAgICAgICAgQXJhYmljOlxyXG4gICAgICAgICAgICAgICAgICB7e1RlbXBsYXRlSW5mby50ZW1wbGF0ZU5hbWVBUn19XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9BZG1pbi9Eb2N1bWVudHMvRWRpdFRlbXBsYXRlJyxUZW1wbGF0ZUlkLCdhciddXCJcclxuICAgICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInJvdXRlci1saW5rLWFjdGl2ZVwiIGNsYXNzPVwiYnRuIGJ0bi1zbVxyXG4gICAgICAgICAgICAgICAgICBidG4tbGlnaHQtcHJpbWFyeSBidG4taWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBlblwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgbWItMTBcIj5cclxuICAgICAgICAgICAgICAgIDwhLS1iZWdpbjo6SXRlbS0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZCBmcy02IHRleHQtZ3JheS04MDAgZmxleC1ncm93LTEgcGUtMyBhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaW5uZXJIVE1MPVwie3tUZW1wbGF0ZUluZm8uaGVhZGVyQVJ9fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaW5uZXJIVE1MPVwie3tUZW1wbGF0ZUluZm8uYm9keUFSfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlubmVySFRNTD1cInt7VGVtcGxhdGVJbmZvLmZvb3RlckFSfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICA8IS0tZW5kOjpTZWxlY3QtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS1lbmQ6Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcblxyXG48IS0tIGVkaXQgTW9kYWwgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjRWRpdFRlbXBsYXRlTW9kYWwgbGV0LW1vZGFsPlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgcGItMCBib3JkZXItMCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIGlkPVwiZXhhbXBsZU1vZGFsTGFiZWxcIj48L2g1PlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiBjbGFzcz1cImJ0blxyXG4gICAgICBidG4tc20gYnRuLWljb24gYnRuLWFjdGl2ZS1jb2xvci1wcmltYXJ5XCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTFcIj5cclxuICAgICAgICA8c3BhbiBbaW5saW5lU1ZHXT1cIicuL3NyYy9hc3NldHMvaW1hZ2VzL2FycjA2MS5zdmcnXCI+PC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBzY3JvbGwteSBweC0xMCBweC1sZy0xNSBwdC0wIHBiLTE1XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItMTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgPGgxIGNsYXNzPVwibWItM1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkVkaXRcIil9fVxyXG4gICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlRlbXBsYXRlXCIpfX08L2gxPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPEJCU0YtRm9ybSBbb3B0aW9uc109XCJFZGl0VGVtcGxhdGVGb3JtT3B0aW9uc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtTXVsdGlMaW5ndWFsVGV4dEJveCBbb3B0aW9uc109XCJFZGl0TmFtZVwiXHJcbiAgICAgICAgICAgIFtncm91cF09XCJFZGl0VGVtcGxhdGVGb3JtXCI+PC9CQlNGLU11bHRpTGluZ3VhbFRleHRCb3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtTXVsdGlMaW5ndWFsVGV4dEFyZWEgW29wdGlvbnNdPVwiRWRpdERlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgW2dyb3VwXT1cIkVkaXRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1NdWx0aUxpbmd1YWxUZXh0QXJlYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cIiFQcm9kdWN0aW9uTW9kZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiRWRpdFN5c05hbWVcIiBbZ3JvdXBdPVwiRWRpdFRlbXBsYXRlRm9ybVwiPlxyXG4gICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkVkaXRPcmdhbml6YXRpb25cIlxyXG4gICAgICAgICAgICBbZ3JvdXBdPVwiRWRpdFRlbXBsYXRlRm9ybVwiPlxyXG4gICAgICAgICAgPC9CQlNGLURyb3Bkb3duTGlzdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1Ecm9wZG93bkxpc3QgW29wdGlvbnNdPVwiRWRpdENhdGVnb3J5XCJcclxuICAgICAgICAgICAgW2dyb3VwXT1cIkVkaXRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkVkaXRNYXN0ZXJMYXlvdXRcIlxyXG4gICAgICAgICAgICBbZ3JvdXBdPVwiRWRpdFRlbXBsYXRlRm9ybVwiPlxyXG4gICAgICAgICAgPC9CQlNGLURyb3Bkb3duTGlzdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHB0LTdcIj5cclxuICAgICAgICA8YnV0dG9uICNDbG9zZUVkaXRUZW1wbGF0ZU1vZGFsIGlkPVwiQ2xvc2VFZGl0VGVtcGxhdGVNb2RhbFwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IG1lLTMgYnRuLXNtXCJcclxuICAgICAgICAgIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkNhbmNlbExhYmVsXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJTYXZlTGFiZWxcIil9fTwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvQkJTRi1Gb3JtPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuXHJcblxyXG48IS0tIEV4cG9ydCBEb2N1bWVudCBNb2RhbCAtLT5cclxuPG5nLXRlbXBsYXRlICNFeHBvcnREb2N1bWVudE1vZGFsIGxldC1tb2RhbD5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIHBiLTAgYm9yZGVyLTAganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cImV4YW1wbGVNb2RhbExhYmVsXCI+PC9oNT5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubGluZVNWR109XCInLi9zcmMvYXNzZXRzL2ltYWdlcy9hcnIwNjEuc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTEzIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxoMSBjbGFzcz1cIm1iLTNcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFeHBvcnRcIil9fTwvaDE+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiVGVzdEV4cG9ydERvY3VtZW50Rm9ybU9wdGlvbnNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLXJlcGVhdGVyLXRhYmxlIFtvcHRpb25zXT1cImFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zXCIgIFtncm91cF09XCJUZXN0RXhwb3J0RG9jdW1lbnRGb3JtXCI+XHJcbiAgICAgICAgPC9CQlNGLXJlcGVhdGVyLXRhYmxlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC03XCI+XHJcbiAgICAgICAgPGJ1dHRvbiAjQ2xvc2VTZW5kRW1haWxGb3JtIGlkPVwiQ2xvc2VTZW5kRW1haWxGb3JtXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBtZS0zIGJ0bi1zbVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRXhwb3J0XCIpfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L0JCU0YtRm9ybT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcblxyXG48IS0tIEdlbmVyYXRlQ29kZSBNb2RhbCAtLT5cclxuPG5nLXRlbXBsYXRlICNHZW5lcmF0ZUNvZGVNb2RhbCBsZXQtbW9kYWw+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBwYi0wIGJvcmRlci0wIGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJleGFtcGxlTW9kYWxMYWJlbFwiPjwvaDU+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIGNsYXNzPVwiYnRuXHJcbiAgICAgIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnlcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMVwiPlxyXG4gICAgICAgIDxzcGFuIFtpbmxpbmVTVkddPVwiJy4vc3JjL2Fzc2V0cy9pbWFnZXMvYXJyMDYxLnN2ZydcIj48L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IHNjcm9sbC15IHB4LTEwIHB4LWxnLTE1IHB0LTAgcGItMTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYi0xMyB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICA8aDEgY2xhc3M9XCJtYi0zXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiR2VuZXJhdGVDb2RlXCIpfX08L2gxPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cIkdlbmVyYXRlQ29kZUZvcm1cIj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJSb3dcIj5cclxuICAgICAgICA8QkJTRi1UZXh0QXJlYSBbb3B0aW9uc109XCJHZW5lcmF0ZUNvZGVUZXh0QXJlYVwiXHJcbiAgICAgICAgICBbZ3JvdXBdPVwiR2VuZXJhdGVDb2RlRm9ybVwiICNHZW5lcmF0ZUNvZGVJbnB1dD5cclxuICAgICAgICA8L0JCU0YtVGV4dEFyZWE+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHQtN1wiPlxyXG4gICAgICAgIDxidXR0b24gI0Nsb3NlR2VuZXJhdGVDb2RlTW9kYWwgaWQ9XCJDbG9zZUdlbmVyYXRlQ29kZU1vZGFsXCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHQgbWUtMyBidG4tc21cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ2FuY2VsTGFiZWxcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY29weUlucHV0TWVzc2FnZSgpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDb3B5VG9DbGlwYm9hcmRcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
338
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.UtilityService }, { type: i1.BBSFTranslateService }, { type: i2.ClipboardService }, { type: i3.DocumentTemplateService }, { type: i4.ActivatedRoute }, { type: i5.PageInfoService }, { type: i6.NgbModal }, { type: i7.DatePipe }, { type: i1.RequestHandlerService }, { type: i1.WordDocumentService }]; } });
339
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdGVtcGxhdGUtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2RvY3VtZW50cy9kb2N1bWVudC10ZW1wbGF0ZS1pbmZvL2RvY3VtZW50LXRlbXBsYXRlLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9kb2N1bWVudHMvZG9jdW1lbnQtdGVtcGxhdGUtaW5mby9kb2N1bWVudC10ZW1wbGF0ZS1pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQ0wsZ0JBQWdCLEVBRWhCLGFBQWEsRUFFYixRQUFRLEVBQ1IsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsU0FBUyxFQUNULDJCQUEyQixFQUMzQiwwQkFBMEIsRUFFMUIsYUFBYSxFQUNiLGVBQWUsRUFDZixlQUFlLEVBQ2YsY0FBYyxHQUNmLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQVdyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUU5RixPQUFPLEtBQUssTUFBTSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLHFCQUFxQixHQUN0QixNQUFNLHVEQUF1RCxDQUFDOzs7Ozs7Ozs7Ozs7O0FBTS9ELE1BQU0sT0FBTyw2QkFDWCxTQUFRLGdCQUFnQjtJQXNDeEIsWUFDVSxRQUFrQixFQUNuQixjQUE4QixFQUM5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QWdCLENBQy9HLEtBQUssQ0FDTixFQUFFLENBQUM7UUFDSixJQUFJLENBQUMsMEJBQTBCLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsR0FBRztZQUNsRCxXQUFXO1lBQ1gsYUFBYTtTQUNkLENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUErQ0QsWUFBWTtJQUNaLFdBQVc7UUFDVCxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDOUMsQ0FBQzs7MkhBMVdVLDZCQUE2QjsrR0FBN0IsNkJBQTZCLHlGQ2pEMUMsb2hYQXdSQTs0RkR2T2EsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFdBQVcsRUFBRSx5Q0FBeUM7aUJBQ3ZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtcclxuICBBcHBCYXNlQ29tcG9uZW50LFxyXG4gIENoZWNrQm94T3B0aW9ucyxcclxuICBDb250cm9sTGF5b3V0LFxyXG4gIENvdW50cnksXHJcbiAgRGF0YVR5cGUsXHJcbiAgRHJvcGRvd25PcHRpb25zLFxyXG4gIEVuZ2xpc2hBcmFiaWNEVE8sXHJcbiAgRm9ybU9wdGlvbnMsXHJcbiAgSW5wdXRUeXBlLFxyXG4gIE11bHRpTGluZ3VhbFRleHRBcmVhT3B0aW9ucyxcclxuICBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucyxcclxuICBQaG9uZU9wdGlvbnMsXHJcbiAgUmVwZWF0ZXJGaWVsZCxcclxuICBSZXBlYXRlck9wdGlvbnMsXHJcbiAgVGV4dEFyZWFPcHRpb25zLFxyXG4gIFRleHRCb3hPcHRpb25zLFxyXG59IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuaW1wb3J0IHsgVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL1NlcnZpY2VzL1RlbXBsYXRlU2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDbGlwYm9hcmRTZXJ2aWNlIH0gZnJvbSAnbmd4LWNsaXBib2FyZCc7XHJcbmltcG9ydCB7IEVtYWlsVGVtcGxhdGVUZXN0ZXJNb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvTm90aWZpY2F0aW9uc01vZGVscy9FbWFpbFRlbXBsYXRlVGVzdGVyTW9kZWwnO1xyXG5pbXBvcnQgeyBTTVNUZW1wbGF0ZVRlc3Rlck1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9Ob3RpZmljYXRpb25zTW9kZWxzL1NNU1RlbXBsYXRlVGVzdGVyTW9kZWwnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZURUTyB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvTm90aWZpY2F0aW9uc01vZGVscy9UZW1wbGF0ZURUTyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7XHJcbiAgVXRpbGl0eVNlcnZpY2UsXHJcbiAgQkJTRlRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gIFJlcXVlc3RIYW5kbGVyU2VydmljZSxcclxuICBXb3JkRG9jdW1lbnRTZXJ2aWNlLFxyXG59IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRG9jdW1lbnRUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvU2VydmljZXMvRG9jdW1lbnRUZW1wbGF0ZVNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50VGVtcGxhdGVEVE8gfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL0RvY3VtZW50c01vZGVscy9Eb2N1bWVudFRlbXBsYXRlRFRPJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgKiBhcyBzYXZlQXMgZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCB7XHJcbiAgRG9jdW1lbnRFeHBvcnREVE8sXHJcbiAgRG9jdW1lbnRFeHBvcnRJdGVtRFRPLFxyXG59IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvRG9jdW1lbnRzTW9kZWxzL0RvY3VtZW50RXhwb3J0RFRPJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWRvY3VtZW50LXRlbXBsYXRlLWluZm8nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudC10ZW1wbGF0ZS1pbmZvLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERvY3VtZW50VGVtcGxhdGVJbmZvQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXRcclxue1xyXG4gIC8vUGFnZSByZXF1aXJlbWVudHNcclxuICBQcm9kdWN0aW9uTW9kZTogYm9vbGVhbjtcclxuICBUZW1wbGF0ZUlkOiBzdHJpbmc7XHJcbiAgVGVtcGxhdGVJZEVuYzogc3RyaW5nID0gJyc7XHJcbiAgVGVtcGxhdGVJbmZvOiBhbnk7XHJcbiAgVGVtcGxhdGU6IGFueTtcclxuICBpc0RhdGFMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzYXZlQXMgPSBzYXZlQXM7XHJcbiAgZXhwb3J0VHlwZTogbnVtYmVyID0gMTtcclxuICAvL1JlcXVpcmVkIGxpc3RzXHJcbiAgQ2F0ZWdvcnlMaXN0ID0gW107XHJcbiAgT3JnYW5pemF0aW9uTGlzdCA9IFtdO1xyXG4gIE1hc3RlckxheW91dExpc3QgPSBbXTtcclxuXHJcbiAgLy9HZW5lcmF0ZUNvZGUgIE1vZGVsIENvbnRyb2xzXHJcbiAgR2VuZXJhdGVDb2RlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIElzT3BlbkdlbmVyYXRlQ29kZU1vZGFsOiBib29sZWFuO1xyXG4gIEdlbmVyYXRlQ29kZVRleHRBcmVhOiBUZXh0QXJlYU9wdGlvbnM7XHJcbiAgVmFsdWVUb0NvcHk6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvL0VkaXQgTW9kZWwgQ29udHJvbHNcclxuICBFZGl0VGVtcGxhdGVGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgRWRpdFRlbXBsYXRlRm9ybU9wdGlvbnM6IEZvcm1PcHRpb25zO1xyXG4gIEVkaXROYW1lOiBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucztcclxuICBFZGl0U3lzTmFtZTogVGV4dEJveE9wdGlvbnM7XHJcbiAgRWRpdERlc2NyaXB0aW9uOiBNdWx0aUxpbmd1YWxUZXh0QXJlYU9wdGlvbnM7XHJcbiAgRWRpdE9yZ2FuaXphdGlvbjogRHJvcGRvd25PcHRpb25zO1xyXG4gIEVkaXRDYXRlZ29yeTogRHJvcGRvd25PcHRpb25zO1xyXG4gIEVkaXRNYXN0ZXJMYXlvdXQ6IERyb3Bkb3duT3B0aW9ucztcclxuXHJcbiAgLy9UZXN0IEV4cG9ydCBNb2RlbCBDb250cm9sc1xyXG4gIFRlc3RFeHBvcnREb2N1bWVudEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICBUZXN0RXhwb3J0RG9jdW1lbnRGb3JtT3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gIGFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zOiBSZXBlYXRlck9wdGlvbnM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwdWJsaWMgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgcHVibGljIGJic2ZUcmFuc2xhdGVTZXJ2aWNlOiBCQlNGVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHB1YmxpYyBfY2xpcGJvYXJkU2VydmljZTogQ2xpcGJvYXJkU2VydmljZSxcclxuICAgIHB1YmxpYyB0ZW1wbGF0ZVNlcnZpY2U6IERvY3VtZW50VGVtcGxhdGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHB1YmxpYyBwYWdlSW5mb1NlcnZpY2U6IFBhZ2VJbmZvU2VydmljZSxcclxuICAgIHB1YmxpYyBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxyXG4gICAgcHVibGljIGRhdGVwaXBlOiBEYXRlUGlwZSxcclxuICAgIHB1YmxpYyByZXF1ZXN0SGFuZGxlclNlcnZpY2U6IFJlcXVlc3RIYW5kbGVyU2VydmljZSxcclxuICAgIHB1YmxpYyB3b3JkRG9jdW1lbnRTZXJ2aWNlOldvcmREb2N1bWVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XHJcbiAgICAgIHRoaXMuVGVtcGxhdGVJZCA9IHBhcmFtc1snaWQnXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG4gICAgdGhpcy5iYnNmVHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5Qcm9kdWN0aW9uTW9kZSA9IHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldFByb2R1Y3Rpb25Nb2RlKCk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVQYWdlKCk7XHJcbiAgfVxyXG5cclxuICAvL0luaXRpYWxpemUgcGFnZSBpbmZvXHJcbiAgaW5pdGlhbGl6ZVBhZ2UoKSB7XHJcbiAgICB0aGlzLmlzRGF0YUxvYWRlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgLmdldFRlbXBsYXRlSW5mbyh0aGlzLlRlbXBsYXRlSWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGxldCBSZXN1bHQ6IGFueSA9IHJlc3VsdDtcclxuICAgICAgICB0aGlzLlRlbXBsYXRlSW5mbyA9IFJlc3VsdC52YWw7XHJcbiAgICAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VUaXRsZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmxvY2FsaXplZFRlbXBsYXRlTmFtZTtcclxuICAgICAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZUJyZWFkY3J1bWJzID0gW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdIb21lJyksXHJcbiAgICAgICAgICAgIHBhdGg6ICcvQWRtaW4vSG9tZScsXHJcbiAgICAgICAgICAgIGlzU2VwYXJhdG9yOiBmYWxzZSxcclxuICAgICAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdUZW1wbGF0ZXMnKSxcclxuICAgICAgICAgICAgcGF0aDogJy9BZG1pbi9Eb2N1bWVudHMvVGVtcGxhdGVzJyxcclxuICAgICAgICAgICAgaXNTZXBhcmF0b3I6IGZhbHNlLFxyXG4gICAgICAgICAgICBpc0FjdGl2ZTogZmFsc2UsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgXTtcclxuICAgICAgICB0aGlzLmlzRGF0YUxvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gICAgICAgIHRoaXMucGFnZUluZm9TZXJ2aWNlLmNhbGN1bGF0ZVRpdGxlKCk7XHJcbiAgICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0dlbmVyYXRlIENvZGVcclxuICBzaG93R2VuZXJhdGVDb2RlQnlJZE1vZGFsKEdlbmVyYXRlQ29kZU1vZGFsKSB7XHJcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZVxyXG4gICAgICAuZ2VuZXJhdGVDb2RlQnlJZCh0aGlzLlRlbXBsYXRlSWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHZhciBWYWx1ZSA9IHJlc3VsdCBhcyBhbnk7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYSA9IG5ldyBUZXh0QXJlYU9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLk5hbWUgPSAnR2VuZXJhdGVDb2RlVGV4dEFyZWEnO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuVmFsdWUgPSBWYWx1ZS52YWwudG9TdHJpbmcoKTtcclxuICAgICAgICB0aGlzLlZhbHVlVG9Db3B5ID0gVmFsdWUudmFsLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5Jc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLkhpZGVMYWJlbCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5Sb3dzID0gMjA7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5Db2xzID0gMjA7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5NYXhMZW5ndGggPSAxMDAwMDAwO1xyXG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oR2VuZXJhdGVDb2RlTW9kYWwpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dHZW5lcmF0ZVVwZGF0ZUNvZGVCeUlkTW9kYWwoR2VuZXJhdGVDb2RlTW9kYWwpIHtcclxuICAgIHRoaXMuR2VuZXJhdGVDb2RlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgLmdlbmVyYXRlVXBkYXRlQ29kZUJ5SWQodGhpcy5UZW1wbGF0ZUlkKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICB2YXIgVmFsdWUgPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEgPSBuZXcgVGV4dEFyZWFPcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5OYW1lID0gJ0dlbmVyYXRlQ29kZVRleHRBcmVhJztcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLlZhbHVlID0gVmFsdWUudmFsLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5WYWx1ZVRvQ29weSA9IFZhbHVlLnZhbC50b1N0cmluZygpO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuSXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5IaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuUm93cyA9IDIwO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuQ29scyA9IDIwO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuTWF4TGVuZ3RoID0gMTAwMDAwMDtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEdlbmVyYXRlQ29kZU1vZGFsKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb3B5SW5wdXRNZXNzYWdlKCkge1xyXG4gICAgdGhpcy5fY2xpcGJvYXJkU2VydmljZS5jb3B5KHRoaXMuVmFsdWVUb0NvcHkudG9TdHJpbmcoKSk7XHJcbiAgfVxyXG4gIC8vRWRpdCBUZW1wbGF0ZVxyXG4gIC8vRWRpdCBUZW1wbGF0ZVxyXG4gIHNob3dFZGl0VGVtcGxhdGVNb2RhbChFZGl0VGVtcGxhdGVNb2RhbCkge1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdGFydEJsb2NrVUkoKTtcclxuICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlXHJcbiAgICAgIC5nZXRFZGl0VGVtcGxhdGVEYXRhKHRoaXMuVGVtcGxhdGVJZClcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdE9iaiA9IHJlc3VsdCBhcyBhbnk7XHJcbiAgICAgICAgbGV0IHRlbXBsYXRlID0gcmVzdWx0T2JqLm1vZGVsO1xyXG4gICAgICAgIGxldCBsaXN0cyA9IHJlc3VsdE9iai5saXN0cztcclxuICAgICAgICB0aGlzLk9yZ2FuaXphdGlvbkxpc3QgPSBsaXN0cy5vcmdhbml6YXRpb247XHJcbiAgICAgICAgdGhpcy5NYXN0ZXJMYXlvdXRMaXN0ID0gbGlzdHMuZG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZTtcclxuICAgICAgICB0aGlzLkNhdGVnb3J5TGlzdCA9IGxpc3RzLmxvb2tVcEl0ZW1zQ2F0ZWdvcnk7XHJcblxyXG4gICAgICAgIHRoaXMuRWRpdFRlbXBsYXRlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgICAgIHRoaXMuRWRpdFRlbXBsYXRlRm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLkVkaXRUZW1wbGF0ZUZvcm1PcHRpb25zLkZvcm1Hcm91cCA9IHRoaXMuRWRpdFRlbXBsYXRlRm9ybTtcclxuICAgICAgICB0aGlzLkVkaXRUZW1wbGF0ZUZvcm1PcHRpb25zLkdldE1vZGVsRnVuY3Rpb24gPVxyXG4gICAgICAgICAgdGhpcy5nZXRFZGl0VGVtcGxhdGVNb2RlbDtcclxuICAgICAgICB0aGlzLkVkaXRUZW1wbGF0ZUZvcm1PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9XHJcbiAgICAgICAgICB0aGlzLmdldEVkaXRUZW1wbGF0ZUZ1bmN0aW9uO1xyXG4gICAgICAgIGxldCBOYW1lID0gbmV3IEVuZ2xpc2hBcmFiaWNEVE8oKTtcclxuICAgICAgICBOYW1lLkFyYWJpYyA9IHRlbXBsYXRlLm5hbWUuYXJhYmljO1xyXG4gICAgICAgIE5hbWUuRW5nbGlzaCA9IHRlbXBsYXRlLm5hbWUuZW5nbGlzaDtcclxuXHJcbiAgICAgICAgdGhpcy5FZGl0TmFtZSA9IG5ldyBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuRWRpdE5hbWUuTmFtZSA9ICdOYW1lJztcclxuICAgICAgICB0aGlzLkVkaXROYW1lLkFyYWJpY0xhYmVsS2V5ID0gJ05hbWVJbkFyYWJpYyc7XHJcbiAgICAgICAgdGhpcy5FZGl0TmFtZS5FbmdsaXNoTGFiZWxLZXkgPSAnTmFtZUluRW5nbGlzaCc7XHJcbiAgICAgICAgdGhpcy5FZGl0TmFtZS5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkVkaXROYW1lLlZhbHVlID0gTmFtZTtcclxuICAgICAgICB0aGlzLkVkaXROYW1lLk1heExlbmd0aCA9IDEwMDtcclxuXHJcbiAgICAgICAgdGhpcy5FZGl0U3lzTmFtZSA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuRWRpdFN5c05hbWUuTmFtZSA9ICdTeXNOYW1lJztcclxuICAgICAgICB0aGlzLkVkaXRTeXNOYW1lLkxhYmVsS2V5ID0gJ1N5c05hbWUnO1xyXG4gICAgICAgIHRoaXMuRWRpdFN5c05hbWUuVHlwZSA9IElucHV0VHlwZS5UZXh0O1xyXG4gICAgICAgIHRoaXMuRWRpdFN5c05hbWUuVmFsdWUgPSB0ZW1wbGF0ZS5zeXNOYW1lO1xyXG4gICAgICAgIHRoaXMuRWRpdFN5c05hbWUuTWF4TGVuZ3RoID0gMTAwO1xyXG5cclxuICAgICAgICBsZXQgZGVzY3JpcHRpb24gPSBuZXcgRW5nbGlzaEFyYWJpY0RUTygpO1xyXG4gICAgICAgIGRlc2NyaXB0aW9uLkFyYWJpYyA9IHRlbXBsYXRlLmRlc2NyaXB0aW9uLmFyYWJpYztcclxuICAgICAgICBkZXNjcmlwdGlvbi5FbmdsaXNoID0gdGVtcGxhdGUuZGVzY3JpcHRpb24uZW5nbGlzaDtcclxuXHJcbiAgICAgICAgdGhpcy5FZGl0RGVzY3JpcHRpb24gPSBuZXcgTXVsdGlMaW5ndWFsVGV4dEFyZWFPcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy5FZGl0RGVzY3JpcHRpb24uTmFtZSA9ICdEZXNjcmlwdGlvbic7XHJcbiAgICAgICAgdGhpcy5FZGl0RGVzY3JpcHRpb24uQXJhYmljTGFiZWxLZXkgPSAnRGVzY3JpcHRpb25JbkFyYWJpYyc7XHJcbiAgICAgICAgdGhpcy5FZGl0RGVzY3JpcHRpb24uRW5nbGlzaExhYmVsS2V5ID0gJ0Rlc2NyaXB0aW9uSW5FbmdsaXNoJztcclxuICAgICAgICB0aGlzLkVkaXREZXNjcmlwdGlvbi5WYWx1ZSA9IGRlc2NyaXB0aW9uO1xyXG4gICAgICAgIHRoaXMuRWRpdERlc2NyaXB0aW9uLk1heExlbmd0aCA9IDI1MDtcclxuXHJcbiAgICAgICAgdGhpcy5FZGl0T3JnYW5pemF0aW9uID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5OYW1lID0gJ09yZ2FuaXphdGlvbklEX0dVSUQnO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5MYWJlbEtleSA9ICdPcmdhbml6YXRpb24nO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5EYXRhU291cmNlID0gdGhpcy5Pcmdhbml6YXRpb25MaXN0O1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5BbGxvd1NlYXJjaEZpbHRlciA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5FZGl0T3JnYW5pemF0aW9uLlBsYWNlaG9sZGVyID0gJyc7XHJcbiAgICAgICAgdGhpcy5FZGl0T3JnYW5pemF0aW9uLklzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5TZWxlY3RlZEl0ZW1zID1cclxuICAgICAgICAgIHRlbXBsYXRlLm9yZ2FuaXphdGlvbklEX0dVSUQ/LnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgICAgIHRoaXMuRWRpdE1hc3RlckxheW91dCA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLkVkaXRNYXN0ZXJMYXlvdXQuTmFtZSA9ICdEb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlSURfR1VJRCc7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LkxhYmVsS2V5ID0gJ01hc3RlckxheW91dCc7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LkRhdGFTb3VyY2UgPSB0aGlzLk1hc3RlckxheW91dExpc3Q7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LkFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkVkaXRNYXN0ZXJMYXlvdXQuUGxhY2Vob2xkZXIgPSAnJztcclxuICAgICAgICB0aGlzLkVkaXRNYXN0ZXJMYXlvdXQuSXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LlNlbGVjdGVkSXRlbXMgPVxyXG4gICAgICAgICAgdGVtcGxhdGUuZG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZUlEX0dVSUQ/LnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5ID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5Lk5hbWUgPSAnQ2F0ZWdvcnlJdGVtSURfR1VJRCc7XHJcbiAgICAgICAgdGhpcy5FZGl0Q2F0ZWdvcnkuTGFiZWxLZXkgPSAnQ2F0ZWdvcnknO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5LkRhdGFTb3VyY2UgPSB0aGlzLkNhdGVnb3J5TGlzdDtcclxuICAgICAgICB0aGlzLkVkaXRDYXRlZ29yeS5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5LkFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLkVkaXRDYXRlZ29yeS5QbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5LklzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuRWRpdENhdGVnb3J5LlNlbGVjdGVkSXRlbXMgPVxyXG4gICAgICAgICAgdGVtcGxhdGUuY2F0ZWdvcnlJdGVtSURfR1VJRD8udG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihFZGl0VGVtcGxhdGVNb2RhbCk7XHJcbiAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgZ2V0RWRpdFRlbXBsYXRlTW9kZWwgPSAoKSA9PiB7XHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIGxldCBSZXN1bHRNb2RlbCA9IHRoaXMuRWRpdFRlbXBsYXRlRm9ybS52YWx1ZTtcclxuICAgIGxldCBFZGl0TW9kZWwgPSBuZXcgRG9jdW1lbnRUZW1wbGF0ZURUTygpO1xyXG4gICAgRWRpdE1vZGVsLklEX0dVSUQgPSB0aGlzLlRlbXBsYXRlSWQ7XHJcbiAgICBFZGl0TW9kZWwuTmFtZS5BcmFiaWMgPSBSZXN1bHRNb2RlbC5OYW1lLkFyYWJpYztcclxuICAgIEVkaXRNb2RlbC5OYW1lLkVuZ2xpc2ggPSBSZXN1bHRNb2RlbC5OYW1lLkVuZ2xpc2g7XHJcbiAgICBFZGl0TW9kZWwuU3lzTmFtZSA9IFJlc3VsdE1vZGVsLlN5c05hbWU7XHJcbiAgICBFZGl0TW9kZWwuRG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZUlEX0dVSUQgPVxyXG4gICAgICBSZXN1bHRNb2RlbC5Eb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlSURfR1VJRDtcclxuICAgIEVkaXRNb2RlbC5EZXNjcmlwdGlvbi5FbmdsaXNoID0gUmVzdWx0TW9kZWwuRGVzY3JpcHRpb24uRW5nbGlzaDtcclxuICAgIEVkaXRNb2RlbC5EZXNjcmlwdGlvbi5BcmFiaWMgPSBSZXN1bHRNb2RlbC5EZXNjcmlwdGlvbi5BcmFiaWM7XHJcbiAgICBFZGl0TW9kZWwuT3JnYW5pemF0aW9uSURfR1VJRCA9IFJlc3VsdE1vZGVsLk9yZ2FuaXphdGlvbklEX0dVSUQ7XHJcbiAgICBFZGl0TW9kZWwuQ2F0ZWdvcnlJdGVtSURfR1VJRCA9IFJlc3VsdE1vZGVsLkNhdGVnb3J5SXRlbUlEX0dVSUQ7XHJcblxyXG4gICAgcGFyYW1BcnJheS5wdXNoKEVkaXRNb2RlbCk7XHJcbiAgICByZXR1cm4gcGFyYW1BcnJheTtcclxuICB9O1xyXG5cclxuICBnZXRFZGl0VGVtcGxhdGVGdW5jdGlvbiA9IChFZGl0TW9kZWwpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmVkaXREb2N1bWVudFRlbXBsYXRlKEVkaXRNb2RlbCk7XHJcbiAgfTtcclxuXHJcbiAgLy9UZXN0IFNlbmQgRW1haWxcclxuICBzaG93VGVzdEV4cG9ydERvY3VtZW50TW9kYWwoVGVzdEV4cG9ydERvY3VtZW50TW9kYWwsIHR5cGUgPSAxKSB7XHJcbiAgICB0aGlzLmV4cG9ydFR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy5UZXN0RXhwb3J0RG9jdW1lbnRGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgICB0aGlzLlRlc3RFeHBvcnREb2N1bWVudEZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgICB0aGlzLlRlc3RFeHBvcnREb2N1bWVudEZvcm1PcHRpb25zLkZvcm1Hcm91cCA9IHRoaXMuVGVzdEV4cG9ydERvY3VtZW50Rm9ybTtcclxuICAgIHRoaXMuVGVzdEV4cG9ydERvY3VtZW50Rm9ybU9wdGlvbnMuR2V0TW9kZWxGdW5jdGlvbiA9XHJcbiAgICAgIHRoaXMuZ2V0VGVzdEV4cG9ydERvY3VtZW50TW9kZWw7XHJcbiAgICB0aGlzLlRlc3RFeHBvcnREb2N1bWVudEZvcm1PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9XHJcbiAgICAgIHRoaXMuZ2V0VGVzdEV4cG9ydERvY3VtZW50RnVuY3Rpb247XHJcbiAgICB0aGlzLlRlc3RFeHBvcnREb2N1bWVudEZvcm1PcHRpb25zLk9uU3VjY2Vzc0hhbmRsZXIgPVxyXG4gICAgICB0aGlzLm9uU3VjY2Vzc0V4cG9ydEhhbmRsZXI7XHJcbiAgICB0aGlzLlRlc3RFeHBvcnREb2N1bWVudEZvcm1PcHRpb25zLkRpc2FibGVTdWNjZXNzTm90aWZpY2F0aW9uID0gdHJ1ZTtcclxuXHJcbiAgICBsZXQgS2V5ID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICBLZXkuTmFtZSA9ICdLZXknO1xyXG4gICAgS2V5LkhpZGVMYWJlbCA9IHRydWU7XHJcbiAgICBLZXkuVmlld1R5cGUgPSBDb250cm9sTGF5b3V0LlZlcnRpY2FsO1xyXG4gICAgS2V5LlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuXHJcbiAgICBsZXQgVmFsdWUgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgIFZhbHVlLk5hbWUgPSAnVmFsdWUnO1xyXG4gICAgVmFsdWUuSGlkZUxhYmVsID0gdHJ1ZTtcclxuICAgIFZhbHVlLlZpZXdUeXBlID0gQ29udHJvbExheW91dC5WZXJ0aWNhbDtcclxuICAgIFZhbHVlLlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuXHJcbiAgICBsZXQgS2V5UmVwZWF0ZXIgPSBuZXcgUmVwZWF0ZXJGaWVsZCgpO1xyXG4gICAgS2V5UmVwZWF0ZXIuQ29udHJvbFR5cGUgPSBEYXRhVHlwZS5UZXh0O1xyXG4gICAgS2V5UmVwZWF0ZXIuQ29udHJvbE9wdGlvbnMgPSBLZXk7XHJcbiAgICBLZXlSZXBlYXRlci5IZWFkZXJUaXRsZSA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnS2V5Jyk7XHJcblxyXG4gICAgbGV0IFZhbHVlUmVwZWF0ZXIgPSBuZXcgUmVwZWF0ZXJGaWVsZCgpO1xyXG4gICAgVmFsdWVSZXBlYXRlci5Db250cm9sVHlwZSA9IERhdGFUeXBlLlRleHQ7XHJcbiAgICBWYWx1ZVJlcGVhdGVyLkNvbnRyb2xPcHRpb25zID0gVmFsdWU7XHJcbiAgICBWYWx1ZVJlcGVhdGVyLkhlYWRlclRpdGxlID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdWYWx1ZScpO1xyXG5cclxuICAgIHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMgPSBuZXcgUmVwZWF0ZXJPcHRpb25zKCk7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLklzUmVxdWlyZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMuTmFtZSA9ICd2YWx1ZXMnO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5EZWxldGVCdXR0b25FeHRyYUNsYXNzZXMgPVxyXG4gICAgICAnYnRuIGJ0bi1kYW5nZXIgYnRuLXNtIGJ0bi1pY29uJztcclxuICAgIHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMuRGVsZXRlQnV0dG9uVGV4dCA9IGA8aSBjbGFzcz1cImZhIGZhLXRyYXNoXCI+PC9pPmA7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLlJlcGVhdGVyVGFibGVFeHRyYUNsYXNzZXMgPVxyXG4gICAgICAndGFibGUgYWxpZ24tbWlkZGxlIHRhYmxlLXJvdy1kYXNoZWQgZnMtNiBneS05IGRhdGFUYWJsZSBuby1mb290ZXIgdmFsaWRhdGlvbi10YWJsZS10ZXh0JztcclxuICAgIHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMuUmVwZWF0ZXJUYWJsZVJvd0V4dHJhQ2xhc3NlcyA9XHJcbiAgICAgICd0ZXh0LXN0YXJ0IHRleHQtZ3JheS00MDAgZnctYm9sZGVyIGZzLTcgdGV4dC11cHBlcmNhc2UgZ3MtMCc7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLkFjdGlvbkxhYmVsS2V5ID0gJ0FjdGlvbic7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLkFkZEJ1dHRvbkV4dHJhQ2xhc3NlcyA9XHJcbiAgICAgICdidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrJztcclxuICAgIHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMuQWRkQnV0dG9uVGV4dCA9IGA8aSBjbGFzcz1cImZhIGZhLXBsdXNcIj48L2k+JHt0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXHJcbiAgICAgICdBZGQnXHJcbiAgICApfWA7XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLk1pblJlcXVpcmVkSXRlbXMgPSAxO1xyXG4gICAgdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5SZXBlYXRlclZhbHVlID0gW107XHJcbiAgICB0aGlzLmFkZEtleVZhbHVlUmVwZWF0ZXJPcHRpb25zLlJlcGVhdGVyU3RydWN0dXJlID0gW1xyXG4gICAgICBLZXlSZXBlYXRlcixcclxuICAgICAgVmFsdWVSZXBlYXRlcixcclxuICAgIF07XHJcblxyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihUZXN0RXhwb3J0RG9jdW1lbnRNb2RhbCk7XHJcbiAgfVxyXG4gIGdldFRlc3RFeHBvcnREb2N1bWVudE1vZGVsID0gKCkgPT4ge1xyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBsZXQgUmVzdWx0TW9kZWwgPSB0aGlzLlRlc3RFeHBvcnREb2N1bWVudEZvcm0udmFsdWU7XHJcbiAgICBsZXQgRXhwb3J0RG9jdW1lbnRUZW1wbGF0ZU1vZGVsID0gbmV3IERvY3VtZW50RXhwb3J0RFRPKCk7XHJcbiAgICBFeHBvcnREb2N1bWVudFRlbXBsYXRlTW9kZWwuSURfR1VJRCA9IHRoaXMuVGVtcGxhdGVJZDtcclxuICAgIGxldCByZXN1bHQ6IERvY3VtZW50RXhwb3J0SXRlbURUT1tdID0gW107XHJcbiAgICBmb3IgKFxyXG4gICAgICBsZXQgaW5kZXggPSAwO1xyXG4gICAgICBpbmRleCA8IHRoaXMuYWRkS2V5VmFsdWVSZXBlYXRlck9wdGlvbnMuUmVwZWF0ZXJWYWx1ZS5sZW5ndGg7XHJcbiAgICAgIGluZGV4KytcclxuICAgICkge1xyXG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5hZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9ucy5SZXBlYXRlclZhbHVlW2luZGV4XTtcclxuICAgICAgaWYgKGVsZW1lbnQuS2V5ICYmIGVsZW1lbnQuVmFsdWUpIHtcclxuICAgICAgICBsZXQgaXRlbTogRG9jdW1lbnRFeHBvcnRJdGVtRFRPID0gbmV3IERvY3VtZW50RXhwb3J0SXRlbURUTygpO1xyXG4gICAgICAgIGl0ZW0uS2V5ID0gZWxlbWVudC5LZXk7XHJcbiAgICAgICAgaXRlbS5WYWx1ZSA9IGVsZW1lbnQuVmFsdWU7XHJcbiAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEV4cG9ydERvY3VtZW50VGVtcGxhdGVNb2RlbC5JdGVtcyA9IHJlc3VsdDtcclxuICAgIHBhcmFtQXJyYXkucHVzaChFeHBvcnREb2N1bWVudFRlbXBsYXRlTW9kZWwpO1xyXG4gICAgcmV0dXJuIHBhcmFtQXJyYXk7XHJcbiAgfTtcclxuXHJcbiAgZ2V0VGVzdEV4cG9ydERvY3VtZW50RnVuY3Rpb24gPSAoXHJcbiAgICBFeHBvcnREb2N1bWVudFRlbXBsYXRlTW9kZWxcclxuICApOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgaWYgKHRoaXMuZXhwb3J0VHlwZSA9PSAyKVxyXG4gICAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZXhwb3J0V29yZChFeHBvcnREb2N1bWVudFRlbXBsYXRlTW9kZWwpO1xyXG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmV4cG9ydFBERihFeHBvcnREb2N1bWVudFRlbXBsYXRlTW9kZWwpO1xyXG4gIH07XHJcblxyXG4gIG9uU3VjY2Vzc0V4cG9ydEhhbmRsZXIgPSBhc3luYyAocmVzdWx0OiBhbnkpID0+IHtcclxuICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XHJcbiAgICBsZXQgbGF0ZXN0X2RhdGUgPSB0aGlzLmRhdGVwaXBlLnRyYW5zZm9ybShub3csICdkZC1NTS15eXl5IEhILm1tJyk7XHJcbiAgICBpZiAodGhpcy5leHBvcnRUeXBlID09IDIpIHtcclxuICAgICAgbGV0IGZpbGVOYW1lID0gdGhpcy5UZW1wbGF0ZUluZm8ubG9jYWxpemVkVGVtcGxhdGVOYW1lICsgJ18nICsgbGF0ZXN0X2RhdGUgKyAnLmRvYyc7XHJcbiAgICAgIHZhciBmaWxlQnVmZmVyTGliID1hd2FpdCB0aGlzLndvcmREb2N1bWVudFNlcnZpY2UuZ2VuZXJhdGVXb3JkQnl0ZUZpbGUocmVzdWx0KVxyXG4gICAgICB0aGlzLmRvd25sb2FkV29yZChmaWxlQnVmZmVyTGliIGFzIGFueSwgXCJMaWJcIitmaWxlTmFtZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZmlsZU5hbWUgPSB0aGlzLlRlbXBsYXRlSW5mby5sb2NhbGl6ZWRUZW1wbGF0ZU5hbWUgKyAnXycgKyBsYXRlc3RfZGF0ZSArICcucGRmJztcclxuICAgIHRoaXMuZG93bmxvYWRQREYocmVzdWx0IGFzIGFueSwgZmlsZU5hbWUpO1xyXG4gIH07XHJcblxyXG4gIC8vT24gZGVzdHJveVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0SGFuZGxlclNlcnZpY2UuZGVzdHJveUhhbmRsZXIoKTtcclxuICB9XHJcbn1cclxuIiwiPGJsb2NrLXVpPjwvYmxvY2stdWk+XHJcblxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCIgKm5nSWY9XCJpc0RhdGFMb2FkZWRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWN1c3RvbS1oXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZD1cImJ0blNldFBhc3NcIiBjbGFzcz1cImJ0biBidG4tc20gbWUtM1xyXG4gICAgICAgICAgYnRuLWxpZ2h0LXByaW1hcnlcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInNob3dFZGl0VGVtcGxhdGVNb2RhbChFZGl0VGVtcGxhdGVNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEgZmEtZWRpdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgIDxzcGFuPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkVkaXRcIil9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZD1cImJ0blNldFBhc3NcIiBjbGFzcz1cImJ0biBidG4tc20gbWUtM1xyXG4gICAgICAgICAgYnRuLWxpZ2h0LXByaW1hcnlcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInNob3dUZXN0RXhwb3J0RG9jdW1lbnRNb2RhbChFeHBvcnREb2N1bWVudE1vZGFsKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1maWxlLXBkZlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgIDxzcGFuPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkV4cG9ydFwiKX19IFBERjwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZD1cImJ0blNldFBhc3NcIiBjbGFzcz1cImJ0biBidG4tc20gbWUtM1xyXG4gICAgICAgICAgYnRuLWxpZ2h0LXByaW1hcnlcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInNob3dUZXN0RXhwb3J0RG9jdW1lbnRNb2RhbChFeHBvcnREb2N1bWVudE1vZGFsLDIpXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWZpbGUtd29yZFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgIDxzcGFuPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkV4cG9ydFwiKX19IFdvcmQ8L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJidG5TZXRQYXNzXCIgY2xhc3M9XCJidG4gYnRuLXNtIG1lLTNcclxuICAgICAgICAgIGJ0bi1wcmltYXJ5XCIgKm5nSWY9XCIhUHJvZHVjdGlvbk1vZGVcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInNob3dHZW5lcmF0ZUNvZGVCeUlkTW9kYWwoR2VuZXJhdGVDb2RlTW9kYWwpXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWJhcnNcIj48L2k+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiR2VuZXJhdGVDb2RlXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZD1cImJ0blNldFBhc3NcIiBjbGFzcz1cImJ0biBidG4tc20gbWUtM1xyXG4gICAgICAgICAgYnRuLXByaW1hcnlcIiAqbmdJZj1cIiFQcm9kdWN0aW9uTW9kZVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2hvd0dlbmVyYXRlVXBkYXRlQ29kZUJ5SWRNb2RhbChHZW5lcmF0ZUNvZGVNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEta2V5XCI+PC9pPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkdlbmVyYXRlVXBkYXRlQ29kZVwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTYgbWItMTBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggaC0xMDAgYWxpZ24taXRlbXMtY2VudGVyIFwiPlxyXG4gICAgICAgICAgICA8IS0tYmVnaW46Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtY2VudGVyIHJvdW5kZWQtMyBiZy1saWdodFxyXG4gICAgICAgICAgICAgIHB5LTEwIHB4LTEwIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgPCEtLWJlZ2luOjpIZWFkaW5nLS0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTcgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tYmVnaW46OlRpdGxlLS0+XHJcbiAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9BZG1pbi9Eb2N1bWVudHMvRWRpdFRlbXBsYXRlJyxUZW1wbGF0ZUlkLCdlbiddXCJcclxuICAgICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInJvdXRlci1saW5rLWFjdGl2ZVwiIGNsYXNzPVwidGV4dC1wcmltYXJ5IG1iLTVcclxuICAgICAgICAgICAgICAgICAgZnctYm9sZGVzdCBmcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIEVuZ2xpc2g6XHJcbiAgICAgICAgICAgICAgICAgIHt7VGVtcGxhdGVJbmZvLnRlbXBsYXRlTmFtZUVOfX1cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9BZG1pbi9Eb2N1bWVudHMvRWRpdFRlbXBsYXRlJyxUZW1wbGF0ZUlkLCdlbiddXCJcclxuICAgICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInJvdXRlci1saW5rLWFjdGl2ZVwiIGNsYXNzPVwiYnRuIGJ0bi1zbVxyXG4gICAgICAgICAgICAgICAgICBidG4tbGlnaHQtcHJpbWFyeSBidG4taWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBlblwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIG1iLTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LWJvbGQgZnMtNiB0ZXh0LWdyYXktODAwIGZsZXgtZ3Jvdy0xIHBlLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlubmVySFRNTD1cInt7VGVtcGxhdGVJbmZvLmhlYWRlckVOfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlubmVySFRNTD1cInt7VGVtcGxhdGVJbmZvLmJvZHlFTn19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpbm5lckhUTUw9XCJ7e1RlbXBsYXRlSW5mby5mb290ZXJFTn19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8IS0tZW5kOjpTZWxlY3QtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS1lbmQ6Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC14bC02IG1iLTEwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGgtMTAwIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8IS0tYmVnaW46Ok9wdGlvbi0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtY2VudGVyIHJvdW5kZWQtMyBiZy1saWdodFxyXG4gICAgICAgICAgICAgIHB5LTEwIHB4LTEwIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgPCEtLWJlZ2luOjpIZWFkaW5nLS0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTcgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tYmVnaW46OlRpdGxlLS0+XHJcbiAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9BZG1pbi9Eb2N1bWVudHMvRWRpdFRlbXBsYXRlJyxUZW1wbGF0ZUlkLCdhciddXCJcclxuICAgICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInJvdXRlci1saW5rLWFjdGl2ZVwiIGNsYXNzPVwidGV4dC1wcmltYXJ5IG1iLTVcclxuICAgICAgICAgICAgICAgICAgZnctYm9sZGVzdCBmcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIEFyYWJpYzpcclxuICAgICAgICAgICAgICAgICAge3tUZW1wbGF0ZUluZm8udGVtcGxhdGVOYW1lQVJ9fVxyXG4gICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvQWRtaW4vRG9jdW1lbnRzL0VkaXRUZW1wbGF0ZScsVGVtcGxhdGVJZCwnYXInXVwiXHJcbiAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJyb3V0ZXItbGluay1hY3RpdmVcIiBjbGFzcz1cImJ0biBidG4tc21cclxuICAgICAgICAgICAgICAgICAgYnRuLWxpZ2h0LXByaW1hcnkgYnRuLWljb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wZW5cIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIG1iLTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tYmVnaW46Okl0ZW0tLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LWJvbGQgZnMtNiB0ZXh0LWdyYXktODAwIGZsZXgtZ3Jvdy0xIHBlLTMgYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlubmVySFRNTD1cInt7VGVtcGxhdGVJbmZvLmhlYWRlckFSfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlubmVySFRNTD1cInt7VGVtcGxhdGVJbmZvLmJvZHlBUn19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpbm5lckhUTUw9XCJ7e1RlbXBsYXRlSW5mby5mb290ZXJBUn19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLWVuZDo6U2VsZWN0LS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tZW5kOjpPcHRpb24tLT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG5cclxuPCEtLSBlZGl0IE1vZGFsIC0tPlxyXG48bmctdGVtcGxhdGUgI0VkaXRUZW1wbGF0ZU1vZGFsIGxldC1tb2RhbD5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIHBiLTAgYm9yZGVyLTAganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cImV4YW1wbGVNb2RhbExhYmVsXCI+PC9oNT5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgY2xhc3M9XCJidG5cclxuICAgICAgYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubGluZVNWR109XCInLi9zcmMvYXNzZXRzL2ltYWdlcy9hcnIwNjEuc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTEzIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxoMSBjbGFzcz1cIm1iLTNcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFZGl0XCIpfX1cclxuICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJUZW1wbGF0ZVwiKX19PC9oMT5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiRWRpdFRlbXBsYXRlRm9ybU9wdGlvbnNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLU11bHRpTGluZ3VhbFRleHRCb3ggW29wdGlvbnNdPVwiRWRpdE5hbWVcIlxyXG4gICAgICAgICAgICBbZ3JvdXBdPVwiRWRpdFRlbXBsYXRlRm9ybVwiPjwvQkJTRi1NdWx0aUxpbmd1YWxUZXh0Qm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLU11bHRpTGluZ3VhbFRleHRBcmVhIFtvcHRpb25zXT1cIkVkaXREZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgIFtncm91cF09XCJFZGl0VGVtcGxhdGVGb3JtXCI+XHJcbiAgICAgICAgICA8L0JCU0YtTXVsdGlMaW5ndWFsVGV4dEFyZWE+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCIhUHJvZHVjdGlvbk1vZGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkVkaXRTeXNOYW1lXCIgW2dyb3VwXT1cIkVkaXRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJFZGl0T3JnYW5pemF0aW9uXCJcclxuICAgICAgICAgICAgW2dyb3VwXT1cIkVkaXRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkVkaXRDYXRlZ29yeVwiXHJcbiAgICAgICAgICAgIFtncm91cF09XCJFZGl0VGVtcGxhdGVGb3JtXCI+XHJcbiAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJFZGl0TWFzdGVyTGF5b3V0XCJcclxuICAgICAgICAgICAgW2dyb3VwXT1cIkVkaXRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC03XCI+XHJcbiAgICAgICAgPGJ1dHRvbiAjQ2xvc2VFZGl0VGVtcGxhdGVNb2RhbCBpZD1cIkNsb3NlRWRpdFRlbXBsYXRlTW9kYWxcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBtZS0zIGJ0bi1zbVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2F2ZUxhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L0JCU0YtRm9ybT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcblxyXG5cclxuPCEtLSBFeHBvcnQgRG9jdW1lbnQgTW9kYWwgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjRXhwb3J0RG9jdW1lbnRNb2RhbCBsZXQtbW9kYWw+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBwYi0wIGJvcmRlci0wIGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCIgaWQ9XCJleGFtcGxlTW9kYWxMYWJlbFwiPjwvaDU+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnlcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMVwiPlxyXG4gICAgICAgIDxzcGFuIFtpbmxpbmVTVkddPVwiJy4vc3JjL2Fzc2V0cy9pbWFnZXMvYXJyMDYxLnN2ZydcIj48L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IHNjcm9sbC15IHB4LTEwIHB4LWxnLTE1IHB0LTAgcGItMTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYi0xMyB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICA8aDEgY2xhc3M9XCJtYi0zXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRXhwb3J0XCIpfX08L2gxPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8QkJTRi1Gb3JtIFtvcHRpb25zXT1cIlRlc3RFeHBvcnREb2N1bWVudEZvcm1PcHRpb25zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1yZXBlYXRlci10YWJsZSBbb3B0aW9uc109XCJhZGRLZXlWYWx1ZVJlcGVhdGVyT3B0aW9uc1wiICBbZ3JvdXBdPVwiVGVzdEV4cG9ydERvY3VtZW50Rm9ybVwiPlxyXG4gICAgICAgIDwvQkJTRi1yZXBlYXRlci10YWJsZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHQtN1wiPlxyXG4gICAgICAgIDxidXR0b24gI0Nsb3NlU2VuZEVtYWlsRm9ybSBpZD1cIkNsb3NlU2VuZEVtYWlsRm9ybVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHQgbWUtMyBidG4tc21cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ2FuY2VsTGFiZWxcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkV4cG9ydFwiKX19PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9CQlNGLUZvcm0+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuPCEtLSBHZW5lcmF0ZUNvZGUgTW9kYWwgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjR2VuZXJhdGVDb2RlTW9kYWwgbGV0LW1vZGFsPlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgcGItMCBib3JkZXItMCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIGlkPVwiZXhhbXBsZU1vZGFsTGFiZWxcIj48L2g1PlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiBjbGFzcz1cImJ0blxyXG4gICAgICBidG4tc20gYnRuLWljb24gYnRuLWFjdGl2ZS1jb2xvci1wcmltYXJ5XCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTFcIj5cclxuICAgICAgICA8c3BhbiBbaW5saW5lU1ZHXT1cIicuL3NyYy9hc3NldHMvaW1hZ2VzL2FycjA2MS5zdmcnXCI+PC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBzY3JvbGwteSBweC0xMCBweC1sZy0xNSBwdC0wIHBiLTE1XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItMTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgPGgxIGNsYXNzPVwibWItM1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkdlbmVyYXRlQ29kZVwiKX19PC9oMT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJHZW5lcmF0ZUNvZGVGb3JtXCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiUm93XCI+XHJcbiAgICAgICAgPEJCU0YtVGV4dEFyZWEgW29wdGlvbnNdPVwiR2VuZXJhdGVDb2RlVGV4dEFyZWFcIlxyXG4gICAgICAgICAgW2dyb3VwXT1cIkdlbmVyYXRlQ29kZUZvcm1cIiAjR2VuZXJhdGVDb2RlSW5wdXQ+XHJcbiAgICAgICAgPC9CQlNGLVRleHRBcmVhPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHB0LTdcIj5cclxuICAgICAgICA8YnV0dG9uICNDbG9zZUdlbmVyYXRlQ29kZU1vZGFsIGlkPVwiQ2xvc2VHZW5lcmF0ZUNvZGVNb2RhbFwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0IG1lLTMgYnRuLXNtXCJcclxuICAgICAgICAgIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkNhbmNlbExhYmVsXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImNvcHlJbnB1dE1lc3NhZ2UoKVwiPlxyXG4gICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ29weVRvQ2xpcGJvYXJkXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Zvcm0+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -1,8 +1,6 @@
1
- import { __awaiter } from "tslib";
2
1
  import { HttpParams } from "@angular/common/http";
3
2
  import { Injectable } from "@angular/core";
4
3
  import { RequestOptionsModel } from "@bnsights/bbsf-utilities";
5
- import { generateContainer as GenerateDOCX } from '../word/index';
6
4
  import * as i0 from "@angular/core";
7
5
  import * as i1 from "@bnsights/bbsf-utilities";
8
6
  export class DocumentTemplateService {
@@ -71,12 +69,6 @@ export class DocumentTemplateService {
71
69
  options.castResponsetoClass = false;
72
70
  return this.http.post(this.ApiUrl + "ExportWord", model, null, null, options);
73
71
  }
74
- generateWordByteFile(body, header, documentOptions, footer) {
75
- return __awaiter(this, void 0, void 0, function* () {
76
- var fileBuffer = yield GenerateDOCX(body, header, documentOptions, footer);
77
- return fileBuffer;
78
- });
79
- }
80
72
  }
81
73
  DocumentTemplateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DocumentTemplateService, deps: [{ token: i1.RequestHandlerService }], target: i0.ɵɵFactoryTarget.Injectable });
82
74
  DocumentTemplateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DocumentTemplateService, providedIn: 'root' });
@@ -86,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
86
78
  providedIn: 'root'
87
79
  }]
88
80
  }], ctorParameters: function () { return [{ type: i1.RequestHandlerService }]; } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG9jdW1lbnRUZW1wbGF0ZVNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvc2hhcmVkL1NlcnZpY2VzL0RvY3VtZW50VGVtcGxhdGVTZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTTNDLE9BQU8sRUFBeUIsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd0RixPQUFPLEVBQUMsaUJBQWlCLElBQUksWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFLaEUsTUFBTSxPQUFPLHVCQUF1QjtJQUVsQyxZQUFvQixJQUEyQjtRQUEzQixTQUFJLEdBQUosSUFBSSxDQUF1QjtRQUQvQyxXQUFNLEdBQUcsK0JBQStCLENBQUE7SUFFeEMsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsc0JBQXNCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsS0FBSztJQUNMLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsUUFBNkI7UUFDL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsTUFBTTtJQUNOLG1CQUFtQixDQUFDLEVBQVU7UUFDNUIsSUFBSSxNQUFNLEdBQUcsSUFBSSxV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QUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLEVBQzFCLEtBQUssRUFDTCxJQUFJLEVBQ0osSUFBSSxFQUNKLE9BQU8sQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVLLG9CQUFvQixDQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLE1BQU07O1lBRTNELElBQUksVUFBVSxHQUFFLE1BQU0sWUFBWSxDQUFDLElBQUksRUFBQyxNQUFNLEVBQUUsZUFBZSxFQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ3ZFLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7S0FBQTs7cUhBOUZVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCLGNBRnBCLE1BQU07NEZBRVQsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRlbXBsYXRlRFRPIH0gZnJvbSBcIi4uL21vZGVscy9Ob3RpZmljYXRpb25zTW9kZWxzL1RlbXBsYXRlRFRPXCI7XHJcbmltcG9ydCB7IFNlbmRFbWFpbFRlbXBsYXRlTW9kZWwgfSBmcm9tICcuLy4uL21vZGVscy9Ob3RpZmljYXRpb25zTW9kZWxzL1NlbmRFbWFpbFRlbXBsYXRlTW9kZWwnO1xyXG5pbXBvcnQgeyBFbWFpbFRlbXBsYXRlVGVzdGVyTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL05vdGlmaWNhdGlvbnNNb2RlbHMvRW1haWxUZW1wbGF0ZVRlc3Rlck1vZGVsXCI7XHJcbmltcG9ydCB7IFNNU1RlbXBsYXRlVGVzdGVyTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL05vdGlmaWNhdGlvbnNNb2RlbHMvU01TVGVtcGxhdGVUZXN0ZXJNb2RlbFwiO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZUVkaXRWaWV3TW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL05vdGlmaWNhdGlvbnNNb2RlbHMvVGVtcGxhdGVFZGl0Vmlld01vZGVsXCI7XHJcbmltcG9ydCB7IFJlcXVlc3RIYW5kbGVyU2VydmljZSwgUmVxdWVzdE9wdGlvbnNNb2RlbCB9IGZyb20gXCJAYm5zaWdodHMvYmJzZi11dGlsaXRpZXNcIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRUZW1wbGF0ZURUTyB9IGZyb20gXCIuLi9tb2RlbHMvRG9jdW1lbnRzTW9kZWxzL0RvY3VtZW50VGVtcGxhdGVEVE9cIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRUZW1wbGF0ZUluZm9EVE8gfSBmcm9tIFwiLi4vbW9kZWxzL0RvY3VtZW50c01vZGVscy9Eb2N1bWVudFRlbXBsYXRlSW5mb0RUT1wiO1xyXG5pbXBvcnQge2dlbmVyYXRlQ29udGFpbmVyIGFzIEdlbmVyYXRlRE9DWH0gZnJvbSAnLi4vd29yZC9pbmRleCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERvY3VtZW50VGVtcGxhdGVTZXJ2aWNlIHtcclxuICBBcGlVcmwgPSBcIi9hcGkvYWRtaW4vRG9jdW1lbnRUZW1wbGF0ZXMvXCJcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IFJlcXVlc3RIYW5kbGVyU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbG9hZGRyb3Bkb3ducygpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuQXBpVXJsICsgJ0xvYWRGaWx0ZXJzRHJvcGRvd25zJyk7XHJcbiAgfVxyXG4gIC8vQWRkXHJcbiAgbG9hZEFkZERyb3Bkb3ducygpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuQXBpVXJsICsgJ0FkZFRlbXBsYXRlJyk7XHJcbiAgfVxyXG4gIGFkZERvY3VtZW50VGVtcGxhdGUoQWRkTW9kZWw6IERvY3VtZW50VGVtcGxhdGVEVE8pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkFwaVVybCArICdBZGRUZW1wbGF0ZScsIEFkZE1vZGVsKTtcclxuICB9XHJcblxyXG4gIC8vRWRpdFxyXG4gIGdldEVkaXRUZW1wbGF0ZURhdGEoaWQ6IHN0cmluZykge1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKFwiaWRcIiwgaWQpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5BcGlVcmwgKyAnRWRpdFRlbXBsYXRlJywgcGFyYW1zKTtcclxuXHJcbiAgfVxyXG4gIGVkaXREb2N1bWVudFRlbXBsYXRlKEVkaXRNb2RlbCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQXBpVXJsICsgJ0VkaXRUZW1wbGF0ZScsIEVkaXRNb2RlbCk7XHJcbiAgfVxyXG5cclxuICAvL0RlbGV0ZVxyXG4gIGRlbGV0ZVRlbXBsYXRlKGlkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkFwaVVybCArICdEZWxldGVEb2N1bWVudFRlbXBsYXRlJywgSlNPTi5zdHJpbmdpZnkoaWQpKTtcclxuICB9XHJcblxyXG4gIC8vR2VuZXJhdGUgY29kZVxyXG4gIGdlbmVyYXRlQ29kZUFsbCgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuQXBpVXJsICsgJ0dlbmVyYXRlQ29kZUFsbCcpO1xyXG4gIH1cclxuICBnZW5lcmF0ZUFsbFVwZGF0ZUNvZGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkFwaVVybCArICdHZW5lcmF0ZUFsbFVwZGF0ZUNvZGUnKTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlU3lzTmFtZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkFwaVVybCArICdHZW5lcmF0ZVN5c05hbWVzJyk7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZUNvZGVCeUlkKHRlbXBsYXRlSWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQXBpVXJsICsgJ0dlbmVyYXRlQ29kZUJ5SWQnLCBKU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZUlkKSk7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZVVwZGF0ZUNvZGVCeUlkKHRlbXBsYXRlSWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQXBpVXJsICsgJ0dlbmVyYXRlVXBkYXRlQ29kZUJ5SWQnLCBKU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZUlkKSk7XHJcbiAgfVxyXG5cclxuICBnZXRUZW1wbGF0ZUluZm8oaWQ6IHN0cmluZykge1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKFwidGVtcGxhdGVJZFwiLCBpZC50b1N0cmluZygpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuQXBpVXJsICsgJ0dldFRlbXBsYXRlSW5mbycsIHBhcmFtcylcclxuICB9XHJcblxyXG4gIGVkaXRUZW1wbGF0ZUluZm8oRWRpdE1vZGVsOiBEb2N1bWVudFRlbXBsYXRlSW5mb0RUTykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQXBpVXJsICsgJ0VkaXREb2N1bWVudFRlbXBsYXRlSW5mbycsIEVkaXRNb2RlbCk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRQREYobW9kZWw6IGFueSkge1xyXG4gICAgbGV0IG9wdGlvbnM6IFJlcXVlc3RPcHRpb25zTW9kZWwgPSBuZXcgUmVxdWVzdE9wdGlvbnNNb2RlbCgpO1xyXG4gICAgb3B0aW9ucy5yZXNwb25zZVR5cGUgPSBcImFycmF5YnVmZmVyXCI7XHJcbiAgICBvcHRpb25zLmRpc2FibGVTdWNjZXNzTm90aWZpY2F0aW9uID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuY2FzdFJlc3BvbnNldG9DbGFzcyA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICB0aGlzLkFwaVVybCArIFwiRXhwb3J0UERGXCIsXHJcbiAgICAgIG1vZGVsLFxyXG4gICAgICBudWxsLFxyXG4gICAgICBudWxsLFxyXG4gICAgICBvcHRpb25zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0V29yZChtb2RlbDogYW55KSB7XHJcbiAgICBsZXQgb3B0aW9uczogUmVxdWVzdE9wdGlvbnNNb2RlbCA9IG5ldyBSZXF1ZXN0T3B0aW9uc01vZGVsKCk7XHJcbiAgICAvLyBvcHRpb25zLnJlc3BvbnNlVHlwZSA9IFwiYXJyYXlidWZmZXJcIjtcclxuICAgIG9wdGlvbnMuZGlzYWJsZVN1Y2Nlc3NOb3RpZmljYXRpb24gPSB0cnVlO1xyXG4gICAgb3B0aW9ucy5jYXN0UmVzcG9uc2V0b0NsYXNzID0gZmFsc2U7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXHJcbiAgICAgIHRoaXMuQXBpVXJsICsgXCJFeHBvcnRXb3JkXCIsXHJcbiAgICAgIG1vZGVsLFxyXG4gICAgICBudWxsLFxyXG4gICAgICBudWxsLFxyXG4gICAgICBvcHRpb25zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2VuZXJhdGVXb3JkQnl0ZUZpbGUoYm9keSxoZWFkZXIsZG9jdW1lbnRPcHRpb25zLGZvb3RlcilcclxuICB7XHJcbiAgICB2YXIgZmlsZUJ1ZmZlciA9YXdhaXQgR2VuZXJhdGVET0NYKGJvZHksaGVhZGVyLCBkb2N1bWVudE9wdGlvbnMsZm9vdGVyKVxyXG4gICAgcmV0dXJuIGZpbGVCdWZmZXI7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG9jdW1lbnRUZW1wbGF0ZVNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvc2hhcmVkL1NlcnZpY2VzL0RvY3VtZW50VGVtcGxhdGVTZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF5QixtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFPdEYsTUFBTSxPQUFPLHVCQUF1QjtJQUVsQyxZQUFvQixJQUEyQjtRQUEzQixTQUFJLEdBQUosSUFBSSxDQUF1QjtRQUQvQyxXQUFNLEdBQUcsK0JBQStCLENBQUE7SUFFeEMsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsc0JBQXNCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsS0FBSztJQUNMLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsUUFBNkI7UUFDL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsTUFBTTtJQUNOLG1CQUFtQixDQUFDLEVBQVU7UUFDNUIsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJ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QUFLLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLEVBQzFCLEtBQUssRUFDTCxJQUFJLEVBQ0osSUFBSSxFQUNKLE9BQU8sQ0FDUixDQUFDO0lBQ0osQ0FBQzs7cUhBeEZVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCLGNBRnBCLE1BQU07NEZBRVQsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJlcXVlc3RIYW5kbGVyU2VydmljZSwgUmVxdWVzdE9wdGlvbnNNb2RlbCB9IGZyb20gXCJAYm5zaWdodHMvYmJzZi11dGlsaXRpZXNcIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRUZW1wbGF0ZURUTyB9IGZyb20gXCIuLi9tb2RlbHMvRG9jdW1lbnRzTW9kZWxzL0RvY3VtZW50VGVtcGxhdGVEVE9cIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRUZW1wbGF0ZUluZm9EVE8gfSBmcm9tIFwiLi4vbW9kZWxzL0RvY3VtZW50c01vZGVscy9Eb2N1bWVudFRlbXBsYXRlSW5mb0RUT1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2N1bWVudFRlbXBsYXRlU2VydmljZSB7XHJcbiAgQXBpVXJsID0gXCIvYXBpL2FkbWluL0RvY3VtZW50VGVtcGxhdGVzL1wiXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBSZXF1ZXN0SGFuZGxlclNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIGxvYWRkcm9wZG93bnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkFwaVVybCArICdMb2FkRmlsdGVyc0Ryb3Bkb3ducycpO1xyXG4gIH1cclxuICAvL0FkZFxyXG4gIGxvYWRBZGREcm9wZG93bnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkFwaVVybCArICdBZGRUZW1wbGF0ZScpO1xyXG4gIH1cclxuICBhZGREb2N1bWVudFRlbXBsYXRlKEFkZE1vZGVsOiBEb2N1bWVudFRlbXBsYXRlRFRPKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5BcGlVcmwgKyAnQWRkVGVtcGxhdGUnLCBBZGRNb2RlbCk7XHJcbiAgfVxyXG5cclxuICAvL0VkaXRcclxuICBnZXRFZGl0VGVtcGxhdGVEYXRhKGlkOiBzdHJpbmcpIHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChcImlkXCIsIGlkKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuQXBpVXJsICsgJ0VkaXRUZW1wbGF0ZScsIHBhcmFtcyk7XHJcblxyXG4gIH1cclxuICBlZGl0RG9jdW1lbnRUZW1wbGF0ZShFZGl0TW9kZWwpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkFwaVVybCArICdFZGl0VGVtcGxhdGUnLCBFZGl0TW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgLy9EZWxldGVcclxuICBkZWxldGVUZW1wbGF0ZShpZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5BcGlVcmwgKyAnRGVsZXRlRG9jdW1lbnRUZW1wbGF0ZScsIEpTT04uc3RyaW5naWZ5KGlkKSk7XHJcbiAgfVxyXG5cclxuICAvL0dlbmVyYXRlIGNvZGVcclxuICBnZW5lcmF0ZUNvZGVBbGwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkFwaVVybCArICdHZW5lcmF0ZUNvZGVBbGwnKTtcclxuICB9XHJcbiAgZ2VuZXJhdGVBbGxVcGRhdGVDb2RlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5BcGlVcmwgKyAnR2VuZXJhdGVBbGxVcGRhdGVDb2RlJyk7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZVN5c05hbWVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5BcGlVcmwgKyAnR2VuZXJhdGVTeXNOYW1lcycpO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVDb2RlQnlJZCh0ZW1wbGF0ZUlkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkFwaVVybCArICdHZW5lcmF0ZUNvZGVCeUlkJywgSlNPTi5zdHJpbmdpZnkodGVtcGxhdGVJZCkpO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVVcGRhdGVDb2RlQnlJZCh0ZW1wbGF0ZUlkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkFwaVVybCArICdHZW5lcmF0ZVVwZGF0ZUNvZGVCeUlkJywgSlNPTi5zdHJpbmdpZnkodGVtcGxhdGVJZCkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGVtcGxhdGVJbmZvKGlkOiBzdHJpbmcpIHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChcInRlbXBsYXRlSWRcIiwgaWQudG9TdHJpbmcoKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkFwaVVybCArICdHZXRUZW1wbGF0ZUluZm8nLCBwYXJhbXMpXHJcbiAgfVxyXG5cclxuICBlZGl0VGVtcGxhdGVJbmZvKEVkaXRNb2RlbDogRG9jdW1lbnRUZW1wbGF0ZUluZm9EVE8pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkFwaVVybCArICdFZGl0RG9jdW1lbnRUZW1wbGF0ZUluZm8nLCBFZGl0TW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0UERGKG1vZGVsOiBhbnkpIHtcclxuICAgIGxldCBvcHRpb25zOiBSZXF1ZXN0T3B0aW9uc01vZGVsID0gbmV3IFJlcXVlc3RPcHRpb25zTW9kZWwoKTtcclxuICAgIG9wdGlvbnMucmVzcG9uc2VUeXBlID0gXCJhcnJheWJ1ZmZlclwiO1xyXG4gICAgb3B0aW9ucy5kaXNhYmxlU3VjY2Vzc05vdGlmaWNhdGlvbiA9IHRydWU7XHJcbiAgICBvcHRpb25zLmNhc3RSZXNwb25zZXRvQ2xhc3MgPSBmYWxzZTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcclxuICAgICAgdGhpcy5BcGlVcmwgKyBcIkV4cG9ydFBERlwiLFxyXG4gICAgICBtb2RlbCxcclxuICAgICAgbnVsbCxcclxuICAgICAgbnVsbCxcclxuICAgICAgb3B0aW9uc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGV4cG9ydFdvcmQobW9kZWw6IGFueSkge1xyXG4gICAgbGV0IG9wdGlvbnM6IFJlcXVlc3RPcHRpb25zTW9kZWwgPSBuZXcgUmVxdWVzdE9wdGlvbnNNb2RlbCgpO1xyXG4gICAgLy8gb3B0aW9ucy5yZXNwb25zZVR5cGUgPSBcImFycmF5YnVmZmVyXCI7XHJcbiAgICBvcHRpb25zLmRpc2FibGVTdWNjZXNzTm90aWZpY2F0aW9uID0gdHJ1ZTtcclxuICAgIG9wdGlvbnMuY2FzdFJlc3BvbnNldG9DbGFzcyA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICB0aGlzLkFwaVVybCArIFwiRXhwb3J0V29yZFwiLFxyXG4gICAgICBtb2RlbCxcclxuICAgICAgbnVsbCxcclxuICAgICAgbnVsbCxcclxuICAgICAgb3B0aW9uc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -14,8 +14,6 @@ export * from './lib/Pages/shared/modules/public-survey.module';
14
14
  // export * from './lib/Pages/shared/config/environment';
15
15
  export * from './lib/Pages/shared/models/InjectedModuleModel/InjectedModule';
16
16
  export * from './lib/Pages/shared/models/DepartmentModels/DepartmentModel';
17
- //Export Word
18
- export * from './lib/Pages/shared/word/word-work/utils';
19
17
  //Export Components
20
18
  export * from './lib/masterlayout.component';
21
19
  export * from './lib/Pages/home/home.component';
@@ -48,4 +46,4 @@ export * from './lib/_metronic/configs/default-layout.config';
48
46
  export * from './lib/pages/shared/Enums/Enums';
49
47
  export * from './lib/pages/shared/models/user.registration';
50
48
  export * from './lib/Pages/_layout/components/subheader/subheader.module';
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFDLGdCQUFnQjtBQUNoQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUNoRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ2xFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsaURBQWlELENBQUM7QUFRaEUsZUFBZTtBQUNoQiwwREFBMEQ7QUFDekQsY0FBYyw4REFBOEQsQ0FBQztBQUU3RSxjQUFjLDREQUE0RCxDQUFDO0FBRTNFLGFBQWE7QUFDYixjQUFjLHlDQUF5QyxDQUFDO0FBS3ZELG1CQUFtQjtBQUNwQixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNuRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsbURBQW1ELENBQUM7QUFDakUsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsbUVBQW1FLENBQUM7QUFPbEYsaUJBQWlCO0FBQ2xCLDJFQUEyRTtBQUMxRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLDREQUE0RCxDQUFDO0FBRTVFLGNBQWUsOENBQThDLENBQUM7QUFDOUQsY0FBZSxtREFBbUQsQ0FBQztBQUNuRSxjQUFlLGlEQUFpRCxDQUFDO0FBQ2pFLGNBQWUsK0NBQStDLENBQUM7QUFHL0QsUUFBUTtBQUVSLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDJEQUEyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIC8vRXhwb3J0IE1vZHVsZXNcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL21hc3RlcmxheW91dC5tb2R1bGUnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvaG9tZS9ob21lLm1vZHVsZSc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy91c2Vycy91c2Vycy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9QYWdlcy9hbm9ueW1vdXNsYXlvdXQvYW5vbnltb3VzbGF5b3V0Lm1vZHVsZSc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9QYWdlcy9jb3JlL2F1dGgubW9kdWxlJztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3N0YXJ0L3N0YXJ0Lm1vZHVsZSdcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2F1dGhlbnRpY2F0aW9uL2F1dGhlbnRpY2F0aW9uLm1vZHVsZSc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9sb2NhbGl6YXRpb25zL2xvY2FsaXphdGlvbnMubW9kdWxlJztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL1BhZ2VzL3NoYXJlZC9tb2R1bGVzL3N1cnZleS5tb2R1bGUnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvUGFnZXMvc2hhcmVkL21vZHVsZXMvcHVibGljLXN1cnZleS5tb2R1bGUnO1xyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIC8vRXhwb3J0IG1vZGVsc1xyXG4vLyAgZXhwb3J0ICogZnJvbSAnLi9saWIvUGFnZXMvc2hhcmVkL2NvbmZpZy9lbnZpcm9ubWVudCc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9QYWdlcy9zaGFyZWQvbW9kZWxzL0luamVjdGVkTW9kdWxlTW9kZWwvSW5qZWN0ZWRNb2R1bGUnO1xyXG5cclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL1BhZ2VzL3NoYXJlZC9tb2RlbHMvRGVwYXJ0bWVudE1vZGVscy9EZXBhcnRtZW50TW9kZWwnO1xyXG5cclxuIC8vRXhwb3J0IFdvcmRcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL1BhZ2VzL3NoYXJlZC93b3JkL3dvcmQtd29yay91dGlscyc7XHJcblxyXG5cclxuXHJcblxyXG4gIC8vRXhwb3J0IENvbXBvbmVudHNcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL21hc3RlcmxheW91dC5jb21wb25lbnQnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvUGFnZXMvaG9tZS9ob21lLmNvbXBvbmVudCc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy91c2Vycy91c2Vycy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9hbm9ueW1vdXNsYXlvdXQvYW5vbnltb3VzbGF5b3V0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2Fub255bW91c2xheW91dC9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvYXV0aGVudGljYXRpb24vYXV0aC1jYWxsYmFjay9hdXRoLWNhbGxiYWNrLmNvbXBvbmVudCc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9zdGFydC9pbmRleC9pbmRleC5jb21wb25lbnQnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvbG9jYWxpemF0aW9ucy9sb2NhbGl6YXRpb25zLmNvbXBvbmVudCc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9fbGF5b3V0L2NvbXBvbmVudHMvc3ViaGVhZGVyL3N1YmhlYWRlci5jb21wb25lbnQnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvUGFnZXMvc2hhcmVkL2NvbXBvbmVudHMvc3VydmV5LWZvcm0vc3VydmV5LWZvcm0uY29tcG9uZW50JztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL1BhZ2VzL3NoYXJlZC9jb21wb25lbnRzL2V4dGVybmFsLXVybC9leHRlcm5hbC11cmwuY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIC8vRXhwb3J0IFNlcnZpY2VzXHJcbi8vICBleHBvcnQgKiBmcm9tICcuL2xpYi9QYWdlcy9zaGFyZWQvU2VydmljZXMvZW52aXJvbm1lbnRTZXJ2aWNlLlNlcnZpY2UnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvUGFnZXMvc2hhcmVkL1NlcnZpY2VzL2RhdGEuc2VydmljZSc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9QYWdlcy9zaGFyZWQvU2VydmljZXMvR2xvYmFsRXJyb3JIYW5kbGVyLnNlcnZpY2UnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvY29yZS9hdXRoZW50aWNhdGlvbi9hdXRoLmd1YXJkJztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2NvcmUvYXV0aGVudGljYXRpb24vYXV0aC5zZXJ2aWNlJztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3NoYXJlZC9zdHlsZXNidW5kbGUuc2VydmljZSc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9zaGFyZWQvYmFzZS5zZXJ2aWNlJztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3NoYXJlZC9TZXJ2aWNlcy9sb2NhbGl6YXRpb25zU2VydmljZS5zZXJ2aWNlICc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9zaGFyZWQvU2VydmljZXMvaW5qZWN0aW9uTW9kdWxlU2VydmljZS5zZXJ2aWNlJztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3NoYXJlZC9TZXJ2aWNlcy9Eb2N1bWVudFRlbXBsYXRlU2VydmljZS5zZXJ2aWNlJztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3NoYXJlZC9TZXJ2aWNlcy9Bbm9ueW1vdXNMYXlvdXRTZXJ2aWNlLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0ICogIGZyb20gJy4vbGliL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlJztcclxuZXhwb3J0ICAqIGZyb20gJy4vbGliL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL2xheW91dC1pbml0LnNlcnZpY2UnO1xyXG5leHBvcnQgICogZnJvbSAnLi9saWIvX21ldHJvbmljL2NvcmUvc2VydmljZXMvcGFnZS1pbmZvLnNlcnZpY2UnO1xyXG5leHBvcnQgICogZnJvbSAnLi9saWIvX21ldHJvbmljL2NvbmZpZ3MvZGVmYXVsdC1sYXlvdXQuY29uZmlnJztcclxuXHJcblxyXG4vLyBVdGlsc1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvc2hhcmVkL0VudW1zL0VudW1zJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3NoYXJlZC9tb2RlbHMvdXNlci5yZWdpc3RyYXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9QYWdlcy9fbGF5b3V0L2NvbXBvbmVudHMvc3ViaGVhZGVyL3N1YmhlYWRlci5tb2R1bGUnO1xyXG5cclxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFDLGdCQUFnQjtBQUNoQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUNoRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ2xFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsaURBQWlELENBQUM7QUFRaEUsZUFBZTtBQUNoQiwwREFBMEQ7QUFDekQsY0FBYyw4REFBOEQsQ0FBQztBQUU3RSxjQUFjLDREQUE0RCxDQUFDO0FBRTFFLG1CQUFtQjtBQUNwQixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNuRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsbURBQW1ELENBQUM7QUFDakUsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsbUVBQW1FLENBQUM7QUFPbEYsaUJBQWlCO0FBQ2xCLDJFQUEyRTtBQUMxRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLDREQUE0RCxDQUFDO0FBRTVFLGNBQWUsOENBQThDLENBQUM7QUFDOUQsY0FBZSxtREFBbUQsQ0FBQztBQUNuRSxjQUFlLGlEQUFpRCxDQUFDO0FBQ2pFLGNBQWUsK0NBQStDLENBQUM7QUFHL0QsUUFBUTtBQUVSLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDJEQUEyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIC8vRXhwb3J0IE1vZHVsZXNcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL21hc3RlcmxheW91dC5tb2R1bGUnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvaG9tZS9ob21lLm1vZHVsZSc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy91c2Vycy91c2Vycy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9QYWdlcy9hbm9ueW1vdXNsYXlvdXQvYW5vbnltb3VzbGF5b3V0Lm1vZHVsZSc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9QYWdlcy9jb3JlL2F1dGgubW9kdWxlJztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3N0YXJ0L3N0YXJ0Lm1vZHVsZSdcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2F1dGhlbnRpY2F0aW9uL2F1dGhlbnRpY2F0aW9uLm1vZHVsZSc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9sb2NhbGl6YXRpb25zL2xvY2FsaXphdGlvbnMubW9kdWxlJztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL1BhZ2VzL3NoYXJlZC9tb2R1bGVzL3N1cnZleS5tb2R1bGUnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvUGFnZXMvc2hhcmVkL21vZHVsZXMvcHVibGljLXN1cnZleS5tb2R1bGUnO1xyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIC8vRXhwb3J0IG1vZGVsc1xyXG4vLyAgZXhwb3J0ICogZnJvbSAnLi9saWIvUGFnZXMvc2hhcmVkL2NvbmZpZy9lbnZpcm9ubWVudCc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9QYWdlcy9zaGFyZWQvbW9kZWxzL0luamVjdGVkTW9kdWxlTW9kZWwvSW5qZWN0ZWRNb2R1bGUnO1xyXG5cclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL1BhZ2VzL3NoYXJlZC9tb2RlbHMvRGVwYXJ0bWVudE1vZGVscy9EZXBhcnRtZW50TW9kZWwnO1xyXG5cclxuICAvL0V4cG9ydCBDb21wb25lbnRzXHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9tYXN0ZXJsYXlvdXQuY29tcG9uZW50JztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL1BhZ2VzL2hvbWUvaG9tZS5jb21wb25lbnQnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvdXNlcnMvdXNlcnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvYW5vbnltb3VzbGF5b3V0L2Fub255bW91c2xheW91dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9hbm9ueW1vdXNsYXlvdXQvbG9naW4vbG9naW4uY29tcG9uZW50JztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2F1dGhlbnRpY2F0aW9uL2F1dGgtY2FsbGJhY2svYXV0aC1jYWxsYmFjay5jb21wb25lbnQnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvc3RhcnQvaW5kZXgvaW5kZXguY29tcG9uZW50JztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2xvY2FsaXphdGlvbnMvbG9jYWxpemF0aW9ucy5jb21wb25lbnQnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvX2xheW91dC9jb21wb25lbnRzL3N1YmhlYWRlci9zdWJoZWFkZXIuY29tcG9uZW50JztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL1BhZ2VzL3NoYXJlZC9jb21wb25lbnRzL3N1cnZleS1mb3JtL3N1cnZleS1mb3JtLmNvbXBvbmVudCc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9QYWdlcy9zaGFyZWQvY29tcG9uZW50cy9leHRlcm5hbC11cmwvZXh0ZXJuYWwtdXJsLmNvbXBvbmVudCc7XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAvL0V4cG9ydCBTZXJ2aWNlc1xyXG4vLyAgZXhwb3J0ICogZnJvbSAnLi9saWIvUGFnZXMvc2hhcmVkL1NlcnZpY2VzL2Vudmlyb25tZW50U2VydmljZS5TZXJ2aWNlJztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL1BhZ2VzL3NoYXJlZC9TZXJ2aWNlcy9kYXRhLnNlcnZpY2UnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvUGFnZXMvc2hhcmVkL1NlcnZpY2VzL0dsb2JhbEVycm9ySGFuZGxlci5zZXJ2aWNlJztcclxuIGV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL2NvcmUvYXV0aGVudGljYXRpb24vYXV0aC5ndWFyZCc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9jb3JlL2F1dGhlbnRpY2F0aW9uL2F1dGguc2VydmljZSc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9zaGFyZWQvc3R5bGVzYnVuZGxlLnNlcnZpY2UnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvc2hhcmVkL2Jhc2Uuc2VydmljZSc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9zaGFyZWQvU2VydmljZXMvbG9jYWxpemF0aW9uc1NlcnZpY2Uuc2VydmljZSAnO1xyXG4gZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnZXMvc2hhcmVkL1NlcnZpY2VzL2luamVjdGlvbk1vZHVsZVNlcnZpY2Uuc2VydmljZSc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9zaGFyZWQvU2VydmljZXMvRG9jdW1lbnRUZW1wbGF0ZVNlcnZpY2Uuc2VydmljZSc7XHJcbiBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9zaGFyZWQvU2VydmljZXMvQW5vbnltb3VzTGF5b3V0U2VydmljZS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCAqICBmcm9tICcuL2xpYi9fbWV0cm9uaWMvY29yZS9zZXJ2aWNlcy9sYXlvdXQuc2VydmljZSc7XHJcbmV4cG9ydCAgKiBmcm9tICcuL2xpYi9fbWV0cm9uaWMvY29yZS9zZXJ2aWNlcy9sYXlvdXQtaW5pdC5zZXJ2aWNlJztcclxuZXhwb3J0ICAqIGZyb20gJy4vbGliL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuZXhwb3J0ICAqIGZyb20gJy4vbGliL19tZXRyb25pYy9jb25maWdzL2RlZmF1bHQtbGF5b3V0LmNvbmZpZyc7XHJcblxyXG5cclxuLy8gVXRpbHNcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2VzL3NoYXJlZC9FbnVtcy9FbnVtcyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdlcy9zaGFyZWQvbW9kZWxzL3VzZXIucmVnaXN0cmF0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvUGFnZXMvX2xheW91dC9jb21wb25lbnRzL3N1YmhlYWRlci9zdWJoZWFkZXIubW9kdWxlJztcclxuXHJcbiJdfQ==