tango-app-ui-manage-settings 3.0.53-dev → 3.0.55-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/esm2022/lib/components/activity-logs/activity-logs.component.mjs +3 -3
  2. package/esm2022/lib/components/brand-details/billing-details/billing-details.component.mjs +3 -3
  3. package/esm2022/lib/components/brand-details/brand-details.component.mjs +5 -7
  4. package/esm2022/lib/components/brand-details/brand-info/brand-info.component.mjs +5 -5
  5. package/esm2022/lib/components/brand-details/signatory-details/signatory-details.component.mjs +3 -3
  6. package/esm2022/lib/components/configurations/audit-configuration/audit-configuration.component.mjs +3 -3
  7. package/esm2022/lib/components/configurations/configurations.component.mjs +3 -3
  8. package/esm2022/lib/components/configurations/domain-details/domain-details.component.mjs +3 -3
  9. package/esm2022/lib/components/configurations/email-configuration/email-configuration.component.mjs +3 -3
  10. package/esm2022/lib/components/configurations/employee-training/employee-training.component.mjs +3 -3
  11. package/esm2022/lib/components/configurations/feature-configuration/feature-configuration.component.mjs +5 -5
  12. package/esm2022/lib/components/configurations/report-configuration/add-report/add-report.component.mjs +6 -6
  13. package/esm2022/lib/components/configurations/report-configuration/report-configuration.component.mjs +8 -7
  14. package/esm2022/lib/components/configurations/ticket-configuration/ticket-configuration.component.mjs +5 -5
  15. package/esm2022/lib/components/configurations/user-configuration/user-configuration.component.mjs +3 -3
  16. package/esm2022/lib/components/contact-directory/contact-directory.component.mjs +67 -10
  17. package/esm2022/lib/components/contact-directory/detele-spoc/detele-spoc.component.mjs +3 -3
  18. package/esm2022/lib/components/contact-directory/edit-spoc/edit-spoc.component.mjs +10 -5
  19. package/esm2022/lib/components/documents/documents.component.mjs +5 -5
  20. package/esm2022/lib/components/payments-subscription/payments-subscription.component.mjs +3 -3
  21. package/esm2022/lib/components/payments-subscription/subscription-popups/add-stepprice/add-stepprice.component.mjs +3 -3
  22. package/esm2022/lib/components/payments-subscription/subscription-popups/credit-note/credit-note.component.mjs +3 -3
  23. package/esm2022/lib/components/payments-subscription/subscription-popups/model-content/model-content.component.mjs +3 -3
  24. package/esm2022/lib/components/payments-subscription/subscription-popups/multidropdown/multidropdown.component.mjs +3 -3
  25. package/esm2022/lib/components/payments-subscription/subscription-popups/need-help/need-help.component.mjs +3 -3
  26. package/esm2022/lib/components/payments-subscription/subscription-popups/pricing-revised/pricing-revised.component.mjs +3 -3
  27. package/esm2022/lib/components/payments-subscription/subscription-popups/product-confirmation/product-confirmation.component.mjs +3 -3
  28. package/esm2022/lib/components/payments-subscription/subscription-popups/skip-trail/skip-trail.component.mjs +3 -3
  29. package/esm2022/lib/components/payments-subscription/subscription-popups/subscription-approval/subscription-approval.component.mjs +3 -3
  30. package/esm2022/lib/components/payments-subscription/subscription-popups/successfull-subscription/successfull-subscription.component.mjs +3 -3
  31. package/esm2022/lib/components/payments-subscription/subscription-popups/suspended/suspended.component.mjs +3 -3
  32. package/esm2022/lib/components/payments-subscription/subscription-popups/trail-expired/trail-expired.component.mjs +3 -3
  33. package/esm2022/lib/components/payments-subscription/subscription-popups/trail-settings/trail-settings.component.mjs +3 -3
  34. package/esm2022/lib/components/payments-subscription/subscription-popups/unsubscribe-request/unsubscribe-request.component.mjs +3 -3
  35. package/esm2022/lib/components/payments-subscription/subscription-popups/update/update.component.mjs +3 -3
  36. package/esm2022/lib/components/payments-subscription/subscription-popups/upgrade-plan/upgrade-plan.component.mjs +3 -3
  37. package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +3 -3
  38. package/esm2022/lib/components/tango-manage-settings/tango-manage-settings.component.mjs +5 -5
  39. package/esm2022/lib/directives/dnd.directive.mjs +3 -3
  40. package/esm2022/lib/services/client-api.service.mjs +7 -4
  41. package/esm2022/lib/services/payment-subscription.service.mjs +3 -3
  42. package/esm2022/lib/tango-manage-settings-routing.module.mjs +4 -4
  43. package/esm2022/lib/tango-manage-settings.module.mjs +4 -4
  44. package/fesm2022/tango-app-ui-manage-settings.mjs +341 -275
  45. package/fesm2022/tango-app-ui-manage-settings.mjs.map +1 -1
  46. package/lib/components/configurations/report-configuration/report-configuration.component.d.ts +1 -1
  47. package/lib/components/contact-directory/contact-directory.component.d.ts +4 -0
  48. package/lib/components/contact-directory/edit-spoc/edit-spoc.component.d.ts +1 -0
  49. package/lib/services/client-api.service.d.ts +1 -0
  50. package/package.json +1 -1
@@ -27,6 +27,8 @@ export class ContactDirectoryComponent {
27
27
  selectedCity = [];
28
28
  selectedStore = [];
29
29
  clienId;
30
+ sortedColumn;
31
+ sortDirection;
30
32
  spocList = [];
31
33
  isExport = false;
32
34
  searchValue = '';
@@ -53,13 +55,28 @@ export class ContactDirectoryComponent {
53
55
  this.getSpocTable();
54
56
  }
55
57
  });
56
- this.getAllCountries();
58
+ this.getLocData();
57
59
  this.initSearch();
58
60
  }
59
61
  ngOnDestroy() {
60
62
  this.destroy$.next(true);
61
63
  this.destroy$.complete();
62
64
  }
65
+ getLocData() {
66
+ let obj = {
67
+ "clientId": this.clienId,
68
+ // "country": "India",
69
+ // "state":"Kolkata"
70
+ };
71
+ this.clientService.locationListData(obj).pipe(takeUntil(this.destroy$)).subscribe((e) => {
72
+ if (e?.data?.length) {
73
+ this.countryList = e.data;
74
+ }
75
+ else {
76
+ this.countryList = [];
77
+ }
78
+ });
79
+ }
63
80
  getAllCountries() {
64
81
  this.clientService.getAllCountries().pipe(takeUntil(this.destroy$)).subscribe((e) => {
65
82
  if (e?.data?.length) {
@@ -71,7 +88,12 @@ export class ContactDirectoryComponent {
71
88
  });
72
89
  }
73
90
  getAllStates(country) {
74
- this.clientService.getAllStates(country).pipe(takeUntil(this.destroy$)).subscribe((e) => {
91
+ let obj = {
92
+ "clientId": this.clienId,
93
+ "country": country,
94
+ // "state":"Kolkata"
95
+ };
96
+ this.clientService.locationListData(obj).pipe(takeUntil(this.destroy$)).subscribe((e) => {
75
97
  if (e?.data?.length) {
76
98
  this.stateList = e.data;
77
99
  }
@@ -79,9 +101,22 @@ export class ContactDirectoryComponent {
79
101
  this.stateList = [];
80
102
  }
81
103
  });
104
+ // this.clientService.getAllStates(country).pipe(takeUntil(this.destroy$)).subscribe((e) => {
105
+ // if (e?.data?.length) {
106
+ // this.stateList = e.data
107
+ // } else {
108
+ // this.stateList = []
109
+ // }
110
+ // }
111
+ // )
82
112
  }
83
113
  getAllCities(country, state) {
84
- this.clientService.getAllCities(country, state).pipe(takeUntil(this.destroy$)).subscribe((e) => {
114
+ let obj = {
115
+ "clientId": this.clienId,
116
+ "country": country,
117
+ "state": state
118
+ };
119
+ this.clientService.locationListData(obj).pipe(takeUntil(this.destroy$)).subscribe((e) => {
85
120
  if (e?.data?.length) {
86
121
  this.cityList = e.data;
87
122
  }
@@ -89,6 +124,14 @@ export class ContactDirectoryComponent {
89
124
  this.cityList = [];
90
125
  }
91
126
  });
127
+ // this.clientService.getAllCities(country, state).pipe(takeUntil(this.destroy$)).subscribe((e) => {
128
+ // if (e?.data?.length) {
129
+ // this.cityList = e.data
130
+ // } else {
131
+ // this.cityList = []
132
+ // }
133
+ // }
134
+ // )
92
135
  }
93
136
  getAllStores(clientId) {
94
137
  this.clientService.getStoreList(clientId).pipe(takeUntil(this.destroy$)).subscribe((e) => {
@@ -102,11 +145,11 @@ export class ContactDirectoryComponent {
102
145
  }
103
146
  onCountrySelect(event) {
104
147
  this.selectedCountry = event;
105
- this.getAllStates(this.selectedCountry.isoCode);
148
+ this.getAllStates(this.selectedCountry.name);
106
149
  }
107
150
  onStateSelect(event) {
108
151
  this.selectedState = event;
109
- this.getAllCities(this.selectedCountry.isoCode, this.selectedState.isoCode);
152
+ this.getAllCities(this.selectedCountry.name, this.selectedState.name);
110
153
  }
111
154
  onCitySelect(event) {
112
155
  this.selectedCity = event;
@@ -140,6 +183,10 @@ export class ContactDirectoryComponent {
140
183
  if (this.getStoreIdArray(this.selectedStore)?.length) {
141
184
  filters.storeId = this.getStoreIdArray(this.selectedStore);
142
185
  }
186
+ if (this.sortedColumn) {
187
+ filters.sortColumName = this.sortedColumn;
188
+ filters.sortBy = this.sortDirection;
189
+ }
143
190
  if (this.isExport) {
144
191
  this.clientService.spocTableDataExport(filters).pipe(takeUntil(this.destroy$)).subscribe({
145
192
  next: (e) => {
@@ -220,11 +267,21 @@ export class ContactDirectoryComponent {
220
267
  redirectToStore(storeId) {
221
268
  this.router.navigate(['/manage/stores/settings'], { queryParams: { storeId: storeId } });
222
269
  }
223
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: ContactDirectoryComponent, deps: [{ token: i1.ClientApiService }, { token: i0.ChangeDetectorRef }, { token: i2.NgbModal }, { token: i3.ToastService }, { token: i4.GlobalStateService }, { token: i5.Router }], target: i0.ɵɵFactoryTarget.Component });
224
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: ContactDirectoryComponent, selector: "lib-contact-directory", ngImport: i0, template: "<div class=\"contact-card\">\r\n <h3 class=\"mb-5\">\r\n <span class=\"card-label mb-2\">Select Your Preferences</span>\r\n </h3>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Country <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"countryList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onCountrySelect($event)\" [selectedValues]=\"[selectedCountry]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">State <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"stateList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onStateSelect($event)\" [selectedValues]=\"[selectedState]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">City <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"cityList\" [multi]=\"true\" [searchField]=\"'name'\" [idField]=\"'latitude'\"\r\n (selected)=\"onCitySelect($event)\" [selectedValues]=\"selectedCity\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Store Id <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"storeList\" [multi]=\"true\" [searchField]=\"'storeName'\" [idField]=\"'storeId'\"\r\n (selected)=\"onStoreSelect($event)\" [selectedValues]=\"selectedStore\"></lib-select>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a (click)=\"onFilterApply()\" type=\"submit\" class=\"btn btn-primary px-4 \"><span>Apply</span></a>\r\n </div>\r\n </div>\r\n <div class=\"footer-seperator mb-10\"></div>\r\n\r\n <ng-container *ngIf=\"pageState$ | async as pageState\" >\r\n <ng-container [ngSwitch]=\"pageState\" >\r\n <ng-container *ngSwitchCase=\"'loaded'\" >\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Contacts List</span>\r\n </h3>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input [formControl]=\"searchInput\" type=\"text\" class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" />\r\n <button [disabled]=\"!spocList.length\" *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDownload \" (click)=\"onExport()\" type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n </div>\r\n </div>\r\n \r\n <ng-container *ngIf=\"spocList?.length\" >\r\n <div class=\"table-responsive mt-10\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Store Info</th>\r\n <th>Spoc Name & Email</th>\r\n <th>Contact Number</th>\r\n <th>Location</th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let spoc of spocList\">\r\n <td>\r\n <div class=\"table-title-primary text-decoration-underline cursor-pointer\"\r\n (click)=\"redirectToStore(spoc?.storeId)\">{{spoc?.storeName}}</div>\r\n <div class=\"table-sub\">ID : {{spoc?.storeId}}</div>\r\n </td>\r\n \r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocName}} </div>\r\n <div class=\"table-sub\">{{spoc?.spocEmail}}</div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocNumber}} </div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.storeState}} </div>\r\n <div class=\"table-sub\">{{spoc?.storeCity}}</div>\r\n </td>\r\n <td class=\"align-height\"><span class=\"cursor-pointer\">\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isEdit \" (click)=\"openEditSpocModal(spoc?.spocId, spoc?.storeId)\" class=\"me-5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_5541_6759)\">\r\n <path\r\n d=\"M9.16699 3.33332H3.33366C2.89163 3.33332 2.46771 3.50891 2.15515 3.82147C1.84259 4.13403 1.66699 4.55796 1.66699 4.99999V16.6667C1.66699 17.1087 1.84259 17.5326 2.15515 17.8452C2.46771 18.1577 2.89163 18.3333 3.33366 18.3333H15.0003C15.4424 18.3333 15.8663 18.1577 16.1788 17.8452C16.4914 17.5326 16.667 17.1087 16.667 16.6667V10.8333M15.417 2.08332C15.7485 1.7518 16.1982 1.56555 16.667 1.56555C17.1358 1.56555 17.5855 1.7518 17.917 2.08332C18.2485 2.41484 18.4348 2.86448 18.4348 3.33332C18.4348 3.80216 18.2485 4.2518 17.917 4.58332L10.0003 12.5L6.66699 13.3333L7.50033 9.99999L15.417 2.08332Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5541_6759\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDelete \" (click)=\"openDeleteSpocModal(spoc?.spocId, spoc?.storeId)\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M2.5 5.00002H4.16667M4.16667 5.00002H17.5M4.16667 5.00002V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1578 5.39131 18.3334 5.83333 18.3334H14.1667C14.6087 18.3334 15.0326 18.1578 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V5.00002H4.16667ZM6.66667 5.00002V3.33335C6.66667 2.89133 6.84226 2.4674 7.15482 2.15484C7.46738 1.84228 7.89131 1.66669 8.33333 1.66669H11.6667C12.1087 1.66669 12.5326 1.84228 12.8452 2.15484C13.1577 2.4674 13.3333 2.89133 13.3333 3.33335V5.00002M8.33333 9.16669V14.1667M11.6667 9.16669V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"pageSize\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!spocList?.length\" >\r\n <div class=\"d-flex align-items-center justify-content-center\" >\r\n <img width=\"300px\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\"> \r\n </div>\r\n </ng-container>\r\n \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'loading'\" >\r\n <div class=\"shimmer-card w-100\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n</div>", styles: [".contact-card{border-radius:8px;background:var(--White, #FFF);padding:16px}.settings-accordian-card{border-radius:10px;background:#fff;overflow:hidden;padding:16px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}.header{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}td{vertical-align:middle}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i3.CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
270
+ onSort(column) {
271
+ if (this.sortedColumn === column) {
272
+ this.sortDirection = this.sortDirection === 1 ? -1 : 1;
273
+ }
274
+ else {
275
+ this.sortedColumn = column;
276
+ this.sortDirection = 1;
277
+ }
278
+ this.getSpocTable();
279
+ }
280
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ContactDirectoryComponent, deps: [{ token: i1.ClientApiService }, { token: i0.ChangeDetectorRef }, { token: i2.NgbModal }, { token: i3.ToastService }, { token: i4.GlobalStateService }, { token: i5.Router }], target: i0.ɵɵFactoryTarget.Component });
281
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ContactDirectoryComponent, selector: "lib-contact-directory", ngImport: i0, template: "<div class=\"contact-card\">\r\n <h3 class=\"mb-5\">\r\n <span class=\"card-label mb-2\">Select Your Preferences</span>\r\n </h3>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Country <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"countryList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'name'\"\r\n (selected)=\"onCountrySelect($event)\" [selectedValues]=\"[selectedCountry]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">State <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"stateList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'name'\"\r\n (selected)=\"onStateSelect($event)\" [selectedValues]=\"[selectedState]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">City <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"cityList\" [multi]=\"true\" [searchField]=\"'name'\" [idField]=\"'latitude'\"\r\n (selected)=\"onCitySelect($event)\" [selectedValues]=\"selectedCity\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Store Name <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"storeList\" [multi]=\"true\" [searchField]=\"'storeName'\" [idField]=\"'storeId'\"\r\n (selected)=\"onStoreSelect($event)\" [selectedValues]=\"selectedStore\"></lib-select>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a (click)=\"onFilterApply()\" type=\"submit\" class=\"btn btn-primary px-4 \"><span>Apply</span></a>\r\n </div>\r\n </div>\r\n <div class=\"footer-seperator mb-10\"></div>\r\n\r\n <ng-container *ngIf=\"pageState$ | async as pageState\" >\r\n <ng-container [ngSwitch]=\"pageState\" >\r\n <ng-container *ngSwitchCase=\"'loaded'\" >\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Contacts List</span>\r\n </h3>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input [formControl]=\"searchInput\" type=\"text\" class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" />\r\n <button [disabled]=\"!spocList.length\" *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDownload \" (click)=\"onExport()\" type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n </div>\r\n </div>\r\n \r\n <ng-container *ngIf=\"spocList?.length\" >\r\n <div class=\"table-responsive mt-10\">\r\n <table class=\"w-100 table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('storeName')\" >Store Name\r\n <svg [ngClass]=\"sortedColumn === 'storeName' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('storeId')\" >Store ID\r\n <svg [ngClass]=\"sortedColumn === 'storeId' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('spocName')\" >Spoc Name\r\n <svg [ngClass]=\"sortedColumn === 'spocName' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg> </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('spocEmail')\" >Spoc Email\r\n <svg [ngClass]=\"sortedColumn === 'spocEmail' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('spocNumber')\" >Contact Number\r\n <svg [ngClass]=\"sortedColumn === 'spocNumber' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('storeState')\" >Location\r\n <svg [ngClass]=\"sortedColumn === 'storeState' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let spoc of spocList\">\r\n <td>\r\n <div class=\"table-title-primary text-decoration-underline cursor-pointer\"\r\n (click)=\"redirectToStore(spoc?.storeId)\">{{spoc?.storeName}}</div>\r\n </td>\r\n <td>\r\n {{spoc?.storeId}}\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocName}} </div>\r\n </td>\r\n <td>\r\n {{spoc?.spocEmail}}\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocNumber}} </div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.storeState}} </div>\r\n <!-- <div class=\"table-sub\">{{spoc?.storeCity}}</div> -->\r\n </td>\r\n <td class=\"align-height\"><span class=\"cursor-pointer\">\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isEdit \" (click)=\"openEditSpocModal(spoc?.spocId, spoc?.storeId)\" class=\"me-5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_5541_6759)\">\r\n <path\r\n d=\"M9.16699 3.33332H3.33366C2.89163 3.33332 2.46771 3.50891 2.15515 3.82147C1.84259 4.13403 1.66699 4.55796 1.66699 4.99999V16.6667C1.66699 17.1087 1.84259 17.5326 2.15515 17.8452C2.46771 18.1577 2.89163 18.3333 3.33366 18.3333H15.0003C15.4424 18.3333 15.8663 18.1577 16.1788 17.8452C16.4914 17.5326 16.667 17.1087 16.667 16.6667V10.8333M15.417 2.08332C15.7485 1.7518 16.1982 1.56555 16.667 1.56555C17.1358 1.56555 17.5855 1.7518 17.917 2.08332C18.2485 2.41484 18.4348 2.86448 18.4348 3.33332C18.4348 3.80216 18.2485 4.2518 17.917 4.58332L10.0003 12.5L6.66699 13.3333L7.50033 9.99999L15.417 2.08332Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5541_6759\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDelete \" (click)=\"openDeleteSpocModal(spoc?.spocId, spoc?.storeId)\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M2.5 5.00002H4.16667M4.16667 5.00002H17.5M4.16667 5.00002V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1578 5.39131 18.3334 5.83333 18.3334H14.1667C14.6087 18.3334 15.0326 18.1578 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V5.00002H4.16667ZM6.66667 5.00002V3.33335C6.66667 2.89133 6.84226 2.4674 7.15482 2.15484C7.46738 1.84228 7.89131 1.66669 8.33333 1.66669H11.6667C12.1087 1.66669 12.5326 1.84228 12.8452 2.15484C13.1577 2.4674 13.3333 2.89133 13.3333 3.33335V5.00002M8.33333 9.16669V14.1667M11.6667 9.16669V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"pageSize\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!spocList?.length\" >\r\n <div class=\"d-flex align-items-center justify-content-center\" >\r\n <img width=\"300px\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\"> \r\n </div>\r\n </ng-container>\r\n \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'loading'\" >\r\n <div class=\"shimmer-card w-100\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n</div>", styles: [".contact-card{border-radius:8px;background:var(--White, #FFF);padding:16px}.settings-accordian-card{border-radius:10px;background:#fff;overflow:hidden;padding:16px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}.header{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}td{vertical-align:middle;line-height:37px!important}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important}.rotate{rotate:180deg;transition:1s}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i3.CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
225
282
  }
226
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: ContactDirectoryComponent, decorators: [{
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ContactDirectoryComponent, decorators: [{
227
284
  type: Component,
228
- args: [{ selector: 'lib-contact-directory', template: "<div class=\"contact-card\">\r\n <h3 class=\"mb-5\">\r\n <span class=\"card-label mb-2\">Select Your Preferences</span>\r\n </h3>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Country <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"countryList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onCountrySelect($event)\" [selectedValues]=\"[selectedCountry]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">State <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"stateList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'isoCode'\"\r\n (selected)=\"onStateSelect($event)\" [selectedValues]=\"[selectedState]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">City <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"cityList\" [multi]=\"true\" [searchField]=\"'name'\" [idField]=\"'latitude'\"\r\n (selected)=\"onCitySelect($event)\" [selectedValues]=\"selectedCity\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Store Id <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"storeList\" [multi]=\"true\" [searchField]=\"'storeName'\" [idField]=\"'storeId'\"\r\n (selected)=\"onStoreSelect($event)\" [selectedValues]=\"selectedStore\"></lib-select>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a (click)=\"onFilterApply()\" type=\"submit\" class=\"btn btn-primary px-4 \"><span>Apply</span></a>\r\n </div>\r\n </div>\r\n <div class=\"footer-seperator mb-10\"></div>\r\n\r\n <ng-container *ngIf=\"pageState$ | async as pageState\" >\r\n <ng-container [ngSwitch]=\"pageState\" >\r\n <ng-container *ngSwitchCase=\"'loaded'\" >\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Contacts List</span>\r\n </h3>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input [formControl]=\"searchInput\" type=\"text\" class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" />\r\n <button [disabled]=\"!spocList.length\" *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDownload \" (click)=\"onExport()\" type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n </div>\r\n </div>\r\n \r\n <ng-container *ngIf=\"spocList?.length\" >\r\n <div class=\"table-responsive mt-10\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Store Info</th>\r\n <th>Spoc Name & Email</th>\r\n <th>Contact Number</th>\r\n <th>Location</th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let spoc of spocList\">\r\n <td>\r\n <div class=\"table-title-primary text-decoration-underline cursor-pointer\"\r\n (click)=\"redirectToStore(spoc?.storeId)\">{{spoc?.storeName}}</div>\r\n <div class=\"table-sub\">ID : {{spoc?.storeId}}</div>\r\n </td>\r\n \r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocName}} </div>\r\n <div class=\"table-sub\">{{spoc?.spocEmail}}</div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocNumber}} </div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.storeState}} </div>\r\n <div class=\"table-sub\">{{spoc?.storeCity}}</div>\r\n </td>\r\n <td class=\"align-height\"><span class=\"cursor-pointer\">\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isEdit \" (click)=\"openEditSpocModal(spoc?.spocId, spoc?.storeId)\" class=\"me-5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_5541_6759)\">\r\n <path\r\n d=\"M9.16699 3.33332H3.33366C2.89163 3.33332 2.46771 3.50891 2.15515 3.82147C1.84259 4.13403 1.66699 4.55796 1.66699 4.99999V16.6667C1.66699 17.1087 1.84259 17.5326 2.15515 17.8452C2.46771 18.1577 2.89163 18.3333 3.33366 18.3333H15.0003C15.4424 18.3333 15.8663 18.1577 16.1788 17.8452C16.4914 17.5326 16.667 17.1087 16.667 16.6667V10.8333M15.417 2.08332C15.7485 1.7518 16.1982 1.56555 16.667 1.56555C17.1358 1.56555 17.5855 1.7518 17.917 2.08332C18.2485 2.41484 18.4348 2.86448 18.4348 3.33332C18.4348 3.80216 18.2485 4.2518 17.917 4.58332L10.0003 12.5L6.66699 13.3333L7.50033 9.99999L15.417 2.08332Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5541_6759\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDelete \" (click)=\"openDeleteSpocModal(spoc?.spocId, spoc?.storeId)\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M2.5 5.00002H4.16667M4.16667 5.00002H17.5M4.16667 5.00002V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1578 5.39131 18.3334 5.83333 18.3334H14.1667C14.6087 18.3334 15.0326 18.1578 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V5.00002H4.16667ZM6.66667 5.00002V3.33335C6.66667 2.89133 6.84226 2.4674 7.15482 2.15484C7.46738 1.84228 7.89131 1.66669 8.33333 1.66669H11.6667C12.1087 1.66669 12.5326 1.84228 12.8452 2.15484C13.1577 2.4674 13.3333 2.89133 13.3333 3.33335V5.00002M8.33333 9.16669V14.1667M11.6667 9.16669V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"pageSize\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!spocList?.length\" >\r\n <div class=\"d-flex align-items-center justify-content-center\" >\r\n <img width=\"300px\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\"> \r\n </div>\r\n </ng-container>\r\n \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'loading'\" >\r\n <div class=\"shimmer-card w-100\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n</div>", styles: [".contact-card{border-radius:8px;background:var(--White, #FFF);padding:16px}.settings-accordian-card{border-radius:10px;background:#fff;overflow:hidden;padding:16px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}.header{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}td{vertical-align:middle}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important}\n"] }]
285
+ args: [{ selector: 'lib-contact-directory', template: "<div class=\"contact-card\">\r\n <h3 class=\"mb-5\">\r\n <span class=\"card-label mb-2\">Select Your Preferences</span>\r\n </h3>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Country <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"countryList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'name'\"\r\n (selected)=\"onCountrySelect($event)\" [selectedValues]=\"[selectedCountry]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">State <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"stateList\" [multi]=\"false\" [searchField]=\"'name'\" [idField]=\"'name'\"\r\n (selected)=\"onStateSelect($event)\" [selectedValues]=\"[selectedState]\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">City <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"cityList\" [multi]=\"true\" [searchField]=\"'name'\" [idField]=\"'latitude'\"\r\n (selected)=\"onCitySelect($event)\" [selectedValues]=\"selectedCity\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"infraDownTime\" class=\"form-label\">Store Name <span class=\"alert-required\"></span></label>\r\n <lib-select [items]=\"storeList\" [multi]=\"true\" [searchField]=\"'storeName'\" [idField]=\"'storeId'\"\r\n (selected)=\"onStoreSelect($event)\" [selectedValues]=\"selectedStore\"></lib-select>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a (click)=\"onFilterApply()\" type=\"submit\" class=\"btn btn-primary px-4 \"><span>Apply</span></a>\r\n </div>\r\n </div>\r\n <div class=\"footer-seperator mb-10\"></div>\r\n\r\n <ng-container *ngIf=\"pageState$ | async as pageState\" >\r\n <ng-container [ngSwitch]=\"pageState\" >\r\n <ng-container *ngSwitchCase=\"'loaded'\" >\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Contacts List</span>\r\n </h3>\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input [formControl]=\"searchInput\" type=\"text\" class=\"form-control ps-14 me-2\" autocomplete=\"off\" placeholder=\"Search\" />\r\n <button [disabled]=\"!spocList.length\" *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDownload \" (click)=\"onExport()\" type=\"button\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n </div>\r\n </div>\r\n \r\n <ng-container *ngIf=\"spocList?.length\" >\r\n <div class=\"table-responsive mt-10\">\r\n <table class=\"w-100 table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('storeName')\" >Store Name\r\n <svg [ngClass]=\"sortedColumn === 'storeName' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('storeId')\" >Store ID\r\n <svg [ngClass]=\"sortedColumn === 'storeId' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('spocName')\" >Spoc Name\r\n <svg [ngClass]=\"sortedColumn === 'spocName' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg> </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('spocEmail')\" >Spoc Email\r\n <svg [ngClass]=\"sortedColumn === 'spocEmail' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('spocNumber')\" >Contact Number\r\n <svg [ngClass]=\"sortedColumn === 'spocNumber' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('storeState')\" >Location\r\n <svg [ngClass]=\"sortedColumn === 'storeState' && sortDirection === 1 ? 'rotate' : ''\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg></th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let spoc of spocList\">\r\n <td>\r\n <div class=\"table-title-primary text-decoration-underline cursor-pointer\"\r\n (click)=\"redirectToStore(spoc?.storeId)\">{{spoc?.storeName}}</div>\r\n </td>\r\n <td>\r\n {{spoc?.storeId}}\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocName}} </div>\r\n </td>\r\n <td>\r\n {{spoc?.spocEmail}}\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.spocNumber}} </div>\r\n </td>\r\n <td>\r\n <div class=\"table-title\">{{spoc?.storeState}} </div>\r\n <!-- <div class=\"table-sub\">{{spoc?.storeCity}}</div> -->\r\n </td>\r\n <td class=\"align-height\"><span class=\"cursor-pointer\">\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isEdit \" (click)=\"openEditSpocModal(spoc?.spocId, spoc?.storeId)\" class=\"me-5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <g clip-path=\"url(#clip0_5541_6759)\">\r\n <path\r\n d=\"M9.16699 3.33332H3.33366C2.89163 3.33332 2.46771 3.50891 2.15515 3.82147C1.84259 4.13403 1.66699 4.55796 1.66699 4.99999V16.6667C1.66699 17.1087 1.84259 17.5326 2.15515 17.8452C2.46771 18.1577 2.89163 18.3333 3.33366 18.3333H15.0003C15.4424 18.3333 15.8663 18.1577 16.1788 17.8452C16.4914 17.5326 16.667 17.1087 16.667 16.6667V10.8333M15.417 2.08332C15.7485 1.7518 16.1982 1.56555 16.667 1.56555C17.1358 1.56555 17.5855 1.7518 17.917 2.08332C18.2485 2.41484 18.4348 2.86448 18.4348 3.33332C18.4348 3.80216 18.2485 4.2518 17.917 4.58332L10.0003 12.5L6.66699 13.3333L7.50033 9.99999L15.417 2.08332Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5541_6759\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <svg *ngIf=\"(gs.userAccess | async)?.settings_contactDirectory_isDelete \" (click)=\"openDeleteSpocModal(spoc?.spocId, spoc?.storeId)\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M2.5 5.00002H4.16667M4.16667 5.00002H17.5M4.16667 5.00002V16.6667C4.16667 17.1087 4.34226 17.5326 4.65482 17.8452C4.96738 18.1578 5.39131 18.3334 5.83333 18.3334H14.1667C14.6087 18.3334 15.0326 18.1578 15.3452 17.8452C15.6577 17.5326 15.8333 17.1087 15.8333 16.6667V5.00002H4.16667ZM6.66667 5.00002V3.33335C6.66667 2.89133 6.84226 2.4674 7.15482 2.15484C7.46738 1.84228 7.89131 1.66669 8.33333 1.66669H11.6667C12.1087 1.66669 12.5326 1.84228 12.8452 2.15484C13.1577 2.4674 13.3333 2.89133 13.3333 3.33335V5.00002M8.33333 9.16669V14.1667M11.6667 9.16669V14.1667\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"my-3\">\r\n <lib-pagination [itemsPerPage]=\"pageSize\" [currentPage]=\"currentPage\" [totalItems]=\"totalItems\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"pageSize\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!spocList?.length\" >\r\n <div class=\"d-flex align-items-center justify-content-center\" >\r\n <img width=\"300px\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\"> \r\n </div>\r\n </ng-container>\r\n \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'loading'\" >\r\n <div class=\"shimmer-card w-100\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n</div>", styles: [".contact-card{border-radius:8px;background:var(--White, #FFF);padding:16px}.settings-accordian-card{border-radius:10px;background:#fff;overflow:hidden;padding:16px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}.header{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}td{vertical-align:middle;line-height:37px!important}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:400!important}.rotate{rotate:180deg;transition:1s}\n"] }]
229
286
  }], ctorParameters: () => [{ type: i1.ClientApiService }, { type: i0.ChangeDetectorRef }, { type: i2.NgbModal }, { type: i3.ToastService }, { type: i4.GlobalStateService }, { type: i5.Router }] });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1kaXJlY3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9jb250YWN0LWRpcmVjdG9yeS9jb250YWN0LWRpcmVjdG9yeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhY3QtZGlyZWN0b3J5L2NvbnRhY3QtZGlyZWN0b3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7QUFZMUUsTUFBTSxPQUFPLHlCQUF5QjtJQThCaEI7SUFBeUM7SUFBK0I7SUFBK0I7SUFDbEg7SUFBK0I7SUE3QnhDLFdBQVcsR0FBUSxFQUFFLENBQUE7SUFDckIsU0FBUyxHQUFRLEVBQUUsQ0FBQTtJQUNuQixRQUFRLEdBQVEsRUFBRSxDQUFBO0lBQ2xCLFNBQVMsR0FBUSxFQUFFLENBQUE7SUFDbkIsZUFBZSxDQUFLO0lBQ3BCLGFBQWEsQ0FBSztJQUNsQixZQUFZLEdBQVEsRUFBRSxDQUFBO0lBQ3RCLGFBQWEsR0FBUSxFQUFFLENBQUE7SUFDdkIsT0FBTyxDQUFTO0lBRWhCLFFBQVEsR0FBUSxFQUFFLENBQUE7SUFDbEIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixXQUFXLEdBQWtCLEVBQUUsQ0FBQztJQUVoQyxzQkFBc0I7SUFDdEIsWUFBWSxHQUFHLEVBQUUsQ0FBQTtJQUNqQixXQUFXLEdBQUcsQ0FBQyxDQUFBO0lBQ2YsVUFBVSxHQUFHLENBQUMsQ0FBQTtJQUNkLGVBQWUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDOUIsUUFBUSxHQUFHLEVBQUUsQ0FBQTtJQUViLFdBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFBO0lBRWQsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDMUMsVUFBVSxHQUFHLElBQUksZUFBZSxDQUF1QixTQUFTLENBQUMsQ0FBQztJQUlsRSxZQUFvQixhQUErQixFQUFVLEVBQXFCLEVBQVUsWUFBcUIsRUFBVSxLQUFrQixFQUNwSSxFQUFxQixFQUFVLE1BQWE7UUFEakMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBUztRQUFVLFVBQUssR0FBTCxLQUFLLENBQWE7UUFDcEksT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFPO1FBRW5ELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekUsSUFBSSxDQUFDLEVBQUU7Z0JBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUE7Z0JBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ3BCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbEYsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFBO2FBQzFCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFBO2FBQ3RCO1FBQ0gsQ0FBQyxDQUNBLENBQUE7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWU7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0RixJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUE7YUFDeEI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7YUFDcEI7UUFDSCxDQUFDLENBQ0EsQ0FBQTtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsT0FBZSxFQUFFLEtBQWE7UUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDN0YsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFBO2FBQ3ZCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFBO2FBQ25CO1FBQ0gsQ0FBQyxDQUNBLENBQUE7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWdCO1FBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdkYsSUFBSSxDQUFDLEVBQUU7Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQTthQUNqQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQTthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO1FBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUE7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQTtJQUMzQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUE7SUFDNUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDckIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUMvQixJQUFJLE9BQU8sR0FBd0I7WUFDakMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDeEIsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3ZCLENBQUE7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFBO1NBQ2xDO1FBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUE7U0FDNUM7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQTtTQUN4QztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDNUIsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUssRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQ3ZEO1FBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUU7WUFDcEQsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtTQUMzRDtRQUVELElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBQztZQUNmLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ3ZGLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO29CQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLENBQUMsQ0FBQTtvQkFDekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUE7Z0JBQ3pCLENBQUM7YUFDQSxDQUFDLENBQUE7U0FDSDthQUFJO1lBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ25GLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO29CQUM1QixJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFO3dCQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFBO3dCQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFBO3dCQUMvQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFBO3FCQUN4Qjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQTt3QkFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUE7d0JBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7cUJBQ3hCO2dCQUVMLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUE7b0JBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFBO29CQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFBO2dCQUN6QixDQUFDO2FBQ0YsQ0FBQyxDQUFBO1NBQ0Q7SUFHSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUNySCxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ0osSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUE7WUFDcEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQ3JCLENBQUMsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFrQjtRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNyQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7SUFFckIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWdCO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFBO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUNyQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBYSxFQUFFLE9BQWM7UUFDN0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNGLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQzFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQzVDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxLQUFLLEVBQUUsSUFBSSxLQUFLLE1BQU0sRUFBRTtnQkFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtnQkFDbkQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO2FBQ3BCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBYSxFQUFFLE9BQWM7UUFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQzFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQzVDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxLQUFLLEVBQUUsSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtnQkFDeEQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO2FBQ3BCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQVU7UUFDeEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUssRUFBQyxFQUFFLENBQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzlDLE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBVztRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDbEIsQ0FBQyx5QkFBeUIsQ0FBQyxFQUMzQixFQUFFLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUN0QyxDQUFBO0lBQ0gsQ0FBQzt3R0F4T1UseUJBQXlCOzRGQUF6Qix5QkFBeUIsNkRDbEJ0QyxrZ2FBcUtNOzs0RkRuSk8seUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDbGllbnRBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xpZW50LWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBFZGl0U3BvY0NvbXBvbmVudCB9IGZyb20gJy4vZWRpdC1zcG9jL2VkaXQtc3BvYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZXRlbGVTcG9jQ29tcG9uZW50IH0gZnJvbSAnLi9kZXRlbGUtc3BvYy9kZXRlbGUtc3BvYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNvbnRhY3QtZGlyZWN0b3J5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC1kaXJlY3RvcnkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jb250YWN0LWRpcmVjdG9yeS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRhY3REaXJlY3RvcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBjb3VudHJ5TGlzdDogYW55ID0gW11cclxuICBzdGF0ZUxpc3Q6IGFueSA9IFtdXHJcbiAgY2l0eUxpc3Q6IGFueSA9IFtdXHJcbiAgc3RvcmVMaXN0OiBhbnkgPSBbXVxyXG4gIHNlbGVjdGVkQ291bnRyeTogYW55XHJcbiAgc2VsZWN0ZWRTdGF0ZTogYW55XHJcbiAgc2VsZWN0ZWRDaXR5OiBhbnkgPSBbXVxyXG4gIHNlbGVjdGVkU3RvcmU6IGFueSA9IFtdXHJcbiAgY2xpZW5JZDogc3RyaW5nO1xyXG5cclxuICBzcG9jTGlzdDogYW55ID0gW11cclxuICBpc0V4cG9ydDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlYXJjaFZhbHVlOiBzdHJpbmcgfCBudWxsID0gJyc7XHJcblxyXG4gIC8vIHBhZ2luYXRpb25WYXJpYWJsZXNcclxuICBpdGVtc1BlclBhZ2UgPSAxMFxyXG4gIGN1cnJlbnRQYWdlID0gMVxyXG4gIHRvdGFsSXRlbXMgPSAwXHJcbiAgcGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdXHJcbiAgcGFnZVNpemUgPSAxMFxyXG5cclxuICBzZWFyY2hJbnB1dCA9IG5ldyBGb3JtQ29udHJvbCgpXHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHBhZ2VTdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PCdsb2FkZWQnIHwgJ2xvYWRpbmcnPignbG9hZGluZycpO1xyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2xpZW50U2VydmljZTogQ2xpZW50QXBpU2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOk5nYk1vZGFsLCBwcml2YXRlIHRvYXN0OlRvYXN0U2VydmljZSxcclxuICAgIHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2UsIHByaXZhdGUgcm91dGVyOlJvdXRlclxyXG4gICkge1xyXG4gICAgdGhpcy5jbGllbnRTZXJ2aWNlLmNsaWVudElkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgaWYgKGUpIHtcclxuICAgICAgICB0aGlzLmNsaWVuSWQgPSBlXHJcbiAgICAgICAgdGhpcy5nZXRBbGxTdG9yZXMoZSlcclxuICAgICAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICB0aGlzLmdldEFsbENvdW50cmllcygpXHJcbiAgICB0aGlzLmluaXRTZWFyY2goKVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxDb3VudHJpZXMoKSB7XHJcbiAgICB0aGlzLmNsaWVudFNlcnZpY2UuZ2V0QWxsQ291bnRyaWVzKCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAoZT8uZGF0YT8ubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5jb3VudHJ5TGlzdCA9IGUuZGF0YVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY291bnRyeUxpc3QgPSBbXVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRBbGxTdGF0ZXMoY291bnRyeTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNsaWVudFNlcnZpY2UuZ2V0QWxsU3RhdGVzKGNvdW50cnkpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgaWYgKGU/LmRhdGE/Lmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuc3RhdGVMaXN0ID0gZS5kYXRhXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zdGF0ZUxpc3QgPSBbXVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRBbGxDaXRpZXMoY291bnRyeTogc3RyaW5nLCBzdGF0ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNsaWVudFNlcnZpY2UuZ2V0QWxsQ2l0aWVzKGNvdW50cnksIHN0YXRlKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlPy5kYXRhPy5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLmNpdHlMaXN0ID0gZS5kYXRhXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jaXR5TGlzdCA9IFtdXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldEFsbFN0b3JlcyhjbGllbnRJZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNsaWVudFNlcnZpY2UuZ2V0U3RvcmVMaXN0KGNsaWVudElkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSBlPy5kYXRhPy5yZXN1bHRcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnN0b3JlTGlzdCA9IFtdXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBvbkNvdW50cnlTZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSBldmVudFxyXG4gICAgdGhpcy5nZXRBbGxTdGF0ZXModGhpcy5zZWxlY3RlZENvdW50cnkuaXNvQ29kZSlcclxuICB9XHJcblxyXG4gIG9uU3RhdGVTZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFN0YXRlID0gZXZlbnRcclxuICAgIHRoaXMuZ2V0QWxsQ2l0aWVzKHRoaXMuc2VsZWN0ZWRDb3VudHJ5Lmlzb0NvZGUsIHRoaXMuc2VsZWN0ZWRTdGF0ZS5pc29Db2RlKVxyXG4gIH1cclxuXHJcbiAgb25DaXR5U2VsZWN0KGV2ZW50OiBhbnkpIHsgICAgXHJcbiAgICB0aGlzLnNlbGVjdGVkQ2l0eSA9IGV2ZW50XHJcbiAgfVxyXG5cclxuICBvblN0b3JlU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdG9yZSA9IGV2ZW50XHJcbiAgfVxyXG5cclxuICBvbkZpbHRlckFwcGx5KCkge1xyXG4gICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gIH1cclxuXHJcbiAgZ2V0U3BvY1RhYmxlKCkge1xyXG4gICAgdGhpcy5wYWdlU3RhdGUkLm5leHQoJ2xvYWRpbmcnKVxyXG4gICAgbGV0IGZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7XHJcbiAgICAgIGV4cG9ydDogdGhpcy5pc0V4cG9ydCxcclxuICAgICAgbGltaXQ6IHRoaXMucGFnZVNpemUsXHJcbiAgICAgIG9mZnNldDogdGhpcy5jdXJyZW50UGFnZSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuY2xpZW5JZFxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VhcmNoVmFsdWUpIHtcclxuICAgICAgZmlsdGVycy5zZWFyY2ggPSB0aGlzLnNlYXJjaFZhbHVlXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvdW50cnkpIHtcclxuICAgICAgZmlsdGVycy5jb3VudHJ5ID0gdGhpcy5zZWxlY3RlZENvdW50cnkubmFtZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRTdGF0ZSkge1xyXG4gICAgICBmaWx0ZXJzLnN0YXRlID0gdGhpcy5zZWxlY3RlZFN0YXRlLm5hbWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2l0eS5sZW5ndGgpIHtcclxuICAgICAgZmlsdGVycy5jaXR5ID0gdGhpcy5zZWxlY3RlZENpdHkubWFwKChlOmFueSk9PiBlLm5hbWUpXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5nZXRTdG9yZUlkQXJyYXkodGhpcy5zZWxlY3RlZFN0b3JlKT8ubGVuZ3RoKSB7XHJcbiAgICAgIGZpbHRlcnMuc3RvcmVJZCA9IHRoaXMuZ2V0U3RvcmVJZEFycmF5KHRoaXMuc2VsZWN0ZWRTdG9yZSlcclxuICAgIH0gICAgXHJcblxyXG4gICAgaWYodGhpcy5pc0V4cG9ydCl7XHJcbiAgICAgIHRoaXMuY2xpZW50U2VydmljZS5zcG9jVGFibGVEYXRhRXhwb3J0KGZpbHRlcnMpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChlKSA9PiB7ICBcclxuICAgICAgICAgIHRoaXMucGFnZVN0YXRlJC5uZXh0KCdsb2FkZWQnKVxyXG4gICAgICAgICAgdGhpcy5jbGllbnRTZXJ2aWNlLnNhdmVBc1RlbXBsYXRlKGUsICdjb250YWN0X2RpcmVjdG9yeScpICAgICAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLmlzRXhwb3J0ID0gZmFsc2VcclxuICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuY2xpZW50U2VydmljZS5zcG9jVGFibGVEYXRhKGZpbHRlcnMpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoZSkgPT4geyAgICBcclxuICAgICAgICB0aGlzLnBhZ2VTdGF0ZSQubmV4dCgnbG9hZGVkJykgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgaWYgKGU/LmRhdGE/LmNvdW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3BvY0xpc3QgPSBlLmRhdGE/LmRhdGFcclxuICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gZS5kYXRhPy5jb3VudFxyXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zcG9jTGlzdCA9IFtdXHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgICAgIH0gXHJcbiAgICAgICAgXHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZSkgPT4geyAgICAgICAgXHJcbiAgICAgICAgdGhpcy5zcG9jTGlzdCA9IFtdXHJcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMFxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH1cclxuICAgIH0pIFxyXG4gICAgfVxyXG5cclxuICAgXHJcbiAgfVxyXG5cclxuICBpbml0U2VhcmNoKCkge1xyXG4gICAgdGhpcy5zZWFyY2hJbnB1dC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnBpcGUoZGVib3VuY2VUaW1lKDEwMDApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoXHJcbiAgICAgIChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hWYWx1ZSA9IGVcclxuICAgICAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcbiAgICAgIH1cclxuICAgIClcclxuICB9XHJcblxyXG4gIG9uUGFnZUNoYW5nZShwYWdlT2Zmc2V0OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBOdW1iZXIocGFnZU9mZnNldClcclxuICAgIHRoaXMuZ2V0U3BvY1RhYmxlKClcclxuXHJcbiAgfVxyXG5cclxuICBvblBhZ2VTaXplQ2hhbmdlKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgIHRoaXMucGFnZVNpemUgPSBOdW1iZXIocGFnZVNpemUpXHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMVxyXG4gICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gIH1cclxuXHJcbiAgb25FeHBvcnQoKSB7XHJcbiAgICB0aGlzLmlzRXhwb3J0ID0gdHJ1ZVxyXG4gICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gIH1cclxuXHJcbiAgb3BlbkVkaXRTcG9jTW9kYWwoc3BvY0lkOnN0cmluZywgc3RvcmVJZDpzdHJpbmcpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihFZGl0U3BvY0NvbXBvbmVudCwgeyBzaXplOiAnbWQnLCBjZW50ZXJlZDogdHJ1ZSB9KTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnNwb2NJZCA9IHNwb2NJZFxyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2Uuc3RvcmVJZCA9IHN0b3JlSWRcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChldmVudCkgPT4geyAgICAgIFxyXG4gICAgICBpZiAoZXZlbnQ/LnR5cGUgPT09ICdlZGl0JykgeyBcclxuICAgICAgICB0aGlzLnRvYXN0LmdldFN1Y2Nlc3NUb2FzdCgnVXBkYXRlZCBzdWNjZXNzZnVsbHkuJykgICAgICAgIFxyXG4gICAgICAgIHRoaXMuZ2V0U3BvY1RhYmxlKClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuRGVsZXRlU3BvY01vZGFsKHNwb2NJZDpzdHJpbmcsIHN0b3JlSWQ6c3RyaW5nKSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oRGV0ZWxlU3BvY0NvbXBvbmVudCwgeyBzaXplOiAnbWQnLCBjZW50ZXJlZDogdHJ1ZSB9KTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnNwb2NJZCA9IHNwb2NJZFxyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2Uuc3RvcmVJZCA9IHN0b3JlSWRcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChldmVudCkgPT4geyAgICAgIFxyXG4gICAgICBpZiAoZXZlbnQ/LnR5cGUgPT09ICdkZWxldGUnKSB7IFxyXG4gICAgICAgIHRoaXMudG9hc3QuZ2V0U3VjY2Vzc1RvYXN0KCdVc2VyIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LicpICAgICAgIFxyXG4gICAgICAgIHRoaXMuZ2V0U3BvY1RhYmxlKClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTdG9yZUlkQXJyYXkoc3RvcmVzOmFueSl7XHJcbiAgICBjb25zdCBpZEFycmF5ID0gc3RvcmVzLm1hcCgoZTphbnkpPT5lLnN0b3JlSWQpXHJcbiAgICByZXR1cm4gaWRBcnJheVxyXG4gIH1cclxuXHJcbiAgcmVkaXJlY3RUb1N0b3JlKHN0b3JlSWQ6YW55KXtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxyXG4gICAgICBbJy9tYW5hZ2Uvc3RvcmVzL3NldHRpbmdzJ10sXHJcbiAgICAgIHsgcXVlcnlQYXJhbXM6IHsgc3RvcmVJZDogc3RvcmVJZCB9IH1cclxuICAgIClcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhY3QtY2FyZFwiPlxyXG4gICAgPGgzIGNsYXNzPVwibWItNVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yXCI+U2VsZWN0IFlvdXIgUHJlZmVyZW5jZXM8L3NwYW4+XHJcbiAgICA8L2gzPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImluZnJhRG93blRpbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5Db3VudHJ5IDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgPGxpYi1zZWxlY3QgIFtpdGVtc109XCJjb3VudHJ5TGlzdFwiIFttdWx0aV09XCJmYWxzZVwiIFtzZWFyY2hGaWVsZF09XCInbmFtZSdcIiBbaWRGaWVsZF09XCInaXNvQ29kZSdcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cIm9uQ291bnRyeVNlbGVjdCgkZXZlbnQpXCIgW3NlbGVjdGVkVmFsdWVzXT1cIltzZWxlY3RlZENvdW50cnldXCI+PC9saWItc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImluZnJhRG93blRpbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5TdGF0ZSA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxsaWItc2VsZWN0IFtpdGVtc109XCJzdGF0ZUxpc3RcIiBbbXVsdGldPVwiZmFsc2VcIiBbc2VhcmNoRmllbGRdPVwiJ25hbWUnXCIgW2lkRmllbGRdPVwiJ2lzb0NvZGUnXCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJvblN0YXRlU2VsZWN0KCRldmVudClcIiBbc2VsZWN0ZWRWYWx1ZXNdPVwiW3NlbGVjdGVkU3RhdGVdXCI+PC9saWItc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImluZnJhRG93blRpbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5DaXR5IDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgPGxpYi1zZWxlY3QgW2l0ZW1zXT1cImNpdHlMaXN0XCIgW211bHRpXT1cInRydWVcIiBbc2VhcmNoRmllbGRdPVwiJ25hbWUnXCIgW2lkRmllbGRdPVwiJ2xhdGl0dWRlJ1wiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwib25DaXR5U2VsZWN0KCRldmVudClcIiBbc2VsZWN0ZWRWYWx1ZXNdPVwic2VsZWN0ZWRDaXR5XCI+PC9saWItc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTYgY29sLXhsLTYgY29sLXh4bC02IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImluZnJhRG93blRpbWVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5TdG9yZSBJZCA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxsaWItc2VsZWN0IFtpdGVtc109XCJzdG9yZUxpc3RcIiBbbXVsdGldPVwidHJ1ZVwiIFtzZWFyY2hGaWVsZF09XCInc3RvcmVOYW1lJ1wiIFtpZEZpZWxkXT1cIidzdG9yZUlkJ1wiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwib25TdG9yZVNlbGVjdCgkZXZlbnQpXCIgW3NlbGVjdGVkVmFsdWVzXT1cInNlbGVjdGVkU3RvcmVcIj48L2xpYi1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm9uRmlsdGVyQXBwbHkoKVwiIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBweC00IFwiPjxzcGFuPkFwcGx5PC9zcGFuPjwvYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvb3Rlci1zZXBlcmF0b3IgbWItMTBcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2VTdGF0ZSQgfCBhc3luYyBhcyBwYWdlU3RhdGVcIiA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInBhZ2VTdGF0ZVwiID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidsb2FkZWQnXCIgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIj5Db250YWN0cyBMaXN0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDE3LjAzNjUgMTUuMTIyMylcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtmb3JtQ29udHJvbF09XCJzZWFyY2hJbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcHMtMTQgbWUtMlwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cIiFzcG9jTGlzdC5sZW5ndGhcIiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5zZXR0aW5nc19jb250YWN0RGlyZWN0b3J5X2lzRG93bmxvYWQgXCIgKGNsaWNrKT1cIm9uRXhwb3J0KClcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBteC0yIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTcuNSAxMi41VjE1LjgzMzNDMTcuNSAxNi4yNzU0IDE3LjMyNDQgMTYuNjk5MyAxNy4wMTE4IDE3LjAxMThDMTYuNjk5MyAxNy4zMjQ0IDE2LjI3NTQgMTcuNSAxNS44MzMzIDE3LjVINC4xNjY2N0MzLjcyNDY0IDE3LjUgMy4zMDA3MiAxNy4zMjQ0IDIuOTg4MTYgMTcuMDExOEMyLjY3NTU5IDE2LjY5OTMgMi41IDE2LjI3NTQgMi41IDE1LjgzMzNWMTIuNU0xNC4xNjY3IDYuNjY2NjdMMTAgMi41TTEwIDIuNUw1LjgzMzMzIDYuNjY2NjdNMTAgMi41VjEyLjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwibXMtMlwiPkV4cG9ydDwvc3Bhbj4gPC9idXR0b24+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNwb2NMaXN0Py5sZW5ndGhcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZSBtdC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidy0xMDAgdGFibGUgYm90dG9tLWJvcmRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlN0b3JlIEluZm88L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlNwb2MgTmFtZSAmIEVtYWlsPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5Db250YWN0IE51bWJlcjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+TG9jYXRpb248L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkFjdGlvbnM8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHNwb2Mgb2Ygc3BvY0xpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdGl0bGUtcHJpbWFyeSB0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlZGlyZWN0VG9TdG9yZShzcG9jPy5zdG9yZUlkKVwiPnt7c3BvYz8uc3RvcmVOYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtc3ViXCI+SUQgOiB7e3Nwb2M/LnN0b3JlSWR9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXRpdGxlXCI+e3tzcG9jPy5zcG9jTmFtZX19IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1zdWJcIj57e3Nwb2M/LnNwb2NFbWFpbH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS10aXRsZVwiPnt7c3BvYz8uc3BvY051bWJlcn19IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdGl0bGVcIj57e3Nwb2M/LnN0b3JlU3RhdGV9fSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtc3ViXCI+e3tzcG9jPy5zdG9yZUNpdHl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLWhlaWdodFwiPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5zZXR0aW5nc19jb250YWN0RGlyZWN0b3J5X2lzRWRpdCBcIiAoY2xpY2spPVwib3BlbkVkaXRTcG9jTW9kYWwoc3BvYz8uc3BvY0lkLCBzcG9jPy5zdG9yZUlkKVwiIGNsYXNzPVwibWUtNVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzU1NDFfNjc1OSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkuMTY2OTkgMy4zMzMzMkgzLjMzMzY2QzIuODkxNjMgMy4zMzMzMiAyLjQ2NzcxIDMuNTA4OTEgMi4xNTUxNSAzLjgyMTQ3QzEuODQyNTkgNC4xMzQwMyAxLjY2Njk5IDQuNTU3OTYgMS42NjY5OSA0Ljk5OTk5VjE2LjY2NjdDMS42NjY5OSAxNy4xMDg3IDEuODQyNTkgMTcuNTMyNiAyLjE1NTE1IDE3Ljg0NTJDMi40Njc3MSAxOC4xNTc3IDIuODkxNjMgMTguMzMzMyAzLjMzMzY2IDE4LjMzMzNIMTUuMDAwM0MxNS40NDI0IDE4LjMzMzMgMTUuODY2MyAxOC4xNTc3IDE2LjE3ODggMTcuODQ1MkMxNi40OTE0IDE3LjUzMjYgMTYuNjY3IDE3LjEwODcgMTYuNjY3IDE2LjY2NjdWMTAuODMzM00xNS40MTcgMi4wODMzMkMxNS43NDg1IDEuNzUxOCAxNi4xOTgyIDEuNTY1NTUgMTYuNjY3IDEuNTY1NTVDMTcuMTM1OCAxLjU2NTU1IDE3LjU4NTUgMS43NTE4IDE3LjkxNyAyLjA4MzMyQzE4LjI0ODUgMi40MTQ4NCAxOC40MzQ4IDIuODY0NDggMTguNDM0OCAzLjMzMzMyQzE4LjQzNDggMy44MDIxNiAxOC4yNDg1IDQuMjUxOCAxNy45MTcgNC41ODMzMkwxMC4wMDAzIDEyLjVMNi42NjY5OSAxMy4zMzMzTDcuNTAwMzMgOS45OTk5OUwxNS40MTcgMi4wODMzMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81NTQxXzY3NTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5zZXR0aW5nc19jb250YWN0RGlyZWN0b3J5X2lzRGVsZXRlIFwiIChjbGljayk9XCJvcGVuRGVsZXRlU3BvY01vZGFsKHNwb2M/LnNwb2NJZCwgc3BvYz8uc3RvcmVJZClcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTIuNSA1LjAwMDAySDQuMTY2NjdNNC4xNjY2NyA1LjAwMDAySDE3LjVNNC4xNjY2NyA1LjAwMDAyVjE2LjY2NjdDNC4xNjY2NyAxNy4xMDg3IDQuMzQyMjYgMTcuNTMyNiA0LjY1NDgyIDE3Ljg0NTJDNC45NjczOCAxOC4xNTc4IDUuMzkxMzEgMTguMzMzNCA1LjgzMzMzIDE4LjMzMzRIMTQuMTY2N0MxNC42MDg3IDE4LjMzMzQgMTUuMDMyNiAxOC4xNTc4IDE1LjM0NTIgMTcuODQ1MkMxNS42NTc3IDE3LjUzMjYgMTUuODMzMyAxNy4xMDg3IDE1LjgzMzMgMTYuNjY2N1Y1LjAwMDAySDQuMTY2NjdaTTYuNjY2NjcgNS4wMDAwMlYzLjMzMzM1QzYuNjY2NjcgMi44OTEzMyA2Ljg0MjI2IDIuNDY3NCA3LjE1NDgyIDIuMTU0ODRDNy40NjczOCAxLjg0MjI4IDcuODkxMzEgMS42NjY2OSA4LjMzMzMzIDEuNjY2NjlIMTEuNjY2N0MxMi4xMDg3IDEuNjY2NjkgMTIuNTMyNiAxLjg0MjI4IDEyLjg0NTIgMi4xNTQ4NEMxMy4xNTc3IDIuNDY3NCAxMy4zMzMzIDIuODkxMzMgMTMuMzMzMyAzLjMzMzM1VjUuMDAwMDJNOC4zMzMzMyA5LjE2NjY5VjE0LjE2NjdNMTEuNjY2NyA5LjE2NjY5VjE0LjE2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwicGFnZVNpemVcIiBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIiBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zXCIgW3BhZ2luYXRpb25TaXplc109XCJwYWdpbmF0aW9uU2l6ZXNcIiBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIiAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNwb2NMaXN0Py5sZW5ndGhcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHdpZHRoPVwiMzAwcHhcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGEuc3ZnXCIgYWx0PVwiXCI+ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbG9hZGluZydcIiAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyLWNhcmQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1kaXJlY3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9jb250YWN0LWRpcmVjdG9yeS9jb250YWN0LWRpcmVjdG9yeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhY3QtZGlyZWN0b3J5L2NvbnRhY3QtZGlyZWN0b3J5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7QUFZMUUsTUFBTSxPQUFPLHlCQUF5QjtJQStCaEI7SUFBeUM7SUFBK0I7SUFBK0I7SUFDbEg7SUFBK0I7SUE5QnhDLFdBQVcsR0FBUSxFQUFFLENBQUE7SUFDckIsU0FBUyxHQUFRLEVBQUUsQ0FBQTtJQUNuQixRQUFRLEdBQVEsRUFBRSxDQUFBO0lBQ2xCLFNBQVMsR0FBUSxFQUFFLENBQUE7SUFDbkIsZUFBZSxDQUFLO0lBQ3BCLGFBQWEsQ0FBSztJQUNsQixZQUFZLEdBQVEsRUFBRSxDQUFBO0lBQ3RCLGFBQWEsR0FBUSxFQUFFLENBQUE7SUFDdkIsT0FBTyxDQUFTO0lBQ2hCLFlBQVksQ0FBUztJQUNyQixhQUFh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TUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUssRUFBQyxFQUFFLENBQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzlDLE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBVztRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDbEIsQ0FBQyx5QkFBeUIsQ0FBQyxFQUMzQixFQUFFLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUN0QyxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxNQUFNLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN4RDthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDckIsQ0FBQzt3R0E3UlUseUJBQXlCOzRGQUF6Qix5QkFBeUIsNkRDbEJ0Qyx5aWtCQXFOTTs7NEZEbk1PLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2xpZW50QXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsaWVudC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgRWRpdFNwb2NDb21wb25lbnQgfSBmcm9tICcuL2VkaXQtc3BvYy9lZGl0LXNwb2MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGV0ZWxlU3BvY0NvbXBvbmVudCB9IGZyb20gJy4vZGV0ZWxlLXNwb2MvZGV0ZWxlLXNwb2MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jb250YWN0LWRpcmVjdG9yeScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRhY3QtZGlyZWN0b3J5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY29udGFjdC1kaXJlY3RvcnkuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250YWN0RGlyZWN0b3J5Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgY291bnRyeUxpc3Q6IGFueSA9IFtdXHJcbiAgc3RhdGVMaXN0OiBhbnkgPSBbXVxyXG4gIGNpdHlMaXN0OiBhbnkgPSBbXVxyXG4gIHN0b3JlTGlzdDogYW55ID0gW11cclxuICBzZWxlY3RlZENvdW50cnk6IGFueVxyXG4gIHNlbGVjdGVkU3RhdGU6IGFueVxyXG4gIHNlbGVjdGVkQ2l0eTogYW55ID0gW11cclxuICBzZWxlY3RlZFN0b3JlOiBhbnkgPSBbXVxyXG4gIGNsaWVuSWQ6IHN0cmluZztcclxuICBzb3J0ZWRDb2x1bW46IHN0cmluZztcclxuICBzb3J0RGlyZWN0aW9uOiBudW1iZXI7XHJcbiAgc3BvY0xpc3Q6IGFueSA9IFtdXHJcbiAgaXNFeHBvcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hWYWx1ZTogc3RyaW5nIHwgbnVsbCA9ICcnO1xyXG5cclxuICAvLyBwYWdpbmF0aW9uVmFyaWFibGVzXHJcbiAgaXRlbXNQZXJQYWdlID0gMTBcclxuICBjdXJyZW50UGFnZSA9IDFcclxuICB0b3RhbEl0ZW1zID0gMFxyXG4gIHBhZ2luYXRpb25TaXplcyA9IFsxMCwgMjAsIDMwXVxyXG4gIHBhZ2VTaXplID0gMTBcclxuXHJcbiAgc2VhcmNoSW5wdXQgPSBuZXcgRm9ybUNvbnRyb2woKVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBwYWdlU3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDwnbG9hZGVkJyB8ICdsb2FkaW5nJz4oJ2xvYWRpbmcnKTtcclxuXHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNsaWVudFNlcnZpY2U6IENsaWVudEFwaVNlcnZpY2UsIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIG1vZGFsU2VydmljZTpOZ2JNb2RhbCwgcHJpdmF0ZSB0b2FzdDpUb2FzdFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZ3M6R2xvYmFsU3RhdGVTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjpSb3V0ZXJcclxuICApIHtcclxuICAgIHRoaXMuY2xpZW50U2VydmljZS5jbGllbnRJZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgdGhpcy5jbGllbklkID0gZVxyXG4gICAgICAgIHRoaXMuZ2V0QWxsU3RvcmVzKGUpXHJcbiAgICAgICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgdGhpcy5nZXRMb2NEYXRhKClcclxuICAgIHRoaXMuaW5pdFNlYXJjaCgpXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGdldExvY0RhdGEoKXtcclxuICAgIGxldCBvYmo9e1xyXG4gICAgICBcImNsaWVudElkXCI6IHRoaXMuY2xpZW5JZCxcclxuICAgICAgLy8gXCJjb3VudHJ5XCI6IFwiSW5kaWFcIixcclxuICAgICAgLy8gXCJzdGF0ZVwiOlwiS29sa2F0YVwiXHJcbiAgICB9XHJcbnRoaXMuY2xpZW50U2VydmljZS5sb2NhdGlvbkxpc3REYXRhKG9iaikucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSk9PntcclxuICBpZiAoZT8uZGF0YT8ubGVuZ3RoKSB7XHJcbiAgICB0aGlzLmNvdW50cnlMaXN0ID0gZS5kYXRhXHJcbiAgfSBlbHNlIHtcclxuICAgIHRoaXMuY291bnRyeUxpc3QgPSBbXVxyXG4gIH1cclxufSlcclxuICB9XHJcblxyXG4gIGdldEFsbENvdW50cmllcygpIHtcclxuICAgIHRoaXMuY2xpZW50U2VydmljZS5nZXRBbGxDb3VudHJpZXMoKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlPy5kYXRhPy5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLmNvdW50cnlMaXN0ID0gZS5kYXRhXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jb3VudHJ5TGlzdCA9IFtdXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldEFsbFN0YXRlcyhjb3VudHJ5OiBzdHJpbmcpIHtcclxuICAgIGxldCBvYmo9e1xyXG4gICAgICBcImNsaWVudElkXCI6IHRoaXMuY2xpZW5JZCxcclxuICAgICAgXCJjb3VudHJ5XCI6IGNvdW50cnksXHJcbiAgICAgIC8vIFwic3RhdGVcIjpcIktvbGthdGFcIlxyXG4gICAgfVxyXG50aGlzLmNsaWVudFNlcnZpY2UubG9jYXRpb25MaXN0RGF0YShvYmopLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpPT57XHJcbiAgaWYgKGU/LmRhdGE/Lmxlbmd0aCkge1xyXG4gICAgdGhpcy5zdGF0ZUxpc3QgPSBlLmRhdGFcclxuICB9IGVsc2Uge1xyXG4gICAgdGhpcy5zdGF0ZUxpc3QgPSBbXVxyXG4gIH1cclxufSlcclxuICAgIC8vIHRoaXMuY2xpZW50U2VydmljZS5nZXRBbGxTdGF0ZXMoY291bnRyeSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgLy8gICBpZiAoZT8uZGF0YT8ubGVuZ3RoKSB7XHJcbiAgICAvLyAgICAgdGhpcy5zdGF0ZUxpc3QgPSBlLmRhdGFcclxuICAgIC8vICAgfSBlbHNlIHtcclxuICAgIC8vICAgICB0aGlzLnN0YXRlTGlzdCA9IFtdXHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuICAgIC8vIClcclxuICB9XHJcblxyXG4gIGdldEFsbENpdGllcyhjb3VudHJ5OiBzdHJpbmcsIHN0YXRlOiBzdHJpbmcpIHtcclxuICAgIGxldCBvYmo9e1xyXG4gICAgICBcImNsaWVudElkXCI6IHRoaXMuY2xpZW5JZCxcclxuICAgICAgXCJjb3VudHJ5XCI6IGNvdW50cnksXHJcbiAgICAgIFwic3RhdGVcIjpzdGF0ZVxyXG4gICAgfVxyXG50aGlzLmNsaWVudFNlcnZpY2UubG9jYXRpb25MaXN0RGF0YShvYmopLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpPT57XHJcbiAgaWYgKGU/LmRhdGE/Lmxlbmd0aCkge1xyXG4gICAgdGhpcy5jaXR5TGlzdCA9IGUuZGF0YVxyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLmNpdHlMaXN0ID0gW11cclxuICB9XHJcbn0pXHJcbiAgICAvLyB0aGlzLmNsaWVudFNlcnZpY2UuZ2V0QWxsQ2l0aWVzKGNvdW50cnksIHN0YXRlKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAvLyAgIGlmIChlPy5kYXRhPy5sZW5ndGgpIHtcclxuICAgIC8vICAgICB0aGlzLmNpdHlMaXN0ID0gZS5kYXRhXHJcbiAgICAvLyAgIH0gZWxzZSB7XHJcbiAgICAvLyAgICAgdGhpcy5jaXR5TGlzdCA9IFtdXHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuICAgIC8vIClcclxuICB9XHJcblxyXG4gIGdldEFsbFN0b3JlcyhjbGllbnRJZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNsaWVudFNlcnZpY2UuZ2V0U3RvcmVMaXN0KGNsaWVudElkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSBlPy5kYXRhPy5yZXN1bHRcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnN0b3JlTGlzdCA9IFtdXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBvbkNvdW50cnlTZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSBldmVudFxyXG4gICAgdGhpcy5nZXRBbGxTdGF0ZXModGhpcy5zZWxlY3RlZENvdW50cnkubmFtZSlcclxuICB9XHJcblxyXG4gIG9uU3RhdGVTZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFN0YXRlID0gZXZlbnRcclxuICAgIHRoaXMuZ2V0QWxsQ2l0aWVzKHRoaXMuc2VsZWN0ZWRDb3VudHJ5Lm5hbWUsIHRoaXMuc2VsZWN0ZWRTdGF0ZS5uYW1lKVxyXG4gIH1cclxuXHJcbiAgb25DaXR5U2VsZWN0KGV2ZW50OiBhbnkpIHsgICAgXHJcbiAgICB0aGlzLnNlbGVjdGVkQ2l0eSA9IGV2ZW50XHJcbiAgfVxyXG5cclxuICBvblN0b3JlU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdG9yZSA9IGV2ZW50XHJcbiAgfVxyXG5cclxuICBvbkZpbHRlckFwcGx5KCkge1xyXG4gICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gIH1cclxuXHJcbiAgZ2V0U3BvY1RhYmxlKCkge1xyXG4gICAgdGhpcy5wYWdlU3RhdGUkLm5leHQoJ2xvYWRpbmcnKVxyXG4gICAgbGV0IGZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7XHJcbiAgICAgIGV4cG9ydDogdGhpcy5pc0V4cG9ydCxcclxuICAgICAgbGltaXQ6IHRoaXMucGFnZVNpemUsXHJcbiAgICAgIG9mZnNldDogdGhpcy5jdXJyZW50UGFnZSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuY2xpZW5JZFxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VhcmNoVmFsdWUpIHtcclxuICAgICAgZmlsdGVycy5zZWFyY2ggPSB0aGlzLnNlYXJjaFZhbHVlXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvdW50cnkpIHtcclxuICAgICAgZmlsdGVycy5jb3VudHJ5ID0gdGhpcy5zZWxlY3RlZENvdW50cnkubmFtZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRTdGF0ZSkge1xyXG4gICAgICBmaWx0ZXJzLnN0YXRlID0gdGhpcy5zZWxlY3RlZFN0YXRlLm5hbWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2l0eS5sZW5ndGgpIHtcclxuICAgICAgZmlsdGVycy5jaXR5ID0gdGhpcy5zZWxlY3RlZENpdHkubWFwKChlOmFueSk9PiBlLm5hbWUpXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5nZXRTdG9yZUlkQXJyYXkodGhpcy5zZWxlY3RlZFN0b3JlKT8ubGVuZ3RoKSB7XHJcbiAgICAgIGZpbHRlcnMuc3RvcmVJZCA9IHRoaXMuZ2V0U3RvcmVJZEFycmF5KHRoaXMuc2VsZWN0ZWRTdG9yZSlcclxuICAgIH0gICAgXHJcbiAgICBpZiAodGhpcy5zb3J0ZWRDb2x1bW4pIHtcclxuICAgICAgZmlsdGVycy5zb3J0Q29sdW1OYW1lID0gdGhpcy5zb3J0ZWRDb2x1bW5cclxuICAgICAgZmlsdGVycy5zb3J0QnkgPSB0aGlzLnNvcnREaXJlY3Rpb25cclxuICAgIH1cclxuICAgIGlmKHRoaXMuaXNFeHBvcnQpe1xyXG4gICAgICB0aGlzLmNsaWVudFNlcnZpY2Uuc3BvY1RhYmxlRGF0YUV4cG9ydChmaWx0ZXJzKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAoZSkgPT4geyAgXHJcbiAgICAgICAgICB0aGlzLnBhZ2VTdGF0ZSQubmV4dCgnbG9hZGVkJylcclxuICAgICAgICAgIHRoaXMuY2xpZW50U2VydmljZS5zYXZlQXNUZW1wbGF0ZShlLCAnY29udGFjdF9kaXJlY3RvcnknKSAgICAgICAgICAgIFxyXG4gICAgICAgICAgdGhpcy5pc0V4cG9ydCA9IGZhbHNlXHJcbiAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmNsaWVudFNlcnZpY2Uuc3BvY1RhYmxlRGF0YShmaWx0ZXJzKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGUpID0+IHsgICAgXHJcbiAgICAgICAgdGhpcy5wYWdlU3RhdGUkLm5leHQoJ2xvYWRlZCcpICAgICAgICAgICAgICBcclxuICAgICAgICAgIGlmIChlPy5kYXRhPy5jb3VudCkge1xyXG4gICAgICAgICAgICB0aGlzLnNwb2NMaXN0ID0gZS5kYXRhPy5kYXRhXHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IGUuZGF0YT8uY291bnRcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3BvY0xpc3QgPSBbXVxyXG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwXHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgICAgICB9IFxyXG4gICAgICAgIFxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGUpID0+IHsgICAgICAgIFxyXG4gICAgICAgIHRoaXMuc3BvY0xpc3QgPSBbXVxyXG4gICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9XHJcbiAgICB9KSBcclxuICAgIH1cclxuXHJcbiAgIFxyXG4gIH1cclxuXHJcbiAgaW5pdFNlYXJjaCgpIHtcclxuICAgIHRoaXMuc2VhcmNoSW5wdXQudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5waXBlKGRlYm91bmNlVGltZSgxMDAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKFxyXG4gICAgICAoZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmFsdWUgPSBlXHJcbiAgICAgICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBvblBhZ2VDaGFuZ2UocGFnZU9mZnNldDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gTnVtYmVyKHBhZ2VPZmZzZXQpXHJcbiAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcblxyXG4gIH1cclxuXHJcbiAgb25QYWdlU2l6ZUNoYW5nZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gTnVtYmVyKHBhZ2VTaXplKVxyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDFcclxuICAgIHRoaXMuZ2V0U3BvY1RhYmxlKClcclxuICB9XHJcblxyXG4gIG9uRXhwb3J0KCkge1xyXG4gICAgdGhpcy5pc0V4cG9ydCA9IHRydWVcclxuICAgIHRoaXMuZ2V0U3BvY1RhYmxlKClcclxuICB9XHJcblxyXG4gIG9wZW5FZGl0U3BvY01vZGFsKHNwb2NJZDpzdHJpbmcsIHN0b3JlSWQ6c3RyaW5nKSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oRWRpdFNwb2NDb21wb25lbnQsIHsgc2l6ZTogJ21kJywgY2VudGVyZWQ6IHRydWUgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zcG9jSWQgPSBzcG9jSWRcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnN0b3JlSWQgPSBzdG9yZUlkXHJcbiAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigoZXZlbnQpID0+IHsgICAgICBcclxuICAgICAgaWYgKGV2ZW50Py50eXBlID09PSAnZWRpdCcpIHsgXHJcbiAgICAgICAgdGhpcy50b2FzdC5nZXRTdWNjZXNzVG9hc3QoJ1VwZGF0ZWQgc3VjY2Vzc2Z1bGx5LicpICAgICAgICBcclxuICAgICAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlbkRlbGV0ZVNwb2NNb2RhbChzcG9jSWQ6c3RyaW5nLCBzdG9yZUlkOnN0cmluZykge1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKERldGVsZVNwb2NDb21wb25lbnQsIHsgc2l6ZTogJ21kJywgY2VudGVyZWQ6IHRydWUgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zcG9jSWQgPSBzcG9jSWRcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnN0b3JlSWQgPSBzdG9yZUlkXHJcbiAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigoZXZlbnQpID0+IHsgICAgICBcclxuICAgICAgaWYgKGV2ZW50Py50eXBlID09PSAnZGVsZXRlJykgeyBcclxuICAgICAgICB0aGlzLnRvYXN0LmdldFN1Y2Nlc3NUb2FzdCgnVXNlciBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nKSAgICAgICBcclxuICAgICAgICB0aGlzLmdldFNwb2NUYWJsZSgpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RvcmVJZEFycmF5KHN0b3Jlczphbnkpe1xyXG4gICAgY29uc3QgaWRBcnJheSA9IHN0b3Jlcy5tYXAoKGU6YW55KT0+ZS5zdG9yZUlkKVxyXG4gICAgcmV0dXJuIGlkQXJyYXlcclxuICB9XHJcblxyXG4gIHJlZGlyZWN0VG9TdG9yZShzdG9yZUlkOmFueSl7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShcclxuICAgICAgWycvbWFuYWdlL3N0b3Jlcy9zZXR0aW5ncyddLFxyXG4gICAgICB7IHF1ZXJ5UGFyYW1zOiB7IHN0b3JlSWQ6IHN0b3JlSWQgfSB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBvblNvcnQoY29sdW1uOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLnNvcnRlZENvbHVtbiA9PT0gY29sdW1uKSB7XHJcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbiA9IHRoaXMuc29ydERpcmVjdGlvbiA9PT0gMSA/IC0xIDogMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc29ydGVkQ29sdW1uID0gY29sdW1uO1xyXG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSAxO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRTcG9jVGFibGUoKVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFjdC1jYXJkXCI+XHJcbiAgICA8aDMgY2xhc3M9XCJtYi01XCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIj5TZWxlY3QgWW91ciBQcmVmZXJlbmNlczwvc3Bhbj5cclxuICAgIDwvaDM+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5mcmFEb3duVGltZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNvdW50cnkgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8bGliLXNlbGVjdCAgW2l0ZW1zXT1cImNvdW50cnlMaXN0XCIgW211bHRpXT1cImZhbHNlXCIgW3NlYXJjaEZpZWxkXT1cIiduYW1lJ1wiIFtpZEZpZWxkXT1cIiduYW1lJ1wiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwib25Db3VudHJ5U2VsZWN0KCRldmVudClcIiBbc2VsZWN0ZWRWYWx1ZXNdPVwiW3NlbGVjdGVkQ291bnRyeV1cIj48L2xpYi1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5mcmFEb3duVGltZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlN0YXRlIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgPGxpYi1zZWxlY3QgW2l0ZW1zXT1cInN0YXRlTGlzdFwiIFttdWx0aV09XCJmYWxzZVwiIFtzZWFyY2hGaWVsZF09XCInbmFtZSdcIiBbaWRGaWVsZF09XCInbmFtZSdcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cIm9uU3RhdGVTZWxlY3QoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJbc2VsZWN0ZWRTdGF0ZV1cIj48L2xpYi1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5mcmFEb3duVGltZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkNpdHkgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8bGliLXNlbGVjdCBbaXRlbXNdPVwiY2l0eUxpc3RcIiBbbXVsdGldPVwidHJ1ZVwiIFtzZWFyY2hGaWVsZF09XCInbmFtZSdcIiBbaWRGaWVsZF09XCInbGF0aXR1ZGUnXCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJvbkNpdHlTZWxlY3QoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJzZWxlY3RlZENpdHlcIj48L2xpYi1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctNiBjb2wteGwtNiBjb2wteHhsLTYgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5mcmFEb3duVGltZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlN0b3JlIE5hbWUgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8bGliLXNlbGVjdCBbaXRlbXNdPVwic3RvcmVMaXN0XCIgW211bHRpXT1cInRydWVcIiBbc2VhcmNoRmllbGRdPVwiJ3N0b3JlTmFtZSdcIiBbaWRGaWVsZF09XCInc3RvcmVJZCdcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkKT1cIm9uU3RvcmVTZWxlY3QoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJzZWxlY3RlZFN0b3JlXCI+PC9saWItc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgIDxhIChjbGljayk9XCJvbkZpbHRlckFwcGx5KClcIiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBcIj48c3Bhbj5BcHBseTwvc3Bhbj48L2E+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXItc2VwZXJhdG9yIG1iLTEwXCI+PC9kaXY+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdlU3RhdGUkIHwgYXN5bmMgYXMgcGFnZVN0YXRlXCIgPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJwYWdlU3RhdGVcIiA+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbG9hZGVkJ1wiICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yXCI+Q29udGFjdHMgTGlzdDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCIxNy4wMzY1XCIgeT1cIjE1LjEyMjNcIiB3aWR0aD1cIjguMTU1NDZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEgMTlDNi41NTU1NiAxOSAzIDE1LjQ0NDQgMyAxMUMzIDYuNTU1NTYgNi41NTU1NiAzIDExIDNDMTUuNDQ0NCAzIDE5IDYuNTU1NTYgMTkgMTFDMTkgMTUuNDQ0NCAxNS40NDQ0IDE5IDExIDE5Wk0xMSA1QzcuNTMzMzMgNSA1IDcuNTMzMzMgNSAxMUM1IDE0LjQ2NjcgNy41MzMzMyAxNyAxMSAxN0MxNC40NjY3IDE3IDE3IDE0LjQ2NjcgMTcgMTFDMTcgNy41MzMzMyAxNC40NjY3IDUgMTEgNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbZm9ybUNvbnRyb2xdPVwic2VhcmNoSW5wdXRcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCIhc3BvY0xpc3QubGVuZ3RoXCIgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uc2V0dGluZ3NfY29udGFjdERpcmVjdG9yeV9pc0Rvd25sb2FkIFwiIChjbGljayk9XCJvbkV4cG9ydCgpXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE3LjUgMTIuNVYxNS44MzMzQzE3LjUgMTYuMjc1NCAxNy4zMjQ0IDE2LjY5OTMgMTcuMDExOCAxNy4wMTE4QzE2LjY5OTMgMTcuMzI0NCAxNi4yNzU0IDE3LjUgMTUuODMzMyAxNy41SDQuMTY2NjdDMy43MjQ2NCAxNy41IDMuMzAwNzIgMTcuMzI0NCAyLjk4ODE2IDE3LjAxMThDMi42NzU1OSAxNi42OTkzIDIuNSAxNi4yNzU0IDIuNSAxNS44MzMzVjEyLjVNMTQuMTY2NyA2LjY2NjY3TDEwIDIuNU0xMCAyLjVMNS44MzMzMyA2LjY2NjY3TTEwIDIuNVYxMi41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cIm1zLTJcIj5FeHBvcnQ8L3NwYW4+IDwvYnV0dG9uPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzcG9jTGlzdD8ubGVuZ3RoXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmUgbXQtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnc3RvcmVOYW1lJylcIiA+U3RvcmUgTmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVOYW1lJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3N0b3JlSWQnKVwiID5TdG9yZSBJRFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVJZCcgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnc3BvY05hbWUnKVwiID5TcG9jIE5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ3Nwb2NOYW1lJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnc3BvY0VtYWlsJylcIiA+U3BvYyBFbWFpbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnc3BvY0VtYWlsJyAmJiBzb3J0RGlyZWN0aW9uID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdzcG9jTnVtYmVyJylcIiA+Q29udGFjdCBOdW1iZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ3Nwb2NOdW1iZXInICYmIHNvcnREaXJlY3Rpb24gPT09IDEgPyAncm90YXRlJyA6ICcnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3N0b3JlU3RhdGUnKVwiID5Mb2NhdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVTdGF0ZScgJiYgc29ydERpcmVjdGlvbiA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5BY3Rpb25zPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBzcG9jIG9mIHNwb2NMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXRpdGxlLXByaW1hcnkgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZWRpcmVjdFRvU3RvcmUoc3BvYz8uc3RvcmVJZClcIj57e3Nwb2M/LnN0b3JlTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3Nwb2M/LnN0b3JlSWR9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdGl0bGVcIj57e3Nwb2M/LnNwb2NOYW1lfX0gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tzcG9jPy5zcG9jRW1haWx9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtdGl0bGVcIj57e3Nwb2M/LnNwb2NOdW1iZXJ9fSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXRpdGxlXCI+e3tzcG9jPy5zdG9yZVN0YXRlfX0gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwidGFibGUtc3ViXCI+e3tzcG9jPy5zdG9yZUNpdHl9fTwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhbGlnbi1oZWlnaHRcIj48c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uc2V0dGluZ3NfY29udGFjdERpcmVjdG9yeV9pc0VkaXQgXCIgKGNsaWNrKT1cIm9wZW5FZGl0U3BvY01vZGFsKHNwb2M/LnNwb2NJZCwgc3BvYz8uc3RvcmVJZClcIiBjbGFzcz1cIm1lLTVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81NTQxXzY3NTkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05LjE2Njk5IDMuMzMzMzJIMy4zMzM2NkMyLjg5MTYzIDMuMzMzMzIgMi40Njc3MSAzLjUwODkxIDIuMTU1MTUgMy44MjE0N0MxLjg0MjU5IDQuMTM0MDMgMS42NjY5OSA0LjU1Nzk2IDEuNjY2OTkgNC45OTk5OVYxNi42NjY3QzEuNjY2OTkgMTcuMTA4NyAxLjg0MjU5IDE3LjUzMjYgMi4xNTUxNSAxNy44NDUyQzIuNDY3NzEgMTguMTU3NyAyLjg5MTYzIDE4LjMzMzMgMy4zMzM2NiAxOC4zMzMzSDE1LjAwMDNDMTUuNDQyNCAxOC4zMzMzIDE1Ljg2NjMgMTguMTU3NyAxNi4xNzg4IDE3Ljg0NTJDMTYuNDkxNCAxNy41MzI2IDE2LjY2NyAxNy4xMDg3IDE2LjY2NyAxNi42NjY3VjEwLjgzMzNNMTUuNDE3IDIuMDgzMzJDMTUuNzQ4NSAxLjc1MTggMTYuMTk4MiAxLjU2NTU1IDE2LjY2NyAxLjU2NTU1QzE3LjEzNTggMS41NjU1NSAxNy41ODU1IDEuNzUxOCAxNy45MTcgMi4wODMzMkMxOC4yNDg1IDIuNDE0ODQgMTguNDM0OCAyLjg2NDQ4IDE4LjQzNDggMy4zMzMzMkMxOC40MzQ4IDMuODAyMTYgMTguMjQ4NSA0LjI1MTggMTcuOTE3IDQuNTgzMzJMMTAuMDAwMyAxMi41TDYuNjY2OTkgMTMuMzMzM0w3LjUwMDMzIDkuOTk5OTlMMTUuNDE3IDIuMDgzMzJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTU0MV82NzU5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8uc2V0dGluZ3NfY29udGFjdERpcmVjdG9yeV9pc0RlbGV0ZSBcIiAoY2xpY2spPVwib3BlbkRlbGV0ZVNwb2NNb2RhbChzcG9jPy5zcG9jSWQsIHNwb2M/LnN0b3JlSWQpXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yLjUgNS4wMDAwMkg0LjE2NjY3TTQuMTY2NjcgNS4wMDAwMkgxNy41TTQuMTY2NjcgNS4wMDAwMlYxNi42NjY3QzQuMTY2NjcgMTcuMTA4NyA0LjM0MjI2IDE3LjUzMjYgNC42NTQ4MiAxNy44NDUyQzQuOTY3MzggMTguMTU3OCA1LjM5MTMxIDE4LjMzMzQgNS44MzMzMyAxOC4zMzM0SDE0LjE2NjdDMTQuNjA4NyAxOC4zMzM0IDE1LjAzMjYgMTguMTU3OCAxNS4zNDUyIDE3Ljg0NTJDMTUuNjU3NyAxNy41MzI2IDE1LjgzMzMgMTcuMTA4NyAxNS44MzMzIDE2LjY2NjdWNS4wMDAwMkg0LjE2NjY3Wk02LjY2NjY3IDUuMDAwMDJWMy4zMzMzNUM2LjY2NjY3IDIuODkxMzMgNi44NDIyNiAyLjQ2NzQgNy4xNTQ4MiAyLjE1NDg0QzcuNDY3MzggMS44NDIyOCA3Ljg5MTMxIDEuNjY2NjkgOC4zMzMzMyAxLjY2NjY5SDExLjY2NjdDMTIuMTA4NyAxLjY2NjY5IDEyLjUzMjYgMS44NDIyOCAxMi44NDUyIDIuMTU0ODRDMTMuMTU3NyAyLjQ2NzQgMTMuMzMzMyAyLjg5MTMzIDEzLjMzMzMgMy4zMzMzNVY1LjAwMDAyTTguMzMzMzMgOS4xNjY2OVYxNC4xNjY3TTExLjY2NjcgOS4xNjY2OVYxNC4xNjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplXCIgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCIgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtc1wiIFtwYWdpbmF0aW9uU2l6ZXNdPVwicGFnaW5hdGlvblNpemVzXCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCIgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXBhZ2luYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICBcclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzcG9jTGlzdD8ubGVuZ3RoXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyB3aWR0aD1cIjMwMHB4XCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2xvYWRpbmcnXCIgID5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lci1jYXJkIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -39,10 +39,10 @@ export class DeteleSpocComponent {
39
39
  }
40
40
  });
41
41
  }
42
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: DeteleSpocComponent, deps: [{ token: i1.ClientApiService }, { token: i2.NgbActiveModal }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Component });
43
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: DeteleSpocComponent, selector: "lib-detele-spoc", inputs: { spocId: "spocId", storeId: "storeId" }, ngImport: i0, template: " <div class=\"row\">\r\n <div class=\"col-12 mb-5\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#FEE4E2\"/>\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#FEF3F2\" stroke-width=\"8\"/>\r\n <path d=\"M28 24V28M28 32H28.01M38 28C38 33.5228 33.5228 38 28 38C22.4772 38 18 33.5228 18 28C18 22.4772 22.4772 18 28 18C33.5228 18 38 22.4772 38 28Z\" stroke=\"#D92D20\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"header mb-3\">Are you sure?</div>\r\n <div class=\"sub-header\">Do you want to delete the user globally?</div>\r\n </div>\r\n <div class=\"col-12 mt-10\">\r\n <div class=\"row\">\r\n <div class=\"col \">\r\n <button type=\"button\" class=\"btn btn-outline w-100 \" (click)=\"onCancel()\">Cancel</button>\r\n </div>\r\n <div class=\"col\">\r\n <button type=\"button\" class=\"btn btn-danger w-100\"\r\n (click)=\"onSubmit()\"><span>Delete</span></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n", styles: [":host{padding:1.5rem}.header{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.sub-header{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control[disabled]{background-color:#f9fafb!important}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}\n"] });
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DeteleSpocComponent, deps: [{ token: i1.ClientApiService }, { token: i2.NgbActiveModal }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: DeteleSpocComponent, selector: "lib-detele-spoc", inputs: { spocId: "spocId", storeId: "storeId" }, ngImport: i0, template: " <div class=\"row\">\r\n <div class=\"col-12 mb-5\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#FEE4E2\"/>\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#FEF3F2\" stroke-width=\"8\"/>\r\n <path d=\"M28 24V28M28 32H28.01M38 28C38 33.5228 33.5228 38 28 38C22.4772 38 18 33.5228 18 28C18 22.4772 22.4772 18 28 18C33.5228 18 38 22.4772 38 28Z\" stroke=\"#D92D20\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"header mb-3\">Are you sure?</div>\r\n <div class=\"sub-header\">Do you want to delete the user globally?</div>\r\n </div>\r\n <div class=\"col-12 mt-10\">\r\n <div class=\"row\">\r\n <div class=\"col \">\r\n <button type=\"button\" class=\"btn btn-outline w-100 \" (click)=\"onCancel()\">Cancel</button>\r\n </div>\r\n <div class=\"col\">\r\n <button type=\"button\" class=\"btn btn-danger w-100\"\r\n (click)=\"onSubmit()\"><span>Delete</span></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n", styles: [":host{padding:1.5rem}.header{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.sub-header{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control[disabled]{background-color:#f9fafb!important}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}\n"] });
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: DeteleSpocComponent, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DeteleSpocComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'lib-detele-spoc', template: " <div class=\"row\">\r\n <div class=\"col-12 mb-5\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#FEE4E2\"/>\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#FEF3F2\" stroke-width=\"8\"/>\r\n <path d=\"M28 24V28M28 32H28.01M38 28C38 33.5228 33.5228 38 28 38C22.4772 38 18 33.5228 18 28C18 22.4772 22.4772 18 28 18C33.5228 18 38 22.4772 38 28Z\" stroke=\"#D92D20\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n <div class=\"col-12\">\r\n <div class=\"header mb-3\">Are you sure?</div>\r\n <div class=\"sub-header\">Do you want to delete the user globally?</div>\r\n </div>\r\n <div class=\"col-12 mt-10\">\r\n <div class=\"row\">\r\n <div class=\"col \">\r\n <button type=\"button\" class=\"btn btn-outline w-100 \" (click)=\"onCancel()\">Cancel</button>\r\n </div>\r\n <div class=\"col\">\r\n <button type=\"button\" class=\"btn btn-danger w-100\"\r\n (click)=\"onSubmit()\"><span>Delete</span></button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n", styles: [":host{padding:1.5rem}.header{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.sub-header{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control[disabled]{background-color:#f9fafb!important}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}\n"] }]
48
48
  }], ctorParameters: () => [{ type: i1.ClientApiService }, { type: i2.NgbActiveModal }, { type: i3.ToastService }], propDecorators: { spocId: [{