@adlfe/campaign-management-library 2.14.3 → 2.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/bundles/adlfe-campaign-management-library.umd.js +318 -102
  2. package/bundles/adlfe-campaign-management-library.umd.js.map +1 -1
  3. package/bundles/adlfe-campaign-management-library.umd.min.js +2 -2
  4. package/bundles/adlfe-campaign-management-library.umd.min.js.map +1 -1
  5. package/esm2015/lib/campaign-management/models/general-information-wa-req.model.js +24 -13
  6. package/esm2015/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.js +43 -26
  7. package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +185 -24
  8. package/esm2015/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +3 -3
  9. package/esm2015/lib/campaign-management/modules/new-campaign/new-campaign.component.js +44 -27
  10. package/esm2015/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.js +21 -15
  11. package/esm5/lib/campaign-management/models/general-information-wa-req.model.js +24 -13
  12. package/esm5/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.js +43 -26
  13. package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +189 -24
  14. package/esm5/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +3 -3
  15. package/esm5/lib/campaign-management/modules/new-campaign/new-campaign.component.js +44 -27
  16. package/esm5/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.js +21 -15
  17. package/fesm2015/adlfe-campaign-management-library.js +314 -102
  18. package/fesm2015/adlfe-campaign-management-library.js.map +1 -1
  19. package/fesm5/adlfe-campaign-management-library.js +318 -102
  20. package/fesm5/adlfe-campaign-management-library.js.map +1 -1
  21. package/lib/campaign-management/models/general-information-wa-req.model.d.ts +1 -0
  22. package/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.d.ts +5 -0
  23. package/package.json +1 -1
@@ -54,24 +54,35 @@ export class GeneralInformationWAReqModel {
54
54
  }
55
55
  return result;
56
56
  }, []), (_g !== null && _g !== void 0 ? _g : []));
57
- this.template = {
58
- id: source.template.ID,
59
- name: source.template.name,
60
- lang: source.template.lang,
61
- headerUrl: source.targetURL,
62
- header: (_j = (_h = source.paramHeader) === null || _h === void 0 ? void 0 : _h.map((t) => t.name), (_j !== null && _j !== void 0 ? _j : [])),
63
- data: ((_k = source.variables) === null || _k === void 0 ? void 0 : _k.length) ? source.variables.map((v) => v.paramName)
64
- : (_m = (_l = source.paramBody) === null || _l === void 0 ? void 0 : _l.map((t) => t.name), (_m !== null && _m !== void 0 ? _m : [])),
65
- button: finalButtons,
66
- buttonParams: source.buttonParams
57
+ // CAROUSEL
58
+ let carouselPayload = undefined;
59
+ if (source.paramCarousel && source.paramCarousel.length > 0) {
60
+ carouselPayload = source.paramCarousel.map((card) => {
61
+ // Map Body Card
62
+ const mappedBody = (card.bodyParams || []).map((b) => b.paramName);
63
+ // Map Button Card -> Array of Arrays: [ ["sku-a"], ["info-a"] ]
64
+ const mappedButtons = (card.buttonParams || []).map((btnGroup) => {
65
+ return (btnGroup || []).map((btn) => btn.paramName);
66
+ });
67
+ return {
68
+ headerURL: card.headerURL || '',
69
+ body: mappedBody,
70
+ button: mappedButtons,
71
+ };
72
+ });
73
+ }
74
+ this.template = Object.assign({ id: source.template.ID, name: source.template.name, lang: source.template.lang, headerUrl: source.targetURL, header: (_j = (_h = source.paramHeader) === null || _h === void 0 ? void 0 : _h.map((t) => t.name), (_j !== null && _j !== void 0 ? _j : [])), data: source.isUseExistingTemplate && ((_k = source.variables) === null || _k === void 0 ? void 0 : _k.length)
75
+ ? source.variables.map((v) => v.paramName)
76
+ : (_m = (_l = source.paramBody) === null || _l === void 0 ? void 0 : _l.map((t) => t.name), (_m !== null && _m !== void 0 ? _m : [])), button: finalButtons, buttonParams: source.buttonParams
67
77
  ? source.buttonParams.map((btn) => {
68
78
  return {
69
79
  label: btn.label,
70
80
  payload: btn.payload ? btn.payload : btn.label,
71
81
  };
72
82
  })
73
- : [],
74
- };
83
+ : [] }, (carouselPayload && carouselPayload.length > 0
84
+ ? { carousel: carouselPayload }
85
+ : {}));
75
86
  if (source.template.category === 'AUTHENTICATION')
76
87
  this.template = {
77
88
  name: source.template.name,
@@ -114,4 +125,4 @@ export class GeneralInformationWAReqModel {
114
125
  return this;
115
126
  }
116
127
  }
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC1pbmZvcm1hdGlvbi13YS1yZXEubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kZWxzL2dlbmVyYWwtaW5mb3JtYXRpb24td2EtcmVxLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyw0QkFBNEI7SUErQzlCLEtBQUssQ0FBQyxNQUFXOztRQUNwQixJQUNJLE9BQUEsTUFBTSwwQ0FBRSxLQUFLLE1BQUssT0FBTztZQUN6QixPQUFBLE1BQU0sMENBQUUsS0FBSyxNQUFLLE9BQU87WUFDekIsT0FBQSxNQUFNLDBDQUFFLEtBQUssTUFBSyxVQUFVLEVBQzlCO1lBQ0UsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztTQUNuQztRQUNELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxPQUFPLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1NBQ3RDO1FBQ0QsVUFBSSxNQUFNLENBQUMsSUFBSSwwQ0FBRSxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNuQztRQUNELElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsSUFBSSxTQUFHLE1BQU0sQ0FBQyxPQUFPLDBDQUFFLFdBQVcsRUFBRSxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1NBQzNCO1FBQ0QsSUFB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QyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFVCxVQUFJLE1BQU0sMENBQUUscUJBQXFCLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxRQUFRLG1DQUNOLE1BQU0sQ0FBQyxRQUFRLEtBQ2xCLElBQUksRUFBRSxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLEdBQ2xGLENBQUM7YUFDTDtpQkFBTTtnQkFDSCxJQUFJLENBQUMsUUFBUSxHQUFHO29CQUNaLElBQUksRUFBRSxFQUFFO29CQUNSLElBQUksRUFBRSxJQUFJO29CQUNWLE1BQU0sRUFBRSxJQUFJO29CQUNaLE1BQU0sRUFBRSxJQUFJO29CQUNaLElBQUksRUFBRSxlQUFlO29CQUNyQixZQUFZLEVBQUUsRUFBRTtpQkFDbkIsQ0FBQzthQUNMO1lBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUU3QixVQUFJLE1BQU0sMENBQUUscUJBQXFCLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBQSxNQUFNLDBDQUFFLElBQUksd0JBQUksTUFBTSwwQ0FBRSxRQUFRLDBDQUFFLElBQUksMENBQUUsSUFBSSxDQUFBLENBQUM7YUFDNUQ7U0FDSjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEdlbmVyYWxJbmZvcm1hdGlvbldBUmVxTW9kZWwge1xyXG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcclxuICAgIHB1YmxpYyBhY2NvdW50SWQ6IHN0cmluZztcclxuICAgIHB1YmxpYyB0eXBlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgdGV4dDogc3RyaW5nO1xyXG4gICAgcHVibGljIHN1YmplY3Q6IHN0cmluZztcclxuICAgIHB1YmxpYyBpbWFnZToge1xyXG4gICAgICAgIHVybDogc3RyaW5nO1xyXG4gICAgfTtcclxuICAgIHB1YmxpYyB2aWRlbzoge1xyXG4gICAgICAgIHVybDogc3RyaW5nO1xyXG4gICAgfTtcclxuICAgIHB1YmxpYyBkb2N1bWVudDoge1xyXG4gICAgICAgIHVybDogc3RyaW5nO1xyXG4gICAgICAgIGZpbGVOYW1lOiBzdHJpbmc7XHJcbiAgICB9O1xyXG4gICAgcHVibGljIHRlbXBsYXRlOiB7XHJcbiAgICAgICAgaWQ/OiBzdHJpbmc7XHJcbiAgICAgICAgbmFtZTogc3RyaW5nO1xyXG4gICAgICAgIGxhbmc6IHN0cmluZztcclxuICAgICAgICBoZWFkZXJVcmw/OiBzdHJpbmc7XHJcbiAgICAgICAgaGVhZGVyOiBhbnk7XHJcbiAgICAgICAgZGF0YTogYW55W107XHJcbiAgICAgICAgYnV0dG9uOiBhbnk7XHJcbiAgICAgICAgYnV0dG9uUGFyYW1zOiBhbnlbXTtcclxuICAgIH07XHJcbiAgICBwdWJsaWMgbGlzdDoge1xyXG4gICAgICAgIGJ1dHRvbjogc3RyaW5nO1xyXG4gICAgICAgIHNlY3Rpb25zOiB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIGl0ZW1zOiB7XHJcbiAgICAgICAgICAgICAgICBpZDogc3RyaW5nO1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IHN0cmluZztcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIH1bXTtcclxuICAgICAgICB9W107XHJcbiAgICB9O1xyXG4gICAgcHVibGljIGJ1dHRvbnM6IHtcclxuICAgICAgICB0eXBlOiBzdHJpbmc7XHJcbiAgICAgICAgaWQ6IHN0cmluZztcclxuICAgICAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgfVtdO1xyXG5cclxuICAgIHB1YmxpYyBjYXRlZ29yeTogc3RyaW5nO1xyXG4gICAgcHVibGljIGlzTmVlZFNhdmU6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgdHRsU2Vjb25kczogbnVtYmVyO1xyXG5cclxuICAgIHB1YmxpYyBjbG9uZShzb3VyY2U6IGFueSk6IEdlbmVyYWxJbmZvcm1hdGlvbldBUmVxTW9kZWwge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgc291cmNlPy5tZWRpYSA9PT0gJ0lNQUdFJyB8fFxyXG4gICAgICAgICAgICBzb3VyY2U/Lm1lZGlhID09PSAnVklERU8nIHx8XHJcbiAgICAgICAgICAgIHNvdXJjZT8ubWVkaWEgPT09ICdET0NVTUVOVCdcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgc291cmNlLmNoYW5uZWwgPSBzb3VyY2UubWVkaWE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoc291cmNlLmNhbXBhaWduTmFtZSkge1xyXG4gICAgICAgICAgICB0aGlzLm5hbWUgPSBzb3VyY2UuY2FtcGFpZ25OYW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc291cmNlLm1lZGl1bSA9PT0gJ0VNQUlMJykge1xyXG4gICAgICAgICAgICB0aGlzLnN1YmplY3QgPSBzb3VyY2UuY2FtcGFpZ25OYW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc291cmNlLmZyb20/LmlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWNjb3VudElkID0gc291cmNlLmZyb20uaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzb3VyY2UuY2hhbm5lbCkge1xyXG4gICAgICAgICAgICB0aGlzLnR5cGUgPSBzb3VyY2UuY2hhbm5lbD8udG9Mb3dlckNhc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNvdXJjZS50ZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMudGV4dCA9IHNvdXJjZS50ZXh0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnaW1hZ2UnICYmIHNvdXJjZS5maWxlTmFtZSkge1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlID0ge1xyXG4gICAgICAgICAgICAgICAgdXJsOiBzb3VyY2UudGFyZ2V0VVJMLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy50eXBlID09PSAndmlkZW8nICYmIHNvdXJjZS5maWxlTmFtZSkge1xyXG4gICAgICAgICAgICB0aGlzLnZpZGVvID0ge1xyXG4gICAgICAgICAgICAgICAgdXJsOiBzb3VyY2UudGFyZ2V0VVJMLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnZG9jdW1lbnQnICYmIHNvdXJjZS5maWxlTmFtZSkge1xyXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50ID0ge1xyXG4gICAgICAgICAgICAgICAgdXJsOiBzb3VyY2UudGFyZ2V0VVJMLFxyXG4gICAgICAgICAgICAgICAgZmlsZU5hbWU6IHNvdXJjZS5maWxlTmFtZSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChzb3VyY2UudGVtcGxhdGUpIHtcclxuICAgICAgICAgICAgbGV0IHFySW5kZXggPSAwO1xyXG4gICAgICAgICAgICBjb25zdCBmaW5hbEJ1dHRvbnMgPVxyXG4gICAgICAgICAgICAgICAgc291cmNlLnBhcmFtQnV0dG9uPy5yZWR1Y2UoKHJlc3VsdDogYW55W10sIGVhY2g6IGFueSwgaWR4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBidG5EZWYgPSBzb3VyY2UudGVtcGxhdGU/LmJ1dHRvbnM/LltpZHhdO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoYnRuRGVmPy50eXBlID09PSAnUVVJQ0tfUkVQTFknKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHFyUGFyYW0gPVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLmJ1dHRvblBhcmFtcyAmJiBzb3VyY2UuYnV0dG9uUGFyYW1zW3FySW5kZXhdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBzb3VyY2UuYnV0dG9uUGFyYW1zW3FySW5kZXhdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBxckluZGV4Kys7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcXJQYXJhbSA/IFtxclBhcmFtLnBheWxvYWQgPyBxclBhcmFtLnBheWxvYWQgOiBxclBhcmFtLmxhYmVsXSA6IFtdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goZWFjaC5uYW1lPy5tYXAoKHQ6IGFueSkgPT4gdC5uYW1lKSA/PyBbXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgfSwgW10pID8/IFtdO1xyXG5cclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZSA9IHtcclxuICAgICAgICAgICAgICAgIGlkOiBzb3VyY2UudGVtcGxhdGUuSUQsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBzb3VyY2UudGVtcGxhdGUubmFtZSxcclxuICAgICAgICAgICAgICAgIGxhbmc6IHNvdXJjZS50ZW1wbGF0ZS5sYW5nLFxyXG4gICAgICAgICAgICAgICAgaGVhZGVyVXJsOiBzb3VyY2UudGFyZ2V0VVJMLFxyXG4gICAgICAgICAgICAgICAgaGVhZGVyOiBzb3VyY2UucGFyYW1IZWFkZXI/Lm1hcCgodDogYW55KSA9PiB0Lm5hbWUpID8/IFtdLFxyXG4gICAgICAgICAgICAgICAgZGF0YTogc291cmNlLnZhcmlhYmxlcz8ubGVuZ3RoXHJcbiAgICAgICAgICAgICAgICAgICAgPyBzb3VyY2UudmFyaWFibGVzLm1hcCgodjogYW55KSA9PiB2LnBhcmFtTmFtZSlcclxuICAgICAgICAgICAgICAgICAgICA6IChzb3VyY2UucGFyYW1Cb2R5Py5tYXAoKHQ6IGFueSkgPT4gdC5uYW1lKSA/PyBbXSksXHJcblxyXG4gICAgICAgICAgICAgICAgYnV0dG9uOiBmaW5hbEJ1dHRvbnMsXHJcbiAgICAgICAgICAgICAgICBidXR0b25QYXJhbXM6IHNvdXJjZS5idXR0b25QYXJhbXNcclxuICAgICAgICAgICAgICAgICAgICA/IHNvdXJjZS5idXR0b25QYXJhbXMubWFwKChidG46IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBidG4ubGFiZWwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBheWxvYWQ6IGJ0bi5wYXlsb2FkID8gYnRuLnBheWxvYWQgOiBidG4ubGFiZWwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgOiBbXSxcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIGlmIChzb3VyY2UudGVtcGxhdGUuY2F0ZWdvcnkgPT09ICdBVVRIRU5USUNBVElPTicpXHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHNvdXJjZS50ZW1wbGF0ZS5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhbmc6IHNvdXJjZS50ZW1wbGF0ZS5sYW5nLFxyXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBbc291cmNlLm90cFZhbHVlXSxcclxuICAgICAgICAgICAgICAgICAgICBidXR0b246IFtbc291cmNlLm90cFZhbHVlXV0sXHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uUGFyYW1zOiBbXSxcclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBpZiAoc291cmNlLnRlbXBsYXRlLklEKSB0aGlzLnRlbXBsYXRlLmlkID0gc291cmNlLnRlbXBsYXRlLklEO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3V0aWxpdHknKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHlwZSA9ICd0ZW1wbGF0ZSc7XHJcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnkgPSAndXRpbGl0eSc7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBtYXBwZWRWYXJpYWJsZXMgPSBzb3VyY2U/LnZhcmlhYmxlcz8ubGVuZ3RoXHJcbiAgICAgICAgICAgICAgICA/IHNvdXJjZS52YXJpYWJsZXMubWFwKCh2OiBhbnkpID0+IHYucGFyYW1OYW1lKVxyXG4gICAgICAgICAgICAgICAgOiBbXTtcclxuXHJcbiAgICAgICAgICAgIGlmIChzb3VyY2U/LmlzVXNlRXhpc3RpbmdUZW1wbGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZSA9IHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5zb3VyY2UudGVtcGxhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogbWFwcGVkVmFyaWFibGVzLmxlbmd0aCA+IDAgPyBtYXBwZWRWYXJpYWJsZXMgOiBzb3VyY2UudGVtcGxhdGUuZGF0YSB8fCBbXSxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhbmc6ICdpZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBtYXBwZWRWYXJpYWJsZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uUGFyYW1zOiBbXSxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuaXNOZWVkU2F2ZSA9IHNvdXJjZS5pc05lZWRTYXZlO1xyXG4gICAgICAgICAgICB0aGlzLnR0bFNlY29uZHMgPSBzb3VyY2UudHRsO1xyXG5cclxuICAgICAgICAgICAgaWYgKHNvdXJjZT8uaXNVc2VFeGlzdGluZ1RlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSBzb3VyY2U/LnRleHQgfHwgc291cmNlPy50ZW1wbGF0ZT8uYm9keT8udGV4dDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbnZlcnQoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxufVxyXG4iXX0=
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC1pbmZvcm1hdGlvbi13YS1yZXEubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kZWxzL2dlbmVyYWwtaW5mb3JtYXRpb24td2EtcmVxLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyw0QkFBNEI7SUFnRDlCLEtBQUssQ0FBQyxNQUFXOztRQUNwQixJQUNJLE9BQUEsTUFBTSwwQ0FBRSxLQUFLLE1BQUssT0FBTztZQUN6QixPQUFBLE1BQU0sMENBQUUsS0FBSyxNQUFLLE9BQU87WUFDekIsT0FBQSxNQUFNLDBDQUFFLEtBQUssTUFBSyxVQUFVLEVBQzlCO1lBQ0UsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztTQUNuQztRQUNELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxPQUFPLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1NBQ3RDO1FBQ0QsVUFBSSxNQUFNLENBQUMsSUFBSSwwQ0FBRSxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNuQztRQUNELElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsSUFBSSxTQUFHLE1BQU0sQ0FBQyxPQUFPLDBDQUFFLFdBQVcsRUFBRSxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1NBQzNCO1FBQ0QsSUFB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Z0JBQy9CLElBQUksQ0FBQyxRQUFRLG1DQUNOLE1BQU0sQ0FBQyxRQUFRLEtBQ2xCLElBQUksRUFBRSxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLEdBQ2xGLENBQUM7YUFDTDtpQkFBTTtnQkFDSCxJQUFJLENBQUMsUUFBUSxHQUFHO29CQUNaLElBQUksRUFBRSxFQUFFO29CQUNSLElBQUksRUFBRSxJQUFJO29CQUNWLE1BQU0sRUFBRSxJQUFJO29CQUNaLE1BQU0sRUFBRSxJQUFJO29CQUNaLElBQUksRUFBRSxlQUFlO29CQUNyQixZQUFZLEVBQUUsRUFBRTtpQkFDbkIsQ0FBQzthQUNMO1lBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUU3QixVQUFJLE1BQU0sMENBQUUscUJBQXFCLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBQSxNQUFNLDBDQUFFLElBQUksd0JBQUksTUFBTSwwQ0FBRSxRQUFRLDBDQUFFLElBQUksMENBQUUsSUFBSSxDQUFBLENBQUM7YUFDNUQ7U0FDSjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEdlbmVyYWxJbmZvcm1hdGlvbldBUmVxTW9kZWwge1xyXG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcclxuICAgIHB1YmxpYyBhY2NvdW50SWQ6IHN0cmluZztcclxuICAgIHB1YmxpYyB0eXBlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgdGV4dDogc3RyaW5nO1xyXG4gICAgcHVibGljIHN1YmplY3Q6IHN0cmluZztcclxuICAgIHB1YmxpYyBpbWFnZToge1xyXG4gICAgICAgIHVybDogc3RyaW5nO1xyXG4gICAgfTtcclxuICAgIHB1YmxpYyB2aWRlbzoge1xyXG4gICAgICAgIHVybDogc3RyaW5nO1xyXG4gICAgfTtcclxuICAgIHB1YmxpYyBkb2N1bWVudDoge1xyXG4gICAgICAgIHVybDogc3RyaW5nO1xyXG4gICAgICAgIGZpbGVOYW1lOiBzdHJpbmc7XHJcbiAgICB9O1xyXG4gICAgcHVibGljIHRlbXBsYXRlOiB7XHJcbiAgICAgICAgaWQ/OiBzdHJpbmc7XHJcbiAgICAgICAgbmFtZTogc3RyaW5nO1xyXG4gICAgICAgIGxhbmc6IHN0cmluZztcclxuICAgICAgICBoZWFkZXJVcmw/OiBzdHJpbmc7XHJcbiAgICAgICAgaGVhZGVyOiBhbnk7XHJcbiAgICAgICAgZGF0YTogYW55W107XHJcbiAgICAgICAgYnV0dG9uOiBhbnk7XHJcbiAgICAgICAgYnV0dG9uUGFyYW1zOiBhbnlbXTtcclxuICAgICAgICBjYXJvdXNlbD86IGFueVtdO1xyXG4gICAgfTtcclxuICAgIHB1YmxpYyBsaXN0OiB7XHJcbiAgICAgICAgYnV0dG9uOiBzdHJpbmc7XHJcbiAgICAgICAgc2VjdGlvbnM6IHtcclxuICAgICAgICAgICAgdGl0bGU6IHN0cmluZztcclxuICAgICAgICAgICAgaXRlbXM6IHtcclxuICAgICAgICAgICAgICAgIGlkOiBzdHJpbmc7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgICAgICAgICAgfVtdO1xyXG4gICAgICAgIH1bXTtcclxuICAgIH07XHJcbiAgICBwdWJsaWMgYnV0dG9uczoge1xyXG4gICAgICAgIHR5cGU6IHN0cmluZztcclxuICAgICAgICBpZDogc3RyaW5nO1xyXG4gICAgICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICB9W107XHJcblxyXG4gICAgcHVibGljIGNhdGVnb3J5OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgaXNOZWVkU2F2ZTogYm9vbGVhbjtcclxuICAgIHB1YmxpYyB0dGxTZWNvbmRzOiBudW1iZXI7XHJcblxyXG4gICAgcHVibGljIGNsb25lKHNvdXJjZTogYW55KTogR2VuZXJhbEluZm9ybWF0aW9uV0FSZXFNb2RlbCB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBzb3VyY2U/Lm1lZGlhID09PSAnSU1BR0UnIHx8XHJcbiAgICAgICAgICAgIHNvdXJjZT8ubWVkaWEgPT09ICdWSURFTycgfHxcclxuICAgICAgICAgICAgc291cmNlPy5tZWRpYSA9PT0gJ0RPQ1VNRU5UJ1xyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBzb3VyY2UuY2hhbm5lbCA9IHNvdXJjZS5tZWRpYTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChzb3VyY2UuY2FtcGFpZ25OYW1lKSB7XHJcbiAgICAgICAgICAgIHRoaXMubmFtZSA9IHNvdXJjZS5jYW1wYWlnbk5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzb3VyY2UubWVkaXVtID09PSAnRU1BSUwnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3ViamVjdCA9IHNvdXJjZS5jYW1wYWlnbk5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzb3VyY2UuZnJvbT8uaWQpIHtcclxuICAgICAgICAgICAgdGhpcy5hY2NvdW50SWQgPSBzb3VyY2UuZnJvbS5pZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNvdXJjZS5jaGFubmVsKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IHNvdXJjZS5jaGFubmVsPy50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc291cmNlLnRleHQpIHtcclxuICAgICAgICAgICAgdGhpcy50ZXh0ID0gc291cmNlLnRleHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdpbWFnZScgJiYgc291cmNlLmZpbGVOYW1lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW1hZ2UgPSB7XHJcbiAgICAgICAgICAgICAgICB1cmw6IHNvdXJjZS50YXJnZXRVUkwsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICd2aWRlbycgJiYgc291cmNlLmZpbGVOYW1lKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmlkZW8gPSB7XHJcbiAgICAgICAgICAgICAgICB1cmw6IHNvdXJjZS50YXJnZXRVUkwsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdkb2N1bWVudCcgJiYgc291cmNlLmZpbGVOYW1lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQgPSB7XHJcbiAgICAgICAgICAgICAgICB1cmw6IHNvdXJjZS50YXJnZXRVUkwsXHJcbiAgICAgICAgICAgICAgICBmaWxlTmFtZTogc291cmNlLmZpbGVOYW1lLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHNvdXJjZS50ZW1wbGF0ZSkge1xyXG4gICAgICAgICAgICBsZXQgcXJJbmRleCA9IDA7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbmFsQnV0dG9ucyA9XHJcbiAgICAgICAgICAgICAgICBzb3VyY2UucGFyYW1CdXR0b24/LnJlZHVjZSgocmVzdWx0OiBhbnlbXSwgZWFjaDogYW55LCBpZHg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJ0bkRlZiA9IHNvdXJjZS50ZW1wbGF0ZT8uYnV0dG9ucz8uW2lkeF07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChidG5EZWY/LnR5cGUgPT09ICdRVUlDS19SRVBMWScpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcXJQYXJhbSA9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UuYnV0dG9uUGFyYW1zICYmIHNvdXJjZS5idXR0b25QYXJhbXNbcXJJbmRleF1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHNvdXJjZS5idXR0b25QYXJhbXNbcXJJbmRleF1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHFySW5kZXgrKztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBxclBhcmFtID8gW3FyUGFyYW0ucGF5bG9hZCA/IHFyUGFyYW0ucGF5bG9hZCA6IHFyUGFyYW0ubGFiZWxdIDogW11cclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChlYWNoLm5hbWU/Lm1hcCgodDogYW55KSA9PiB0Lm5hbWUpID8/IFtdKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICB9LCBbXSkgPz8gW107XHJcblxyXG4gICAgICAgICAgICAvLyBDQVJPVVNFTFxyXG4gICAgICAgICAgICBsZXQgY2Fyb3VzZWxQYXlsb2FkID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBpZiAoc291cmNlLnBhcmFtQ2Fyb3VzZWwgJiYgc291cmNlLnBhcmFtQ2Fyb3VzZWwubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY2Fyb3VzZWxQYXlsb2FkID0gc291cmNlLnBhcmFtQ2Fyb3VzZWwubWFwKChjYXJkOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBNYXAgQm9keSBDYXJkXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwcGVkQm9keSA9IChjYXJkLmJvZHlQYXJhbXMgfHwgW10pLm1hcCgoYjogYW55KSA9PiBiLnBhcmFtTmFtZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIE1hcCBCdXR0b24gQ2FyZCAtPiBBcnJheSBvZiBBcnJheXM6IFsgW1wic2t1LWFcIl0sIFtcImluZm8tYVwiXSBdXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwcGVkQnV0dG9ucyA9IChjYXJkLmJ1dHRvblBhcmFtcyB8fCBbXSkubWFwKChidG5Hcm91cDogYW55W10pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChidG5Hcm91cCB8fCBbXSkubWFwKChidG46IGFueSkgPT4gYnRuLnBhcmFtTmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlclVSTDogY2FyZC5oZWFkZXJVUkwgfHwgJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IG1hcHBlZEJvZHksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbjogbWFwcGVkQnV0dG9ucyxcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGUgPSB7XHJcbiAgICAgICAgICAgICAgICBpZDogc291cmNlLnRlbXBsYXRlLklELFxyXG4gICAgICAgICAgICAgICAgbmFtZTogc291cmNlLnRlbXBsYXRlLm5hbWUsXHJcbiAgICAgICAgICAgICAgICBsYW5nOiBzb3VyY2UudGVtcGxhdGUubGFuZyxcclxuICAgICAgICAgICAgICAgIGhlYWRlclVybDogc291cmNlLnRhcmdldFVSTCxcclxuICAgICAgICAgICAgICAgIGhlYWRlcjogc291cmNlLnBhcmFtSGVhZGVyPy5tYXAoKHQ6IGFueSkgPT4gdC5uYW1lKSA/PyBbXSxcclxuICAgICAgICAgICAgICAgIGRhdGE6XHJcbiAgICAgICAgICAgICAgICAgICAgc291cmNlLmlzVXNlRXhpc3RpbmdUZW1wbGF0ZSAmJiBzb3VyY2UudmFyaWFibGVzPy5sZW5ndGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBzb3VyY2UudmFyaWFibGVzLm1hcCgodjogYW55KSA9PiB2LnBhcmFtTmFtZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiAoc291cmNlLnBhcmFtQm9keT8ubWFwKCh0OiBhbnkpID0+IHQubmFtZSkgPz8gW10pLFxyXG5cclxuICAgICAgICAgICAgICAgIGJ1dHRvbjogZmluYWxCdXR0b25zLFxyXG4gICAgICAgICAgICAgICAgYnV0dG9uUGFyYW1zOiBzb3VyY2UuYnV0dG9uUGFyYW1zXHJcbiAgICAgICAgICAgICAgICAgICAgPyBzb3VyY2UuYnV0dG9uUGFyYW1zLm1hcCgoYnRuOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogYnRuLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXlsb2FkOiBidG4ucGF5bG9hZCA/IGJ0bi5wYXlsb2FkIDogYnRuLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIDogW10sXHJcbiAgICAgICAgICAgICAgICAuLi4oY2Fyb3VzZWxQYXlsb2FkICYmIGNhcm91c2VsUGF5bG9hZC5sZW5ndGggPiAwXHJcbiAgICAgICAgICAgICAgICAgICAgPyB7IGNhcm91c2VsOiBjYXJvdXNlbFBheWxvYWQgfVxyXG4gICAgICAgICAgICAgICAgICAgIDoge30pLFxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgaWYgKHNvdXJjZS50ZW1wbGF0ZS5jYXRlZ29yeSA9PT0gJ0FVVEhFTlRJQ0FUSU9OJylcclxuICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGUgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogc291cmNlLnRlbXBsYXRlLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFuZzogc291cmNlLnRlbXBsYXRlLmxhbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IFtzb3VyY2Uub3RwVmFsdWVdLFxyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbjogW1tzb3VyY2Uub3RwVmFsdWVdXSxcclxuICAgICAgICAgICAgICAgICAgICBidXR0b25QYXJhbXM6IFtdLFxyXG4gICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIGlmIChzb3VyY2UudGVtcGxhdGUuSUQpIHRoaXMudGVtcGxhdGUuaWQgPSBzb3VyY2UudGVtcGxhdGUuSUQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy50eXBlID09PSAndXRpbGl0eScpIHtcclxuICAgICAgICAgICAgdGhpcy50eXBlID0gJ3RlbXBsYXRlJztcclxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeSA9ICd1dGlsaXR5JztcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IG1hcHBlZFZhcmlhYmxlcyA9IHNvdXJjZT8udmFyaWFibGVzPy5sZW5ndGhcclxuICAgICAgICAgICAgICAgID8gc291cmNlLnZhcmlhYmxlcy5tYXAoKHY6IGFueSkgPT4gdi5wYXJhbU5hbWUpXHJcbiAgICAgICAgICAgICAgICA6IFtdO1xyXG5cclxuICAgICAgICAgICAgaWYgKHNvdXJjZT8uaXNVc2VFeGlzdGluZ1RlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLnNvdXJjZS50ZW1wbGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBtYXBwZWRWYXJpYWJsZXMubGVuZ3RoID4gMCA/IG1hcHBlZFZhcmlhYmxlcyA6IHNvdXJjZS50ZW1wbGF0ZS5kYXRhIHx8IFtdLFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGUgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJycsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFuZzogJ2lkJyxcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IG1hcHBlZFZhcmlhYmxlcyxcclxuICAgICAgICAgICAgICAgICAgICBidXR0b25QYXJhbXM6IFtdLFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5pc05lZWRTYXZlID0gc291cmNlLmlzTmVlZFNhdmU7XHJcbiAgICAgICAgICAgIHRoaXMudHRsU2Vjb25kcyA9IHNvdXJjZS50dGw7XHJcblxyXG4gICAgICAgICAgICBpZiAoc291cmNlPy5pc1VzZUV4aXN0aW5nVGVtcGxhdGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudGV4dCA9IHNvdXJjZT8udGV4dCB8fCBzb3VyY2U/LnRlbXBsYXRlPy5ib2R5Py50ZXh0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY29udmVydCgpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -35,7 +35,7 @@ let PendingApprovalDialogViewComponent = class PendingApprovalDialogViewComponen
35
35
  const subs = this.apiAdapterService
36
36
  .executeApiRequest([], `/campaign/${(_d = (_c = this.getCampaignStorage) === null || _c === void 0 ? void 0 : _c.generalInformation) === null || _d === void 0 ? void 0 : _d.id}`, 'GET')
37
37
  .subscribe((resp) => {
38
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67;
38
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75;
39
39
  if (!resp)
40
40
  return;
41
41
  const generalInformation = {
@@ -63,45 +63,62 @@ let PendingApprovalDialogViewComponent = class PendingApprovalDialogViewComponen
63
63
  paramHeader: (_17 = (_16 = (_15 = resp.data) === null || _15 === void 0 ? void 0 : _15.details) === null || _16 === void 0 ? void 0 : _16.template) === null || _17 === void 0 ? void 0 : _17.header,
64
64
  paramBody: (_20 = (_19 = (_18 = resp.data) === null || _18 === void 0 ? void 0 : _18.details) === null || _19 === void 0 ? void 0 : _19.template) === null || _20 === void 0 ? void 0 : _20.data,
65
65
  paramButton: (_23 = (_22 = (_21 = resp.data) === null || _21 === void 0 ? void 0 : _21.details) === null || _22 === void 0 ? void 0 : _22.template) === null || _23 === void 0 ? void 0 : _23.button,
66
- otpValue: (_28 = [...(_27 = (_26 = (_25 = (_24 = resp.data) === null || _24 === void 0 ? void 0 : _24.details) === null || _25 === void 0 ? void 0 : _25.template) === null || _26 === void 0 ? void 0 : _26.data, (_27 !== null && _27 !== void 0 ? _27 : []))]) === null || _28 === void 0 ? void 0 : _28.pop(),
66
+ paramCarousel: ((_27 = (_26 = (_25 = (_24 = resp.data) === null || _24 === void 0 ? void 0 : _24.details) === null || _25 === void 0 ? void 0 : _25.template) === null || _26 === void 0 ? void 0 : _26.carousel) === null || _27 === void 0 ? void 0 : _27.map((card) => {
67
+ return {
68
+ headerURL: card.headerURL || '',
69
+ bodyParams: (card.body || []).map((val) => ({
70
+ paramName: val,
71
+ })),
72
+ buttonParams: (card.button || []).map((btnGroup) => {
73
+ return (btnGroup || []).map((val) => ({
74
+ paramName: val,
75
+ }));
76
+ }),
77
+ };
78
+ })) || [],
79
+ otpValue: (_32 = [...(_31 = (_30 = (_29 = (_28 = resp.data) === null || _28 === void 0 ? void 0 : _28.details) === null || _29 === void 0 ? void 0 : _29.template) === null || _30 === void 0 ? void 0 : _30.data, (_31 !== null && _31 !== void 0 ? _31 : []))]) === null || _32 === void 0 ? void 0 : _32.pop(),
80
+ variables: (((_35 = (_34 = (_33 = resp.data) === null || _33 === void 0 ? void 0 : _33.details) === null || _34 === void 0 ? void 0 : _34.template) === null || _35 === void 0 ? void 0 : _35.data) || []).map((val) => ({
81
+ paramName: val,
82
+ })),
83
+ isUseExistingTemplate: !!((_36 = resp.data) === null || _36 === void 0 ? void 0 : _36.templateName),
67
84
  template: {
68
- ID: (_31 = (_30 = (_29 = resp.data) === null || _29 === void 0 ? void 0 : _29.details) === null || _30 === void 0 ? void 0 : _30.template) === null || _31 === void 0 ? void 0 : _31.id,
69
- name: (_34 = (_33 = (_32 = resp.data) === null || _32 === void 0 ? void 0 : _32.details) === null || _33 === void 0 ? void 0 : _33.template) === null || _34 === void 0 ? void 0 : _34.name,
70
- lang: (_37 = (_36 = (_35 = resp.data) === null || _35 === void 0 ? void 0 : _35.details) === null || _36 === void 0 ? void 0 : _36.template) === null || _37 === void 0 ? void 0 : _37.lang,
71
- platform: (_38 = resp.data) === null || _38 === void 0 ? void 0 : _38.platform,
72
- headerURL: (_41 = (_40 = (_39 = resp.data) === null || _39 === void 0 ? void 0 : _39.details) === null || _40 === void 0 ? void 0 : _40.template) === null || _41 === void 0 ? void 0 : _41.headerURL,
85
+ ID: (_39 = (_38 = (_37 = resp.data) === null || _37 === void 0 ? void 0 : _37.details) === null || _38 === void 0 ? void 0 : _38.template) === null || _39 === void 0 ? void 0 : _39.id,
86
+ name: (_42 = (_41 = (_40 = resp.data) === null || _40 === void 0 ? void 0 : _40.details) === null || _41 === void 0 ? void 0 : _41.template) === null || _42 === void 0 ? void 0 : _42.name,
87
+ lang: (_45 = (_44 = (_43 = resp.data) === null || _43 === void 0 ? void 0 : _43.details) === null || _44 === void 0 ? void 0 : _44.template) === null || _45 === void 0 ? void 0 : _45.lang,
88
+ platform: (_46 = resp.data) === null || _46 === void 0 ? void 0 : _46.platform,
89
+ headerURL: (_49 = (_48 = (_47 = resp.data) === null || _47 === void 0 ? void 0 : _47.details) === null || _48 === void 0 ? void 0 : _48.template) === null || _49 === void 0 ? void 0 : _49.headerURL,
73
90
  header: {
74
- examples: (_44 = (_43 = (_42 = resp.data) === null || _42 === void 0 ? void 0 : _42.details) === null || _43 === void 0 ? void 0 : _43.template) === null || _44 === void 0 ? void 0 : _44.header,
91
+ examples: (_52 = (_51 = (_50 = resp.data) === null || _50 === void 0 ? void 0 : _50.details) === null || _51 === void 0 ? void 0 : _51.template) === null || _52 === void 0 ? void 0 : _52.header,
75
92
  },
76
93
  body: {
77
- examples: (_47 = (_46 = (_45 = resp.data) === null || _45 === void 0 ? void 0 : _45.details) === null || _46 === void 0 ? void 0 : _46.template) === null || _47 === void 0 ? void 0 : _47.data,
94
+ examples: (_55 = (_54 = (_53 = resp.data) === null || _53 === void 0 ? void 0 : _53.details) === null || _54 === void 0 ? void 0 : _54.template) === null || _55 === void 0 ? void 0 : _55.data,
78
95
  },
79
- buttons: (_50 = (_49 = (_48 = resp.data) === null || _48 === void 0 ? void 0 : _48.details) === null || _49 === void 0 ? void 0 : _49.template) === null || _50 === void 0 ? void 0 : _50.button,
80
- ClientId: (_51 = resp.data) === null || _51 === void 0 ? void 0 : _51.clientId,
81
- ClientName: (_52 = resp.data) === null || _52 === void 0 ? void 0 : _52.clientName,
96
+ buttons: (_58 = (_57 = (_56 = resp.data) === null || _56 === void 0 ? void 0 : _56.details) === null || _57 === void 0 ? void 0 : _57.template) === null || _58 === void 0 ? void 0 : _58.button,
97
+ ClientId: (_59 = resp.data) === null || _59 === void 0 ? void 0 : _59.clientId,
98
+ ClientName: (_60 = resp.data) === null || _60 === void 0 ? void 0 : _60.clientName,
82
99
  },
83
- isUpload: ((_53 = resp.data) === null || _53 === void 0 ? void 0 : _53.fileId) !== '',
84
- fileId: (_54 = resp.data) === null || _54 === void 0 ? void 0 : _54.fileId,
100
+ isUpload: ((_61 = resp.data) === null || _61 === void 0 ? void 0 : _61.fileId) !== '',
101
+ fileId: (_62 = resp.data) === null || _62 === void 0 ? void 0 : _62.fileId,
85
102
  };
86
103
  localStorage.setItem('telin.campaign', JSON.stringify(Object.assign(Object.assign({}, this.getCampaignStorage), {
87
104
  generalInformation: {
88
- id: (_55 = resp.data) === null || _55 === void 0 ? void 0 : _55.id,
105
+ id: (_63 = resp.data) === null || _63 === void 0 ? void 0 : _63.id,
89
106
  form: generalInformation,
90
107
  },
91
- failover: (_56 = resp.data) === null || _56 === void 0 ? void 0 : _56.failover,
92
- targetAudience: (_57 = resp.data) === null || _57 === void 0 ? void 0 : _57.targets,
108
+ failover: (_64 = resp.data) === null || _64 === void 0 ? void 0 : _64.failover,
109
+ targetAudience: (_65 = resp.data) === null || _65 === void 0 ? void 0 : _65.targets,
93
110
  targetAudienceFile: {
94
- name: (_58 = resp.data) === null || _58 === void 0 ? void 0 : _58.fileName,
95
- targetURL: (_59 = resp.data) === null || _59 === void 0 ? void 0 : _59.targetURL,
111
+ name: (_66 = resp.data) === null || _66 === void 0 ? void 0 : _66.fileName,
112
+ targetURL: (_67 = resp.data) === null || _67 === void 0 ? void 0 : _67.targetURL,
96
113
  },
97
114
  scheduler: {
98
- schedulerType: ((_60 = resp.data) === null || _60 === void 0 ? void 0 : _60.scheduleType) === 'MULTI'
115
+ schedulerType: ((_68 = resp.data) === null || _68 === void 0 ? void 0 : _68.scheduleType) === 'MULTI'
99
116
  ? 'ONE_TIME'
100
- : (_61 = resp.data) === null || _61 === void 0 ? void 0 : _61.scheduleType,
101
- startDate: (_63 = (_62 = resp.data) === null || _62 === void 0 ? void 0 : _62.startTime) === null || _63 === void 0 ? void 0 : _63.split(' ')[0],
102
- startTime: (_65 = (_64 = resp.data) === null || _64 === void 0 ? void 0 : _64.startTime) === null || _65 === void 0 ? void 0 : _65.split(' ')[1],
103
- isRepeat: ((_66 = resp.data) === null || _66 === void 0 ? void 0 : _66.scheduleType) === 'MULTI',
104
- delivery: (_67 = resp.data) === null || _67 === void 0 ? void 0 : _67.repeat,
117
+ : (_69 = resp.data) === null || _69 === void 0 ? void 0 : _69.scheduleType,
118
+ startDate: (_71 = (_70 = resp.data) === null || _70 === void 0 ? void 0 : _70.startTime) === null || _71 === void 0 ? void 0 : _71.split(' ')[0],
119
+ startTime: (_73 = (_72 = resp.data) === null || _72 === void 0 ? void 0 : _72.startTime) === null || _73 === void 0 ? void 0 : _73.split(' ')[1],
120
+ isRepeat: ((_74 = resp.data) === null || _74 === void 0 ? void 0 : _74.scheduleType) === 'MULTI',
121
+ delivery: (_75 = resp.data) === null || _75 === void 0 ? void 0 : _75.repeat,
105
122
  },
106
123
  })));
107
124
  this.isLoading = false;
@@ -167,4 +184,4 @@ PendingApprovalDialogViewComponent = __decorate([
167
184
  })
168
185
  ], PendingApprovalDialogViewComponent);
169
186
  export { PendingApprovalDialogViewComponent };
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1hcHByb3ZhbC1kaWFsb2ctdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9jYW1wYWlnbi1pbmRleC9kaWFsb2cvcGVuZGluZy1hcHByb3ZhbC1kaWFsb2ctdmlldy9wZW5kaW5nLWFwcHJvdmFsLWRpYWxvZy12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFPeEUsSUFBYSxrQ0FBa0MsR0FBL0MsTUFBYSxrQ0FBa0M7SUFPM0MsWUFDWSxTQUEyRCxFQUMzRCxpQkFBMkMsRUFDM0MsTUFBcUI7UUFGckIsY0FBUyxHQUFULFNBQVMsQ0FBa0Q7UUFDM0Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQUMzQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBVDFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU3QixnQkFBVyxHQUFtQixFQUFFLENBQUM7SUFNdEMsQ0FBQztJQUVKLFFBQVE7O1FBQ0osSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFaEMsSUFBSSxDQUFDLFlBQVkscUJBQUcsSUFBSSxDQUFDLGtCQUFrQiwwQ0FBRSxrQkFBa0IsMENBQUUsWUFBWSx1Q0FBSSxLQUFLLEVBQUEsQ0FBQztJQUMzRixDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIs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OztZQTdMMEIsWUFBWTtZQUNKLHdCQUF3QjtZQUNuQyxhQUFhOztBQVZ4QixrQ0FBa0M7SUFMOUMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGtDQUFrQztRQUM1Qyxta0RBQTREOztLQUUvRCxDQUFDO0dBQ1csa0NBQWtDLENBcU05QztTQXJNWSxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFwcFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29yZS9tb2RlbHMvdXRpbC9hcGktZHRvL3Jlc3BvbnNlLW1vZGVscyc7XHJcbmltcG9ydCB7IEFwaUFkYXB0ZXJTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvcmUvc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi1wZW5kaW5nLWFwcHJvdmFsLWRpYWxvZy12aWV3JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wZW5kaW5nLWFwcHJvdmFsLWRpYWxvZy12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3BlbmRpbmctYXBwcm92YWwtZGlhbG9nLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBlbmRpbmdBcHByb3ZhbERpYWxvZ1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBwdWJsaWMgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNTdWJtaXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc1Nob3dCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIHN1YnNjcmliZXJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UGVuZGluZ0FwcHJvdmFsRGlhbG9nVmlld0NvbXBvbmVudD4sXHJcbiAgICAgICAgcHJpdmF0ZSBhcGlBZGFwdGVyU2VydmljZTogQXBpQWRhcHRlclNlcnZpY2VTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgdG9hc3RyOiBUb2FzdHJTZXJ2aWNlXHJcbiAgICApIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5nZXRDYW1wYWlnbkRldGFpbFNlcnZpY2UoKTtcclxuXHJcbiAgICAgICAgdGhpcy5pc1Nob3dCdXR0b24gPSB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pc1Nob3dCdXR0b24gPz8gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGdldENhbXBhaWduU3RvcmFnZSgpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGVsaW4uY2FtcGFpZ24nKVxyXG4gICAgICAgICAgICA/IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RlbGluLmNhbXBhaWduJykpXHJcbiAgICAgICAgICAgIDoge307XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjb252ZXJ0VVRDRGF0ZVRvTG9jYWxEYXRlKGRhdGU6IERhdGUpIHtcclxuICAgICAgICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MCAqIDEwMDApO1xyXG4gICAgICAgIHJldHVybiBuZXdEYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0Q2FtcGFpZ25EZXRhaWxTZXJ2aWNlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uaWQpIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QoXHJcbiAgICAgICAgICAgICAgICBbXSxcclxuICAgICAgICAgICAgICAgIGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH1gLFxyXG4gICAgICAgICAgICAgICAgJ0dFVCdcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKHJlc3A6IEFwcFJlc3BvbnNlPGFueT4pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlc3ApIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2VuZXJhbEluZm9ybWF0aW9uID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYW1wYWlnbk5hbWU6IHJlc3AuZGF0YT8ubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWVkaXVtOiByZXNwLmRhdGE/LnBsYXRmb3JtLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsOiBbJ2ltYWdlJywgJ3ZpZGVvJywgJ2RvY3VtZW50J10uaW5jbHVkZXMocmVzcC5kYXRhPy50eXBlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnTUVESUEnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlc3AuZGF0YT8uaXNEaXJlY3RTZW5kXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ3V0aWxpdHknXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmVzcC5kYXRhPy50eXBlPy50b1VwcGVyQ2FzZSgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtZWRpYTogcmVzcC5kYXRhPy50eXBlPy50b1VwcGVyQ2FzZSgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ByZXZUZW1wbGF0ZTogcmVzcD8uZGF0YT8uaXNQcmV2VGVtcGxhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlTmFtZTogcmVzcD8uZGF0YT8udGVtcGxhdGVOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0dGw6IHJlc3A/LmRhdGE/LnR0bFNlY29uZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZyb206IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiByZXNwLmRhdGE/LmFjY291bnRJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHJlc3AuZGF0YT8uYWNjb3VudE5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybTogcmVzcC5kYXRhPy5wbGF0Zm9ybSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudElkOiByZXNwLmRhdGE/LmNsaWVudElkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50TmFtZTogcmVzcC5kYXRhPy5jbGllbnROYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudE5vOiByZXNwLmRhdGE/LmFjY291bnRObyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhYmFJZDogcmVzcC5kYXRhPy53YWJhSWQgPz8gJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHJlc3AuZGF0YT8uZGV0YWlscz8udGV4dCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0VVJMOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhPy5kZXRhaWxzPy5pbWFnZT8udXJsID8/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGE/LmRldGFpbHM/LmRvY3VtZW50Py51cmwgPz9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YT8uZGV0YWlscz8udmlkZW8/LnVybCA/P1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uaGVhZGVyVVJMLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbUhlYWRlcjogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uaGVhZGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbUJvZHk6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmRhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtQnV0dG9uOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5idXR0b24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG90cFZhbHVlOiBbLi4uKHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmRhdGEgPz8gW10pXT8ucG9wKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRDogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZzogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8ubGFuZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYXRmb3JtOiByZXNwLmRhdGE/LnBsYXRmb3JtLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyVVJMOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5oZWFkZXJVUkwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFtcGxlczogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uaGVhZGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFtcGxlczogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b25zOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5idXR0b24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbGllbnRJZDogcmVzcC5kYXRhPy5jbGllbnRJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaWVudE5hbWU6IHJlc3AuZGF0YT8uY2xpZW50TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNVcGxvYWQ6IHJlc3AuZGF0YT8uZmlsZUlkICE9PSAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZUlkOiByZXNwLmRhdGE/LmZpbGVJZCxcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3RlbGluLmNhbXBhaWduJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5nZXRDYW1wYWlnblN0b3JhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhbEluZm9ybWF0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiByZXNwLmRhdGE/LmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtOiBnZW5lcmFsSW5mb3JtYXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsb3ZlcjogcmVzcC5kYXRhPy5mYWlsb3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRBdWRpZW5jZTogcmVzcC5kYXRhPy50YXJnZXRzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldEF1ZGllbmNlRmlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiByZXNwLmRhdGE/LmZpbGVOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRVUkw6IHJlc3AuZGF0YT8udGFyZ2V0VVJMLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZWR1bGVyOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaGVkdWxlclR5cGU6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGE/LnNjaGVkdWxlVHlwZSA9PT0gJ01VTFRJJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ09ORV9USU1FJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmVzcC5kYXRhPy5zY2hlZHVsZVR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0RGF0ZTogcmVzcC5kYXRhPy5zdGFydFRpbWU/LnNwbGl0KCcgJylbMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogcmVzcC5kYXRhPy5zdGFydFRpbWU/LnNwbGl0KCcgJylbMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVwZWF0OiByZXNwLmRhdGE/LnNjaGVkdWxlVHlwZSA9PT0gJ01VTFRJJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsaXZlcnk6IHJlc3AuZGF0YT8ucmVwZWF0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVqZWN0Q2FtcGFpZ25TZXJ2aWNlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNTdWJtaXQgPSB0cnVlO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QoXHJcbiAgICAgICAgICAgICAgICBbXSxcclxuICAgICAgICAgICAgICAgIGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH0vcmVqZWN0YCxcclxuICAgICAgICAgICAgICAgICdQT1NUJ1xyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAocmVzcDogQXBwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXNwIHx8ICFyZXNwPy5kYXRhKSByZXR1cm4gdGhpcy50b2FzdHIuZXJyb3IoJ0Vycm9yIFJlamVjdGluZyBDYW1wYWlnbiEnKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuc3VjY2VzcygnQ2FtcGFpZ24gUmVqZWN0ZWQgU3VjY2Vzc2Z1bGx5IScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25DbG9zZSgpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcignRXJyb3IgUmVqZWN0aW5nIENhbXBhaWduIScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVycy5wdXNoKHN1YnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhcHByb3ZlQ2FtcGFpZ25TZXJ2aWNlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNTdWJtaXQgPSB0cnVlO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QoXHJcbiAgICAgICAgICAgICAgICBbXSxcclxuICAgICAgICAgICAgICAgIGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH0vYXBwcm92ZWAsXHJcbiAgICAgICAgICAgICAgICAnUE9TVCdcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKHJlc3A6IEFwcFJlc3BvbnNlPGFueT4pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzcCB8fCAhcmVzcD8uZGF0YSkgcmV0dXJuIHRoaXMudG9hc3RyLmVycm9yKCdFcnJvciBBcHByb3ZpbmcgQ2FtcGFpZ24hJyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLnN1Y2Nlc3MoJ0NhbXBhaWduIEFwcHJvdmVkIFN1Y2Nlc3NmdWxseSEnKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQ2xvc2UoKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoJ0Vycm9yIEFwcHJvdmluZyBDYW1wYWlnbiEnKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25DbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndGVsaW4uY2FtcGFpZ24nKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMuZm9yRWFjaCgoZWFjaCkgPT4gZWFjaC51bnN1YnNjcmliZSgpKTtcclxuICAgIH1cclxufVxyXG4iXX0=
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1hcHByb3ZhbC1kaWFsb2ctdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9jYW1wYWlnbi1pbmRleC9kaWFsb2cvcGVuZGluZy1hcHByb3ZhbC1kaWFsb2ctdmlldy9wZW5kaW5nLWFwcHJvdmFsLWRpYWxvZy12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFPeEUsSUFBYSxrQ0FBa0MsR0FBL0MsTUFBYSxrQ0FBa0M7SUFPM0MsWUFDWSxTQUEyRCxFQUMzRCxpQkFBMkMsRUFDM0MsTUFBcUI7UUFGckIsY0FBUyxHQUFULFNBQVMsQ0FBa0Q7UUFDM0Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQUMzQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBVDFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU3QixnQkFBVyxHQUFtQixFQUFFLENBQUM7SUFNdEMsQ0FBQztJQUVKLFFBQVE7O1FBQ0osSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFaEMsSUFBSSxDQUFDLFlBQVkscUJBQUcsSUFBSSxDQUFDLGtCQUFrQiwwQ0FBRSxrQkFBa0IsMENBQUUsWUFBWSx1Q0FBSSxLQUFLLEVBQUEsQ0FBQztJQUMzRixDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIs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QUFDO0dBQ1csa0NBQWtDLENBME45QztTQTFOWSxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFwcFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29yZS9tb2RlbHMvdXRpbC9hcGktZHRvL3Jlc3BvbnNlLW1vZGVscyc7XHJcbmltcG9ydCB7IEFwaUFkYXB0ZXJTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvcmUvc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi1wZW5kaW5nLWFwcHJvdmFsLWRpYWxvZy12aWV3JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wZW5kaW5nLWFwcHJvdmFsLWRpYWxvZy12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3BlbmRpbmctYXBwcm92YWwtZGlhbG9nLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBlbmRpbmdBcHByb3ZhbERpYWxvZ1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBwdWJsaWMgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNTdWJtaXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc1Nob3dCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIHN1YnNjcmliZXJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UGVuZGluZ0FwcHJvdmFsRGlhbG9nVmlld0NvbXBvbmVudD4sXHJcbiAgICAgICAgcHJpdmF0ZSBhcGlBZGFwdGVyU2VydmljZTogQXBpQWRhcHRlclNlcnZpY2VTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgdG9hc3RyOiBUb2FzdHJTZXJ2aWNlXHJcbiAgICApIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5nZXRDYW1wYWlnbkRldGFpbFNlcnZpY2UoKTtcclxuXHJcbiAgICAgICAgdGhpcy5pc1Nob3dCdXR0b24gPSB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pc1Nob3dCdXR0b24gPz8gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGdldENhbXBhaWduU3RvcmFnZSgpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGVsaW4uY2FtcGFpZ24nKVxyXG4gICAgICAgICAgICA/IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RlbGluLmNhbXBhaWduJykpXHJcbiAgICAgICAgICAgIDoge307XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjb252ZXJ0VVRDRGF0ZVRvTG9jYWxEYXRlKGRhdGU6IERhdGUpIHtcclxuICAgICAgICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MCAqIDEwMDApO1xyXG4gICAgICAgIHJldHVybiBuZXdEYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0Q2FtcGFpZ25EZXRhaWxTZXJ2aWNlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uaWQpIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QoXHJcbiAgICAgICAgICAgICAgICBbXSxcclxuICAgICAgICAgICAgICAgIGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH1gLFxyXG4gICAgICAgICAgICAgICAgJ0dFVCdcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKHJlc3A6IEFwcFJlc3BvbnNlPGFueT4pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlc3ApIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2VuZXJhbEluZm9ybWF0aW9uID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYW1wYWlnbk5hbWU6IHJlc3AuZGF0YT8ubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWVkaXVtOiByZXNwLmRhdGE/LnBsYXRmb3JtLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsOiBbJ2ltYWdlJywgJ3ZpZGVvJywgJ2RvY3VtZW50J10uaW5jbHVkZXMocmVzcC5kYXRhPy50eXBlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnTUVESUEnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlc3AuZGF0YT8uaXNEaXJlY3RTZW5kXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ3V0aWxpdHknXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmVzcC5kYXRhPy50eXBlPy50b1VwcGVyQ2FzZSgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtZWRpYTogcmVzcC5kYXRhPy50eXBlPy50b1VwcGVyQ2FzZSgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ByZXZUZW1wbGF0ZTogcmVzcD8uZGF0YT8uaXNQcmV2VGVtcGxhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlTmFtZTogcmVzcD8uZGF0YT8udGVtcGxhdGVOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0dGw6IHJlc3A/LmRhdGE/LnR0bFNlY29uZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZyb206IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiByZXNwLmRhdGE/LmFjY291bnRJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHJlc3AuZGF0YT8uYWNjb3VudE5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybTogcmVzcC5kYXRhPy5wbGF0Zm9ybSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudElkOiByZXNwLmRhdGE/LmNsaWVudElkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50TmFtZTogcmVzcC5kYXRhPy5jbGllbnROYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudE5vOiByZXNwLmRhdGE/LmFjY291bnRObyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhYmFJZDogcmVzcC5kYXRhPy53YWJhSWQgPz8gJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHJlc3AuZGF0YT8uZGV0YWlscz8udGV4dCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0VVJMOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhPy5kZXRhaWxzPy5pbWFnZT8udXJsID8/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGE/LmRldGFpbHM/LmRvY3VtZW50Py51cmwgPz9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YT8uZGV0YWlscz8udmlkZW8/LnVybCA/P1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uaGVhZGVyVVJMLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbUhlYWRlcjogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uaGVhZGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbUJvZHk6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmRhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtQnV0dG9uOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5idXR0b24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtQ2Fyb3VzZWw6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5jYXJvdXNlbD8ubWFwKChjYXJkOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJVUkw6IGNhcmQuaGVhZGVyVVJMIHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5UGFyYW1zOiAoY2FyZC5ib2R5IHx8IFtdKS5tYXAoKHZhbDogc3RyaW5nKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1OYW1lOiB2YWwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uUGFyYW1zOiAoY2FyZC5idXR0b24gfHwgW10pLm1hcCgoYnRuR3JvdXA6IGFueVtdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKGJ0bkdyb3VwIHx8IFtdKS5tYXAoKHZhbDogc3RyaW5nKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtTmFtZTogdmFsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgfHwgW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG90cFZhbHVlOiBbLi4uKHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmRhdGEgPz8gW10pXT8ucG9wKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczogKHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmRhdGEgfHwgW10pLm1hcChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWw6IHN0cmluZykgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbU5hbWU6IHZhbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzVXNlRXhpc3RpbmdUZW1wbGF0ZTogISFyZXNwLmRhdGE/LnRlbXBsYXRlTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIElEOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/Lm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5sYW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhdGZvcm06IHJlc3AuZGF0YT8ucGxhdGZvcm0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJVUkw6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmhlYWRlclVSTCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGVzOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5oZWFkZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGVzOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5kYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmJ1dHRvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaWVudElkOiByZXNwLmRhdGE/LmNsaWVudElkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xpZW50TmFtZTogcmVzcC5kYXRhPy5jbGllbnROYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNVcGxvYWQ6IHJlc3AuZGF0YT8uZmlsZUlkICE9PSAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZUlkOiByZXNwLmRhdGE/LmZpbGVJZCxcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3RlbGluLmNhbXBhaWduJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5nZXRDYW1wYWlnblN0b3JhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhbEluZm9ybWF0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiByZXNwLmRhdGE/LmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtOiBnZW5lcmFsSW5mb3JtYXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsb3ZlcjogcmVzcC5kYXRhPy5mYWlsb3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRBdWRpZW5jZTogcmVzcC5kYXRhPy50YXJnZXRzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldEF1ZGllbmNlRmlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiByZXNwLmRhdGE/LmZpbGVOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRVUkw6IHJlc3AuZGF0YT8udGFyZ2V0VVJMLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZWR1bGVyOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaGVkdWxlclR5cGU6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGE/LnNjaGVkdWxlVHlwZSA9PT0gJ01VTFRJJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ09ORV9USU1FJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmVzcC5kYXRhPy5zY2hlZHVsZVR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0RGF0ZTogcmVzcC5kYXRhPy5zdGFydFRpbWU/LnNwbGl0KCcgJylbMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogcmVzcC5kYXRhPy5zdGFydFRpbWU/LnNwbGl0KCcgJylbMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVwZWF0OiByZXNwLmRhdGE/LnNjaGVkdWxlVHlwZSA9PT0gJ01VTFRJJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsaXZlcnk6IHJlc3AuZGF0YT8ucmVwZWF0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVqZWN0Q2FtcGFpZ25TZXJ2aWNlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNTdWJtaXQgPSB0cnVlO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QoXHJcbiAgICAgICAgICAgICAgICBbXSxcclxuICAgICAgICAgICAgICAgIGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH0vcmVqZWN0YCxcclxuICAgICAgICAgICAgICAgICdQT1NUJ1xyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAocmVzcDogQXBwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXNwIHx8ICFyZXNwPy5kYXRhKSByZXR1cm4gdGhpcy50b2FzdHIuZXJyb3IoJ0Vycm9yIFJlamVjdGluZyBDYW1wYWlnbiEnKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuc3VjY2VzcygnQ2FtcGFpZ24gUmVqZWN0ZWQgU3VjY2Vzc2Z1bGx5IScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25DbG9zZSgpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcignRXJyb3IgUmVqZWN0aW5nIENhbXBhaWduIScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVycy5wdXNoKHN1YnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhcHByb3ZlQ2FtcGFpZ25TZXJ2aWNlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNTdWJtaXQgPSB0cnVlO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QoXHJcbiAgICAgICAgICAgICAgICBbXSxcclxuICAgICAgICAgICAgICAgIGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH0vYXBwcm92ZWAsXHJcbiAgICAgICAgICAgICAgICAnUE9TVCdcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKHJlc3A6IEFwcFJlc3BvbnNlPGFueT4pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzcCB8fCAhcmVzcD8uZGF0YSkgcmV0dXJuIHRoaXMudG9hc3RyLmVycm9yKCdFcnJvciBBcHByb3ZpbmcgQ2FtcGFpZ24hJyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLnN1Y2Nlc3MoJ0NhbXBhaWduIEFwcHJvdmVkIFN1Y2Nlc3NmdWxseSEnKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQ2xvc2UoKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoJ0Vycm9yIEFwcHJvdmluZyBDYW1wYWlnbiEnKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25DbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndGVsaW4uY2FtcGFpZ24nKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMuZm9yRWFjaCgoZWFjaCkgPT4gZWFjaC51bnN1YnNjcmliZSgpKTtcclxuICAgIH1cclxufVxyXG4iXX0=