@posiwise/admin-module 0.0.140 → 0.0.142

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 (173) hide show
  1. package/esm2022/lib/admin-guard.service.mjs +2 -2
  2. package/esm2022/lib/admin-module.routing.mjs +27 -27
  3. package/esm2022/lib/admin.module.mjs +50 -43
  4. package/esm2022/lib/components/TOS/terms-of-service/terms-of-service.component.mjs +5 -5
  5. package/esm2022/lib/components/TOS/terms-of-service-details/terms-of-service-details.component.mjs +2 -2
  6. package/esm2022/lib/components/TOS/terms-of-service-tabs/terms-of-service-tabs.component.mjs +1 -1
  7. package/esm2022/lib/components/config/global-config-details/global-config-details.component.mjs +2 -2
  8. package/esm2022/lib/components/config/global-config-list/global-config-list.component.mjs +3 -3
  9. package/esm2022/lib/components/config/global-config-tabs/global-config-tabs.component.mjs +1 -1
  10. package/esm2022/lib/components/contact-us/contact-us-list/contact-us-list.component.mjs +6 -6
  11. package/esm2022/lib/components/contact-us/contact-us-tabs/contact-us-tabs.component.mjs +1 -1
  12. package/esm2022/lib/components/credentials/credentials/credentials.component.mjs +4 -4
  13. package/esm2022/lib/components/credentials/credentials-details/credentials-details.component.mjs +2 -2
  14. package/esm2022/lib/components/credentials/credentials-tab/credentials-tab.component.mjs +1 -1
  15. package/esm2022/lib/components/credentials/subscription-credentials/subscription-credentials.component.mjs +7 -7
  16. package/esm2022/lib/components/credentials/subscription-credentials-details/subscription-credentials-details.component.mjs +2 -2
  17. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-build/domain-config-build.component.mjs +6 -6
  18. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-core/domain-config-core.component.mjs +4 -4
  19. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-details.component.mjs +2 -2
  20. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-integrations/domain-config-integrations.component.mjs +4 -4
  21. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-interface/domain-config-interface.component.mjs +6 -6
  22. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-organization/domain-config-organization.component.mjs +4 -4
  23. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-security/domain-config-security.component.mjs +4 -4
  24. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-social/domain-config-social.component.mjs +4 -4
  25. package/esm2022/lib/components/domain-config/domain-config-list/domain-config-list.component.mjs +8 -8
  26. package/esm2022/lib/components/domain-config/domain-config-tabs/domain-config-tabs.component.mjs +1 -1
  27. package/esm2022/lib/components/faqs/add-faq/add-faq.component.mjs +25 -26
  28. package/esm2022/lib/components/faqs/edit-faq/edit-faq.component.mjs +27 -26
  29. package/esm2022/lib/components/faqs/faqs-list/faqs-list.component.mjs +11 -11
  30. package/esm2022/lib/components/faqs/faqs-tabs/faqs-tabs.component.mjs +1 -1
  31. package/esm2022/lib/components/feedback-questions/feedback-questions-details/feedback-questions-details.component.mjs +3 -3
  32. package/esm2022/lib/components/feedback-questions/feedback-questions-list/feedback-questions-list.component.mjs +5 -5
  33. package/esm2022/lib/components/generic/generic-misc/generic-misc.component.mjs +3 -3
  34. package/esm2022/lib/components/generic/generic-tabs/generic-tabs.component.mjs +1 -1
  35. package/esm2022/lib/components/incidents/add-edit-incident/add-edit-incident.component.mjs +4 -4
  36. package/esm2022/lib/components/incidents/incidents-list/incidents-list.component.mjs +3 -3
  37. package/esm2022/lib/components/incidents/incidents-tabs/incidents-tabs.component.mjs +1 -1
  38. package/esm2022/lib/components/login-notifications/login-notification-details/login-notification-details.component.mjs +4 -4
  39. package/esm2022/lib/components/login-notifications/login-notification-tabs/login-notification-tabs.component.mjs +1 -1
  40. package/esm2022/lib/components/login-notifications/login-notifications-list/login-notifications-list.component.mjs +11 -7
  41. package/esm2022/lib/components/mailer/mailer-details/mailer-details.component.mjs +5 -5
  42. package/esm2022/lib/components/mailer/mailer-list/mailer-list.component.mjs +6 -6
  43. package/esm2022/lib/components/mailer/mailer-tabs/mailer-tabs.component.mjs +1 -1
  44. package/esm2022/lib/components/newsletters/newsletter-details/newsletter-details.component.mjs +4 -4
  45. package/esm2022/lib/components/newsletters/newsletter-item-details/newsletter-item-details.component.mjs +10 -10
  46. package/esm2022/lib/components/newsletters/newsletter-users-list/newsletter-users-list.component.mjs +5 -5
  47. package/esm2022/lib/components/newsletters/newsletters-insight/newsletters-insight.component.mjs +26 -4
  48. package/esm2022/lib/components/newsletters/newsletters-items/newsletters-items-view-details/newsletters-items-view-details.component.mjs +4 -4
  49. package/esm2022/lib/components/newsletters/newsletters-items/newsletters-items.component.mjs +6 -6
  50. package/esm2022/lib/components/newsletters/newsletters-list/newsletters-list.component.mjs +5 -5
  51. package/esm2022/lib/components/newsletters/newsletters-tabs/newsletters-tabs.component.mjs +2 -2
  52. package/esm2022/lib/components/permissions/permissions-details/permissions-details.component.mjs +2 -2
  53. package/esm2022/lib/components/permissions/permissions-list/permissions-list.component.mjs +5 -5
  54. package/esm2022/lib/components/permissions/permissions-tabs/permissions-tabs.component.mjs +1 -1
  55. package/esm2022/lib/components/permissions/role-details/role-details.component.mjs +2 -2
  56. package/esm2022/lib/components/permissions/roles-list/roles-list.component.mjs +5 -5
  57. package/esm2022/lib/components/products/product-details/product-details.component.mjs +10 -11
  58. package/esm2022/lib/components/products/products-insight/products-insight.component.mjs +16 -11
  59. package/esm2022/lib/components/products/products-list/products-list.component.mjs +7 -7
  60. package/esm2022/lib/components/products/products-tabs/products-tabs.component.mjs +1 -1
  61. package/esm2022/lib/components/products/users-list-for-product/users-list-for-product.component.mjs +1 -1
  62. package/esm2022/lib/components/subscriptions/subscription-agents/subscription-agents.component.mjs +2 -2
  63. package/esm2022/lib/components/subscriptions/subscription-agents-list/subscription-agents-list.component.mjs +7 -7
  64. package/esm2022/lib/components/subscriptions/subscription-details/subscription-details.component.mjs +4 -4
  65. package/esm2022/lib/components/subscriptions/subscription-product-details/subscription-product-details.component.mjs +4 -4
  66. package/esm2022/lib/components/subscriptions/subscription-products/subscription-products.component.mjs +4 -4
  67. package/esm2022/lib/components/subscriptions/subscription-users/subscription-users.component.mjs +30 -7
  68. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-average-price/subscription-insight-average-price.component.mjs +17 -12
  69. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-average-user/subscription-insight-average-user.component.mjs +17 -12
  70. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-churn/subscription-insight-churn.component.mjs +55 -0
  71. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-nps/subscription-insight-nps.component.mjs +20 -15
  72. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-product-session/subscription-insight-product-session.component.mjs +17 -12
  73. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-revenue/subscription-insight-revenue.component.mjs +17 -12
  74. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-tabs/subscription-insight-tabs.component.mjs +4 -3
  75. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscriptions-insight.component.mjs +17 -12
  76. package/esm2022/lib/components/subscriptions/subscriptions-list/invite-users/invite-users.component.mjs +8 -8
  77. package/esm2022/lib/components/subscriptions/subscriptions-list/subscriptions-list.component.mjs +9 -9
  78. package/esm2022/lib/components/subscriptions/subscriptions-tabs/subscriptions-tabs.component.mjs +1 -1
  79. package/esm2022/lib/components/tags/tags-category/tags-category.component.mjs +6 -6
  80. package/esm2022/lib/components/tags/tags-list/tags-list.component.mjs +8 -8
  81. package/esm2022/lib/components/tags/tags-tabs/tags-tabs.component.mjs +1 -1
  82. package/esm2022/lib/components/tips/tip-detail/tip-detail.component.mjs +2 -2
  83. package/esm2022/lib/components/tips/tips-list/tips-list.component.mjs +2 -2
  84. package/esm2022/lib/components/tips/tips-tabs/tips-tabs.component.mjs +1 -1
  85. package/esm2022/lib/components/tracking/ahoy-events/ahoy-events.component.mjs +7 -7
  86. package/esm2022/lib/components/tracking/ahoy-messages/ahoy-messages.component.mjs +7 -7
  87. package/esm2022/lib/components/tracking/ahoy-visits/ahoy-visits.component.mjs +7 -7
  88. package/esm2022/lib/components/tracking/events/events.component.mjs +4 -4
  89. package/esm2022/lib/components/tracking/tracking-tabs/tracking-tabs.component.mjs +1 -1
  90. package/esm2022/lib/components/tracking/versions/versions.component.mjs +4 -4
  91. package/esm2022/lib/components/users/user-details/user-details.component.mjs +3 -3
  92. package/esm2022/lib/components/users/users-insight/users-insight.component.mjs +18 -5
  93. package/esm2022/lib/components/users/users-list/users-list.component.mjs +13 -13
  94. package/esm2022/lib/components/users/users-tabs/users-tabs.component.mjs +1 -1
  95. package/esm2022/lib/shared/routers/routers.mjs +2 -2
  96. package/fesm2022/posiwise-admin-module.mjs +5621 -5484
  97. package/fesm2022/posiwise-admin-module.mjs.map +1 -1
  98. package/lib/admin-guard.service.d.ts +1 -1
  99. package/lib/admin.module.d.ts +71 -69
  100. package/lib/components/TOS/terms-of-service/terms-of-service.component.d.ts +3 -3
  101. package/lib/components/TOS/terms-of-service-details/terms-of-service-details.component.d.ts +1 -1
  102. package/lib/components/config/global-config-details/global-config-details.component.d.ts +2 -2
  103. package/lib/components/config/global-config-list/global-config-list.component.d.ts +2 -2
  104. package/lib/components/contact-us/contact-us-list/contact-us-list.component.d.ts +4 -4
  105. package/lib/components/credentials/credentials/credentials.component.d.ts +3 -3
  106. package/lib/components/credentials/credentials-details/credentials-details.component.d.ts +1 -1
  107. package/lib/components/credentials/subscription-credentials/subscription-credentials.component.d.ts +5 -5
  108. package/lib/components/credentials/subscription-credentials-details/subscription-credentials-details.component.d.ts +2 -2
  109. package/lib/components/domain-config/domain-config-details/domain-config-build/domain-config-build.component.d.ts +4 -4
  110. package/lib/components/domain-config/domain-config-details/domain-config-core/domain-config-core.component.d.ts +2 -2
  111. package/lib/components/domain-config/domain-config-details/domain-config-details.component.d.ts +2 -2
  112. package/lib/components/domain-config/domain-config-details/domain-config-integrations/domain-config-integrations.component.d.ts +2 -2
  113. package/lib/components/domain-config/domain-config-details/domain-config-interface/domain-config-interface.component.d.ts +3 -3
  114. package/lib/components/domain-config/domain-config-details/domain-config-organization/domain-config-organization.component.d.ts +2 -2
  115. package/lib/components/domain-config/domain-config-details/domain-config-security/domain-config-security.component.d.ts +1 -1
  116. package/lib/components/domain-config/domain-config-details/domain-config-social/domain-config-social.component.d.ts +2 -2
  117. package/lib/components/domain-config/domain-config-list/domain-config-list.component.d.ts +4 -4
  118. package/lib/components/faqs/add-faq/add-faq.component.d.ts +11 -11
  119. package/lib/components/faqs/edit-faq/edit-faq.component.d.ts +14 -11
  120. package/lib/components/faqs/faqs-list/faqs-list.component.d.ts +10 -10
  121. package/lib/components/feedback-questions/feedback-questions-details/feedback-questions-details.component.d.ts +4 -4
  122. package/lib/components/feedback-questions/feedback-questions-list/feedback-questions-list.component.d.ts +4 -4
  123. package/lib/components/incidents/add-edit-incident/add-edit-incident.component.d.ts +3 -3
  124. package/lib/components/incidents/incidents-list/incidents-list.component.d.ts +3 -3
  125. package/lib/components/login-notifications/login-notification-details/login-notification-details.component.d.ts +1 -1
  126. package/lib/components/login-notifications/login-notifications-list/login-notifications-list.component.d.ts +3 -3
  127. package/lib/components/mailer/mailer-list/mailer-list.component.d.ts +2 -2
  128. package/lib/components/mailer/mailer-tabs/mailer-tabs.component.d.ts +1 -1
  129. package/lib/components/newsletters/newsletter-details/newsletter-details.component.d.ts +1 -1
  130. package/lib/components/newsletters/newsletter-item-details/newsletter-item-details.component.d.ts +7 -7
  131. package/lib/components/newsletters/newsletter-users-list/newsletter-users-list.component.d.ts +5 -5
  132. package/lib/components/newsletters/newsletters-insight/newsletters-insight.component.d.ts +8 -0
  133. package/lib/components/newsletters/newsletters-items/newsletters-items-view-details/newsletters-items-view-details.component.d.ts +2 -2
  134. package/lib/components/newsletters/newsletters-items/newsletters-items.component.d.ts +6 -6
  135. package/lib/components/newsletters/newsletters-list/newsletters-list.component.d.ts +2 -2
  136. package/lib/components/newsletters/newsletters-tabs/newsletters-tabs.component.d.ts +1 -1
  137. package/lib/components/permissions/permissions-details/permissions-details.component.d.ts +3 -3
  138. package/lib/components/permissions/permissions-list/permissions-list.component.d.ts +4 -4
  139. package/lib/components/permissions/role-details/role-details.component.d.ts +4 -4
  140. package/lib/components/permissions/roles-list/roles-list.component.d.ts +2 -2
  141. package/lib/components/products/product-details/product-details.component.d.ts +14 -13
  142. package/lib/components/products/products-insight/products-insight.component.d.ts +8 -5
  143. package/lib/components/products/products-list/products-list.component.d.ts +6 -6
  144. package/lib/components/products/users-list-for-product/users-list-for-product.component.d.ts +2 -2
  145. package/lib/components/subscriptions/subscription-agents/subscription-agents.component.d.ts +2 -2
  146. package/lib/components/subscriptions/subscription-agents-list/subscription-agents-list.component.d.ts +2 -2
  147. package/lib/components/subscriptions/subscription-details/subscription-details.component.d.ts +7 -7
  148. package/lib/components/subscriptions/subscription-product-details/subscription-product-details.component.d.ts +2 -2
  149. package/lib/components/subscriptions/subscription-products/subscription-products.component.d.ts +5 -5
  150. package/lib/components/subscriptions/subscription-users/subscription-users.component.d.ts +7 -5
  151. package/lib/components/subscriptions/subscriptions-insight/subscription-insight-average-price/subscription-insight-average-price.component.d.ts +7 -5
  152. package/lib/components/subscriptions/subscriptions-insight/subscription-insight-average-user/subscription-insight-average-user.component.d.ts +7 -5
  153. package/lib/components/subscriptions/subscriptions-insight/subscription-insight-churn/subscription-insight-churn.component.d.ts +24 -0
  154. package/lib/components/subscriptions/subscriptions-insight/subscription-insight-nps/subscription-insight-nps.component.d.ts +9 -6
  155. package/lib/components/subscriptions/subscriptions-insight/subscription-insight-product-session/subscription-insight-product-session.component.d.ts +7 -5
  156. package/lib/components/subscriptions/subscriptions-insight/subscription-insight-revenue/subscription-insight-revenue.component.d.ts +7 -5
  157. package/lib/components/subscriptions/subscriptions-insight/subscriptions-insight.component.d.ts +7 -5
  158. package/lib/components/subscriptions/subscriptions-list/invite-users/invite-users.component.d.ts +10 -10
  159. package/lib/components/subscriptions/subscriptions-list/subscriptions-list.component.d.ts +7 -7
  160. package/lib/components/subscriptions/subscriptions-tabs/subscriptions-tabs.component.d.ts +1 -1
  161. package/lib/components/tags/tags-category/tags-category.component.d.ts +4 -4
  162. package/lib/components/tags/tags-list/tags-list.component.d.ts +6 -6
  163. package/lib/components/tips/tips-list/tips-list.component.d.ts +1 -1
  164. package/lib/components/tracking/ahoy-events/ahoy-events.component.d.ts +9 -9
  165. package/lib/components/tracking/ahoy-messages/ahoy-messages.component.d.ts +9 -9
  166. package/lib/components/tracking/ahoy-visits/ahoy-visits.component.d.ts +9 -9
  167. package/lib/components/tracking/events/events.component.d.ts +6 -6
  168. package/lib/components/tracking/versions/versions.component.d.ts +6 -6
  169. package/lib/components/users/user-details/user-details.component.d.ts +2 -2
  170. package/lib/components/users/users-insight/users-insight.component.d.ts +6 -0
  171. package/lib/components/users/users-list/users-list.component.d.ts +13 -13
  172. package/lib/components/users/users-tabs/users-tabs.component.d.ts +1 -1
  173. package/package.json +1 -1
@@ -1,31 +1,53 @@
1
1
  import { Component, Injector } from '@angular/core';
2
2
  import { AdminService } from '@posiwise/admin-module-utils';
3
3
  import { AppBaseComponent } from '@posiwise/app-base-component';
4
+ import { PermissionService } from '@posiwise/common-services';
5
+ import { HelperService } from '@posiwise/helper-service';
6
+ import { handleDateRangeSelection } from '@posiwise/utils';
4
7
  import * as i0 from "@angular/core";
5
8
  import * as i1 from "@posiwise/admin-module-utils";
6
9
  import * as i2 from "angular-plotly.js";
7
10
  import * as i3 from "@angular/common";
11
+ import * as i4 from "@posiwise/shared-components";
12
+ import * as i5 from "primeng/progressspinner";
8
13
  export class NewsletterInsightComponent extends AppBaseComponent {
9
14
  constructor(adminService, injector) {
10
15
  super(injector);
11
16
  this.adminService = adminService;
12
17
  }
13
18
  ngOnInit() {
19
+ this.subscriptionId = PermissionService.selectedSubscription?.id;
20
+ this.dateRanges = HelperService.initializeDateRanges();
21
+ this.selectedDateRange = '';
14
22
  this.getChartData();
15
23
  }
16
24
  getChartData() {
17
- this.adminService.getNewsletterInsight().subscribe(response => {
25
+ this.isLoading = true;
26
+ this.adminService
27
+ .getNewsletterInsight(this.subscriptionId, this.selectedDateRange?.startDate
28
+ ? this.selectedDateRange.startDate.format('YYYY-MM-DD')
29
+ : '', this.selectedDateRange?.endDate
30
+ ? this.selectedDateRange.endDate.format('YYYY-MM-DD')
31
+ : '')
32
+ .subscribe(response => {
18
33
  this.graph = response;
34
+ })
35
+ .add(() => {
36
+ this.isLoading = false;
19
37
  });
20
38
  }
39
+ onDateRangeSelect(event) {
40
+ this.selectedDateRange = handleDateRangeSelection(event, this.selectedDateRange);
41
+ this.getChartData();
42
+ }
21
43
  ngOnDestroy() {
22
44
  super.ngOnDestroy();
23
45
  }
24
46
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NewsletterInsightComponent, deps: [{ token: i1.AdminService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: NewsletterInsightComponent, selector: "pw-newsletter-insight", usesInheritance: true, ngImport: i0, template: "<div class=\"title\">\n <h2 class=\"card-title p-0 float-start\">Newsletters Insight</h2>\n</div>\n<div class=\"my-3\">\n <ng-template [ngIf]=\"graph\">\n <plotly-plot [data]=\"graph?.data\"\n [layout]=\"graph?.layout\" [useResizeHandler]=\"true\"></plotly-plot>\n </ng-template>\n</div>\n", styles: [".title{height:30px}\n"], dependencies: [{ kind: "component", type: i2.PlotlyComponent, selector: "plotly-plot", inputs: ["data", "layout", "config", "frames", "style", "theme", "divId", "revision", "className", "debug", "useResizeHandler", "updateOnLayoutChange", "updateOnDataChange", "updateOnlyWithRevision"], outputs: ["initialized", "update", "purge", "error", "afterExport", "afterPlot", "animated", "animatingFrame", "animationInterrupted", "autoSize", "beforeExport", "beforeHover", "buttonClicked", "click", "plotlyClick", "clickAnnotation", "deselect", "doubleClick", "framework", "hover", "legendClick", "legendDoubleClick", "react", "relayout", "relayouting", "restyle", "redraw", "selected", "selecting", "sliderChange", "sliderEnd", "sliderStart", "sunburstclick", "transitioning", "transitionInterrupted", "unhover", "treemapclick", "webglcontextlost"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: NewsletterInsightComponent, selector: "pw-newsletter-insight", usesInheritance: true, ngImport: i0, template: "<div class=\"title\">\n <h2 class=\"card-title p-0\">Newsletters Insight</h2>\n</div>\n<!-- select date -->\n<app-date-picker\n [selectedDateRange]=\"selectedDateRange\"\n [dateRanges]=\"dateRanges\"\n (dateRangeChange)=\"onDateRangeSelect($event)\">\n</app-date-picker>\n<!-- end -->\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<div class=\"my-3\">\n <ng-template [ngIf]=\"graph\">\n <plotly-plot [data]=\"graph?.data\"\n [config]=\"graph?.config\"\n [layout]=\"graph?.layout\" [useResizeHandler]=\"true\"></plotly-plot>\n </ng-template>\n</div>\n\n\n\n", styles: [".title{height:30px}\n"], dependencies: [{ kind: "component", type: i2.PlotlyComponent, selector: "plotly-plot", inputs: ["data", "layout", "config", "frames", "style", "theme", "divId", "revision", "className", "debug", "useResizeHandler", "updateOnLayoutChange", "updateOnDataChange", "updateOnlyWithRevision"], outputs: ["initialized", "update", "purge", "error", "afterExport", "afterPlot", "animated", "animatingFrame", "animationInterrupted", "autoSize", "beforeExport", "beforeHover", "buttonClicked", "click", "plotlyClick", "clickAnnotation", "deselect", "doubleClick", "framework", "hover", "legendClick", "legendDoubleClick", "react", "relayout", "relayouting", "restyle", "redraw", "selected", "selecting", "sliderChange", "sliderEnd", "sliderStart", "sunburstclick", "transitioning", "transitionInterrupted", "unhover", "treemapclick", "webglcontextlost"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.DateRangePickerComponent, selector: "app-date-picker", inputs: ["selectedDateRange", "dateRanges"], outputs: ["dateRangeChange"] }, { kind: "component", type: i5.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }] }); }
26
48
  }
27
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NewsletterInsightComponent, decorators: [{
28
50
  type: Component,
29
- args: [{ selector: 'pw-newsletter-insight', template: "<div class=\"title\">\n <h2 class=\"card-title p-0 float-start\">Newsletters Insight</h2>\n</div>\n<div class=\"my-3\">\n <ng-template [ngIf]=\"graph\">\n <plotly-plot [data]=\"graph?.data\"\n [layout]=\"graph?.layout\" [useResizeHandler]=\"true\"></plotly-plot>\n </ng-template>\n</div>\n", styles: [".title{height:30px}\n"] }]
51
+ args: [{ selector: 'pw-newsletter-insight', template: "<div class=\"title\">\n <h2 class=\"card-title p-0\">Newsletters Insight</h2>\n</div>\n<!-- select date -->\n<app-date-picker\n [selectedDateRange]=\"selectedDateRange\"\n [dateRanges]=\"dateRanges\"\n (dateRangeChange)=\"onDateRangeSelect($event)\">\n</app-date-picker>\n<!-- end -->\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<div class=\"my-3\">\n <ng-template [ngIf]=\"graph\">\n <plotly-plot [data]=\"graph?.data\"\n [config]=\"graph?.config\"\n [layout]=\"graph?.layout\" [useResizeHandler]=\"true\"></plotly-plot>\n </ng-template>\n</div>\n\n\n\n", styles: [".title{height:30px}\n"] }]
30
52
  }], ctorParameters: () => [{ type: i1.AdminService }, { type: i0.Injector }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3c2xldHRlcnMtaW5zaWdodC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvbmV3c2xldHRlcnMvbmV3c2xldHRlcnMtaW5zaWdodC9uZXdzbGV0dGVycy1pbnNpZ2h0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9uZXdzbGV0dGVycy9uZXdzbGV0dGVycy1pbnNpZ2h0L25ld3NsZXR0ZXJzLWluc2lnaHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7QUFRaEUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGdCQUFnQjtJQUc1RCxZQUNxQixZQUEwQixFQUMzQyxRQUFrQjtRQUVsQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFIQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUkvQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBdEJRLDBCQUEwQjttR0FBMUIsMEJBQTBCLG9GQ1h2Qyw4U0FTQTs7NEZERWEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNJLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFkbWluU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9hZG1pbi1tb2R1bGUtdXRpbHMnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxvdGx5IH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LW5ld3NsZXR0ZXItaW5zaWdodCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ld3NsZXR0ZXJzLWluc2lnaHQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25ld3NsZXR0ZXJzLWluc2lnaHQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOZXdzbGV0dGVySW5zaWdodENvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgZ3JhcGg6IFBsb3RseS5GaWd1cmU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhZG1pblNlcnZpY2U6IEFkbWluU2VydmljZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5nZXRDaGFydERhdGEoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENoYXJ0RGF0YSgpIHtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2UuZ2V0TmV3c2xldHRlckluc2lnaHQoKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5ncmFwaCA9IHJlc3BvbnNlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGl0bGVcIj5cbiAgPGgyIGNsYXNzPVwiY2FyZC10aXRsZSBwLTAgZmxvYXQtc3RhcnRcIj5OZXdzbGV0dGVycyBJbnNpZ2h0PC9oMj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm15LTNcIj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImdyYXBoXCI+XG4gICAgPHBsb3RseS1wbG90IFtkYXRhXT1cImdyYXBoPy5kYXRhXCJcbiAgICAgIFtsYXlvdXRdPVwiZ3JhcGg/LmxheW91dFwiIFt1c2VSZXNpemVIYW5kbGVyXT1cInRydWVcIj48L3Bsb3RseS1wbG90PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3c2xldHRlcnMtaW5zaWdodC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvbmV3c2xldHRlcnMvbmV3c2xldHRlcnMtaW5zaWdodC9uZXdzbGV0dGVycy1pbnNpZ2h0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9uZXdzbGV0dGVycy9uZXdzbGV0dGVycy1pbnNpZ2h0L25ld3NsZXR0ZXJzLWluc2lnaHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFPM0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGdCQUFnQjtJQVc1RCxZQUNxQixZQUEwQixFQUMzQyxRQUFrQjtRQUVsQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFIQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUkvQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLFlBQVk7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVk7YUFDWixvQkFBb0IsQ0FDakIsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFNBQVM7WUFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztZQUN2RCxDQUFDLENBQUMsRUFBRSxFQUNSLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPO1lBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDckQsQ0FBQyxDQUFDLEVBQUUsQ0FDWDthQUNBLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUMxQixDQUFDLENBQUM7YUFDRCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBMkQ7UUFDekUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHdCQUF3QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBcERRLDBCQUEwQjttR0FBMUIsMEJBQTBCLG9GQ2R2Qyx5cEJBd0JBOzs0RkRWYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0ksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWRtaW5TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2FkbWluLW1vZHVsZS11dGlscyc7XG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgUGxvdGx5IH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5pbXBvcnQgeyBoYW5kbGVEYXRlUmFuZ2VTZWxlY3Rpb24gfSBmcm9tICdAcG9zaXdpc2UvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LW5ld3NsZXR0ZXItaW5zaWdodCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ld3NsZXR0ZXJzLWluc2lnaHQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25ld3NsZXR0ZXJzLWluc2lnaHQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOZXdzbGV0dGVySW5zaWdodENvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgZ3JhcGg6IFBsb3RseS5GaWd1cmU7XG5cbiAgICBzZWxlY3RlZERhdGVSYW5nZTtcblxuICAgIGRhdGVSYW5nZXM7XG5cbiAgICBzdWJzY3JpcHRpb25JZDtcblxuICAgIGlzTG9hZGluZzogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFkbWluU2VydmljZTogQWRtaW5TZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24/LmlkO1xuICAgICAgICB0aGlzLmRhdGVSYW5nZXMgPSBIZWxwZXJTZXJ2aWNlLmluaXRpYWxpemVEYXRlUmFuZ2VzKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSAnJztcbiAgICAgICAgdGhpcy5nZXRDaGFydERhdGEoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENoYXJ0RGF0YSgpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmFkbWluU2VydmljZVxuICAgICAgICAgICAgLmdldE5ld3NsZXR0ZXJJbnNpZ2h0KFxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQsXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZT8uc3RhcnREYXRlXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUuZm9ybWF0KCdZWVlZLU1NLUREJylcbiAgICAgICAgICAgICAgICAgICAgOiAnJyxcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlPy5lbmREYXRlXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlLmZvcm1hdCgnWVlZWS1NTS1ERCcpXG4gICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JhcGggPSByZXNwb25zZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EYXRlUmFuZ2VTZWxlY3QoZXZlbnQ6IHsgc3RhcnREYXRlOiBtb21lbnQuTW9tZW50OyBlbmREYXRlOiBtb21lbnQuTW9tZW50IH0pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSA9IGhhbmRsZURhdGVSYW5nZVNlbGVjdGlvbihldmVudCwgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSk7XG4gICAgICAgIHRoaXMuZ2V0Q2hhcnREYXRhKCk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRpdGxlXCI+XG4gIDxoMiBjbGFzcz1cImNhcmQtdGl0bGUgcC0wXCI+TmV3c2xldHRlcnMgSW5zaWdodDwvaDI+XG48L2Rpdj5cbjwhLS0gc2VsZWN0IGRhdGUgLS0+XG48YXBwLWRhdGUtcGlja2VyXG4gIFtzZWxlY3RlZERhdGVSYW5nZV09XCJzZWxlY3RlZERhdGVSYW5nZVwiXG4gIFtkYXRlUmFuZ2VzXT1cImRhdGVSYW5nZXNcIlxuICAoZGF0ZVJhbmdlQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlU2VsZWN0KCRldmVudClcIj5cbjwvYXBwLWRhdGUtcGlja2VyPlxuPCEtLSBlbmQgLS0+XG48ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICpuZ0lmPVwiaXNMb2FkaW5nXCI+XG4gIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm15LTNcIj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImdyYXBoXCI+XG4gICAgPHBsb3RseS1wbG90IFtkYXRhXT1cImdyYXBoPy5kYXRhXCJcbiAgICAgIFtjb25maWddPVwiZ3JhcGg/LmNvbmZpZ1wiXG4gICAgICBbbGF5b3V0XT1cImdyYXBoPy5sYXlvdXRcIiBbdXNlUmVzaXplSGFuZGxlcl09XCJ0cnVlXCI+PC9wbG90bHktcGxvdD5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG5cblxuIl19
@@ -1,10 +1,10 @@
1
1
  import { Component, Injector } from '@angular/core';
2
- import { AppBaseComponent } from '@posiwise/app-base-component';
3
2
  import { DomSanitizer } from '@angular/platform-browser';
4
- import { HelperService } from '@posiwise/helper-service';
5
3
  import { AdminService } from '@posiwise/admin-module-utils';
6
- import { ROUTERS } from '../../../../shared/routers/routers';
4
+ import { AppBaseComponent } from '@posiwise/app-base-component';
7
5
  import { PermissionService } from '@posiwise/common-services';
6
+ import { HelperService } from '@posiwise/helper-service';
7
+ import { ROUTERS } from '../../../../shared/routers/routers';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/platform-browser";
10
10
  import * as i2 from "@posiwise/admin-module-utils";
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
56
56
  type: Component,
57
57
  args: [{ selector: 'newsletters-items-view-detail', template: "<div class=\"row\">\n <div class=\"col-12 d-flex\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"onBackNavigation()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h2 class=\"mt-2 mb-0\">Newsletter</h2>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<div *ngIf=\"isLoaded\">\n <div class=\"content-quill-wrapper container-fluid pw-tab overflow-hidden mt-3\" *ngIf=\"communicationDetails\">\n <div class=\"pb-0\">\n <div class=\"card-body p-4\">\n <div class=\"row mb-3\">\n <div class=\"col-12 d-flex flex-wrap justify-content-between align-items-center mb-md-2\">\n <div class=\"d-flex flex-wrap mb-3 mb-md-0\">\n <span [ngClass]=\"communicationDetails?.is_pushed ? 'badge bg-success' : 'badge bg-danger'\" class=\"me-2 mb-2 mb-md-0\">\n {{ communicationDetails?.is_pushed ? 'Pushed' : 'Not Pushed' }}\n </span>\n <span [ngClass]=\"communicationDetails?.is_sent? 'badge bg-success' : 'badge bg-danger'\" class=\"me-2 mb-2 mb-md-0\">\n {{ communicationDetails?.is_sent ? 'Sent' : 'Not Sent' }}\n </span>\n </div>\n <div class=\"d-flex flex-wrap mb-3 mb-md-0\">\n <span class=\"badge bg-blue-grey mb-2 me-2 mb-md-0\">{{ 'Send At (' + (communicationDetails?.send_at | date: 'dd-MMM-YYYY') + ')' }}</span>\n <span class=\"badge bg-grey mb-2 mb-md-0\">{{ 'Send Until (' + (communicationDetails?.send_until | date: 'dd-MMM-YYYY') + ')' }}</span>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12 mb-3 ms-2\">\n <span><i class=\"fas fa-map-marker-alt\"></i> <span class=\"ms-2\">{{ communicationDetails?.location || 'Not set' }}</span></span>\n </div>\n <div class=\"col-12 mb-3 ms-2\">\n <h1>{{ communicationDetails?.title }}</h1>\n </div>\n <div class=\"col-12 ms-2\">\n <div class=\"ql-container ql-snow body-quill\">\n <div class=\"ql-editor\"\n [innerHTML]=\"communicationDetails?.body\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n</div>\n", styles: [".badge-success,.badge-danger{padding:.5rem 1rem;border:1px solid black;font-size:1rem;display:inline-block;text-align:center}.badge-success{background-color:green;color:#fff}.badge-danger{background-color:red;color:#fff}.date-span{padding:.5rem 1rem;font-size:1rem;border:1px solid black;display:inline-block;text-align:center}.light-gray{background-color:#d3d3d3;color:#fff}.gray{background-color:gray;color:#fff}.card-body{padding:1.5rem}h4,h5{font-weight:700;margin-bottom:.5rem}p{margin-bottom:1rem}.d-flex{display:flex;align-items:center}.me-3{margin-right:1rem}.container-fluid{padding:0}.mb-3{margin-bottom:1rem}.mb-2{margin-bottom:.5rem}.justify-content-between{justify-content:space-between}.align-items-center{align-items:center}.button-width{width:100px}.ql-container{resize:none!important}\n"] }]
58
58
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.DomSanitizer }, { type: i2.AdminService }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3c2xldHRlcnMtaXRlbXMtdmlldy1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9uZXdzbGV0dGVycy9uZXdzbGV0dGVycy1pdGVtcy9uZXdzbGV0dGVycy1pdGVtcy12aWV3LWRldGFpbHMvbmV3c2xldHRlcnMtaXRlbXMtdmlldy1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9uZXdzbGV0dGVycy9uZXdzbGV0dGVycy1pdGVtcy9uZXdzbGV0dGVycy1pdGVtcy12aWV3LWRldGFpbHMvbmV3c2xldHRlcnMtaXRlbXMtdmlldy1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7OztBQU85RCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsZ0JBQWdCO0lBWTdELFlBQ0ksUUFBa0IsRUFDRCxTQUF1QixFQUN2QixZQUEwQjtRQUUzQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFIQyxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3ZCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBWi9DLFlBQU8sR0FBRyxPQUFPLENBQUM7UUFFbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztJQWFqQixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztZQUNqRSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUNoQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0Qsb0JBQW9CO0lBQ2Isb0JBQW9CO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxZQUFZO2FBQ1oscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDO2FBQzNELFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNsQixJQUFJLFFBQVEsQ0FBQztZQUNiLElBQUksUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO2dCQUNqQixRQUFRLEdBQUcsYUFBYSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlFLENBQUM7WUFDRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxHQUFHLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDaEUsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDUSxXQUFXO1FBQ2hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQW5EUSwyQkFBMkI7bUdBQTNCLDJCQUEyQiw0RkNieEMscTNFQW9EQTs7NEZEdkNhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDSSwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcbmltcG9ydCB7IEFkbWluU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9hZG1pbi1tb2R1bGUtdXRpbHMnO1xuaW1wb3J0IHsgUk9VVEVSUyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9yb3V0ZXJzL3JvdXRlcnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZXdzbGV0dGVycy1pdGVtcy12aWV3LWRldGFpbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ld3NsZXR0ZXJzLWl0ZW1zLXZpZXctZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmV3c2xldHRlcnMtaXRlbXMtdmlldy1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmV3c0xldHRlckl0ZW1WaWV3Q29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBpZDogbnVtYmVyO1xuXG4gICAgcm91dGVycyA9IFJPVVRFUlM7XG5cbiAgICBpc0xvYWRlZCA9IGZhbHNlO1xuXG4gICAgY29tbXVuaWNhdGlvbkRldGFpbHM7XG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcbiAgICBkYXRhO1xuICAgIGlzTG9hZGluZzogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWRtaW5TZXJ2aWNlOiBBZG1pblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gTnVtYmVyKGRhdGFbJ2lkJ10pO1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkU3Vic2NyaXB0aW9uPy5pZDtcbiAgICAgICAgICAgIGlmICh0aGlzLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXROZXdzTGV0dGVyRGV0YWlscygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqc3Vic2NyaXB0aW9uSWQgKi9cbiAgICBwdWJsaWMgZ2V0TmV3c0xldHRlckRldGFpbHMoKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2VcbiAgICAgICAgICAgIC5nZXROZXdzbGV0dGVySXRlbUJ5SWQoTnVtYmVyKHRoaXMuaWQpLCB0aGlzLnN1YnNjcmlwdGlvbklkKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGJsb2dCb2R5O1xuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZT8uYm9keSkge1xuICAgICAgICAgICAgICAgICAgICBibG9nQm9keSA9IEhlbHBlclNlcnZpY2Uuc2FuaXRpemVRdWlsbEJvZHkocmVzcG9uc2UuYm9keSwgdGhpcy5zYW5pdGl6ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmNvbW11bmljYXRpb25EZXRhaWxzID0geyAuLi5yZXNwb25zZSwgYm9keTogYmxvZ0JvZHkgfTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQmFja05hdmlnYXRpb24oKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHt0aGlzLnJvdXRlcnMubmV3c2xldHRlckl0ZW1WaWV3fWBdKTtcbiAgICB9XG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIGQtZmxleFwiPlxuICAgIDxhIGFyaWEtbGFiZWw9XCJOYXZpZ2F0ZSB0byBUYXJnZXRcIlxuICAgICAgKGNsaWNrKT1cIm9uQmFja05hdmlnYXRpb24oKVwiXG4gICAgICBjbGFzcz1cInByZXZpb3VzXCI+PGkgY2xhc3M9XCJmYSBmYS1hcnJvdy1hbHQtY2lyY2xlLWxlZnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+PC9hPlxuICAgICAgPGgyIGNsYXNzPVwibXQtMiBtYi0wXCI+TmV3c2xldHRlcjwvaDI+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICAgKm5nSWY9XCIhaXNMb2FkZWRcIj5cbiAgICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJpc0xvYWRlZFwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGVudC1xdWlsbC13cmFwcGVyIGNvbnRhaW5lci1mbHVpZCBwdy10YWIgb3ZlcmZsb3ctaGlkZGVuIG10LTNcIiAqbmdJZj1cImNvbW11bmljYXRpb25EZXRhaWxzXCI+XG4gICAgPGRpdiBjbGFzcz1cInBiLTBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC00XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItM1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgZC1mbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgbWItbWQtMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAgbWItMyBtYi1tZC0wXCI+XG4gICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cImNvbW11bmljYXRpb25EZXRhaWxzPy5pc19wdXNoZWQgPyAnYmFkZ2UgYmctc3VjY2VzcycgOiAnYmFkZ2UgYmctZGFuZ2VyJ1wiIGNsYXNzPVwibWUtMiBtYi0yIG1iLW1kLTBcIj5cbiAgICAgICAgICAgICAgICB7eyBjb21tdW5pY2F0aW9uRGV0YWlscz8uaXNfcHVzaGVkID8gJ1B1c2hlZCcgOiAnTm90IFB1c2hlZCcgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJjb21tdW5pY2F0aW9uRGV0YWlscz8uaXNfc2VudD8gJ2JhZGdlIGJnLXN1Y2Nlc3MnIDogJ2JhZGdlIGJnLWRhbmdlcidcIiBjbGFzcz1cIm1lLTIgbWItMiBtYi1tZC0wXCI+XG4gICAgICAgICAgICAgICAge3sgY29tbXVuaWNhdGlvbkRldGFpbHM/LmlzX3NlbnQgPyAnU2VudCcgOiAnTm90IFNlbnQnIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAgbWItMyBtYi1tZC0wXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmctYmx1ZS1ncmV5IG1iLTIgbWUtMiBtYi1tZC0wXCI+e3sgJ1NlbmQgQXQgKCcgKyAoY29tbXVuaWNhdGlvbkRldGFpbHM/LnNlbmRfYXQgfCBkYXRlOiAnZGQtTU1NLVlZWVknKSArICcpJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy1ncmV5IG1iLTIgbWItbWQtMFwiPnt7ICdTZW5kIFVudGlsICgnICsgKGNvbW11bmljYXRpb25EZXRhaWxzPy5zZW5kX3VudGlsIHwgZGF0ZTogJ2RkLU1NTS1ZWVlZJykgKyAnKScgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTMgbXMtMlwiPlxuICAgICAgICAgICAgPHNwYW4+PGkgY2xhc3M9XCJmYXMgZmEtbWFwLW1hcmtlci1hbHRcIj48L2k+IDxzcGFuIGNsYXNzPVwibXMtMlwiPnt7IGNvbW11bmljYXRpb25EZXRhaWxzPy5sb2NhdGlvbiB8fCAnTm90IHNldCcgfX08L3NwYW4+PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItMyBtcy0yXCI+XG4gICAgICAgICAgICA8aDE+e3sgY29tbXVuaWNhdGlvbkRldGFpbHM/LnRpdGxlIH19PC9oMT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1zLTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxbC1jb250YWluZXIgcWwtc25vdyBib2R5LXF1aWxsXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxbC1lZGl0b3JcIlxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImNvbW11bmljYXRpb25EZXRhaWxzPy5ib2R5XCI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3c2xldHRlcnMtaXRlbXMtdmlldy1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9uZXdzbGV0dGVycy9uZXdzbGV0dGVycy1pdGVtcy9uZXdzbGV0dGVycy1pdGVtcy12aWV3LWRldGFpbHMvbmV3c2xldHRlcnMtaXRlbXMtdmlldy1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9uZXdzbGV0dGVycy9uZXdzbGV0dGVycy1pdGVtcy9uZXdzbGV0dGVycy1pdGVtcy12aWV3LWRldGFpbHMvbmV3c2xldHRlcnMtaXRlbXMtdmlldy1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQU83RCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsZ0JBQWdCO0lBYzdELFlBQ0ksUUFBa0IsRUFDRCxTQUF1QixFQUN2QixZQUEwQjtRQUUzQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFIQyxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3ZCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBZC9DLFlBQU8sR0FBRyxPQUFPLENBQUM7UUFFbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztJQWVqQixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztZQUNqRSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUNoQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0Qsb0JBQW9CO0lBQ2Isb0JBQW9CO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxZQUFZO2FBQ1oscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDO2FBQzNELFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNsQixJQUFJLFFBQVEsQ0FBQztZQUNiLElBQUksUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO2dCQUNqQixRQUFRLEdBQUcsYUFBYSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlFLENBQUM7WUFDRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxHQUFHLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDaEUsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDUSxXQUFXO1FBQ2hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQXJEUSwyQkFBMkI7bUdBQTNCLDJCQUEyQiw0RkNmeEMscTNFQW9EQTs7NEZEckNhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDSSwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IEFkbWluU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9hZG1pbi1tb2R1bGUtdXRpbHMnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuXG5pbXBvcnQgeyBST1VURVJTIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL3JvdXRlcnMvcm91dGVycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmV3c2xldHRlcnMtaXRlbXMtdmlldy1kZXRhaWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZXdzbGV0dGVycy1pdGVtcy12aWV3LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25ld3NsZXR0ZXJzLWl0ZW1zLXZpZXctZGV0YWlscy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE5ld3NMZXR0ZXJJdGVtVmlld0NvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgaWQ6IG51bWJlcjtcblxuICAgIHJvdXRlcnMgPSBST1VURVJTO1xuXG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcblxuICAgIGNvbW11bmljYXRpb25EZXRhaWxzO1xuICAgIGRhdGE7XG5cbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuXG4gICAgaXNMb2FkaW5nOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhZG1pblNlcnZpY2U6IEFkbWluU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSBOdW1iZXIoZGF0YVsnaWQnXSk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24/LmlkO1xuICAgICAgICAgICAgaWYgKHRoaXMuaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldE5ld3NMZXR0ZXJEZXRhaWxzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipzdWJzY3JpcHRpb25JZCAqL1xuICAgIHB1YmxpYyBnZXROZXdzTGV0dGVyRGV0YWlscygpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFkbWluU2VydmljZVxuICAgICAgICAgICAgLmdldE5ld3NsZXR0ZXJJdGVtQnlJZChOdW1iZXIodGhpcy5pZCksIHRoaXMuc3Vic2NyaXB0aW9uSWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgYmxvZ0JvZHk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlPy5ib2R5KSB7XG4gICAgICAgICAgICAgICAgICAgIGJsb2dCb2R5ID0gSGVscGVyU2VydmljZS5zYW5pdGl6ZVF1aWxsQm9keShyZXNwb25zZS5ib2R5LCB0aGlzLnNhbml0aXplcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuY29tbXVuaWNhdGlvbkRldGFpbHMgPSB7IC4uLnJlc3BvbnNlLCBib2R5OiBibG9nQm9keSB9O1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25CYWNrTmF2aWdhdGlvbigpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2Ake3RoaXMucm91dGVycy5uZXdzbGV0dGVySXRlbVZpZXd9YF0pO1xuICAgIH1cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgZC1mbGV4XCI+XG4gICAgPGEgYXJpYS1sYWJlbD1cIk5hdmlnYXRlIHRvIFRhcmdldFwiXG4gICAgICAoY2xpY2spPVwib25CYWNrTmF2aWdhdGlvbigpXCJcbiAgICAgIGNsYXNzPVwicHJldmlvdXNcIj48aSBjbGFzcz1cImZhIGZhLWFycm93LWFsdC1jaXJjbGUtbGVmdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2E+XG4gICAgICA8aDIgY2xhc3M9XCJtdC0yIG1iLTBcIj5OZXdzbGV0dGVyPC9oMj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgICAqbmdJZj1cIiFpc0xvYWRlZFwiPlxuICAgIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbjwvZGl2PlxuPGRpdiAqbmdJZj1cImlzTG9hZGVkXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50LXF1aWxsLXdyYXBwZXIgY29udGFpbmVyLWZsdWlkIHB3LXRhYiBvdmVyZmxvdy1oaWRkZW4gbXQtM1wiICpuZ0lmPVwiY29tbXVuaWNhdGlvbkRldGFpbHNcIj5cbiAgICA8ZGl2IGNsYXNzPVwicGItMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBkLWZsZXggZmxleC13cmFwIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtYi1tZC0yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBtYi0zIG1iLW1kLTBcIj5cbiAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiY29tbXVuaWNhdGlvbkRldGFpbHM/LmlzX3B1c2hlZCA/ICdiYWRnZSBiZy1zdWNjZXNzJyA6ICdiYWRnZSBiZy1kYW5nZXInXCIgY2xhc3M9XCJtZS0yIG1iLTIgbWItbWQtMFwiPlxuICAgICAgICAgICAgICAgIHt7IGNvbW11bmljYXRpb25EZXRhaWxzPy5pc19wdXNoZWQgPyAnUHVzaGVkJyA6ICdOb3QgUHVzaGVkJyB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cImNvbW11bmljYXRpb25EZXRhaWxzPy5pc19zZW50PyAnYmFkZ2UgYmctc3VjY2VzcycgOiAnYmFkZ2UgYmctZGFuZ2VyJ1wiIGNsYXNzPVwibWUtMiBtYi0yIG1iLW1kLTBcIj5cbiAgICAgICAgICAgICAgICB7eyBjb21tdW5pY2F0aW9uRGV0YWlscz8uaXNfc2VudCA/ICdTZW50JyA6ICdOb3QgU2VudCcgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtd3JhcCBtYi0zIG1iLW1kLTBcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy1ibHVlLWdyZXkgbWItMiBtZS0yIG1iLW1kLTBcIj57eyAnU2VuZCBBdCAoJyArIChjb21tdW5pY2F0aW9uRGV0YWlscz8uc2VuZF9hdCB8IGRhdGU6ICdkZC1NTU0tWVlZWScpICsgJyknIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJnLWdyZXkgbWItMiBtYi1tZC0wXCI+e3sgJ1NlbmQgVW50aWwgKCcgKyAoY29tbXVuaWNhdGlvbkRldGFpbHM/LnNlbmRfdW50aWwgfCBkYXRlOiAnZGQtTU1NLVlZWVknKSArICcpJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItMyBtcy0yXCI+XG4gICAgICAgICAgICA8c3Bhbj48aSBjbGFzcz1cImZhcyBmYS1tYXAtbWFya2VyLWFsdFwiPjwvaT4gPHNwYW4gY2xhc3M9XCJtcy0yXCI+e3sgY29tbXVuaWNhdGlvbkRldGFpbHM/LmxvY2F0aW9uIHx8ICdOb3Qgc2V0JyB9fTwvc3Bhbj48L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtYi0zIG1zLTJcIj5cbiAgICAgICAgICAgIDxoMT57eyBjb21tdW5pY2F0aW9uRGV0YWlscz8udGl0bGUgfX08L2gxPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbXMtMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInFsLWNvbnRhaW5lciBxbC1zbm93IGJvZHktcXVpbGxcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInFsLWVkaXRvclwiXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiY29tbXVuaWNhdGlvbkRldGFpbHM/LmJvZHlcIj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
@@ -1,11 +1,11 @@
1
1
  import { ChangeDetectorRef, Component, Injector } from '@angular/core';
2
- import swal from 'sweetalert2';
3
2
  import { AdminService } from '@posiwise/admin-module-utils';
4
- import { ROUTERS } from '../../../shared/routers/routers';
5
- import { PAGE_SIZE, TOKEN_KEY } from '@posiwise/common-utilities';
6
3
  import { AppBaseComponent } from '@posiwise/app-base-component';
7
- import { HelperService } from '@posiwise/helper-service';
8
4
  import { PermissionService } from '@posiwise/common-services';
5
+ import { PAGE_SIZE, TOKEN_KEY } from '@posiwise/common-utilities';
6
+ import { HelperService } from '@posiwise/helper-service';
7
+ import swal from 'sweetalert2';
8
+ import { ROUTERS } from '../../../shared/routers/routers';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@posiwise/admin-module-utils";
11
11
  import * as i2 from "primeng/table";
@@ -29,8 +29,8 @@ export class NewslettersItemsComponent extends AppBaseComponent {
29
29
  this.searchTextItems = '';
30
30
  this.newslettersItems = [];
31
31
  this.allNewslettersItems = [];
32
- this.isLoading = true;
33
32
  this.newsletters = [];
33
+ this.isLoading = true;
34
34
  this.isItemsEmpty = true;
35
35
  this.isLoaded = false;
36
36
  this.totalRecordsUnFiltered = 0;
@@ -172,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
172
172
  type: Component,
173
173
  args: [{ selector: 'pw-newsletters-items', template: "<div class=\"row\">\n <div class=\"col-12 d-flex justify-content-between align-items-center\">\n <h2 class=\"card-title p-0 float-start\">Newsletters Items</h2>\n <button *rbacAllow=\"'SubscriptionAdmin'\"\n class=\"btn btn-sm btn-outline-primary float-end m-0\"\n (click)=\"navigateToCreateNewsletterItem()\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Create Newsletter Item\n </button>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<div class=\"primeng-datatable-container table-responsive\"\n [class.hideTable]=\"totalRecordsUnFiltered === 0\">\n <div class=\"row\">\n <div class=\"col-4\">\n <p-multiSelect [options]=\"newsletters\"\n (onChange)=\"onNewsletterChange($event)\"\n [placeholder]='selectedNewsletter?.label || \"Filter by newsletters\"'\n appendTo=\"body\">\n </p-multiSelect>\n </div>\n <div class=\"col-8 d-flex justify-content-end\">\n <div>\n <input type=\"text\"\n [(ngModel)]=\"searchTextItems\"\n pInputText\n size=\"50\"\n placeholder=\"Search...\"\n data-cy=\"user-search\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"wd-90 w-100\" />\n </div>\n </div>\n\n </div>\n <p-table #dt\n [value]=\"newslettersItems\"\n [paginator]=\"newslettersItemsTotal !== 0\"\n [globalFilterFields]=\"['title']\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"newslettersItemsTotal\"\n [lazy]=\"true\"\n (onLazyLoad)=\"onLazyLoadNewsletterItems($event)\"\n [loading]=\"isLoading\"\n [customSort]=\"true\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"true\"\n pSortableColumn=\"title\">\n {{ 'Label.Title' | transloco }}\n <p-sortIcon field=\"title\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"body\">\n {{ 'Admin.NewsletterItem.Body' | transloco }}\n <p-sortIcon field=\"body\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"send_until\">\n {{ 'Admin.NewsletterItem.SendUntil' | transloco }}\n <p-sortIcon field=\"send_until\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"is_pushed\">\n {{ 'Admin.NewsletterItem.Pushed' | transloco }}\n <p-sortIcon field=\"is_pushed\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"is_sent\">\n {{ 'Admin.NewsletterItem.Sent' | transloco }}\n <p-sortIcon field=\"is_sent\"></p-sortIcon>\n </th>\n <th class=\"actions-list-four\"\n scope=\"true\">{{ 'Label.Actions' | transloco }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\"\n let-item>\n <tr>\n <td data-head=\"Title\">\n <a target=\"_blank\" [routerLink]=\"[routers.newsletterItemView + 'info', item.id]\">{{\n item.title\n }}\n </a>\n <i class=\"fas fa-info-circle info-icon\" *ngIf=\"item?.location\"\n [ngbTooltip]=\"item?.location\"></i>\n </td>\n <td data-head=\"Body\"\n class=\"custom-td\">\n {{ item.body | removeHtml: 'quill' | textTruncate: 200 }}\n </td>\n <td data-head=\"Send Until\">\n <span [ngClass]=\"getSendUntilColor(item?.send_until)\">{{\n item.send_until | dateFormat\n }}</span>\n </td>\n <td data-head=\"Is Pushed\">\n <span [appDynamicBadge]=\"{ itemsArray: [true, false], item: item?.is_pushed }\"\n color=\"success-danger\"\n class=\"badge\">{{ item?.is_pushed }}</span>\n </td>\n <td data-head=\"Is Sent\">\n <span [appDynamicBadge]=\"{ itemsArray: [true, false], item: item?.is_sent }\"\n color=\"success-danger\"\n class=\"badge\">{{ item?.is_sent }}</span>\n </td>\n <td data-head=\"Action\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <ul class=\"list-unstyled list-inline list-action\">\n <li ngbTooltip=\"Send test email\"\n class=\"me-2 me-sm-2\">\n <i\n class=\"fa fa-comment-alt cta1-icon\"\n (click)=\"sendTestEmail(item)\"\n (keydown.enter)=\"sendTestEmail(item)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n <li ngbTooltip=\"Edit\"\n class=\"me-2 me-sm-2\"\n [routerLink]=\"[routers.newsletterItemDetails + item.id]\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </li>\n <li ngbTooltip=\"Delete\"\n class=\"me-2 me-sm-2\"\n (keydown.enter)=\"onDelete(item)\"\n (click)=\"onDelete(item)\">\n <i class=\"fa fa-trash delete-icon\" aria-hidden=\"true\"></i>\n </li>\n <li ngbTooltip=\"View Newsletter\"\n class=\"me-2 me-sm-2\">\n <a [routerLink]=\"[routers.newsletterItemView + 'info', item.id]\" target=\"_blank\" aria-label=\"Newsletter Item View\">\n <i class=\"fa fa-eye eye-icon\" aria-hidden=\"true\"></i>\n </a>\n </li>\n <li ngbTooltip=\"Newsletter recipients\"\n class=\"me-2 me-sm-2\"\n [routerLink]=\"[routers.newslettersUserList + item.id]\">\n <i class=\"fa fa-tasks cta1-icon\" aria-hidden=\"true\"></i>\n </li>\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n <div *ngIf=\"newslettersItemsTotal === 0 && totalRecordsUnFiltered !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\" >\n </pw-no-data>\n </div>\n <span class=\"total-records-count\" *ngIf=\"newslettersItemsTotal !== 0\">{{ 'Label.Total' | transloco }}: {{ newslettersItemsTotal }}</span>\n</div>\n<div *ngIf=\"totalRecordsUnFiltered === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.NewsletterItem.NewsletterItemsNoDataMessage' | transloco\">\n </pw-no-data>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.custom-td{max-width:400px;word-break:break-all}.eye-icon{color:var(--first);font-size:18px;padding-left:3px;padding-right:3px}.list-action{width:max-content}.info-icon{vertical-align:middle;margin-left:5px}\n"] }]
174
174
  }], ctorParameters: () => [{ type: i1.AdminService }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }] });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3c2xldHRlcnMtaXRlbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL25ld3NsZXR0ZXJzL25ld3NsZXR0ZXJzLWl0ZW1zL25ld3NsZXR0ZXJzLWl0ZW1zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9uZXdzbGV0dGVycy9uZXdzbGV0dGVycy1pdGVtcy9uZXdzbGV0dGVycy1pdGVtcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBR1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWdCLE1BQU0sNEJBQTRCLENBQUM7QUFFaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBTzlELE1BQU0sT0FBTyx5QkFDVCxTQUFRLGdCQUFnQjtJQXFDeEIsWUFDcUIsWUFBMEIsRUFDM0MsUUFBa0IsRUFDRCxHQUFzQjtRQUV2QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUUxQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQW5D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QUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsOEJBQThCO1FBQzFCLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLEtBQUssQ0FBQyxFQUFFO2dCQUMvRCxXQUFXLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFO2FBQzNELENBQUMsQ0FBQztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFHO1FBQ2pCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFFUSxXQUFXO1FBQ2hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQTdMUSx5QkFBeUI7bUdBQXpCLHlCQUF5QixtRkN4QnRDLHUzTUE4SkE7OzRGRHRJYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0ksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3RvcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCBzd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcblxuaW1wb3J0IHsgQWRtaW5TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2FkbWluLW1vZHVsZS11dGlscyc7XG5pbXBvcnQgeyBST1VURVJTIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3JvdXRlcnMvcm91dGVycyc7XG5pbXBvcnQgeyBQQUdFX1NJWkUsIFRPS0VOX0tFWSwgUGFnaW5nLCBVc2VyIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgTmV3c0xldHRlckl0ZW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL25ld3NsZXR0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1uZXdzbGV0dGVycy1pdGVtcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ld3NsZXR0ZXJzLWl0ZW1zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uZXdzbGV0dGVycy1pdGVtcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE5ld3NsZXR0ZXJzSXRlbXNDb21wb25lbnRcbiAgICBleHRlbmRzIEFwcEJhc2VDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdDaGVja2VkXG57XG4gICAgbmV3c2xldHRlcnNJdGVtc1RvdGFsOiBudW1iZXI7XG5cbiAgICBzZWFyY2hUZXh0SXRlbXMgPSAnJztcblxuICAgIG5ld3NsZXR0ZXJzSXRlbXM6IE5ld3NMZXR0ZXJJdGVtW10gPSBbXTtcblxuICAgIGFsbE5ld3NsZXR0ZXJzSXRlbXM6IE5ld3NMZXR0ZXJJdGVtW10gPSBbXTtcblxuICAgIGlzTG9hZGluZyA9IHRydWU7XG5cbiAgICBuZXdzbGV0dGVycyA9IFtdO1xuXG4gICAgaXNJdGVtc0VtcHR5ID0gdHJ1ZTtcblxuICAgIHVzZXI6IFVzZXI7XG5cbiAgICBuZXdzbGV0dGVySWQ6IG51bWJlcjtcblxuICAgIHNlbGVjdGVkTmV3c2xldHRlcjogeyBsYWJlbDogc3RyaW5nIH07XG5cbiAgICBpc0xvYWRlZCA9IGZhbHNlO1xuXG4gICAgdG90YWxSZWNvcmRzVW5GaWx0ZXJlZCA9IDA7XG5cbiAgICBwcml2YXRlIHBhZ2UgPSAxO1xuXG4gICAgcm91dGVycyA9IFJPVVRFUlM7XG5cbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuXG4gICAgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuXG4gICAgbmV3c2xldHRlcklkRm9ySXRlbTogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWRtaW5TZXJ2aWNlOiBBZG1pblNlcnZpY2UsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkU3Vic2NyaXB0aW9uPy5pZDtcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSQoVE9LRU5fS0VZKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlckxvZ2dlZEluID0gISFyZXM7XG4gICAgICAgICAgICB0aGlzLmdldE5ld3NsZXR0ZXJGb3JTZWxlY3Qoe1xuICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdldFVzZXJJbmZvKCk7XG4gICAgICAgIHRoaXMubmV3c2xldHRlcklkID0gTnVtYmVyKHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ25ld3NsZXR0ZXJfaWQnKSk7XG4gICAgICAgIHRoaXMubmV3c2xldHRlcklkRm9ySXRlbSA9IE51bWJlcih0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCduZXdzbGV0dGVyX2lkJykpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uTGF6eUxvYWROZXdzbGV0dGVySXRlbXMoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZURldGFpbHMgPSBIZWxwZXJTZXJ2aWNlLm9uVGFibGVMYXp5TG9hZChldmVudCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2VEZXRhaWxzLnBhZ2U7XG4gICAgICAgIHRoaXMuZ2V0TmV3c2xldHRlckl0ZW1zKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgb3JkZXJfYnk6IHBhZ2VEZXRhaWxzLnNvcnRGaWVsZCxcbiAgICAgICAgICAgIG9yZGVyX2RpcmVjdGlvbjogcGFnZURldGFpbHMuc29ydE9yZGVyLFxuICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRJdGVtc1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5ld3NsZXR0ZXJJdGVtcyhwYWdpbmc6IFBhZ2luZykge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlLmdldE5ld3NsZXR0ZXJzSXRlbXMocGFnaW5nLCB0aGlzLnN1YnNjcmlwdGlvbklkKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5uZXdzbGV0dGVyc0l0ZW1zID0gcmVzcG9uc2UubmV3c2xldHRlcl9pdGVtcztcbiAgICAgICAgICAgIHRoaXMuYWxsTmV3c2xldHRlcnNJdGVtcyA9IHRoaXMubmV3c2xldHRlcnNJdGVtcy5zbGljZSgwKTtcbiAgICAgICAgICAgIHRoaXMubmV3c2xldHRlcnNJdGVtc1RvdGFsID0gcmVzcG9uc2Uub2JqZWN0X2NvdW50O1xuICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHNVbkZpbHRlcmVkID0gcmVzcG9uc2UudW5maWx0ZXJlZF9jb3VudDtcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLm5ld3NsZXR0ZXJzSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNJdGVtc0VtcHR5ID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5uZXdzbGV0dGVySWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5ld3NsZXR0ZXJzSXRlbXMgPSB0aGlzLmFsbE5ld3NsZXR0ZXJzSXRlbXMuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICB4ID0+IHgubmV3c2xldHRlcl9pZCA9PT0gdGhpcy5uZXdzbGV0dGVySWRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMubmV3c2xldHRlcnNJdGVtc1RvdGFsID0gdGhpcy5uZXdzbGV0dGVyc0l0ZW1zLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25OZXdzbGV0dGVyQ2hhbmdlKGV2ZW50KSB7XG4gICAgICAgIHRoaXMubmV3c2xldHRlcklkRm9ySXRlbSA9XG4gICAgICAgICAgICAhZXZlbnQudmFsdWU/Lmxlbmd0aCB8fCBldmVudC52YWx1ZT8ubGVuZ3RoID4gMSA/ICcnIDogZXZlbnQudmFsdWVbMF07XG4gICAgICAgIHRoaXMubmV3c2xldHRlcnNJdGVtcyA9XG4gICAgICAgICAgICBldmVudC52YWx1ZS5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgPyB0aGlzLmFsbE5ld3NsZXR0ZXJzSXRlbXMuZmlsdGVyKHggPT4gZXZlbnQudmFsdWUuaW5jbHVkZXMoeC5uZXdzbGV0dGVyX2lkKSlcbiAgICAgICAgICAgICAgICA6IHRoaXMuYWxsTmV3c2xldHRlcnNJdGVtcztcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5ld3NsZXR0ZXIgPSB7IGxhYmVsOiAnJyB9O1xuICAgICAgICB0aGlzLm5ld3NsZXR0ZXJzSXRlbXNUb3RhbCA9IHRoaXMubmV3c2xldHRlcnNJdGVtcz8ubGVuZ3RoO1xuICAgIH1cblxuICAgIG9uRGVsZXRlKGl0ZW06IE5ld3NMZXR0ZXJJdGVtKSB7XG4gICAgICAgIHN3YWwuZmlyZSh7XG4gICAgICAgICAgICB0aXRsZTogJ0RlbGV0ZScsXG4gICAgICAgICAgICB0ZXh0OiBgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSAke2l0ZW0udGl0bGV9P2AsXG4gICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgcmV2ZXJzZUJ1dHRvbnM6IHRydWUsXG4gICAgICAgICAgICBpY29uOiAnd2FybmluZydcbiAgICAgICAgfSkudGhlbihyZXAgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlLmRlbGV0ZU5ld3NsZXR0ZXJJdGVtKGl0ZW0uaWQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0TmV3c2xldHRlckl0ZW1zKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRJdGVtc1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLk5ld3NsZXR0ZXIuRGVsZXRlZE1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5ld3NsZXR0ZXJGb3JTZWxlY3QocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uSWQgPSB0aGlzLnVzZXJMb2dnZWRJbiA/IHRoaXMuc3Vic2NyaXB0aW9uSWQgOiBudWxsO1xuICAgICAgICB0aGlzLmFkbWluU2VydmljZS5nZXROZXdzbGV0dGVycyhwYWdpbmcsIHN1YnNjcmlwdGlvbklkKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5uZXdzbGV0dGVycyA9IHJlc3BvbnNlLm5ld3NsZXR0ZXJzLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogaXRlbS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5pZFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh0aGlzLm5ld3NsZXR0ZXJJZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLm5ld3NsZXR0ZXJzLmZpbmQoeCA9PiB4LnZhbHVlID09PSB0aGlzLm5ld3NsZXR0ZXJJZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE5ld3NsZXR0ZXIgPSBkYXRhO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFVzZXJJbmZvKCkge1xuICAgICAgICB0aGlzLnVzZXJTdG9yZSgpLnN1YnNjcmliZSh1c2VyID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlciA9IHVzZXI7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNlbmRUZXN0RW1haWwoaXRlbTogTmV3c0xldHRlckl0ZW0pIHtcbiAgICAgICAgc3dhbC5maXJlKHtcbiAgICAgICAgICAgIHRpdGxlOiAnU2VuZCBFbWFpbCcsXG4gICAgICAgICAgICB0ZXh0OiBgQSB0ZXN0IGVtYWlsIHdpbGwgYmUgc2VudCB0byBcIiR7dGhpcy51c2VyLmVtYWlsfVwiLiBEbyB5b3Ugd2FudCB0byBjb250aW51ZT9gLFxuICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgIHJldmVyc2VCdXR0b25zOiB0cnVlLFxuICAgICAgICAgICAgaWNvbjogJ3dhcm5pbmcnXG4gICAgICAgIH0pLnRoZW4oc2VuZE9rID0+IHtcbiAgICAgICAgICAgIGlmIChzZW5kT2sudmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkbWluU2VydmljZS5zZW5kVGVzdE1haWwoaXRlbS5pZCwgdGhpcy5zdWJzY3JpcHRpb25JZCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ05ld3NsZXR0ZXIgdGVzdCBlbWFpbCBzZW50IGNvcnJlY3RseScpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5hdmlnYXRlVG9DcmVhdGVOZXdzbGV0dGVySXRlbSgpIHtcbiAgICAgICAgaWYgKHRoaXMubmV3c2xldHRlcklkRm9ySXRlbSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2Ake3RoaXMucm91dGVycy5uZXdzbGV0dGVySXRlbURldGFpbHN9YWRkYF0sIHtcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogeyBuZXdzbGV0dGVyX2lkOiB0aGlzLm5ld3NsZXR0ZXJJZEZvckl0ZW0gfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYCR7dGhpcy5yb3V0ZXJzLm5ld3NsZXR0ZXJJdGVtRGV0YWlsc31hZGRgXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRTZW5kVW50aWxDb2xvcih2YWwpIHtcbiAgICAgICAgcmV0dXJuIHsgJ3RleHQtc3VjY2VzcyBmdy1ib2xkJzogdmFsICYmIG5ldyBEYXRlKHZhbCkgPiBuZXcgRGF0ZSgpIH07XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICA8aDIgY2xhc3M9XCJjYXJkLXRpdGxlIHAtMCBmbG9hdC1zdGFydFwiPk5ld3NsZXR0ZXJzIEl0ZW1zPC9oMj5cbiAgICA8YnV0dG9uICpyYmFjQWxsb3c9XCInU3Vic2NyaXB0aW9uQWRtaW4nXCJcbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1wcmltYXJ5IGZsb2F0LWVuZCBtLTBcIlxuICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9DcmVhdGVOZXdzbGV0dGVySXRlbSgpXCI+XG4gICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMtY2lyY2xlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiBDcmVhdGUgTmV3c2xldHRlciBJdGVtXG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICpuZ0lmPVwiIWlzTG9hZGVkXCI+XG4gIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInByaW1lbmctZGF0YXRhYmxlLWNvbnRhaW5lciB0YWJsZS1yZXNwb25zaXZlXCJcbiAgW2NsYXNzLmhpZGVUYWJsZV09XCJ0b3RhbFJlY29yZHNVbkZpbHRlcmVkID09PSAwXCI+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTRcIj5cbiAgICAgIDxwLW11bHRpU2VsZWN0IFtvcHRpb25zXT1cIm5ld3NsZXR0ZXJzXCJcbiAgICAgICAgKG9uQ2hhbmdlKT1cIm9uTmV3c2xldHRlckNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT0nc2VsZWN0ZWROZXdzbGV0dGVyPy5sYWJlbCB8fCBcIkZpbHRlciBieSBuZXdzbGV0dGVyc1wiJ1xuICAgICAgICBhcHBlbmRUbz1cImJvZHlcIj5cbiAgICAgIDwvcC1tdWx0aVNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTggZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0SXRlbXNcIlxuICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICBzaXplPVwiNTBcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoLi4uXCJcbiAgICAgICAgICBkYXRhLWN5PVwidXNlci1zZWFyY2hcIlxuICAgICAgICAgIChpbnB1dCk9XCJkdC5maWx0ZXJHbG9iYWwoJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2NvbnRhaW5zJylcIlxuICAgICAgICAgIGNsYXNzPVwid2QtOTAgdy0xMDBcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG4gIDxwLXRhYmxlICNkdFxuICAgIFt2YWx1ZV09XCJuZXdzbGV0dGVyc0l0ZW1zXCJcbiAgICBbcGFnaW5hdG9yXT1cIm5ld3NsZXR0ZXJzSXRlbXNUb3RhbCAhPT0gMFwiXG4gICAgW2dsb2JhbEZpbHRlckZpZWxkc109XCJbJ3RpdGxlJ11cIlxuICAgIFtyb3dzXT1cIlBBR0VfU0laRVwiXG4gICAgW3RvdGFsUmVjb3Jkc109XCJuZXdzbGV0dGVyc0l0ZW1zVG90YWxcIlxuICAgIFtsYXp5XT1cInRydWVcIlxuICAgIChvbkxhenlMb2FkKT1cIm9uTGF6eUxvYWROZXdzbGV0dGVySXRlbXMoJGV2ZW50KVwiXG4gICAgW2xvYWRpbmddPVwiaXNMb2FkaW5nXCJcbiAgICBbY3VzdG9tU29ydF09XCJ0cnVlXCI+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgPHRyPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJ0aXRsZVwiPlxuICAgICAgICAgIHt7ICdMYWJlbC5UaXRsZScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInRpdGxlXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJib2R5XCI+XG4gICAgICAgICAge3sgJ0FkbWluLk5ld3NsZXR0ZXJJdGVtLkJvZHknIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJib2R5XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJzZW5kX3VudGlsXCI+XG4gICAgICAgICAge3sgJ0FkbWluLk5ld3NsZXR0ZXJJdGVtLlNlbmRVbnRpbCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInNlbmRfdW50aWxcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImlzX3B1c2hlZFwiPlxuICAgICAgICAgIHt7ICdBZG1pbi5OZXdzbGV0dGVySXRlbS5QdXNoZWQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJpc19wdXNoZWRcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImlzX3NlbnRcIj5cbiAgICAgICAgICB7eyAnQWRtaW4uTmV3c2xldHRlckl0ZW0uU2VudCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cImlzX3NlbnRcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBjbGFzcz1cImFjdGlvbnMtbGlzdC1mb3VyXCJcbiAgICAgICAgICBzY29wZT1cInRydWVcIj57eyAnTGFiZWwuQWN0aW9ucycgfCB0cmFuc2xvY28gfX08L3RoPlxuICAgICAgPC90cj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCJcbiAgICAgIGxldC1pdGVtPlxuICAgICAgPHRyPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiVGl0bGVcIj5cbiAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBbcm91dGVyTGlua109XCJbcm91dGVycy5uZXdzbGV0dGVySXRlbVZpZXcgKyAnaW5mbycsIGl0ZW0uaWRdXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlIGluZm8taWNvblwiICpuZ0lmPVwiaXRlbT8ubG9jYXRpb25cIlxuICAgICAgICAgICAgIFtuZ2JUb29sdGlwXT1cIml0ZW0/LmxvY2F0aW9uXCI+PC9pPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiQm9keVwiXG4gICAgICAgICAgY2xhc3M9XCJjdXN0b20tdGRcIj5cbiAgICAgICAgICB7eyBpdGVtLmJvZHkgfCByZW1vdmVIdG1sOiAncXVpbGwnIHwgdGV4dFRydW5jYXRlOiAyMDAgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlNlbmQgVW50aWxcIj5cbiAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJnZXRTZW5kVW50aWxDb2xvcihpdGVtPy5zZW5kX3VudGlsKVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnNlbmRfdW50aWwgfCBkYXRlRm9ybWF0XG4gICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiSXMgUHVzaGVkXCI+XG4gICAgICAgICAgPHNwYW4gW2FwcER5bmFtaWNCYWRnZV09XCJ7IGl0ZW1zQXJyYXk6IFt0cnVlLCBmYWxzZV0sIGl0ZW06IGl0ZW0/LmlzX3B1c2hlZCB9XCJcbiAgICAgICAgICAgIGNvbG9yPVwic3VjY2Vzcy1kYW5nZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJiYWRnZVwiPnt7IGl0ZW0/LmlzX3B1c2hlZCB9fTwvc3Bhbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIklzIFNlbnRcIj5cbiAgICAgICAgICA8c3BhbiBbYXBwRHluYW1pY0JhZGdlXT1cInsgaXRlbXNBcnJheTogW3RydWUsIGZhbHNlXSwgaXRlbTogaXRlbT8uaXNfc2VudCB9XCJcbiAgICAgICAgICAgIGNvbG9yPVwic3VjY2Vzcy1kYW5nZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJiYWRnZVwiPnt7IGl0ZW0/LmlzX3NlbnQgfX08L3NwYW4+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJBY3Rpb25cIlxuICAgICAgICAgICpyYmFjQWxsb3c9XCInU3Vic2NyaXB0aW9uQWRtaW4nXCI+XG4gICAgICAgICAgPHVsIGNsYXNzPVwibGlzdC11bnN0eWxlZCBsaXN0LWlubGluZSBsaXN0LWFjdGlvblwiPlxuICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJTZW5kIHRlc3QgZW1haWxcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1lLTIgbWUtc20tMlwiPlxuICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhIGZhLWNvbW1lbnQtYWx0IGN0YTEtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZW5kVGVzdEVtYWlsKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2VuZFRlc3RFbWFpbChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgbmdiVG9vbHRpcD1cIkVkaXRcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1lLTIgbWUtc20tMlwiXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIltyb3V0ZXJzLm5ld3NsZXR0ZXJJdGVtRGV0YWlscyArIGl0ZW0uaWRdXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZWRpdCBlZGl0LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJEZWxldGVcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1lLTIgbWUtc20tMlwiXG4gICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRGVsZXRlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlKGl0ZW0pXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdHJhc2ggZGVsZXRlLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJWaWV3IE5ld3NsZXR0ZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTJcIj5cbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIltyb3V0ZXJzLm5ld3NsZXR0ZXJJdGVtVmlldyArICdpbmZvJywgaXRlbS5pZF1cIiB0YXJnZXQ9XCJfYmxhbmtcIiBhcmlhLWxhYmVsPVwiTmV3c2xldHRlciBJdGVtIFZpZXdcIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1leWUgZXllLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSBuZ2JUb29sdGlwPVwiTmV3c2xldHRlciByZWNpcGllbnRzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTJcIlxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbcm91dGVycy5uZXdzbGV0dGVyc1VzZXJMaXN0ICsgaXRlbS5pZF1cIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10YXNrcyBjdGExLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvcC10YWJsZT5cbiAgPGRpdiAqbmdJZj1cIm5ld3NsZXR0ZXJzSXRlbXNUb3RhbCA9PT0gMCAmJiB0b3RhbFJlY29yZHNVbkZpbHRlcmVkICE9PSAwXCI+XG4gICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ1NlYXJjaC5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiIFtkZXNjcmlwdGlvbl09XCInU2VhcmNoLk5vRGF0YURlc2NyaXB0aW9uJyB8IHRyYW5zbG9jb1wiID5cbiAgICA8L3B3LW5vLWRhdGE+XG4gIDwvZGl2PlxuICA8c3BhbiBjbGFzcz1cInRvdGFsLXJlY29yZHMtY291bnRcIiAgKm5nSWY9XCJuZXdzbGV0dGVyc0l0ZW1zVG90YWwgIT09IDBcIj57eyAnTGFiZWwuVG90YWwnIHwgdHJhbnNsb2NvIH19OiB7eyBuZXdzbGV0dGVyc0l0ZW1zVG90YWwgfX08L3NwYW4+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJ0b3RhbFJlY29yZHNVbkZpbHRlcmVkID09PSAwICYmIGlzTG9hZGVkXCI+XG4gIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidBZG1pbi5OZXdzbGV0dGVySXRlbS5OZXdzbGV0dGVySXRlbXNOb0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiPlxuICA8L3B3LW5vLWRhdGE+XG48L2Rpdj5cbiJdfQ==
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3c2xldHRlcnMtaXRlbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL25ld3NsZXR0ZXJzL25ld3NsZXR0ZXJzLWl0ZW1zL25ld3NsZXR0ZXJzLWl0ZW1zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9uZXdzbGV0dGVycy9uZXdzbGV0dGVycy1pdGVtcy9uZXdzbGV0dGVycy1pdGVtcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBR1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3pELE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUcvQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPMUQsTUFBTSxPQUFPLHlCQUNULFNBQVEsZ0JBQWdCO0lBK0J4QixZQUNxQixZQUEwQixFQUMzQyxRQUFrQixFQUNELEdBQXNCO1FBRXZDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUpDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBRTFCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBL0Iz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QUMsQ0FBQztJQUNQLENBQUM7SUFFRCw4QkFBOEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsS0FBSyxDQUFDLEVBQUU7Z0JBQy9ELFdBQVcsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7YUFDM0QsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLEdBQUc7UUFDakIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBdkxRLHlCQUF5QjttR0FBekIseUJBQXlCLG1GQzFCdEMsdTNNQThKQTs7NEZEcElhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDSSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFkbWluU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9hZG1pbi1tb2R1bGUtdXRpbHMnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IFBBR0VfU0laRSwgUGFnaW5nLCBUT0tFTl9LRVksIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcblxuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCBzd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcblxuaW1wb3J0IHsgTmV3c0xldHRlckl0ZW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL25ld3NsZXR0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJPVVRFUlMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvcm91dGVycy9yb3V0ZXJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1uZXdzbGV0dGVycy1pdGVtcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ld3NsZXR0ZXJzLWl0ZW1zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uZXdzbGV0dGVycy1pdGVtcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE5ld3NsZXR0ZXJzSXRlbXNDb21wb25lbnRcbiAgICBleHRlbmRzIEFwcEJhc2VDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdDaGVja2VkXG57XG4gICAgc2VhcmNoVGV4dEl0ZW1zID0gJyc7XG5cbiAgICBuZXdzbGV0dGVyc0l0ZW1zOiBOZXdzTGV0dGVySXRlbVtdID0gW107XG4gICAgYWxsTmV3c2xldHRlcnNJdGVtczogTmV3c0xldHRlckl0ZW1bXSA9IFtdO1xuICAgIG5ld3NsZXR0ZXJzID0gW107XG5cbiAgICBpc0xvYWRpbmcgPSB0cnVlO1xuICAgIGlzSXRlbXNFbXB0eSA9IHRydWU7XG5cbiAgICB1c2VyOiBVc2VyO1xuXG4gICAgbmV3c2xldHRlcklkOiBudW1iZXI7XG4gICAgbmV3c2xldHRlcnNJdGVtc1RvdGFsOiBudW1iZXI7XG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcbiAgICBuZXdzbGV0dGVySWRGb3JJdGVtOiBudW1iZXI7XG5cbiAgICBzZWxlY3RlZE5ld3NsZXR0ZXI6IHsgbGFiZWw6IHN0cmluZyB9O1xuXG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcblxuICAgIHRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQgPSAwO1xuXG4gICAgcHJpdmF0ZSBwYWdlID0gMTtcblxuICAgIHJvdXRlcnMgPSBST1VURVJTO1xuXG4gICAgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWRtaW5TZXJ2aWNlOiBBZG1pblNlcnZpY2UsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkU3Vic2NyaXB0aW9uPy5pZDtcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSQoVE9LRU5fS0VZKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlckxvZ2dlZEluID0gISFyZXM7XG4gICAgICAgICAgICB0aGlzLmdldE5ld3NsZXR0ZXJGb3JTZWxlY3Qoe1xuICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdldFVzZXJJbmZvKCk7XG4gICAgICAgIHRoaXMubmV3c2xldHRlcklkID0gTnVtYmVyKHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ25ld3NsZXR0ZXJfaWQnKSk7XG4gICAgICAgIHRoaXMubmV3c2xldHRlcklkRm9ySXRlbSA9IE51bWJlcih0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCduZXdzbGV0dGVyX2lkJykpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uTGF6eUxvYWROZXdzbGV0dGVySXRlbXMoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZURldGFpbHMgPSBIZWxwZXJTZXJ2aWNlLm9uVGFibGVMYXp5TG9hZChldmVudCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2VEZXRhaWxzLnBhZ2U7XG4gICAgICAgIHRoaXMuZ2V0TmV3c2xldHRlckl0ZW1zKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgb3JkZXJfYnk6IHBhZ2VEZXRhaWxzLnNvcnRGaWVsZCxcbiAgICAgICAgICAgIG9yZGVyX2RpcmVjdGlvbjogcGFnZURldGFpbHMuc29ydE9yZGVyLFxuICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRJdGVtc1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5ld3NsZXR0ZXJJdGVtcyhwYWdpbmc6IFBhZ2luZykge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlLmdldE5ld3NsZXR0ZXJzSXRlbXMocGFnaW5nLCB0aGlzLnN1YnNjcmlwdGlvbklkKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5uZXdzbGV0dGVyc0l0ZW1zID0gcmVzcG9uc2UubmV3c2xldHRlcl9pdGVtcztcbiAgICAgICAgICAgIHRoaXMuYWxsTmV3c2xldHRlcnNJdGVtcyA9IHRoaXMubmV3c2xldHRlcnNJdGVtcy5zbGljZSgwKTtcbiAgICAgICAgICAgIHRoaXMubmV3c2xldHRlcnNJdGVtc1RvdGFsID0gcmVzcG9uc2Uub2JqZWN0X2NvdW50O1xuICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHNVbkZpbHRlcmVkID0gcmVzcG9uc2UudW5maWx0ZXJlZF9jb3VudDtcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLm5ld3NsZXR0ZXJzSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNJdGVtc0VtcHR5ID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5uZXdzbGV0dGVySWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5ld3NsZXR0ZXJzSXRlbXMgPSB0aGlzLmFsbE5ld3NsZXR0ZXJzSXRlbXMuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICB4ID0+IHgubmV3c2xldHRlcl9pZCA9PT0gdGhpcy5uZXdzbGV0dGVySWRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMubmV3c2xldHRlcnNJdGVtc1RvdGFsID0gdGhpcy5uZXdzbGV0dGVyc0l0ZW1zLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25OZXdzbGV0dGVyQ2hhbmdlKGV2ZW50KSB7XG4gICAgICAgIHRoaXMubmV3c2xldHRlcklkRm9ySXRlbSA9XG4gICAgICAgICAgICAhZXZlbnQudmFsdWU/Lmxlbmd0aCB8fCBldmVudC52YWx1ZT8ubGVuZ3RoID4gMSA/ICcnIDogZXZlbnQudmFsdWVbMF07XG4gICAgICAgIHRoaXMubmV3c2xldHRlcnNJdGVtcyA9XG4gICAgICAgICAgICBldmVudC52YWx1ZS5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgPyB0aGlzLmFsbE5ld3NsZXR0ZXJzSXRlbXMuZmlsdGVyKHggPT4gZXZlbnQudmFsdWUuaW5jbHVkZXMoeC5uZXdzbGV0dGVyX2lkKSlcbiAgICAgICAgICAgICAgICA6IHRoaXMuYWxsTmV3c2xldHRlcnNJdGVtcztcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5ld3NsZXR0ZXIgPSB7IGxhYmVsOiAnJyB9O1xuICAgICAgICB0aGlzLm5ld3NsZXR0ZXJzSXRlbXNUb3RhbCA9IHRoaXMubmV3c2xldHRlcnNJdGVtcz8ubGVuZ3RoO1xuICAgIH1cblxuICAgIG9uRGVsZXRlKGl0ZW06IE5ld3NMZXR0ZXJJdGVtKSB7XG4gICAgICAgIHN3YWwuZmlyZSh7XG4gICAgICAgICAgICB0aXRsZTogJ0RlbGV0ZScsXG4gICAgICAgICAgICB0ZXh0OiBgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSAke2l0ZW0udGl0bGV9P2AsXG4gICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgcmV2ZXJzZUJ1dHRvbnM6IHRydWUsXG4gICAgICAgICAgICBpY29uOiAnd2FybmluZydcbiAgICAgICAgfSkudGhlbihyZXAgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlLmRlbGV0ZU5ld3NsZXR0ZXJJdGVtKGl0ZW0uaWQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0TmV3c2xldHRlckl0ZW1zKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRJdGVtc1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLk5ld3NsZXR0ZXIuRGVsZXRlZE1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5ld3NsZXR0ZXJGb3JTZWxlY3QocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uSWQgPSB0aGlzLnVzZXJMb2dnZWRJbiA/IHRoaXMuc3Vic2NyaXB0aW9uSWQgOiBudWxsO1xuICAgICAgICB0aGlzLmFkbWluU2VydmljZS5nZXROZXdzbGV0dGVycyhwYWdpbmcsIHN1YnNjcmlwdGlvbklkKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5uZXdzbGV0dGVycyA9IHJlc3BvbnNlLm5ld3NsZXR0ZXJzLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogaXRlbS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5pZFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh0aGlzLm5ld3NsZXR0ZXJJZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLm5ld3NsZXR0ZXJzLmZpbmQoeCA9PiB4LnZhbHVlID09PSB0aGlzLm5ld3NsZXR0ZXJJZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE5ld3NsZXR0ZXIgPSBkYXRhO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFVzZXJJbmZvKCkge1xuICAgICAgICB0aGlzLnVzZXJTdG9yZSgpLnN1YnNjcmliZSh1c2VyID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlciA9IHVzZXI7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNlbmRUZXN0RW1haWwoaXRlbTogTmV3c0xldHRlckl0ZW0pIHtcbiAgICAgICAgc3dhbC5maXJlKHtcbiAgICAgICAgICAgIHRpdGxlOiAnU2VuZCBFbWFpbCcsXG4gICAgICAgICAgICB0ZXh0OiBgQSB0ZXN0IGVtYWlsIHdpbGwgYmUgc2VudCB0byBcIiR7dGhpcy51c2VyLmVtYWlsfVwiLiBEbyB5b3Ugd2FudCB0byBjb250aW51ZT9gLFxuICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgIHJldmVyc2VCdXR0b25zOiB0cnVlLFxuICAgICAgICAgICAgaWNvbjogJ3dhcm5pbmcnXG4gICAgICAgIH0pLnRoZW4oc2VuZE9rID0+IHtcbiAgICAgICAgICAgIGlmIChzZW5kT2sudmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkbWluU2VydmljZS5zZW5kVGVzdE1haWwoaXRlbS5pZCwgdGhpcy5zdWJzY3JpcHRpb25JZCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ05ld3NsZXR0ZXIgdGVzdCBlbWFpbCBzZW50IGNvcnJlY3RseScpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5hdmlnYXRlVG9DcmVhdGVOZXdzbGV0dGVySXRlbSgpIHtcbiAgICAgICAgaWYgKHRoaXMubmV3c2xldHRlcklkRm9ySXRlbSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2Ake3RoaXMucm91dGVycy5uZXdzbGV0dGVySXRlbURldGFpbHN9YWRkYF0sIHtcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogeyBuZXdzbGV0dGVyX2lkOiB0aGlzLm5ld3NsZXR0ZXJJZEZvckl0ZW0gfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYCR7dGhpcy5yb3V0ZXJzLm5ld3NsZXR0ZXJJdGVtRGV0YWlsc31hZGRgXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRTZW5kVW50aWxDb2xvcih2YWwpIHtcbiAgICAgICAgcmV0dXJuIHsgJ3RleHQtc3VjY2VzcyBmdy1ib2xkJzogdmFsICYmIG5ldyBEYXRlKHZhbCkgPiBuZXcgRGF0ZSgpIH07XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICA8aDIgY2xhc3M9XCJjYXJkLXRpdGxlIHAtMCBmbG9hdC1zdGFydFwiPk5ld3NsZXR0ZXJzIEl0ZW1zPC9oMj5cbiAgICA8YnV0dG9uICpyYmFjQWxsb3c9XCInU3Vic2NyaXB0aW9uQWRtaW4nXCJcbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1wcmltYXJ5IGZsb2F0LWVuZCBtLTBcIlxuICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9DcmVhdGVOZXdzbGV0dGVySXRlbSgpXCI+XG4gICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMtY2lyY2xlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiBDcmVhdGUgTmV3c2xldHRlciBJdGVtXG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICpuZ0lmPVwiIWlzTG9hZGVkXCI+XG4gIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInByaW1lbmctZGF0YXRhYmxlLWNvbnRhaW5lciB0YWJsZS1yZXNwb25zaXZlXCJcbiAgW2NsYXNzLmhpZGVUYWJsZV09XCJ0b3RhbFJlY29yZHNVbkZpbHRlcmVkID09PSAwXCI+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTRcIj5cbiAgICAgIDxwLW11bHRpU2VsZWN0IFtvcHRpb25zXT1cIm5ld3NsZXR0ZXJzXCJcbiAgICAgICAgKG9uQ2hhbmdlKT1cIm9uTmV3c2xldHRlckNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT0nc2VsZWN0ZWROZXdzbGV0dGVyPy5sYWJlbCB8fCBcIkZpbHRlciBieSBuZXdzbGV0dGVyc1wiJ1xuICAgICAgICBhcHBlbmRUbz1cImJvZHlcIj5cbiAgICAgIDwvcC1tdWx0aVNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTggZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0SXRlbXNcIlxuICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICBzaXplPVwiNTBcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoLi4uXCJcbiAgICAgICAgICBkYXRhLWN5PVwidXNlci1zZWFyY2hcIlxuICAgICAgICAgIChpbnB1dCk9XCJkdC5maWx0ZXJHbG9iYWwoJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2NvbnRhaW5zJylcIlxuICAgICAgICAgIGNsYXNzPVwid2QtOTAgdy0xMDBcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG4gIDxwLXRhYmxlICNkdFxuICAgIFt2YWx1ZV09XCJuZXdzbGV0dGVyc0l0ZW1zXCJcbiAgICBbcGFnaW5hdG9yXT1cIm5ld3NsZXR0ZXJzSXRlbXNUb3RhbCAhPT0gMFwiXG4gICAgW2dsb2JhbEZpbHRlckZpZWxkc109XCJbJ3RpdGxlJ11cIlxuICAgIFtyb3dzXT1cIlBBR0VfU0laRVwiXG4gICAgW3RvdGFsUmVjb3Jkc109XCJuZXdzbGV0dGVyc0l0ZW1zVG90YWxcIlxuICAgIFtsYXp5XT1cInRydWVcIlxuICAgIChvbkxhenlMb2FkKT1cIm9uTGF6eUxvYWROZXdzbGV0dGVySXRlbXMoJGV2ZW50KVwiXG4gICAgW2xvYWRpbmddPVwiaXNMb2FkaW5nXCJcbiAgICBbY3VzdG9tU29ydF09XCJ0cnVlXCI+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgPHRyPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJ0aXRsZVwiPlxuICAgICAgICAgIHt7ICdMYWJlbC5UaXRsZScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInRpdGxlXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJib2R5XCI+XG4gICAgICAgICAge3sgJ0FkbWluLk5ld3NsZXR0ZXJJdGVtLkJvZHknIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJib2R5XCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJzZW5kX3VudGlsXCI+XG4gICAgICAgICAge3sgJ0FkbWluLk5ld3NsZXR0ZXJJdGVtLlNlbmRVbnRpbCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInNlbmRfdW50aWxcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImlzX3B1c2hlZFwiPlxuICAgICAgICAgIHt7ICdBZG1pbi5OZXdzbGV0dGVySXRlbS5QdXNoZWQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJpc19wdXNoZWRcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImlzX3NlbnRcIj5cbiAgICAgICAgICB7eyAnQWRtaW4uTmV3c2xldHRlckl0ZW0uU2VudCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cImlzX3NlbnRcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBjbGFzcz1cImFjdGlvbnMtbGlzdC1mb3VyXCJcbiAgICAgICAgICBzY29wZT1cInRydWVcIj57eyAnTGFiZWwuQWN0aW9ucycgfCB0cmFuc2xvY28gfX08L3RoPlxuICAgICAgPC90cj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCJcbiAgICAgIGxldC1pdGVtPlxuICAgICAgPHRyPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiVGl0bGVcIj5cbiAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBbcm91dGVyTGlua109XCJbcm91dGVycy5uZXdzbGV0dGVySXRlbVZpZXcgKyAnaW5mbycsIGl0ZW0uaWRdXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlIGluZm8taWNvblwiICpuZ0lmPVwiaXRlbT8ubG9jYXRpb25cIlxuICAgICAgICAgICAgIFtuZ2JUb29sdGlwXT1cIml0ZW0/LmxvY2F0aW9uXCI+PC9pPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiQm9keVwiXG4gICAgICAgICAgY2xhc3M9XCJjdXN0b20tdGRcIj5cbiAgICAgICAgICB7eyBpdGVtLmJvZHkgfCByZW1vdmVIdG1sOiAncXVpbGwnIHwgdGV4dFRydW5jYXRlOiAyMDAgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlNlbmQgVW50aWxcIj5cbiAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJnZXRTZW5kVW50aWxDb2xvcihpdGVtPy5zZW5kX3VudGlsKVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnNlbmRfdW50aWwgfCBkYXRlRm9ybWF0XG4gICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiSXMgUHVzaGVkXCI+XG4gICAgICAgICAgPHNwYW4gW2FwcER5bmFtaWNCYWRnZV09XCJ7IGl0ZW1zQXJyYXk6IFt0cnVlLCBmYWxzZV0sIGl0ZW06IGl0ZW0/LmlzX3B1c2hlZCB9XCJcbiAgICAgICAgICAgIGNvbG9yPVwic3VjY2Vzcy1kYW5nZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJiYWRnZVwiPnt7IGl0ZW0/LmlzX3B1c2hlZCB9fTwvc3Bhbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIklzIFNlbnRcIj5cbiAgICAgICAgICA8c3BhbiBbYXBwRHluYW1pY0JhZGdlXT1cInsgaXRlbXNBcnJheTogW3RydWUsIGZhbHNlXSwgaXRlbTogaXRlbT8uaXNfc2VudCB9XCJcbiAgICAgICAgICAgIGNvbG9yPVwic3VjY2Vzcy1kYW5nZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJiYWRnZVwiPnt7IGl0ZW0/LmlzX3NlbnQgfX08L3NwYW4+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJBY3Rpb25cIlxuICAgICAgICAgICpyYmFjQWxsb3c9XCInU3Vic2NyaXB0aW9uQWRtaW4nXCI+XG4gICAgICAgICAgPHVsIGNsYXNzPVwibGlzdC11bnN0eWxlZCBsaXN0LWlubGluZSBsaXN0LWFjdGlvblwiPlxuICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJTZW5kIHRlc3QgZW1haWxcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1lLTIgbWUtc20tMlwiPlxuICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhIGZhLWNvbW1lbnQtYWx0IGN0YTEtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZW5kVGVzdEVtYWlsKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2VuZFRlc3RFbWFpbChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgbmdiVG9vbHRpcD1cIkVkaXRcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1lLTIgbWUtc20tMlwiXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIltyb3V0ZXJzLm5ld3NsZXR0ZXJJdGVtRGV0YWlscyArIGl0ZW0uaWRdXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZWRpdCBlZGl0LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJEZWxldGVcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1lLTIgbWUtc20tMlwiXG4gICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRGVsZXRlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlKGl0ZW0pXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdHJhc2ggZGVsZXRlLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJWaWV3IE5ld3NsZXR0ZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTJcIj5cbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIltyb3V0ZXJzLm5ld3NsZXR0ZXJJdGVtVmlldyArICdpbmZvJywgaXRlbS5pZF1cIiB0YXJnZXQ9XCJfYmxhbmtcIiBhcmlhLWxhYmVsPVwiTmV3c2xldHRlciBJdGVtIFZpZXdcIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1leWUgZXllLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSBuZ2JUb29sdGlwPVwiTmV3c2xldHRlciByZWNpcGllbnRzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTJcIlxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbcm91dGVycy5uZXdzbGV0dGVyc1VzZXJMaXN0ICsgaXRlbS5pZF1cIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS10YXNrcyBjdGExLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvcC10YWJsZT5cbiAgPGRpdiAqbmdJZj1cIm5ld3NsZXR0ZXJzSXRlbXNUb3RhbCA9PT0gMCAmJiB0b3RhbFJlY29yZHNVbkZpbHRlcmVkICE9PSAwXCI+XG4gICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ1NlYXJjaC5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiIFtkZXNjcmlwdGlvbl09XCInU2VhcmNoLk5vRGF0YURlc2NyaXB0aW9uJyB8IHRyYW5zbG9jb1wiID5cbiAgICA8L3B3LW5vLWRhdGE+XG4gIDwvZGl2PlxuICA8c3BhbiBjbGFzcz1cInRvdGFsLXJlY29yZHMtY291bnRcIiAgKm5nSWY9XCJuZXdzbGV0dGVyc0l0ZW1zVG90YWwgIT09IDBcIj57eyAnTGFiZWwuVG90YWwnIHwgdHJhbnNsb2NvIH19OiB7eyBuZXdzbGV0dGVyc0l0ZW1zVG90YWwgfX08L3NwYW4+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJ0b3RhbFJlY29yZHNVbkZpbHRlcmVkID09PSAwICYmIGlzTG9hZGVkXCI+XG4gIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidBZG1pbi5OZXdzbGV0dGVySXRlbS5OZXdzbGV0dGVySXRlbXNOb0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiPlxuICA8L3B3LW5vLWRhdGE+XG48L2Rpdj5cbiJdfQ==
@@ -1,11 +1,11 @@
1
1
  import { ChangeDetectorRef, Component, Injector } from '@angular/core';
2
- import swal from 'sweetalert2';
3
2
  import { AdminService } from '@posiwise/admin-module-utils';
4
- import { ROUTERS } from '../../../shared/routers/routers';
5
- import { PAGE_SIZE, TOKEN_KEY } from '@posiwise/common-utilities';
6
3
  import { AppBaseComponent } from '@posiwise/app-base-component';
7
- import { HelperService } from '@posiwise/helper-service';
8
4
  import { PermissionService } from '@posiwise/common-services';
5
+ import { PAGE_SIZE, TOKEN_KEY } from '@posiwise/common-utilities';
6
+ import { HelperService } from '@posiwise/helper-service';
7
+ import swal from 'sweetalert2';
8
+ import { ROUTERS } from '../../../shared/routers/routers';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@posiwise/admin-module-utils";
11
11
  import * as i2 from "primeng/table";
@@ -98,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
98
98
  type: Component,
99
99
  args: [{ selector: 'pw-newsletters-list', template: "<div class=\"row\">\n <div class=\"col-12 d-flex justify-content-between align-items-center text-end\">\n <h2 class=\"card-title p-0 float-start\">Newsletters</h2>\n <button *rbacAllow=\"'SubscriptionSuperAdmin'\"\n class=\"btn btn-outline-primary btn-sm float-end m-0\"\n [routerLink]=\"[routers.newsletterDetails + 'add']\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i> Create Newsletter\n </button>\n </div>\n</div>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<div class=\"primeng-datatable-container table-responsive mt-3\"\n [class.hideTable]=\"data.unfiltered_count === 0\">\n <p-table #tt\n [value]=\"data.newsletters\"\n [paginator]=\"data.object_count !== 0\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"data.object_count\"\n [loading]=\"loading\"\n [lazy]=\"true\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n [customSort]=\"true\">\n <!--sort order should be default empty when page load-->\n\n <!-- Caption Header, Search Bar -->\n <ng-template pTemplate=\"caption\">\n <div class=\"text-end\">\n <i class=\"fa fa-search mt-2 me-2\" aria-hidden=\"true\"></i>\n <input type=\"text\"\n pInputText\n size=\"50\"\n placeholder=\"Search\"\n [(ngModel)]=\"searchText\"\n (input)=\"tt.filterGlobal($event.target.value, 'contains')\" />\n </div>\n </ng-template>\n\n <!-- Column Header -->\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"true\"\n pSortableColumn=\"name\">\n {{ 'Label.Name' | transloco }}\n <p-sortIcon field=\"name\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"active\">\n {{ 'Label.IsActive' | transloco }}\n <p-sortIcon field=\"active\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"visible\">\n {{ 'Label.IsVisible' | transloco }}\n <p-sortIcon field=\"visible\"></p-sortIcon>\n </th>\n <th class=\"actions-list-two\"\n scope=\"true\">{{ 'Label.Actions' | transloco }}</th>\n </tr>\n </ng-template>\n\n <!-- Table Body -->\n <ng-template pTemplate=\"body\"\n let-item>\n <tr>\n <td data-head=\"Name\">\n <a (click)=\"navigateNewsletterItems(item.id)\">\n <span class=\"item-hoverable\">{{ item.name }}</span>\n </a>\n </td>\n <td data-head=\"Active\">\n <span [appDynamicBadge]=\"{ itemsArray: [true, false], item: item?.active }\"\n color=\"success-danger\"\n class=\"badge\">{{ item?.active ? 'Yes' : 'No' }}</span>\n </td>\n <td data-head=\"Visible\">\n <span [appDynamicBadge]=\"{ itemsArray: [true, false], item: item?.visible }\"\n color=\"success-danger\"\n class=\"badge\">{{ item?.visible ? 'Yes' : 'No' }}</span>\n </td>\n <td data-head=\"Action\">\n <ul class=\"list-unstyled list-inline list-action\"\n *rbacAllow=\"'SubscriptionSuperAdmin'\">\n <li ngbTooltip=\"Edit\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"[routers.newsletterDetails + item.id]\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </li>\n <li ngbTooltip=\"Delete\"\n class=\"me-2 me-sm-3\"\n (keydown.enter)=\"onDelete(item)\"\n (click)=\"onDelete(item)\">\n <i class=\"fa fa-trash delete-icon\" aria-hidden=\"true\"></i>\n </li>\n <li ngbTooltip=\"Newsletter Items\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"'/admin/newsletter/items'\"\n [queryParams]=\"{ newsletter_id: item.id }\">\n <i class=\"fa fa-tasks cta1-icon\" aria-hidden=\"true\"></i>\n </li>\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n<div *ngIf=\"data.object_count === 0 && data.unfiltered_count !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\" [description]=\"'Search.NoDataDescription' | transloco\" >\n </pw-no-data>\n</div>\n <span *ngIf=\"data.object_count !== 0\" class=\"total-records-count\">{{ 'Label.Total' | transloco }}: {{ data.object_count }}</span>\n</div>\n<div *ngIf=\"data.unfiltered_count === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Admin.Newsletter.NoDataMessage' | transloco\"> </pw-no-data>\n</div>\n" }]
100
100
  }], ctorParameters: () => [{ type: i1.AdminService }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }] });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3c2xldHRlcnMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvbmV3c2xldHRlcnMvbmV3c2xldHRlcnMtbGlzdC9uZXdzbGV0dGVycy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9uZXdzbGV0dGVycy9uZXdzbGV0dGVycy1saXN0L25ld3NsZXR0ZXJzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUdYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUUvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFVLE1BQU0sNEJBQTRCLENBQUM7QUFFMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU05RCxNQUFNLE9BQU8sd0JBQ1QsU0FBUSxnQkFBZ0I7SUF1QnhCLFlBQ3FCLFlBQTBCLEVBQzNDLFFBQWtCLEVBQ0QsR0FBc0I7UUFFdkMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSkMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFFMUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF2QjNDLFNBQUks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SSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsaUNBQWlDLENBQUMsQ0FDaEUsQ0FBQztnQkFDTixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxFQUFVO1FBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMseUJBQXlCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBL0ZRLHdCQUF3QjttR0FBeEIsd0JBQXdCLGtGQ3ZCckMsbWtKQXFIQTs7NEZEOUZhLHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDSSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXp5TG9hZEV2ZW50IH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuXG5pbXBvcnQgeyBBZG1pblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYWRtaW4tbW9kdWxlLXV0aWxzJztcbmltcG9ydCB7IFJPVVRFUlMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvcm91dGVycy9yb3V0ZXJzJztcbmltcG9ydCB7IFBBR0VfU0laRSwgVE9LRU5fS0VZLCBQYWdpbmcgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBOZXdzTGV0dGVyLCBOZXdzTGV0dGVyUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL25ld3NsZXR0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1uZXdzbGV0dGVycy1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmV3c2xldHRlcnMtbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTmV3c2xldHRlcnNMaXN0Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICAgIGRhdGE6IE5ld3NMZXR0ZXJSZXNwb25zZSA9IHtcbiAgICAgICAgbmV3c2xldHRlcnM6IFtdLFxuICAgICAgICBvYmplY3RfY291bnQ6IDAsXG4gICAgICAgIHVuZmlsdGVyZWRfY291bnQ6IDBcbiAgICB9O1xuXG4gICAgc2VhcmNoVGV4dCA9ICcnO1xuXG4gICAgbG9hZGluZyA9IHRydWU7XG5cbiAgICBpc0xvYWRlZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBwYWdlID0gMTtcblxuICAgIHJvdXRlcnMgPSBST1VURVJTO1xuXG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcblxuICAgIHVzZXJMb2dnZWRJbjogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFkbWluU2VydmljZTogQWRtaW5TZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0kKFRPS0VOX0tFWSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZXJMb2dnZWRJbiA9ICEhcmVzO1xuICAgICAgICAgICAgaWYgKHRoaXMudXNlckxvZ2dlZEluKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkU3Vic2NyaXB0aW9uPy5pZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgb25MYXp5TG9hZChldmVudDogTGF6eUxvYWRFdmVudCkge1xuICAgICAgICBjb25zdCBwYWdlRGV0YWlscyA9IEhlbHBlclNlcnZpY2Uub25UYWJsZUxhenlMb2FkKGV2ZW50KTtcbiAgICAgICAgdGhpcy5wYWdlID0gcGFnZURldGFpbHMucGFnZTtcbiAgICAgICAgdGhpcy5nZXROZXdzbGV0dGVycyh7XG4gICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgIG9yZGVyX2J5OiBwYWdlRGV0YWlscy5zb3J0RmllbGQsXG4gICAgICAgICAgICBvcmRlcl9kaXJlY3Rpb246IHBhZ2VEZXRhaWxzLnNvcnRPcmRlcixcbiAgICAgICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TmV3c2xldHRlcnMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFkbWluU2VydmljZVxuICAgICAgICAgICAgLmdldE5ld3NsZXR0ZXJzKHBhZ2luZywgdGhpcy5zdWJzY3JpcHRpb25JZCB8fCBudWxsKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IE5ld3NMZXR0ZXJSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWxldGUoaXRlbTogTmV3c0xldHRlcikge1xuICAgICAgICBzd2FsLmZpcmUoe1xuICAgICAgICAgICAgdGl0bGU6ICdEZWxldGUnLFxuICAgICAgICAgICAgdGV4dDogYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgJHtpdGVtLm5hbWV9P2AsXG4gICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgcmV2ZXJzZUJ1dHRvbnM6IHRydWUsXG4gICAgICAgICAgICBpY29uOiAnd2FybmluZydcbiAgICAgICAgfSkudGhlbihyZXAgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24uaWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5hZG1pblNlcnZpY2UuZGVsZXRlTmV3c2xldHRlcihpdGVtLmlkLCBzdWJzY3JpcHRpb25JZCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhLm5ld3NsZXR0ZXJzID0gdGhpcy5kYXRhLm5ld3NsZXR0ZXJzLmZpbHRlcih4ID0+IHguaWQgIT09IGl0ZW0uaWQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGEub2JqZWN0X2NvdW50LS07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdBZG1pbi5OZXdzbGV0dGVyLkRlbGV0ZWRNZXNzYWdlJylcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmF2aWdhdGVOZXdzbGV0dGVySXRlbXMoaWQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9hZG1pbi9uZXdzbGV0dGVyL2l0ZW1zYF0sIHsgcXVlcnlQYXJhbXM6IHsgbmV3c2xldHRlcl9pZDogaWQgfSB9KTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciB0ZXh0LWVuZFwiPlxuICAgIDxoMiBjbGFzcz1cImNhcmQtdGl0bGUgcC0wIGZsb2F0LXN0YXJ0XCI+TmV3c2xldHRlcnM8L2gyPlxuICAgIDxidXR0b24gKnJiYWNBbGxvdz1cIidTdWJzY3JpcHRpb25TdXBlckFkbWluJ1wiXG4gICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5IGJ0bi1zbSBmbG9hdC1lbmQgbS0wXCJcbiAgICAgIFtyb3V0ZXJMaW5rXT1cIltyb3V0ZXJzLm5ld3NsZXR0ZXJEZXRhaWxzICsgJ2FkZCddXCI+XG4gICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMtY2lyY2xlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiBDcmVhdGUgTmV3c2xldHRlclxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIlxuICAqbmdJZj1cIiFpc0xvYWRlZFwiPlxuICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwcmltZW5nLWRhdGF0YWJsZS1jb250YWluZXIgdGFibGUtcmVzcG9uc2l2ZSBtdC0zXCJcbiAgW2NsYXNzLmhpZGVUYWJsZV09XCJkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDBcIj5cbiAgPHAtdGFibGUgI3R0XG4gICAgW3ZhbHVlXT1cImRhdGEubmV3c2xldHRlcnNcIlxuICAgIFtwYWdpbmF0b3JdPVwiZGF0YS5vYmplY3RfY291bnQgIT09IDBcIlxuICAgIFtyb3dzXT1cIlBBR0VfU0laRVwiXG4gICAgW3RvdGFsUmVjb3Jkc109XCJkYXRhLm9iamVjdF9jb3VudFwiXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgW2xhenldPVwidHJ1ZVwiXG4gICAgW2ZpbHRlckRlbGF5XT1cIjEwMDBcIlxuICAgIChvbkxhenlMb2FkKT1cIm9uTGF6eUxvYWQoJGV2ZW50KVwiXG4gICAgW2N1c3RvbVNvcnRdPVwidHJ1ZVwiPlxuICAgIDwhLS1zb3J0IG9yZGVyIHNob3VsZCBiZSBkZWZhdWx0IGVtcHR5IHdoZW4gcGFnZSBsb2FkLS0+XG5cbiAgICA8IS0tIENhcHRpb24gSGVhZGVyLCBTZWFyY2ggQmFyIC0tPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjYXB0aW9uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmRcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zZWFyY2ggbXQtMiBtZS0yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICBzaXplPVwiNTBcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgIChpbnB1dCk9XCJ0dC5maWx0ZXJHbG9iYWwoJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2NvbnRhaW5zJylcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDwhLS0gQ29sdW1uIEhlYWRlciAtLT5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICA8dHI+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cIm5hbWVcIj5cbiAgICAgICAgICB7eyAnTGFiZWwuTmFtZScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cIm5hbWVcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cImFjdGl2ZVwiPlxuICAgICAgICAgIHt7ICdMYWJlbC5Jc0FjdGl2ZScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cImFjdGl2ZVwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgcFNvcnRhYmxlQ29sdW1uPVwidmlzaWJsZVwiPlxuICAgICAgICAgIHt7ICdMYWJlbC5Jc1Zpc2libGUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJ2aXNpYmxlXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggY2xhc3M9XCJhY3Rpb25zLWxpc3QtdHdvXCJcbiAgICAgICAgICBzY29wZT1cInRydWVcIj57eyAnTGFiZWwuQWN0aW9ucycgfCB0cmFuc2xvY28gfX08L3RoPlxuICAgICAgPC90cj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPCEtLSBUYWJsZSBCb2R5IC0tPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCJcbiAgICAgIGxldC1pdGVtPlxuICAgICAgPHRyPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiTmFtZVwiPlxuICAgICAgICAgIDxhIChjbGljayk9XCJuYXZpZ2F0ZU5ld3NsZXR0ZXJJdGVtcyhpdGVtLmlkKVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLWhvdmVyYWJsZVwiPnt7IGl0ZW0ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJBY3RpdmVcIj5cbiAgICAgICAgICA8c3BhbiBbYXBwRHluYW1pY0JhZGdlXT1cInsgaXRlbXNBcnJheTogW3RydWUsIGZhbHNlXSwgaXRlbTogaXRlbT8uYWN0aXZlIH1cIlxuICAgICAgICAgICAgY29sb3I9XCJzdWNjZXNzLWRhbmdlclwiXG4gICAgICAgICAgICBjbGFzcz1cImJhZGdlXCI+e3sgaXRlbT8uYWN0aXZlID8gJ1llcycgOiAnTm8nIH19PC9zcGFuPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiVmlzaWJsZVwiPlxuICAgICAgICAgIDxzcGFuIFthcHBEeW5hbWljQmFkZ2VdPVwieyBpdGVtc0FycmF5OiBbdHJ1ZSwgZmFsc2VdLCBpdGVtOiBpdGVtPy52aXNpYmxlIH1cIlxuICAgICAgICAgICAgY29sb3I9XCJzdWNjZXNzLWRhbmdlclwiXG4gICAgICAgICAgICBjbGFzcz1cImJhZGdlXCI+e3sgaXRlbT8udmlzaWJsZSA/ICdZZXMnIDogJ05vJyB9fTwvc3Bhbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkFjdGlvblwiPlxuICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWQgbGlzdC1pbmxpbmUgbGlzdC1hY3Rpb25cIlxuICAgICAgICAgICAgKnJiYWNBbGxvdz1cIidTdWJzY3JpcHRpb25TdXBlckFkbWluJ1wiPlxuICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJFZGl0XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTNcIlxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbcm91dGVycy5uZXdzbGV0dGVyRGV0YWlscyArIGl0ZW0uaWRdXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZWRpdCBlZGl0LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJEZWxldGVcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1lLTIgbWUtc20tM1wiXG4gICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRGVsZXRlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlKGl0ZW0pXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdHJhc2ggZGVsZXRlLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJOZXdzbGV0dGVyIEl0ZW1zXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTNcIlxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCInL2FkbWluL25ld3NsZXR0ZXIvaXRlbXMnXCJcbiAgICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInsgbmV3c2xldHRlcl9pZDogaXRlbS5pZCB9XCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdGFza3MgY3RhMS1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3AtdGFibGU+XG48ZGl2ICpuZ0lmPVwiZGF0YS5vYmplY3RfY291bnQgPT09IDAgJiYgZGF0YS51bmZpbHRlcmVkX2NvdW50ICE9PSAwXCI+XG4gICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ1NlYXJjaC5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiIFtkZXNjcmlwdGlvbl09XCInU2VhcmNoLk5vRGF0YURlc2NyaXB0aW9uJyB8IHRyYW5zbG9jb1wiID5cbiAgICA8L3B3LW5vLWRhdGE+XG48L2Rpdj5cbiAgPHNwYW4gKm5nSWY9XCJkYXRhLm9iamVjdF9jb3VudCAhPT0gMFwiIGNsYXNzPVwidG90YWwtcmVjb3Jkcy1jb3VudFwiPnt7ICdMYWJlbC5Ub3RhbCcgfCB0cmFuc2xvY28gfX06IHt7ICBkYXRhLm9iamVjdF9jb3VudCB9fTwvc3Bhbj5cbjwvZGl2PlxuPGRpdiAqbmdJZj1cImRhdGEudW5maWx0ZXJlZF9jb3VudCA9PT0gMCAmJiBpc0xvYWRlZFwiPlxuICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInQWRtaW4uTmV3c2xldHRlci5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiPiA8L3B3LW5vLWRhdGE+XG48L2Rpdj5cbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3c2xldHRlcnMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvbmV3c2xldHRlcnMvbmV3c2xldHRlcnMtbGlzdC9uZXdzbGV0dGVycy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9uZXdzbGV0dGVycy9uZXdzbGV0dGVycy1saXN0L25ld3NsZXR0ZXJzLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUdYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd6RCxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFHL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7OztBQU0xRCxNQUFNLE9BQU8sd0JBQ1QsU0FBUSxnQkFBZ0I7SUF1QnhCLFlBQ3FCLFlBQTBCLEVBQzNDLFFBQWtCLEVBQ0QsR0FBc0I7UUFFdkMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSkMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFFMUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF2QjNDLFNBQUks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SSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsaUNBQWlDLENBQUMsQ0FDaEUsQ0FBQztnQkFDTixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxFQUFVO1FBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMseUJBQXlCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBL0ZRLHdCQUF3QjttR0FBeEIsd0JBQXdCLGtGQ3pCckMsbWtKQXFIQTs7NEZENUZhLHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDSSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFkbWluU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9hZG1pbi1tb2R1bGUtdXRpbHMnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IFBBR0VfU0laRSwgUGFnaW5nLCBUT0tFTl9LRVkgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcblxuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCBzd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcblxuaW1wb3J0IHsgTmV3c0xldHRlciwgTmV3c0xldHRlclJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZS9uZXdzbGV0dGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBST1VURVJTIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3JvdXRlcnMvcm91dGVycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctbmV3c2xldHRlcnMtbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ld3NsZXR0ZXJzLWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE5ld3NsZXR0ZXJzTGlzdENvbXBvbmVudFxuICAgIGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWRcbntcbiAgICBkYXRhOiBOZXdzTGV0dGVyUmVzcG9uc2UgPSB7XG4gICAgICAgIG5ld3NsZXR0ZXJzOiBbXSxcbiAgICAgICAgb2JqZWN0X2NvdW50OiAwLFxuICAgICAgICB1bmZpbHRlcmVkX2NvdW50OiAwXG4gICAgfTtcblxuICAgIHNlYXJjaFRleHQgPSAnJztcblxuICAgIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgaXNMb2FkZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcGFnZSA9IDE7XG5cbiAgICByb3V0ZXJzID0gUk9VVEVSUztcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICB1c2VyTG9nZ2VkSW46IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhZG1pblNlcnZpY2U6IEFkbWluU2VydmljZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtJChUT0tFTl9LRVkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyTG9nZ2VkSW4gPSAhIXJlcztcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXJMb2dnZWRJbikge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBQZXJtaXNzaW9uU2VydmljZS5zZWxlY3RlZFN1YnNjcmlwdGlvbj8uaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uTGF6eUxvYWQoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZURldGFpbHMgPSBIZWxwZXJTZXJ2aWNlLm9uVGFibGVMYXp5TG9hZChldmVudCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2VEZXRhaWxzLnBhZ2U7XG4gICAgICAgIHRoaXMuZ2V0TmV3c2xldHRlcnMoe1xuICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkUsXG4gICAgICAgICAgICBvcmRlcl9ieTogcGFnZURldGFpbHMuc29ydEZpZWxkLFxuICAgICAgICAgICAgb3JkZXJfZGlyZWN0aW9uOiBwYWdlRGV0YWlscy5zb3J0T3JkZXIsXG4gICAgICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoVGV4dFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5ld3NsZXR0ZXJzKHBhZ2luZzogUGFnaW5nKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2VcbiAgICAgICAgICAgIC5nZXROZXdzbGV0dGVycyhwYWdpbmcsIHRoaXMuc3Vic2NyaXB0aW9uSWQgfHwgbnVsbClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBOZXdzTGV0dGVyUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGEgPSByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uRGVsZXRlKGl0ZW06IE5ld3NMZXR0ZXIpIHtcbiAgICAgICAgc3dhbC5maXJlKHtcbiAgICAgICAgICAgIHRpdGxlOiAnRGVsZXRlJyxcbiAgICAgICAgICAgIHRleHQ6IGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlICR7aXRlbS5uYW1lfT9gLFxuICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgIHJldmVyc2VCdXR0b25zOiB0cnVlLFxuICAgICAgICAgICAgaWNvbjogJ3dhcm5pbmcnXG4gICAgICAgIH0pLnRoZW4ocmVwID0+IHtcbiAgICAgICAgICAgIGlmIChyZXAudmFsdWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25JZCA9IFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkU3Vic2NyaXB0aW9uLmlkO1xuICAgICAgICAgICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlLmRlbGV0ZU5ld3NsZXR0ZXIoaXRlbS5pZCwgc3Vic2NyaXB0aW9uSWQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YS5uZXdzbGV0dGVycyA9IHRoaXMuZGF0YS5uZXdzbGV0dGVycy5maWx0ZXIoeCA9PiB4LmlkICE9PSBpdGVtLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhLm9iamVjdF9jb3VudC0tO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQWRtaW4uTmV3c2xldHRlci5EZWxldGVkTWVzc2FnZScpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5hdmlnYXRlTmV3c2xldHRlckl0ZW1zKGlkOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AvYWRtaW4vbmV3c2xldHRlci9pdGVtc2BdLCB7IHF1ZXJ5UGFyYW1zOiB7IG5ld3NsZXR0ZXJfaWQ6IGlkIH0gfSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dC1lbmRcIj5cbiAgICA8aDIgY2xhc3M9XCJjYXJkLXRpdGxlIHAtMCBmbG9hdC1zdGFydFwiPk5ld3NsZXR0ZXJzPC9oMj5cbiAgICA8YnV0dG9uICpyYmFjQWxsb3c9XCInU3Vic2NyaXB0aW9uU3VwZXJBZG1pbidcIlxuICAgICAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBidG4tc20gZmxvYXQtZW5kIG0tMFwiXG4gICAgICBbcm91dGVyTGlua109XCJbcm91dGVycy5uZXdzbGV0dGVyRGV0YWlscyArICdhZGQnXVwiPlxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wbHVzLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4gQ3JlYXRlIE5ld3NsZXR0ZXJcbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgKm5nSWY9XCIhaXNMb2FkZWRcIj5cbiAgPHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPiA8L3AtcHJvZ3Jlc3NTcGlubmVyPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicHJpbWVuZy1kYXRhdGFibGUtY29udGFpbmVyIHRhYmxlLXJlc3BvbnNpdmUgbXQtM1wiXG4gIFtjbGFzcy5oaWRlVGFibGVdPVwiZGF0YS51bmZpbHRlcmVkX2NvdW50ID09PSAwXCI+XG4gIDxwLXRhYmxlICN0dFxuICAgIFt2YWx1ZV09XCJkYXRhLm5ld3NsZXR0ZXJzXCJcbiAgICBbcGFnaW5hdG9yXT1cImRhdGEub2JqZWN0X2NvdW50ICE9PSAwXCJcbiAgICBbcm93c109XCJQQUdFX1NJWkVcIlxuICAgIFt0b3RhbFJlY29yZHNdPVwiZGF0YS5vYmplY3RfY291bnRcIlxuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgIFtsYXp5XT1cInRydWVcIlxuICAgIFtmaWx0ZXJEZWxheV09XCIxMDAwXCJcbiAgICAob25MYXp5TG9hZCk9XCJvbkxhenlMb2FkKCRldmVudClcIlxuICAgIFtjdXN0b21Tb3J0XT1cInRydWVcIj5cbiAgICA8IS0tc29ydCBvcmRlciBzaG91bGQgYmUgZGVmYXVsdCBlbXB0eSB3aGVuIHBhZ2UgbG9hZC0tPlxuXG4gICAgPCEtLSBDYXB0aW9uIEhlYWRlciwgU2VhcmNoIEJhciAtLT5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoIG10LTIgbWUtMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgICAgc2l6ZT1cIjUwXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICAoaW5wdXQpPVwidHQuZmlsdGVyR2xvYmFsKCRldmVudC50YXJnZXQudmFsdWUsICdjb250YWlucycpXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8IS0tIENvbHVtbiBIZWFkZXIgLS0+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgPHRyPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJuYW1lXCI+XG4gICAgICAgICAge3sgJ0xhYmVsLk5hbWUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJuYW1lXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJhY3RpdmVcIj5cbiAgICAgICAgICB7eyAnTGFiZWwuSXNBY3RpdmUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJhY3RpdmVcIj48L3Atc29ydEljb24+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cInZpc2libGVcIj5cbiAgICAgICAgICB7eyAnTGFiZWwuSXNWaXNpYmxlJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwidmlzaWJsZVwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRoIGNsYXNzPVwiYWN0aW9ucy1saXN0LXR3b1wiXG4gICAgICAgICAgc2NvcGU9XCJ0cnVlXCI+e3sgJ0xhYmVsLkFjdGlvbnMnIHwgdHJhbnNsb2NvIH19PC90aD5cbiAgICAgIDwvdHI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDwhLS0gVGFibGUgQm9keSAtLT5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiXG4gICAgICBsZXQtaXRlbT5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIk5hbWVcIj5cbiAgICAgICAgICA8YSAoY2xpY2spPVwibmF2aWdhdGVOZXdzbGV0dGVySXRlbXMoaXRlbS5pZClcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaXRlbS1ob3ZlcmFibGVcIj57eyBpdGVtLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgZGF0YS1oZWFkPVwiQWN0aXZlXCI+XG4gICAgICAgICAgPHNwYW4gW2FwcER5bmFtaWNCYWRnZV09XCJ7IGl0ZW1zQXJyYXk6IFt0cnVlLCBmYWxzZV0sIGl0ZW06IGl0ZW0/LmFjdGl2ZSB9XCJcbiAgICAgICAgICAgIGNvbG9yPVwic3VjY2Vzcy1kYW5nZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJiYWRnZVwiPnt7IGl0ZW0/LmFjdGl2ZSA/ICdZZXMnIDogJ05vJyB9fTwvc3Bhbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlZpc2libGVcIj5cbiAgICAgICAgICA8c3BhbiBbYXBwRHluYW1pY0JhZGdlXT1cInsgaXRlbXNBcnJheTogW3RydWUsIGZhbHNlXSwgaXRlbTogaXRlbT8udmlzaWJsZSB9XCJcbiAgICAgICAgICAgIGNvbG9yPVwic3VjY2Vzcy1kYW5nZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJiYWRnZVwiPnt7IGl0ZW0/LnZpc2libGUgPyAnWWVzJyA6ICdObycgfX08L3NwYW4+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJBY3Rpb25cIj5cbiAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIGxpc3QtaW5saW5lIGxpc3QtYWN0aW9uXCJcbiAgICAgICAgICAgICpyYmFjQWxsb3c9XCInU3Vic2NyaXB0aW9uU3VwZXJBZG1pbidcIj5cbiAgICAgICAgICAgIDxsaSBuZ2JUb29sdGlwPVwiRWRpdFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibWUtMiBtZS1zbS0zXCJcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiW3JvdXRlcnMubmV3c2xldHRlckRldGFpbHMgKyBpdGVtLmlkXVwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWVkaXQgZWRpdC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSBuZ2JUb29sdGlwPVwiRGVsZXRlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTNcIlxuICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkRlbGV0ZShpdGVtKVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShpdGVtKVwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRyYXNoIGRlbGV0ZS1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSBuZ2JUb29sdGlwPVwiTmV3c2xldHRlciBJdGVtc1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwibWUtMiBtZS1zbS0zXCJcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiJy9hZG1pbi9uZXdzbGV0dGVyL2l0ZW1zJ1wiXG4gICAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJ7IG5ld3NsZXR0ZXJfaWQ6IGl0ZW0uaWQgfVwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRhc2tzIGN0YTEtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9wLXRhYmxlPlxuPGRpdiAqbmdJZj1cImRhdGEub2JqZWN0X2NvdW50ID09PSAwICYmIGRhdGEudW5maWx0ZXJlZF9jb3VudCAhPT0gMFwiPlxuICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidTZWFyY2guTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIiBbZGVzY3JpcHRpb25dPVwiJ1NlYXJjaC5Ob0RhdGFEZXNjcmlwdGlvbicgfCB0cmFuc2xvY29cIiA+XG4gICAgPC9wdy1uby1kYXRhPlxuPC9kaXY+XG4gIDxzcGFuICpuZ0lmPVwiZGF0YS5vYmplY3RfY291bnQgIT09IDBcIiBjbGFzcz1cInRvdGFsLXJlY29yZHMtY291bnRcIj57eyAnTGFiZWwuVG90YWwnIHwgdHJhbnNsb2NvIH19OiB7eyAgZGF0YS5vYmplY3RfY291bnQgfX08L3NwYW4+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDAgJiYgaXNMb2FkZWRcIj5cbiAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ0FkbWluLk5ld3NsZXR0ZXIuTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIj4gPC9wdy1uby1kYXRhPlxuPC9kaXY+XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { Component, Injector } from '@angular/core';
2
- import { PERMISSION_NAMES } from '@posiwise/common-utilities';
3
2
  import { AppBaseComponent } from '@posiwise/app-base-component';
3
+ import { PERMISSION_NAMES } from '@posiwise/common-utilities';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@posiwise/shared-components";
6
6
  export class NewsletterComponent extends AppBaseComponent {
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
35
35
  type: Component,
36
36
  args: [{ selector: 'pw-newsletter', template: `<pw-tabs [items]="items"></pw-tabs>`, styles: [".text-truncate{max-width:150px}.card-body{min-height:65vh}\n"] }]
37
37
  }], ctorParameters: () => [{ type: i0.Injector }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3c2xldHRlcnMtdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvbmV3c2xldHRlcnMvbmV3c2xldHRlcnMtdGFicy9uZXdzbGV0dGVycy10YWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBZ0JoRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZ0JBQWdCO0lBQ3JELFlBQVksUUFBa0I7UUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBS3BCLFVBQUssR0FBZTtZQUNoQjtnQkFDSSxFQUFFLEVBQUUsWUFBWTtnQkFDaEIsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLFVBQVUsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2FBQ3pDO1lBQ0Q7Z0JBQ0ksRUFBRSxFQUFFLE9BQU87Z0JBQ1gsS0FBSyxFQUFFLGtCQUFrQjtnQkFDekIsSUFBSSxFQUFFLHNCQUFzQjtnQkFDNUIsVUFBVSxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDMUM7WUFDRDtnQkFDSSxFQUFFLEVBQUUsU0FBUztnQkFDYixLQUFLLEVBQUUsU0FBUztnQkFDaEIsSUFBSSxFQUFFLHVCQUF1QjtnQkFDN0IsVUFBVSxFQUFFLENBQUMsMkJBQTJCLENBQUM7Z0JBQ3pDLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO2FBQ25GO1NBQ0osQ0FBQztJQXhCRixDQUFDOytHQUhRLG1CQUFtQjttR0FBbkIsbUJBQW1CLDRFQVpsQixxQ0FBcUM7OzRGQVl0QyxtQkFBbUI7a0JBZC9CLFNBQVM7K0JBQ0ksZUFBZSxZQUNmLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQgeyBQRVJNSVNTSU9OX05BTUVTIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LW5ld3NsZXR0ZXInLFxuICAgIHRlbXBsYXRlOiBgPHB3LXRhYnMgW2l0ZW1zXT1cIml0ZW1zXCI+PC9wdy10YWJzPmAsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIC50ZXh0LXRydW5jYXRlIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNhcmQtYm9keSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNjV2aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmV3c2xldHRlckNvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgYWN0aXZlSXRlbTogTWVudUl0ZW07XG5cbiAgICBpdGVtczogTWVudUl0ZW1bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICduZXdzbGV0dGVyJyxcbiAgICAgICAgICAgIGxhYmVsOiAnTmV3c2xldHRlcnMnLFxuICAgICAgICAgICAgaWNvbjogJ2ZhIGZhLWZ3IGZhLWJvb2snLFxuICAgICAgICAgICAgcm91dGVyTGluazogWycvYWRtaW4vbmV3c2xldHRlci9saXN0J11cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdpdGVtcycsXG4gICAgICAgICAgICBsYWJlbDogJ05ld3NsZXR0ZXItSXRlbXMnLFxuICAgICAgICAgICAgaWNvbjogJ2ZhIGZhLWZ3IGZhLWNhbGVuZGFyJyxcbiAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL2FkbWluL25ld3NsZXR0ZXIvaXRlbXMnXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2luc2lnaHQnLFxuICAgICAgICAgICAgbGFiZWw6ICdJbnNpZ2h0JyxcbiAgICAgICAgICAgIGljb246ICdmYSBmYS1mdyBmYS1zaWduYXR1cmUnLFxuICAgICAgICAgICAgcm91dGVyTGluazogWycvYWRtaW4vbmV3c2xldHRlci9pbnNpZ2h0J10sXG4gICAgICAgICAgICB2aXNpYmxlOiB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmV2YWx1YXRlUGVybWlzc2lvbnMoUEVSTUlTU0lPTl9OQU1FUy5TdXBlckFkbWluKVxuICAgICAgICB9XG4gICAgXTtcbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3c2xldHRlcnMtdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvbmV3c2xldHRlcnMvbmV3c2xldHRlcnMtdGFicy9uZXdzbGV0dGVycy10YWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBa0I5RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZ0JBQWdCO0lBQ3JELFlBQVksUUFBa0I7UUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBS3BCLFVBQUssR0FBZTtZQUNoQjtnQkFDSSxFQUFFLEVBQUUsWUFBWTtnQkFDaEIsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLFVBQVUsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2FBQ3pDO1lBQ0Q7Z0JBQ0ksRUFBRSxFQUFFLE9BQU87Z0JBQ1gsS0FBSyxFQUFFLGtCQUFrQjtnQkFDekIsSUFBSSxFQUFFLHNCQUFzQjtnQkFDNUIsVUFBVSxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDMUM7WUFDRDtnQkFDSSxFQUFFLEVBQUUsU0FBUztnQkFDYixLQUFLLEVBQUUsU0FBUztnQkFDaEIsSUFBSSxFQUFFLHVCQUF1QjtnQkFDN0IsVUFBVSxFQUFFLENBQUMsMkJBQTJCLENBQUM7Z0JBQ3pDLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO2FBQ25GO1NBQ0osQ0FBQztJQXhCRixDQUFDOytHQUhRLG1CQUFtQjttR0FBbkIsbUJBQW1CLDRFQVpsQixxQ0FBcUM7OzRGQVl0QyxtQkFBbUI7a0JBZC9CLFNBQVM7K0JBQ0ksZUFBZSxZQUNmLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUEVSTUlTU0lPTl9OQU1FUyB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcblxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctbmV3c2xldHRlcicsXG4gICAgdGVtcGxhdGU6IGA8cHctdGFicyBbaXRlbXNdPVwiaXRlbXNcIj48L3B3LXRhYnM+YCxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgLnRleHQtdHJ1bmNhdGUge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2FyZC1ib2R5IHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA2NXZoO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZXdzbGV0dGVyQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBhY3RpdmVJdGVtOiBNZW51SXRlbTtcblxuICAgIGl0ZW1zOiBNZW51SXRlbVtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ25ld3NsZXR0ZXInLFxuICAgICAgICAgICAgbGFiZWw6ICdOZXdzbGV0dGVycycsXG4gICAgICAgICAgICBpY29uOiAnZmEgZmEtZncgZmEtYm9vaycsXG4gICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9hZG1pbi9uZXdzbGV0dGVyL2xpc3QnXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2l0ZW1zJyxcbiAgICAgICAgICAgIGxhYmVsOiAnTmV3c2xldHRlci1JdGVtcycsXG4gICAgICAgICAgICBpY29uOiAnZmEgZmEtZncgZmEtY2FsZW5kYXInLFxuICAgICAgICAgICAgcm91dGVyTGluazogWycvYWRtaW4vbmV3c2xldHRlci9pdGVtcyddXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnaW5zaWdodCcsXG4gICAgICAgICAgICBsYWJlbDogJ0luc2lnaHQnLFxuICAgICAgICAgICAgaWNvbjogJ2ZhIGZhLWZ3IGZhLXNpZ25hdHVyZScsXG4gICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9hZG1pbi9uZXdzbGV0dGVyL2luc2lnaHQnXSxcbiAgICAgICAgICAgIHZpc2libGU6IHRoaXMucGVybWlzc2lvblNlcnZpY2UuZXZhbHVhdGVQZXJtaXNzaW9ucyhQRVJNSVNTSU9OX05BTUVTLlN1cGVyQWRtaW4pXG4gICAgICAgIH1cbiAgICBdO1xufVxuIl19
@@ -1,10 +1,10 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { Component, Injector, ViewChild } from '@angular/core';
3
3
  import { AdminService, AppAdmin } from '@posiwise/admin-module-utils';
4
- import { ROUTERS } from '../../../shared/routers/routers';
5
4
  import { AppBaseComponent } from '@posiwise/app-base-component';
6
5
  import { PermissionTreeComponent } from '@posiwise/shared-components';
7
6
  import { ValidateForm } from '@posiwise/utils';
7
+ import { ROUTERS } from '../../../shared/routers/routers';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@posiwise/admin-module-utils";
10
10
  import * as i2 from "@angular/common";
@@ -106,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
106
106
  type: ViewChild,
107
107
  args: ['permissionTree', { static: false }]
108
108
  }], savePermissionDetails: [] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtZGV0YWlscy9wZXJtaXNzaW9ucy1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1kZXRhaWxzL3Blcm1pc3Npb25zLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7O0FBTS9DLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxnQkFBZ0I7SUFvQjdELFlBQ3FCLFlBQTBCLEVBQzNDLFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUhDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBWC9DLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFJbkIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUlqQixZQUFPLEdBQUcsT0FBTyxDQUFDO1FBT2QsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNULEVBQUUs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RyxDQUFDLEdBQUcsRUFBRTtnQkFDTixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztRQUNYLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQ1osdUVBQXVFLENBQzFFLENBQUM7WUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBcEdRLDJCQUEyQjttR0FBM0IsMkJBQTJCLHlTQ2hCeEMsMjFFQWtFQTs7QURRSTtJQURDLFlBQVksQ0FBQyxNQUFNLENBQUM7Ozs7d0VBa0NwQjs0RkEzRlEsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNJLHdCQUF3Qjt3R0FJUSxJQUFJO3NCQUE3QyxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRVEsY0FBYztzQkFBN0QsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBdUQ5QyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBBZG1pblNlcnZpY2UsIEFwcEFkbWluIH0gZnJvbSAnQHBvc2l3aXNlL2FkbWluLW1vZHVsZS11dGlscyc7XG5pbXBvcnQgeyBST1VURVJTIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3JvdXRlcnMvcm91dGVycyc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZS9wZXJtaXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uVHJlZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9zaGFyZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBWYWxpZGF0ZUZvcm0gfSBmcm9tICdAcG9zaXdpc2UvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LXBlcm1pc3Npb25zLWRldGFpbHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wZXJtaXNzaW9ucy1kZXRhaWxzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uc0RldGFpbHNDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBWaWV3Q2hpbGQoJ21lbnVJdGVtcycsIHsgc3RhdGljOiB0cnVlIH0pIG1lbnU6IE1lbnVJdGVtW107XG5cbiAgICBAVmlld0NoaWxkKCdwZXJtaXNzaW9uVHJlZScsIHsgc3RhdGljOiBmYWxzZSB9KSBwZXJtaXNzaW9uVHJlZTogUGVybWlzc2lvblRyZWVDb21wb25lbnQ7XG5cbiAgICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIGFjdGl2ZUl0ZW06IE1lbnVJdGVtO1xuICAgIGJ1dHRvbkJ1c3kgPSBmYWxzZTtcblxuICAgIGl0ZW1zOiBNZW51SXRlbVtdO1xuXG4gICAgaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uO1xuXG4gICAgcm91dGVycyA9IFJPVVRFUlM7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhZG1pblNlcnZpY2U6IEFkbWluU2VydmljZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgdGhpcy5pdGVtcyA9IFtcbiAgICAgICAgICAgIHsgaWQ6ICdwZXJtaXNzaW9uLWRldGFpbHMnLCBsYWJlbDogJ1Blcm1pc3Npb24gZGV0YWlscycsIGljb246ICdmYSBmYS1mdyBmYS11c2VyLWNvZycgfVxuICAgICAgICBdO1xuXG4gICAgICAgIFt0aGlzLmFjdGl2ZUl0ZW1dID0gdGhpcy5pdGVtcztcbiAgICAgICAgdGhpcy5mb3JtID0gQXBwQWRtaW4uZ2V0UGVybWlzc2lvbnNGb3JtKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZSgoZGF0YTogUGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBpZiAoIU51bWJlcihkYXRhWydpZCddKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmlkID0gTnVtYmVyKGRhdGFbJ2lkJ10pO1xuICAgICAgICAgICAgdGhpcy5nZXRSb2xlRGV0YWlscygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJvbGVEZXRhaWxzKCkge1xuICAgICAgICB0aGlzLmFkbWluU2VydmljZS5nZXRQZXJtaXNzaW9ucygpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UucGVybWlzc2lvbnMgJiYgcmVzcG9uc2UucGVybWlzc2lvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IHJlc3BvbnNlLnBlcm1pc3Npb25zLmZpbmQoeCA9PiB4LmlkID09PSB0aGlzLmlkKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wZXJtaXNzaW9ucykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh0aGlzLnBlcm1pc3Npb25zKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdC5lcnJvcignUmVjb3JkIE5vdCBGb3VuZCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQFZhbGlkYXRlRm9ybSgnZm9ybScpXG4gICAgc2F2ZVBlcm1pc3Npb25EZXRhaWxzKCkge1xuICAgICAgICB0aGlzLmJ1dHRvbkJ1c3kgPSB0cnVlO1xuICAgICAgICBpZiAodGhpcy5mb3JtLnZhbHVlWydpZCddKSB7XG4gICAgICAgICAgICB0aGlzLmFkbWluU2VydmljZVxuICAgICAgICAgICAgICAgIC5zYXZlUGVybWlzc2lvbih0aGlzLmZvcm0udmFsdWUsIHRoaXMuaWQpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFjaygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQWRtaW4uUGVybWlzc2lvbnMuVXBkYXRlZE1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmlkKSB7XG4gICAgICAgICAgICB0aGlzLmFkbWluU2VydmljZVxuICAgICAgICAgICAgICAgIC5hZGRQZXJtaXNzaW9uKHRoaXMuZm9ybS52YWx1ZSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdBZG1pbi5QZXJtaXNzaW9ucy5BZGRlZE1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5idXR0b25CdXN5ID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMudG9hc3QuZXJyb3IoXG4gICAgICAgICAgICAgICAgJ1NvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgY29udGFjdCBzdXBwb3J0IGlmIHRoZSBwcm9ibGVtIHBlcnNpc3RzLidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbkJ1c3kgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRGlzY2FyZCgpIHtcbiAgICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWQgcHctdGFiIG92ZXJmbG93LWhpZGRlblwiPlxuXG4gIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWJvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYi00IG10LTRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWUtYXV0byBjb2wteHMtNlwiPlxuICAgICAgICAgICAgPGEgYXJpYS1sYWJlbD1cIk5hdmlnYXRlIHRvIFRhcmdldFwiXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIltyb3V0ZXJzLnBlcm1pc3Npb25zTGlzdF1cIlxuICAgICAgICAgICAgICBjbGFzcz1cInByZXZpb3VzXCI+PGkgY2xhc3M9XCJmYSBmYS1hcnJvdy1hbHQtY2lyY2xlLWxlZnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+PC9hPlxuICAgICAgICAgICAgPGgzICpuZ0lmPVwicGVybWlzc2lvbnM/Lm5hbWU7IGVsc2UgcGVybWlzc2lvbkxhYmVsXCI+XG4gICAgICAgICAgICAgIFBlcm1pc3Npb246IHt7IHBlcm1pc3Npb25zPy5uYW1lIH19XG4gICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNwZXJtaXNzaW9uTGFiZWw+XG4gICAgICAgICAgICAgIDxoMz5QZXJtaXNzaW9uPC9oMz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgICAgICAgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgICAgICAgPHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPiA8L3AtcHJvZ3Jlc3NTcGlubmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICAgICAqbmdJZj1cIiFpc0xvYWRpbmdcIlxuICAgICAgICAobmdTdWJtaXQpPVwic2F2ZVBlcm1pc3Npb25EZXRhaWxzKClcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLThcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJuYW1lXCI+e3sgJ1Blcm1pc3Npb25zLlBlcm1pc3Npb25OYW1lJyB8IHRyYW5zbG9jbyB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtNFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImFjdGl2ZVwiPnt7ICdQZXJtaXNzaW9ucy5Jc0FjdGl2ZScgfCB0cmFuc2xvY28gfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICAgICAgPHVpLXN3aXRjaCBjbGFzcz1cImQtYmxvY2tcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImFjdGl2ZVwiPlxuICAgICAgICAgICAgICA8L3VpLXN3aXRjaD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC01IHRleHQtZW5kXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtZGVmYXVsdCBtZS0yXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGlzY2FyZCgpXCI+XG4gICAgICAgICAgICAgIHt7ICdCdXR0b24uQ2FuY2VsJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICBbYnV0dG9uQnVzeV09XCJidXR0b25CdXN5XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgICAgICAgICAqcmJhY0FsbG93PVwiJ1BhZ2VzLkFkbWluLlJvbGVzLkNyZWF0ZSdcIj5cbiAgICAgICAgICAgICAge3sgJ0J1dHRvbi5TYXZlJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9mb3JtPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbnMtZGV0YWlscy9wZXJtaXNzaW9ucy1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy1kZXRhaWxzL3Blcm1pc3Npb25zLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7O0FBTTFELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxnQkFBZ0I7SUFtQjdELFlBQ3FCLFlBQTBCLEVBQzNDLFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUhDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBVC9DLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUlqQixZQUFPLEdBQUcsT0FBTyxDQUFDO1FBT2QsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNULEVBQUUsRUFBRSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUU7U0FDMUYsQ0FBQztRQUVGLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDM0IsQ0FBQztZQUNELElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxjQUFjO1FBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3BELElBQUksUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDcEUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDM0MsQ0FBQztxQkFBTSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDekMsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFHRCxxQkFBcUI7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZO2lCQUNaLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO2lCQUN4QyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDWixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDZCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUNqRSxDQUFDO1lBQ04sQ0FBQyxDQUFDO2lCQUNELEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsWUFBWTtpQkFDWixhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7aUJBQzlCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLGdDQUFnQyxDQUFDLENBQy9ELENBQUM7WUFDTixDQUFDLENBQUM7aUJBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDTixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztRQUNYLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQ1osdUVBQXVFLENBQzFFLENBQUM7WUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVRLFdBQVc7UUFDaEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBbkdRLDJCQUEyQjttR0FBM0IsMkJBQTJCLHlTQ2xCeEMsMjFFQWtFQTs7QURTSTtJQURDLFlBQVksQ0FBQyxNQUFNLENBQUM7Ozs7d0VBa0NwQjs0RkExRlEsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNJLHdCQUF3Qjt3R0FJUSxJQUFJO3NCQUE3QyxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ1EsY0FBYztzQkFBN0QsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBdUQ5QyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQWRtaW5TZXJ2aWNlLCBBcHBBZG1pbiB9IGZyb20gJ0Bwb3Npd2lzZS9hZG1pbi1tb2R1bGUtdXRpbHMnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVybWlzc2lvblRyZWVDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2Uvc2hhcmVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgVmFsaWRhdGVGb3JtIH0gZnJvbSAnQHBvc2l3aXNlL3V0aWxzJztcblxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbmltcG9ydCB7IFBlcm1pc3Npb24gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL3Blcm1pc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFJPVVRFUlMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvcm91dGVycy9yb3V0ZXJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1wZXJtaXNzaW9ucy1kZXRhaWxzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbnMtZGV0YWlscy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNEZXRhaWxzQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkKCdtZW51SXRlbXMnLCB7IHN0YXRpYzogdHJ1ZSB9KSBtZW51OiBNZW51SXRlbVtdO1xuICAgIEBWaWV3Q2hpbGQoJ3Blcm1pc3Npb25UcmVlJywgeyBzdGF0aWM6IGZhbHNlIH0pIHBlcm1pc3Npb25UcmVlOiBQZXJtaXNzaW9uVHJlZUNvbXBvbmVudDtcblxuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgICBpZDogbnVtYmVyO1xuXG4gICAgYWN0aXZlSXRlbTogTWVudUl0ZW07XG4gICAgaXRlbXM6IE1lbnVJdGVtW107XG5cbiAgICBidXR0b25CdXN5ID0gZmFsc2U7XG5cbiAgICBpc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgcGVybWlzc2lvbnM6IFBlcm1pc3Npb247XG5cbiAgICByb3V0ZXJzID0gUk9VVEVSUztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFkbWluU2VydmljZTogQWRtaW5TZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLml0ZW1zID0gW1xuICAgICAgICAgICAgeyBpZDogJ3Blcm1pc3Npb24tZGV0YWlscycsIGxhYmVsOiAnUGVybWlzc2lvbiBkZXRhaWxzJywgaWNvbjogJ2ZhIGZhLWZ3IGZhLXVzZXItY29nJyB9XG4gICAgICAgIF07XG5cbiAgICAgICAgW3RoaXMuYWN0aXZlSXRlbV0gPSB0aGlzLml0ZW1zO1xuICAgICAgICB0aGlzLmZvcm0gPSBBcHBBZG1pbi5nZXRQZXJtaXNzaW9uc0Zvcm0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKChkYXRhOiBQYXJhbXMpID0+IHtcbiAgICAgICAgICAgIGlmICghTnVtYmVyKGRhdGFbJ2lkJ10pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaWQgPSBOdW1iZXIoZGF0YVsnaWQnXSk7XG4gICAgICAgICAgICB0aGlzLmdldFJvbGVEZXRhaWxzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Um9sZURldGFpbHMoKSB7XG4gICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlLmdldFBlcm1pc3Npb25zKCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5wZXJtaXNzaW9ucyAmJiByZXNwb25zZS5wZXJtaXNzaW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0gcmVzcG9uc2UucGVybWlzc2lvbnMuZmluZCh4ID0+IHguaWQgPT09IHRoaXMuaWQpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBlcm1pc3Npb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHRoaXMucGVybWlzc2lvbnMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LmVycm9yKCdSZWNvcmQgTm90IEZvdW5kJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAVmFsaWRhdGVGb3JtKCdmb3JtJylcbiAgICBzYXZlUGVybWlzc2lvbkRldGFpbHMoKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmZvcm0udmFsdWVbJ2lkJ10pIHtcbiAgICAgICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlXG4gICAgICAgICAgICAgICAgLnNhdmVQZXJtaXNzaW9uKHRoaXMuZm9ybS52YWx1ZSwgdGhpcy5pZClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdBZG1pbi5QZXJtaXNzaW9ucy5VcGRhdGVkTWVzc2FnZScpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idXR0b25CdXN5ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmFkZFBlcm1pc3Npb24odGhpcy5mb3JtLnZhbHVlKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhY2soKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLlBlcm1pc3Npb25zLkFkZGVkTWVzc2FnZScpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idXR0b25CdXN5ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbkJ1c3kgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy50b2FzdC5lcnJvcihcbiAgICAgICAgICAgICAgICAnU29tZXRoaW5nIHdlbnQgd3JvbmcuIFBsZWFzZSBjb250YWN0IHN1cHBvcnQgaWYgdGhlIHByb2JsZW0gcGVyc2lzdHMuJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EaXNjYXJkKCkge1xuICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBwdy10YWIgb3ZlcmZsb3ctaGlkZGVuXCI+XG5cbiAgPGRpdiBjbGFzcz1cImRhc2hib2FyZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmQtYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1iLTQgbXQtNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZS1hdXRvIGNvbC14cy02XCI+XG4gICAgICAgICAgICA8YSBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgdG8gVGFyZ2V0XCJcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiW3JvdXRlcnMucGVybWlzc2lvbnNMaXN0XVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwicHJldmlvdXNcIj48aSBjbGFzcz1cImZhIGZhLWFycm93LWFsdC1jaXJjbGUtbGVmdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2E+XG4gICAgICAgICAgICA8aDMgKm5nSWY9XCJwZXJtaXNzaW9ucz8ubmFtZTsgZWxzZSBwZXJtaXNzaW9uTGFiZWxcIj5cbiAgICAgICAgICAgICAgUGVybWlzc2lvbjoge3sgcGVybWlzc2lvbnM/Lm5hbWUgfX1cbiAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3Blcm1pc3Npb25MYWJlbD5cbiAgICAgICAgICAgICAgPGgzPlBlcm1pc3Npb248L2gzPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIlxuICAgICAgICAqbmdJZj1cImlzTG9hZGluZ1wiPlxuICAgICAgICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgICAgICpuZ0lmPVwiIWlzTG9hZGluZ1wiXG4gICAgICAgIChuZ1N1Ym1pdCk9XCJzYXZlUGVybWlzc2lvbkRldGFpbHMoKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtOFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm5hbWVcIj57eyAnUGVybWlzc2lvbnMuUGVybWlzc2lvbk5hbWUnIHwgdHJhbnNsb2NvIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1tZC00XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMyB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiYWN0aXZlXCI+e3sgJ1Blcm1pc3Npb25zLklzQWN0aXZlJyB8IHRyYW5zbG9jbyB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICA8dWktc3dpdGNoIGNsYXNzPVwiZC1ibG9ja1wiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYWN0aXZlXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiYWN0aXZlXCI+XG4gICAgICAgICAgICAgIDwvdWktc3dpdGNoPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTUgdGV4dC1lbmRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1kZWZhdWx0IG1lLTJcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25EaXNjYXJkKClcIj5cbiAgICAgICAgICAgICAge3sgJ0J1dHRvbi5DYW5jZWwnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgIFtidXR0b25CdXN5XT1cImJ1dHRvbkJ1c3lcIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICAgICAgICAgICpyYmFjQWxsb3c9XCInUGFnZXMuQWRtaW4uUm9sZXMuQ3JlYXRlJ1wiPlxuICAgICAgICAgICAgICB7eyAnQnV0dG9uLlNhdmUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=