tango-app-ui-manage-settings 3.0.12-dev → 3.0.14-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/esm2022/lib/components/activity-logs/activity-logs.component.mjs +3 -3
  2. package/esm2022/lib/components/brand-details/billing-details/billing-details.component.mjs +10 -9
  3. package/esm2022/lib/components/brand-details/brand-info/brand-info.component.mjs +10 -7
  4. package/esm2022/lib/components/brand-details/signatory-details/signatory-details.component.mjs +10 -9
  5. package/esm2022/lib/components/configurations/audit-configuration/audit-configuration.component.mjs +11 -8
  6. package/esm2022/lib/components/configurations/configurations.component.mjs +17 -13
  7. package/esm2022/lib/components/configurations/domain-details/domain-details.component.mjs +10 -9
  8. package/esm2022/lib/components/configurations/feature-configuration/feature-configuration.component.mjs +10 -9
  9. package/esm2022/lib/components/configurations/report-configuration/report-configuration.component.mjs +10 -7
  10. package/esm2022/lib/components/configurations/ticket-configuration/ticket-configuration.component.mjs +10 -9
  11. package/esm2022/lib/components/configurations/user-configuration/user-configuration.component.mjs +11 -8
  12. package/esm2022/lib/components/contact-directory/contact-directory.component.mjs +17 -10
  13. package/esm2022/lib/components/documents/documents.component.mjs +10 -7
  14. package/esm2022/lib/components/payments-subscription/payments-subscription.component.mjs +764 -166
  15. package/esm2022/lib/components/payments-subscription/subscription-popups/add-stepprice/add-stepprice.component.mjs +8 -4
  16. package/esm2022/lib/components/payments-subscription/subscription-popups/credit-note/credit-note.component.mjs +146 -9
  17. package/esm2022/lib/components/payments-subscription/subscription-popups/multidropdown/multidropdown.component.mjs +125 -72
  18. package/esm2022/lib/components/payments-subscription/subscription-popups/need-help/need-help.component.mjs +75 -39
  19. package/esm2022/lib/components/payments-subscription/subscription-popups/pricing-revised/pricing-revised.component.mjs +28 -22
  20. package/esm2022/lib/components/payments-subscription/subscription-popups/product-confirmation/product-confirmation.component.mjs +119 -18
  21. package/esm2022/lib/components/payments-subscription/subscription-popups/subscription-approval/subscription-approval.component.mjs +75 -25
  22. package/esm2022/lib/components/payments-subscription/subscription-popups/successfull-subscription/successfull-subscription.component.mjs +15 -6
  23. package/esm2022/lib/components/payments-subscription/subscription-popups/trail-settings/trail-settings.component.mjs +8 -9
  24. package/esm2022/lib/components/payments-subscription/subscription-popups/update/update.component.mjs +52 -19
  25. package/esm2022/lib/components/payments-subscription/subscription-popups/upgrade-plan/upgrade-plan.component.mjs +124 -35
  26. package/esm2022/lib/components/tango-manage-settings/tango-manage-settings.component.mjs +8 -6
  27. package/esm2022/lib/guards/activity-log.guard.mjs +33 -0
  28. package/esm2022/lib/guards/brand-detail.guard.mjs +33 -0
  29. package/esm2022/lib/guards/configuration.guard.mjs +33 -0
  30. package/esm2022/lib/guards/contact-directory.guard.mjs +33 -0
  31. package/esm2022/lib/guards/documents.guard.mjs +33 -0
  32. package/esm2022/lib/guards/payment-subscriptions.guard.mjs +33 -0
  33. package/esm2022/lib/services/payment-subscription.service.mjs +141 -4
  34. package/esm2022/lib/tango-manage-settings-routing.module.mjs +24 -7
  35. package/esm2022/lib/tango-manage-settings.module.mjs +6 -2
  36. package/fesm2022/tango-app-ui-manage-settings.mjs +1970 -538
  37. package/fesm2022/tango-app-ui-manage-settings.mjs.map +1 -1
  38. package/lib/components/brand-details/billing-details/billing-details.component.d.ts +4 -3
  39. package/lib/components/brand-details/brand-info/brand-info.component.d.ts +3 -1
  40. package/lib/components/brand-details/signatory-details/signatory-details.component.d.ts +4 -3
  41. package/lib/components/configurations/audit-configuration/audit-configuration.component.d.ts +3 -1
  42. package/lib/components/configurations/configurations.component.d.ts +3 -1
  43. package/lib/components/configurations/domain-details/domain-details.component.d.ts +4 -3
  44. package/lib/components/configurations/feature-configuration/feature-configuration.component.d.ts +4 -3
  45. package/lib/components/configurations/report-configuration/report-configuration.component.d.ts +3 -1
  46. package/lib/components/configurations/ticket-configuration/ticket-configuration.component.d.ts +4 -3
  47. package/lib/components/configurations/user-configuration/user-configuration.component.d.ts +3 -1
  48. package/lib/components/contact-directory/contact-directory.component.d.ts +5 -1
  49. package/lib/components/documents/documents.component.d.ts +3 -1
  50. package/lib/components/payments-subscription/payments-subscription.component.d.ts +85 -20
  51. package/lib/components/payments-subscription/subscription-popups/credit-note/credit-note.component.d.ts +32 -4
  52. package/lib/components/payments-subscription/subscription-popups/multidropdown/multidropdown.component.d.ts +14 -4
  53. package/lib/components/payments-subscription/subscription-popups/need-help/need-help.component.d.ts +23 -4
  54. package/lib/components/payments-subscription/subscription-popups/pricing-revised/pricing-revised.component.d.ts +6 -2
  55. package/lib/components/payments-subscription/subscription-popups/product-confirmation/product-confirmation.component.d.ts +19 -10
  56. package/lib/components/payments-subscription/subscription-popups/subscription-approval/subscription-approval.component.d.ts +14 -8
  57. package/lib/components/payments-subscription/subscription-popups/successfull-subscription/successfull-subscription.component.d.ts +5 -1
  58. package/lib/components/payments-subscription/subscription-popups/update/update.component.d.ts +19 -5
  59. package/lib/components/payments-subscription/subscription-popups/upgrade-plan/upgrade-plan.component.d.ts +28 -7
  60. package/lib/components/tango-manage-settings/tango-manage-settings.component.d.ts +3 -2
  61. package/lib/guards/activity-log.guard.d.ts +2 -0
  62. package/lib/guards/brand-detail.guard.d.ts +2 -0
  63. package/lib/guards/configuration.guard.d.ts +2 -0
  64. package/lib/guards/contact-directory.guard.d.ts +2 -0
  65. package/lib/guards/documents.guard.d.ts +2 -0
  66. package/lib/guards/payment-subscriptions.guard.d.ts +2 -0
  67. package/lib/services/payment-subscription.service.d.ts +34 -3
  68. package/lib/tango-manage-settings.module.d.ts +1 -1
  69. package/package.json +1 -1
@@ -1,10 +1,19 @@
1
- import { Component } from '@angular/core';
2
- import Swal from 'sweetalert2';
1
+ import { Component, Input } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { Subject, takeUntil } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@ng-bootstrap/ng-bootstrap";
5
- import * as i2 from "@angular/common";
6
+ import * as i2 from "../../../../services/payment-subscription.service";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "tango-app-ui-shared";
9
+ import * as i5 from "@angular/common";
6
10
  export class NeedHelpComponent {
7
11
  activeModal;
12
+ PaymentSubscriptionService;
13
+ changeDetector;
14
+ fb;
15
+ toast;
16
+ clientId;
8
17
  showHelp = true;
9
18
  showsubscription = false;
10
19
  showExtendTrail = false;
@@ -13,56 +22,72 @@ export class NeedHelpComponent {
13
22
  trailextenddropDown = false;
14
23
  datalist = [];
15
24
  cancellingtype = ['Product Concern', 'Price Concern', 'Others'];
16
- trailextendtype = ['Tango Zone', 'Tango Revop', 'Tango SOP'];
25
+ // trailextendtype: any = ['Tango Zone', 'Tango Revop', 'Tango SOP'];
26
+ trailextendtype = [];
17
27
  cancellingIssue = 'Product Concern';
18
- trailextendIssue = 'Tango Zone';
28
+ cancellingDescription;
29
+ // trailextendIssue: any = 'Tango Zone';
30
+ trailextendIssue;
31
+ extendtrailform;
32
+ trailextenditem;
19
33
  cancellingItem(cancellingvalue) {
20
34
  this.cancellingIssue = cancellingvalue;
21
35
  this.cancellingdropDown = false;
22
36
  }
23
37
  trailextendItem(trailextendvalue) {
24
38
  this.trailextendIssue = trailextendvalue;
39
+ this.extendtrailform.get('producttype')?.setValue(this.trailextendIssue);
25
40
  this.trailextenddropDown = false;
26
41
  }
27
- constructor(activeModal) {
42
+ destroy$ = new Subject();
43
+ ngOnDestroy() {
44
+ this.destroy$.next(true);
45
+ this.destroy$.complete();
46
+ }
47
+ constructor(activeModal, PaymentSubscriptionService, changeDetector, fb, toast) {
28
48
  this.activeModal = activeModal;
49
+ this.PaymentSubscriptionService = PaymentSubscriptionService;
50
+ this.changeDetector = changeDetector;
51
+ this.fb = fb;
52
+ this.toast = toast;
53
+ }
54
+ ngOnInit() {
55
+ this.trailextend(this.clientId);
56
+ this.extendtrailform = this.fb.group({
57
+ producttype: ['', Validators.required]
58
+ });
29
59
  }
30
60
  unscubscribed() {
31
61
  this.activeModal.close();
32
- Swal.fire({
33
- iconHtml: `<img src="../../../../assets/tango/toast-icons/Envelope-Open-icon.svg">`,
34
- html: `<div class="col-md-12 mt-5"><div class="toasttitile">Unsubscribed</div></div>`,
35
- toast: true,
36
- position: 'bottom',
37
- showConfirmButton: false,
38
- showCloseButton: true,
39
- timer: 6000,
40
- timerProgressBar: true,
41
- customClass: 'custom-toast-container',
42
- didOpen: (toast) => {
43
- toast.addEventListener('mouseenter', Swal.stopTimer);
44
- toast.addEventListener('mouseleave', Swal.resumeTimer);
45
- // this.cd.detectChanges()
62
+ const requestData = {
63
+ clientId: this.clientId,
64
+ reason: this.cancellingIssue,
65
+ description: this.cancellingDescription
66
+ };
67
+ this.PaymentSubscriptionService.unsubscribe(requestData).pipe(takeUntil(this.destroy$)).subscribe((res) => {
68
+ if (res && res.code == 200) {
69
+ this.activeModal.close(requestData);
70
+ this.toast.getErrorToast(res.message);
46
71
  }
72
+ }, (error) => {
73
+ this.toast.getErrorToast(error.error.error);
74
+ console.error('Error submitting update:', error);
47
75
  });
48
76
  }
49
77
  extendtrail() {
78
+ let product = this.trailextenditem.find((item) => item.name == this.trailextendIssue);
50
79
  this.activeModal.close();
51
- Swal.fire({
52
- iconHtml: `<img src="../../../../assets/tango/toast-icons/Envelope-Open-icon.svg">`,
53
- html: `<div class="col-md-12 mt-5"><div class="toasttitile">You have raised a ticket for extending trail request.</div></div>`,
54
- toast: true,
55
- position: 'bottom',
56
- showConfirmButton: false,
57
- showCloseButton: true,
58
- timer: 6000,
59
- timerProgressBar: true,
60
- customClass: 'custom-toast-container',
61
- didOpen: (toast) => {
62
- toast.addEventListener('mouseenter', Swal.stopTimer);
63
- toast.addEventListener('mouseleave', Swal.resumeTimer);
64
- // this.cd.detectChanges()
80
+ const requestData = {
81
+ clientId: this.clientId,
82
+ product: product.value,
83
+ };
84
+ this.PaymentSubscriptionService.trailapproval(requestData).pipe(takeUntil(this.destroy$)).subscribe((res) => {
85
+ if (res && res.code == 200) {
86
+ this.activeModal.close(requestData);
87
+ this.toast.getPrimaryToast("You have raised a ticket for extending trail request.");
65
88
  }
89
+ }, (error) => {
90
+ console.error('Error submitting update:', error);
66
91
  });
67
92
  }
68
93
  cancellingDropdown(event) {
@@ -73,11 +98,22 @@ export class NeedHelpComponent {
73
98
  event.stopPropagation();
74
99
  this.trailextenddropDown = !this.trailextenddropDown;
75
100
  }
76
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NeedHelpComponent, deps: [{ token: i1.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
77
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: NeedHelpComponent, selector: "lib-need-help", ngImport: i0, template: "<div class=\"modal-content\" *ngIf=\"showHelp\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/needhelp-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Need Help !</div>\r\n </div>\r\n <div class=\"modal-body mb-4 \">\r\n <a class=\"bgcontent\" (click)=\"showHelp = showsubscription = unsubscriberequest = false;showExtendTrail = true\">\r\n Need to raise a ticket for extending trail request <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n <a class=\"bgcontent mt-4\" (click)=\"showHelp = showExtendTrail = unsubscriberequest=false;showsubscription = true\">\r\n Need to raise a ticket for subscription cancellation <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n </div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"showsubscription\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Are you sure you want to raise ticket for subscription cancellation?</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"headingtext mb-4\">Reason for cancelling</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"cancellingDropdown($event)\"\r\n aria-label=\"Default select example\">{{cancellingIssue}}</div>\r\n <div *ngIf=\"cancellingdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let cancellingitem of cancellingtype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.cancellingIssue == cancellingitem ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"cancellingItem(cancellingitem)\">{{cancellingitem}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n <textarea placeholder=\"Enter a description...\" class=\" mt-6 custom-textarea\"></textarea>\r\n \r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"showHelp = showExtendTrail = showsubscription = false;unsubscriberequest = true;\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Request Unsubscribing</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"unsubscriberequest\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Unsubscribed</div>\r\n <div class=\"text-sub mt-4 ms-1\">Are you sure you want the unsubscribe?</div>\r\n </div>\r\n<div class=\"modal-body\" >\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"unscubscribed()\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Yes, Confirm</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"showExtendTrail\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/plus-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Extend Trial</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"headingtext mb-4\">The 14 days trial has got expired. You can request for trial extension</label>\r\n <label class=\" headingtext mb-2\">Pick a Product</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"trailextendDropdown($event)\"\r\n aria-label=\"Default select example\">{{trailextendIssue}}</div>\r\n <div *ngIf=\"trailextenddropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let trailextenditem of trailextendtype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.trailextendIssue == trailextenditem ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"trailextendItem(trailextenditem)\">{{trailextenditem}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"extendtrail()\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Extend</span></button>\r\n </div>\r\n</div>\r\n</div>", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.bgcontent{border-radius:8px;background:var(--Gray-50, #F9FAFB);display:flex;padding:11px;align-items:center;gap:16px;align-self:stretch;color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:24px;cursor:pointer}input{color:#101828;border:1px solid #D0D5DD!important;box-shadow:0 1px 2px #1018280d;border-radius:8px;font-size:16px;width:100%;padding:10px 14px;font-family:Inter;font-weight:400;line-height:24px}input:active,input:focus,input:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d;outline:none!important;background:var(--Gray-50, #F9FAFB)}.custom-textarea{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:8px;width:100%;height:100px;resize:vertical}.custom-textarea:active,.custom-textarea:focus,.custom-textarea:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);outline:none!important;box-shadow:0 1px 2px #1018280d}.modal-body{padding:0% 4% 3%!important}.text-sub{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.dropselect{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
101
+ trailextend(id) {
102
+ this.PaymentSubscriptionService.getextendtrail(id).pipe(takeUntil(this.destroy$)).subscribe((res) => {
103
+ if (res && res.code == 200) {
104
+ this.trailextenditem = res?.data;
105
+ this.trailextendIssue = this.trailextenditem[0].name;
106
+ this.changeDetector.detectChanges();
107
+ }
108
+ });
109
+ }
110
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NeedHelpComponent, deps: [{ token: i1.NgbActiveModal }, { token: i2.PaymentSubscriptionService }, { token: i0.ChangeDetectorRef }, { token: i3.FormBuilder }, { token: i4.ToastService }], target: i0.ɵɵFactoryTarget.Component });
111
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: NeedHelpComponent, selector: "lib-need-help", inputs: { clientId: "clientId" }, ngImport: i0, template: "<div class=\"modal-content\" *ngIf=\"showHelp\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/needhelp-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Need Help !</div>\r\n </div>\r\n <div class=\"modal-body mb-4 \">\r\n <a class=\"bgcontent\" (click)=\"showHelp = showsubscription = unsubscriberequest = false;showExtendTrail = true\">\r\n Need to raise a ticket for extending trail request <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n <a class=\"bgcontent mt-4\" (click)=\"showHelp = showExtendTrail = unsubscriberequest=false;showsubscription = true\">\r\n Need to raise a ticket for subscription cancellation <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n </div>\r\n</div>\r\n\r\n<div [formGroup]=\"extendtrailform\" class=\"modal-content\" *ngIf=\"showExtendTrail\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/plus-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Extend Trial</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"headingtext mb-4\">The 14 days trial has got expired. You can request for trial extension</label>\r\n <label for=\"producttype\" class=\"headingtext mb-2\">Pick a Product</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"producttype\" (click)=\"trailextendDropdown($event)\"\r\n aria-label=\"Default select example\">{{trailextendIssue}}</div>\r\n <div *ngIf=\"trailextenddropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let item of trailextenditem\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.trailextendIssue.name == item.name ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"trailextendItem(item.name)\">{{item.name}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"extendtrail()\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Extend</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"showsubscription\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Are you sure you want to raise ticket for subscription cancellation?</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"headingtext mb-4\">Reason for cancelling</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"cancellingDropdown($event)\"\r\n aria-label=\"Default select example\">{{cancellingIssue}}</div>\r\n <div *ngIf=\"cancellingdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let cancellingitem of cancellingtype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.cancellingIssue == cancellingitem ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"cancellingItem(cancellingitem)\">{{cancellingitem}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n <textarea [(ngModel)]=\"this.cancellingDescription\" placeholder=\"Enter a description...\" class=\" mt-6 custom-textarea\"></textarea>\r\n \r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"showHelp = showExtendTrail = showsubscription = false;unsubscriberequest = true;\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Request Unsubscribing</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"unsubscriberequest\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Unsubscribed</div>\r\n <div class=\"text-sub mt-4 ms-1\">Are you sure you want the unsubscribe?</div>\r\n </div>\r\n<div class=\"modal-body\" >\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"unscubscribed()\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Yes, Confirm</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.bgcontent{border-radius:8px;background:var(--Gray-50, #F9FAFB);display:flex;padding:11px;align-items:center;gap:16px;align-self:stretch;color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:24px;cursor:pointer}input{color:#101828;border:1px solid #D0D5DD!important;box-shadow:0 1px 2px #1018280d;border-radius:8px;font-size:16px;width:100%;padding:10px 14px;font-family:Inter;font-weight:400;line-height:24px}input:active,input:focus,input:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d;outline:none!important;background:var(--Gray-50, #F9FAFB)}.custom-textarea{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:8px;width:100%;height:100px;resize:vertical}.custom-textarea:active,.custom-textarea:focus,.custom-textarea:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);outline:none!important;box-shadow:0 1px 2px #1018280d}.modal-body{padding:0% 4% 3%!important}.text-sub{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.dropselect{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
78
112
  }
79
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NeedHelpComponent, decorators: [{
80
114
  type: Component,
81
- args: [{ selector: 'lib-need-help', template: "<div class=\"modal-content\" *ngIf=\"showHelp\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/needhelp-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Need Help !</div>\r\n </div>\r\n <div class=\"modal-body mb-4 \">\r\n <a class=\"bgcontent\" (click)=\"showHelp = showsubscription = unsubscriberequest = false;showExtendTrail = true\">\r\n Need to raise a ticket for extending trail request <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n <a class=\"bgcontent mt-4\" (click)=\"showHelp = showExtendTrail = unsubscriberequest=false;showsubscription = true\">\r\n Need to raise a ticket for subscription cancellation <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n </div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"showsubscription\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Are you sure you want to raise ticket for subscription cancellation?</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"headingtext mb-4\">Reason for cancelling</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"cancellingDropdown($event)\"\r\n aria-label=\"Default select example\">{{cancellingIssue}}</div>\r\n <div *ngIf=\"cancellingdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let cancellingitem of cancellingtype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.cancellingIssue == cancellingitem ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"cancellingItem(cancellingitem)\">{{cancellingitem}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n <textarea placeholder=\"Enter a description...\" class=\" mt-6 custom-textarea\"></textarea>\r\n \r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"showHelp = showExtendTrail = showsubscription = false;unsubscriberequest = true;\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Request Unsubscribing</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"unsubscriberequest\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Unsubscribed</div>\r\n <div class=\"text-sub mt-4 ms-1\">Are you sure you want the unsubscribe?</div>\r\n </div>\r\n<div class=\"modal-body\" >\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"unscubscribed()\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Yes, Confirm</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"showExtendTrail\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/plus-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Extend Trial</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"headingtext mb-4\">The 14 days trial has got expired. You can request for trial extension</label>\r\n <label class=\" headingtext mb-2\">Pick a Product</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"trailextendDropdown($event)\"\r\n aria-label=\"Default select example\">{{trailextendIssue}}</div>\r\n <div *ngIf=\"trailextenddropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let trailextenditem of trailextendtype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.trailextendIssue == trailextenditem ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"trailextendItem(trailextenditem)\">{{trailextenditem}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"extendtrail()\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Extend</span></button>\r\n </div>\r\n</div>\r\n</div>", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.bgcontent{border-radius:8px;background:var(--Gray-50, #F9FAFB);display:flex;padding:11px;align-items:center;gap:16px;align-self:stretch;color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:24px;cursor:pointer}input{color:#101828;border:1px solid #D0D5DD!important;box-shadow:0 1px 2px #1018280d;border-radius:8px;font-size:16px;width:100%;padding:10px 14px;font-family:Inter;font-weight:400;line-height:24px}input:active,input:focus,input:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d;outline:none!important;background:var(--Gray-50, #F9FAFB)}.custom-textarea{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:8px;width:100%;height:100px;resize:vertical}.custom-textarea:active,.custom-textarea:focus,.custom-textarea:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);outline:none!important;box-shadow:0 1px 2px #1018280d}.modal-body{padding:0% 4% 3%!important}.text-sub{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.dropselect{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}\n"] }]
82
- }], ctorParameters: () => [{ type: i1.NgbActiveModal }] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVlZC1oZWxwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvcGF5bWVudHMtc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wb3B1cHMvbmVlZC1oZWxwL25lZWQtaGVscC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL3BheW1lbnRzLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcG9wdXBzL25lZWQtaGVscC9uZWVkLWhlbHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7Ozs7QUFPL0IsTUFBTSxPQUFPLGlCQUFpQjtJQXVCbkI7SUF0QlQsUUFBUSxHQUFXLElBQUksQ0FBQztJQUN4QixnQkFBZ0IsR0FBVyxLQUFLLENBQUM7SUFDakMsZUFBZSxHQUFXLEtBQUssQ0FBQztJQUNoQyxrQkFBa0IsR0FBVyxLQUFLLENBQUM7SUFDbkMsa0JBQWtCLEdBQVcsS0FBSyxDQUFDO0lBQ25DLG1CQUFtQixHQUFXLEtBQUssQ0FBQztJQUNwQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2QsY0FBYyxHQUFTLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBRSxDQUFDO0lBQ3ZFLGVBQWUsR0FBUSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEUsZUFBZSxHQUFRLGlCQUFpQixDQUFDO0lBQ3pDLGdCQUFnQixHQUFRLFlBQVksQ0FBQztJQUVyQyxjQUFjLENBQUUsZUFBbUI7UUFDakMsSUFBSSxDQUFFLGVBQWUsR0FBSSxlQUFlLENBQUM7UUFDekMsSUFBSSxDQUFFLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBQ0QsZUFBZSxDQUFFLGdCQUFvQjtRQUNuQyxJQUFJLENBQUUsZ0JBQWdCLEdBQUksZ0JBQWdCLENBQUM7UUFDM0MsSUFBSSxDQUFFLG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFDUyxXQUEyQjtRQUEzQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7SUFDaEMsQ0FBQztJQUVMLGFBQWE7UUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDVixRQUFRLEVBQUUsMEVBQTBFO1lBQ3BGLElBQUksRUFBRSwrRUFBK0U7WUFDckYsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsUUFBUTtZQUNsQixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLEtBQUssRUFBRSxJQUFJO1lBQ1gsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixXQUFXLEVBQUMsd0JBQXdCO1lBQ3BDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNqQixLQUFLLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDcEQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7Z0JBQ3RELDBCQUEwQjtZQUM1QixDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQUEsQ0FBQztJQUVILFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDVixRQUFRLEVBQUUsMEVBQTBFO1lBQ3BGLElBQUksRUFBRSx3SEFBd0g7WUFDOUgsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsUUFBUTtZQUNsQixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLEtBQUssRUFBRSxJQUFJO1lBQ1gsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixXQUFXLEVBQUMsd0JBQXdCO1lBQ3BDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNqQixLQUFLLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDcEQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7Z0JBQ3RELDBCQUEwQjtZQUM1QixDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQUEsQ0FBQztJQUNILGtCQUFrQixDQUFDLEtBQWdCO1FBQ2pDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUUsa0JBQWtCLEdBQUcsQ0FBQyxJQUFJLENBQUUsa0JBQWtCLENBQUM7SUFDdkQsQ0FBQztJQUNELG1CQUFtQixDQUFDLEtBQWdCO1FBQ2xDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUUsbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLENBQUUsbUJBQW1CLENBQUM7SUFDekQsQ0FBQzt1R0F0RVUsaUJBQWlCOzJGQUFqQixpQkFBaUIscURDVDlCLCt1TUF3R007OzJGRC9GTyxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbmVlZC1oZWxwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmVlZC1oZWxwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbmVlZC1oZWxwLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmVlZEhlbHBDb21wb25lbnQge1xyXG4gIHNob3dIZWxwOmJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dzdWJzY3JpcHRpb246Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dFeHRlbmRUcmFpbDpib29sZWFuID0gZmFsc2U7XHJcbiAgdW5zdWJzY3JpYmVyZXF1ZXN0OmJvb2xlYW4gPSBmYWxzZTtcclxuICBjYW5jZWxsaW5nZHJvcERvd246Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIHRyYWlsZXh0ZW5kZHJvcERvd246Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIGRhdGFsaXN0ID0gW107XHJcbiAgY2FuY2VsbGluZ3R5cGU6YW55W10gPSBbJ1Byb2R1Y3QgQ29uY2VybicsICdQcmljZSBDb25jZXJuJywgJ090aGVycycgXTtcclxuICB0cmFpbGV4dGVuZHR5cGU6IGFueSA9IFsnVGFuZ28gWm9uZScsICdUYW5nbyBSZXZvcCcsICdUYW5nbyBTT1AnXTtcclxuICBjYW5jZWxsaW5nSXNzdWU6IGFueSA9ICdQcm9kdWN0IENvbmNlcm4nO1xyXG4gIHRyYWlsZXh0ZW5kSXNzdWU6IGFueSA9ICdUYW5nbyBab25lJztcclxuXHJcbiAgY2FuY2VsbGluZ0l0ZW0oIGNhbmNlbGxpbmd2YWx1ZTphbnkpe1xyXG4gICAgdGhpcy4gY2FuY2VsbGluZ0lzc3VlID0gIGNhbmNlbGxpbmd2YWx1ZTtcclxuICAgIHRoaXMuIGNhbmNlbGxpbmdkcm9wRG93biA9IGZhbHNlO1xyXG4gIH1cclxuICB0cmFpbGV4dGVuZEl0ZW0oIHRyYWlsZXh0ZW5kdmFsdWU6YW55KXtcclxuICAgIHRoaXMuIHRyYWlsZXh0ZW5kSXNzdWUgPSAgdHJhaWxleHRlbmR2YWx1ZTtcclxuICAgIHRoaXMuIHRyYWlsZXh0ZW5kZHJvcERvd24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGFjdGl2ZU1vZGFsOiBOZ2JBY3RpdmVNb2RhbFxyXG4gICkgeyB9XHJcbiAgXHJcbiAgdW5zY3Vic2NyaWJlZCgpIHsgXHJcbiAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKCk7XHJcbiAgICBTd2FsLmZpcmUoe1xyXG4gICAgaWNvbkh0bWw6IGA8aW1nICBzcmM9XCIuLi8uLi8uLi8uLi9hc3NldHMvdGFuZ28vdG9hc3QtaWNvbnMvRW52ZWxvcGUtT3Blbi1pY29uLnN2Z1wiPmAsXHJcbiAgICBodG1sOiBgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBtdC01XCI+PGRpdiBjbGFzcz1cInRvYXN0dGl0aWxlXCI+VW5zdWJzY3JpYmVkPC9kaXY+PC9kaXY+YCxcclxuICAgIHRvYXN0OiB0cnVlLFxyXG4gICAgcG9zaXRpb246ICdib3R0b20nLFxyXG4gICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxyXG4gICAgc2hvd0Nsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgdGltZXI6IDYwMDAsXHJcbiAgICB0aW1lclByb2dyZXNzQmFyOiB0cnVlLFxyXG4gICAgY3VzdG9tQ2xhc3M6J2N1c3RvbS10b2FzdC1jb250YWluZXInLFxyXG4gICAgZGlkT3BlbjogKHRvYXN0KSA9PiB7XHJcbiAgICAgIHRvYXN0LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBTd2FsLnN0b3BUaW1lcilcclxuICAgICAgdG9hc3QuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIFN3YWwucmVzdW1lVGltZXIpXHJcbiAgICAgIC8vIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICB9XHJcbiAgfSl9XHJcblxyXG4gIGV4dGVuZHRyYWlsKCkgeyBcclxuICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoKTtcclxuICAgIFN3YWwuZmlyZSh7XHJcbiAgICBpY29uSHRtbDogYDxpbWcgIHNyYz1cIi4uLy4uLy4uLy4uL2Fzc2V0cy90YW5nby90b2FzdC1pY29ucy9FbnZlbG9wZS1PcGVuLWljb24uc3ZnXCI+YCxcclxuICAgIGh0bWw6IGA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG10LTVcIj48ZGl2IGNsYXNzPVwidG9hc3R0aXRpbGVcIj5Zb3UgaGF2ZSByYWlzZWQgYSB0aWNrZXQgZm9yIGV4dGVuZGluZyB0cmFpbCByZXF1ZXN0LjwvZGl2PjwvZGl2PmAsXHJcbiAgICB0b2FzdDogdHJ1ZSxcclxuICAgIHBvc2l0aW9uOiAnYm90dG9tJyxcclxuICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcclxuICAgIHNob3dDbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgIHRpbWVyOiA2MDAwLFxyXG4gICAgdGltZXJQcm9ncmVzc0JhcjogdHJ1ZSxcclxuICAgIGN1c3RvbUNsYXNzOidjdXN0b20tdG9hc3QtY29udGFpbmVyJyxcclxuICAgIGRpZE9wZW46ICh0b2FzdCkgPT4ge1xyXG4gICAgICB0b2FzdC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgU3dhbC5zdG9wVGltZXIpXHJcbiAgICAgIHRvYXN0LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBTd2FsLnJlc3VtZVRpbWVyKVxyXG4gICAgICAvLyB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gICAgfVxyXG4gIH0pfVxyXG4gIGNhbmNlbGxpbmdEcm9wZG93bihldmVudDpNb3VzZUV2ZW50KXtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy4gY2FuY2VsbGluZ2Ryb3BEb3duID0gIXRoaXMuIGNhbmNlbGxpbmdkcm9wRG93bjtcclxuICB9XHJcbiAgdHJhaWxleHRlbmREcm9wZG93bihldmVudDpNb3VzZUV2ZW50KXtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy4gdHJhaWxleHRlbmRkcm9wRG93biA9ICF0aGlzLiB0cmFpbGV4dGVuZGRyb3BEb3duO1xyXG4gIH1cclxufVxyXG5cclxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiAqbmdJZj1cInNob3dIZWxwXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC02XCI+XHJcbiAgICAgICAgPGRpdj48aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL25lZWRoZWxwLWljb24uc3ZnXCIgYWx0PVwiXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmcgbXQtNCBtcy0xXCI+TmVlZCBIZWxwICE8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgbWItNCBcIj5cclxuICAgICAgICA8YSBjbGFzcz1cImJnY29udGVudFwiIChjbGljayk9XCJzaG93SGVscCA9IHNob3dzdWJzY3JpcHRpb24gPSB1bnN1YnNjcmliZXJlcXVlc3QgPSBmYWxzZTtzaG93RXh0ZW5kVHJhaWwgPSB0cnVlXCI+XHJcbiAgICAgICAgICAgIE5lZWQgdG8gcmFpc2UgYSB0aWNrZXQgZm9yIGV4dGVuZGluZyB0cmFpbCByZXF1ZXN0IDxzcGFuIGNsYXNzPVwibXMtNFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk05IDE4TDE1IDEyTDkgNlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDxhIGNsYXNzPVwiYmdjb250ZW50IG10LTRcIiAoY2xpY2spPVwic2hvd0hlbHAgPSBzaG93RXh0ZW5kVHJhaWwgPSB1bnN1YnNjcmliZXJlcXVlc3Q9ZmFsc2U7c2hvd3N1YnNjcmlwdGlvbiA9IHRydWVcIj5cclxuICAgICAgICAgICAgTmVlZCB0byByYWlzZSBhIHRpY2tldCBmb3Igc3Vic2NyaXB0aW9uIGNhbmNlbGxhdGlvbiA8c3BhbiBjbGFzcz1cIm1zLTRcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOSAxOEwxNSAxMkw5IDZcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCIgKm5nSWY9XCJzaG93c3Vic2NyaXB0aW9uXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC02XCI+XHJcbiAgICAgICAgPGRpdj48aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL2FsZXJ0LWljb24uc3ZnXCIgYWx0PVwiXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmcgbXQtNCBtcy0xXCI+QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJhaXNlIHRpY2tldCBmb3Igc3Vic2NyaXB0aW9uIGNhbmNlbGxhdGlvbj88L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZ2LXJvdyBmdi1wbHVnaW5zLWljb24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJoZWFkaW5ndGV4dCBtYi00XCI+UmVhc29uIGZvciBjYW5jZWxsaW5nPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1zZWxlY3QgZHJvcHNlbGVjdCBsZXZlbHZpZXd0ZXh0XCIgaWQ9XCJjdXJyZW5jeVwiIChjbGljayk9XCJjYW5jZWxsaW5nRHJvcGRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkRlZmF1bHQgc2VsZWN0IGV4YW1wbGVcIj57e2NhbmNlbGxpbmdJc3N1ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNhbmNlbGxpbmdkcm9wRG93blwiIGNsYXNzPVwiY2FyZCBweS0yIHctMTAwIHBvc2l0aW9uLWFic29sdXRlIGVuZC0wIHotMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBjYW5jZWxsaW5naXRlbSBvZiBjYW5jZWxsaW5ndHlwZVwiIGNsYXNzPVwibGlzdC11bnN0eWxlZCBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwidGhpcy5jYW5jZWxsaW5nSXNzdWUgPT0gY2FuY2VsbGluZ2l0ZW0gPyAnYWN0aXZlJyA6ICcnXCIgY2xhc3M9XCJwcm9kdWN0dGV4dCBweC01IGl0ZW1zIGN1cnNvci1wb2ludGVyIHB5LTRcIiAoY2xpY2spPVwiY2FuY2VsbGluZ0l0ZW0oY2FuY2VsbGluZ2l0ZW0pXCI+e3tjYW5jZWxsaW5naXRlbX19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDx0ZXh0YXJlYSBwbGFjZWhvbGRlcj1cIkVudGVyIGEgZGVzY3JpcHRpb24uLi5cIiBjbGFzcz1cIiBtdC02IGN1c3RvbS10ZXh0YXJlYVwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXQtMiBweS0yXCI+XHJcbiAgICAgICAgPGJ1dHRvbiAgdHlwZT1cInN1Ym1pdFwiICAoY2xpY2spPVwiYWN0aXZlTW9kYWwuZGlzbWlzcygpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1vdXRsaW5lIGJ0biBjYW5jZWwgbWUtNCB3LTUwXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNob3dIZWxwID0gc2hvd0V4dGVuZFRyYWlsID0gc2hvd3N1YnNjcmlwdGlvbiA9IGZhbHNlO3Vuc3Vic2NyaWJlcmVxdWVzdCA9IHRydWU7XCJcclxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIHB4LTQgbmctc3Rhci1pbnNlcnRlZCB3LTUwXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1Ym1pdFwiPlJlcXVlc3QgVW5zdWJzY3JpYmluZzwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiAqbmdJZj1cInVuc3Vic2NyaWJlcmVxdWVzdFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtNlwiPlxyXG4gICAgICAgIDxkaXY+PGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9jdXN0b21wb3B1cC1JY29ucy9hbGVydC1pY29uLnN2Z1wiIGFsdD1cIlwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG10LTQgbXMtMVwiPlVuc3Vic2NyaWJlZDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN1YiBtdC00IG1zLTFcIj5BcmUgeW91IHN1cmUgeW91IHdhbnQgdGhlIHVuc3Vic2NyaWJlPzwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCIgPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBtdC0yIHB5LTJcIj5cclxuICAgICAgICA8YnV0dG9uICB0eXBlPVwic3VibWl0XCIgIChjbGljayk9XCJhY3RpdmVNb2RhbC5kaXNtaXNzKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLW91dGxpbmUgYnRuIGNhbmNlbCBtZS00IHctNTBcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwidW5zY3Vic2NyaWJlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIHB4LTQgbmctc3Rhci1pbnNlcnRlZCB3LTUwXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1Ym1pdFwiPlllcywgQ29uZmlybTwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiAqbmdJZj1cInNob3dFeHRlbmRUcmFpbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtNlwiPlxyXG4gICAgICAgIDxkaXY+PGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9jdXN0b21wb3B1cC1JY29ucy9wbHVzLWljb24uc3ZnXCIgYWx0PVwiXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmcgbXQtNCBtcy0xXCI+RXh0ZW5kIFRyaWFsPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmdi1yb3cgZnYtcGx1Z2lucy1pY29uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaGVhZGluZ3RleHQgbWItNFwiPlRoZSAxNCBkYXlzIHRyaWFsIGhhcyBnb3QgZXhwaXJlZC4gWW91IGNhbiByZXF1ZXN0IGZvciB0cmlhbCBleHRlbnNpb248L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiIGhlYWRpbmd0ZXh0IG1iLTJcIj5QaWNrIGEgUHJvZHVjdDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmUgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tc2VsZWN0IGRyb3BzZWxlY3QgbGV2ZWx2aWV3dGV4dFwiIGlkPVwiY3VycmVuY3lcIiAoY2xpY2spPVwidHJhaWxleHRlbmREcm9wZG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRGVmYXVsdCBzZWxlY3QgZXhhbXBsZVwiPnt7dHJhaWxleHRlbmRJc3N1ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRyYWlsZXh0ZW5kZHJvcERvd25cIiBjbGFzcz1cImNhcmQgcHktMiB3LTEwMCBwb3NpdGlvbi1hYnNvbHV0ZSBlbmQtMCB6LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCAqbmdGb3I9XCJsZXQgdHJhaWxleHRlbmRpdGVtIG9mIHRyYWlsZXh0ZW5kdHlwZVwiIGNsYXNzPVwibGlzdC11bnN0eWxlZCBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwidGhpcy50cmFpbGV4dGVuZElzc3VlID09IHRyYWlsZXh0ZW5kaXRlbSA/ICdhY3RpdmUnIDogJydcIiBjbGFzcz1cInByb2R1Y3R0ZXh0IHB4LTUgaXRlbXMgY3Vyc29yLXBvaW50ZXIgcHktNFwiIChjbGljayk9XCJ0cmFpbGV4dGVuZEl0ZW0odHJhaWxleHRlbmRpdGVtKVwiPnt7dHJhaWxleHRlbmRpdGVtfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBtdC0yIHB5LTJcIj5cclxuICAgICAgICA8YnV0dG9uICB0eXBlPVwic3VibWl0XCIgIChjbGljayk9XCJhY3RpdmVNb2RhbC5kaXNtaXNzKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLW91dGxpbmUgYnRuIGNhbmNlbCBtZS00IHctNTBcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiZXh0ZW5kdHJhaWwoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBuZy1zdGFyLWluc2VydGVkIHctNTBcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7XCI+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VibWl0XCI+RXh0ZW5kPC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPC9kaXY+Il19
115
+ args: [{ selector: 'lib-need-help', template: "<div class=\"modal-content\" *ngIf=\"showHelp\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/needhelp-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Need Help !</div>\r\n </div>\r\n <div class=\"modal-body mb-4 \">\r\n <a class=\"bgcontent\" (click)=\"showHelp = showsubscription = unsubscriberequest = false;showExtendTrail = true\">\r\n Need to raise a ticket for extending trail request <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n <a class=\"bgcontent mt-4\" (click)=\"showHelp = showExtendTrail = unsubscriberequest=false;showsubscription = true\">\r\n Need to raise a ticket for subscription cancellation <span class=\"ms-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path d=\"M9 18L15 12L9 6\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </a>\r\n </div>\r\n</div>\r\n\r\n<div [formGroup]=\"extendtrailform\" class=\"modal-content\" *ngIf=\"showExtendTrail\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/plus-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Extend Trial</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"headingtext mb-4\">The 14 days trial has got expired. You can request for trial extension</label>\r\n <label for=\"producttype\" class=\"headingtext mb-2\">Pick a Product</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"producttype\" (click)=\"trailextendDropdown($event)\"\r\n aria-label=\"Default select example\">{{trailextendIssue}}</div>\r\n <div *ngIf=\"trailextenddropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let item of trailextenditem\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.trailextendIssue.name == item.name ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"trailextendItem(item.name)\">{{item.name}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"extendtrail()\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Extend</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"showsubscription\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Are you sure you want to raise ticket for subscription cancellation?</div>\r\n </div>\r\n<div class=\"modal-body\">\r\n\r\n <div class=\"\">\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div>\r\n <label class=\"headingtext mb-4\">Reason for cancelling</label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"cancellingDropdown($event)\"\r\n aria-label=\"Default select example\">{{cancellingIssue}}</div>\r\n <div *ngIf=\"cancellingdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let cancellingitem of cancellingtype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"this.cancellingIssue == cancellingitem ? 'active' : ''\" class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"cancellingItem(cancellingitem)\">{{cancellingitem}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n <textarea [(ngModel)]=\"this.cancellingDescription\" placeholder=\"Enter a description...\" class=\" mt-6 custom-textarea\"></textarea>\r\n \r\n </div>\r\n </div>\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"showHelp = showExtendTrail = showsubscription = false;unsubscriberequest = true;\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Request Unsubscribing</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n<div class=\"modal-content\" *ngIf=\"unsubscriberequest\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/alert-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Unsubscribed</div>\r\n <div class=\"text-sub mt-4 ms-1\">Are you sure you want the unsubscribe?</div>\r\n </div>\r\n<div class=\"modal-body\" >\r\n <div class=\"d-flex mt-2 py-2\">\r\n <button type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" (click)=\"unscubscribed()\"\r\n tabindex=\"0\" class=\"btn btn-danger px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Yes, Confirm</span></button>\r\n </div>\r\n</div>\r\n</div>\r\n\r\n", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.bgcontent{border-radius:8px;background:var(--Gray-50, #F9FAFB);display:flex;padding:11px;align-items:center;gap:16px;align-self:stretch;color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:24px;cursor:pointer}input{color:#101828;border:1px solid #D0D5DD!important;box-shadow:0 1px 2px #1018280d;border-radius:8px;font-size:16px;width:100%;padding:10px 14px;font-family:Inter;font-weight:400;line-height:24px}input:active,input:focus,input:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d;outline:none!important;background:var(--Gray-50, #F9FAFB)}.custom-textarea{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:8px;width:100%;height:100px;resize:vertical}.custom-textarea:active,.custom-textarea:focus,.custom-textarea:focus-visible{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);outline:none!important;box-shadow:0 1px 2px #1018280d}.modal-body{padding:0% 4% 3%!important}.text-sub{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.dropselect{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}\n"] }]
116
+ }], ctorParameters: () => [{ type: i1.NgbActiveModal }, { type: i2.PaymentSubscriptionService }, { type: i0.ChangeDetectorRef }, { type: i3.FormBuilder }, { type: i4.ToastService }], propDecorators: { clientId: [{
117
+ type: Input
118
+ }] } });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVlZC1oZWxwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvcGF5bWVudHMtc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wb3B1cHMvbmVlZC1oZWxwL25lZWQtaGVscC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL3BheW1lbnRzLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcG9wdXBzL25lZWQtaGVscC9uZWVkLWhlbHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQW9CLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBTTFDLE1BQU0sT0FBTyxpQkFBaUI7SUFtQ25CO0lBQXFDO0lBQWdFO0lBQTBDO0lBQXdCO0lBbEN2SyxRQUFRLENBQVE7SUFDekIsUUFBUSxHQUFXLElBQUksQ0FBQztJQUN4QixnQkFBZ0IsR0FBVyxLQUFLLENBQUM7SUFDakMsZUFBZSxHQUFXLEtBQUssQ0FBQztJQUNoQyxrQkFBa0IsR0FBVyxLQUFLLENBQUM7SUFDbkMsa0JBQWtCLEdBQVcsS0FBSyxDQUFDO0lBQ25DLG1CQUFtQixHQUFXLEtBQUssQ0FBQztJQUNwQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2QsY0FBYyxHQUFTLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBRSxDQUFDO0lBQ3ZFLHFFQUFxRTtJQUNyRSxlQUFlLEdBQXNDLEVBQUUsQ0FBQztJQUN4RCxlQUFlLEdBQVEsaUJBQWlCLENBQUM7SUFDekMscUJBQXFCLENBQUs7SUFDMUIsd0NBQXdDO0lBQ3hDLGdCQUFnQixDQUFNO0lBQ3RCLGVBQWUsQ0FBWTtJQUMzQixlQUFlLENBQUs7SUFDcEIsY0FBYyxDQUFFLGVBQW1CO1FBQ2pDLElBQUksQ0FBRSxlQUFlLEdBQUksZUFBZSxDQUFDO1FBQ3pDLElBQUksQ0FBRSxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUNELGVBQWUsQ0FBRSxnQkFBb0I7UUFDbkMsSUFBSSxDQUFFLGdCQUFnQixHQUFJLGdCQUFnQixDQUFDO1FBQzNDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUN4RSxJQUFJLENBQUUsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFDZ0IsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFMUMsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQ1MsV0FBMkIsRUFBVSwwQkFBc0QsRUFBVSxjQUFpQyxFQUFTLEVBQWUsRUFBUyxLQUFrQjtRQUF6TCxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBVSwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFTLFVBQUssR0FBTCxLQUFLLENBQWE7SUFHbE0sQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ25DLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixNQUFNLFdBQVcsR0FBRztZQUNsQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQzVCLFdBQVcsRUFBRSxJQUFJLENBQUMscUJBQXFCO1NBRXhDLENBQUM7UUFDRixJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDOUcsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQzFCO2dCQUNFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7YUFDdEM7UUFBQSxDQUFDLEVBQ0YsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDM0MsT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQTtJQUNSLENBQUM7SUFFQyxXQUFXO1FBQ1QsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFRLEVBQUMsRUFBRSxDQUFBLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixNQUFNLFdBQVcsR0FBRztZQUNsQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1NBQ3ZCLENBQUM7UUFDRixJQUFJLENBQUMsMEJBQTBCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDaEgsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQzFCO2dCQUNFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyx1REFBdUQsQ0FBQyxDQUFBO2FBQ3BGO1FBQUEsQ0FBQyxFQUNGLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDUixPQUFPLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFBO0lBRVIsQ0FBQztJQUVDLGtCQUFrQixDQUFDLEtBQWdCO1FBQ2pDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUUsa0JBQWtCLEdBQUcsQ0FBQyxJQUFJLENBQUUsa0JBQWtCLENBQUM7SUFDdkQsQ0FBQztJQUNELG1CQUFtQixDQUFDLEtBQWdCO1FBQ2xDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUUsbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLENBQUUsbUJBQW1CLENBQUM7SUFDekQsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFNO1FBQ2xCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNyRyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFBO2dCQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDckM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUdILENBQUM7dUdBeEdVLGlCQUFpQjsyRkFBakIsaUJBQWlCLHVGQ1o5QixpME1BMEdBOzsyRkQ5RmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWU7aU5BS2hCLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCxJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xyXG5pbXBvcnQgeyBQYXltZW50U3Vic2NyaXB0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3BheW1lbnQtc3Vic2NyaXB0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLW5lZWQtaGVscCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25lZWQtaGVscC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL25lZWQtaGVscC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIE5lZWRIZWxwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgY2xpZW50SWQ6c3RyaW5nO1xyXG4gIHNob3dIZWxwOmJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dzdWJzY3JpcHRpb246Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dFeHRlbmRUcmFpbDpib29sZWFuID0gZmFsc2U7XHJcbiAgdW5zdWJzY3JpYmVyZXF1ZXN0OmJvb2xlYW4gPSBmYWxzZTtcclxuICBjYW5jZWxsaW5nZHJvcERvd246Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIHRyYWlsZXh0ZW5kZHJvcERvd246Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIGRhdGFsaXN0ID0gW107XHJcbiAgY2FuY2VsbGluZ3R5cGU6YW55W10gPSBbJ1Byb2R1Y3QgQ29uY2VybicsICdQcmljZSBDb25jZXJuJywgJ090aGVycycgXTtcclxuICAvLyB0cmFpbGV4dGVuZHR5cGU6IGFueSA9IFsnVGFuZ28gWm9uZScsICdUYW5nbyBSZXZvcCcsICdUYW5nbyBTT1AnXTtcclxuICB0cmFpbGV4dGVuZHR5cGU6IHsgbmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXSA9IFtdO1xyXG4gIGNhbmNlbGxpbmdJc3N1ZTogYW55ID0gJ1Byb2R1Y3QgQ29uY2Vybic7XHJcbiAgY2FuY2VsbGluZ0Rlc2NyaXB0aW9uOmFueTtcclxuICAvLyB0cmFpbGV4dGVuZElzc3VlOiBhbnkgPSAnVGFuZ28gWm9uZSc7XHJcbiAgdHJhaWxleHRlbmRJc3N1ZTogYW55O1xyXG4gIGV4dGVuZHRyYWlsZm9ybTogRm9ybUdyb3VwO1xyXG4gIHRyYWlsZXh0ZW5kaXRlbTphbnk7XHJcbiAgY2FuY2VsbGluZ0l0ZW0oIGNhbmNlbGxpbmd2YWx1ZTphbnkpe1xyXG4gICAgdGhpcy4gY2FuY2VsbGluZ0lzc3VlID0gIGNhbmNlbGxpbmd2YWx1ZTtcclxuICAgIHRoaXMuIGNhbmNlbGxpbmdkcm9wRG93biA9IGZhbHNlO1xyXG4gIH1cclxuICB0cmFpbGV4dGVuZEl0ZW0oIHRyYWlsZXh0ZW5kdmFsdWU6YW55KXtcclxuICAgIHRoaXMuIHRyYWlsZXh0ZW5kSXNzdWUgPSAgdHJhaWxleHRlbmR2YWx1ZTtcclxuICAgIHRoaXMuZXh0ZW5kdHJhaWxmb3JtLmdldCgncHJvZHVjdHR5cGUnKT8uc2V0VmFsdWUodGhpcy50cmFpbGV4dGVuZElzc3VlKVxyXG4gICAgdGhpcy4gdHJhaWxleHRlbmRkcm9wRG93biA9IGZhbHNlO1xyXG4gIH1cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuIFxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsLCBwcml2YXRlIFBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlOiBQYXltZW50U3Vic2NyaXB0aW9uU2VydmljZSwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYscHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIscHJpdmF0ZSB0b2FzdDpUb2FzdFNlcnZpY2VcclxuICApIHsgXHJcbiAgIFxyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhaWxleHRlbmQodGhpcy5jbGllbnRJZCk7XHJcbiAgICB0aGlzLmV4dGVuZHRyYWlsZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBwcm9kdWN0dHlwZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIFxyXG4gIHVuc2N1YnNjcmliZWQoKSB7IFxyXG4gICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSgpO1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmNsaWVudElkLFxyXG4gICAgICByZWFzb246IHRoaXMuY2FuY2VsbGluZ0lzc3VlLFxyXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5jYW5jZWxsaW5nRGVzY3JpcHRpb25cclxuICAgICAgXHJcbiAgICB9O1xyXG4gICAgdGhpcy5QYXltZW50U3Vic2NyaXB0aW9uU2VydmljZS51bnN1YnNjcmliZShyZXF1ZXN0RGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSAoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSAgXHJcbiAgICAgIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKHJlcXVlc3REYXRhKTtcclxuICAgICAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QocmVzLm1lc3NhZ2UpXHJcbiAgICAgIH19LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QoZXJyb3IuZXJyb3IuZXJyb3IpXHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igc3VibWl0dGluZyB1cGRhdGU6JywgZXJyb3IpO1xyXG4gICAgICB9KVxyXG59XHJcblxyXG4gIGV4dGVuZHRyYWlsKCkge1xyXG4gICAgbGV0IHByb2R1Y3QgPSB0aGlzLnRyYWlsZXh0ZW5kaXRlbS5maW5kKChpdGVtOmFueSk9Pml0ZW0ubmFtZSA9PSB0aGlzLnRyYWlsZXh0ZW5kSXNzdWUpOyBcclxuICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoKTtcclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5jbGllbnRJZCxcclxuICAgICAgcHJvZHVjdDogcHJvZHVjdC52YWx1ZSxcclxuICAgIH07XHJcbiAgICB0aGlzLlBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlLnRyYWlsYXBwcm92YWwocmVxdWVzdERhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUgKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkgIFxyXG4gICAgICB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZShyZXF1ZXN0RGF0YSk7XHJcbiAgICAgICAgdGhpcy50b2FzdC5nZXRQcmltYXJ5VG9hc3QoXCJZb3UgaGF2ZSByYWlzZWQgYSB0aWNrZXQgZm9yIGV4dGVuZGluZyB0cmFpbCByZXF1ZXN0LlwiKVxyXG4gICAgICB9fSxcclxuICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igc3VibWl0dGluZyB1cGRhdGU6JywgZXJyb3IpO1xyXG4gICAgICB9KVxyXG4gICAgICAgIFxyXG59XHJcblxyXG4gIGNhbmNlbGxpbmdEcm9wZG93bihldmVudDpNb3VzZUV2ZW50KXtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy4gY2FuY2VsbGluZ2Ryb3BEb3duID0gIXRoaXMuIGNhbmNlbGxpbmdkcm9wRG93bjtcclxuICB9XHJcbiAgdHJhaWxleHRlbmREcm9wZG93bihldmVudDpNb3VzZUV2ZW50KXtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy4gdHJhaWxleHRlbmRkcm9wRG93biA9ICF0aGlzLiB0cmFpbGV4dGVuZGRyb3BEb3duO1xyXG4gIH1cclxuXHJcbiAgdHJhaWxleHRlbmQoaWQ6YW55KXtcclxuICB0aGlzLlBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlLmdldGV4dGVuZHRyYWlsKGlkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIHRoaXMudHJhaWxleHRlbmRpdGVtID0gcmVzPy5kYXRhXHJcbiAgICAgICAgdGhpcy50cmFpbGV4dGVuZElzc3VlID0gdGhpcy50cmFpbGV4dGVuZGl0ZW1bMF0ubmFtZTtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gIH0pO1xyXG5cclxuXHJcbiAgfVxyXG59XHJcblxyXG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiICpuZ0lmPVwic2hvd0hlbHBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTZcIj5cclxuICAgICAgICA8ZGl2PjxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvbmVlZGhlbHAtaWNvbi5zdmdcIiBhbHQ9XCJcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtdC00IG1zLTFcIj5OZWVkIEhlbHAgITwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBtYi00IFwiPlxyXG4gICAgICAgIDxhIGNsYXNzPVwiYmdjb250ZW50XCIgKGNsaWNrKT1cInNob3dIZWxwID0gc2hvd3N1YnNjcmlwdGlvbiA9IHVuc3Vic2NyaWJlcmVxdWVzdCA9IGZhbHNlO3Nob3dFeHRlbmRUcmFpbCA9IHRydWVcIj5cclxuICAgICAgICAgICAgTmVlZCB0byByYWlzZSBhIHRpY2tldCBmb3IgZXh0ZW5kaW5nIHRyYWlsIHJlcXVlc3QgPHNwYW4gY2xhc3M9XCJtcy00XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTkgMThMMTUgMTJMOSA2XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPGEgY2xhc3M9XCJiZ2NvbnRlbnQgbXQtNFwiIChjbGljayk9XCJzaG93SGVscCA9IHNob3dFeHRlbmRUcmFpbCA9IHVuc3Vic2NyaWJlcmVxdWVzdD1mYWxzZTtzaG93c3Vic2NyaXB0aW9uID0gdHJ1ZVwiPlxyXG4gICAgICAgICAgICBOZWVkIHRvIHJhaXNlIGEgdGlja2V0IGZvciBzdWJzY3JpcHRpb24gY2FuY2VsbGF0aW9uIDxzcGFuIGNsYXNzPVwibXMtNFwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk05IDE4TDE1IDEyTDkgNlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBbZm9ybUdyb3VwXT1cImV4dGVuZHRyYWlsZm9ybVwiIGNsYXNzPVwibW9kYWwtY29udGVudFwiICpuZ0lmPVwic2hvd0V4dGVuZFRyYWlsXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC02XCI+XHJcbiAgICAgICAgPGRpdj48aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL3BsdXMtaWNvbi5zdmdcIiBhbHQ9XCJcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtdC00IG1zLTFcIj5FeHRlbmQgVHJpYWw8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZ2LXJvdyBmdi1wbHVnaW5zLWljb24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJoZWFkaW5ndGV4dCBtYi00XCI+VGhlIDE0IGRheXMgdHJpYWwgaGFzIGdvdCBleHBpcmVkLiBZb3UgY2FuIHJlcXVlc3QgZm9yIHRyaWFsIGV4dGVuc2lvbjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicHJvZHVjdHR5cGVcIiAgY2xhc3M9XCJoZWFkaW5ndGV4dCBtYi0yXCI+UGljayBhIFByb2R1Y3Q8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXNlbGVjdCBkcm9wc2VsZWN0IGxldmVsdmlld3RleHRcIiBpZD1cInByb2R1Y3R0eXBlXCIgKGNsaWNrKT1cInRyYWlsZXh0ZW5kRHJvcGRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkRlZmF1bHQgc2VsZWN0IGV4YW1wbGVcIj57e3RyYWlsZXh0ZW5kSXNzdWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0cmFpbGV4dGVuZGRyb3BEb3duXCIgY2xhc3M9XCJjYXJkIHB5LTIgdy0xMDAgcG9zaXRpb24tYWJzb2x1dGUgZW5kLTAgei0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdHJhaWxleHRlbmRpdGVtXCIgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCJ0aGlzLnRyYWlsZXh0ZW5kSXNzdWUubmFtZSA9PSBpdGVtLm5hbWUgPyAnYWN0aXZlJyA6ICcnXCIgY2xhc3M9XCJwcm9kdWN0dGV4dCBweC01IGl0ZW1zIGN1cnNvci1wb2ludGVyIHB5LTRcIiAoY2xpY2spPVwidHJhaWxleHRlbmRJdGVtKGl0ZW0ubmFtZSlcIj57e2l0ZW0ubmFtZX19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXQtMiBweS0yXCI+XHJcbiAgICAgICAgPGJ1dHRvbiAgdHlwZT1cInN1Ym1pdFwiICAoY2xpY2spPVwiYWN0aXZlTW9kYWwuZGlzbWlzcygpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1vdXRsaW5lIGJ0biBjYW5jZWwgbWUtNCB3LTUwXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImV4dGVuZHRyYWlsKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgbmctc3Rhci1pbnNlcnRlZCB3LTUwXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1Ym1pdFwiPkV4dGVuZDwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiAqbmdJZj1cInNob3dzdWJzY3JpcHRpb25cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTZcIj5cclxuICAgICAgICA8ZGl2PjxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvYWxlcnQtaWNvbi5zdmdcIiBhbHQ9XCJcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZyBtdC00IG1zLTFcIj5BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmFpc2UgdGlja2V0IGZvciBzdWJzY3JpcHRpb24gY2FuY2VsbGF0aW9uPzwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZnYtcm93IGZ2LXBsdWdpbnMtaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImhlYWRpbmd0ZXh0IG1iLTRcIj5SZWFzb24gZm9yIGNhbmNlbGxpbmc8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXNlbGVjdCBkcm9wc2VsZWN0IGxldmVsdmlld3RleHRcIiBpZD1cImN1cnJlbmN5XCIgKGNsaWNrKT1cImNhbmNlbGxpbmdEcm9wZG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRGVmYXVsdCBzZWxlY3QgZXhhbXBsZVwiPnt7Y2FuY2VsbGluZ0lzc3VlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2FuY2VsbGluZ2Ryb3BEb3duXCIgY2xhc3M9XCJjYXJkIHB5LTIgdy0xMDAgcG9zaXRpb24tYWJzb2x1dGUgZW5kLTAgei0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IGNhbmNlbGxpbmdpdGVtIG9mIGNhbmNlbGxpbmd0eXBlXCIgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCJ0aGlzLmNhbmNlbGxpbmdJc3N1ZSA9PSBjYW5jZWxsaW5naXRlbSA/ICdhY3RpdmUnIDogJydcIiBjbGFzcz1cInByb2R1Y3R0ZXh0IHB4LTUgaXRlbXMgY3Vyc29yLXBvaW50ZXIgcHktNFwiIChjbGljayk9XCJjYW5jZWxsaW5nSXRlbShjYW5jZWxsaW5naXRlbSlcIj57e2NhbmNlbGxpbmdpdGVtfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHRleHRhcmVhIFsobmdNb2RlbCldPVwidGhpcy5jYW5jZWxsaW5nRGVzY3JpcHRpb25cIiBwbGFjZWhvbGRlcj1cIkVudGVyIGEgZGVzY3JpcHRpb24uLi5cIiBjbGFzcz1cIiBtdC02IGN1c3RvbS10ZXh0YXJlYVwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXQtMiBweS0yXCI+XHJcbiAgICAgICAgPGJ1dHRvbiAgdHlwZT1cInN1Ym1pdFwiICAoY2xpY2spPVwiYWN0aXZlTW9kYWwuZGlzbWlzcygpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1vdXRsaW5lIGJ0biBjYW5jZWwgbWUtNCB3LTUwXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNob3dIZWxwID0gc2hvd0V4dGVuZFRyYWlsID0gc2hvd3N1YnNjcmlwdGlvbiA9IGZhbHNlO3Vuc3Vic2NyaWJlcmVxdWVzdCA9IHRydWU7XCJcclxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIHB4LTQgbmctc3Rhci1pbnNlcnRlZCB3LTUwXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1Ym1pdFwiPlJlcXVlc3QgVW5zdWJzY3JpYmluZzwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiAqbmdJZj1cInVuc3Vic2NyaWJlcmVxdWVzdFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtNlwiPlxyXG4gICAgICAgIDxkaXY+PGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9jdXN0b21wb3B1cC1JY29ucy9hbGVydC1pY29uLnN2Z1wiIGFsdD1cIlwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG10LTQgbXMtMVwiPlVuc3Vic2NyaWJlZDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN1YiBtdC00IG1zLTFcIj5BcmUgeW91IHN1cmUgeW91IHdhbnQgdGhlIHVuc3Vic2NyaWJlPzwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCIgPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBtdC0yIHB5LTJcIj5cclxuICAgICAgICA8YnV0dG9uICB0eXBlPVwic3VibWl0XCIgIChjbGljayk9XCJhY3RpdmVNb2RhbC5kaXNtaXNzKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLW91dGxpbmUgYnRuIGNhbmNlbCBtZS00IHctNTBcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwidW5zY3Vic2NyaWJlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIHB4LTQgbmctc3Rhci1pbnNlcnRlZCB3LTUwXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1Ym1pdFwiPlllcywgQ29uZmlybTwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIl19
@@ -1,36 +1,42 @@
1
- import { Component } from '@angular/core';
2
- import Swal from 'sweetalert2';
1
+ import { Component, Input } from '@angular/core';
3
2
  import * as i0 from "@angular/core";
4
3
  import * as i1 from "@ng-bootstrap/ng-bootstrap";
4
+ import * as i2 from "@angular/common";
5
5
  export class PricingRevisedComponent {
6
6
  activeModal;
7
+ productNewDetails;
8
+ productOldDetails;
7
9
  constructor(activeModal) {
8
10
  this.activeModal = activeModal;
9
11
  }
10
- revised() {
11
- this.activeModal.close();
12
- Swal.fire({
13
- iconHtml: `<img src="../../../../assets/tango/toast-icons/Envelope-Open-icon.svg">`,
14
- html: `<div class="col-md-12 mt-5"><div class="toasttitile">Revised changes have been updated</div></div>`,
15
- toast: true,
16
- position: 'bottom',
17
- showConfirmButton: false,
18
- showCloseButton: true,
19
- timer: 6000,
20
- timerProgressBar: true,
21
- customClass: 'custom-toast-container',
22
- didOpen: (toast) => {
23
- toast.addEventListener('mouseenter', Swal.stopTimer);
24
- toast.addEventListener('mouseleave', Swal.resumeTimer);
25
- // this.cd.detectChanges()
12
+ ngOnInit() {
13
+ this.productNewDetails.product.forEach((newProduct) => {
14
+ let oldDetails = this.productOldDetails.product.find((oldProduct) => oldProduct.productName == newProduct.productName && oldProduct.storeRange == newProduct.storeRange);
15
+ if (oldDetails) {
16
+ newProduct.oldPrice = oldDetails.price;
17
+ newProduct.oldStoreCount = oldDetails.storeCount;
18
+ }
19
+ else {
20
+ let oldDetails = this.productOldDetails.product.filter((oldProduct) => oldProduct.productName == newProduct.productName);
21
+ if (oldDetails.length) {
22
+ newProduct.oldPrice = newProduct.storeCount * (oldDetails[oldDetails.length - 1].basePrice - oldDetails[oldDetails.length - 1].negotiatePrice);
23
+ newProduct.oldStoreCount = newProduct.storeCount;
24
+ }
26
25
  }
27
26
  });
28
27
  }
28
+ revised() {
29
+ this.activeModal.close('save');
30
+ }
29
31
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PricingRevisedComponent, deps: [{ token: i1.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
30
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: PricingRevisedComponent, selector: "lib-pricing-revised", ngImport: i0, template: "<div class=\"modal-content\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Pricing has been revised</div>\r\n <div class=\"contenttext mt-4 ms-1\">\r\n Please Confirm to proceed\r\n </div>\r\n </div>\r\n <div class=\"modal-body \">\r\n <table class=\"w-100\">\r\n <tr>\r\n <th>Product</th>\r\n <th>Description</th>\r\n <th>Current Data</th>\r\n <th class=\"reviseddata\">Revised Data</th>\r\n </tr>\r\n <tr>\r\n <th rowspan=\"3\">priority support</th>\r\n <th>Stores</th>\r\n <td>10</td>\r\n <td class=\"bolddata\">10</td>\r\n </tr>\r\n <tr>\r\n <th>Days</th>\r\n <td>05</td>\r\n <td class=\"bolddata\">05</td>\r\n </tr>\r\n <tr>\r\n <th>Price</th>\r\n <td>$200</td>\r\n <td class=\"bolddata\">$200000</td>\r\n </tr>\r\n\r\n <tr>\r\n <th rowspan=\"3\">Zone</th>\r\n <th>Stores</th>\r\n <td>10</td>\r\n <td class=\"bolddata\">10</td>\r\n\r\n </tr>\r\n <tr>\r\n <th>Days</th>\r\n <td>05</td>\r\n <td class=\"bolddata\">05</td>\r\n </tr>\r\n <tr>\r\n <th>Price</th>\r\n <td>$400</td>\r\n <td class=\"bolddata\">$400</td>\r\n </tr>\r\n\r\n <div class=\"mt-4 w-100\"></div>\r\n\r\n <tr>\r\n <th>Sub Total</th>\r\n <th></th>\r\n <td>$45,000</td>\r\n <td class=\"bolddata\">$44,000</td>\r\n </tr>\r\n <tr>\r\n <th>Tax</th>\r\n <th></th>\r\n <td>00.00</td>\r\n <td class=\"bolddata\">00.00</td>\r\n </tr>\r\n <tr>\r\n <th>Discount</th>\r\n <th></th>\r\n <td>20%</td>\r\n <td class=\"bolddata\">20%</td>\r\n </tr>\r\n <tr>\r\n <th>Total Amount</th>\r\n <th></th>\r\n <td>$43,000</td>\r\n <td class=\"bolddata\">$42,000</td>\r\n </tr>\r\n </table>\r\n <div data-kt-subscription-table-toolbar=\"base\"\r\n class=\"d-flex justify-content-end mt-6\"><a type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4\">Cancel</a><a \r\n type=\"button\" tabindex=\"0\" (click)=\"revised()\"\r\n class=\"btn btn-primary px-4 ng-star-inserted cancel text-nowrap\"\r\n >Save\r\n </a></div>\r\n\r\n \r\n </div>\r\n</div>", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085)!important;font-family:Inter;font-size:14px!important;font-weight:400!important;line-height:20px}.border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}.illustcontent{color:var(--Gray-900, #101828);font-size:16px;font-weight:600}.nav-item .nav-link{color:var(--Gray-500, #667085);font-size:16px;font-weight:500}td{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:#fff!important;color:var(--Gray-600, #475467)!important;font-size:16px;font-weight:500;line-height:24px}th{width:20%}.bolddata{font-weight:700!important}.reviseddata{color:var(--Gray-700, #344054)!important;font-size:16px;font-weight:700!important;line-height:24px}.cancel{width:20%}\n"] });
32
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: PricingRevisedComponent, selector: "lib-pricing-revised", inputs: { productNewDetails: "productNewDetails", productOldDetails: "productOldDetails" }, ngImport: i0, template: "<div class=\"modal-content\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Pricing has been revised</div>\r\n <div class=\"contenttext mt-4 ms-1\">\r\n Please Confirm to proceed\r\n </div>\r\n </div>\r\n <div class=\"modal-body \">\r\n <table class=\"w-100\">\r\n <tr>\r\n <th>Product</th>\r\n <th>Description</th>\r\n <th>Current Data</th>\r\n <th class=\"reviseddata\">Revised Data</th>\r\n </tr>\r\n \r\n <tbody>\r\n <ng-container *ngFor=\"let item of productNewDetails.product\">\r\n <tr>\r\n <td rowspan=\"2\">\r\n {{item.productName}}\r\n </td>\r\n <td>Store</td>\r\n <td>${{item.oldStoreCount}}</td>\r\n <td class=\"bolddata\">${{item.storeCount}}</td>\r\n </tr>\r\n <tr>\r\n <!-- <td class=\"bolddata\">$200000</td> -->\r\n <td>Price</td>\r\n <td>{{item.oldPrice}}</td>\r\n <td class=\"bolddata\">{{item.price}}</td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n\r\n \r\n <div class=\"mt-4 w-100\"></div>\r\n\r\n <tr>\r\n <th>Sub Total</th>\r\n <th></th>\r\n <td>${{productOldDetails.totalNegotiatePrice}}</td>\r\n <td class=\"bolddata\">${{productNewDetails.totalNegotiatePrice}}</td>\r\n </tr>\r\n <tr>\r\n <th>Tax</th>\r\n <th></th>\r\n <td>18%</td>\r\n <td class=\"bolddata\">18%</td>\r\n </tr>\r\n <tr>\r\n <th>Discount</th>\r\n <th></th>\r\n <td>{{productOldDetails.discountPercentage}}%</td>\r\n <td class=\"bolddata\">{{productNewDetails.discountPercentage}}%</td>\r\n </tr>\r\n <tr>\r\n <th>Total Amount</th>\r\n <th></th>\r\n <td>${{productOldDetails.finalValue}}</td>\r\n <td class=\"bolddata\">${{productNewDetails.finalValue}}</td>\r\n </tr>\r\n </table>\r\n <div data-kt-subscription-table-toolbar=\"base\"\r\n class=\"d-flex justify-content-end mt-6\"><a type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4\">Cancel</a><a \r\n type=\"button\" tabindex=\"0\" (click)=\"revised()\"\r\n class=\"btn btn-primary px-4 ng-star-inserted cancel text-nowrap\"\r\n >Save\r\n </a></div>\r\n\r\n \r\n </div>\r\n</div>", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085)!important;font-family:Inter;font-size:14px!important;font-weight:400!important;line-height:20px}.border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}.illustcontent{color:var(--Gray-900, #101828);font-size:16px;font-weight:600}.nav-item .nav-link{color:var(--Gray-500, #667085);font-size:16px;font-weight:500}td{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:#fff!important;color:var(--Gray-600, #475467)!important;font-size:16px;font-weight:500;line-height:24px}th{width:20%}.bolddata{font-weight:700!important}.reviseddata{color:var(--Gray-700, #344054)!important;font-size:16px;font-weight:700!important;line-height:24px}.cancel{width:20%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
31
33
  }
32
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PricingRevisedComponent, decorators: [{
33
35
  type: Component,
34
- args: [{ selector: 'lib-pricing-revised', template: "<div class=\"modal-content\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Pricing has been revised</div>\r\n <div class=\"contenttext mt-4 ms-1\">\r\n Please Confirm to proceed\r\n </div>\r\n </div>\r\n <div class=\"modal-body \">\r\n <table class=\"w-100\">\r\n <tr>\r\n <th>Product</th>\r\n <th>Description</th>\r\n <th>Current Data</th>\r\n <th class=\"reviseddata\">Revised Data</th>\r\n </tr>\r\n <tr>\r\n <th rowspan=\"3\">priority support</th>\r\n <th>Stores</th>\r\n <td>10</td>\r\n <td class=\"bolddata\">10</td>\r\n </tr>\r\n <tr>\r\n <th>Days</th>\r\n <td>05</td>\r\n <td class=\"bolddata\">05</td>\r\n </tr>\r\n <tr>\r\n <th>Price</th>\r\n <td>$200</td>\r\n <td class=\"bolddata\">$200000</td>\r\n </tr>\r\n\r\n <tr>\r\n <th rowspan=\"3\">Zone</th>\r\n <th>Stores</th>\r\n <td>10</td>\r\n <td class=\"bolddata\">10</td>\r\n\r\n </tr>\r\n <tr>\r\n <th>Days</th>\r\n <td>05</td>\r\n <td class=\"bolddata\">05</td>\r\n </tr>\r\n <tr>\r\n <th>Price</th>\r\n <td>$400</td>\r\n <td class=\"bolddata\">$400</td>\r\n </tr>\r\n\r\n <div class=\"mt-4 w-100\"></div>\r\n\r\n <tr>\r\n <th>Sub Total</th>\r\n <th></th>\r\n <td>$45,000</td>\r\n <td class=\"bolddata\">$44,000</td>\r\n </tr>\r\n <tr>\r\n <th>Tax</th>\r\n <th></th>\r\n <td>00.00</td>\r\n <td class=\"bolddata\">00.00</td>\r\n </tr>\r\n <tr>\r\n <th>Discount</th>\r\n <th></th>\r\n <td>20%</td>\r\n <td class=\"bolddata\">20%</td>\r\n </tr>\r\n <tr>\r\n <th>Total Amount</th>\r\n <th></th>\r\n <td>$43,000</td>\r\n <td class=\"bolddata\">$42,000</td>\r\n </tr>\r\n </table>\r\n <div data-kt-subscription-table-toolbar=\"base\"\r\n class=\"d-flex justify-content-end mt-6\"><a type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4\">Cancel</a><a \r\n type=\"button\" tabindex=\"0\" (click)=\"revised()\"\r\n class=\"btn btn-primary px-4 ng-star-inserted cancel text-nowrap\"\r\n >Save\r\n </a></div>\r\n\r\n \r\n </div>\r\n</div>", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085)!important;font-family:Inter;font-size:14px!important;font-weight:400!important;line-height:20px}.border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}.illustcontent{color:var(--Gray-900, #101828);font-size:16px;font-weight:600}.nav-item .nav-link{color:var(--Gray-500, #667085);font-size:16px;font-weight:500}td{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:#fff!important;color:var(--Gray-600, #475467)!important;font-size:16px;font-weight:500;line-height:24px}th{width:20%}.bolddata{font-weight:700!important}.reviseddata{color:var(--Gray-700, #344054)!important;font-size:16px;font-weight:700!important;line-height:24px}.cancel{width:20%}\n"] }]
35
- }], ctorParameters: () => [{ type: i1.NgbActiveModal }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2luZy1yZXZpc2VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvcGF5bWVudHMtc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wb3B1cHMvcHJpY2luZy1yZXZpc2VkL3ByaWNpbmctcmV2aXNlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL3BheW1lbnRzLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcG9wdXBzL3ByaWNpbmctcmV2aXNlZC9wcmljaW5nLXJldmlzZWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7OztBQU0vQixNQUFNLE9BQU8sdUJBQXVCO0lBR3pCO0lBRFQsWUFDUyxXQUEyQjtRQUEzQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7SUFDaEMsQ0FBQztJQUVMLE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDVixRQUFRLEVBQUUsMEVBQTBFO1lBQ3BGLElBQUksRUFBRSxvR0FBb0c7WUFDMUcsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsUUFBUTtZQUNsQixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLEtBQUssRUFBRSxJQUFJO1lBQ1gsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixXQUFXLEVBQUMsd0JBQXdCO1lBQ3BDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNqQixLQUFLLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDcEQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7Z0JBQ3RELDBCQUEwQjtZQUM1QixDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQUEsQ0FBQzt1R0F2QlEsdUJBQXVCOzJGQUF2Qix1QkFBdUIsMkRDUnBDLGs5RkF3Rk07OzJGRGhGTyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXByaWNpbmctcmV2aXNlZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ByaWNpbmctcmV2aXNlZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3ByaWNpbmctcmV2aXNlZC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFByaWNpbmdSZXZpc2VkQ29tcG9uZW50IHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsXHJcbiAgKSB7IH1cclxuXHJcbiAgcmV2aXNlZCgpIHsgXHJcbiAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKCk7XHJcbiAgICBTd2FsLmZpcmUoe1xyXG4gICAgaWNvbkh0bWw6IGA8aW1nICBzcmM9XCIuLi8uLi8uLi8uLi9hc3NldHMvdGFuZ28vdG9hc3QtaWNvbnMvRW52ZWxvcGUtT3Blbi1pY29uLnN2Z1wiPmAsXHJcbiAgICBodG1sOiBgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBtdC01XCI+PGRpdiBjbGFzcz1cInRvYXN0dGl0aWxlXCI+UmV2aXNlZCBjaGFuZ2VzIGhhdmUgYmVlbiB1cGRhdGVkPC9kaXY+PC9kaXY+YCxcclxuICAgIHRvYXN0OiB0cnVlLFxyXG4gICAgcG9zaXRpb246ICdib3R0b20nLFxyXG4gICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxyXG4gICAgc2hvd0Nsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgdGltZXI6IDYwMDAsXHJcbiAgICB0aW1lclByb2dyZXNzQmFyOiB0cnVlLFxyXG4gICAgY3VzdG9tQ2xhc3M6J2N1c3RvbS10b2FzdC1jb250YWluZXInLFxyXG4gICAgZGlkT3BlbjogKHRvYXN0KSA9PiB7XHJcbiAgICAgIHRvYXN0LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBTd2FsLnN0b3BUaW1lcilcclxuICAgICAgdG9hc3QuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIFN3YWwucmVzdW1lVGltZXIpXHJcbiAgICAgIC8vIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICB9XHJcbiAgfSl9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC02XCI+XHJcbiAgICAgICAgPGRpdj48aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL2N1c3RvbXBvcHVwLUljb25zL2Rhbmdlci1pY29uLnN2Z1wiIGFsdD1cIlwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5nIG10LTQgbXMtMVwiPlByaWNpbmcgaGFzIGJlZW4gcmV2aXNlZDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50dGV4dCBtdC00IG1zLTFcIj5cclxuICAgICAgICAgICAgUGxlYXNlIENvbmZpcm0gdG8gcHJvY2VlZFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBcIj5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICA8dGg+UHJvZHVjdDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+RGVzY3JpcHRpb248L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoPkN1cnJlbnQgRGF0YTwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJyZXZpc2VkZGF0YVwiPlJldmlzZWQgRGF0YTwvdGg+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0aCByb3dzcGFuPVwiM1wiPnByaW9yaXR5IHN1cHBvcnQ8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoPlN0b3JlczwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGQ+MTA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYm9sZGRhdGFcIj4xMDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0aD5EYXlzPC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZD4wNTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJib2xkZGF0YVwiPjA1PC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoPlByaWNlPC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZD4kMjAwPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImJvbGRkYXRhXCI+JDIwMDAwMDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcblxyXG4gICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICA8dGggcm93c3Bhbj1cIjNcIj5ab25lPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD5TdG9yZXM8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRkPjEwPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImJvbGRkYXRhXCI+MTA8L3RkPlxyXG5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoPkRheXM8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRkPjA1PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImJvbGRkYXRhXCI+MDU8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICA8dGg+UHJpY2U8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRkPiQ0MDA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYm9sZGRhdGFcIj4kNDAwPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC00IHctMTAwXCI+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICA8dGg+U3ViIFRvdGFsPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD48L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRkPiQ0NSwwMDA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYm9sZGRhdGFcIj4kNDQsMDAwPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoPlRheDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+PC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZD4wMC4wMDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJib2xkZGF0YVwiPjAwLjAwPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoPkRpc2NvdW50PC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD48L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRkPjIwJTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJib2xkZGF0YVwiPjIwJTwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0aD5Ub3RhbCBBbW91bnQ8L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRoPjwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGQ+JDQzLDAwMDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJib2xkZGF0YVwiPiQ0MiwwMDA8L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgPGRpdiBkYXRhLWt0LXN1YnNjcmlwdGlvbi10YWJsZS10b29sYmFyPVwiYmFzZVwiXHJcbiAgICAgICAgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtdC02XCI+PGEgdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJhY3RpdmVNb2RhbC5kaXNtaXNzKClcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0bi1vdXRsaW5lICBidG4gY2FuY2VsIG1lLTRcIj5DYW5jZWw8L2E+PGEgXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIiAoY2xpY2spPVwicmV2aXNlZCgpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBuZy1zdGFyLWluc2VydGVkIGNhbmNlbCB0ZXh0LW5vd3JhcFwiXHJcbiAgICAgICAgICAgID5TYXZlXHJcbiAgICAgICAgICAgIDwvYT48L2Rpdj5cclxuXHJcbiAgICAgIFxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
36
+ args: [{ selector: 'lib-pricing-revised', template: "<div class=\"modal-content\">\r\n <div class=\"p-6\">\r\n <div><img src=\"./assets/tango/custompopup-Icons/danger-icon.svg\" alt=\"\"></div>\r\n <div class=\"heading mt-4 ms-1\">Pricing has been revised</div>\r\n <div class=\"contenttext mt-4 ms-1\">\r\n Please Confirm to proceed\r\n </div>\r\n </div>\r\n <div class=\"modal-body \">\r\n <table class=\"w-100\">\r\n <tr>\r\n <th>Product</th>\r\n <th>Description</th>\r\n <th>Current Data</th>\r\n <th class=\"reviseddata\">Revised Data</th>\r\n </tr>\r\n \r\n <tbody>\r\n <ng-container *ngFor=\"let item of productNewDetails.product\">\r\n <tr>\r\n <td rowspan=\"2\">\r\n {{item.productName}}\r\n </td>\r\n <td>Store</td>\r\n <td>${{item.oldStoreCount}}</td>\r\n <td class=\"bolddata\">${{item.storeCount}}</td>\r\n </tr>\r\n <tr>\r\n <!-- <td class=\"bolddata\">$200000</td> -->\r\n <td>Price</td>\r\n <td>{{item.oldPrice}}</td>\r\n <td class=\"bolddata\">{{item.price}}</td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n\r\n \r\n <div class=\"mt-4 w-100\"></div>\r\n\r\n <tr>\r\n <th>Sub Total</th>\r\n <th></th>\r\n <td>${{productOldDetails.totalNegotiatePrice}}</td>\r\n <td class=\"bolddata\">${{productNewDetails.totalNegotiatePrice}}</td>\r\n </tr>\r\n <tr>\r\n <th>Tax</th>\r\n <th></th>\r\n <td>18%</td>\r\n <td class=\"bolddata\">18%</td>\r\n </tr>\r\n <tr>\r\n <th>Discount</th>\r\n <th></th>\r\n <td>{{productOldDetails.discountPercentage}}%</td>\r\n <td class=\"bolddata\">{{productNewDetails.discountPercentage}}%</td>\r\n </tr>\r\n <tr>\r\n <th>Total Amount</th>\r\n <th></th>\r\n <td>${{productOldDetails.finalValue}}</td>\r\n <td class=\"bolddata\">${{productNewDetails.finalValue}}</td>\r\n </tr>\r\n </table>\r\n <div data-kt-subscription-table-toolbar=\"base\"\r\n class=\"d-flex justify-content-end mt-6\"><a type=\"submit\" (click)=\"activeModal.dismiss()\"\r\n class=\"btn-outline btn cancel me-4\">Cancel</a><a \r\n type=\"button\" tabindex=\"0\" (click)=\"revised()\"\r\n class=\"btn btn-primary px-4 ng-star-inserted cancel text-nowrap\"\r\n >Save\r\n </a></div>\r\n\r\n \r\n </div>\r\n</div>", styles: [".heading{color:var(--Gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085)!important;font-family:Inter;font-size:14px!important;font-weight:400!important;line-height:20px}.border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}.illustcontent{color:var(--Gray-900, #101828);font-size:16px;font-weight:600}.nav-item .nav-link{color:var(--Gray-500, #667085);font-size:16px;font-weight:500}td{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:#fff!important;color:var(--Gray-600, #475467)!important;font-size:16px;font-weight:500;line-height:24px}th{width:20%}.bolddata{font-weight:700!important}.reviseddata{color:var(--Gray-700, #344054)!important;font-size:16px;font-weight:700!important;line-height:24px}.cancel{width:20%}\n"] }]
37
+ }], ctorParameters: () => [{ type: i1.NgbActiveModal }], propDecorators: { productNewDetails: [{
38
+ type: Input
39
+ }], productOldDetails: [{
40
+ type: Input
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2luZy1yZXZpc2VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvcGF5bWVudHMtc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wb3B1cHMvcHJpY2luZy1yZXZpc2VkL3ByaWNpbmctcmV2aXNlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL3BheW1lbnRzLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcG9wdXBzL3ByaWNpbmctcmV2aXNlZC9wcmljaW5nLXJldmlzZWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRekQsTUFBTSxPQUFPLHVCQUF1QjtJQUl6QjtJQUhBLGlCQUFpQixDQUFNO0lBQ3ZCLGlCQUFpQixDQUFNO0lBQ2hDLFlBQ1MsV0FBMkI7UUFBM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBR3BDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFjLEVBQUUsRUFBRTtZQUN4RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsSUFBSSxVQUFVLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlLLElBQUcsVUFBVSxFQUFFO2dCQUNiLFVBQVUsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztnQkFDdkMsVUFBVSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDO2FBQ2xEO2lCQUNJO2dCQUNILElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBZSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDOUgsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO29CQUNyQixVQUFVLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQy9JLFVBQVUsQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztpQkFDbEQ7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBRUosQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO3VHQTdCVSx1QkFBdUI7MkZBQXZCLHVCQUF1Qix1SkNScEMsbzhGQTBFTTs7MkZEbEVPLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxxQkFBcUI7bUZBS3RCLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcHJpY2luZy1yZXZpc2VkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJpY2luZy1yZXZpc2VkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcHJpY2luZy1yZXZpc2VkLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJpY2luZ1JldmlzZWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHByb2R1Y3ROZXdEZXRhaWxzOiBhbnk7XHJcbiAgQElucHV0KCkgcHJvZHVjdE9sZERldGFpbHM6IGFueTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBhY3RpdmVNb2RhbDogTmdiQWN0aXZlTW9kYWxcclxuICApIHtcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnByb2R1Y3ROZXdEZXRhaWxzLnByb2R1Y3QuZm9yRWFjaCgobmV3UHJvZHVjdDphbnkpID0+IHtcclxuICAgICAgbGV0IG9sZERldGFpbHMgPSB0aGlzLnByb2R1Y3RPbGREZXRhaWxzLnByb2R1Y3QuZmluZCgob2xkUHJvZHVjdDogYW55KSA9PiBvbGRQcm9kdWN0LnByb2R1Y3ROYW1lID09IG5ld1Byb2R1Y3QucHJvZHVjdE5hbWUgJiYgb2xkUHJvZHVjdC5zdG9yZVJhbmdlID09IG5ld1Byb2R1Y3Quc3RvcmVSYW5nZSk7XHJcbiAgICAgIGlmKG9sZERldGFpbHMpIHtcclxuICAgICAgICBuZXdQcm9kdWN0Lm9sZFByaWNlID0gb2xkRGV0YWlscy5wcmljZTtcclxuICAgICAgICBuZXdQcm9kdWN0Lm9sZFN0b3JlQ291bnQgPSBvbGREZXRhaWxzLnN0b3JlQ291bnQ7IFxyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGxldCBvbGREZXRhaWxzID0gdGhpcy5wcm9kdWN0T2xkRGV0YWlscy5wcm9kdWN0LmZpbHRlcigob2xkUHJvZHVjdDogYW55KSA9PiBvbGRQcm9kdWN0LnByb2R1Y3ROYW1lID09IG5ld1Byb2R1Y3QucHJvZHVjdE5hbWUpO1xyXG4gICAgICAgIGlmIChvbGREZXRhaWxzLmxlbmd0aCkge1xyXG4gICAgICAgICAgbmV3UHJvZHVjdC5vbGRQcmljZSA9IG5ld1Byb2R1Y3Quc3RvcmVDb3VudCAqIChvbGREZXRhaWxzW29sZERldGFpbHMubGVuZ3RoIC0gMV0uYmFzZVByaWNlIC0gb2xkRGV0YWlsc1tvbGREZXRhaWxzLmxlbmd0aCAtIDFdLm5lZ290aWF0ZVByaWNlKTtcclxuICAgICAgICAgIG5ld1Byb2R1Y3Qub2xkU3RvcmVDb3VudCA9IG5ld1Byb2R1Y3Quc3RvcmVDb3VudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICBcclxuICB9XHJcblxyXG4gIHJldmlzZWQoKSB7IFxyXG4gICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSgnc2F2ZScpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTZcIj5cclxuICAgICAgICA8ZGl2PjxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvZGFuZ2VyLWljb24uc3ZnXCIgYWx0PVwiXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmcgbXQtNCBtcy0xXCI+UHJpY2luZyBoYXMgYmVlbiByZXZpc2VkPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnR0ZXh0IG10LTQgbXMtMVwiPlxyXG4gICAgICAgICAgICBQbGVhc2UgQ29uZmlybSB0byBwcm9jZWVkXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IFwiPlxyXG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInctMTAwXCI+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0aD5Qcm9kdWN0PC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD5EZXNjcmlwdGlvbjwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+Q3VycmVudCBEYXRhPC90aD5cclxuICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInJldmlzZWRkYXRhXCI+UmV2aXNlZCBEYXRhPC90aD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwcm9kdWN0TmV3RGV0YWlscy5wcm9kdWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgcm93c3Bhbj1cIjJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAge3tpdGVtLnByb2R1Y3ROYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlN0b3JlPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPiR7e2l0ZW0ub2xkU3RvcmVDb3VudH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYm9sZGRhdGFcIj4ke3tpdGVtLnN0b3JlQ291bnR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHRkIGNsYXNzPVwiYm9sZGRhdGFcIj4kMjAwMDAwPC90ZD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5QcmljZTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2l0ZW0ub2xkUHJpY2V9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImJvbGRkYXRhXCI+e3tpdGVtLnByaWNlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNCB3LTEwMFwiPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoPlN1YiBUb3RhbDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+PC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZD4ke3twcm9kdWN0T2xkRGV0YWlscy50b3RhbE5lZ290aWF0ZVByaWNlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYm9sZGRhdGFcIj4ke3twcm9kdWN0TmV3RGV0YWlscy50b3RhbE5lZ290aWF0ZVByaWNlfX08L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICA8dGg+VGF4PC90aD5cclxuICAgICAgICAgICAgICAgIDx0aD48L3RoPlxyXG4gICAgICAgICAgICAgICAgPHRkPjE4JTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJib2xkZGF0YVwiPjE4JTwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDx0aD5EaXNjb3VudDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+PC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZD57e3Byb2R1Y3RPbGREZXRhaWxzLmRpc2NvdW50UGVyY2VudGFnZX19JTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJib2xkZGF0YVwiPnt7cHJvZHVjdE5ld0RldGFpbHMuZGlzY291bnRQZXJjZW50YWdlfX0lPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPHRoPlRvdGFsIEFtb3VudDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGg+PC90aD5cclxuICAgICAgICAgICAgICAgIDx0ZD4ke3twcm9kdWN0T2xkRGV0YWlscy5maW5hbFZhbHVlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYm9sZGRhdGFcIj4ke3twcm9kdWN0TmV3RGV0YWlscy5maW5hbFZhbHVlfX08L3RkPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgPGRpdiBkYXRhLWt0LXN1YnNjcmlwdGlvbi10YWJsZS10b29sYmFyPVwiYmFzZVwiXHJcbiAgICAgICAgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtdC02XCI+PGEgdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJhY3RpdmVNb2RhbC5kaXNtaXNzKClcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0bi1vdXRsaW5lICBidG4gY2FuY2VsIG1lLTRcIj5DYW5jZWw8L2E+PGEgXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIiAoY2xpY2spPVwicmV2aXNlZCgpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBuZy1zdGFyLWluc2VydGVkIGNhbmNlbCB0ZXh0LW5vd3JhcFwiXHJcbiAgICAgICAgICAgID5TYXZlXHJcbiAgICAgICAgICAgIDwvYT48L2Rpdj5cclxuXHJcbiAgICAgIFxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==