tango-app-ui-manage-settings 3.0.13-dev → 3.0.15-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.
- package/esm2022/lib/components/activity-logs/activity-logs.component.mjs +3 -3
- package/esm2022/lib/components/brand-details/billing-details/billing-details.component.mjs +10 -9
- package/esm2022/lib/components/brand-details/brand-info/brand-info.component.mjs +10 -7
- package/esm2022/lib/components/brand-details/signatory-details/signatory-details.component.mjs +10 -9
- package/esm2022/lib/components/configurations/audit-configuration/audit-configuration.component.mjs +11 -8
- package/esm2022/lib/components/configurations/configurations.component.mjs +17 -13
- package/esm2022/lib/components/configurations/domain-details/domain-details.component.mjs +10 -9
- package/esm2022/lib/components/configurations/feature-configuration/feature-configuration.component.mjs +10 -9
- package/esm2022/lib/components/configurations/report-configuration/report-configuration.component.mjs +10 -7
- package/esm2022/lib/components/configurations/ticket-configuration/ticket-configuration.component.mjs +10 -9
- package/esm2022/lib/components/configurations/user-configuration/user-configuration.component.mjs +11 -8
- package/esm2022/lib/components/contact-directory/contact-directory.component.mjs +17 -10
- package/esm2022/lib/components/documents/documents.component.mjs +10 -7
- package/esm2022/lib/components/payments-subscription/payments-subscription.component.mjs +95 -14
- package/esm2022/lib/components/payments-subscription/subscription-popups/add-stepprice/add-stepprice.component.mjs +2 -2
- package/esm2022/lib/components/payments-subscription/subscription-popups/credit-note/credit-note.component.mjs +5 -11
- package/esm2022/lib/components/payments-subscription/subscription-popups/model-content/model-content.component.mjs +47 -0
- package/esm2022/lib/components/payments-subscription/subscription-popups/multidropdown/multidropdown.component.mjs +5 -4
- package/esm2022/lib/components/payments-subscription/subscription-popups/need-help/need-help.component.mjs +4 -10
- package/esm2022/lib/components/payments-subscription/subscription-popups/pricing-revised/pricing-revised.component.mjs +1 -2
- package/esm2022/lib/components/payments-subscription/subscription-popups/product-confirmation/product-confirmation.component.mjs +36 -33
- package/esm2022/lib/components/payments-subscription/subscription-popups/subscription-approval/subscription-approval.component.mjs +3 -4
- package/esm2022/lib/components/payments-subscription/subscription-popups/trail-settings/trail-settings.component.mjs +1 -2
- package/esm2022/lib/components/payments-subscription/subscription-popups/unsubscribe-request/unsubscribe-request.component.mjs +8 -5
- package/esm2022/lib/components/payments-subscription/subscription-popups/update/update.component.mjs +4 -4
- package/esm2022/lib/components/payments-subscription/subscription-popups/upgrade-plan/upgrade-plan.component.mjs +32 -8
- package/esm2022/lib/components/tango-manage-settings/tango-manage-settings.component.mjs +8 -6
- package/esm2022/lib/guards/activity-log.guard.mjs +33 -0
- package/esm2022/lib/guards/brand-detail.guard.mjs +33 -0
- package/esm2022/lib/guards/configuration.guard.mjs +33 -0
- package/esm2022/lib/guards/contact-directory.guard.mjs +33 -0
- package/esm2022/lib/guards/documents.guard.mjs +33 -0
- package/esm2022/lib/guards/payment-subscriptions.guard.mjs +33 -0
- package/esm2022/lib/tango-manage-settings-routing.module.mjs +24 -7
- package/esm2022/lib/tango-manage-settings.module.mjs +5 -2
- package/fesm2022/tango-app-ui-manage-settings.mjs +568 -221
- package/fesm2022/tango-app-ui-manage-settings.mjs.map +1 -1
- package/lib/components/brand-details/billing-details/billing-details.component.d.ts +4 -3
- package/lib/components/brand-details/brand-info/brand-info.component.d.ts +3 -1
- package/lib/components/brand-details/signatory-details/signatory-details.component.d.ts +4 -3
- package/lib/components/configurations/audit-configuration/audit-configuration.component.d.ts +3 -1
- package/lib/components/configurations/configurations.component.d.ts +3 -1
- package/lib/components/configurations/domain-details/domain-details.component.d.ts +4 -3
- package/lib/components/configurations/feature-configuration/feature-configuration.component.d.ts +4 -3
- package/lib/components/configurations/report-configuration/report-configuration.component.d.ts +3 -1
- package/lib/components/configurations/ticket-configuration/ticket-configuration.component.d.ts +4 -3
- package/lib/components/configurations/user-configuration/user-configuration.component.d.ts +3 -1
- package/lib/components/contact-directory/contact-directory.component.d.ts +5 -1
- package/lib/components/documents/documents.component.d.ts +3 -1
- package/lib/components/payments-subscription/payments-subscription.component.d.ts +12 -3
- package/lib/components/payments-subscription/subscription-popups/model-content/model-content.component.d.ts +16 -0
- package/lib/components/payments-subscription/subscription-popups/need-help/need-help.component.d.ts +1 -4
- package/lib/components/payments-subscription/subscription-popups/product-confirmation/product-confirmation.component.d.ts +2 -2
- package/lib/components/payments-subscription/subscription-popups/unsubscribe-request/unsubscribe-request.component.d.ts +2 -1
- package/lib/components/payments-subscription/subscription-popups/upgrade-plan/upgrade-plan.component.d.ts +5 -1
- package/lib/components/tango-manage-settings/tango-manage-settings.component.d.ts +3 -2
- package/lib/guards/activity-log.guard.d.ts +2 -0
- package/lib/guards/brand-detail.guard.d.ts +2 -0
- package/lib/guards/configuration.guard.d.ts +2 -0
- package/lib/guards/contact-directory.guard.d.ts +2 -0
- package/lib/guards/documents.guard.d.ts +2 -0
- package/lib/guards/payment-subscriptions.guard.d.ts +2 -0
- package/lib/tango-manage-settings.module.d.ts +13 -12
- package/package.json +1 -1
package/esm2022/lib/components/payments-subscription/subscription-popups/update/update.component.mjs
CHANGED
|
@@ -55,7 +55,7 @@ export class UpdateComponent {
|
|
|
55
55
|
this.cd.detectChanges();
|
|
56
56
|
}
|
|
57
57
|
closeModal() {
|
|
58
|
-
this.
|
|
58
|
+
this.activeModal.close();
|
|
59
59
|
}
|
|
60
60
|
onSubmit() {
|
|
61
61
|
const requestData = {
|
|
@@ -71,14 +71,14 @@ export class UpdateComponent {
|
|
|
71
71
|
}
|
|
72
72
|
submitUpdate() { }
|
|
73
73
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: UpdateComponent, deps: [{ token: i1.NgbActiveModal }, { token: i1.NgbModal }, { token: i2.PaymentSubscriptionService }, { token: i3.FormBuilder }, { token: i0.ChangeDetectorRef }, { token: i4.ToastService }], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: UpdateComponent, selector: "lib-update", inputs: { modalData: "modalData" }, outputs: { passEntry: "passEntry" }, ngImport: i0, template: "<div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h2>Add Address</h2>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary\" data-bs-dismiss=\"modal\">\r\n <i (click)=\"activeModal.dismiss()\" class=\"ki-duotone ki-cross fs-1\"><span class=\"path1\"></span><span\r\n class=\"path2\"></span></i>\r\n </div>\r\n
|
|
74
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: UpdateComponent, selector: "lib-update", inputs: { modalData: "modalData" }, outputs: { passEntry: "passEntry" }, ngImport: i0, template: "<div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h2>Add Address</h2>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary\" data-bs-dismiss=\"modal\">\r\n <i (click)=\"activeModal.dismiss()\" class=\"ki-duotone ki-cross fs-1\"><span class=\"path1\"></span><span\r\n class=\"path2\"></span></i>\r\n </div>\r\n </div>\r\n <div class=\"modal-body \">\r\n <!--begin::Form-->\r\n <form [formGroup]=\"updateForm\" action=\"#\">\r\n\r\n <div class=\"d-flex flex-column mb-7 fv-row fv-plugins-icon-container\">\r\n <div class=\"py-2\">\r\n <label class=\"required headingtext mb-2\">Brand Name</label>\r\n <input formControlName=\"brandName\" id=\"brandName\" readonly type=\"text\" class=\" ng-pristine ng-invalid ng-touched\"\r\n style=\"text-transform: capitalize;\">\r\n </div>\r\n <div class=\"py-2\">\r\n <label class=\"required headingtext mb-2\">GST No / Tax ID</label>\r\n <input formControlName=\"gstNumber\" id=\"gstNumber\" type=\"text\" class=\"ng-pristine ng-invalid ng-touched\"\r\n style=\"text-transform: capitalize;\">\r\n <div *ngIf=\"gstnumber?.errors?.required\" class=\"text-danger\"> <!--*ngIf=\"updateForm.get('gstNumber').invalid && updateForm.get('gstNumber')\"-->\r\n GST Number is required.\r\n </div>\r\n </div>\r\n <div class=\"py-2\">\r\n <label class=\"required headingtext mb-2\">Billing Address</label>\r\n <input formControlName=\"billingAddress\" id=\"billingAddress\" type=\"text\" class=\"ng-pristine ng-invalid ng-touched\"\r\n style=\"text-transform: capitalize;\">\r\n <div *ngIf=\"billingaddress?.errors?.required\" class=\"text-danger\"> <!--*ngIf=\"updateForm.get('billingAddress').invalid && updateForm.get('billingAddress')\"-->\r\n Billing Address is required.\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <button type=\"submit\" (click)=\"closeModal()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" [disabled]=\"updateForm.invalid\" (click)=\"onSubmit()\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Submit </span></button>\r\n </div>\r\n \r\n </form>\r\n </div>\r\n <!--end::Modal body-->\r\n</div>", styles: [".close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}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)}.cancel{color:var(--Gray-700, #344054);font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px;text-transform:capitalize;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF)}.submit{color:var(--White, #FFF);font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px;text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
75
75
|
}
|
|
76
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: UpdateComponent, decorators: [{
|
|
77
77
|
type: Component,
|
|
78
|
-
args: [{ selector: 'lib-update', template: "<div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h2>Add Address</h2>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary\" data-bs-dismiss=\"modal\">\r\n <i (click)=\"activeModal.dismiss()\" class=\"ki-duotone ki-cross fs-1\"><span class=\"path1\"></span><span\r\n class=\"path2\"></span></i>\r\n </div>\r\n
|
|
78
|
+
args: [{ selector: 'lib-update', template: "<div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h2>Add Address</h2>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary\" data-bs-dismiss=\"modal\">\r\n <i (click)=\"activeModal.dismiss()\" class=\"ki-duotone ki-cross fs-1\"><span class=\"path1\"></span><span\r\n class=\"path2\"></span></i>\r\n </div>\r\n </div>\r\n <div class=\"modal-body \">\r\n <!--begin::Form-->\r\n <form [formGroup]=\"updateForm\" action=\"#\">\r\n\r\n <div class=\"d-flex flex-column mb-7 fv-row fv-plugins-icon-container\">\r\n <div class=\"py-2\">\r\n <label class=\"required headingtext mb-2\">Brand Name</label>\r\n <input formControlName=\"brandName\" id=\"brandName\" readonly type=\"text\" class=\" ng-pristine ng-invalid ng-touched\"\r\n style=\"text-transform: capitalize;\">\r\n </div>\r\n <div class=\"py-2\">\r\n <label class=\"required headingtext mb-2\">GST No / Tax ID</label>\r\n <input formControlName=\"gstNumber\" id=\"gstNumber\" type=\"text\" class=\"ng-pristine ng-invalid ng-touched\"\r\n style=\"text-transform: capitalize;\">\r\n <div *ngIf=\"gstnumber?.errors?.required\" class=\"text-danger\"> <!--*ngIf=\"updateForm.get('gstNumber').invalid && updateForm.get('gstNumber')\"-->\r\n GST Number is required.\r\n </div>\r\n </div>\r\n <div class=\"py-2\">\r\n <label class=\"required headingtext mb-2\">Billing Address</label>\r\n <input formControlName=\"billingAddress\" id=\"billingAddress\" type=\"text\" class=\"ng-pristine ng-invalid ng-touched\"\r\n style=\"text-transform: capitalize;\">\r\n <div *ngIf=\"billingaddress?.errors?.required\" class=\"text-danger\"> <!--*ngIf=\"updateForm.get('billingAddress').invalid && updateForm.get('billingAddress')\"-->\r\n Billing Address is required.\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <button type=\"submit\" (click)=\"closeModal()\"\r\n class=\"btn-outline btn cancel me-4 w-50\">Cancel</button>\r\n <button type=\"button\" [disabled]=\"updateForm.invalid\" (click)=\"onSubmit()\"\r\n tabindex=\"0\" class=\"btn btn-primary px-4 ng-star-inserted w-50\" style=\"white-space: nowrap;\"><span\r\n class=\"submit\">Submit </span></button>\r\n </div>\r\n \r\n </form>\r\n </div>\r\n <!--end::Modal body-->\r\n</div>", styles: [".close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}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)}.cancel{color:var(--Gray-700, #344054);font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px;text-transform:capitalize;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF)}.submit{color:var(--White, #FFF);font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px;text-transform:capitalize}\n"] }]
|
|
79
79
|
}], ctorParameters: () => [{ type: i1.NgbActiveModal }, { type: i1.NgbModal }, { type: i2.PaymentSubscriptionService }, { type: i3.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i4.ToastService }], propDecorators: { modalData: [{
|
|
80
80
|
type: Input
|
|
81
81
|
}], passEntry: [{
|
|
82
82
|
type: Output
|
|
83
83
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvcGF5bWVudHMtc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wb3B1cHMvdXBkYXRlL3VwZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL3BheW1lbnRzLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcG9wdXBzL3VwZGF0ZS91cGRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksR0FBaUMsTUFBTSxlQUFlLENBQUM7QUFHL0csT0FBTyxFQUF5QixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVMxQyxNQUFNLE9BQU8sZUFBZTtJQVdqQjtJQUFxQztJQUErQjtJQUFnRTtJQUNuSTtJQUE4QjtJQVZ4QyxTQUFTLEdBQVcsRUFBRSxDQUFDO0lBQ3ZCLFNBQVMsR0FBVyxFQUFFLENBQUM7SUFDdkIsY0FBYyxHQUFXLEVBQUUsQ0FBQztJQUM1QixVQUFVLENBQVk7SUFDYixTQUFTLENBQU07SUFDZCxTQUFTLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDM0MsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFMUMsWUFDUyxXQUEyQixFQUFVLFlBQXNCLEVBQVMsMEJBQXNELEVBQVUsRUFBZSxFQUNsSixFQUFvQixFQUFVLEtBQWtCO1FBRGpELGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQVMsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDbEosT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFhO1FBRXhELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNoQixDQUFDO0lBRUYsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUNsQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzlCLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ25DLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ25DLGNBQWMsRUFBRSxDQUFDLEVBQUUsRUFBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJLFNBQVMsS0FBSyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxJQUFJLGNBQWMsS0FBSyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXRFLFNBQVM7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTO1lBQ3BDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVM7WUFDcEMsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsY0FBYztTQUNqRCxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3pCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLFFBQVEsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVE7WUFDaEMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFNBQVM7WUFDdEMsY0FBYyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGNBQWM7U0FDckQsQ0FBQztRQUVGLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDbEcsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVuRCxDQUFDLENBQ0YsQ0FBQztJQUNOLENBQUM7SUFDRCxZQUFZLEtBQUksQ0FBQzt1R0FsRU4sZUFBZTsyRkFBZixlQUFlLDJIQ2I1QixnbkpBOEVNOzsyRkRqRU8sZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZO3dPQVViLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95LCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCwgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IFBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvcGF5bWVudC1zdWJzY3JpcHRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXVwZGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwZGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3VwZGF0ZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFVwZGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3l7XHJcbiAgXHJcbiAgYnJhbmROYW1lOiBzdHJpbmcgPSAnJztcclxuICBnc3ROdW1iZXI6IHN0cmluZyA9ICcnO1xyXG4gIGJpbGxpbmdBZGRyZXNzOiBzdHJpbmcgPSAnJztcclxuICB1cGRhdGVGb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgbW9kYWxEYXRhOiBhbnk7XHJcbiAgQE91dHB1dCgpIHBhc3NFbnRyeTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiBcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBhY3RpdmVNb2RhbDogTmdiQWN0aXZlTW9kYWwsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxwcml2YXRlIFBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlOiBQYXltZW50U3Vic2NyaXB0aW9uU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHRvYXN0OlRvYXN0U2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5pbml0Rm9ybSgpXHJcbiAgIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnBhdGNoRm9ybSgpXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGluaXRGb3JtKCl7XHJcbiAgICB0aGlzLnVwZGF0ZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgYnJhbmROYW1lOiBbJycsVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgIGdzdE51bWJlcjogWycnLFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICBiaWxsaW5nQWRkcmVzczogWycnLFZhbGlkYXRvcnMucmVxdWlyZWRdXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0IGdzdG51bWJlcigpIHsgcmV0dXJuIHRoaXMudXBkYXRlRm9ybS5nZXQoJ2dzdE51bWJlcicpOyB9XHJcbiAgZ2V0IGJpbGxpbmdhZGRyZXNzKCkgeyByZXR1cm4gdGhpcy51cGRhdGVGb3JtLmdldCgnYmlsbGluZ0FkZHJlc3MnKTsgfVxyXG5cclxuICBwYXRjaEZvcm0oKXtcclxuICAgIHRoaXMudXBkYXRlRm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgICBicmFuZE5hbWU6IHRoaXMubW9kYWxEYXRhPy5icmFuZE5hbWUsXHJcbiAgICAgICAgZ3N0TnVtYmVyOiB0aGlzLm1vZGFsRGF0YT8uZ3N0TnVtYmVyLFxyXG4gICAgICAgIGJpbGxpbmdBZGRyZXNzOiB0aGlzLm1vZGFsRGF0YT8uYmlsbGluZ0FkZHJlc3NcclxuICAgIH0pXHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gIH1cclxuXHJcbiAgY2xvc2VNb2RhbCgpIHtcclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmRpc21pc3NBbGwoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XHJcbiAgICAgIGNsaWVudElkOnRoaXMubW9kYWxEYXRhLmNsaWVudElkLFxyXG4gICAgICBnc3RObzogdGhpcy51cGRhdGVGb3JtLnZhbHVlLmdzdE51bWJlcixcclxuICAgICAgYmlsbGluZ0FkZHJlc3M6IHRoaXMudXBkYXRlRm9ybS52YWx1ZS5iaWxsaW5nQWRkcmVzc1xyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLlBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlLnVwZGF0ZWFkZGJpbGxpbmcocmVxdWVzdERhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKHJlcXVlc3REYXRhKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igc3VibWl0dGluZyB1cGRhdGU6JywgZXJyb3IpO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuICBzdWJtaXRVcGRhdGUoKSB7fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgPGgyPkFkZCBBZGRyZXNzPC9oMj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnlcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiPlxyXG4gICAgICAgICAgICA8aSAoY2xpY2spPVwiYWN0aXZlTW9kYWwuZGlzbWlzcygpXCIgY2xhc3M9XCJraS1kdW90b25lIGtpLWNyb3NzIGZzLTFcIj48c3BhbiBjbGFzcz1cInBhdGgxXCI+PC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwYXRoMlwiPjwvc3Bhbj48L2k+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgXCI+XHJcbiAgICAgICAgPCEtLWJlZ2luOjpGb3JtLS0+XHJcbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJ1cGRhdGVGb3JtXCIgIGFjdGlvbj1cIiNcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbWItNyBmdi1yb3cgZnYtcGx1Z2lucy1pY29uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJyZXF1aXJlZCBoZWFkaW5ndGV4dCBtYi0yXCI+QnJhbmQgTmFtZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0ICBmb3JtQ29udHJvbE5hbWU9XCJicmFuZE5hbWVcIiBpZD1cImJyYW5kTmFtZVwiIHJlYWRvbmx5IHR5cGU9XCJ0ZXh0XCIgIGNsYXNzPVwiIG5nLXByaXN0aW5lIG5nLWludmFsaWQgbmctdG91Y2hlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwidGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwicmVxdWlyZWQgaGVhZGluZ3RleHQgbWItMlwiPkdTVCBObyAvIFRheCBJRDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImdzdE51bWJlclwiIGlkPVwiZ3N0TnVtYmVyXCIgdHlwZT1cInRleHRcIiAgIGNsYXNzPVwibmctcHJpc3RpbmUgbmctaW52YWxpZCBuZy10b3VjaGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImdzdG51bWJlcj8uZXJyb3JzPy5yZXF1aXJlZFwiICBjbGFzcz1cInRleHQtZGFuZ2VyXCI+IDwhLS0qbmdJZj1cInVwZGF0ZUZvcm0uZ2V0KCdnc3ROdW1iZXInKS5pbnZhbGlkICYmIHVwZGF0ZUZvcm0uZ2V0KCdnc3ROdW1iZXInKVwiLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHU1QgTnVtYmVyIGlzIHJlcXVpcmVkLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInJlcXVpcmVkIGhlYWRpbmd0ZXh0IG1iLTJcIj5CaWxsaW5nIEFkZHJlc3M8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJiaWxsaW5nQWRkcmVzc1wiIGlkPVwiYmlsbGluZ0FkZHJlc3NcIiB0eXBlPVwidGV4dFwiICAgY2xhc3M9XCJuZy1wcmlzdGluZSBuZy1pbnZhbGlkIG5nLXRvdWNoZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYmlsbGluZ2FkZHJlc3M/LmVycm9ycz8ucmVxdWlyZWRcIiAgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPiA8IS0tKm5nSWY9XCJ1cGRhdGVGb3JtLmdldCgnYmlsbGluZ0FkZHJlc3MnKS5pbnZhbGlkICYmIHVwZGF0ZUZvcm0uZ2V0KCdiaWxsaW5nQWRkcmVzcycpXCItLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJpbGxpbmcgQWRkcmVzcyBpcyByZXF1aXJlZC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uICB0eXBlPVwic3VibWl0XCIgIChjbGljayk9XCJjbG9zZU1vZGFsKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1vdXRsaW5lIGJ0biBjYW5jZWwgbWUtNCB3LTUwXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtkaXNhYmxlZF09XCJ1cGRhdGVGb3JtLmludmFsaWRcIiAoY2xpY2spPVwib25TdWJtaXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTQgbmctc3Rhci1pbnNlcnRlZCB3LTUwXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdWJtaXRcIj5TdWJtaXQgPC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICBcclxuICAgICAgICA8L2Zvcm0+XHJcblxyXG4gICAgICAgIDwhLS0gPGZvcm0gYWN0aW9uPVwiI1wiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtYi03IGZ2LXJvdyBmdi1wbHVnaW5zLWljb24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInJlcXVpcmVkIGhlYWRpbmd0ZXh0IG1iLTJcIj5CcmFuZCBOYW1lPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgICBpZD1cImJyYW5kTmFtZVwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCIgbmctcHJpc3RpbmUgbmctaW52YWxpZCBuZy10b3VjaGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcIiBbdmFsdWVdPVwibW9kYWxEYXRhPy5icmFuZE5hbWVcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJyZXF1aXJlZCBoZWFkaW5ndGV4dCBtYi0yXCI+R1NUIE5vIC8gVGF4IElEPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJnc3ROdW1iZXJcIiB0eXBlPVwidGV4dFwiICBjbGFzcz1cIm5nLXByaXN0aW5lIG5nLWludmFsaWQgbmctdG91Y2hlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwidGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XCIgW3ZhbHVlXT1cIm1vZGFsRGF0YT8uZ3N0TnVtYmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwicmVxdWlyZWQgaGVhZGluZ3RleHQgbWItMlwiPkJpbGxpbmcgQWRkcmVzczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0ICBpZD1cImJpbGxpbmdhZGRyZXNzXCIgdHlwZT1cInRleHRcIiAgIGNsYXNzPVwibmctcHJpc3RpbmUgbmctaW52YWxpZCBuZy10b3VjaGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcIiAgIFt2YWx1ZV09XCJtb2RhbERhdGE/LmJpbGxpbmdBZGRyZXNzXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAgdHlwZT1cInN1Ym1pdFwiICAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tb3V0bGluZSBidG4gY2FuY2VsIG1lLTQgdy01MFwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic3VibWl0VXBkYXRlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBweC00IG5nLXN0YXItaW5zZXJ0ZWQgdy01MFwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtcIj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VibWl0XCI+U3VibWl0IDwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgPC9mb3JtPiAtLT5cclxuICAgICAgICA8IS0tZW5kOjpGb3JtLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1lbmQ6Ok1vZGFsIGJvZHktLT5cclxuPC9kaXY+Il19
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvcGF5bWVudHMtc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wb3B1cHMvdXBkYXRlL3VwZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL3BheW1lbnRzLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcG9wdXBzL3VwZGF0ZS91cGRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksR0FBaUMsTUFBTSxlQUFlLENBQUM7QUFHL0csT0FBTyxFQUF5QixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVMxQyxNQUFNLE9BQU8sZUFBZTtJQVdqQjtJQUFxQztJQUErQjtJQUFnRTtJQUNuSTtJQUE4QjtJQVZ4QyxTQUFTLEdBQVcsRUFBRSxDQUFDO0lBQ3ZCLFNBQVMsR0FBVyxFQUFFLENBQUM7SUFDdkIsY0FBYyxHQUFXLEVBQUUsQ0FBQztJQUM1QixVQUFVLENBQVk7SUFDYixTQUFTLENBQU07SUFDZCxTQUFTLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDM0MsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFMUMsWUFDUyxXQUEyQixFQUFVLFlBQXNCLEVBQVMsMEJBQXNELEVBQVUsRUFBZSxFQUNsSixFQUFvQixFQUFVLEtBQWtCO1FBRGpELGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQVMsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDbEosT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFhO1FBRXhELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNoQixDQUFDO0lBRUYsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUNsQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzlCLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ25DLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ25DLGNBQWMsRUFBRSxDQUFDLEVBQUUsRUFBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJLFNBQVMsS0FBSyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxJQUFJLGNBQWMsS0FBSyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXRFLFNBQVM7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTO1lBQ3BDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVM7WUFDcEMsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsY0FBYztTQUNqRCxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3pCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLFFBQVEsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVE7WUFDaEMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFNBQVM7WUFDdEMsY0FBYyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGNBQWM7U0FDckQsQ0FBQztRQUVGLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDbEcsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQ0YsQ0FBQztJQUNOLENBQUM7SUFDRCxZQUFZLEtBQUksQ0FBQzt1R0FqRU4sZUFBZTsyRkFBZixlQUFlLDJIQ2I1Qix1MUZBOENNOzsyRkRqQ08sZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZO3dPQVViLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95LCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCwgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IFBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvcGF5bWVudC1zdWJzY3JpcHRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1zaGFyZWQnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXVwZGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwZGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3VwZGF0ZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFVwZGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3l7XHJcbiAgXHJcbiAgYnJhbmROYW1lOiBzdHJpbmcgPSAnJztcclxuICBnc3ROdW1iZXI6IHN0cmluZyA9ICcnO1xyXG4gIGJpbGxpbmdBZGRyZXNzOiBzdHJpbmcgPSAnJztcclxuICB1cGRhdGVGb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgbW9kYWxEYXRhOiBhbnk7XHJcbiAgQE91dHB1dCgpIHBhc3NFbnRyeTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiBcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBhY3RpdmVNb2RhbDogTmdiQWN0aXZlTW9kYWwsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxwcml2YXRlIFBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlOiBQYXltZW50U3Vic2NyaXB0aW9uU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHRvYXN0OlRvYXN0U2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5pbml0Rm9ybSgpXHJcbiAgIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnBhdGNoRm9ybSgpXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGluaXRGb3JtKCl7XHJcbiAgICB0aGlzLnVwZGF0ZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgYnJhbmROYW1lOiBbJycsVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgIGdzdE51bWJlcjogWycnLFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICBiaWxsaW5nQWRkcmVzczogWycnLFZhbGlkYXRvcnMucmVxdWlyZWRdXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0IGdzdG51bWJlcigpIHsgcmV0dXJuIHRoaXMudXBkYXRlRm9ybS5nZXQoJ2dzdE51bWJlcicpOyB9XHJcbiAgZ2V0IGJpbGxpbmdhZGRyZXNzKCkgeyByZXR1cm4gdGhpcy51cGRhdGVGb3JtLmdldCgnYmlsbGluZ0FkZHJlc3MnKTsgfVxyXG5cclxuICBwYXRjaEZvcm0oKXtcclxuICAgIHRoaXMudXBkYXRlRm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgICBicmFuZE5hbWU6IHRoaXMubW9kYWxEYXRhPy5icmFuZE5hbWUsXHJcbiAgICAgICAgZ3N0TnVtYmVyOiB0aGlzLm1vZGFsRGF0YT8uZ3N0TnVtYmVyLFxyXG4gICAgICAgIGJpbGxpbmdBZGRyZXNzOiB0aGlzLm1vZGFsRGF0YT8uYmlsbGluZ0FkZHJlc3NcclxuICAgIH0pXHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxyXG4gIH1cclxuXHJcbiAgY2xvc2VNb2RhbCgpIHtcclxuICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XHJcbiAgICAgIGNsaWVudElkOnRoaXMubW9kYWxEYXRhLmNsaWVudElkLFxyXG4gICAgICBnc3RObzogdGhpcy51cGRhdGVGb3JtLnZhbHVlLmdzdE51bWJlcixcclxuICAgICAgYmlsbGluZ0FkZHJlc3M6IHRoaXMudXBkYXRlRm9ybS52YWx1ZS5iaWxsaW5nQWRkcmVzc1xyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLlBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlLnVwZGF0ZWFkZGJpbGxpbmcocmVxdWVzdERhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKHJlcXVlc3REYXRhKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igc3VibWl0dGluZyB1cGRhdGU6JywgZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcbiAgc3VibWl0VXBkYXRlKCkge31cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgIDxoMj5BZGQgQWRkcmVzczwvaDI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWljb24gYnRuLWFjdGl2ZS1jb2xvci1wcmltYXJ5XCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIj5cclxuICAgICAgICAgICAgPGkgKGNsaWNrKT1cImFjdGl2ZU1vZGFsLmRpc21pc3MoKVwiIGNsYXNzPVwia2ktZHVvdG9uZSBraS1jcm9zcyBmcy0xXCI+PHNwYW4gY2xhc3M9XCJwYXRoMVwiPjwvc3Bhbj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGF0aDJcIj48L3NwYW4+PC9pPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBcIj5cclxuICAgICAgICA8IS0tYmVnaW46OkZvcm0tLT5cclxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInVwZGF0ZUZvcm1cIiAgYWN0aW9uPVwiI1wiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtYi03IGZ2LXJvdyBmdi1wbHVnaW5zLWljb24tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInJlcXVpcmVkIGhlYWRpbmd0ZXh0IG1iLTJcIj5CcmFuZCBOYW1lPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgIGZvcm1Db250cm9sTmFtZT1cImJyYW5kTmFtZVwiIGlkPVwiYnJhbmROYW1lXCIgcmVhZG9ubHkgdHlwZT1cInRleHRcIiAgY2xhc3M9XCIgbmctcHJpc3RpbmUgbmctaW52YWxpZCBuZy10b3VjaGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJyZXF1aXJlZCBoZWFkaW5ndGV4dCBtYi0yXCI+R1NUIE5vIC8gVGF4IElEPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZ3N0TnVtYmVyXCIgaWQ9XCJnc3ROdW1iZXJcIiB0eXBlPVwidGV4dFwiICAgY2xhc3M9XCJuZy1wcmlzdGluZSBuZy1pbnZhbGlkIG5nLXRvdWNoZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ3N0bnVtYmVyPy5lcnJvcnM/LnJlcXVpcmVkXCIgIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4gPCEtLSpuZ0lmPVwidXBkYXRlRm9ybS5nZXQoJ2dzdE51bWJlcicpLmludmFsaWQgJiYgdXBkYXRlRm9ybS5nZXQoJ2dzdE51bWJlcicpXCItLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdTVCBOdW1iZXIgaXMgcmVxdWlyZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwicmVxdWlyZWQgaGVhZGluZ3RleHQgbWItMlwiPkJpbGxpbmcgQWRkcmVzczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImJpbGxpbmdBZGRyZXNzXCIgaWQ9XCJiaWxsaW5nQWRkcmVzc1wiIHR5cGU9XCJ0ZXh0XCIgICBjbGFzcz1cIm5nLXByaXN0aW5lIG5nLWludmFsaWQgbmctdG91Y2hlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwidGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJiaWxsaW5nYWRkcmVzcz8uZXJyb3JzPy5yZXF1aXJlZFwiICBjbGFzcz1cInRleHQtZGFuZ2VyXCI+IDwhLS0qbmdJZj1cInVwZGF0ZUZvcm0uZ2V0KCdiaWxsaW5nQWRkcmVzcycpLmludmFsaWQgJiYgdXBkYXRlRm9ybS5nZXQoJ2JpbGxpbmdBZGRyZXNzJylcIi0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQmlsbGluZyBBZGRyZXNzIGlzIHJlcXVpcmVkLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gIHR5cGU9XCJzdWJtaXRcIiAgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLW91dGxpbmUgYnRuIGNhbmNlbCBtZS00IHctNTBcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cInVwZGF0ZUZvcm0uaW52YWxpZFwiIChjbGljayk9XCJvblN1Ym1pdCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBuZy1zdGFyLWluc2VydGVkIHctNTBcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7XCI+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1Ym1pdFwiPlN1Ym1pdCA8L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgIFxyXG4gICAgICAgIDwvZm9ybT5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLWVuZDo6TW9kYWwgYm9keS0tPlxyXG48L2Rpdj4iXX0=
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { Component, Input, HostListener } from '@angular/core';
|
|
2
2
|
import { UpdateComponent } from '../update/update.component';
|
|
3
3
|
import { TrailExpiredComponent } from '../trail-expired/trail-expired.component';
|
|
4
4
|
import { SubscriptionApprovalComponent } from '../subscription-approval/subscription-approval.component';
|
|
5
5
|
import { Subject, takeUntil } from 'rxjs';
|
|
6
|
+
import { ModalContentComponent } from '../model-content/model-content.component';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
8
9
|
import * as i2 from "tango-app-ui-shared";
|
|
@@ -32,6 +33,8 @@ export class UpgradePlanComponent {
|
|
|
32
33
|
originalPrice = 0;
|
|
33
34
|
oldProducts;
|
|
34
35
|
disableBtn = true;
|
|
36
|
+
trialproducts = [];
|
|
37
|
+
expiredProducts = [];
|
|
35
38
|
destroy$ = new Subject();
|
|
36
39
|
constructor(modalService, activeModel, toast, PaymentSubscriptionService, changeDetector) {
|
|
37
40
|
this.modalService = modalService;
|
|
@@ -59,6 +62,7 @@ export class UpgradePlanComponent {
|
|
|
59
62
|
brandName: this.clientInfo?.clientName,
|
|
60
63
|
gstNumber: this.clientInfo?.billingAddress?.gstNumber || '',
|
|
61
64
|
billingAddress: this.clientInfo?.billingAddress?.billingAddress || '',
|
|
65
|
+
clientId: this.clientInfo?.clientId
|
|
62
66
|
};
|
|
63
67
|
modalRef.result.then((result) => {
|
|
64
68
|
if (result) {
|
|
@@ -88,17 +92,24 @@ export class UpgradePlanComponent {
|
|
|
88
92
|
}
|
|
89
93
|
noofstoresDropdown(event) {
|
|
90
94
|
event.stopPropagation();
|
|
95
|
+
this.AvgstoresdropDown = false;
|
|
91
96
|
this.noofstoresdropDown = !this.noofstoresdropDown;
|
|
92
97
|
}
|
|
93
98
|
AvgstoresDropdown(event) {
|
|
94
99
|
event.stopPropagation();
|
|
100
|
+
this.noofstoresdropDown = false;
|
|
95
101
|
this.AvgstoresdropDown = !this.AvgstoresdropDown;
|
|
96
102
|
}
|
|
97
103
|
updatesubscription(id) {
|
|
98
104
|
this.PaymentSubscriptionService.clientBillingInfo(id).pipe(takeUntil(this.destroy$)).subscribe((res) => {
|
|
99
|
-
console.log(res, 'res');
|
|
100
105
|
if (res && res.code == 200) {
|
|
101
106
|
this.clientInfo = res.data;
|
|
107
|
+
if (this.clientInfo?.currentPlanInfo?.trialProducts) {
|
|
108
|
+
this.trialproducts = this.clientInfo.currentPlanInfo.trialProducts.map((item) => item.productName);
|
|
109
|
+
}
|
|
110
|
+
if (this.clientInfo?.currentPlanInfo?.expiredProducts) {
|
|
111
|
+
this.expiredProducts = this.clientInfo.currentPlanInfo.expiredProducts.map((item) => item.productName);
|
|
112
|
+
}
|
|
102
113
|
this.oldProducts = JSON.parse(JSON.stringify(this.clientInfo.currentPlanInfo.product));
|
|
103
114
|
this.basePricing();
|
|
104
115
|
this.changeDetector.detectChanges();
|
|
@@ -160,19 +171,32 @@ export class UpgradePlanComponent {
|
|
|
160
171
|
}
|
|
161
172
|
getColorClass(toolTip) {
|
|
162
173
|
switch (toolTip) {
|
|
163
|
-
case 'Subscribed': return 'badge badge-light-success mx-
|
|
164
|
-
case 'Trial Expired': return 'badge badge-light-warning mx-
|
|
165
|
-
case 'On Trial': return 'badge badge-light-primary mx-
|
|
174
|
+
case 'Subscribed': return 'badge badge-light-success mx-4';
|
|
175
|
+
case 'Trial Expired': return 'badge badge-light-warning mx-4';
|
|
176
|
+
case 'On Trial': return 'badge badge-light-primary mx-4';
|
|
166
177
|
default: return '';
|
|
167
178
|
}
|
|
168
179
|
}
|
|
180
|
+
onDocumentClick(event) {
|
|
181
|
+
this.AvgstoresdropDown = false;
|
|
182
|
+
this.noofstoresdropDown = false;
|
|
183
|
+
}
|
|
184
|
+
showInfo(data) {
|
|
185
|
+
const modalRef = this.modalService.open(ModalContentComponent, {
|
|
186
|
+
centered: true, size: 'lg', scrollable: true
|
|
187
|
+
});
|
|
188
|
+
modalRef.componentInstance.user = data;
|
|
189
|
+
}
|
|
169
190
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: UpgradePlanComponent, deps: [{ token: i1.NgbModal }, { token: i1.NgbActiveModal }, { token: i2.ToastService }, { token: i3.PaymentSubscriptionService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
170
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: UpgradePlanComponent, selector: "lib-upgrade-plan", inputs: { clientId: "clientId" }, ngImport: i0, template: "<div *ngIf=\"showNavGroup\" class=\"nav-group nav-group-outline mx-auto mt-8 d-flex justify-content-center\">\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3 me-2\"\r\n [ngClass]=\"clientInfo?.currentPlanInfo?.subscriptionPeriod === 'monthly' ? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"month\" (click)=\"selectPlan('monthly')\">\r\n Monthly\r\n </button>\r\n\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"clientInfo?.currentPlanInfo?.subscriptionPeriod === 'quarterly'? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"Quarterly\" (click)=\"selectPlan('quarterly')\">\r\n Quarterly - 10%\r\n </button>\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"clientInfo?.currentPlanInfo?.subscriptionPeriod === 'annual'? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"annual\" (click)=\"selectPlan('annual')\">\r\n Annual - 15%\r\n </button>\r\n\r\n</div>\r\n\r\n<div class=\"modal-body row \">\r\n <div class=\"col-lg-6 pe-8 vertical\">\r\n\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div class=\"py-2\">\r\n <label class=\"headingtext mb-3\">No of Stores </label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"noofstoresDropdown($event)\"\r\n aria-label=\"Default select example\">{{clientInfo?.currentPlanInfo?.totalStores ||\r\n noofstorestype[0]}}</div>\r\n <div *ngIf=\"noofstoresdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let noofstores of noofstorestype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"clientInfo?.currentPlanInfo?.totalStores === noofstores ? 'active' : ''\"\r\n class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"noofstoresdata(noofstores)\">\r\n {{ noofstores }}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"py-2\">\r\n <label class=\"headingtext mb-3\">Average Size of Stores </label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"AvgstoresDropdown($event)\"\r\n aria-label=\"Default select example\">{{clientInfo?.currentPlanInfo?.storeSize ||\r\n Avgstorestype[0]}}</div>\r\n <div *ngIf=\"AvgstoresdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let Avgstores of Avgstorestype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"clientInfo?.currentPlanInfo?.storeSize === Avgstores ? 'active' : ''\"\r\n class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"Avgstoresdata(Avgstores.value)\">\r\n {{Avgstores.name}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"maxcam mt-2\">\r\n Maximum {{clientInfo?.currentPlanInfo?.totalCamera}} Cameras are permitted in stores with square feet between {{clientInfo?.currentPlanInfo?.storeSize}}.\r\n </div>\r\n </div>\r\n\r\n <div class=\"selecttext my-5 mt-12\">Select Products</div>\r\n\r\n <div *ngFor=\"let productlist of clientInfo?.currentPlanInfo?.product\" class=\"form-check form-switch d-flex justify-content-between mt-4\">\r\n <div><input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"tangorevop\"\r\n [checked]=\"productlist.active === true\" (change)=\"updateProduct($event,productlist.productName)\" [disabled]=\"productlist.status === 'live'\">\r\n <label _ngcontent-wkh-c249=\"\" for=\"flexSwitchCheckDefault\"\r\n class=\"form-check-label headingtext d-flex\">{{productlist.aliseProductName}}\r\n <span [class]=\"getColorClass(productlist.toolTip)\">\r\n {{productlist.toolTip}}\r\n </span>\r\n </label>\r\n </div>\r\n <span class=\"view\">View Info <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"14\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path\r\n d=\"M9 6.5V9.5C9 9.76522 8.89464 10.0196 8.70711 10.2071C8.51957 10.3946 8.26522 10.5 8 10.5H2.5C2.23478 10.5 1.98043 10.3946 1.79289 10.2071C1.60536 10.0196 1.5 9.76522 1.5 9.5V4C1.5 3.73478 1.60536 3.48043 1.79289 3.29289C1.98043 3.10536 2.23478 3 2.5 3H5.5M7.5 1.5H10.5M10.5 1.5V4.5M10.5 1.5L5 7\"\r\n stroke=\"#009BF3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n\r\n\r\n\r\n\r\n </div>\r\n <div class=\"col-lg-6 px-8\">\r\n <div class=\"pb-6\">\r\n\r\n <div class=\"pricingtext\">Free</div>\r\n\r\n <div class=\"semi mt-2\">\r\n Integrated Solution for Growing Business\r\n </div>\r\n <!-- <div class=\"d-flex\"><span class=\"me-3 mt-5\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2231_42342)\">\r\n <path\r\n d=\"M7.99967 10.6673V8.00065M7.99967 5.33398H8.00634M14.6663 8.00065C14.6663 11.6826 11.6816 14.6673 7.99967 14.6673C4.31778 14.6673 1.33301 11.6826 1.33301 8.00065C1.33301 4.31875 4.31778 1.33398 7.99967 1.33398C11.6816 1.33398 14.6663 4.31875 14.6663 8.00065Z\"\r\n stroke=\"#B54708\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2231_42342\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <div class=\"subtext mt-6\">You will only be charged for < Tango Traffic,Tango <br>Zone & Tango RevOps >\r\n </div>\r\n </div> -->\r\n <div class=\"sub1text mt-5\">Starts from <span class=\"billedtext ms-2\"><s>\u20B9{{originalPrice}}</s></span><span\r\n class=\"billingtext ms-4\">\u20B9{{clientInfo?.currentPlanInfo?.price || 0}}</span></div>\r\n <div class=\"sub1text mt-2\">Per store Per month</div>\r\n\r\n </div>\r\n <div class=\"detailstext\">Billing Details</div>\r\n\r\n <div class=\"sub1text py-4\">\r\n <div class=\"mb-4\">Brand Name: {{clientInfo?.clientName}}</div>\r\n <div>Billing Address: {{clientInfo?.billingDetails?.billingAddress || '--'}}</div>\r\n </div>\r\n <div class=\"d-flex justify-content-end subscribe\"> \r\n <button (click)=\"update()\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary ms-2 ng-star-inserted w-100 btn-block text-nowrap\" *ngIf=\"!clientInfo?.billingDetails?.billingAddress\"><span class=\"submit\">Enter\r\n Billing Details </span></button>\r\n <button (click)=\"confirmation()\" type=\"button\" tabindex=\"0\" *ngIf=\"clientInfo?.billingDetails?.billingAddress\"\r\n class=\"btn btn-primary ms-2 ng-star-inserted w-100 btn-block\" style=\"white-space: nowrap;\" [disabled]=\"disableBtn\"><span\r\n class=\"submit\">Subscribe Now </span></button>\r\n </div>\r\n\r\n </div>\r\n</div>", styles: [".tabchange{align-items:center;gap:8px;padding:1% 25%}.pricingtext{color:var(--Gray-900, #101828);font-family:Inter;font-size:20px;font-weight:600;line-height:30px}.semi{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:400;line-height:20px}.subtext{color:var(--Error-700, #B42318);font-family:Inter;font-size:12px;font-weight:400;line-height:18px}.billingtext{color:var(--Primary-700, #009BF3);font-family:Inter;font-size:24px;font-weight:600;line-height:32px}.billedtext{color:var(--Primary-700, #009BF3);font-family:Inter;font-size:18px;font-weight:600;line-height:32px;text-decoration-line:\"strikethrough\"}.sub1text{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.detailstext{color:var(--Gray-500, #667085);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}.maxcam{color:var(--Primary-800, #008EDF);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.selecttext{color:#000;font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.activePlanBtn{border-radius:6px;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important;color:var(--Gray-700, #344054);font-size:14px!important;font-weight:500!important;line-height:20px}.inactivePlanBtn{color:var(--Gray-500, #667085)!important;font-size:14px;font-weight:500!important;line-height:20px}.nav-group{background:var(--Gray-50, #F9FAFB)!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important;width:fit-content}.form-check-label{color:var(--Gray-700, #344054)!important}.view{color:var(--Primary-700, #009BF3);font-family:Inter;font-size:12px;font-weight:500;line-height:18px;cursor:pointer}.modal-body{padding:4%!important}.vertical{border-right:1px solid var(--Gray-200, #EAECF0)}.subscribe{margin-top:38%}.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: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
191
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: UpgradePlanComponent, selector: "lib-upgrade-plan", inputs: { clientId: "clientId" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, ngImport: i0, template: "<div *ngIf=\"showNavGroup\" class=\"nav-group nav-group-outline mx-auto mt-8 d-flex justify-content-center\">\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3 me-2\"\r\n [ngClass]=\"clientInfo?.currentPlanInfo?.subscriptionPeriod === 'monthly' ? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"month\" (click)=\"selectPlan('monthly')\">\r\n Monthly\r\n </button>\r\n\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"clientInfo?.currentPlanInfo?.subscriptionPeriod === 'quarterly'? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"Quarterly\" (click)=\"selectPlan('quarterly')\">\r\n Quarterly - 10%\r\n </button>\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"clientInfo?.currentPlanInfo?.subscriptionPeriod === 'annual'? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"annual\" (click)=\"selectPlan('annual')\">\r\n Annual - 15%\r\n </button>\r\n\r\n</div>\r\n\r\n<div class=\"modal-body row \">\r\n <div class=\"col-lg-6 pe-8 vertical\">\r\n\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div class=\"py-2\">\r\n <label class=\"headingtext mb-3\">No of Stores </label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"noofstoresDropdown($event)\"\r\n aria-label=\"Default select example\">{{clientInfo?.currentPlanInfo?.totalStores ||\r\n noofstorestype[0]}}</div>\r\n <div *ngIf=\"noofstoresdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let noofstores of noofstorestype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"clientInfo?.currentPlanInfo?.totalStores === noofstores ? 'active' : ''\"\r\n class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"noofstoresdata(noofstores)\">\r\n {{ noofstores }}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"py-2\">\r\n <label class=\"headingtext mb-3\">Average Size of Stores </label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"AvgstoresDropdown($event)\"\r\n aria-label=\"Default select example\">{{clientInfo?.currentPlanInfo?.storeSize ||\r\n Avgstorestype[0].value}}</div>\r\n <div *ngIf=\"AvgstoresdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let Avgstores of Avgstorestype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"clientInfo?.currentPlanInfo?.storeSize === Avgstores ? 'active' : ''\"\r\n class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"Avgstoresdata(Avgstores.value)\">\r\n {{Avgstores.name}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"maxcam mt-2\">\r\n Maximum {{clientInfo?.currentPlanInfo?.totalCamera}} Cameras are permitted in stores with square feet between {{clientInfo?.currentPlanInfo?.storeSize}}.\r\n </div>\r\n </div>\r\n\r\n <div class=\"selecttext my-5 mt-12\">Select Products</div>\r\n\r\n <div *ngFor=\"let productlist of clientInfo?.currentPlanInfo?.product\" class=\"form-check form-switch d-flex justify-content-between mt-6\">\r\n <div><input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"tangorevop\"\r\n [checked]=\"productlist.active === true\" (change)=\"updateProduct($event,productlist.productName)\" [disabled]=\"productlist.status === 'live'\">\r\n <label _ngcontent-wkh-c249=\"\" for=\"flexSwitchCheckDefault\"\r\n class=\"form-check-label headingtext d-flex\">{{productlist.aliseProductName}} \r\n <span [class]=\"getColorClass(productlist.toolTip)\">\r\n {{productlist.toolTip}}\r\n </span>\r\n <span *ngIf=\"expiredProducts.length && productlist.productName.includes(expiredProducts)\">\r\n <img class=\"ms-2\" src=\"./assets/tango/custompopup-Icons/clockexpiry-icon.svg\" alt=\"\"> \r\n </span>\r\n <span *ngIf=\"trialproducts.length && productlist.productName.includes(trialproducts)\">\r\n <img class=\"ms-2\" src=\"./assets/tango/custompopup-Icons/primary-clock-icon.svg\" alt=\"\"> \r\n </span>\r\n </label>\r\n </div>\r\n <span class=\"view\" (click)=\"showInfo(productlist.productName)\">View Info <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"14\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path\r\n d=\"M9 6.5V9.5C9 9.76522 8.89464 10.0196 8.70711 10.2071C8.51957 10.3946 8.26522 10.5 8 10.5H2.5C2.23478 10.5 1.98043 10.3946 1.79289 10.2071C1.60536 10.0196 1.5 9.76522 1.5 9.5V4C1.5 3.73478 1.60536 3.48043 1.79289 3.29289C1.98043 3.10536 2.23478 3 2.5 3H5.5M7.5 1.5H10.5M10.5 1.5V4.5M10.5 1.5L5 7\"\r\n stroke=\"#009BF3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n\r\n\r\n\r\n\r\n </div>\r\n <div class=\"col-lg-6 px-8\">\r\n <div class=\"pb-6\">\r\n\r\n <div class=\"pricingtext\">Free</div>\r\n\r\n <div class=\"semi mt-2\">\r\n Integrated Solution for Growing Business\r\n </div>\r\n <!-- <div class=\"d-flex\"><span class=\"me-3 mt-5\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2231_42342)\">\r\n <path\r\n d=\"M7.99967 10.6673V8.00065M7.99967 5.33398H8.00634M14.6663 8.00065C14.6663 11.6826 11.6816 14.6673 7.99967 14.6673C4.31778 14.6673 1.33301 11.6826 1.33301 8.00065C1.33301 4.31875 4.31778 1.33398 7.99967 1.33398C11.6816 1.33398 14.6663 4.31875 14.6663 8.00065Z\"\r\n stroke=\"#B54708\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2231_42342\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <div class=\"subtext mt-6\">You will only be charged for < Tango Traffic,Tango <br>Zone & Tango RevOps >\r\n </div>\r\n </div> -->\r\n <div class=\"sub1text mt-5\">Starts from <span class=\"billedtext ms-2\"><s>\u20B9{{originalPrice}}</s></span><span\r\n class=\"billingtext ms-4\">\u20B9{{clientInfo?.currentPlanInfo?.price || 0}}</span></div>\r\n <div class=\"sub1text mt-2\">Per store Per month</div>\r\n\r\n </div>\r\n <div class=\"detailstext\">Billing Details</div>\r\n\r\n <div class=\"sub1text py-4\">\r\n <div class=\"mb-4\">Brand Name: {{clientInfo?.clientName}}</div>\r\n <div>Billing Address: {{clientInfo?.billingDetails?.billingAddress || '--'}}</div>\r\n </div>\r\n <div class=\"d-flex justify-content-end subscribe\"> \r\n <button (click)=\"update()\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary ms-2 ng-star-inserted w-100 btn-block text-nowrap\" *ngIf=\"!clientInfo?.billingDetails?.billingAddress\"><span class=\"submit\">Enter\r\n Billing Details </span></button>\r\n <button (click)=\"confirmation()\" type=\"button\" tabindex=\"0\" *ngIf=\"clientInfo?.billingDetails?.billingAddress\"\r\n class=\"btn btn-primary ms-2 ng-star-inserted w-100 btn-block\" style=\"white-space: nowrap;\" [disabled]=\"disableBtn\"><span\r\n class=\"submit\">Subscribe Now </span></button>\r\n </div>\r\n\r\n </div>\r\n</div>", styles: [".tabchange{align-items:center;gap:8px;padding:1% 25%}.pricingtext{color:var(--Gray-900, #101828);font-family:Inter;font-size:20px;font-weight:600;line-height:30px}.semi{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:400;line-height:20px}.subtext{color:var(--Error-700, #B42318);font-family:Inter;font-size:12px;font-weight:400;line-height:18px}.billingtext{color:var(--Primary-700, #009BF3);font-family:Inter;font-size:24px;font-weight:600;line-height:32px}.billedtext{color:var(--Primary-700, #009BF3);font-family:Inter;font-size:18px;font-weight:600;line-height:32px;text-decoration-line:\"strikethrough\"}.sub1text{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.detailstext{color:var(--Gray-500, #667085);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}.maxcam{color:var(--Primary-800, #008EDF);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.selecttext{color:#000;font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.activePlanBtn{border-radius:6px;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important;color:var(--Gray-700, #344054);font-size:14px!important;font-weight:500!important;line-height:20px}.inactivePlanBtn{color:var(--Gray-500, #667085)!important;font-size:14px;font-weight:500!important;line-height:20px}.nav-group{background:var(--Gray-50, #F9FAFB)!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important;width:fit-content}.form-check-label{color:var(--Gray-700, #344054)!important}.view{color:var(--Primary-700, #009BF3);font-family:Inter;font-size:12px;font-weight:500;line-height:18px;cursor:pointer}.modal-body{padding:4%!important}.vertical{border-right:1px solid var(--Gray-200, #EAECF0)}.subscribe{margin-top:38%}.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;height:45px!important}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
171
192
|
}
|
|
172
193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: UpgradePlanComponent, decorators: [{
|
|
173
194
|
type: Component,
|
|
174
|
-
args: [{ selector: 'lib-upgrade-plan', template: "<div *ngIf=\"showNavGroup\" class=\"nav-group nav-group-outline mx-auto mt-8 d-flex justify-content-center\">\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3 me-2\"\r\n [ngClass]=\"clientInfo?.currentPlanInfo?.subscriptionPeriod === 'monthly' ? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"month\" (click)=\"selectPlan('monthly')\">\r\n Monthly\r\n </button>\r\n\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"clientInfo?.currentPlanInfo?.subscriptionPeriod === 'quarterly'? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"Quarterly\" (click)=\"selectPlan('quarterly')\">\r\n Quarterly - 10%\r\n </button>\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"clientInfo?.currentPlanInfo?.subscriptionPeriod === 'annual'? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"annual\" (click)=\"selectPlan('annual')\">\r\n Annual - 15%\r\n </button>\r\n\r\n</div>\r\n\r\n<div class=\"modal-body row \">\r\n <div class=\"col-lg-6 pe-8 vertical\">\r\n\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div class=\"py-2\">\r\n <label class=\"headingtext mb-3\">No of Stores </label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"noofstoresDropdown($event)\"\r\n aria-label=\"Default select example\">{{clientInfo?.currentPlanInfo?.totalStores ||\r\n noofstorestype[0]}}</div>\r\n <div *ngIf=\"noofstoresdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let noofstores of noofstorestype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"clientInfo?.currentPlanInfo?.totalStores === noofstores ? 'active' : ''\"\r\n class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"noofstoresdata(noofstores)\">\r\n {{ noofstores }}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"py-2\">\r\n <label class=\"headingtext mb-3\">Average Size of Stores </label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"AvgstoresDropdown($event)\"\r\n aria-label=\"Default select example\">{{clientInfo?.currentPlanInfo?.storeSize ||\r\n Avgstorestype[0]}}</div>\r\n <div *ngIf=\"AvgstoresdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let Avgstores of Avgstorestype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"clientInfo?.currentPlanInfo?.storeSize === Avgstores ? 'active' : ''\"\r\n class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"Avgstoresdata(Avgstores.value)\">\r\n {{Avgstores.name}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"maxcam mt-2\">\r\n Maximum {{clientInfo?.currentPlanInfo?.totalCamera}} Cameras are permitted in stores with square feet between {{clientInfo?.currentPlanInfo?.storeSize}}.\r\n </div>\r\n </div>\r\n\r\n <div class=\"selecttext my-5 mt-12\">Select Products</div>\r\n\r\n <div *ngFor=\"let productlist of clientInfo?.currentPlanInfo?.product\" class=\"form-check form-switch d-flex justify-content-between mt-4\">\r\n <div><input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"tangorevop\"\r\n [checked]=\"productlist.active === true\" (change)=\"updateProduct($event,productlist.productName)\" [disabled]=\"productlist.status === 'live'\">\r\n <label _ngcontent-wkh-c249=\"\" for=\"flexSwitchCheckDefault\"\r\n class=\"form-check-label headingtext d-flex\">{{productlist.aliseProductName}}\r\n <span [class]=\"getColorClass(productlist.toolTip)\">\r\n {{productlist.toolTip}}\r\n </span>\r\n </label>\r\n </div>\r\n <span class=\"view\">View Info <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"14\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path\r\n d=\"M9 6.5V9.5C9 9.76522 8.89464 10.0196 8.70711 10.2071C8.51957 10.3946 8.26522 10.5 8 10.5H2.5C2.23478 10.5 1.98043 10.3946 1.79289 10.2071C1.60536 10.0196 1.5 9.76522 1.5 9.5V4C1.5 3.73478 1.60536 3.48043 1.79289 3.29289C1.98043 3.10536 2.23478 3 2.5 3H5.5M7.5 1.5H10.5M10.5 1.5V4.5M10.5 1.5L5 7\"\r\n stroke=\"#009BF3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n\r\n\r\n\r\n\r\n </div>\r\n <div class=\"col-lg-6 px-8\">\r\n <div class=\"pb-6\">\r\n\r\n <div class=\"pricingtext\">Free</div>\r\n\r\n <div class=\"semi mt-2\">\r\n Integrated Solution for Growing Business\r\n </div>\r\n <!-- <div class=\"d-flex\"><span class=\"me-3 mt-5\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2231_42342)\">\r\n <path\r\n d=\"M7.99967 10.6673V8.00065M7.99967 5.33398H8.00634M14.6663 8.00065C14.6663 11.6826 11.6816 14.6673 7.99967 14.6673C4.31778 14.6673 1.33301 11.6826 1.33301 8.00065C1.33301 4.31875 4.31778 1.33398 7.99967 1.33398C11.6816 1.33398 14.6663 4.31875 14.6663 8.00065Z\"\r\n stroke=\"#B54708\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2231_42342\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <div class=\"subtext mt-6\">You will only be charged for < Tango Traffic,Tango <br>Zone & Tango RevOps >\r\n </div>\r\n </div> -->\r\n <div class=\"sub1text mt-5\">Starts from <span class=\"billedtext ms-2\"><s>\u20B9{{originalPrice}}</s></span><span\r\n class=\"billingtext ms-4\">\u20B9{{clientInfo?.currentPlanInfo?.price || 0}}</span></div>\r\n <div class=\"sub1text mt-2\">Per store Per month</div>\r\n\r\n </div>\r\n <div class=\"detailstext\">Billing Details</div>\r\n\r\n <div class=\"sub1text py-4\">\r\n <div class=\"mb-4\">Brand Name: {{clientInfo?.clientName}}</div>\r\n <div>Billing Address: {{clientInfo?.billingDetails?.billingAddress || '--'}}</div>\r\n </div>\r\n <div class=\"d-flex justify-content-end subscribe\"> \r\n <button (click)=\"update()\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary ms-2 ng-star-inserted w-100 btn-block text-nowrap\" *ngIf=\"!clientInfo?.billingDetails?.billingAddress\"><span class=\"submit\">Enter\r\n Billing Details </span></button>\r\n <button (click)=\"confirmation()\" type=\"button\" tabindex=\"0\" *ngIf=\"clientInfo?.billingDetails?.billingAddress\"\r\n class=\"btn btn-primary ms-2 ng-star-inserted w-100 btn-block\" style=\"white-space: nowrap;\" [disabled]=\"disableBtn\"><span\r\n class=\"submit\">Subscribe Now </span></button>\r\n </div>\r\n\r\n </div>\r\n</div>", styles: [".tabchange{align-items:center;gap:8px;padding:1% 25%}.pricingtext{color:var(--Gray-900, #101828);font-family:Inter;font-size:20px;font-weight:600;line-height:30px}.semi{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:400;line-height:20px}.subtext{color:var(--Error-700, #B42318);font-family:Inter;font-size:12px;font-weight:400;line-height:18px}.billingtext{color:var(--Primary-700, #009BF3);font-family:Inter;font-size:24px;font-weight:600;line-height:32px}.billedtext{color:var(--Primary-700, #009BF3);font-family:Inter;font-size:18px;font-weight:600;line-height:32px;text-decoration-line:\"strikethrough\"}.sub1text{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.detailstext{color:var(--Gray-500, #667085);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}.maxcam{color:var(--Primary-800, #008EDF);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.selecttext{color:#000;font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.activePlanBtn{border-radius:6px;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important;color:var(--Gray-700, #344054);font-size:14px!important;font-weight:500!important;line-height:20px}.inactivePlanBtn{color:var(--Gray-500, #667085)!important;font-size:14px;font-weight:500!important;line-height:20px}.nav-group{background:var(--Gray-50, #F9FAFB)!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important;width:fit-content}.form-check-label{color:var(--Gray-700, #344054)!important}.view{color:var(--Primary-700, #009BF3);font-family:Inter;font-size:12px;font-weight:500;line-height:18px;cursor:pointer}.modal-body{padding:4%!important}.vertical{border-right:1px solid var(--Gray-200, #EAECF0)}.subscribe{margin-top:38%}.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"] }]
|
|
195
|
+
args: [{ selector: 'lib-upgrade-plan', template: "<div *ngIf=\"showNavGroup\" class=\"nav-group nav-group-outline mx-auto mt-8 d-flex justify-content-center\">\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3 me-2\"\r\n [ngClass]=\"clientInfo?.currentPlanInfo?.subscriptionPeriod === 'monthly' ? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"month\" (click)=\"selectPlan('monthly')\">\r\n Monthly\r\n </button>\r\n\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"clientInfo?.currentPlanInfo?.subscriptionPeriod === 'quarterly'? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"Quarterly\" (click)=\"selectPlan('quarterly')\">\r\n Quarterly - 10%\r\n </button>\r\n <button class=\"btn btn-color-gray-600 btn-active btn-active-secondary px-6 py-3\"\r\n [ngClass]=\"clientInfo?.currentPlanInfo?.subscriptionPeriod === 'annual'? 'activePlanBtn':'inactivePlanBtn'\"\r\n data-kt-plan=\"annual\" (click)=\"selectPlan('annual')\">\r\n Annual - 15%\r\n </button>\r\n\r\n</div>\r\n\r\n<div class=\"modal-body row \">\r\n <div class=\"col-lg-6 pe-8 vertical\">\r\n\r\n <div class=\"d-flex flex-column fv-row fv-plugins-icon-container\">\r\n <div class=\"py-2\">\r\n <label class=\"headingtext mb-3\">No of Stores </label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"noofstoresDropdown($event)\"\r\n aria-label=\"Default select example\">{{clientInfo?.currentPlanInfo?.totalStores ||\r\n noofstorestype[0]}}</div>\r\n <div *ngIf=\"noofstoresdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let noofstores of noofstorestype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"clientInfo?.currentPlanInfo?.totalStores === noofstores ? 'active' : ''\"\r\n class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"noofstoresdata(noofstores)\">\r\n {{ noofstores }}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"py-2\">\r\n <label class=\"headingtext mb-3\">Average Size of Stores </label>\r\n <div class=\"position-relative \">\r\n <div class=\"form-select dropselect levelviewtext\" id=\"currency\" (click)=\"AvgstoresDropdown($event)\"\r\n aria-label=\"Default select example\">{{clientInfo?.currentPlanInfo?.storeSize ||\r\n Avgstorestype[0].value}}</div>\r\n <div *ngIf=\"AvgstoresdropDown\" class=\"card py-2 w-100 position-absolute end-0 z-1\">\r\n <ul *ngFor=\"let Avgstores of Avgstorestype\" class=\"list-unstyled mb-2\">\r\n <li [ngClass]=\"clientInfo?.currentPlanInfo?.storeSize === Avgstores ? 'active' : ''\"\r\n class=\"producttext px-5 items cursor-pointer py-4\" (click)=\"Avgstoresdata(Avgstores.value)\">\r\n {{Avgstores.name}}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"maxcam mt-2\">\r\n Maximum {{clientInfo?.currentPlanInfo?.totalCamera}} Cameras are permitted in stores with square feet between {{clientInfo?.currentPlanInfo?.storeSize}}.\r\n </div>\r\n </div>\r\n\r\n <div class=\"selecttext my-5 mt-12\">Select Products</div>\r\n\r\n <div *ngFor=\"let productlist of clientInfo?.currentPlanInfo?.product\" class=\"form-check form-switch d-flex justify-content-between mt-6\">\r\n <div><input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"tangorevop\"\r\n [checked]=\"productlist.active === true\" (change)=\"updateProduct($event,productlist.productName)\" [disabled]=\"productlist.status === 'live'\">\r\n <label _ngcontent-wkh-c249=\"\" for=\"flexSwitchCheckDefault\"\r\n class=\"form-check-label headingtext d-flex\">{{productlist.aliseProductName}} \r\n <span [class]=\"getColorClass(productlist.toolTip)\">\r\n {{productlist.toolTip}}\r\n </span>\r\n <span *ngIf=\"expiredProducts.length && productlist.productName.includes(expiredProducts)\">\r\n <img class=\"ms-2\" src=\"./assets/tango/custompopup-Icons/clockexpiry-icon.svg\" alt=\"\"> \r\n </span>\r\n <span *ngIf=\"trialproducts.length && productlist.productName.includes(trialproducts)\">\r\n <img class=\"ms-2\" src=\"./assets/tango/custompopup-Icons/primary-clock-icon.svg\" alt=\"\"> \r\n </span>\r\n </label>\r\n </div>\r\n <span class=\"view\" (click)=\"showInfo(productlist.productName)\">View Info <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"14\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path\r\n d=\"M9 6.5V9.5C9 9.76522 8.89464 10.0196 8.70711 10.2071C8.51957 10.3946 8.26522 10.5 8 10.5H2.5C2.23478 10.5 1.98043 10.3946 1.79289 10.2071C1.60536 10.0196 1.5 9.76522 1.5 9.5V4C1.5 3.73478 1.60536 3.48043 1.79289 3.29289C1.98043 3.10536 2.23478 3 2.5 3H5.5M7.5 1.5H10.5M10.5 1.5V4.5M10.5 1.5L5 7\"\r\n stroke=\"#009BF3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n\r\n\r\n\r\n\r\n </div>\r\n <div class=\"col-lg-6 px-8\">\r\n <div class=\"pb-6\">\r\n\r\n <div class=\"pricingtext\">Free</div>\r\n\r\n <div class=\"semi mt-2\">\r\n Integrated Solution for Growing Business\r\n </div>\r\n <!-- <div class=\"d-flex\"><span class=\"me-3 mt-5\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"\r\n viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2231_42342)\">\r\n <path\r\n d=\"M7.99967 10.6673V8.00065M7.99967 5.33398H8.00634M14.6663 8.00065C14.6663 11.6826 11.6816 14.6673 7.99967 14.6673C4.31778 14.6673 1.33301 11.6826 1.33301 8.00065C1.33301 4.31875 4.31778 1.33398 7.99967 1.33398C11.6816 1.33398 14.6663 4.31875 14.6663 8.00065Z\"\r\n stroke=\"#B54708\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2231_42342\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <div class=\"subtext mt-6\">You will only be charged for < Tango Traffic,Tango <br>Zone & Tango RevOps >\r\n </div>\r\n </div> -->\r\n <div class=\"sub1text mt-5\">Starts from <span class=\"billedtext ms-2\"><s>\u20B9{{originalPrice}}</s></span><span\r\n class=\"billingtext ms-4\">\u20B9{{clientInfo?.currentPlanInfo?.price || 0}}</span></div>\r\n <div class=\"sub1text mt-2\">Per store Per month</div>\r\n\r\n </div>\r\n <div class=\"detailstext\">Billing Details</div>\r\n\r\n <div class=\"sub1text py-4\">\r\n <div class=\"mb-4\">Brand Name: {{clientInfo?.clientName}}</div>\r\n <div>Billing Address: {{clientInfo?.billingDetails?.billingAddress || '--'}}</div>\r\n </div>\r\n <div class=\"d-flex justify-content-end subscribe\"> \r\n <button (click)=\"update()\" type=\"button\" tabindex=\"0\"\r\n class=\"btn btn-primary ms-2 ng-star-inserted w-100 btn-block text-nowrap\" *ngIf=\"!clientInfo?.billingDetails?.billingAddress\"><span class=\"submit\">Enter\r\n Billing Details </span></button>\r\n <button (click)=\"confirmation()\" type=\"button\" tabindex=\"0\" *ngIf=\"clientInfo?.billingDetails?.billingAddress\"\r\n class=\"btn btn-primary ms-2 ng-star-inserted w-100 btn-block\" style=\"white-space: nowrap;\" [disabled]=\"disableBtn\"><span\r\n class=\"submit\">Subscribe Now </span></button>\r\n </div>\r\n\r\n </div>\r\n</div>", styles: [".tabchange{align-items:center;gap:8px;padding:1% 25%}.pricingtext{color:var(--Gray-900, #101828);font-family:Inter;font-size:20px;font-weight:600;line-height:30px}.semi{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:400;line-height:20px}.subtext{color:var(--Error-700, #B42318);font-family:Inter;font-size:12px;font-weight:400;line-height:18px}.billingtext{color:var(--Primary-700, #009BF3);font-family:Inter;font-size:24px;font-weight:600;line-height:32px}.billedtext{color:var(--Primary-700, #009BF3);font-family:Inter;font-size:18px;font-weight:600;line-height:32px;text-decoration-line:\"strikethrough\"}.sub1text{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.detailstext{color:var(--Gray-500, #667085);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}.maxcam{color:var(--Primary-800, #008EDF);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.selecttext{color:#000;font-family:Inter;font-size:16px;font-weight:500;line-height:24px}.activePlanBtn{border-radius:6px;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a!important;color:var(--Gray-700, #344054);font-size:14px!important;font-weight:500!important;line-height:20px}.inactivePlanBtn{color:var(--Gray-500, #667085)!important;font-size:14px;font-weight:500!important;line-height:20px}.nav-group{background:var(--Gray-50, #F9FAFB)!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important;width:fit-content}.form-check-label{color:var(--Gray-700, #344054)!important}.view{color:var(--Primary-700, #009BF3);font-family:Inter;font-size:12px;font-weight:500;line-height:18px;cursor:pointer}.modal-body{padding:4%!important}.vertical{border-right:1px solid var(--Gray-200, #EAECF0)}.subscribe{margin-top:38%}.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;height:45px!important}.producttext{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}\n"] }]
|
|
175
196
|
}], ctorParameters: () => [{ type: i1.NgbModal }, { type: i1.NgbActiveModal }, { type: i2.ToastService }, { type: i3.PaymentSubscriptionService }, { type: i0.ChangeDetectorRef }], propDecorators: { clientId: [{
|
|
176
197
|
type: Input
|
|
198
|
+
}], onDocumentClick: [{
|
|
199
|
+
type: HostListener,
|
|
200
|
+
args: ['document:click', ['$event']]
|
|
177
201
|
}] } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZS1wbGFuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvcGF5bWVudHMtc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wb3B1cHMvdXBncmFkZS1wbGFuL3VwZ3JhZGUtcGxhbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL3BheW1lbnRzLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcG9wdXBzL3VwZ3JhZGUtcGxhbi91cGdyYWRlLXBsYW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQWEsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUc3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUd6RyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBTTFDLE1BQU0sT0FBTyxvQkFBb0I7SUF1Qlg7SUFBZ0M7SUFBcUM7SUFBNkI7SUFBZ0U7SUF0QjdLLFFBQVEsQ0FBTztJQUN4QixrQkFBa0IsR0FBWSxLQUFLLENBQUM7SUFDcEMsaUJBQWlCLEdBQVksS0FBSyxDQUFDO0lBQ25DLGNBQWMsR0FBVSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDeEYsYUFBYSxHQUFVLENBQUMsRUFBQyxJQUFJLEVB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QUMsT0FBTyxnQ0FBZ0MsQ0FBQztZQUN6RCxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7dUdBcktVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLDBGQ2RqQyxtalFBaUlNOzsyRkRuSE8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjs4TUFLbkIsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVcGRhdGVDb21wb25lbnQgfSBmcm9tICcuLi91cGRhdGUvdXBkYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsLCBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgU3VjY2Vzc2Z1bGxTdWJzY3JpcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi9zdWNjZXNzZnVsbC1zdWJzY3JpcHRpb24vc3VjY2Vzc2Z1bGwtc3Vic2NyaXB0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYWlsRXhwaXJlZENvbXBvbmVudCB9IGZyb20gJy4uL3RyYWlsLWV4cGlyZWQvdHJhaWwtZXhwaXJlZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb25BcHByb3ZhbENvbXBvbmVudCB9IGZyb20gJy4uL3N1YnNjcmlwdGlvbi1hcHByb3ZhbC9zdWJzY3JpcHRpb24tYXBwcm92YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcbmltcG9ydCB7IFBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvcGF5bWVudC1zdWJzY3JpcHRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi11cGdyYWRlLXBsYW4nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGdyYWRlLXBsYW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91cGdyYWRlLXBsYW4uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVcGdyYWRlUGxhbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSxPbkluaXQge1xyXG4gIEBJbnB1dCgpIGNsaWVudElkOnN0cmluZ1xyXG4gIG5vb2ZzdG9yZXNkcm9wRG93bjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEF2Z3N0b3Jlc2Ryb3BEb3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbm9vZnN0b3Jlc3R5cGU6IGFueVtdID0gWycxKGZyZWUpJywgJzIgLSAyNScsICcyNiAtIDUwJywgJzUxIC0gNzUnLCAnNzYgLSAxMDAnLCAnMTAwKyddO1xyXG4gIEF2Z3N0b3Jlc3R5cGU6IGFueVtdID0gW3tuYW1lOic1MCAtIDUwMCBzcS5mdCcsdmFsdWU6JzUwLTUwMCd9LHtuYW1lOiAnNTAwIC0gNzUwIHNxLmZ0Jyx2YWx1ZTonNTAwLTc1MCd9LHtuYW1lOic3NTAgLSAxMDAwIHNxLmZ0Jyx2YWx1ZTonNzUwLTEwMDAnfSwge25hbWU6JzEwMDAgLSAxNTAwIHNxLmZ0Jyx2YWx1ZTonMTAwMC0xNTAwJ30sIHtuYW1lOicxNTAwIC0gMjAwMCBzcS5mdCcsdmFsdWU6JzE1MDAtMjAwMCd9LHtuYW1lOiAnMjAwMCsgc3EuZnQnLHZhbHVlOicyMDAwKyd9XTtcclxuICBwbGFuOiBzdHJpbmcgPSAnbW9udGhseSc7XHJcbiAgc2hvd05hdkdyb3VwOiBib29sZWFuID0gdHJ1ZTtcclxuICBub29mc3RvcmVzaXRlbTogYW55O1xyXG4gIG5vb2ZzdG9yZXNJc3N1ZTogYW55O1xyXG4gIEF2Z3N0b3Jlc2l0ZW06IGFueTtcclxuICBBdmdzdG9yZXNJc3N1ZTogYW55O1xyXG4gIHVwZGF0ZWluZm86IGFueTtcclxuICBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjbGllbnRJbmZvOiBhbnk7XHJcbiAgcHJpY2U6YW55O1xyXG4gIG9yaWdpbmFsUHJpY2U6YW55ID0gMDtcclxuICBvbGRQcm9kdWN0czphbnk7XHJcbiAgZGlzYWJsZUJ0bjpib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsIHByaXZhdGUgYWN0aXZlTW9kZWw6IE5nYkFjdGl2ZU1vZGFsLCBwcml2YXRlIHRvYXN0OiBUb2FzdFNlcnZpY2UsIHByaXZhdGUgUGF5bWVudFN1YnNjcmlwdGlvblNlcnZpY2U6IFBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlLCBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZiwpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6dm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0ZXN1YnNjcmlwdGlvbih0aGlzLmNsaWVudElkKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuICBzZWxlY3RQbGFuKHBsYW46IHN0cmluZykge1xyXG4gICAgdGhpcy5jbGllbnRJbmZvLmN1cnJlbnRQbGFuSW5mby5zdWJzY3JpcHRpb25QZXJpb2QgPSBwbGFuO1xyXG4gICAgdGhpcy5iYXNlUHJpY2luZygpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlKCkge1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKFVwZGF0ZUNvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSwgc2l6ZTogJ21kJ1xyXG4gICAgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5tb2RhbERhdGEgPSB7XHJcbiAgICAgIGJyYW5kTmFtZTogdGhpcy5jbGllbnRJbmZvPy5jbGllbnROYW1lLFxyXG4gICAgICBnc3ROdW1iZXI6dGhpcy5jbGllbnRJbmZvPy5iaWxsaW5nQWRkcmVzcz8uZ3N0TnVtYmVyfHwgJycsXHJcbiAgICAgIGJpbGxpbmdBZGRyZXNzOnRoaXMuY2xpZW50SW5mbz8uYmlsbGluZ0FkZHJlc3M/LmJpbGxpbmdBZGRyZXNzfHwgJycsXHJcbiAgICB9XHJcbiAgICBtb2RhbFJlZi5yZXN1bHQudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICB0aGlzLmNsaWVudEluZm8uYmlsbGluZ0RldGFpbHMuYmlsbGluZ0FkZHJlc3MgPSByZXN1bHQ/LmJpbGxpbmdBZGRyZXNzO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICB0cmFpbGV4cGlyZWQoKSB7XHJcbiAgICB0aGlzLmFjdGl2ZU1vZGVsLmNsb3NlKCk7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oVHJhaWxFeHBpcmVkQ29tcG9uZW50LCB7XHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbWQnXHJcbiAgICB9KTtcclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1hdGlvbigpIHtcclxuICAgIHRoaXMuYWN0aXZlTW9kZWwuY2xvc2UoKTtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihTdWJzY3JpcHRpb25BcHByb3ZhbENvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSwgc2l6ZTogJ21kJywgc2Nyb2xsYWJsZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5wcm9kdWN0cyA9IHRoaXMuY2xpZW50SW5mbz8uY3VycmVudFBsYW5JbmZvPy5wcm9kdWN0O1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuY2xpZW50SW5mbyA9IHRoaXMuY2xpZW50SW5mbztcclxuICB9XHJcblxyXG4gIHRvZ2dsZU5hdkdyb3VwKCkge1xyXG4gICAgdGhpcy5zaG93TmF2R3JvdXAgPSAhdGhpcy5zaG93TmF2R3JvdXA7XHJcbiAgfVxyXG5cclxuICBub29mc3RvcmVzRHJvcGRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5ub29mc3RvcmVzZHJvcERvd24gPSAhdGhpcy5ub29mc3RvcmVzZHJvcERvd247XHJcbiAgfVxyXG4gIEF2Z3N0b3Jlc0Ryb3Bkb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuQXZnc3RvcmVzZHJvcERvd24gPSAhdGhpcy5BdmdzdG9yZXNkcm9wRG93bjtcclxuICB9XHJcblxyXG4gIHVwZGF0ZXN1YnNjcmlwdGlvbihpZDogYW55KSB7XHJcbiAgICB0aGlzLlBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlLmNsaWVudEJpbGxpbmdJbmZvKGlkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhyZXMsICdyZXMnKTtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICB0aGlzLmNsaWVudEluZm8gPSByZXMuZGF0YTtcclxuICAgICAgICB0aGlzLm9sZFByb2R1Y3RzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmNsaWVudEluZm8uY3VycmVudFBsYW5JbmZvLnByb2R1Y3QpKVxyXG4gICAgICAgIHRoaXMuYmFzZVByaWNpbmcoKTtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgfVxyXG5cclxuICBiYXNlUHJpY2luZygpIHtcclxuICAgIGxldCBwcm9kdWN0cyA9IHRoaXMuY2xpZW50SW5mbz8uY3VycmVudFBsYW5JbmZvPy5wcm9kdWN0LmZpbHRlcigocHJvZHVjdDphbnkpID0+IHByb2R1Y3QuYWN0aXZlID09IHRydWUpLm1hcCgoaXRlbTphbnkpID0+IGl0ZW0ucHJvZHVjdE5hbWUpO1xyXG4gICAgbGV0IHBhcmFtczogYW55ID0ge1xyXG4gICAgICBjYW1hcmFQZXJTcWZ0OiB0aGlzLmNsaWVudEluZm8uY3VycmVudFBsYW5JbmZvLnN0b3JlU2l6ZSxcclxuICAgICAgc3RvcmVzQ291bnQ6IHRoaXMuY2xpZW50SW5mby5jdXJyZW50UGxhbkluZm8udG90YWxTdG9yZXMsXHJcbiAgICAgIHBsYW5OYW1lOiB0aGlzLmNsaWVudEluZm8uY3VycmVudFBsYW5JbmZvLnN1YnNjcmlwdGlvblBlcmlvZCxcclxuICAgICAgcHJvZHVjdHM6IHByb2R1Y3RzLFxyXG4gICAgICBjdXJyZW5jeVR5cGU6IFwicnVwZWVzXCJcclxuICAgIH1cclxuICAgIHRoaXMuUGF5bWVudFN1YnNjcmlwdGlvblNlcnZpY2UuYmFzZVByaWNpbmcocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZihyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy5jbGllbnRJbmZvLmN1cnJlbnRQbGFuSW5mby5wcmljZSA9IHJlcy5kYXRhLnByaWNlO1xyXG4gICAgICAgIHRoaXMub3JpZ2luYWxQcmljZSA9IHJlcy5kYXRhLk9yaWdpbmFsUHJpY2U7XHJcbiAgICAgICAgdGhpcy5jbGllbnRJbmZvLmN1cnJlbnRQbGFuSW5mby50b3RhbENhbWVyYSA9IHJlcy5kYXRhLmNhbWFyYUNvdW50O1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVByb2R1Y3QoZXZlbnQ6YW55LGRhdGE6c3RyaW5nKSB7XHJcbiAgICBsZXQgY2hhbmdlc0NvdW50ID0gMDtcclxuICAgIHRoaXMuY2xpZW50SW5mbz8uY3VycmVudFBsYW5JbmZvPy5wcm9kdWN0LmZvckVhY2goKGl0ZW06YW55KSA9PiB7XHJcbiAgICAgIGxldCBkZXRhaWxzID0gdGhpcy5vbGRQcm9kdWN0cy5maW5kKChlbGU6YW55KSA9PiBlbGUucHJvZHVjdE5hbWUgPT0gaXRlbS5wcm9kdWN0TmFtZSk7XHJcbiAgICAgIGlmKGRldGFpbHMpIHtcclxuICAgICAgICBpZihkZXRhaWxzLmFjdGl2ZSAhPT0gaXRlbS5hY3RpdmUpIHtcclxuICAgICAgICAgIGNoYW5nZXNDb3VudCAgPSBjaGFuZ2VzQ291bnQgKyAxO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIGlmIChjaGFuZ2VzQ291bnQgPT0gMCkge1xyXG4gICAgICB0aGlzLmRpc2FibGVCdG4gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmRpc2FibGVCdG4gPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBsZXQgcHJvZHVjdEluZGV4ID0gdGhpcy5jbGllbnRJbmZvPy5jdXJyZW50UGxhbkluZm8/LnByb2R1Y3QuZmluZEluZGV4KChwcm9kdWN0OmFueSkgPT4gcHJvZHVjdC5wcm9kdWN0TmFtZSA9PSBkYXRhKTtcclxuICAgIGlmKHByb2R1Y3RJbmRleCAhPSAtMSkge1xyXG4gICAgICBpZihldmVudC50YXJnZXQuY2hlY2tlZClcclxuICAgICAgICB0aGlzLmNsaWVudEluZm8uY3VycmVudFBsYW5JbmZvLnByb2R1Y3RbcHJvZHVjdEluZGV4XS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICBlbHNlIFxyXG4gICAgICAgIHRoaXMuY2xpZW50SW5mby5jdXJyZW50UGxhbkluZm8ucHJvZHVjdFtwcm9kdWN0SW5kZXhdLmFjdGl2ZSA9IGZhbHNlOyBcclxuICAgIH1cclxuICAgIHRoaXMuYmFzZVByaWNpbmcoKTtcclxuICB9XHJcblxyXG4gIG5vb2ZzdG9yZXNkYXRhKG5vb2ZzdG9yZXN2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmNsaWVudEluZm8uY3VycmVudFBsYW5JbmZvLnRvdGFsU3RvcmVzID0gbm9vZnN0b3Jlc3ZhbHVlO1xyXG4gICAgdGhpcy5ub29mc3RvcmVzZHJvcERvd24gPSBmYWxzZTtcclxuICAgIHRoaXMuYmFzZVByaWNpbmcoKTtcclxuICB9XHJcbiAgQXZnc3RvcmVzZGF0YShBdmdzdG9yZXN2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmNsaWVudEluZm8uY3VycmVudFBsYW5JbmZvLnN0b3JlU2l6ZSA9IEF2Z3N0b3Jlc3ZhbHVlO1xyXG4gICAgdGhpcy5iYXNlUHJpY2luZygpO1xyXG4gICAgdGhpcy5BdmdzdG9yZXNkcm9wRG93biA9IGZhbHNlO1xyXG4gIH1cclxuICBnZXRDb2xvckNsYXNzKHRvb2xUaXA6IHN0cmluZykge1xyXG4gICAgc3dpdGNoICh0b29sVGlwKSB7XHJcbiAgICAgIGNhc2UgJ1N1YnNjcmliZWQnOiByZXR1cm4gJ2JhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgbXgtMSc7XHJcbiAgICAgIGNhc2UgJ1RyaWFsIEV4cGlyZWQnOiByZXR1cm4gJ2JhZGdlIGJhZGdlLWxpZ2h0LXdhcm5pbmcgbXgtMSc7XHJcbiAgICAgIGNhc2UgJ09uIFRyaWFsJzogcmV0dXJuICdiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IG14LTEnO1xyXG4gICAgICBkZWZhdWx0OiByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwic2hvd05hdkdyb3VwXCIgY2xhc3M9XCJuYXYtZ3JvdXAgbmF2LWdyb3VwLW91dGxpbmUgbXgtYXV0byBtdC04IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1jb2xvci1ncmF5LTYwMCBidG4tYWN0aXZlIGJ0bi1hY3RpdmUtc2Vjb25kYXJ5IHB4LTYgcHktMyBtZS0yXCJcclxuICAgICAgICBbbmdDbGFzc109XCJjbGllbnRJbmZvPy5jdXJyZW50UGxhbkluZm8/LnN1YnNjcmlwdGlvblBlcmlvZCA9PT0gJ21vbnRobHknID8gJ2FjdGl2ZVBsYW5CdG4nOidpbmFjdGl2ZVBsYW5CdG4nXCJcclxuICAgICAgICBkYXRhLWt0LXBsYW49XCJtb250aFwiIChjbGljayk9XCJzZWxlY3RQbGFuKCdtb250aGx5JylcIj5cclxuICAgICAgICBNb250aGx5XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1jb2xvci1ncmF5LTYwMCBidG4tYWN0aXZlIGJ0bi1hY3RpdmUtc2Vjb25kYXJ5IHB4LTYgcHktM1wiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwiY2xpZW50SW5mbz8uY3VycmVudFBsYW5JbmZvPy5zdWJzY3JpcHRpb25QZXJpb2QgPT09ICdxdWFydGVybHknPyAnYWN0aXZlUGxhbkJ0bic6J2luYWN0aXZlUGxhbkJ0bidcIlxyXG4gICAgICAgIGRhdGEta3QtcGxhbj1cIlF1YXJ0ZXJseVwiIChjbGljayk9XCJzZWxlY3RQbGFuKCdxdWFydGVybHknKVwiPlxyXG4gICAgICAgIFF1YXJ0ZXJseSAtIDEwJVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1jb2xvci1ncmF5LTYwMCBidG4tYWN0aXZlIGJ0bi1hY3RpdmUtc2Vjb25kYXJ5IHB4LTYgcHktM1wiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwiY2xpZW50SW5mbz8uY3VycmVudFBsYW5JbmZvPy5zdWJzY3JpcHRpb25QZXJpb2QgPT09ICdhbm51YWwnPyAnYWN0aXZlUGxhbkJ0bic6J2luYWN0aXZlUGxhbkJ0bidcIlxyXG4gICAgICAgIGRhdGEta3QtcGxhbj1cImFubnVhbFwiIChjbGljayk9XCJzZWxlY3RQbGFuKCdhbm51YWwnKVwiPlxyXG4gICAgICAgIEFubnVhbCAtIDE1JVxyXG4gICAgPC9idXR0b24+XHJcblxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IHJvdyBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNiBwZS04IHZlcnRpY2FsXCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZnYtcm93IGZ2LXBsdWdpbnMtaWNvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB5LTJcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImhlYWRpbmd0ZXh0IG1iLTNcIj5ObyBvZiBTdG9yZXMgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1zZWxlY3QgZHJvcHNlbGVjdCBsZXZlbHZpZXd0ZXh0XCIgaWQ9XCJjdXJyZW5jeVwiIChjbGljayk9XCJub29mc3RvcmVzRHJvcGRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJEZWZhdWx0IHNlbGVjdCBleGFtcGxlXCI+e3tjbGllbnRJbmZvPy5jdXJyZW50UGxhbkluZm8/LnRvdGFsU3RvcmVzIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vb2ZzdG9yZXN0eXBlWzBdfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibm9vZnN0b3Jlc2Ryb3BEb3duXCIgY2xhc3M9XCJjYXJkIHB5LTIgdy0xMDAgcG9zaXRpb24tYWJzb2x1dGUgZW5kLTAgei0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCAqbmdGb3I9XCJsZXQgbm9vZnN0b3JlcyBvZiBub29mc3RvcmVzdHlwZVwiIGNsYXNzPVwibGlzdC11bnN0eWxlZCBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwiY2xpZW50SW5mbz8uY3VycmVudFBsYW5JbmZvPy50b3RhbFN0b3JlcyA9PT0gbm9vZnN0b3JlcyA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZHVjdHRleHQgcHgtNSBpdGVtcyBjdXJzb3ItcG9pbnRlciBweS00XCIgKGNsaWNrKT1cIm5vb2ZzdG9yZXNkYXRhKG5vb2ZzdG9yZXMpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbm9vZnN0b3JlcyB9fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMlwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaGVhZGluZ3RleHQgbWItM1wiPkF2ZXJhZ2UgU2l6ZSBvZiBTdG9yZXMgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1zZWxlY3QgZHJvcHNlbGVjdCBsZXZlbHZpZXd0ZXh0XCIgaWQ9XCJjdXJyZW5jeVwiIChjbGljayk9XCJBdmdzdG9yZXNEcm9wZG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkRlZmF1bHQgc2VsZWN0IGV4YW1wbGVcIj57e2NsaWVudEluZm8/LmN1cnJlbnRQbGFuSW5mbz8uc3RvcmVTaXplIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEF2Z3N0b3Jlc3R5cGVbMF19fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJBdmdzdG9yZXNkcm9wRG93blwiIGNsYXNzPVwiY2FyZCBweS0yIHctMTAwIHBvc2l0aW9uLWFic29sdXRlIGVuZC0wIHotMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IEF2Z3N0b3JlcyBvZiBBdmdzdG9yZXN0eXBlXCIgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCJjbGllbnRJbmZvPy5jdXJyZW50UGxhbkluZm8/LnN0b3JlU2l6ZSA9PT0gQXZnc3RvcmVzID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9kdWN0dGV4dCBweC01IGl0ZW1zIGN1cnNvci1wb2ludGVyIHB5LTRcIiAoY2xpY2spPVwiQXZnc3RvcmVzZGF0YShBdmdzdG9yZXMudmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tBdmdzdG9yZXMubmFtZX19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1heGNhbSBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICBNYXhpbXVtIHt7Y2xpZW50SW5mbz8uY3VycmVudFBsYW5JbmZvPy50b3RhbENhbWVyYX19IENhbWVyYXMgYXJlIHBlcm1pdHRlZCBpbiBzdG9yZXMgd2l0aCBzcXVhcmUgZmVldCBiZXR3ZWVuIHt7Y2xpZW50SW5mbz8uY3VycmVudFBsYW5JbmZvPy5zdG9yZVNpemV9fS5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3R0ZXh0IG15LTUgbXQtMTJcIj5TZWxlY3QgUHJvZHVjdHM8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcHJvZHVjdGxpc3Qgb2YgY2xpZW50SW5mbz8uY3VycmVudFBsYW5JbmZvPy5wcm9kdWN0XCIgY2xhc3M9XCJmb3JtLWNoZWNrIGZvcm0tc3dpdGNoIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC00XCI+XHJcbiAgICAgICAgICAgIDxkaXY+PGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIHJvbGU9XCJzd2l0Y2hcIiBpZD1cInRhbmdvcmV2b3BcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInByb2R1Y3RsaXN0LmFjdGl2ZSA9PT0gdHJ1ZVwiIChjaGFuZ2UpPVwidXBkYXRlUHJvZHVjdCgkZXZlbnQscHJvZHVjdGxpc3QucHJvZHVjdE5hbWUpXCIgW2Rpc2FibGVkXT1cInByb2R1Y3RsaXN0LnN0YXR1cyA9PT0gJ2xpdmUnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgX25nY29udGVudC13a2gtYzI0OT1cIlwiIGZvcj1cImZsZXhTd2l0Y2hDaGVja0RlZmF1bHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbCBoZWFkaW5ndGV4dCBkLWZsZXhcIj57e3Byb2R1Y3RsaXN0LmFsaXNlUHJvZHVjdE5hbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJnZXRDb2xvckNsYXNzKHByb2R1Y3RsaXN0LnRvb2xUaXApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7cHJvZHVjdGxpc3QudG9vbFRpcH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlld1wiPlZpZXcgSW5mbyA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOSA2LjVWOS41QzkgOS43NjUyMiA4Ljg5NDY0IDEwLjAxOTYgOC43MDcxMSAxMC4yMDcxQzguNTE5NTcgMTAuMzk0NiA4LjI2NTIyIDEwLjUgOCAxMC41SDIuNUMyLjIzNDc4IDEwLjUgMS45ODA0MyAxMC4zOTQ2IDEuNzkyODkgMTAuMjA3MUMxLjYwNTM2IDEwLjAxOTYgMS41IDkuNzY1MjIgMS41IDkuNVY0QzEuNSAzLjczNDc4IDEuNjA1MzYgMy40ODA0MyAxLjc5Mjg5IDMuMjkyODlDMS45ODA0MyAzLjEwNTM2IDIuMjM0NzggMyAyLjUgM0g1LjVNNy41IDEuNUgxMC41TTEwLjUgMS41VjQuNU0xMC41IDEuNUw1IDdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMDA5QkYzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNiBweC04XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBiLTZcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmljaW5ndGV4dFwiPkZyZWU8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZW1pIG10LTJcIj5cclxuICAgICAgICAgICAgICAgIEludGVncmF0ZWQgU29sdXRpb24gZm9yIEdyb3dpbmcgQnVzaW5lc3NcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImQtZmxleFwiPjxzcGFuIGNsYXNzPVwibWUtMyBtdC01XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjIzMV80MjM0MilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk03Ljk5OTY3IDEwLjY2NzNWOC4wMDA2NU03Ljk5OTY3IDUuMzMzOThIOC4wMDYzNE0xNC42NjYzIDguMDAwNjVDMTQuNjY2MyAxMS42ODI2IDExLjY4MTYgMTQuNjY3MyA3Ljk5OTY3IDE0LjY2NzNDNC4zMTc3OCAxNC42NjczIDEuMzMzMDEgMTEuNjgyNiAxLjMzMzAxIDguMDAwNjVDMS4zMzMwMSA0LjMxODc1IDQuMzE3NzggMS4zMzM5OCA3Ljk5OTY3IDEuMzMzOThDMTEuNjgxNiAxLjMzMzk4IDE0LjY2NjMgNC4zMTg3NSAxNC42NjYzIDguMDAwNjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjQjU0NzA4XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIyMzFfNDIzNDJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWJ0ZXh0IG10LTZcIj5Zb3Ugd2lsbCBvbmx5IGJlIGNoYXJnZWQgZm9yIDwgVGFuZ28gVHJhZmZpYyxUYW5nbyA8YnI+Wm9uZSAmIFRhbmdvIFJldk9wcyA+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViMXRleHQgbXQtNVwiPlN0YXJ0cyBmcm9tIDxzcGFuIGNsYXNzPVwiYmlsbGVkdGV4dCBtcy0yXCI+PHM+4oK5e3tvcmlnaW5hbFByaWNlfX08L3M+PC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiaWxsaW5ndGV4dCBtcy00XCI+4oK5e3tjbGllbnRJbmZvPy5jdXJyZW50UGxhbkluZm8/LnByaWNlIHx8IDB9fTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1YjF0ZXh0IG10LTJcIj5QZXIgc3RvcmUgUGVyIG1vbnRoPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzdGV4dFwiPkJpbGxpbmcgRGV0YWlsczwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ViMXRleHQgcHktNFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNFwiPkJyYW5kIE5hbWU6IHt7Y2xpZW50SW5mbz8uY2xpZW50TmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+QmlsbGluZyBBZGRyZXNzOiB7e2NsaWVudEluZm8/LmJpbGxpbmdEZXRhaWxzPy5iaWxsaW5nQWRkcmVzcyB8fCAnLS0nfX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgc3Vic2NyaWJlXCI+IFxyXG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJ1cGRhdGUoKVwiIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXMtMiBuZy1zdGFyLWluc2VydGVkIHctMTAwIGJ0bi1ibG9jayB0ZXh0LW5vd3JhcFwiICpuZ0lmPVwiIWNsaWVudEluZm8/LmJpbGxpbmdEZXRhaWxzPy5iaWxsaW5nQWRkcmVzc1wiPjxzcGFuIGNsYXNzPVwic3VibWl0XCI+RW50ZXJcclxuICAgICAgICAgICAgICAgICAgICBCaWxsaW5nIERldGFpbHMgPC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjb25maXJtYXRpb24oKVwiIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIiAqbmdJZj1cImNsaWVudEluZm8/LmJpbGxpbmdEZXRhaWxzPy5iaWxsaW5nQWRkcmVzc1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtcy0yIG5nLXN0YXItaW5zZXJ0ZWQgdy0xMDAgYnRuLWJsb2NrXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiIFtkaXNhYmxlZF09XCJkaXNhYmxlQnRuXCI+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1Ym1pdFwiPlN1YnNjcmliZSBOb3cgPC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZS1wbGFuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS1zZXR0aW5ncy9zcmMvbGliL2NvbXBvbmVudHMvcGF5bWVudHMtc3Vic2NyaXB0aW9uL3N1YnNjcmlwdGlvbi1wb3B1cHMvdXBncmFkZS1wbGFuL3VwZ3JhZGUtcGxhbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL3BheW1lbnRzLXN1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24tcG9wdXBzL3VwZ3JhZGUtcGxhbi91cGdyYWRlLXBsYW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQWEsS0FBSyxFQUFVLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFHekcsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7OztBQU1qRixNQUFNLE9BQU8sb0JBQW9CO0lBeUJYO0lBQWdDO0lBQXFDO0lBQTZCO0lBQWdFO0lBeEI3SyxRQUFRLENBQU87SUFDeEIsa0JBQWtCLEdBQVksS0FBSyxDQUFDO0lBQ3BDLGlCQUFpQixHQUFZLEtBQUssQ0FBQztJQUNuQyxjQUFjLEdBQVUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFB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QWlCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUN6QyxDQUFDO3VHQTdMVSxvQkFBb0I7MkZBQXBCLG9CQUFvQixnS0NmakMsNG5SQXVJTTs7MkZEeEhPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7OE1BS25CLFFBQVE7c0JBQWhCLEtBQUs7Z0JBa0xOLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgSW5wdXQsIE9uSW5pdCwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVwZGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uL3VwZGF0ZS91cGRhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwsIE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBTdWNjZXNzZnVsbFN1YnNjcmlwdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL3N1Y2Nlc3NmdWxsLXN1YnNjcmlwdGlvbi9zdWNjZXNzZnVsbC1zdWJzY3JpcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhaWxFeHBpcmVkQ29tcG9uZW50IH0gZnJvbSAnLi4vdHJhaWwtZXhwaXJlZC90cmFpbC1leHBpcmVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbkFwcHJvdmFsQ29tcG9uZW50IH0gZnJvbSAnLi4vc3Vic2NyaXB0aW9uLWFwcHJvdmFsL3N1YnNjcmlwdGlvbi1hcHByb3ZhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuaW1wb3J0IHsgUGF5bWVudFN1YnNjcmlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9wYXltZW50LXN1YnNjcmlwdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1vZGFsQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL21vZGVsLWNvbnRlbnQvbW9kZWwtY29udGVudC5jb21wb25lbnQnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi11cGdyYWRlLXBsYW4nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGdyYWRlLXBsYW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91cGdyYWRlLXBsYW4uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVcGdyYWRlUGxhbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSxPbkluaXQge1xyXG4gIEBJbnB1dCgpIGNsaWVudElkOnN0cmluZ1xyXG4gIG5vb2ZzdG9yZXNkcm9wRG93bjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEF2Z3N0b3Jlc2Ryb3BEb3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbm9vZnN0b3Jlc3R5cGU6IGFueVtdID0gWycxKGZyZWUpJywgJzIgLSAyNScsICcyNiAtIDUwJywgJzUxIC0gNzUnLCAnNzYgLSAxMDAnLCAnMTAwKyddO1xyXG4gIEF2Z3N0b3Jlc3R5cGU6IGFueVtdID0gW3tuYW1lOic1MCAtIDUwMCBzcS5mdCcsdmFsdWU6JzUwLTUwMCd9LHtuYW1lOiAnNTAwIC0gNzUwIHNxLmZ0Jyx2YWx1ZTonNTAwLTc1MCd9LHtuYW1lOic3NTAgLSAxMDAwIHNxLmZ0Jyx2YWx1ZTonNzUwLTEwMDAnfSwge25hbWU6JzEwMDAgLSAxNTAwIHNxLmZ0Jyx2YWx1ZTonMTAwMC0xNTAwJ30sIHtuYW1lOicxNTAwIC0gMjAwMCBzcS5mdCcsdmFsdWU6JzE1MDAtMjAwMCd9LHtuYW1lOiAnMjAwMCsgc3EuZnQnLHZhbHVlOicyMDAwKyd9XTtcclxuICBwbGFuOiBzdHJpbmcgPSAnbW9udGhseSc7XHJcbiAgc2hvd05hdkdyb3VwOiBib29sZWFuID0gdHJ1ZTtcclxuICBub29mc3RvcmVzaXRlbTogYW55O1xyXG4gIG5vb2ZzdG9yZXNJc3N1ZTogYW55O1xyXG4gIEF2Z3N0b3Jlc2l0ZW06IGFueTtcclxuICBBdmdzdG9yZXNJc3N1ZTogYW55O1xyXG4gIHVwZGF0ZWluZm86IGFueTtcclxuICBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjbGllbnRJbmZvOiBhbnk7XHJcbiAgcHJpY2U6YW55O1xyXG4gIG9yaWdpbmFsUHJpY2U6YW55ID0gMDtcclxuICBvbGRQcm9kdWN0czphbnk7XHJcbiAgZGlzYWJsZUJ0bjpib29sZWFuID0gdHJ1ZTtcclxuICB0cmlhbHByb2R1Y3RzOmFueSA9IFtdO1xyXG4gIGV4cGlyZWRQcm9kdWN0czphbnkgPVtdO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHJpdmF0ZSBhY3RpdmVNb2RlbDogTmdiQWN0aXZlTW9kYWwsIHByaXZhdGUgdG9hc3Q6IFRvYXN0U2VydmljZSwgcHJpdmF0ZSBQYXltZW50U3Vic2NyaXB0aW9uU2VydmljZTogUGF5bWVudFN1YnNjcmlwdGlvblNlcnZpY2UsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLCkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTp2b2lkIHtcclxuICAgIHRoaXMudXBkYXRlc3Vic2NyaXB0aW9uKHRoaXMuY2xpZW50SWQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIHNlbGVjdFBsYW4ocGxhbjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNsaWVudEluZm8uY3VycmVudFBsYW5JbmZvLnN1YnNjcmlwdGlvblBlcmlvZCA9IHBsYW47XHJcbiAgICB0aGlzLmJhc2VQcmljaW5nKCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGUoKSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oVXBkYXRlQ29tcG9uZW50LCB7XHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbWQnXHJcbiAgICB9KTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLm1vZGFsRGF0YSA9IHtcclxuICAgICAgYnJhbmROYW1lOiB0aGlzLmNsaWVudEluZm8/LmNsaWVudE5hbWUsXHJcbiAgICAgIGdzdE51bWJlcjp0aGlzLmNsaWVudEluZm8/LmJpbGxpbmdBZGRyZXNzPy5nc3ROdW1iZXJ8fCAnJyxcclxuICAgICAgYmlsbGluZ0FkZHJlc3M6dGhpcy5jbGllbnRJbmZvPy5iaWxsaW5nQWRkcmVzcz8uYmlsbGluZ0FkZHJlc3N8fCAnJyxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuY2xpZW50SW5mbz8uY2xpZW50SWRcclxuICAgIH1cclxuICAgIG1vZGFsUmVmLnJlc3VsdC50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgIHRoaXMuY2xpZW50SW5mby5iaWxsaW5nRGV0YWlscy5iaWxsaW5nQWRkcmVzcyA9IHJlc3VsdD8uYmlsbGluZ0FkZHJlc3M7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIHRyYWlsZXhwaXJlZCgpIHtcclxuICAgIHRoaXMuYWN0aXZlTW9kZWwuY2xvc2UoKTtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihUcmFpbEV4cGlyZWRDb21wb25lbnQsIHtcclxuICAgICAgY2VudGVyZWQ6IHRydWUsIHNpemU6ICdtZCdcclxuICAgIH0pO1xyXG4gICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKHJlc3VsdCkgPT4ge1xyXG5cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybWF0aW9uKCkge1xyXG4gICAgdGhpcy5hY3RpdmVNb2RlbC5jbG9zZSgpO1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKFN1YnNjcmlwdGlvbkFwcHJvdmFsQ29tcG9uZW50LCB7XHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbWQnLCBzY3JvbGxhYmxlOiB0cnVlXHJcbiAgICB9KTtcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnByb2R1Y3RzID0gdGhpcy5jbGllbnRJbmZvPy5jdXJyZW50UGxhbkluZm8/LnByb2R1Y3Q7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5jbGllbnRJbmZvID0gdGhpcy5jbGllbnRJbmZvO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlTmF2R3JvdXAoKSB7XHJcbiAgICB0aGlzLnNob3dOYXZHcm91cCA9ICF0aGlzLnNob3dOYXZHcm91cDtcclxuICB9XHJcblxyXG4gIG5vb2ZzdG9yZXNEcm9wZG93bihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLkF2Z3N0b3Jlc2Ryb3BEb3duID0gZmFsc2U7XHJcbiAgICB0aGlzLm5vb2ZzdG9yZXNkcm9wRG93biA9ICF0aGlzLm5vb2ZzdG9yZXNkcm9wRG93bjtcclxuICB9XHJcbiAgQXZnc3RvcmVzRHJvcGRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5ub29mc3RvcmVzZHJvcERvd24gPSBmYWxzZTtcclxuICAgIHRoaXMuQXZnc3RvcmVzZHJvcERvd24gPSAhdGhpcy5BdmdzdG9yZXNkcm9wRG93bjtcclxuICB9XHJcblxyXG4gIHVwZGF0ZXN1YnNjcmlwdGlvbihpZDogYW55KSB7XHJcbiAgICB0aGlzLlBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlLmNsaWVudEJpbGxpbmdJbmZvKGlkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIHRoaXMuY2xpZW50SW5mbyA9IHJlcy5kYXRhO1xyXG4gICAgICAgIGlmKHRoaXMuY2xpZW50SW5mbz8uY3VycmVudFBsYW5JbmZvPy50cmlhbFByb2R1Y3RzKSB7XHJcbiAgICAgICAgICB0aGlzLnRyaWFscHJvZHVjdHMgPSB0aGlzLmNsaWVudEluZm8uY3VycmVudFBsYW5JbmZvLnRyaWFsUHJvZHVjdHMubWFwKChpdGVtOmFueSkgPT4gaXRlbS5wcm9kdWN0TmFtZSkgO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZih0aGlzLmNsaWVudEluZm8/LmN1cnJlbnRQbGFuSW5mbz8uZXhwaXJlZFByb2R1Y3RzKSB7XHJcbiAgICAgICAgICB0aGlzLmV4cGlyZWRQcm9kdWN0cyA9IHRoaXMuY2xpZW50SW5mby5jdXJyZW50UGxhbkluZm8uZXhwaXJlZFByb2R1Y3RzLm1hcCgoaXRlbTphbnkpID0+IGl0ZW0ucHJvZHVjdE5hbWUpIDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5vbGRQcm9kdWN0cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jbGllbnRJbmZvLmN1cnJlbnRQbGFuSW5mby5wcm9kdWN0KSlcclxuICAgICAgICB0aGlzLmJhc2VQcmljaW5nKCk7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gIH1cclxuXHJcbiAgYmFzZVByaWNpbmcoKSB7XHJcbiAgICBsZXQgcHJvZHVjdHMgPSB0aGlzLmNsaWVudEluZm8/LmN1cnJlbnRQbGFuSW5mbz8ucHJvZHVjdC5maWx0ZXIoKHByb2R1Y3Q6YW55KSA9PiBwcm9kdWN0LmFjdGl2ZSA9PSB0cnVlKS5tYXAoKGl0ZW06YW55KSA9PiBpdGVtLnByb2R1Y3ROYW1lKTtcclxuICAgIGxldCBwYXJhbXM6IGFueSA9IHtcclxuICAgICAgY2FtYXJhUGVyU3FmdDogdGhpcy5jbGllbnRJbmZvLmN1cnJlbnRQbGFuSW5mby5zdG9yZVNpemUsXHJcbiAgICAgIHN0b3Jlc0NvdW50OiB0aGlzLmNsaWVudEluZm8uY3VycmVudFBsYW5JbmZvLnRvdGFsU3RvcmVzLFxyXG4gICAgICBwbGFuTmFtZTogdGhpcy5jbGllbnRJbmZvLmN1cnJlbnRQbGFuSW5mby5zdWJzY3JpcHRpb25QZXJpb2QsXHJcbiAgICAgIHByb2R1Y3RzOiBwcm9kdWN0cyxcclxuICAgICAgY3VycmVuY3lUeXBlOiBcInJ1cGVlc1wiXHJcbiAgICB9XHJcbiAgICB0aGlzLlBheW1lbnRTdWJzY3JpcHRpb25TZXJ2aWNlLmJhc2VQcmljaW5nKHBhcmFtcykucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIHRoaXMuY2xpZW50SW5mby5jdXJyZW50UGxhbkluZm8ucHJpY2UgPSByZXMuZGF0YS5wcmljZTtcclxuICAgICAgICB0aGlzLm9yaWdpbmFsUHJpY2UgPSByZXMuZGF0YS5PcmlnaW5hbFByaWNlO1xyXG4gICAgICAgIHRoaXMuY2xpZW50SW5mby5jdXJyZW50UGxhbkluZm8udG90YWxDYW1lcmEgPSByZXMuZGF0YS5jYW1hcmFDb3VudDtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQcm9kdWN0KGV2ZW50OmFueSxkYXRhOnN0cmluZykge1xyXG4gICAgbGV0IGNoYW5nZXNDb3VudCA9IDA7XHJcbiAgICB0aGlzLmNsaWVudEluZm8/LmN1cnJlbnRQbGFuSW5mbz8ucHJvZHVjdC5mb3JFYWNoKChpdGVtOmFueSkgPT4ge1xyXG4gICAgICBsZXQgZGV0YWlscyA9IHRoaXMub2xkUHJvZHVjdHMuZmluZCgoZWxlOmFueSkgPT4gZWxlLnByb2R1Y3ROYW1lID09IGl0ZW0ucHJvZHVjdE5hbWUpO1xyXG4gICAgICBpZihkZXRhaWxzKSB7XHJcbiAgICAgICAgaWYoZGV0YWlscy5hY3RpdmUgIT09IGl0ZW0uYWN0aXZlKSB7XHJcbiAgICAgICAgICBjaGFuZ2VzQ291bnQgID0gY2hhbmdlc0NvdW50ICsgMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICBpZiAoY2hhbmdlc0NvdW50ID09IDApIHtcclxuICAgICAgdGhpcy5kaXNhYmxlQnRuID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5kaXNhYmxlQnRuID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgbGV0IHByb2R1Y3RJbmRleCA9IHRoaXMuY2xpZW50SW5mbz8uY3VycmVudFBsYW5JbmZvPy5wcm9kdWN0LmZpbmRJbmRleCgocHJvZHVjdDphbnkpID0+IHByb2R1Y3QucHJvZHVjdE5hbWUgPT0gZGF0YSk7XHJcbiAgICBpZihwcm9kdWN0SW5kZXggIT0gLTEpIHtcclxuICAgICAgaWYoZXZlbnQudGFyZ2V0LmNoZWNrZWQpXHJcbiAgICAgICAgdGhpcy5jbGllbnRJbmZvLmN1cnJlbnRQbGFuSW5mby5wcm9kdWN0W3Byb2R1Y3RJbmRleF0uYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgZWxzZSBcclxuICAgICAgICB0aGlzLmNsaWVudEluZm8uY3VycmVudFBsYW5JbmZvLnByb2R1Y3RbcHJvZHVjdEluZGV4XS5hY3RpdmUgPSBmYWxzZTsgXHJcbiAgICB9XHJcbiAgICB0aGlzLmJhc2VQcmljaW5nKCk7XHJcbiAgfVxyXG5cclxuICBub29mc3RvcmVzZGF0YShub29mc3RvcmVzdmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5jbGllbnRJbmZvLmN1cnJlbnRQbGFuSW5mby50b3RhbFN0b3JlcyA9IG5vb2ZzdG9yZXN2YWx1ZTtcclxuICAgIHRoaXMubm9vZnN0b3Jlc2Ryb3BEb3duID0gZmFsc2U7XHJcbiAgICB0aGlzLmJhc2VQcmljaW5nKCk7XHJcbiAgfVxyXG4gIEF2Z3N0b3Jlc2RhdGEoQXZnc3RvcmVzdmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5jbGllbnRJbmZvLmN1cnJlbnRQbGFuSW5mby5zdG9yZVNpemUgPSBBdmdzdG9yZXN2YWx1ZTtcclxuICAgIHRoaXMuYmFzZVByaWNpbmcoKTtcclxuICAgIHRoaXMuQXZnc3RvcmVzZHJvcERvd24gPSBmYWxzZTtcclxuICB9XHJcbiAgZ2V0Q29sb3JDbGFzcyh0b29sVGlwOiBzdHJpbmcpIHtcclxuICAgIHN3aXRjaCAodG9vbFRpcCkge1xyXG4gICAgICBjYXNlICdTdWJzY3JpYmVkJzogcmV0dXJuICdiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIG14LTQnO1xyXG4gICAgICBjYXNlICdUcmlhbCBFeHBpcmVkJzogcmV0dXJuICdiYWRnZSBiYWRnZS1saWdodC13YXJuaW5nIG14LTQnO1xyXG4gICAgICBjYXNlICdPbiBUcmlhbCc6IHJldHVybiAnYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeSBteC00JztcclxuICAgICAgZGVmYXVsdDogcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCkge1xyXG4gICB0aGlzLkF2Z3N0b3Jlc2Ryb3BEb3duID0gZmFsc2U7XHJcbiAgIHRoaXMubm9vZnN0b3Jlc2Ryb3BEb3duID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzaG93SW5mbyhkYXRhOmFueSkge1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKE1vZGFsQ29udGVudENvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSwgc2l6ZTogJ2xnJywgc2Nyb2xsYWJsZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS51c2VyID0gZGF0YTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJzaG93TmF2R3JvdXBcIiBjbGFzcz1cIm5hdi1ncm91cCBuYXYtZ3JvdXAtb3V0bGluZSBteC1hdXRvIG10LTggZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWNvbG9yLWdyYXktNjAwIGJ0bi1hY3RpdmUgYnRuLWFjdGl2ZS1zZWNvbmRhcnkgcHgtNiBweS0zIG1lLTJcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cImNsaWVudEluZm8/LmN1cnJlbnRQbGFuSW5mbz8uc3Vic2NyaXB0aW9uUGVyaW9kID09PSAnbW9udGhseScgPyAnYWN0aXZlUGxhbkJ0bic6J2luYWN0aXZlUGxhbkJ0bidcIlxyXG4gICAgICAgIGRhdGEta3QtcGxhbj1cIm1vbnRoXCIgKGNsaWNrKT1cInNlbGVjdFBsYW4oJ21vbnRobHknKVwiPlxyXG4gICAgICAgIE1vbnRobHlcclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWNvbG9yLWdyYXktNjAwIGJ0bi1hY3RpdmUgYnRuLWFjdGl2ZS1zZWNvbmRhcnkgcHgtNiBweS0zXCJcclxuICAgICAgICBbbmdDbGFzc109XCJjbGllbnRJbmZvPy5jdXJyZW50UGxhbkluZm8/LnN1YnNjcmlwdGlvblBlcmlvZCA9PT0gJ3F1YXJ0ZXJseSc/ICdhY3RpdmVQbGFuQnRuJzonaW5hY3RpdmVQbGFuQnRuJ1wiXHJcbiAgICAgICAgZGF0YS1rdC1wbGFuPVwiUXVhcnRlcmx5XCIgKGNsaWNrKT1cInNlbGVjdFBsYW4oJ3F1YXJ0ZXJseScpXCI+XHJcbiAgICAgICAgUXVhcnRlcmx5IC0gMTAlXHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWNvbG9yLWdyYXktNjAwIGJ0bi1hY3RpdmUgYnRuLWFjdGl2ZS1zZWNvbmRhcnkgcHgtNiBweS0zXCJcclxuICAgICAgICBbbmdDbGFzc109XCJjbGllbnRJbmZvPy5jdXJyZW50UGxhbkluZm8/LnN1YnNjcmlwdGlvblBlcmlvZCA9PT0gJ2FubnVhbCc/ICdhY3RpdmVQbGFuQnRuJzonaW5hY3RpdmVQbGFuQnRuJ1wiXHJcbiAgICAgICAgZGF0YS1rdC1wbGFuPVwiYW5udWFsXCIgKGNsaWNrKT1cInNlbGVjdFBsYW4oJ2FubnVhbCcpXCI+XHJcbiAgICAgICAgQW5udWFsIC0gMTUlXHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgcm93IFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy02IHBlLTggdmVydGljYWxcIj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmdi1yb3cgZnYtcGx1Z2lucy1pY29uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHktMlwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaGVhZGluZ3RleHQgbWItM1wiPk5vIG9mIFN0b3JlcyA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXNlbGVjdCBkcm9wc2VsZWN0IGxldmVsdmlld3RleHRcIiBpZD1cImN1cnJlbmN5XCIgKGNsaWNrKT1cIm5vb2ZzdG9yZXNEcm9wZG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkRlZmF1bHQgc2VsZWN0IGV4YW1wbGVcIj57e2NsaWVudEluZm8/LmN1cnJlbnRQbGFuSW5mbz8udG90YWxTdG9yZXMgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbm9vZnN0b3Jlc3R5cGVbMF19fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJub29mc3RvcmVzZHJvcERvd25cIiBjbGFzcz1cImNhcmQgcHktMiB3LTEwMCBwb3NpdGlvbi1hYnNvbHV0ZSBlbmQtMCB6LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBub29mc3RvcmVzIG9mIG5vb2ZzdG9yZXN0eXBlXCIgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCJjbGllbnRJbmZvPy5jdXJyZW50UGxhbkluZm8/LnRvdGFsU3RvcmVzID09PSBub29mc3RvcmVzID8gJ2FjdGl2ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9kdWN0dGV4dCBweC01IGl0ZW1zIGN1cnNvci1wb2ludGVyIHB5LTRcIiAoY2xpY2spPVwibm9vZnN0b3Jlc2RhdGEobm9vZnN0b3JlcylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBub29mc3RvcmVzIH19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS0yXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJoZWFkaW5ndGV4dCBtYi0zXCI+QXZlcmFnZSBTaXplIG9mIFN0b3JlcyA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXNlbGVjdCBkcm9wc2VsZWN0IGxldmVsdmlld3RleHRcIiBpZD1cImN1cnJlbmN5XCIgKGNsaWNrKT1cIkF2Z3N0b3Jlc0Ryb3Bkb3duKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRGVmYXVsdCBzZWxlY3QgZXhhbXBsZVwiPnt7Y2xpZW50SW5mbz8uY3VycmVudFBsYW5JbmZvPy5zdG9yZVNpemUgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgQXZnc3RvcmVzdHlwZVswXS52YWx1ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIkF2Z3N0b3Jlc2Ryb3BEb3duXCIgY2xhc3M9XCJjYXJkIHB5LTIgdy0xMDAgcG9zaXRpb24tYWJzb2x1dGUgZW5kLTAgei0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCAqbmdGb3I9XCJsZXQgQXZnc3RvcmVzIG9mIEF2Z3N0b3Jlc3R5cGVcIiBjbGFzcz1cImxpc3QtdW5zdHlsZWQgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIFtuZ0NsYXNzXT1cImNsaWVudEluZm8/LmN1cnJlbnRQbGFuSW5mbz8uc3RvcmVTaXplID09PSBBdmdzdG9yZXMgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb2R1Y3R0ZXh0IHB4LTUgaXRlbXMgY3Vyc29yLXBvaW50ZXIgcHktNFwiIChjbGljayk9XCJBdmdzdG9yZXNkYXRhKEF2Z3N0b3Jlcy52YWx1ZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e0F2Z3N0b3Jlcy5uYW1lfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF4Y2FtIG10LTJcIj5cclxuICAgICAgICAgICAgICAgIE1heGltdW0ge3tjbGllbnRJbmZvPy5jdXJyZW50UGxhbkluZm8/LnRvdGFsQ2FtZXJhfX0gQ2FtZXJhcyBhcmUgcGVybWl0dGVkIGluIHN0b3JlcyB3aXRoIHNxdWFyZSBmZWV0IGJldHdlZW4ge3tjbGllbnRJbmZvPy5jdXJyZW50UGxhbkluZm8/LnN0b3JlU2l6ZX19LlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdHRleHQgbXktNSBtdC0xMlwiPlNlbGVjdCBQcm9kdWN0czwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwcm9kdWN0bGlzdCBvZiBjbGllbnRJbmZvPy5jdXJyZW50UGxhbkluZm8/LnByb2R1Y3RcIiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1zd2l0Y2ggZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG10LTZcIj5cclxuICAgICAgICAgICAgPGRpdj48aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cImNoZWNrYm94XCIgcm9sZT1cInN3aXRjaFwiIGlkPVwidGFuZ29yZXZvcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwicHJvZHVjdGxpc3QuYWN0aXZlID09PSB0cnVlXCIgKGNoYW5nZSk9XCJ1cGRhdGVQcm9kdWN0KCRldmVudCxwcm9kdWN0bGlzdC5wcm9kdWN0TmFtZSlcIiBbZGlzYWJsZWRdPVwicHJvZHVjdGxpc3Quc3RhdHVzID09PSAnbGl2ZSdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBfbmdjb250ZW50LXdraC1jMjQ5PVwiXCIgZm9yPVwiZmxleFN3aXRjaENoZWNrRGVmYXVsdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsIGhlYWRpbmd0ZXh0IGQtZmxleFwiPnt7cHJvZHVjdGxpc3QuYWxpc2VQcm9kdWN0TmFtZX19IFxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJnZXRDb2xvckNsYXNzKHByb2R1Y3RsaXN0LnRvb2xUaXApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7cHJvZHVjdGxpc3QudG9vbFRpcH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZXhwaXJlZFByb2R1Y3RzLmxlbmd0aCAmJiBwcm9kdWN0bGlzdC5wcm9kdWN0TmFtZS5pbmNsdWRlcyhleHBpcmVkUHJvZHVjdHMpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJtcy0yXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vY3VzdG9tcG9wdXAtSWNvbnMvY2xvY2tleHBpcnktaWNvbi5zdmdcIiBhbHQ9XCJcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidHJpYWxwcm9kdWN0cy5sZW5ndGggJiYgcHJvZHVjdGxpc3QucHJvZHVjdE5hbWUuaW5jbHVkZXModHJpYWxwcm9kdWN0cylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1zLTJcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9jdXN0b21wb3B1cC1JY29ucy9wcmltYXJ5LWNsb2NrLWljb24uc3ZnXCIgYWx0PVwiXCI+IFxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpZXdcIiAoY2xpY2spPVwic2hvd0luZm8ocHJvZHVjdGxpc3QucHJvZHVjdE5hbWUpXCI+VmlldyBJbmZvIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05IDYuNVY5LjVDOSA5Ljc2NTIyIDguODk0NjQgMTAuMDE5NiA4LjcwNzExIDEwLjIwNzFDOC41MTk1NyAxMC4zOTQ2IDguMjY1MjIgMTAuNSA4IDEwLjVIMi41QzIuMjM0NzggMTAuNSAxLjk4MDQzIDEwLjM5NDYgMS43OTI4OSAxMC4yMDcxQzEuNjA1MzYgMTAuMDE5NiAxLjUgOS43NjUyMiAxLjUgOS41VjRDMS41IDMuNzM0NzggMS42MDUzNiAzLjQ4MDQzIDEuNzkyODkgMy4yOTI4OUMxLjk4MDQzIDMuMTA1MzYgMi4yMzQ3OCAzIDIuNSAzSDUuNU03LjUgMS41SDEwLjVNMTAuNSAxLjVWNC41TTEwLjUgMS41TDUgN1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcblxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy02IHB4LThcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGItNlwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByaWNpbmd0ZXh0XCI+RnJlZTwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbWkgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgSW50ZWdyYXRlZCBTb2x1dGlvbiBmb3IgR3Jvd2luZyBCdXNpbmVzc1xyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+PHNwYW4gY2xhc3M9XCJtZS0zIG10LTVcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yMjMxXzQyMzQyKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuOTk5NjcgMTAuNjY3M1Y4LjAwMDY1TTcuOTk5NjcgNS4zMzM5OEg4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiNCNTQ3MDhcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMjIzMV80MjM0MlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1YnRleHQgbXQtNlwiPllvdSB3aWxsIG9ubHkgYmUgY2hhcmdlZCBmb3IgPCBUYW5nbyBUcmFmZmljLFRhbmdvIDxicj5ab25lICYgVGFuZ28gUmV2T3BzID5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWIxdGV4dCBtdC01XCI+U3RhcnRzIGZyb20gPHNwYW4gY2xhc3M9XCJiaWxsZWR0ZXh0IG1zLTJcIj48cz7igrl7e29yaWdpbmFsUHJpY2V9fTwvcz48L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJpbGxpbmd0ZXh0IG1zLTRcIj7igrl7e2NsaWVudEluZm8/LmN1cnJlbnRQbGFuSW5mbz8ucHJpY2UgfHwgMH19PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViMXRleHQgbXQtMlwiPlBlciBzdG9yZSBQZXIgbW9udGg8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHN0ZXh0XCI+QmlsbGluZyBEZXRhaWxzPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdWIxdGV4dCBweS00XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi00XCI+QnJhbmQgTmFtZToge3tjbGllbnRJbmZvPy5jbGllbnROYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdj5CaWxsaW5nIEFkZHJlc3M6IHt7Y2xpZW50SW5mbz8uYmlsbGluZ0RldGFpbHM/LmJpbGxpbmdBZGRyZXNzIHx8ICctLSd9fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBzdWJzY3JpYmVcIj4gXHJcbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInVwZGF0ZSgpXCIgdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtcy0yIG5nLXN0YXItaW5zZXJ0ZWQgdy0xMDAgYnRuLWJsb2NrIHRleHQtbm93cmFwXCIgKm5nSWY9XCIhY2xpZW50SW5mbz8uYmlsbGluZ0RldGFpbHM/LmJpbGxpbmdBZGRyZXNzXCI+PHNwYW4gY2xhc3M9XCJzdWJtaXRcIj5FbnRlclxyXG4gICAgICAgICAgICAgICAgICAgIEJpbGxpbmcgRGV0YWlscyA8L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNvbmZpcm1hdGlvbigpXCIgdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiICpuZ0lmPVwiY2xpZW50SW5mbz8uYmlsbGluZ0RldGFpbHM/LmJpbGxpbmdBZGRyZXNzXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG1zLTIgbmctc3Rhci1pbnNlcnRlZCB3LTEwMCBidG4tYmxvY2tcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBub3dyYXA7XCIgW2Rpc2FibGVkXT1cImRpc2FibGVCdG5cIj48c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VibWl0XCI+U3Vic2NyaWJlIE5vdyA8L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|