@adlfe/campaign-management-library 2.12.0 → 2.13.2

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 (42) hide show
  1. package/adlfe-campaign-management-library.d.ts +11 -14
  2. package/adlfe-campaign-management-library.metadata.json +1 -1
  3. package/bundles/adlfe-campaign-management-library.umd.js +453 -343
  4. package/bundles/adlfe-campaign-management-library.umd.js.map +1 -1
  5. package/bundles/adlfe-campaign-management-library.umd.min.js +2 -2
  6. package/bundles/adlfe-campaign-management-library.umd.min.js.map +1 -1
  7. package/esm2015/adlfe-campaign-management-library.js +12 -15
  8. package/esm2015/lib/campaign-management/components/input-numeric/input-numeric.component.js +8 -2
  9. package/esm2015/lib/campaign-management/models/contact-category-dto.model.js +1 -1
  10. package/esm2015/lib/campaign-management/models/general-information-wa-req.model.js +37 -9
  11. package/esm2015/lib/campaign-management/models/template-wa.model.js +1 -1
  12. package/esm2015/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.js +1 -1
  13. package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +329 -267
  14. package/esm2015/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +6 -12
  15. package/esm2015/lib/campaign-management/modules/new-campaign/new-campaign.component.js +14 -9
  16. package/esm2015/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.js +34 -38
  17. package/esm2015/lib/core/const/validation-message.const.js +2 -1
  18. package/esm2015/public-api.js +6 -1
  19. package/esm5/adlfe-campaign-management-library.js +12 -15
  20. package/esm5/lib/campaign-management/components/input-numeric/input-numeric.component.js +8 -2
  21. package/esm5/lib/campaign-management/models/contact-category-dto.model.js +1 -1
  22. package/esm5/lib/campaign-management/models/general-information-wa-req.model.js +38 -9
  23. package/esm5/lib/campaign-management/models/template-wa.model.js +1 -1
  24. package/esm5/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.js +1 -1
  25. package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +342 -268
  26. package/esm5/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +6 -12
  27. package/esm5/lib/campaign-management/modules/new-campaign/new-campaign.component.js +18 -9
  28. package/esm5/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.js +35 -41
  29. package/esm5/lib/core/const/validation-message.const.js +2 -1
  30. package/esm5/public-api.js +6 -1
  31. package/fesm2015/adlfe-campaign-management-library.js +423 -329
  32. package/fesm2015/adlfe-campaign-management-library.js.map +1 -1
  33. package/fesm5/adlfe-campaign-management-library.js +440 -332
  34. package/fesm5/adlfe-campaign-management-library.js.map +1 -1
  35. package/lib/campaign-management/components/input-numeric/input-numeric.component.d.ts +2 -0
  36. package/lib/campaign-management/models/contact-category-dto.model.d.ts +0 -1
  37. package/lib/campaign-management/models/general-information-wa-req.model.d.ts +5 -0
  38. package/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.d.ts +10 -6
  39. package/lib/campaign-management/modules/new-campaign/new-campaign.component.d.ts +1 -0
  40. package/lib/core/const/validation-message.const.d.ts +4 -0
  41. package/package.json +1 -1
  42. package/public-api.d.ts +5 -0
@@ -1,4 +1,4 @@
1
- import { __assign, __decorate, __read, __spread, __values } from "tslib";
1
+ import { __decorate, __read, __spread, __values } from "tslib";
2
2
  import { SelectionModel } from '@angular/cdk/collections';
3
3
  import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
4
4
  import { MatSort } from '@angular/material/sort';
@@ -44,20 +44,12 @@ var NewNumberBasesComponent = /** @class */ (function () {
44
44
  this.table = new TableModel();
45
45
  this.table.labels = [
46
46
  'select',
47
- 'Name',
48
47
  'Category',
49
48
  'No. Of Customer',
50
49
  'Created Date',
51
50
  'Updated Date',
52
51
  ];
53
- this.table.columns = [
54
- 'select',
55
- 'name',
56
- 'category',
57
- 'totalMembers',
58
- 'createdDate',
59
- 'updatedDate',
60
- ];
52
+ this.table.columns = ['select', 'name', 'totalMembers', 'createdDate', 'updatedDate'];
61
53
  };
62
54
  Object.defineProperty(NewNumberBasesComponent.prototype, "getCampaignStorage", {
63
55
  get: function () {
@@ -70,15 +62,16 @@ var NewNumberBasesComponent = /** @class */ (function () {
70
62
  });
71
63
  NewNumberBasesComponent.prototype.initEdit = function () {
72
64
  var _this = this;
73
- var _a, _b, _c, _d, _e, _f, _g, _h;
65
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
74
66
  if (Object.entries(this.getCampaignStorage).length === 0)
75
67
  return;
76
- this.isShowUploadCSV = (_c = (_b = (_a = this.getCampaignStorage) === null || _a === void 0 ? void 0 : _a.generalInformation) === null || _b === void 0 ? void 0 : _b.form) === null || _c === void 0 ? void 0 : _c.isUpload;
68
+ var genInfoForm = (_b = (_a = this.getCampaignStorage) === null || _a === void 0 ? void 0 : _a.generalInformation) === null || _b === void 0 ? void 0 : _b.form;
69
+ this.isShowUploadCSV = ((_c = genInfoForm) === null || _c === void 0 ? void 0 : _c.isUpload) || ((_d = genInfoForm) === null || _d === void 0 ? void 0 : _d.isDownloadVariableXLS);
77
70
  this.fileSelected = {
78
- name: (_e = (_d = this.getCampaignStorage) === null || _d === void 0 ? void 0 : _d.targetAudienceFile) === null || _e === void 0 ? void 0 : _e.name,
79
- targetURL: (_g = (_f = this.getCampaignStorage) === null || _f === void 0 ? void 0 : _f.targetAudienceFile) === null || _g === void 0 ? void 0 : _g.targetURL,
71
+ name: (_f = (_e = this.getCampaignStorage) === null || _e === void 0 ? void 0 : _e.targetAudienceFile) === null || _f === void 0 ? void 0 : _f.name,
72
+ targetURL: (_h = (_g = this.getCampaignStorage) === null || _g === void 0 ? void 0 : _g.targetAudienceFile) === null || _h === void 0 ? void 0 : _h.targetURL,
80
73
  };
81
- (_h = this.table.dataSource.data) === null || _h === void 0 ? void 0 : _h.forEach(function (each) {
74
+ (_j = this.table.dataSource.data) === null || _j === void 0 ? void 0 : _j.forEach(function (each) {
82
75
  var _a, _b;
83
76
  if ((_b = (_a = _this.getCampaignStorage) === null || _a === void 0 ? void 0 : _a.targetAudience) === null || _b === void 0 ? void 0 : _b.includes(each.id))
84
77
  _this.onChecked(true, each);
@@ -105,31 +98,14 @@ var NewNumberBasesComponent = /** @class */ (function () {
105
98
  .executeApiRequest(parameterList, '/admin/category', 'GET')
106
99
  .subscribe(function (resp) {
107
100
  var _a;
108
- var customerSegments = JSON.parse(localStorage.getItem('csegment') || '[]');
109
- var getDate = function (item) {
110
- return new Date(item.updatedDate || item.createdDate).getTime();
111
- };
112
- var data = (((_a = resp) === null || _a === void 0 ? void 0 : _a.data) || []).map(function (item) { return (__assign(__assign({}, item), { category: 'Customer Group' })); });
113
- if (_this.categoryParam.pageNo === 1) {
114
- customerSegments
115
- .sort(function (a, b) { return getDate(b) - getDate(a); })
116
- .forEach(function (segment) {
117
- var index = data.findIndex(function (group) { return getDate(group) < getDate(segment); });
118
- if (index === -1) {
119
- return;
120
- }
121
- var groupId = data[index].id;
122
- data[index] = __assign(__assign({}, segment), { id: groupId, totalMembers: segment.customerCount, updatedDate: segment.updatedDate || segment.createdDate, category: 'Customer Segment' });
123
- });
124
- }
125
101
  if (_this.isReadOnlyMode) {
126
- _this.table.dataSource.data = data.filter(function (each) { var _a, _b; return (_b = (_a = _this.getCampaignStorage) === null || _a === void 0 ? void 0 : _a.targetAudience) === null || _b === void 0 ? void 0 : _b.includes(each.id); });
102
+ _this.table.dataSource.data = (_a = resp.data) === null || _a === void 0 ? void 0 : _a.filter(function (each) { var _a, _b; return (_b = (_a = _this.getCampaignStorage) === null || _a === void 0 ? void 0 : _a.targetAudience) === null || _b === void 0 ? void 0 : _b.includes(each.id); });
127
103
  _this.categorySelected = _this.table.dataSource.data;
128
104
  _this.isLoading = false;
129
105
  _this.initEdit();
130
106
  return;
131
107
  }
132
- _this.table.dataSource.data = data;
108
+ _this.table.dataSource.data = resp.data;
133
109
  _this.table.setNextPage(resp.haveNext);
134
110
  _this.isLoading = false;
135
111
  _this.initEdit();
@@ -264,13 +240,31 @@ var NewNumberBasesComponent = /** @class */ (function () {
264
240
  return found ? true : false;
265
241
  };
266
242
  NewNumberBasesComponent.prototype.onDownloadSampleService = function () {
267
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
243
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
244
+ var genInfoForm = (_b = (_a = this.getCampaignStorage) === null || _a === void 0 ? void 0 : _a.generalInformation) === null || _b === void 0 ? void 0 : _b.form;
245
+ var isNeedSave = (_c = genInfoForm) === null || _c === void 0 ? void 0 : _c.isNeedSave;
268
246
  var parameterList = [
269
- this.initParam('platform', (_d = (_c = (_b = (_a = this.getCampaignStorage) === null || _a === void 0 ? void 0 : _a.generalInformation) === null || _b === void 0 ? void 0 : _b.form) === null || _c === void 0 ? void 0 : _c.template) === null || _d === void 0 ? void 0 : _d.platform, 'string'),
270
- this.initParam('templateName', (_h = (_g = (_f = (_e = this.getCampaignStorage) === null || _e === void 0 ? void 0 : _e.generalInformation) === null || _f === void 0 ? void 0 : _f.form) === null || _g === void 0 ? void 0 : _g.template) === null || _h === void 0 ? void 0 : _h.name, 'string'),
271
- this.initParam('templateLang', (_m = (_l = (_k = (_j = this.getCampaignStorage) === null || _j === void 0 ? void 0 : _j.generalInformation) === null || _k === void 0 ? void 0 : _k.form) === null || _l === void 0 ? void 0 : _l.template) === null || _m === void 0 ? void 0 : _m.lang, 'string'),
272
- this.initParam('category', (_p = (_o = this.categorySelected) === null || _o === void 0 ? void 0 : _o.map(function (t) { return t.id; }).join(), (_p !== null && _p !== void 0 ? _p : [])), 'string'),
247
+ this.initParam('platform', ((_e = (_d = genInfoForm) === null || _d === void 0 ? void 0 : _d.template) === null || _e === void 0 ? void 0 : _e.platform) || 'WA', 'string'),
273
248
  ];
249
+ if (isNeedSave) {
250
+ // SKENARIO 1: USE EXISTING / TEMPLATE SUDAH DISAVE
251
+ parameterList.push(this.initParam('templateName', (_g = (_f = genInfoForm) === null || _f === void 0 ? void 0 : _f.template) === null || _g === void 0 ? void 0 : _g.name, 'string'), this.initParam('templateLang', (_j = (_h = genInfoForm) === null || _h === void 0 ? void 0 : _h.template) === null || _j === void 0 ? void 0 : _j.lang, 'string'), this.initParam('category', (_l = (_k = this.categorySelected) === null || _k === void 0 ? void 0 : _k.map(function (t) { return t.id; }).join(), (_l !== null && _l !== void 0 ? _l : '')), 'string'));
252
+ }
253
+ else {
254
+ // SKENARIO 2: CREATE NEW (Belum disave, butuh text & examples)
255
+ var safeBodyText = encodeURIComponent(((_m = genInfoForm) === null || _m === void 0 ? void 0 : _m.text) || '');
256
+ parameterList.push(this.initParam('bodyText', safeBodyText, 'string'));
257
+ var variables = (_o = genInfoForm) === null || _o === void 0 ? void 0 : _o.variables;
258
+ if (variables && Array.isArray(variables) && variables.length > 0) {
259
+ var bodyExamplesString = variables.map(function (v) { return v.paramName; }).join(',');
260
+ var safeBodyExamples = encodeURIComponent(bodyExamplesString);
261
+ parameterList.push(this.initParam('bodyExamples', safeBodyExamples, 'string'));
262
+ }
263
+ if ((_r = (_q = (_p = genInfoForm) === null || _p === void 0 ? void 0 : _p.template) === null || _q === void 0 ? void 0 : _q.header) === null || _r === void 0 ? void 0 : _r.text) {
264
+ var safeHeaderText = encodeURIComponent(genInfoForm.template.header.text);
265
+ parameterList.push(this.initParam('headerText', safeHeaderText, 'string'));
266
+ }
267
+ }
274
268
  var subs = this.apiAdapterService
275
269
  .executeApiRequest(parameterList, '/message/bulkupload/template', 'GET', true)
276
270
  .subscribe(function (resp) {
@@ -367,11 +361,11 @@ var NewNumberBasesComponent = /** @class */ (function () {
367
361
  NewNumberBasesComponent = __decorate([
368
362
  Component({
369
363
  selector: 'lib-new-number-bases',
370
- template: "<h3 class=\"font-20px font-PoppinsBold asterix--after mb-2\" [ngClass]=\"{ 'mb-3': !isReadOnlyMode }\">\r\n Target Audience\r\n</h3>\r\n<div *ngIf=\"!isReadOnlyMode\" class=\"d-flex justify-content-between\">\r\n <p>Select your target audience (category)</p>\r\n <div *ngIf=\"isShowUploadCSV\">\r\n <button\r\n mat-stroked-button\r\n color=\"primary-telin\"\r\n class=\"telin-font-color mr-2\"\r\n (click)=\"onDownloadSampleService()\"\r\n >\r\n Download Template\r\n </button>\r\n\r\n <button\r\n mat-flat-button\r\n color=\"primary-telin-blue2\"\r\n [disabled]=\"isUpload\"\r\n (click)=\"filePicker.click()\"\r\n >\r\n Upload XLSX\r\n </button>\r\n\r\n <input\r\n #filePicker\r\n hidden\r\n type=\"file\"\r\n [accept]=\"extFileAccepted.join()\"\r\n (change)=\"onFileSelected($event)\"\r\n />\r\n </div>\r\n</div>\r\n\r\n<p\r\n *ngIf=\"\r\n !isReadOnlyMode &&\r\n (getCampaignStorage?.targetAudienceFile?.name ||\r\n getCampaignStorage?.targetAudienceFile?.targetURL)\r\n \"\r\n class=\"text-right my-2\"\r\n>\r\n <span class=\"fw-bold\">Filename:</span>\r\n {{\r\n getCampaignStorage?.targetAudienceFile?.name ||\r\n getCampaignStorage?.targetAudienceFile?.targetURL\r\n }}\r\n</p>\r\n\r\n<div *ngIf=\"!isReadOnlyMode || !fileSelected?.name\" class=\"row align-items-center mb-3\">\r\n <div class=\"col-md-4 col-12\">\r\n <lib-search\r\n *ngIf=\"!isReadOnlyMode\"\r\n [placeholder]=\"'Search'\"\r\n (searchRes)=\"updateSearch($event)\"\r\n ></lib-search>\r\n </div>\r\n <div class=\"col-md-8 col-12\">\r\n <p class=\"text-right mb-0\">\r\n Category Selected:\r\n <span class=\"font-bold\">\r\n {{ categorySelected?.length || 0 }}\r\n </span>\r\n </p>\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"!isReadOnlyMode || !fileSelected?.name; else isShowFile\">\r\n <table\r\n *ngIf=\"!isLoading; else isSpinner\"\r\n mat-table\r\n matSort\r\n matSortDisableClear\r\n class=\"table w-100 mb-2\"\r\n [dataSource]=\"table.dataSource\"\r\n (matSortChange)=\"sort()\"\r\n >\r\n <ng-container matColumnDef=\"select\">\r\n <th *matHeaderCellDef>\r\n <ng-container *ngIf=\"!isReadOnlyMode\">\r\n <mat-checkbox\r\n [aria-label]=\"checkboxLabel()\"\r\n [checked]=\"selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\r\n (change)=\"masterToggle($event.checked)\"\r\n >\r\n </mat-checkbox>\r\n </ng-container>\r\n </th>\r\n <td *matCellDef=\"let row\">\r\n <ng-container *ngIf=\"!isReadOnlyMode\">\r\n <mat-checkbox\r\n [aria-label]=\"checkboxLabel(row)\"\r\n [checked]=\"isChecked(row)\"\r\n (change)=\"onChecked($event.checked, row)\"\r\n >\r\n </mat-checkbox>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let index of [1, 2, 3, 4, 5]\" [matColumnDef]=\"table.columns[index]\">\r\n <th *matHeaderCellDef [mat-sort-header]=\"table.columns[index]\">\r\n {{ table.labels[index] }}\r\n </th>\r\n\r\n <td *matCellDef=\"let row\">\r\n <ng-container *ngIf=\"[1, 2, 3].includes(index)\">\r\n {{ row[table.columns[index]] }}\r\n </ng-container>\r\n <ng-container *ngIf=\"[4, 5].includes(index)\">\r\n {{ row[table.columns[index]] | date: ' d MMM y' }}\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"no-content\">\r\n <th class=\"text-center\" *matHeaderCellDef [colSpan]=\"table.columns.length\">\r\n Data Not Available\r\n </th>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"table.columns\"></tr>\r\n\r\n <tr\r\n mat-header-row\r\n class=\"no-content\"\r\n *matHeaderRowDef=\"['no-content']\"\r\n [style.display]=\"table.dataSource?.data?.length === 0 ? 'table-row' : 'none'\"\r\n ></tr>\r\n\r\n <tr mat-row *matRowDef=\"let row; columns: table.columns\"></tr>\r\n </table>\r\n\r\n <mat-paginator\r\n *ngIf=\"!isReadOnlyMode\"\r\n class=\"campaign-paginator\"\r\n [length]=\"table.totalData\"\r\n [pageSize]=\"table.pageSize\"\r\n [pageIndex]=\"table.getPageIndex()\"\r\n [pageSizeOptions]=\"[10, 25, 50, 100, 250]\"\r\n (page)=\"updatePage($event)\"\r\n ></mat-paginator>\r\n\r\n <ng-template #isSpinner>\r\n <div class=\"text-center my-auto\">\r\n <img src=\"../../../../../assets/images/spinner.svg\" />\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #isShowFile>\r\n <p class=\"font-PoppinsBold font-14px\">\r\n File: <a [href]=\"fileSelected?.targetURL\" target=\"_blank\">{{ fileSelected?.name }}</a>\r\n </p>\r\n</ng-template>\r\n",
364
+ template: "<h3 class=\"font-20px font-PoppinsBold asterix--after mb-2\"\r\n\t[ngClass]=\"{ 'mb-3': !isReadOnlyMode }\">\r\n\tTarget Audience\r\n</h3>\r\n<div *ngIf=\"!isReadOnlyMode\"\r\n\tclass=\"d-flex justify-content-between\">\r\n\t<p>Select your target audience (category)</p>\r\n\t<div *ngIf=\"isShowUploadCSV\">\r\n\t\t<button mat-stroked-button\r\n\t\t\tcolor=\"primary-telin\"\r\n\t\t\tclass=\"telin-font-color mr-2\"\r\n\t\t\t(click)=\"onDownloadSampleService()\">\r\n\t\t\tDownload Template\r\n\t\t</button>\r\n\r\n\t\t<button mat-flat-button\r\n\t\t\tcolor=\"primary-telin-blue2\"\r\n\t\t\t[disabled]=\"isUpload\"\r\n\t\t\t(click)=\"filePicker.click()\">\r\n\t\t\tUpload XLSX\r\n\t\t</button>\r\n\r\n\t\t<input #filePicker\r\n\t\t\thidden\r\n\t\t\ttype=\"file\"\r\n\t\t\t[accept]=\"extFileAccepted.join()\"\r\n\t\t\t(change)=\"onFileSelected($event)\" />\r\n\t</div>\r\n</div>\r\n\r\n<p *ngIf=\"!isReadOnlyMode && (getCampaignStorage?.targetAudienceFile?.name ||\r\ngetCampaignStorage?.targetAudienceFile?.targetURL)\"\r\n\tclass=\"text-right my-2\">\r\n\t<span class=\"fw-bold\">Filename:</span> {{ getCampaignStorage?.targetAudienceFile?.name ||\r\n\tgetCampaignStorage?.targetAudienceFile?.targetURL }}\r\n</p>\r\n\r\n<div *ngIf=\"!isReadOnlyMode || !fileSelected?.name\"\r\n\tclass=\"row align-items-center mb-3\">\r\n\t<div class=\"col-md-4 col-12\">\r\n\t\t<lib-search *ngIf=\"!isReadOnlyMode\"\r\n\t\t\t[placeholder]=\"'Search'\"\r\n\t\t\t(searchRes)=\"updateSearch($event)\"></lib-search>\r\n\t</div>\r\n\t<div class=\"col-md-8 col-12\">\r\n\t\t<p class=\"text-right mb-0\">\r\n\t\t\tCategory Selected:\r\n\t\t\t<span class=\"font-bold\">\r\n\t\t\t\t{{ categorySelected?.length || 0 }}\r\n\t\t\t</span>\r\n\t\t</p>\r\n\t</div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"!isReadOnlyMode || !fileSelected?.name; else isShowFile\">\r\n\t<table *ngIf=\"!isLoading; else isSpinner\"\r\n\t\tmat-table\r\n\t\tmatSort\r\n\t\tmatSortDisableClear\r\n\t\tclass=\"table w-100 mb-2\"\r\n\t\t[dataSource]=\"table.dataSource\"\r\n\t\t(matSortChange)=\"sort()\">\r\n\t\t<ng-container matColumnDef=\"select\">\r\n\t\t\t<th *matHeaderCellDef>\r\n\t\t\t\t<ng-container *ngIf=\"!isReadOnlyMode\">\r\n\t\t\t\t\t<mat-checkbox [aria-label]=\"checkboxLabel()\"\r\n\t\t\t\t\t\t[checked]=\"selection.hasValue() && isAllSelected()\"\r\n\t\t\t\t\t\t[indeterminate]=\"selection.hasValue() && !isAllSelected()\"\r\n\t\t\t\t\t\t(change)=\"masterToggle($event.checked)\">\r\n\t\t\t\t\t</mat-checkbox>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</th>\r\n\t\t\t<td *matCellDef=\"let row\">\r\n\t\t\t\t<ng-container *ngIf=\"!isReadOnlyMode\">\r\n\t\t\t\t\t<mat-checkbox [aria-label]=\"checkboxLabel(row)\"\r\n\t\t\t\t\t\t[checked]=\"isChecked(row)\"\r\n\t\t\t\t\t\t(change)=\"onChecked($event.checked, row)\">\r\n\t\t\t\t\t</mat-checkbox>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\r\n\t\t<ng-container *ngFor=\"let index of [1, 2, 3, 4]\"\r\n\t\t\t[matColumnDef]=\"table.columns[index]\">\r\n\t\t\t<th *matHeaderCellDef\r\n\t\t\t\t[mat-sort-header]=\"table.columns[index]\">\r\n\t\t\t\t{{ table.labels[index] }}\r\n\t\t\t</th>\r\n\r\n\t\t\t<td *matCellDef=\"let row\">\r\n\t\t\t\t<ng-container *ngIf=\"[1, 2].includes(index)\">\r\n\t\t\t\t\t{{ row[table.columns[index]] }}\r\n\t\t\t\t</ng-container>\r\n\t\t\t\t<ng-container *ngIf=\"[3, 4].includes(index)\">\r\n\t\t\t\t\t{{ row[table.columns[index]] | date : ' d MMM y' }}\r\n\t\t\t\t</ng-container>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\r\n\t\t<ng-container matColumnDef=\"no-content\">\r\n\t\t\t<th class=\"text-center\"\r\n\t\t\t\t*matHeaderCellDef\r\n\t\t\t\t[colSpan]=\"table.columns.length\">\r\n\t\t\t\tData Not Available\r\n\t\t\t</th>\r\n\t\t</ng-container>\r\n\r\n\t\t<tr mat-header-row\r\n\t\t\t*matHeaderRowDef=\"table.columns\"></tr>\r\n\r\n\t\t<tr mat-header-row\r\n\t\t\tclass=\"no-content\"\r\n\t\t\t*matHeaderRowDef=\"['no-content']\"\r\n\t\t\t[style.display]=\"table.dataSource?.data?.length === 0 ? 'table-row' : 'none'\"></tr>\r\n\r\n\t\t<tr mat-row\r\n\t\t\t*matRowDef=\"let row; columns: table.columns\"></tr>\r\n\t</table>\r\n\r\n\t<mat-paginator *ngIf=\"!isReadOnlyMode\"\r\n\t\tclass=\"campaign-paginator\"\r\n\t\t[length]=\"table.totalData\"\r\n\t\t[pageSize]=\"table.pageSize\"\r\n\t\t[pageIndex]=\"table.getPageIndex()\"\r\n\t\t[pageSizeOptions]=\"[10, 25, 50, 100, 250]\"\r\n\t\t(page)=\"updatePage($event)\"></mat-paginator>\r\n\r\n\t<ng-template #isSpinner>\r\n\t\t<div class=\"text-center my-auto\">\r\n\t\t\t<img src=\"../../../../../assets/images/spinner.svg\" />\r\n\t\t</div>\r\n\t</ng-template>\r\n</ng-container>\r\n\r\n<ng-template #isShowFile>\r\n\t<p class=\"font-PoppinsBold font-14px\">\r\n\t\tFile: <a [href]=\"fileSelected?.targetURL\"\r\n\t\t\ttarget=\"_blank\">{{ fileSelected?.name }}</a>\r\n\t</p>\r\n</ng-template>\r\n",
371
365
  styles: ["::ng-deep .mat-paginator.campaign-paginator .mat-paginator-container{align-items:normal}::ng-deep .mat-paginator.campaign-paginator .mat-tab-body{background-color:#fff}::ng-deep .mat-paginator.campaign-paginator .mat-form-field-underline{bottom:0}"]
372
366
  })
373
367
  ], NewNumberBasesComponent);
374
368
  return NewNumberBasesComponent;
375
369
  }());
376
370
  export { NewNumberBasesComponent };
377
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LW51bWJlci1iYXNlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9uZXctY2FtcGFpZ24vbmV3LW51bWJlci1iYXNlcy9uZXctbnVtYmVyLWJhc2VzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU96RDtJQWdDSSxpQ0FDWSxpQkFBMkMsRUFDM0MsTUFBcUI7UUFEckIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQUMzQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBeEIxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMscUJBQWdCLEdBQTJCLEVBQUUsQ0FBQztRQUM5QyxjQUFTLEdBQUcsSUFBSSxjQUFjLENBQXVCLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvRCxvQkFBZSxHQUFh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QkFDdEQsV0FBVyxFQUFFLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQ3JDLFVBQUMsR0FBRyxFQUFFLENBQUMsSUFBSyxPQUFBLEdBQUcsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFwQixDQUFvQixFQUNoQyxDQUFDLENBQ0o7Z0JBQ0QsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsSUFBSSxFQUFFO29CQUNGLElBQUksRUFBRSxVQUFVO29CQUNoQixTQUFTLEVBQUUsT0FBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxTQUFTLEtBQUksRUFBRTtpQkFDeEM7YUFDSixDQUFDLENBQUM7UUFDUCxDQUFDLEVBQ0QsY0FBTSxPQUFBLENBQUMsS0FBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBdkIsQ0FBdUIsQ0FDaEMsQ0FBQztRQUVOLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCw2Q0FBVyxHQUFYO1FBQ0ksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBQyxJQUFJLElBQUssT0FBQSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQWxCLENBQWtCLENBQUMsQ0FBQztJQUMzRCxDQUFDOztnQkFoWjhCLHdCQUF3QjtnQkFDbkMsYUFBYTs7SUFoQ2pDO1FBREMsTUFBTSxFQUFFO21FQU1OO0lBcUJNO1FBQVIsS0FBSyxFQUFFO21FQUFnQztJQUVwQjtRQUFuQixTQUFTLENBQUMsT0FBTyxDQUFDOzREQUFrQjtJQTlCNUIsdUJBQXVCO1FBTG5DLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsaWlMQUFnRDs7U0FFbkQsQ0FBQztPQUNXLHVCQUF1QixDQWtibkM7SUFBRCw4QkFBQztDQUFBLEFBbGJELElBa2JDO1NBbGJZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIElucHV0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh0dHBCb2R5UmVxUGFnaW5hdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQYXJhbWV0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL21vZGVscy91dGlsL2FwaS1hZGFwdGVyLXNlcnZpY2UtbW9kZWxzJztcclxuaW1wb3J0IHsgQXBwUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL21vZGVscy91dGlsL2FwaS1kdG8vcmVzcG9uc2UtbW9kZWxzJztcclxuaW1wb3J0IHsgQXBpQWRhcHRlclNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IGRvd25sb2FkQmxvYkZpbGUgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3V0aWwnO1xyXG5pbXBvcnQgeyBDb250YWN0Q2F0ZWdvcnlNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IFRhYmxlTW9kZWwgfSBmcm9tICcuLi8uLi9jYW1wYWlnbi1pbmRleC9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi1uZXctbnVtYmVyLWJhc2VzJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZXctbnVtYmVyLWJhc2VzLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL25ldy1udW1iZXItYmFzZXMuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5ld051bWJlckJhc2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgdGFyZ2V0QXVkaWVuY2U6IEV2ZW50RW1pdHRlcjx7XHJcbiAgICAgICAgdGFyZ2V0QXVkaWVuY2U6IHN0cmluZ1tdO1xyXG4gICAgICAgIG51bWJlckNvdW50OiBudW1iZXI7XHJcbiAgICAgICAgaXNVcGxvYWQ6IGJvb2xlYW47XHJcbiAgICAgICAgZmlsZTogYW55O1xyXG4gICAgfT47XHJcblxyXG4gICAgcHVibGljIHRhYmxlOiBUYWJsZU1vZGVsO1xyXG4gICAgcHVibGljIGlzVXBsb2FkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNTaG93VXBsb2FkQ1NWOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgY2F0ZWdvcnlTZWxlY3RlZDogQ29udGFjdENhdGVnb3J5TW9kZWxbXSA9IFtdO1xyXG4gICAgcHVibGljIHNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxDb250YWN0Q2F0ZWdvcnlNb2RlbD4odHJ1ZSwgW10pO1xyXG4gICAgcHVibGljIGV4dEZpbGVBY2NlcHRlZDogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXHJcbiAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcclxuICAgICAgICAnLmNzdicsXHJcbiAgICBdO1xyXG4gICAgcHVibGljIGZpbGVTZWxlY3RlZDoge1xyXG4gICAgICAgIG5hbWU6IHN0cmluZztcclxuICAgICAgICB0YXJnZXRVUkw6IHN0cmluZztcclxuICAgIH0gPSBudWxsO1xyXG5cclxuICAgIHByaXZhdGUgY2F0ZWdvcnlQYXJhbTogSHR0cEJvZHlSZXFQYWdpbmF0aW9uTW9kZWw7XHJcbiAgICBwcml2YXRlIHN1YnNjcmliZXJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAgIEBJbnB1dCgpIHB1YmxpYyBpc1JlYWRPbmx5TW9kZTogYm9vbGVhbjtcclxuXHJcbiAgICBAVmlld0NoaWxkKE1hdFNvcnQpIG1hdFNvcnQ6IE1hdFNvcnQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBhcGlBZGFwdGVyU2VydmljZTogQXBpQWRhcHRlclNlcnZpY2VTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgdG9hc3RyOiBUb2FzdHJTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLnRhcmdldEF1ZGllbmNlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlQYXJhbSA9IG5ldyBIdHRwQm9keVJlcVBhZ2luYXRpb25Nb2RlbCgpO1xyXG5cclxuICAgICAgICB0aGlzLmluaXRUYWJsZSgpO1xyXG4gICAgICAgIHRoaXMuZ2V0Q2F0ZWdvcnlMaXN0KCk7XHJcblxyXG4gICAgICAgIHRoaXMudGFyZ2V0QXVkaWVuY2UuZW1pdCh7XHJcbiAgICAgICAgICAgIHRhcmdldEF1ZGllbmNlOiBbXSxcclxuICAgICAgICAgICAgbnVtYmVyQ291bnQ6IDAsXHJcbiAgICAgICAgICAgIGlzVXBsb2FkOiB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5mb3JtPy5pc1VwbG9hZCxcclxuICAgICAgICAgICAgZmlsZToge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LnRhcmdldEF1ZGllbmNlRmlsZT8ubmFtZSxcclxuICAgICAgICAgICAgICAgIHRhcmdldFVSTDogdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LnRhcmdldEF1ZGllbmNlRmlsZT8udGFyZ2V0VVJMLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdFRhYmxlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudGFibGUgPSBuZXcgVGFibGVNb2RlbCgpO1xyXG4gICAgICAgIHRoaXMudGFibGUubGFiZWxzID0gW1xyXG4gICAgICAgICAgICAnc2VsZWN0JyxcclxuICAgICAgICAgICAgJ05hbWUnLFxyXG4gICAgICAgICAgICAnQ2F0ZWdvcnknLFxyXG4gICAgICAgICAgICAnTm8uIE9mIEN1c3RvbWVyJyxcclxuICAgICAgICAgICAgJ0NyZWF0ZWQgRGF0ZScsXHJcbiAgICAgICAgICAgICdVcGRhdGVkIERhdGUnLFxyXG4gICAgICAgIF07XHJcbiAgICAgICAgdGhpcy50YWJsZS5jb2x1bW5zID0gW1xyXG4gICAgICAgICAgICAnc2VsZWN0JyxcclxuICAgICAgICAgICAgJ25hbWUnLFxyXG4gICAgICAgICAgICAnY2F0ZWdvcnknLFxyXG4gICAgICAgICAgICAndG90YWxNZW1iZXJzJyxcclxuICAgICAgICAgICAgJ2NyZWF0ZWREYXRlJyxcclxuICAgICAgICAgICAgJ3VwZGF0ZWREYXRlJyxcclxuICAgICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBnZXRDYW1wYWlnblN0b3JhZ2UoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RlbGluLmNhbXBhaWduJylcclxuICAgICAgICAgICAgPyBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0ZWxpbi5jYW1wYWlnbicpKVxyXG4gICAgICAgICAgICA6IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdEVkaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKE9iamVjdC5lbnRyaWVzKHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlKS5sZW5ndGggPT09IDApIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5pc1Nob3dVcGxvYWRDU1YgPSB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5mb3JtPy5pc1VwbG9hZDtcclxuXHJcbiAgICAgICAgdGhpcy5maWxlU2VsZWN0ZWQgPSB7XHJcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy50YXJnZXRBdWRpZW5jZUZpbGU/Lm5hbWUsXHJcbiAgICAgICAgICAgIHRhcmdldFVSTDogdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LnRhcmdldEF1ZGllbmNlRmlsZT8udGFyZ2V0VVJMLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMudGFibGUuZGF0YVNvdXJjZS5kYXRhPy5mb3JFYWNoKChlYWNoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmdldENhbXBhaWduU3RvcmFnZT8udGFyZ2V0QXVkaWVuY2U/LmluY2x1ZGVzKGVhY2guaWQpKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoZWNrZWQodHJ1ZSwgZWFjaCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRDYXRlZ29yeUxpc3QoZmlsdGVyOiBzdHJpbmcgPSAnJyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNSZWFkT25seU1vZGUpIHRoaXMuY2F0ZWdvcnlQYXJhbS5wYWdlU2l6ZSA9IDEwMDA7XHJcblxyXG4gICAgICAgIGNvbnN0IHBhcmFtZXRlckxpc3Q6IEFycmF5PFBhcmFtZXRlcj4gPSBbXHJcbiAgICAgICAgICAgIHRoaXMuaW5pdFBhcmFtKCdwYWdlTm8nLCB0aGlzLmNhdGVnb3J5UGFyYW0ucGFnZU5vLCAnbnVtYmVyJyksXHJcbiAgICAgICAgICAgIHRoaXMuaW5pdFBhcmFtKCdyb3dQZXJQYWdlJywgdGhpcy5jYXRlZ29yeVBhcmFtLnBhZ2VTaXplLCAnbnVtYmVyJyksXHJcbiAgICAgICAgICAgIHRoaXMuaW5pdFBhcmFtKCdmaWx0ZXInLCBmaWx0ZXIsICdzdHJpbmcnKSxcclxuICAgICAgICAgICAgdGhpcy5pbml0UGFyYW0oXHJcbiAgICAgICAgICAgICAgICAncGxhdGZvcm0nLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uZm9ybT8ubWVkaXVtLFxyXG4gICAgICAgICAgICAgICAgJ3N0cmluZydcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uZm9ybT8ubWVkaXVtID09PSAnTElORScpXHJcbiAgICAgICAgICAgIHBhcmFtZXRlckxpc3QucHVzaChcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFBhcmFtKFxyXG4gICAgICAgICAgICAgICAgICAgICdhY2NvdW50SWQnLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5nZW5lcmFsSW5mb3JtYXRpb24/LmZvcm0/LmZyb20/LmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICdzdHJpbmcnXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlzUmVhZE9ubHlNb2RlKSBwYXJhbWV0ZXJMaXN0LnB1c2godGhpcy5pbml0UGFyYW0oJ3N1bW1hcnknLCB0cnVlLCAnc3RyaW5nJykpO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QocGFyYW1ldGVyTGlzdCwgJy9hZG1pbi9jYXRlZ29yeScsICdHRVQnKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwOiBBcHBSZXNwb25zZTxDb250YWN0Q2F0ZWdvcnlNb2RlbFtdPiAmIHsgaGF2ZU5leHQ6IGJvb2xlYW4gfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY3VzdG9tZXJTZWdtZW50cyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NzZWdtZW50JykgfHwgJ1tdJyk7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgZ2V0RGF0ZSA9IChpdGVtOiBhbnkpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgbmV3IERhdGUoaXRlbS51cGRhdGVkRGF0ZSB8fCBpdGVtLmNyZWF0ZWREYXRlKS5nZXRUaW1lKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IChyZXNwPy5kYXRhIHx8IFtdKS5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5OiAnQ3VzdG9tZXIgR3JvdXAnLFxyXG4gICAgICAgICAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNhdGVnb3J5UGFyYW0ucGFnZU5vID09PSAxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3VzdG9tZXJTZWdtZW50c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IGdldERhdGUoYikgLSBnZXREYXRlKGEpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoc2VnbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IGRhdGEuZmluZEluZGV4KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChncm91cDogYW55KSA9PiBnZXREYXRlKGdyb3VwKSA8IGdldERhdGUoc2VnbWVudClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBncm91cElkID0gZGF0YVtpbmRleF0uaWQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtpbmRleF0gPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc2VnbWVudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogZ3JvdXBJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbE1lbWJlcnM6IHNlZ21lbnQuY3VzdG9tZXJDb3VudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkRGF0ZTogc2VnbWVudC51cGRhdGVkRGF0ZSB8fCBzZWdtZW50LmNyZWF0ZWREYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5OiAnQ3VzdG9tZXIgU2VnbWVudCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1JlYWRPbmx5TW9kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUuZGF0YVNvdXJjZS5kYXRhID0gZGF0YS5maWx0ZXIoKGVhY2gpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy50YXJnZXRBdWRpZW5jZT8uaW5jbHVkZXMoZWFjaC5pZClcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3J5U2VsZWN0ZWQgPSB0aGlzLnRhYmxlLmRhdGFTb3VyY2UuZGF0YTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdEVkaXQoKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZS5kYXRhU291cmNlLmRhdGEgPSBkYXRhO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMudGFibGUuc2V0TmV4dFBhZ2UocmVzcC5oYXZlTmV4dCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbml0RWRpdCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVycy5wdXNoKHN1YnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdFBhcmFtKF9uYW1lOiBzdHJpbmcsIF92YWx1ZTogYW55LCBfdHlwZTogc3RyaW5nKTogUGFyYW1ldGVyIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBuYW1lOiBfbmFtZSxcclxuICAgICAgICAgICAgdmFsdWU6IF92YWx1ZSxcclxuICAgICAgICAgICAgaW46ICdxdWVyeScsXHJcbiAgICAgICAgICAgIHR5cGU6IF90eXBlLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHVwZGF0ZVNlYXJjaChzZWFyY2hWYWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50YWJsZS5yZXNldFBhZ2UoKTtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5UGFyYW0ucGFnZU5vID0gdGhpcy50YWJsZS5wYWdlO1xyXG4gICAgICAgIHRoaXMuZ2V0Q2F0ZWdvcnlMaXN0KHNlYXJjaFZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdXBkYXRlUGFnZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMudGFibGUucGFnZVNpemUgIT09IGV2ZW50Py5wYWdlU2l6ZSkgdGhpcy50YWJsZS5yZXNldFBhZ2UoKTtcclxuXHJcbiAgICAgICAgdGhpcy50YWJsZS5wYWdlID1cclxuICAgICAgICAgICAgdGhpcy50YWJsZS5wYWdlU2l6ZSAhPT0gZXZlbnQ/LnBhZ2VTaXplID8gdGhpcy50YWJsZS5wYWdlIDogZXZlbnQ/LnBhZ2VJbmRleCArIDE7XHJcbiAgICAgICAgdGhpcy50YWJsZS5wYWdlU2l6ZSA9IGV2ZW50Py5wYWdlU2l6ZTtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5UGFyYW0ucGFnZU5vID0gdGhpcy50YWJsZS5wYWdlO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlQYXJhbS5wYWdlU2l6ZSA9IHRoaXMudGFibGUucGFnZVNpemU7XHJcblxyXG4gICAgICAgIHRoaXMuZ2V0Q2F0ZWdvcnlMaXN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNvcnQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50YWJsZS5kYXRhU291cmNlLnNvcnQgPSB0aGlzLm1hdFNvcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNoZWNrYm94TGFiZWwocm93PzogQ29udGFjdENhdGVnb3J5TW9kZWwpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghcm93KSByZXR1cm4gYCR7dGhpcy5pc0FsbFNlbGVjdGVkKCkgPyAnZGVzZWxlY3QnIDogJ3NlbGVjdCd9IGFsbGA7XHJcblxyXG4gICAgICAgIHJldHVybiBgJHt0aGlzLnNlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdykgPyAnZGVzZWxlY3QnIDogJ3NlbGVjdCd9IHJvdyAke3Jvdy5uYW1lICsgMX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc0FsbFNlbGVjdGVkKCkge1xyXG4gICAgICAgIGNvbnN0IG51bVNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoO1xyXG4gICAgICAgIGNvbnN0IG51bVJvd3MgPSB0aGlzLnRhYmxlLmRhdGFTb3VyY2UuZGF0YT8ubGVuZ3RoID8/IDA7XHJcblxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy50YWJsZS5kYXRhU291cmNlLmRhdGEgJiZcclxuICAgICAgICAgICAgdGhpcy50YWJsZS5kYXRhU291cmNlLmRhdGEubGVuZ3RoID4gMCAmJlxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZCAmJlxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGggPiAwXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZGF0YSBvZiB0aGlzLnRhYmxlLmRhdGFTb3VyY2UuZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmZpbHRlcigodCkgPT4gdC5pZCA9PT0gZGF0YS5pZCkubGVuZ3RoID4gMCkgY29udGludWU7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbnVtU2VsZWN0ZWQgPT09IG51bVJvd3M7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG1hc3RlclRvZ2dsZShpc0NoZWNrZWQ6IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAoIWlzQ2hlY2tlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xyXG4gICAgICAgICAgICB0aGlzLmNhdGVnb3J5U2VsZWN0ZWQgPSBbXTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMudGFyZ2V0QXVkaWVuY2UuZW1pdCh7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXRBdWRpZW5jZTogW10sXHJcbiAgICAgICAgICAgICAgICBudW1iZXJDb3VudDogMCxcclxuICAgICAgICAgICAgICAgIGlzVXBsb2FkOiB0aGlzLmlzU2hvd1VwbG9hZENTVixcclxuICAgICAgICAgICAgICAgIGZpbGU6IHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8udGFyZ2V0QXVkaWVuY2VGaWxlPy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFVSTDogdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LnRhcmdldEF1ZGllbmNlRmlsZT8udGFyZ2V0VVJMLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3QoLi4udGhpcy50YWJsZS5kYXRhU291cmNlLmRhdGEpO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlTZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkO1xyXG5cclxuICAgICAgICB0aGlzLnRhcmdldEF1ZGllbmNlLmVtaXQoe1xyXG4gICAgICAgICAgICB0YXJnZXRBdWRpZW5jZTogdGhpcy5jYXRlZ29yeVNlbGVjdGVkLm1hcCgodCkgPT4gdC5pZCksXHJcbiAgICAgICAgICAgIG51bWJlckNvdW50OiB0aGlzLmNhdGVnb3J5U2VsZWN0ZWQucmVkdWNlKChzdW0sIHgpID0+IHN1bSArIHgudG90YWxNZW1iZXJzLCAwKSxcclxuICAgICAgICAgICAgaXNVcGxvYWQ6IHRoaXMuaXNTaG93VXBsb2FkQ1NWLFxyXG4gICAgICAgICAgICBmaWxlOiB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8udGFyZ2V0QXVkaWVuY2VGaWxlPy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0VVJMOiB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8udGFyZ2V0QXVkaWVuY2VGaWxlPy50YXJnZXRVUkwsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uQ2hlY2tlZChpc0NoZWNrZWQ6IGJvb2xlYW4sIHJvdzogQ29udGFjdENhdGVnb3J5TW9kZWwpIHtcclxuICAgICAgICBpZiAoIWlzQ2hlY2tlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5kZXNlbGVjdCguLi50aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5maWx0ZXIoKHgpID0+IHguaWQgPT09IHJvdy5pZCkpO1xyXG4gICAgICAgICAgICB0aGlzLmNhdGVnb3J5U2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZDtcclxuXHJcbiAgICAgICAgICAgIHRoaXMudGFyZ2V0QXVkaWVuY2UuZW1pdCh7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXRBdWRpZW5jZTogdGhpcy5jYXRlZ29yeVNlbGVjdGVkLm1hcCgodCkgPT4gdC5pZCksXHJcbiAgICAgICAgICAgICAgICBudW1iZXJDb3VudDogdGhpcy5jYXRlZ29yeVNlbGVjdGVkLnJlZHVjZSgoc3VtLCB4KSA9PiBzdW0gKyB4LnRvdGFsTWVtYmVycywgMCksXHJcbiAgICAgICAgICAgICAgICBpc1VwbG9hZDogdGhpcy5pc1Nob3dVcGxvYWRDU1YsXHJcbiAgICAgICAgICAgICAgICBmaWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LnRhcmdldEF1ZGllbmNlRmlsZT8ubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRVUkw6IHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy50YXJnZXRBdWRpZW5jZUZpbGU/LnRhcmdldFVSTCxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KHJvdyk7XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeVNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQ7XHJcblxyXG4gICAgICAgIHRoaXMudGFyZ2V0QXVkaWVuY2UuZW1pdCh7XHJcbiAgICAgICAgICAgIHRhcmdldEF1ZGllbmNlOiB0aGlzLmNhdGVnb3J5U2VsZWN0ZWQubWFwKCh0KSA9PiB0LmlkKSxcclxuICAgICAgICAgICAgbnVtYmVyQ291bnQ6IHRoaXMuY2F0ZWdvcnlTZWxlY3RlZC5yZWR1Y2UoKHN1bSwgeCkgPT4gc3VtICsgeC50b3RhbE1lbWJlcnMsIDApLFxyXG4gICAgICAgICAgICBpc1VwbG9hZDogdGhpcy5pc1Nob3dVcGxvYWRDU1YsXHJcbiAgICAgICAgICAgIGZpbGU6IHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy50YXJnZXRBdWRpZW5jZUZpbGU/Lm5hbWUsXHJcbiAgICAgICAgICAgICAgICB0YXJnZXRVUkw6IHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy50YXJnZXRBdWRpZW5jZUZpbGU/LnRhcmdldFVSTCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNDaGVja2VkKHJvdzogQ29udGFjdENhdGVnb3J5TW9kZWwpIHtcclxuICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmZpbmQoKHgpID0+IHguaWQgPT09IHJvdy5pZCk7XHJcbiAgICAgICAgcmV0dXJuIGZvdW5kID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkRvd25sb2FkU2FtcGxlU2VydmljZSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBwYXJhbWV0ZXJMaXN0OiBBcnJheTxQYXJhbWV0ZXI+ID0gW1xyXG4gICAgICAgICAgICB0aGlzLmluaXRQYXJhbShcclxuICAgICAgICAgICAgICAgICdwbGF0Zm9ybScsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5mb3JtPy50ZW1wbGF0ZT8ucGxhdGZvcm0sXHJcbiAgICAgICAgICAgICAgICAnc3RyaW5nJ1xyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICB0aGlzLmluaXRQYXJhbShcclxuICAgICAgICAgICAgICAgICd0ZW1wbGF0ZU5hbWUnLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uZm9ybT8udGVtcGxhdGU/Lm5hbWUsXHJcbiAgICAgICAgICAgICAgICAnc3RyaW5nJ1xyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICB0aGlzLmluaXRQYXJhbShcclxuICAgICAgICAgICAgICAgICd0ZW1wbGF0ZUxhbmcnLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uZm9ybT8udGVtcGxhdGU/LmxhbmcsXHJcbiAgICAgICAgICAgICAgICAnc3RyaW5nJ1xyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICB0aGlzLmluaXRQYXJhbShcclxuICAgICAgICAgICAgICAgICdjYXRlZ29yeScsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3J5U2VsZWN0ZWQ/Lm1hcCgodCkgPT4gdC5pZCkuam9pbigpID8/IFtdLFxyXG4gICAgICAgICAgICAgICAgJ3N0cmluZydcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QocGFyYW1ldGVyTGlzdCwgJy9tZXNzYWdlL2J1bGt1cGxvYWQvdGVtcGxhdGUnLCAnR0VUJywgdHJ1ZSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcDogQXBwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgICAgICAgICAgZG93bmxvYWRCbG9iRmlsZShyZXNwLCAnU2FtcGxlLVVwbG9hZFBhcmFtZXRlci54bHN4Jyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnN1YnNjcmliZXJzLnB1c2goc3Vicyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIGNvbnN0IGZpbGU6IEZpbGVMaXN0ID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5maWxlcztcclxuICAgICAgICBjb25zdCBNQVhJTVVNX1NJWkUgPSAzMCAqIDEwMjQgKiAxMDI0O1xyXG5cclxuICAgICAgICBpZiAoZmlsZS5sZW5ndGggPT09IDApIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKGZpbGVbMF0uc2l6ZSA+IE1BWElNVU1fU0laRSkge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcignVXBsb2FkIG1lZGlhIGZhaWxlZCwgbWF4IHNpemUgMzBtYicpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmdldFByZXNpZ25lZFVybFNlcnZpY2UoZmlsZVswXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRQcmVzaWduZWRVcmxTZXJ2aWNlKGZpbGU6IEZpbGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlzVXBsb2FkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgY29uc3QgcGFyYW1ldGVyTGlzdDogQXJyYXk8UGFyYW1ldGVyPiA9IFtcclxuICAgICAgICAgICAgeyBuYW1lOiAnZmlsZU5hbWUnLCB2YWx1ZTogZmlsZS5uYW1lLCBpbjogJ3F1ZXJ5JywgdHlwZTogJ3N0cmluZycgfSxcclxuICAgICAgICAgICAgeyBuYW1lOiAnZmlsZVR5cGUnLCB2YWx1ZTogZmlsZS50eXBlLCBpbjogJ3F1ZXJ5JywgdHlwZTogJ3N0cmluZycgfSxcclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QocGFyYW1ldGVyTGlzdCwgJy9jYW1wYWlnbi91cGxvYWQvcHJlLXNpZ25lZC11cmwnLCAnR0VUJylcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgIChyZXNwOiBBcHBSZXNwb25zZTxhbnk+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3AgJiYgcmVzcC5kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkVG9TM1NlcnZpY2UoZmlsZSwgcmVzcC5kYXRhLnVybCwgcmVzcC5kYXRhLmZpbGVOYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4gKHRoaXMuaXNVcGxvYWQgPSBmYWxzZSlcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVycy5wdXNoKHN1YnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBsb2FkVG9TM1NlcnZpY2UoZmlsZTogRmlsZSwgczNVcmw6IHN0cmluZywgZmlsZU5hbWVTMzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hcGlBZGFwdGVyU2VydmljZS51cGxvYWRGaWxlVG9TMyhzM1VybCwgZmlsZSkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbmFsaXplVGFyZ2V0RmlsZVNlcnZpY2UoZmlsZU5hbWVTMyk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKCdGYWlsZWQgdXBsb2FkaW5nIHRvIFMzIHN0b3JhZ2UnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNVcGxvYWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1MzIFVwbG9hZCBFcnJvcjonLCBlcnIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZpbmFsaXplVGFyZ2V0RmlsZVNlcnZpY2UoZmlsZU5hbWVTMzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY2FtcGFpZ25JZCA9IHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5nZW5lcmFsSW5mb3JtYXRpb24/LmlkO1xyXG4gICAgICAgIGNvbnN0IHBhcmFtZXRlckxpc3Q6IEFycmF5PFBhcmFtZXRlcj4gPSBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdib2R5JyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB7IGZpbGVOYW1lOiBmaWxlTmFtZVMzIH0sXHJcbiAgICAgICAgICAgICAgICBpbjogJ2JvZHknLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXHJcbiAgICAgICAgICAgICAgICB3aXRob3V0S2V5RGF0YTogdHJ1ZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QocGFyYW1ldGVyTGlzdCwgYC9jYW1wYWlnbi8ke2NhbXBhaWduSWR9L3RhcmdldGZpbGVgLCAnUE9TVCcpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAocmVzcDogQXBwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzcCkgcmV0dXJuO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5pbmZvKCdVcGxvYWQgWExTWCBoYXMgYmVlbiB1cGxvYWRlZCBzdWNjZXNzZnVsbHknKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzVXBsb2FkID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFyZ2V0QXVkaWVuY2UuZW1pdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldEF1ZGllbmNlOiB0aGlzLmNhdGVnb3J5U2VsZWN0ZWQubWFwKCh0KSA9PiB0LmlkKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyQ291bnQ6IHRoaXMuY2F0ZWdvcnlTZWxlY3RlZC5yZWR1Y2UoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3VtLCB4KSA9PiBzdW0gKyB4LnRvdGFsTWVtYmVycyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBcclxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNVcGxvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGZpbGVOYW1lUzMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRVUkw6IHJlc3AuZGF0YT8udGFyZ2V0VVJMIHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICgpID0+ICh0aGlzLmlzVXBsb2FkID0gZmFsc2UpXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmliZXJzLmZvckVhY2goKGVhY2gpID0+IGVhY2gudW5zdWJzY3JpYmUoKSk7XHJcbiAgICB9XHJcbn1cclxuIl19
371
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LW51bWJlci1iYXNlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9uZXctY2FtcGFpZ24vbmV3LW51bWJlci1iYXNlcy9uZXctbnVtYmVyLWJhc2VzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU96RDtJQWdDSSxpQ0FDWSxpQkFBMkMsRUFDM0MsTUFBcUI7UUFEckIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQUMzQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBeEIxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMscUJBQWdCLEdBQTJCLEVBQUUsQ0FBQztRQUM5QyxjQUFTLEdBQUcsSUFBSSxjQUFjLENBQXVCLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvRCxvQkFBZSxHQUFh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QyxJQUFLLE9BQUEsR0FBRyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQXBCLENBQW9CLEVBQ2hDLENBQUMsQ0FDSjtnQkFDRCxRQUFRLEVBQUUsSUFBSTtnQkFDZCxJQUFJLEVBQUU7b0JBQ0YsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFNBQVMsRUFBRSxPQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLFNBQVMsS0FBSSxFQUFFO2lCQUN4QzthQUNKLENBQUMsQ0FBQztRQUNQLENBQUMsRUFDRCxjQUFNLE9BQUEsQ0FBQyxLQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUF2QixDQUF1QixDQUNoQyxDQUFDO1FBRU4sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELDZDQUFXLEdBQVg7UUFDSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBbEIsQ0FBa0IsQ0FBQyxDQUFDO0lBQzNELENBQUM7O2dCQXJYOEIsd0JBQXdCO2dCQUNuQyxhQUFhOztJQWhDakM7UUFEQyxNQUFNLEVBQUU7bUVBTU47SUFxQk07UUFBUixLQUFLLEVBQUU7bUVBQWdDO0lBRXBCO1FBQW5CLFNBQVMsQ0FBQyxPQUFPLENBQUM7NERBQWtCO0lBOUI1Qix1QkFBdUI7UUFMbkMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyx5dEpBQWdEOztTQUVuRCxDQUFDO09BQ1csdUJBQXVCLENBdVpuQztJQUFELDhCQUFDO0NBQUEsQUF2WkQsSUF1WkM7U0F2WlksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xyXG5pbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cEJvZHlSZXFQYWdpbmF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFBhcmFtZXRlciB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvbW9kZWxzL3V0aWwvYXBpLWFkYXB0ZXItc2VydmljZS1tb2RlbHMnO1xyXG5pbXBvcnQgeyBBcHBSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvbW9kZWxzL3V0aWwvYXBpLWR0by9yZXNwb25zZS1tb2RlbHMnO1xyXG5pbXBvcnQgeyBBcGlBZGFwdGVyU2VydmljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgZG93bmxvYWRCbG9iRmlsZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvdXRpbCc7XHJcbmltcG9ydCB7IENvbnRhY3RDYXRlZ29yeU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgVGFibGVNb2RlbCB9IGZyb20gJy4uLy4uL2NhbXBhaWduLWluZGV4L21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGliLW5ldy1udW1iZXItYmFzZXMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ldy1udW1iZXItYmFzZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbmV3LW51bWJlci1iYXNlcy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmV3TnVtYmVyQmFzZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB0YXJnZXRBdWRpZW5jZTogRXZlbnRFbWl0dGVyPHtcclxuICAgICAgICB0YXJnZXRBdWRpZW5jZTogc3RyaW5nW107XHJcbiAgICAgICAgbnVtYmVyQ291bnQ6IG51bWJlcjtcclxuICAgICAgICBpc1VwbG9hZDogYm9vbGVhbjtcclxuICAgICAgICBmaWxlOiBhbnk7XHJcbiAgICB9PjtcclxuXHJcbiAgICBwdWJsaWMgdGFibGU6IFRhYmxlTW9kZWw7XHJcbiAgICBwdWJsaWMgaXNVcGxvYWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc1Nob3dVcGxvYWRDU1Y6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBjYXRlZ29yeVNlbGVjdGVkOiBDb250YWN0Q2F0ZWdvcnlNb2RlbFtdID0gW107XHJcbiAgICBwdWJsaWMgc2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPENvbnRhY3RDYXRlZ29yeU1vZGVsPih0cnVlLCBbXSk7XHJcbiAgICBwdWJsaWMgZXh0RmlsZUFjY2VwdGVkOiBzdHJpbmdbXSA9IFtcclxuICAgICAgICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcclxuICAgICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnLFxyXG4gICAgICAgICcuY3N2JyxcclxuICAgIF07XHJcbiAgICBwdWJsaWMgZmlsZVNlbGVjdGVkOiB7XHJcbiAgICAgICAgbmFtZTogc3RyaW5nO1xyXG4gICAgICAgIHRhcmdldFVSTDogc3RyaW5nO1xyXG4gICAgfSA9IG51bGw7XHJcblxyXG4gICAgcHJpdmF0ZSBjYXRlZ29yeVBhcmFtOiBIdHRwQm9keVJlcVBhZ2luYXRpb25Nb2RlbDtcclxuICAgIHByaXZhdGUgc3Vic2NyaWJlcnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gICAgQElucHV0KCkgcHVibGljIGlzUmVhZE9ubHlNb2RlOiBib29sZWFuO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoTWF0U29ydCkgbWF0U29ydDogTWF0U29ydDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGFwaUFkYXB0ZXJTZXJ2aWNlOiBBcGlBZGFwdGVyU2VydmljZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSB0b2FzdHI6IFRvYXN0clNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMudGFyZ2V0QXVkaWVuY2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeVBhcmFtID0gbmV3IEh0dHBCb2R5UmVxUGFnaW5hdGlvbk1vZGVsKCk7XHJcblxyXG4gICAgICAgIHRoaXMuaW5pdFRhYmxlKCk7XHJcbiAgICAgICAgdGhpcy5nZXRDYXRlZ29yeUxpc3QoKTtcclxuXHJcbiAgICAgICAgdGhpcy50YXJnZXRBdWRpZW5jZS5lbWl0KHtcclxuICAgICAgICAgICAgdGFyZ2V0QXVkaWVuY2U6IFtdLFxyXG4gICAgICAgICAgICBudW1iZXJDb3VudDogMCxcclxuICAgICAgICAgICAgaXNVcGxvYWQ6IHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5nZW5lcmFsSW5mb3JtYXRpb24/LmZvcm0/LmlzVXBsb2FkLFxyXG4gICAgICAgICAgICBmaWxlOiB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8udGFyZ2V0QXVkaWVuY2VGaWxlPy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0VVJMOiB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8udGFyZ2V0QXVkaWVuY2VGaWxlPy50YXJnZXRVUkwsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0VGFibGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50YWJsZSA9IG5ldyBUYWJsZU1vZGVsKCk7XHJcbiAgICAgICAgdGhpcy50YWJsZS5sYWJlbHMgPSBbXHJcbiAgICAgICAgICAgICdzZWxlY3QnLFxyXG4gICAgICAgICAgICAnQ2F0ZWdvcnknLFxyXG4gICAgICAgICAgICAnTm8uIE9mIEN1c3RvbWVyJyxcclxuICAgICAgICAgICAgJ0NyZWF0ZWQgRGF0ZScsXHJcbiAgICAgICAgICAgICdVcGRhdGVkIERhdGUnLFxyXG4gICAgICAgIF07XHJcbiAgICAgICAgdGhpcy50YWJsZS5jb2x1bW5zID0gWydzZWxlY3QnLCAnbmFtZScsICd0b3RhbE1lbWJlcnMnLCAnY3JlYXRlZERhdGUnLCAndXBkYXRlZERhdGUnXTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2V0Q2FtcGFpZ25TdG9yYWdlKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0ZWxpbi5jYW1wYWlnbicpXHJcbiAgICAgICAgICAgID8gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGVsaW4uY2FtcGFpZ24nKSlcclxuICAgICAgICAgICAgOiB7fTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXRFZGl0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChPYmplY3QuZW50cmllcyh0aGlzLmdldENhbXBhaWduU3RvcmFnZSkubGVuZ3RoID09PSAwKSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IGdlbkluZm9Gb3JtID0gdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uZm9ybTtcclxuICAgICAgICB0aGlzLmlzU2hvd1VwbG9hZENTViA9IGdlbkluZm9Gb3JtPy5pc1VwbG9hZCB8fCBnZW5JbmZvRm9ybT8uaXNEb3dubG9hZFZhcmlhYmxlWExTO1xyXG5cclxuICAgICAgICB0aGlzLmZpbGVTZWxlY3RlZCA9IHtcclxuICAgICAgICAgICAgbmFtZTogdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LnRhcmdldEF1ZGllbmNlRmlsZT8ubmFtZSxcclxuICAgICAgICAgICAgdGFyZ2V0VVJMOiB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8udGFyZ2V0QXVkaWVuY2VGaWxlPy50YXJnZXRVUkwsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy50YWJsZS5kYXRhU291cmNlLmRhdGE/LmZvckVhY2goKGVhY2gpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy50YXJnZXRBdWRpZW5jZT8uaW5jbHVkZXMoZWFjaC5pZCkpXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hlY2tlZCh0cnVlLCBlYWNoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldENhdGVnb3J5TGlzdChmaWx0ZXI6IHN0cmluZyA9ICcnKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5pc1JlYWRPbmx5TW9kZSkgdGhpcy5jYXRlZ29yeVBhcmFtLnBhZ2VTaXplID0gMTAwMDtcclxuXHJcbiAgICAgICAgY29uc3QgcGFyYW1ldGVyTGlzdDogQXJyYXk8UGFyYW1ldGVyPiA9IFtcclxuICAgICAgICAgICAgdGhpcy5pbml0UGFyYW0oJ3BhZ2VObycsIHRoaXMuY2F0ZWdvcnlQYXJhbS5wYWdlTm8sICdudW1iZXInKSxcclxuICAgICAgICAgICAgdGhpcy5pbml0UGFyYW0oJ3Jvd1BlclBhZ2UnLCB0aGlzLmNhdGVnb3J5UGFyYW0ucGFnZVNpemUsICdudW1iZXInKSxcclxuICAgICAgICAgICAgdGhpcy5pbml0UGFyYW0oJ2ZpbHRlcicsIGZpbHRlciwgJ3N0cmluZycpLFxyXG4gICAgICAgICAgICB0aGlzLmluaXRQYXJhbShcclxuICAgICAgICAgICAgICAgICdwbGF0Zm9ybScsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5mb3JtPy5tZWRpdW0sXHJcbiAgICAgICAgICAgICAgICAnc3RyaW5nJ1xyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgIF07XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5mb3JtPy5tZWRpdW0gPT09ICdMSU5FJylcclxuICAgICAgICAgICAgcGFyYW1ldGVyTGlzdC5wdXNoKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5pbml0UGFyYW0oXHJcbiAgICAgICAgICAgICAgICAgICAgJ2FjY291bnRJZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uZm9ybT8uZnJvbT8uaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3N0cmluZydcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXNSZWFkT25seU1vZGUpIHBhcmFtZXRlckxpc3QucHVzaCh0aGlzLmluaXRQYXJhbSgnc3VtbWFyeScsIHRydWUsICdzdHJpbmcnKSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHN1YnMgPSB0aGlzLmFwaUFkYXB0ZXJTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5leGVjdXRlQXBpUmVxdWVzdChwYXJhbWV0ZXJMaXN0LCAnL2FkbWluL2NhdGVnb3J5JywgJ0dFVCcpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3A6IEFwcFJlc3BvbnNlPENvbnRhY3RDYXRlZ29yeU1vZGVsW10+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1JlYWRPbmx5TW9kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUuZGF0YVNvdXJjZS5kYXRhID0gcmVzcC5kYXRhPy5maWx0ZXIoKGVhY2gpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy50YXJnZXRBdWRpZW5jZT8uaW5jbHVkZXMoZWFjaC5pZClcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3J5U2VsZWN0ZWQgPSB0aGlzLnRhYmxlLmRhdGFTb3VyY2UuZGF0YTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdEVkaXQoKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZS5kYXRhU291cmNlLmRhdGEgPSByZXNwLmRhdGE7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlLnNldE5leHRQYWdlKHJlc3AuaGF2ZU5leHQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdEVkaXQoKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXRQYXJhbShfbmFtZTogc3RyaW5nLCBfdmFsdWU6IGFueSwgX3R5cGU6IHN0cmluZyk6IFBhcmFtZXRlciB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbmFtZTogX25hbWUsXHJcbiAgICAgICAgICAgIHZhbHVlOiBfdmFsdWUsXHJcbiAgICAgICAgICAgIGluOiAncXVlcnknLFxyXG4gICAgICAgICAgICB0eXBlOiBfdHlwZSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB1cGRhdGVTZWFyY2goc2VhcmNoVmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudGFibGUucmVzZXRQYWdlKCk7XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeVBhcmFtLnBhZ2VObyA9IHRoaXMudGFibGUucGFnZTtcclxuICAgICAgICB0aGlzLmdldENhdGVnb3J5TGlzdChzZWFyY2hWYWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHVwZGF0ZVBhZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnRhYmxlLnBhZ2VTaXplICE9PSBldmVudD8ucGFnZVNpemUpIHRoaXMudGFibGUucmVzZXRQYWdlKCk7XHJcblxyXG4gICAgICAgIHRoaXMudGFibGUucGFnZSA9XHJcbiAgICAgICAgICAgIHRoaXMudGFibGUucGFnZVNpemUgIT09IGV2ZW50Py5wYWdlU2l6ZSA/IHRoaXMudGFibGUucGFnZSA6IGV2ZW50Py5wYWdlSW5kZXggKyAxO1xyXG4gICAgICAgIHRoaXMudGFibGUucGFnZVNpemUgPSBldmVudD8ucGFnZVNpemU7XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeVBhcmFtLnBhZ2VObyA9IHRoaXMudGFibGUucGFnZTtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5UGFyYW0ucGFnZVNpemUgPSB0aGlzLnRhYmxlLnBhZ2VTaXplO1xyXG5cclxuICAgICAgICB0aGlzLmdldENhdGVnb3J5TGlzdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzb3J0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudGFibGUuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5tYXRTb3J0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjaGVja2JveExhYmVsKHJvdz86IENvbnRhY3RDYXRlZ29yeU1vZGVsKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIXJvdykgcmV0dXJuIGAke3RoaXMuaXNBbGxTZWxlY3RlZCgpID8gJ2Rlc2VsZWN0JyA6ICdzZWxlY3QnfSBhbGxgO1xyXG5cclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5zZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpID8gJ2Rlc2VsZWN0JyA6ICdzZWxlY3QnfSByb3cgJHtyb3cubmFtZSArIDF9YDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNBbGxTZWxlY3RlZCgpIHtcclxuICAgICAgICBjb25zdCBudW1TZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aDtcclxuICAgICAgICBjb25zdCBudW1Sb3dzID0gdGhpcy50YWJsZS5kYXRhU291cmNlLmRhdGE/Lmxlbmd0aCA/PyAwO1xyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMudGFibGUuZGF0YVNvdXJjZS5kYXRhICYmXHJcbiAgICAgICAgICAgIHRoaXMudGFibGUuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCA+IDAgJiZcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQgJiZcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoID4gMFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGRhdGEgb2YgdGhpcy50YWJsZS5kYXRhU291cmNlLmRhdGEpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5maWx0ZXIoKHQpID0+IHQuaWQgPT09IGRhdGEuaWQpLmxlbmd0aCA+IDApIGNvbnRpbnVlO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBtYXN0ZXJUb2dnbGUoaXNDaGVja2VkOiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKCFpc0NoZWNrZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtcclxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeVNlbGVjdGVkID0gW107XHJcblxyXG4gICAgICAgICAgICB0aGlzLnRhcmdldEF1ZGllbmNlLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0QXVkaWVuY2U6IFtdLFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyQ291bnQ6IDAsXHJcbiAgICAgICAgICAgICAgICBpc1VwbG9hZDogdGhpcy5pc1Nob3dVcGxvYWRDU1YsXHJcbiAgICAgICAgICAgICAgICBmaWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LnRhcmdldEF1ZGllbmNlRmlsZT8ubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRVUkw6IHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy50YXJnZXRBdWRpZW5jZUZpbGU/LnRhcmdldFVSTCxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KC4uLnRoaXMudGFibGUuZGF0YVNvdXJjZS5kYXRhKTtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5U2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZDtcclxuXHJcbiAgICAgICAgdGhpcy50YXJnZXRBdWRpZW5jZS5lbWl0KHtcclxuICAgICAgICAgICAgdGFyZ2V0QXVkaWVuY2U6IHRoaXMuY2F0ZWdvcnlTZWxlY3RlZC5tYXAoKHQpID0+IHQuaWQpLFxyXG4gICAgICAgICAgICBudW1iZXJDb3VudDogdGhpcy5jYXRlZ29yeVNlbGVjdGVkLnJlZHVjZSgoc3VtLCB4KSA9PiBzdW0gKyB4LnRvdGFsTWVtYmVycywgMCksXHJcbiAgICAgICAgICAgIGlzVXBsb2FkOiB0aGlzLmlzU2hvd1VwbG9hZENTVixcclxuICAgICAgICAgICAgZmlsZToge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LnRhcmdldEF1ZGllbmNlRmlsZT8ubmFtZSxcclxuICAgICAgICAgICAgICAgIHRhcmdldFVSTDogdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LnRhcmdldEF1ZGllbmNlRmlsZT8udGFyZ2V0VVJMLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkNoZWNrZWQoaXNDaGVja2VkOiBib29sZWFuLCByb3c6IENvbnRhY3RDYXRlZ29yeU1vZGVsKSB7XHJcbiAgICAgICAgaWYgKCFpc0NoZWNrZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uZGVzZWxlY3QoLi4udGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQuZmlsdGVyKCh4KSA9PiB4LmlkID09PSByb3cuaWQpKTtcclxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeVNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQ7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnRhcmdldEF1ZGllbmNlLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0QXVkaWVuY2U6IHRoaXMuY2F0ZWdvcnlTZWxlY3RlZC5tYXAoKHQpID0+IHQuaWQpLFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyQ291bnQ6IHRoaXMuY2F0ZWdvcnlTZWxlY3RlZC5yZWR1Y2UoKHN1bSwgeCkgPT4gc3VtICsgeC50b3RhbE1lbWJlcnMsIDApLFxyXG4gICAgICAgICAgICAgICAgaXNVcGxvYWQ6IHRoaXMuaXNTaG93VXBsb2FkQ1NWLFxyXG4gICAgICAgICAgICAgICAgZmlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy50YXJnZXRBdWRpZW5jZUZpbGU/Lm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0VVJMOiB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8udGFyZ2V0QXVkaWVuY2VGaWxlPy50YXJnZXRVUkwsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdChyb3cpO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlTZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkO1xyXG5cclxuICAgICAgICB0aGlzLnRhcmdldEF1ZGllbmNlLmVtaXQoe1xyXG4gICAgICAgICAgICB0YXJnZXRBdWRpZW5jZTogdGhpcy5jYXRlZ29yeVNlbGVjdGVkLm1hcCgodCkgPT4gdC5pZCksXHJcbiAgICAgICAgICAgIG51bWJlckNvdW50OiB0aGlzLmNhdGVnb3J5U2VsZWN0ZWQucmVkdWNlKChzdW0sIHgpID0+IHN1bSArIHgudG90YWxNZW1iZXJzLCAwKSxcclxuICAgICAgICAgICAgaXNVcGxvYWQ6IHRoaXMuaXNTaG93VXBsb2FkQ1NWLFxyXG4gICAgICAgICAgICBmaWxlOiB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8udGFyZ2V0QXVkaWVuY2VGaWxlPy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0VVJMOiB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8udGFyZ2V0QXVkaWVuY2VGaWxlPy50YXJnZXRVUkwsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzQ2hlY2tlZChyb3c6IENvbnRhY3RDYXRlZ29yeU1vZGVsKSB7XHJcbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5maW5kKCh4KSA9PiB4LmlkID09PSByb3cuaWQpO1xyXG4gICAgICAgIHJldHVybiBmb3VuZCA/IHRydWUgOiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25Eb3dubG9hZFNhbXBsZVNlcnZpY2UoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZ2VuSW5mb0Zvcm0gPSB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5mb3JtO1xyXG4gICAgICAgIGNvbnN0IGlzTmVlZFNhdmUgPSBnZW5JbmZvRm9ybT8uaXNOZWVkU2F2ZTtcclxuXHJcbiAgICAgICAgY29uc3QgcGFyYW1ldGVyTGlzdDogQXJyYXk8UGFyYW1ldGVyPiA9IFtcclxuICAgICAgICAgICAgdGhpcy5pbml0UGFyYW0oJ3BsYXRmb3JtJywgZ2VuSW5mb0Zvcm0/LnRlbXBsYXRlPy5wbGF0Zm9ybSB8fCAnV0EnLCAnc3RyaW5nJyksXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgaWYgKGlzTmVlZFNhdmUpIHtcclxuICAgICAgICAgICAgLy8gU0tFTkFSSU8gMTogVVNFIEVYSVNUSU5HIC8gVEVNUExBVEUgU1VEQUggRElTQVZFXHJcbiAgICAgICAgICAgIHBhcmFtZXRlckxpc3QucHVzaChcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFBhcmFtKCd0ZW1wbGF0ZU5hbWUnLCBnZW5JbmZvRm9ybT8udGVtcGxhdGU/Lm5hbWUsICdzdHJpbmcnKSxcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFBhcmFtKCd0ZW1wbGF0ZUxhbmcnLCBnZW5JbmZvRm9ybT8udGVtcGxhdGU/LmxhbmcsICdzdHJpbmcnKSxcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFBhcmFtKFxyXG4gICAgICAgICAgICAgICAgICAgICdjYXRlZ29yeScsXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeVNlbGVjdGVkPy5tYXAoKHQpID0+IHQuaWQpLmpvaW4oKSA/PyAnJyxcclxuICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJ1xyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFNLRU5BUklPIDI6IENSRUFURSBORVcgKEJlbHVtIGRpc2F2ZSwgYnV0dWggdGV4dCAmIGV4YW1wbGVzKVxyXG4gICAgICAgICAgICBjb25zdCBzYWZlQm9keVRleHQgPSBlbmNvZGVVUklDb21wb25lbnQoZ2VuSW5mb0Zvcm0/LnRleHQgfHwgJycpO1xyXG4gICAgICAgICAgICBwYXJhbWV0ZXJMaXN0LnB1c2godGhpcy5pbml0UGFyYW0oJ2JvZHlUZXh0Jywgc2FmZUJvZHlUZXh0LCAnc3RyaW5nJykpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgdmFyaWFibGVzID0gZ2VuSW5mb0Zvcm0/LnZhcmlhYmxlcztcclxuICAgICAgICAgICAgaWYgKHZhcmlhYmxlcyAmJiBBcnJheS5pc0FycmF5KHZhcmlhYmxlcykgJiYgdmFyaWFibGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGJvZHlFeGFtcGxlc1N0cmluZyA9IHZhcmlhYmxlcy5tYXAoKHY6IGFueSkgPT4gdi5wYXJhbU5hbWUpLmpvaW4oJywnKTtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBzYWZlQm9keUV4YW1wbGVzID0gZW5jb2RlVVJJQ29tcG9uZW50KGJvZHlFeGFtcGxlc1N0cmluZyk7XHJcblxyXG4gICAgICAgICAgICAgICAgcGFyYW1ldGVyTGlzdC5wdXNoKHRoaXMuaW5pdFBhcmFtKCdib2R5RXhhbXBsZXMnLCBzYWZlQm9keUV4YW1wbGVzLCAnc3RyaW5nJykpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoZ2VuSW5mb0Zvcm0/LnRlbXBsYXRlPy5oZWFkZXI/LnRleHQpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNhZmVIZWFkZXJUZXh0ID0gZW5jb2RlVVJJQ29tcG9uZW50KGdlbkluZm9Gb3JtLnRlbXBsYXRlLmhlYWRlci50ZXh0KTtcclxuICAgICAgICAgICAgICAgIHBhcmFtZXRlckxpc3QucHVzaCh0aGlzLmluaXRQYXJhbSgnaGVhZGVyVGV4dCcsIHNhZmVIZWFkZXJUZXh0LCAnc3RyaW5nJykpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QocGFyYW1ldGVyTGlzdCwgJy9tZXNzYWdlL2J1bGt1cGxvYWQvdGVtcGxhdGUnLCAnR0VUJywgdHJ1ZSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcDogQXBwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgICAgICAgICAgZG93bmxvYWRCbG9iRmlsZShyZXNwLCAnU2FtcGxlLVVwbG9hZFBhcmFtZXRlci54bHN4Jyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnN1YnNjcmliZXJzLnB1c2goc3Vicyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIGNvbnN0IGZpbGU6IEZpbGVMaXN0ID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5maWxlcztcclxuICAgICAgICBjb25zdCBNQVhJTVVNX1NJWkUgPSAzMCAqIDEwMjQgKiAxMDI0O1xyXG5cclxuICAgICAgICBpZiAoZmlsZS5sZW5ndGggPT09IDApIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKGZpbGVbMF0uc2l6ZSA+IE1BWElNVU1fU0laRSkge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcignVXBsb2FkIG1lZGlhIGZhaWxlZCwgbWF4IHNpemUgMzBtYicpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmdldFByZXNpZ25lZFVybFNlcnZpY2UoZmlsZVswXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRQcmVzaWduZWRVcmxTZXJ2aWNlKGZpbGU6IEZpbGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlzVXBsb2FkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgY29uc3QgcGFyYW1ldGVyTGlzdDogQXJyYXk8UGFyYW1ldGVyPiA9IFtcclxuICAgICAgICAgICAgeyBuYW1lOiAnZmlsZU5hbWUnLCB2YWx1ZTogZmlsZS5uYW1lLCBpbjogJ3F1ZXJ5JywgdHlwZTogJ3N0cmluZycgfSxcclxuICAgICAgICAgICAgeyBuYW1lOiAnZmlsZVR5cGUnLCB2YWx1ZTogZmlsZS50eXBlLCBpbjogJ3F1ZXJ5JywgdHlwZTogJ3N0cmluZycgfSxcclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QocGFyYW1ldGVyTGlzdCwgJy9jYW1wYWlnbi91cGxvYWQvcHJlLXNpZ25lZC11cmwnLCAnR0VUJylcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgIChyZXNwOiBBcHBSZXNwb25zZTxhbnk+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3AgJiYgcmVzcC5kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkVG9TM1NlcnZpY2UoZmlsZSwgcmVzcC5kYXRhLnVybCwgcmVzcC5kYXRhLmZpbGVOYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4gKHRoaXMuaXNVcGxvYWQgPSBmYWxzZSlcclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVycy5wdXNoKHN1YnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBsb2FkVG9TM1NlcnZpY2UoZmlsZTogRmlsZSwgczNVcmw6IHN0cmluZywgZmlsZU5hbWVTMzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hcGlBZGFwdGVyU2VydmljZS51cGxvYWRGaWxlVG9TMyhzM1VybCwgZmlsZSkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbmFsaXplVGFyZ2V0RmlsZVNlcnZpY2UoZmlsZU5hbWVTMyk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKCdGYWlsZWQgdXBsb2FkaW5nIHRvIFMzIHN0b3JhZ2UnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNVcGxvYWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1MzIFVwbG9hZCBFcnJvcjonLCBlcnIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZpbmFsaXplVGFyZ2V0RmlsZVNlcnZpY2UoZmlsZU5hbWVTMzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY2FtcGFpZ25JZCA9IHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5nZW5lcmFsSW5mb3JtYXRpb24/LmlkO1xyXG4gICAgICAgIGNvbnN0IHBhcmFtZXRlckxpc3Q6IEFycmF5PFBhcmFtZXRlcj4gPSBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdib2R5JyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB7IGZpbGVOYW1lOiBmaWxlTmFtZVMzIH0sXHJcbiAgICAgICAgICAgICAgICBpbjogJ2JvZHknLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXHJcbiAgICAgICAgICAgICAgICB3aXRob3V0S2V5RGF0YTogdHJ1ZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QocGFyYW1ldGVyTGlzdCwgYC9jYW1wYWlnbi8ke2NhbXBhaWduSWR9L3RhcmdldGZpbGVgLCAnUE9TVCcpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAocmVzcDogQXBwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzcCkgcmV0dXJuO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5pbmZvKCdVcGxvYWQgWExTWCBoYXMgYmVlbiB1cGxvYWRlZCBzdWNjZXNzZnVsbHknKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzVXBsb2FkID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFyZ2V0QXVkaWVuY2UuZW1pdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldEF1ZGllbmNlOiB0aGlzLmNhdGVnb3J5U2VsZWN0ZWQubWFwKCh0KSA9PiB0LmlkKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyQ291bnQ6IHRoaXMuY2F0ZWdvcnlTZWxlY3RlZC5yZWR1Y2UoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3VtLCB4KSA9PiBzdW0gKyB4LnRvdGFsTWVtYmVycyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBcclxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNVcGxvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGZpbGVOYW1lUzMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRVUkw6IHJlc3AuZGF0YT8udGFyZ2V0VVJMIHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICgpID0+ICh0aGlzLmlzVXBsb2FkID0gZmFsc2UpXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmliZXJzLmZvckVhY2goKGVhY2gpID0+IGVhY2gudW5zdWJzY3JpYmUoKSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -19,6 +19,7 @@ export var GeneralInformationWAMessageValidationConst = {
19
19
  catalogue: [{ type: 'required', message: 'Catalog is required' }],
20
20
  product: [{ type: 'required', message: 'Product is required' }],
21
21
  body: [{ type: 'maxlength', message: 'Maximum character 100' }],
22
+ paramName: [{ type: 'required', message: 'Variable Name is required' }],
22
23
  };
23
24
  export var GeneralInformationEmailMessageValidationConst = {
24
25
  channel: [{ type: 'required', message: 'Message Type is required' }],
@@ -56,4 +57,4 @@ export var SchedulerMessageValidationConst = {
56
57
  startDate: [{ type: 'required', message: 'Select Date is required' }],
57
58
  startTime: [{ type: 'required', message: 'Select Time is required' }],
58
59
  };
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1tZXNzYWdlLmNvbnN0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFkbGZlL2NhbXBhaWduLW1hbmFnZW1lbnQtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL2NvbnN0L3ZhbGlkYXRpb24tbWVzc2FnZS5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBTSx3Q0FBd0MsR0FBRztJQUNwRCxZQUFZLEVBQUU7UUFDVixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFO1FBQ2hFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUU7S0FDMUQ7SUFDRCxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLENBQUM7Q0FDakUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLDBDQUEwQyxHQUFHO0lBQ3RELE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQztJQUNwRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUM7SUFDekQsSUFBSSxFQUFFO1FBQ0YsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRTtRQUNqRCxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFO0tBQzNEO0lBQ0QsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxDQUFDO0lBQ2hFLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztJQUM3RCxRQUFRLEVBQUUsQ0FBQyxF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RUFBRSxDQUFDO0lBQy9ELFlBQVksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztDQUN4RSxDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sK0JBQStCLEdBQUc7SUFDM0MsU0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxDQUFDO0lBQ3JFLFNBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztDQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEdlbmVyYWxJbmZvcm1hdGlvbk1lc3NhZ2VWYWxpZGF0aW9uQ29uc3QgPSB7XHJcbiAgICBjYW1wYWlnbk5hbWU6IFtcclxuICAgICAgICB7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdHZW5lcmFsIEluZm9ybWF0aW9uIGlzIHJlcXVpcmVkJyB9LFxyXG4gICAgICAgIHsgdHlwZTogJ21heGxlbmd0aCcsIG1lc3NhZ2U6ICdNYXhpbXVtIGNoYXJhY3RlciAxMDAnIH0sXHJcbiAgICBdLFxyXG4gICAgbWVkaXVtOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnQ2hhbm5lbCBpcyByZXF1aXJlZCcgfV0sXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgR2VuZXJhbEluZm9ybWF0aW9uV0FNZXNzYWdlVmFsaWRhdGlvbkNvbnN0ID0ge1xyXG4gICAgY2hhbm5lbDogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ01lc3NhZ2UgVHlwZSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICBmcm9tOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnRnJvbSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICB0ZXh0OiBbXHJcbiAgICAgICAgeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGV4dCBpcyByZXF1aXJlZCcgfSxcclxuICAgICAgICB7IHR5cGU6ICdtYXhsZW5ndGgnLCBtZXNzYWdlOiAnTWF4aW11bSBjaGFyYWN0ZXIgMTAyNCcgfSxcclxuICAgIF0sXHJcbiAgICBtZWRpYTogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ01lZGlhIFR5cGUgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgZmlsZU5hbWU6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdGaWxlIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHRlbXBsYXRlOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGVtcGxhdGUgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgY2F0ZWdvcnk6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdDYXRlZ29yeSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICBjYXRhbG9ndWU6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdDYXRhbG9nIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHByb2R1Y3Q6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdQcm9kdWN0IGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIGJvZHk6IFt7IHR5cGU6ICdtYXhsZW5ndGgnLCBtZXNzYWdlOiAnTWF4aW11bSBjaGFyYWN0ZXIgMTAwJyB9XSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBHZW5lcmFsSW5mb3JtYXRpb25FbWFpbE1lc3NhZ2VWYWxpZGF0aW9uQ29uc3QgPSB7XHJcbiAgICBjaGFubmVsOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnTWVzc2FnZSBUeXBlIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIGZyb206IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdGcm9tIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHRleHQ6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdUZXh0IGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHRlbXBsYXRlOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGVtcGxhdGUgaXMgcmVxdWlyZWQnIH1dLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEdlbmVyYWxJbmZvcm1hdGlvblNNU01lc3NhZ2VWYWxpZGF0aW9uQ29uc3QgPSB7XHJcbiAgICBjaGFubmVsOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnTWVzc2FnZSBUeXBlIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIGZyb206IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdGcm9tIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHRleHQ6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdUZXh0IGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHRlbXBsYXRlOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGVtcGxhdGUgaXMgcmVxdWlyZWQnIH1dLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEdlbmVyYWxJbmZvcm1hdGlvbkxpbmVNZXNzYWdlVmFsaWRhdGlvbkNvbnN0ID0ge1xyXG4gICAgY2hhbm5lbDogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ01lc3NhZ2UgVHlwZSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICBmcm9tOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnRnJvbSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICB0ZXh0OiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGV4dCBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICB0ZW1wbGF0ZTogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ1RlbXBsYXRlIGlzIHJlcXVpcmVkJyB9XSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBGYWlsb3Zlck1lY2hhbmlzbVZhbGlkYXRpb25Db25zdCA9IHtcclxuICAgIGludGVydmFsOiBbXHJcbiAgICAgICAgeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnSW50ZXJ2YWwgVGltZSBpcyByZXF1aXJlZCcgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHR5cGU6ICdpbnRlcnZhbFRpbWUnLFxyXG4gICAgICAgICAgICBtZXNzYWdlOiAnTXVzdCBiZSBncmVhdGVyIHRoYW4gMCBhbmQgd2l0aG91dCBkZWNpbWFsJyxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIHR5cGU6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdNYWluIFJ1bGVzIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIGFjY291bnRJZDogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ0FjY291bnQgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgc3ViamVjdDogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ1N1YmplY3QgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgbWVzc2FnZTogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ01lc3NhZ2UgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgdGVtcGxhdGVOYW1lOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGVtcGxhdGUgaXMgcmVxdWlyZWQnIH1dLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IFNjaGVkdWxlck1lc3NhZ2VWYWxpZGF0aW9uQ29uc3QgPSB7XHJcbiAgICBzdGFydERhdGU6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdTZWxlY3QgRGF0ZSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICBzdGFydFRpbWU6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdTZWxlY3QgVGltZSBpcyByZXF1aXJlZCcgfV0sXHJcbn07XHJcbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1tZXNzYWdlLmNvbnN0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFkbGZlL2NhbXBhaWduLW1hbmFnZW1lbnQtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL2NvbnN0L3ZhbGlkYXRpb24tbWVzc2FnZS5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBTSx3Q0FBd0MsR0FBRztJQUNwRCxZQUFZLEVBQUU7UUFDVixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFO1FBQ2hFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUU7S0FDMUQ7SUFDRCxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLENBQUM7Q0FDakUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLDBDQUEwQyxHQUFHO0lBQ3RELE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQztJQUNwRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUM7SUFDekQsSUFBSSxFQUFFO1FBQ0YsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRTtRQUNqRCxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFO0tBQzNEO0lBQ0QsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxDQUFDO0lBQ2hFLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztJQUM3RCxRQUFRLEVBQUUsQ0FBQyxF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RUFBRSxDQUFDO0lBQy9ELE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztJQUMvRCxZQUFZLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLENBQUM7Q0FDeEUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLCtCQUErQixHQUFHO0lBQzNDLFNBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztJQUNyRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLENBQUM7Q0FDeEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBHZW5lcmFsSW5mb3JtYXRpb25NZXNzYWdlVmFsaWRhdGlvbkNvbnN0ID0ge1xyXG4gICAgY2FtcGFpZ25OYW1lOiBbXHJcbiAgICAgICAgeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnR2VuZXJhbCBJbmZvcm1hdGlvbiBpcyByZXF1aXJlZCcgfSxcclxuICAgICAgICB7IHR5cGU6ICdtYXhsZW5ndGgnLCBtZXNzYWdlOiAnTWF4aW11bSBjaGFyYWN0ZXIgMTAwJyB9LFxyXG4gICAgXSxcclxuICAgIG1lZGl1bTogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ0NoYW5uZWwgaXMgcmVxdWlyZWQnIH1dLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEdlbmVyYWxJbmZvcm1hdGlvbldBTWVzc2FnZVZhbGlkYXRpb25Db25zdCA9IHtcclxuICAgIGNoYW5uZWw6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdNZXNzYWdlIFR5cGUgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgZnJvbTogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ0Zyb20gaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgdGV4dDogW1xyXG4gICAgICAgIHsgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ1RleHQgaXMgcmVxdWlyZWQnIH0sXHJcbiAgICAgICAgeyB0eXBlOiAnbWF4bGVuZ3RoJywgbWVzc2FnZTogJ01heGltdW0gY2hhcmFjdGVyIDEwMjQnIH0sXHJcbiAgICBdLFxyXG4gICAgbWVkaWE6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdNZWRpYSBUeXBlIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIGZpbGVOYW1lOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnRmlsZSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICB0ZW1wbGF0ZTogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ1RlbXBsYXRlIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIGNhdGVnb3J5OiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnQ2F0ZWdvcnkgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgY2F0YWxvZ3VlOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnQ2F0YWxvZyBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICBwcm9kdWN0OiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnUHJvZHVjdCBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICBib2R5OiBbeyB0eXBlOiAnbWF4bGVuZ3RoJywgbWVzc2FnZTogJ01heGltdW0gY2hhcmFjdGVyIDEwMCcgfV0sXHJcbiAgICBwYXJhbU5hbWU6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdWYXJpYWJsZSBOYW1lIGlzIHJlcXVpcmVkJyB9XSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBHZW5lcmFsSW5mb3JtYXRpb25FbWFpbE1lc3NhZ2VWYWxpZGF0aW9uQ29uc3QgPSB7XHJcbiAgICBjaGFubmVsOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnTWVzc2FnZSBUeXBlIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIGZyb206IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdGcm9tIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHRleHQ6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdUZXh0IGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHRlbXBsYXRlOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGVtcGxhdGUgaXMgcmVxdWlyZWQnIH1dLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEdlbmVyYWxJbmZvcm1hdGlvblNNU01lc3NhZ2VWYWxpZGF0aW9uQ29uc3QgPSB7XHJcbiAgICBjaGFubmVsOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnTWVzc2FnZSBUeXBlIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIGZyb206IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdGcm9tIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHRleHQ6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdUZXh0IGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIHRlbXBsYXRlOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGVtcGxhdGUgaXMgcmVxdWlyZWQnIH1dLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEdlbmVyYWxJbmZvcm1hdGlvbkxpbmVNZXNzYWdlVmFsaWRhdGlvbkNvbnN0ID0ge1xyXG4gICAgY2hhbm5lbDogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ01lc3NhZ2UgVHlwZSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICBmcm9tOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnRnJvbSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICB0ZXh0OiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGV4dCBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICB0ZW1wbGF0ZTogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ1RlbXBsYXRlIGlzIHJlcXVpcmVkJyB9XSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBGYWlsb3Zlck1lY2hhbmlzbVZhbGlkYXRpb25Db25zdCA9IHtcclxuICAgIGludGVydmFsOiBbXHJcbiAgICAgICAgeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnSW50ZXJ2YWwgVGltZSBpcyByZXF1aXJlZCcgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHR5cGU6ICdpbnRlcnZhbFRpbWUnLFxyXG4gICAgICAgICAgICBtZXNzYWdlOiAnTXVzdCBiZSBncmVhdGVyIHRoYW4gMCBhbmQgd2l0aG91dCBkZWNpbWFsJyxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIHR5cGU6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdNYWluIFJ1bGVzIGlzIHJlcXVpcmVkJyB9XSxcclxuICAgIGFjY291bnRJZDogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ0FjY291bnQgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgc3ViamVjdDogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ1N1YmplY3QgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgbWVzc2FnZTogW3sgdHlwZTogJ3JlcXVpcmVkJywgbWVzc2FnZTogJ01lc3NhZ2UgaXMgcmVxdWlyZWQnIH1dLFxyXG4gICAgdGVtcGxhdGVOYW1lOiBbeyB0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGVtcGxhdGUgaXMgcmVxdWlyZWQnIH1dLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IFNjaGVkdWxlck1lc3NhZ2VWYWxpZGF0aW9uQ29uc3QgPSB7XHJcbiAgICBzdGFydERhdGU6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdTZWxlY3QgRGF0ZSBpcyByZXF1aXJlZCcgfV0sXHJcbiAgICBzdGFydFRpbWU6IFt7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdTZWxlY3QgVGltZSBpcyByZXF1aXJlZCcgfV0sXHJcbn07XHJcbiJdfQ==
@@ -11,4 +11,9 @@ export * from './lib/global/confirmation/confirmation';
11
11
  export * from './lib/global/confirmation/confirmation.module';
12
12
  export * from './lib/global/confirmation/confirmation/confirmation.component';
13
13
  export * from './lib/global/search/search.module';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhZGxmZS9jYW1wYWlnbi1tYW5hZ2VtZW50LWxpYnJhcnkvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhZGwtY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LWludGVybmFsXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGwtY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LWludGVybmFsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FkbC1jYW1wYWlnbi1tYW5hZ2VtZW50LWxpYnJhcnktaW50ZXJuYWwubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FtcGFpZ24tbWFuYWdlbWVudC9jYW1wYWlnbi1tYW5hZ2VtZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvY2FtcGFpZ24tbWFuYWdlbWVudC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L21vZHVsZXMvY2FtcGFpZ24taW5kZXgvY2FtcGFpZ24taW5kZXgubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL2Rhc2hib2FyZC9kYXNoYm9hcmQubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2xvYmFsL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9nbG9iYWwvY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9nbG9iYWwvY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2xvYmFsL3NlYXJjaC9zZWFyY2gubW9kdWxlJztcclxuXHJcbiJdfQ==
14
+ export * from './lib/campaign-management/modules/new-campaign/summary/summary.component';
15
+ export * from './lib/campaign-management/modules/campaign-index/campaign-index.component';
16
+ export * from './lib/core/directives/mat-select-infinite-scroll';
17
+ export * from './lib/campaign-management/modules/dashboard/dashboard.component';
18
+ export * from './lib/global/search/search/search.component';
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhZGxmZS9jYW1wYWlnbi1tYW5hZ2VtZW50LWxpYnJhcnkvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsNkNBQTZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYWRsLWNhbXBhaWduLW1hbmFnZW1lbnQtbGlicmFyeS1pbnRlcm5hbFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYWRsLWNhbXBhaWduLW1hbmFnZW1lbnQtbGlicmFyeS1pbnRlcm5hbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGwtY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LWludGVybmFsLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvY2FtcGFpZ24tbWFuYWdlbWVudC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L2NhbXBhaWduLW1hbmFnZW1lbnQubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL2NhbXBhaWduLWluZGV4L2NhbXBhaWduLWluZGV4Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9kYXNoYm9hcmQvZGFzaGJvYXJkLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dsb2JhbC9jb25maXJtYXRpb24vY29uZmlybWF0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2xvYmFsL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24ubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2xvYmFsL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dsb2JhbC9zZWFyY2gvc2VhcmNoLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9uZXctY2FtcGFpZ24vc3VtbWFyeS9zdW1tYXJ5LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9jYW1wYWlnbi1pbmRleC9jYW1wYWlnbi1pbmRleC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2RpcmVjdGl2ZXMvbWF0LXNlbGVjdC1pbmZpbml0ZS1zY3JvbGwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L21vZHVsZXMvZGFzaGJvYXJkL2Rhc2hib2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9nbG9iYWwvc2VhcmNoL3NlYXJjaC9zZWFyY2guY29tcG9uZW50JztcclxuIl19