simpo-component-library 3.6.317 → 3.6.319
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/directive/icon-directive.directive.mjs +2 -1
- package/esm2022/lib/directive/image-directive.directive.mjs +2 -2
- package/esm2022/lib/directive/set-dynamic-background.directive.mjs +2 -2
- package/esm2022/lib/directive/spacing-around.directive.mjs +2 -2
- package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.component.mjs +3 -19
- package/esm2022/lib/ecommerce/sections/returns-calculator/returns-calculator.component.mjs +18 -227
- package/esm2022/lib/ecommerce/sections/scheme-details/scheme-details.component.mjs +14 -193
- package/esm2022/lib/ecommerce/sections/user-profile/user-profile.component.mjs +22 -179
- package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.component.mjs +31 -90
- package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +24 -3
- package/esm2022/lib/elements/image-editor/image-editor.component.mjs +4 -3
- package/esm2022/lib/elements/index.mjs +2 -2
- package/esm2022/lib/elements/link-editor/link-editor.component.mjs +27 -7
- package/esm2022/lib/elements/navbar-button-element/navbar-button-element.component.mjs +3 -3
- package/esm2022/lib/elements/simpo-button/simpo-button.component.mjs +5 -3
- package/esm2022/lib/sections/banner-section/banner-section.component.mjs +3 -3
- package/esm2022/lib/sections/contact-us/contact-us.component.mjs +6 -3
- package/esm2022/lib/sections/faq-section/faq-section.component.mjs +3 -3
- package/esm2022/lib/sections/header-section/header-section.component.mjs +3 -15
- package/esm2022/lib/sections/logo-showcase/logo-showcase.component.mjs +3 -3
- package/esm2022/lib/sections/new-testimonials/new-testimonials.component.mjs +3 -3
- package/esm2022/lib/sections/service-section/service-section.component.mjs +12 -9
- package/esm2022/lib/sections/service-section/service-section.model.mjs +1 -1
- package/esm2022/lib/services/rest.service.mjs +7 -80
- package/esm2022/lib/services/storage.service.mjs +1 -8
- package/esm2022/lib/styles/index.mjs +1 -2
- package/esm2022/lib/styles/style.model.mjs +1 -1
- package/esm2022/public-api.mjs +1 -3
- package/fesm2022/simpo-component-library.mjs +943 -1954
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/directive/background-directive.d.ts +1 -1
- package/lib/directive/button-directive.directive.d.ts +1 -1
- package/lib/directive/color.directive.d.ts +1 -1
- package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +0 -1
- package/lib/ecommerce/sections/new-collection/new-collection.component.d.ts +1 -1
- package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +1 -1
- package/lib/ecommerce/sections/product-list/product-list.component.d.ts +1 -1
- package/lib/ecommerce/sections/returns-calculator/returns-calculator.component.d.ts +3 -41
- package/lib/ecommerce/sections/scheme-details/scheme-details.component.d.ts +3 -35
- package/lib/ecommerce/sections/store-list/store-list.component.d.ts +1 -1
- package/lib/ecommerce/sections/store-page/store-page.component.d.ts +1 -1
- package/lib/ecommerce/sections/user-profile/user-profile.component.d.ts +2 -19
- package/lib/ecommerce/sections/verify-payment/verify-payment.component.d.ts +0 -4
- package/lib/elements/below-image-card/below-image-card.component.d.ts +2 -0
- package/lib/elements/image-editor/image-editor.component.d.ts +2 -0
- package/lib/elements/link-editor/link-editor.component.d.ts +6 -2
- package/lib/sections/banner-grid-section/banner-grid-section.component.d.ts +1 -1
- package/lib/sections/contact-us/contact-us.component.d.ts +2 -1
- package/lib/sections/faq-section/faq-section.component.d.ts +1 -1
- package/lib/sections/header-section/header-section.component.d.ts +1 -4
- package/lib/sections/moving-text/moving-text.component.d.ts +1 -1
- package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -1
- package/lib/sections/service-section/service-section.model.d.ts +2 -1
- package/lib/services/rest.service.d.ts +2 -18
- package/lib/services/storage.service.d.ts +0 -2
- package/lib/styles/index.d.ts +1 -2
- package/lib/styles/style.model.d.ts +7 -0
- package/package.json +1 -1
- package/public-api.d.ts +0 -2
- package/simpo-component-library-3.6.319.tgz +0 -0
- package/esm2022/lib/ecommerce/sections/passbook-transactions/passbook-transactions.component.mjs +0 -37
- package/esm2022/lib/ecommerce/sections/schemes/schemes.component.mjs +0 -108
- package/esm2022/lib/ecommerce/sections/schemes/schemes.component.model.mjs +0 -2
- package/esm2022/lib/sections/scheme-detail/scheme-detail.component.mjs +0 -265
- package/esm2022/lib/sections/scheme-detail/scheme-detail.modal.mjs +0 -2
- package/lib/ecommerce/sections/passbook-transactions/passbook-transactions.component.d.ts +0 -14
- package/lib/ecommerce/sections/schemes/schemes.component.d.ts +0 -28
- package/lib/ecommerce/sections/schemes/schemes.component.model.d.ts +0 -21
- package/lib/sections/scheme-detail/scheme-detail.component.d.ts +0 -68
- package/lib/sections/scheme-detail/scheme-detail.modal.d.ts +0 -17
- package/simpo-component-library-3.6.317.tgz +0 -0
@@ -1,265 +0,0 @@
|
|
1
|
-
import { Component, HostListener, Input, ViewChild } from '@angular/core';
|
2
|
-
import { CdkDragPlaceholder } from "@angular/cdk/drag-drop";
|
3
|
-
import { CommonModule } from '@angular/common';
|
4
|
-
import { FormsModule } from '@angular/forms';
|
5
|
-
import { TextEditorComponent } from '../../elements/text-editor/text-editor.component';
|
6
|
-
import { SpacingHorizontalDirective } from '../../directive/spacing-horizontal.directive';
|
7
|
-
import { ButtonEditorDirective } from '../../directive/button-editor.directive';
|
8
|
-
import { MatIcon } from '@angular/material/icon';
|
9
|
-
import { MatDialog, MatDialogModule } from '@angular/material/dialog';
|
10
|
-
import { ButtonDirectiveDirective } from '../../directive/button-directive.directive';
|
11
|
-
import { MatProgressSpinner } from "@angular/material/progress-spinner";
|
12
|
-
import { MessageService } from 'primeng/api';
|
13
|
-
import { ToastModule } from 'primeng/toast';
|
14
|
-
import * as i0 from "@angular/core";
|
15
|
-
import * as i1 from "@angular/router";
|
16
|
-
import * as i2 from "../../services/rest.service";
|
17
|
-
import * as i3 from "../../services/storage.service";
|
18
|
-
import * as i4 from "@angular/material/dialog";
|
19
|
-
import * as i5 from "../../services/events.service";
|
20
|
-
import * as i6 from "primeng/api";
|
21
|
-
import * as i7 from "@angular/common";
|
22
|
-
import * as i8 from "@angular/forms";
|
23
|
-
import * as i9 from "primeng/toast";
|
24
|
-
export class SchemeDetailComponent {
|
25
|
-
constructor(activeRoute, restService, storageService, matDialog, router, _eventService, messageService) {
|
26
|
-
this.activeRoute = activeRoute;
|
27
|
-
this.restService = restService;
|
28
|
-
this.storageService = storageService;
|
29
|
-
this.matDialog = matDialog;
|
30
|
-
this.router = router;
|
31
|
-
this._eventService = _eventService;
|
32
|
-
this.messageService = messageService;
|
33
|
-
this.data = null;
|
34
|
-
this.edit = true;
|
35
|
-
this.scrollToTermsAndCondition = false;
|
36
|
-
this.Object = Object;
|
37
|
-
this.stores = [];
|
38
|
-
this.staffMembers = [];
|
39
|
-
this.minAmount = 1000;
|
40
|
-
this.maxAmount = 100000;
|
41
|
-
this.monthlyAmount = 0;
|
42
|
-
this.installmentOptions = [];
|
43
|
-
this.maturityCount = 10;
|
44
|
-
this.benefitAmount = 0;
|
45
|
-
this.purchasedGram = 0;
|
46
|
-
this.currentGoldRate = 0;
|
47
|
-
this.termsAndCondition = false;
|
48
|
-
this.enrollButtonLoader = false;
|
49
|
-
this.screenWidth = 0;
|
50
|
-
this.faqList = [];
|
51
|
-
}
|
52
|
-
ngOnInit() {
|
53
|
-
this.getScreenSize();
|
54
|
-
this.styles = this.data?.styles;
|
55
|
-
this.activeRoute.queryParams.subscribe(params => {
|
56
|
-
if (params['schemeId']) {
|
57
|
-
this.getSchemeDetails(params['schemeId']);
|
58
|
-
}
|
59
|
-
if (params['termsAndCondition'])
|
60
|
-
this.scrollToTermsAndCondition = true;
|
61
|
-
});
|
62
|
-
}
|
63
|
-
getKeys(obj) {
|
64
|
-
return Object.keys(obj ?? {});
|
65
|
-
}
|
66
|
-
get stylesLayout() {
|
67
|
-
return { ...this.styles?.layout };
|
68
|
-
}
|
69
|
-
getButtonData(index) {
|
70
|
-
return this.data?.action?.buttons[index]?.content;
|
71
|
-
}
|
72
|
-
getButtonId(index) {
|
73
|
-
return this.data?.action?.buttons[index]?.id ?? "";
|
74
|
-
}
|
75
|
-
getButtonStyle(index) {
|
76
|
-
return this.data?.action?.buttons[index]?.styles;
|
77
|
-
}
|
78
|
-
get getInputText() {
|
79
|
-
return this.data?.content?.inputText?.[0]?.value ?? "";
|
80
|
-
}
|
81
|
-
getScreenSize(event) {
|
82
|
-
this.screenWidth = window.innerWidth;
|
83
|
-
}
|
84
|
-
getStaffList() {
|
85
|
-
this.restService.getAllStaffList().subscribe({
|
86
|
-
next: (res) => {
|
87
|
-
this.staffMembers = res?.data?.data ? res?.data?.data : [];
|
88
|
-
console.log(this.staffMembers);
|
89
|
-
},
|
90
|
-
error: (err) => {
|
91
|
-
console.log(err);
|
92
|
-
}
|
93
|
-
});
|
94
|
-
}
|
95
|
-
onAmountChange() {
|
96
|
-
if (Object.keys(this.schemeDetails.jewellerBenefit).length > 0) {
|
97
|
-
const values = Object.values(this.schemeDetails.jewellerBenefit);
|
98
|
-
const highestValue = Math.max(...Object.values(values));
|
99
|
-
if (this.schemeDetails.benefitType === "PERCENT_ON_MONTH") {
|
100
|
-
this.benefitAmount = (this.monthlyAmount * highestValue) / 100;
|
101
|
-
}
|
102
|
-
else if (this.schemeDetails.benefitType === "SCHEME") {
|
103
|
-
this.benefitAmount = ((this.monthlyAmount * this.maturityCount) * highestValue) / 100;
|
104
|
-
}
|
105
|
-
else if (this.schemeDetails.benefitType === "DISCOUNT") {
|
106
|
-
this.benefitAmount = ((this.monthlyAmount * this.maturityCount) * highestValue) / 100;
|
107
|
-
}
|
108
|
-
}
|
109
|
-
this.purchasedGram = Number((this.monthlyAmount / this.currentGoldRate).toFixed(2));
|
110
|
-
}
|
111
|
-
setMonthlyAmount(amount) {
|
112
|
-
this.installmentOptions.forEach((option) => {
|
113
|
-
if (option.value == amount?.value) {
|
114
|
-
option.status = true;
|
115
|
-
this.monthlyAmount = amount?.value;
|
116
|
-
}
|
117
|
-
else {
|
118
|
-
option.status = false;
|
119
|
-
}
|
120
|
-
});
|
121
|
-
this.onAmountChange();
|
122
|
-
}
|
123
|
-
getSchemeDetails(schemeId) {
|
124
|
-
this.restService.getSchemeDetails(schemeId).subscribe((res) => {
|
125
|
-
if (res && res.data) {
|
126
|
-
this.getStaffList();
|
127
|
-
this.schemeDetails = res.data;
|
128
|
-
console.log(this.schemeDetails);
|
129
|
-
this.minAmount = this.schemeDetails?.minInstallmentValue;
|
130
|
-
this.maxAmount = this.schemeDetails?.maxInstallmentValue;
|
131
|
-
this.monthlyAmount = this.minAmount;
|
132
|
-
this.schemeDetails?.suggestedValues?.forEach((scheme) => this.installmentOptions.push({ status: false, value: scheme }));
|
133
|
-
this.maturityCount = this.schemeDetails?.maturityCount ? this.schemeDetails.maturityCount : this.maturityCount;
|
134
|
-
this.stores = this.schemeDetails?.storeList ? this.schemeDetails.storeList : [];
|
135
|
-
this.getMetalPrice();
|
136
|
-
this.faqList = this.schemeDetails?.faqs ? this.schemeDetails?.faqs : [];
|
137
|
-
this.faqList.forEach(faq => faq.showAnswer = false);
|
138
|
-
if (this.scrollToTermsAndCondition)
|
139
|
-
this.scrollDown();
|
140
|
-
}
|
141
|
-
});
|
142
|
-
}
|
143
|
-
enrollScheme(scheme) {
|
144
|
-
if (!this.termsAndCondition) {
|
145
|
-
this.messageService.add({ severity: 'error', summary: 'Terms & Condition', detail: 'Please accept terms & condition' });
|
146
|
-
return;
|
147
|
-
}
|
148
|
-
this.enrollButtonLoader = true;
|
149
|
-
const userDetails = this.storageService.getUser();
|
150
|
-
let payload = {
|
151
|
-
userBasicDetails: {
|
152
|
-
customer_id: userDetails?.userId,
|
153
|
-
customer_name: userDetails?.contact?.name,
|
154
|
-
customer_phone: userDetails?.contact?.mobile,
|
155
|
-
customer_email: userDetails?.contact?.email,
|
156
|
-
},
|
157
|
-
schemeId: scheme?.id,
|
158
|
-
schemeName: scheme?.schemeName,
|
159
|
-
earlyRedemptionCharge: scheme?.enrollmentFees,
|
160
|
-
installmentAmount: this.monthlyAmount,
|
161
|
-
storeRefId: scheme?.schemeRepresentativeId,
|
162
|
-
storeId: this.stores.length < 2 ? this.stores[0].id : this.selectedStore?.id,
|
163
|
-
staffId: this.staffMembers.length < 2 ? this.staffMembers[0].id : this.selectedStaff?.id,
|
164
|
-
staffName: this.staffMembers.length < 2 ? this.staffMembers[0].name : this.selectedStaff?.name,
|
165
|
-
storeName: this.stores.length < 2 ? this.stores[0].name : this.selectedStore?.name,
|
166
|
-
maturityCount: scheme?.maturityCount,
|
167
|
-
jewellerBenefit: scheme?.jewellerBenefit,
|
168
|
-
dueMonths: scheme?.maturityCount,
|
169
|
-
businessId: scheme?.businessId,
|
170
|
-
businessName: scheme?.businessName,
|
171
|
-
enableEarlyRedemption: scheme?.enableEarlyRedemption,
|
172
|
-
redemptionSlabList: scheme?.redemptionSlabList,
|
173
|
-
schemeType: scheme?.schemeType,
|
174
|
-
metalType: scheme?.metalType,
|
175
|
-
karatType: scheme?.karatType,
|
176
|
-
customerAccount: ""
|
177
|
-
};
|
178
|
-
if (userDetails != null) {
|
179
|
-
this.restService.enrollScheme(payload, true).subscribe({
|
180
|
-
next: (response) => {
|
181
|
-
this.enrollButtonLoader = false;
|
182
|
-
if (response.data.cashfreeResponse != null) {
|
183
|
-
this.continuePayment(payload);
|
184
|
-
}
|
185
|
-
else {
|
186
|
-
this.storeCharges = response.data.cart;
|
187
|
-
this.dialogRef = this.matDialog.open(this.showChargesTemplate, {
|
188
|
-
panelClass: 'show-charges-class'
|
189
|
-
});
|
190
|
-
this.dialogRef.afterClosed().subscribe((res) => {
|
191
|
-
if (res === 'SUCCESS')
|
192
|
-
this.continuePayment(payload);
|
193
|
-
});
|
194
|
-
}
|
195
|
-
},
|
196
|
-
error: (err) => {
|
197
|
-
this.enrollButtonLoader = false;
|
198
|
-
if (err?.error?.message) {
|
199
|
-
}
|
200
|
-
}
|
201
|
-
});
|
202
|
-
}
|
203
|
-
else {
|
204
|
-
this.router.navigate(['/login'], { queryParams: { schemeDetail: 'scheme-detail' } });
|
205
|
-
}
|
206
|
-
}
|
207
|
-
closeDialog(action) {
|
208
|
-
this.dialogRef.close(action);
|
209
|
-
}
|
210
|
-
continuePayment(payload) {
|
211
|
-
this.restService.enrollScheme(payload, false).subscribe({
|
212
|
-
next: (response) => {
|
213
|
-
localStorage.setItem('passbookOrderId', response.data.orderId);
|
214
|
-
this.openCashfreeSdk(response.data.sessionId);
|
215
|
-
},
|
216
|
-
error: (error) => { }
|
217
|
-
});
|
218
|
-
}
|
219
|
-
openCashfreeSdk(sessionId) {
|
220
|
-
this._eventService.cashFreeEvent.emit({ data: { orderSignature: sessionId } });
|
221
|
-
}
|
222
|
-
getMetalPrice() {
|
223
|
-
let storeId = this.stores.length < 2 ? this.stores[0].id : this.selectedStore?.id;
|
224
|
-
if (!storeId)
|
225
|
-
return;
|
226
|
-
this.restService.getMetalPrice(storeId).subscribe((res) => {
|
227
|
-
this.metalPrice = res.data;
|
228
|
-
for (let gold of this.metalPrice?.priceData ?? []) {
|
229
|
-
if (gold.karats === this.schemeDetails.karatType) {
|
230
|
-
this.currentGoldRate = gold.price;
|
231
|
-
this.purchasedGram = Number((this.monthlyAmount / this.currentGoldRate).toFixed(2));
|
232
|
-
return;
|
233
|
-
}
|
234
|
-
}
|
235
|
-
});
|
236
|
-
}
|
237
|
-
get isMobile() {
|
238
|
-
return window.innerWidth <= 475;
|
239
|
-
}
|
240
|
-
scrollDown() {
|
241
|
-
const el = document.getElementById('termsAndCondition');
|
242
|
-
if (el) {
|
243
|
-
el.scrollIntoView({ behavior: 'smooth' });
|
244
|
-
}
|
245
|
-
}
|
246
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SchemeDetailComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.RestService }, { token: i3.StorageServiceService }, { token: i4.MatDialog }, { token: i1.Router }, { token: i5.EventsService }, { token: i6.MessageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
247
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SchemeDetailComponent, isStandalone: true, selector: "simpo-scheme-detail", inputs: { data: "data", index: "index", edit: "edit" }, host: { listeners: { "window:resize": "getScreenSize($event)" } }, providers: [MatDialog, MessageService], viewQueries: [{ propertyName: "showChargesTemplate", first: true, predicate: ["showCharges"], descendants: true, static: true }], ngImport: i0, template: "<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"\r\n [showTransformOptions]=\"isMobile ? 'translateY(-100%)' : ''\"></p-toast>\r\n\r\n\r\n<section class=\"main_section w-100\" [spacingHorizontal]=\"stylesLayout\" [id]=\"data?.id\">\r\n <div class=\"about_plan_section p-5 d-flex flex-column align-items-center justify-content-center\">\r\n <ng-container *ngTemplateOutlet=\"aboutUsTemplate\"></ng-container>\r\n </div>\r\n <div class=\"scheme_calculator_section p-5 d-flex flex-column align-items-center justify-content-center\">\r\n <ng-container *ngTemplateOutlet=\"schemeCalculator\"></ng-container>\r\n </div>\r\n <div class=\"faq_section p-5\" *ngIf=\"faqList.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"faqTemplate\"></ng-container>\r\n </div>\r\n <div class=\"terms_condition_section p-5\"\r\n *ngIf=\"schemeDetails?.termsAndConditions && schemeDetails?.termsAndConditions != {}\">\r\n <ng-container *ngTemplateOutlet=\"termsAndConditions\"></ng-container>\r\n </div>\r\n</section>\r\n<ng-template #aboutUsTemplate>\r\n <div class=\"d-flex flex-column gap-3\">\r\n <div class=\"text_header d-flex align-items-center justify-content-center\">\r\n <simpo-text-editor [(value)]=\"getInputText\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div class=\"desc_text\">\r\n {{schemeDetails?.about}}\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #schemeCalculator>\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"calc_header d-flex flex-column align-items-center justify-content-center\">\r\n <span>Calculate Your Returns</span>\r\n <div class=\"calc_desc\">\r\n See how your savings grow with our smart investment schemes. choose your preferred scheme and discover\r\n your potential returns.\r\n </div>\r\n </div>\r\n <div class=\"calculator_section\">\r\n <div class=\"gold-purity\"\r\n *ngIf=\"schemeDetails?.schemeType === 'GOLD_PROTECTION' && (stores.length == 1 || selectedStore?.id)\">\r\n <div class=\"purity\" *ngFor=\"let gold of metalPrice?.priceData ?? []\">\r\n <img src=\"https://jewellers.stage.passbookapp.in/assets/images/gold-scheme/24k_gold_pic.svg\" alt=\"\">\r\n <div>\r\n <div>{{gold?.karats?.replaceAll('_', \"\")}} Gold Purity</div>\r\n <div class=\"gold-price\">\u20B9{{gold.price}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sub-header mb-3 px-3 monthly-scheme\">\r\n <h6 class=\"mb-0 sub-header-text\">Select Your Monthly Investment Amount</h6>\r\n <p class=\"enrolled-gram\" *ngIf=\"schemeDetails?.schemeType === 'GOLD_PROTECTION' && (stores.length == 1 || selectedStore?.id)\">{{purchasedGram}} gms</p>\r\n </div>\r\n\r\n <div class=\"calculate-slider mb-4 px-3\">\r\n <div class=\"slider-container position-relative\">\r\n <input type=\"range\" class=\"form-range custom-range\" [min]=\"minAmount\" [max]=\"maxAmount\"\r\n [step]=\"schemeDetails?.valueStep\" [(ngModel)]=\"monthlyAmount\" (ngModelChange)=\"onAmountChange()\">\r\n <div class=\"slider-labels d-flex justify-content-between mt-2\">\r\n <span class=\"fw-bold\">\u20B9{{minAmount | number}}</span>\r\n <span class=\"fw-bold\">\u20B9{{maxAmount | number}}</span>\r\n </div>\r\n <div class=\"random_options d-flex justify-content-center gap-3 align-items-center\"\r\n *ngIf=\"installmentOptions && installmentOptions.length > 0\">\r\n <div class=\"option cursor-pointer d-flex justify-content-center align-items-center\"\r\n [ngStyle]=\"option.status ? {'border': '2px solid grey','font-weight':'bold'} : {}\"\r\n *ngFor=\"let option of installmentOptions\" (click)=\"setMonthlyAmount(option)\">\r\n \u20B9 {{option?.value}}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-3\">\r\n <div class=\"d-flex align-items-center justify-content-center\">\r\n <span class=\"text-center fw-bold fs-4 monthly-amount\">\u20B9{{monthlyAmount | number}}</span>\r\n </div>\r\n <div class=\"text-center text-muted small mt-1\">Monthly Investment</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"calculator-bottom px-3 mb-5\">\r\n <div class=\"scheme-results\">\r\n <div class=\"row align-items-center justify-content-between mb-3 g-2\">\r\n <!-- Contribution Card -->\r\n <div class=\"col-12 col-sm-6\" [ngClass]=\"{'card-container': this.schemeDetails?.schemeType !== 'GOLD_PROTECTION'}\">\r\n <div class=\"card text-center h-100\">\r\n <div class=\"card-body p-2 p-md-3 d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold calc_amount fs-md-5\">\r\n \u20B9{{(monthlyAmount * maturityCount) | number}}\r\n </div>\r\n <div class=\"text-muted small\">\r\n Your {{maturityCount}}-Month Contribution\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Plus Icon - Hidden on mobile -->\r\n <div class=\"col-auto d-none d-md-flex justify-content-center\" *ngIf=\"this.schemeDetails?.schemeType !== 'GOLD_PROTECTION'\">\r\n <div class=\"fs-3 text-muted\">+</div>\r\n </div>\r\n\r\n <!-- Benefit Card -->\r\n <div class=\"col-12 col-sm-6 card-container\" *ngIf=\"this.schemeDetails?.schemeType !== 'GOLD_PROTECTION'\">\r\n <div class=\"card text-center h-100\">\r\n <div class=\"card-body p-2 p-md-3 d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold calc_amount fs-md-5\">\r\n \u20B9{{benefitAmount | number}}\r\n </div>\r\n <div class=\"text-muted small\">\r\n Scheme Benefit\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Equals Icon - Hidden on mobile -->\r\n <div class=\"col-auto d-none d-md-flex justify-content-center\" *ngIf=\"this.schemeDetails?.schemeType !== 'GOLD_PROTECTION'\">\r\n <div class=\"fs-3 text-muted\">=</div>\r\n </div>\r\n\r\n <!-- Total Card -->\r\n <div class=\"col-12 card-container mt-2 mt-md-0\" *ngIf=\"this.schemeDetails?.schemeType !== 'GOLD_PROTECTION'\">\r\n <div class=\"card text-center h-100 border-2\" [style.background]=\"styles?.background?.accentColor\">\r\n <div class=\"card-body p-2 p-md-3 d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold calc_amount fs-md-5 text-white\">\r\n <span *ngIf=\"schemeDetails?.benefitType != 'DISCOUNT'\">\r\n \u20B9{{((monthlyAmount * maturityCount) + benefitAmount) | number}}\r\n </span>\r\n <span *ngIf=\"schemeDetails?.benefitType === 'DISCOUNT'\">\r\n \u20B9{{(monthlyAmount * maturityCount) | number}}\r\n </span>\r\n </div>\r\n <div class=\"text-white-50 small\">\r\n Total Redemption Value\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-6\" *ngIf=\"this.schemeDetails?.schemeType === 'GOLD_PROTECTION'\">\r\n <div class=\"card text-center h-100\">\r\n <div class=\"card-body p-2 p-md-3 d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold calc_amount fs-md-5\">\r\n {{purchasedGram}} gms\r\n </div>\r\n <div class=\"text-muted small\">\r\n Gold Allocation Today\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"bonus-message text-center mb-3 d-flex justify-content-between align-items-center\"\r\n *ngIf=\"schemeDetails?.storeList?.length >=2 || staffMembers.length >= 2 \">\r\n <div class=\"store_selection w-50 align-items-center gap-1\" *ngIf=\"schemeDetails?.storeList?.length >=2\">\r\n <div class=\"w-100 h-100 d-flex justify-content-start align-items-center\"> <span>Select\r\n Store : </span></div>\r\n <div class=\"store-selector\">\r\n <select id=\"storeDropdown\" [(ngModel)]=\"selectedStore\" class=\"form-select\" (ngModelChange)=\"getMetalPrice()\">\r\n <option [ngValue]=\"null\" disabled>Choose a store...</option>\r\n <option *ngFor=\"let store of stores;\" [ngValue]=\"store\">\r\n {{store.name}} - {{store.storeRefId}}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"staff-selector w-50 align-items-center gap-1\" *ngIf=\"staffMembers.length >= 2\">\r\n <div class=\"w-100 h-100 d-flex justify-content-start align-items-center\"><span>Select\r\n Staff Member : </span></div>\r\n <select id=\"staffDropdown\" [(ngModel)]=\"selectedStaff\" class=\"form-select\">\r\n <option value=\"\" disabled>Choose a staff member...</option>\r\n <option *ngFor=\"let staff of staffMembers;\" [ngValue]=\"staff\">\r\n {{staff.name}} - {{staff.role ? staff.role : 'staff' }}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"terms-and-condition\">\r\n <input type=\"checkbox\" [(ngModel)]=\"termsAndCondition\">I agree to <a (click)=\"scrollDown()\">Terms & Conditions</a>\r\n </div>\r\n <button class=\"enroll-btn w-100 py-3 fw-bold mb-2\" [appButtonEditor]=\"edit ?? false\" simpoButtonDirective\r\n [buttonStyle]=\"getButtonStyle(0)\" [buttonId]=\"getButtonId(0)\" [sectionId]=\"data?.id\"\r\n [id]=\"data?.id+getButtonId(0)\" (click)=\"enrollScheme(schemeDetails)\">\r\n <span *ngIf=\" !enrollButtonLoader\">Enroll in Scheme</span>\r\n <ng-container *ngIf=\"enrollButtonLoader\">\r\n <div class=\"d-flex align-items-center justify-content-center\">\r\n <div class=\"spinner\"><mat-spinner class=\"w-100 h-100\"></mat-spinner></div>\r\n Loading...\r\n </div>\r\n </ng-container>\r\n </button>\r\n </div>\r\n <!-- <div *ngIf=\"selectedScheme === 'group'\" class=\"scheme-results\">\r\n <div class=\"d-flex align-items-center mb-3\">\r\n \u2B50 <h6 class=\"mb-0 group-results-title\">Group Scheme Results</h6>\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-6\">\r\n <div class=\"result-card text-center p-3 border rounded\">\r\n <div class=\"result-amount fw-bold fs-5\">\u20B9{{(monthlyAmount * 11) | number}}</div>\r\n <div class=\"result-label text-muted small\">Your Total 11-Month Contribution</div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"result-card result-card-group text-center p-3 border rounded\">\r\n <div class=\"result-amount fw-bold fs-5\">\u20B9{{(monthlyAmount * 11) | number}}</div>\r\n <div class=\"result-label small opacity-75\">Monthly Lucky Draw Amount</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <button class=\"enroll-btn w-100 py-3 fw-bold mb-2\" [appButtonEditor]=\"edit ?? false\"\r\n simpoButtonDirective [buttonStyle]=\"getButtonStyle(0)\" [buttonId]=\"getButtonId(0)\"\r\n [sectionId]=\"data?.id\" [id]=\"data?.id+getButtonId(0)\" [buttonData]=\"getButtonData(0)\">\r\n Enroll in Scheme\r\n </button>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</ng-template>\r\n<ng-template #faqTemplate>\r\n <section class=\"faq-section d-flex align-items-center justify-content-center\">\r\n <div class=\"faq-container\">\r\n <h1 class=\"faq-title\">Frequently Asked Questions</h1>\r\n <p class=\"faq-subtitle\">Everything you need to know about our Group Investment Scheme</p>\r\n <div class=\"d-flex justify-content-center align-items-center w-100\">\r\n <div class=\"faq-list\">\r\n <div class=\"faq-item\" *ngFor=\"let faq of faqList ?? []\" (click)=\"faq.showAnswer = !faq.showAnswer\">\r\n <div class=\"faq-question\">\r\n <span>{{faq?.question ? faq?.question : 'N/A'}}</span>\r\n <mat-icon *ngIf=\"faq.showAnswer\">keyboard_arrow_up</mat-icon>\r\n <mat-icon *ngIf=\"!faq.showAnswer\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n <div class=\"faq-answer\" *ngIf=\"faq.showAnswer\">\r\n <p>{{faq?.answer ? faq?.answer :'N/A' }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n</ng-template>\r\n<ng-template #termsAndConditions>\r\n <section class=\"terms-section d-flex align-items-center justify-content-center\" id=\"termsAndCondition\">\r\n <div class=\"terms-container d-flex align-items-center justify-content-center flex-column\">\r\n <h1 class=\"terms-title\">Terms and Conditions</h1>\r\n\r\n <div class=\"terms-content\">\r\n <div class=\"term-item d-flex\" *ngFor=\"let key of getKeys(schemeDetails?.termsAndConditions); let i = index\">\r\n <div class=\"terms_count\">\r\n <h3 class=\"term-heading\">{{ key }}.</h3>\r\n </div>\r\n <div>\r\n <p class=\"term-text\">\r\n {{ schemeDetails?.termsAndConditions?.[key]?.replaceAll('\\n',' ') || 'N/A' }}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"important-note\">\r\n <p><strong>Important:</strong> These terms and conditions are subject to change with prior notice.\r\n Participants will be notified of any changes via registered email or SMS. Continued\r\n participation after notification constitutes acceptance of revised terms.</p>\r\n </div> -->\r\n\r\n <div class=\"footer-note\">\r\n <p>Last updated: 8/22/2025 | Version 3.1</p>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n</ng-template>\r\n<ng-template #showCharges>\r\n <div class=\"payment-dialog\">\r\n <div class=\"dialog-header\">\r\n <h2>Payment Details</h2>\r\n <button class=\"close-btn\" mat-icon-button (click)=\"closeDialog('FAIL')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"payment-content\">\r\n <div class=\"payment-row\">\r\n <span class=\"label\">Installment Amount:</span>\r\n <span class=\"amount\">\u20B9{{storeCharges?.breakdown?.installmentAmount ?\r\n (storeCharges?.breakdown?.installmentAmount | number) : 0 }}</span>\r\n </div>\r\n\r\n <div class=\"payment-row\">\r\n <span class=\"label\">Convenience Fee:</span>\r\n <span class=\"amount\">\u20B9{{storeCharges?.breakdown?.convenienceFee?.value ?\r\n (storeCharges?.breakdown?.convenienceFee?.value | number) : 0 }}</span>\r\n </div>\r\n\r\n <div class=\"payment-row\">\r\n <span class=\"label\">Payment Service Charges:</span>\r\n <span class=\"amount\">\u20B9{{storeCharges?.breakdown?.paymentServiceCharges?.value ?\r\n (storeCharges?.breakdown?.paymentServiceCharges?.value | number) : 0 }}</span>\r\n </div>\r\n\r\n <div class=\"payment-row total-row\">\r\n <span class=\"label total-label\">Total Amount:</span>\r\n <span class=\"amount total-amount\">\u20B9{{storeCharges?.breakdown?.totalAmount ?\r\n (storeCharges?.breakdown?.totalAmount | number) : 0 }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"dialog-actions\">\r\n <button class=\"continue-btn\" (click)=\"closeDialog('SUCCESS')\">Continue</button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: ["*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.p-5{padding:2% 5%!important}.text_header{font-size:50px;font-weight:bolder;color:orange}.calc_header{gap:1rem;padding-bottom:4%}.calc_header span{font-size:23px;font-weight:700}.calc_desc{font-size:17px;text-align:center;padding:0% 23%}.desc_text{font-size:17px;padding:0% 20%;line-height:1.5rem;text-align:center}.sub-header-text{font-weight:500}.slider-container{padding:0 12px}.slider-labels{margin-top:10px;font-size:14px}.random_options{padding:0% 1%}.option{padding:.5% 2%;border:1px solid rgba(227,66,255,.1);border-radius:50px;background:#3a00441a}.calculator_section{padding:2%;width:65vw;box-shadow:0 1px 2px #0000000f,0 4px 12px #00000014;border-radius:16px}.scheme-results{background:#fff9e9;border-radius:8px;padding:20px}.individual-results-title{color:#d4a574;font-weight:600}.result-card{background:#fff;transition:all .3s ease;border:1px solid #e9ecef!important}.add_icon,.total_icon{padding:.3% 1%;background:#fff;border-radius:50px}.w-15{width:15vw}.result-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.result-card-highlight{color:#fff}.result-card-group{background:#d63384;color:#fff}.result-amount{color:#333;font-size:18px;margin-bottom:8px}.result-card-highlight .result-amount,.result-card-group .result-amount{color:#fff}.result-label{font-size:12px;font-weight:500}.enroll-btn{font-size:16px;border:1px solid}.faq-container{border-radius:16px;padding:40px 0;width:65vw}.faq-title{font-size:2.5rem;font-weight:700;color:#2d3748;text-align:center;margin-bottom:12px}.faq-subtitle{font-size:1.1rem;color:#718096;text-align:center;margin-bottom:40px;font-weight:400}.faq-list{display:flex;flex-direction:column;gap:12px;width:80%}.faq-item{border:1px solid #e2e8f0;border-radius:12px;background:#fff;overflow:hidden;transition:all .3s ease}.faq-item:hover{border-color:#cbd5e0;box-shadow:0 2px 4px #0000000d}.faq-question{padding:20px 24px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:500;font-size:1.05rem;color:#2d3748;transition:color .2s ease}.faq-item:hover{box-shadow:0 1px 2px #0000000f,0 4px 12px #00000014}.faq-question:hover span{color:#d4a574;text-decoration:underline}.faq-icon{width:20px;height:20px;color:#718096;transition:transform .3s ease;flex-shrink:0}.faq-item.active .faq-icon{transform:rotate(180deg)}.faq-answer{transition:.3s ease,padding .3s ease;padding:0% 2%}.faq-item.active .faq-answer{max-height:200px;padding:0 24px 20px}.faq-answer p{color:#4a5568;font-size:.95rem;line-height:1.6;margin-top:0}.terms-container{width:65vw}.terms-title{font-size:2.2rem;font-weight:700;color:#2d3748;text-align:center;margin-bottom:40px;letter-spacing:-.02em}.terms-content{display:flex;flex-direction:column;gap:32px;box-shadow:0 1px 2px #0000000f,0 4px 12px #00000014;padding:20px;border-radius:16px;width:80%}.term-item{padding-bottom:20px;border-bottom:1px solid #e2e8f0;gap:10px}.terms_count{padding-top:.2%}.term-item:last-of-type{border-bottom:none;margin-bottom:20px}.term-heading{font-size:1.15rem;font-weight:600;color:#1a202c;margin-bottom:12px;letter-spacing:-.01em}.term-text{font-size:.95rem;color:#4a5568}.important-note{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin-top:16px}.important-note p{font-size:.9rem;color:#2d3748;line-height:1.6;margin:0}.important-note strong{color:#1a202c;font-weight:600}.footer-note{text-align:center;margin-top:24px;padding-top:16px}.footer-note p{font-size:.85rem;color:#718096;font-style:italic}.payment-dialog{background:#fff;border-radius:12px;padding:0;max-width:400px;width:25vw;box-shadow:0 8px 32px #0000001a}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid #f0f0f0}.dialog-header h2{margin:0;font-size:20px;font-weight:500;color:#333;white-space:nowrap}.close-btn{background:none;border:none;padding:4px;cursor:pointer;color:#666;display:flex;align-items:center;width:fit-content!important;justify-content:center}.close-btn:hover{background-color:#f5f5f5;border-radius:50%}.payment-content{padding:24px}.payment-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.payment-row .label{color:#000!important;font-size:16px}.bonus-message{border:1px solid #ffeaa7;border-radius:8px;padding:12px;margin:15px 0;gap:25px}.store_selection span{color:#d4a574;font-weight:700}.store-selector{width:100%;margin:5px 0}.store-selector label{display:block;font-weight:600;margin-bottom:8px}.store-selector .form-select{width:100%;padding:10px 12px;border:2px solid #ddd;border-radius:6px;font-size:14px;background-color:#fff;cursor:pointer;transition:border-color .3s ease;min-width:315px}.store-selector .form-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.store-selector .form-select:hover{border-color:#bbb}.store-selector .selected-info{padding:10px;background-color:#f8f9fa;border-radius:4px;border-left:4px solid #007bff}.store-selector .selected-info p{margin:0;font-size:14px;color:#495057}.staff-selector label{display:block;color:#333;white-space:nowrap}.staff-selector span{color:#d4a574;font-weight:700}.staff-selector .form-select{margin:5px 0;width:100%;padding:10px 12px;border:2px solid #ddd;border-radius:6px;font-size:14px;background-color:#fff;cursor:pointer;transition:border-color .3s ease}.staff-selector .form-select:focus{outline:none;border-color:#28a745;box-shadow:0 0 0 3px #28a7451a}.staff-selector .form-select:hover{border-color:#bbb}.staff-selector .selected-info{padding:10px;background-color:#f8f9fa;border-radius:4px;border-left:4px solid #28a745}.staff-selector .selected-info p{margin:0;font-size:14px;color:#495057}.payment-row:last-child{margin-bottom:0}.amount{color:#333;font-size:14px;font-weight:500}.total-row{border-top:1px solid #f0f0f0;padding-top:16px;margin-top:8px}.total-label,.total-amount{color:#333;font-weight:600;font-size:16px}.dialog-actions{padding:0 24px 24px}.continue-btn{width:100%;background-color:#dc3545;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.continue-btn:hover{background-color:#c82333}.continue-btn:active{background-color:#bd2130}@media (min-width :320px) and (max-width : 480px){.calc_desc,.desc_text{padding:0% 11%}.calculator_section{width:100%}.option{font-size:13px;white-space:nowrap}}@media (max-width: 768px){.terms-section{padding:20px 0;width:100%}.terms-container{padding:30px 0;width:100%}.terms-title{font-size:1.8rem;margin-bottom:30px}.terms-content{gap:24px;width:100%}.term-heading{font-size:1.1rem}.term-text{font-size:.9rem;text-align:left}.important-note{padding:16px}.faq-container,.faq-section,.faq-list{width:100%}}@media (min-width:475px){.card-container{width:31%;height:13vh;align-items:center}.calc_amount{font-size:1.5rem}}.custom-range{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:999px;outline:none;margin:10px 0}.custom-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:#fff4d0;border:3px solid #F4C24B;cursor:pointer;box-shadow:0 2px 4px #0000001a}.custom-range::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff4d0;border:3px solid #F4C24B;cursor:pointer;box-shadow:0 2px 4px #0000001a}.custom-range::-moz-range-track{height:10px;border-radius:999px}.gold-purity{padding-left:1rem;padding-bottom:15px;display:flex;gap:15px}.gold-purity .purity{display:flex;gap:10px;background:#fff7d0;width:max-content;padding:5px 8px;border-radius:11px;align-items:center}.gold-purity .purity img{height:40px}.gold-purity .purity div{font-size:12px}.gold-purity .purity .gold-price{font-weight:700}.enrolled-gram{margin-bottom:0;font-size:17px;font-weight:600}.monthly-scheme{display:flex;justify-content:space-between}.color-white{color:#fff}.terms-and-condition{display:flex;align-items:center;gap:10px;margin-bottom:10px}.terms-and-condition input{cursor:pointer}a{color:#0d6efd!important;text-decoration:underline!important;cursor:pointer}a:hover{color:#0a58ca!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i7.DecimalPipe, name: "number" }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i8.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i8.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: i8.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i8.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i8.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label"], outputs: ["valueChange"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: ButtonEditorDirective, selector: "button[appButtonEditor]", inputs: ["appButtonEditor", "buttonData", "buttonStyle", "backgroundInfo", "sectionId", "buttonId"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: ButtonDirectiveDirective, selector: "[simpoButtonDirective]", inputs: ["buttonStyle", "color", "scrollValue", "backgroundInfo"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i9.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }] }); }
|
248
|
-
}
|
249
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SchemeDetailComponent, decorators: [{
|
250
|
-
type: Component,
|
251
|
-
args: [{ selector: 'simpo-scheme-detail', standalone: true, imports: [CdkDragPlaceholder, CommonModule, MatDialogModule, SpacingHorizontalDirective, FormsModule, TextEditorComponent, MatIcon, ButtonEditorDirective, MatProgressSpinner, ButtonDirectiveDirective, ToastModule], providers: [MatDialog, MessageService], template: "<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"\r\n [showTransformOptions]=\"isMobile ? 'translateY(-100%)' : ''\"></p-toast>\r\n\r\n\r\n<section class=\"main_section w-100\" [spacingHorizontal]=\"stylesLayout\" [id]=\"data?.id\">\r\n <div class=\"about_plan_section p-5 d-flex flex-column align-items-center justify-content-center\">\r\n <ng-container *ngTemplateOutlet=\"aboutUsTemplate\"></ng-container>\r\n </div>\r\n <div class=\"scheme_calculator_section p-5 d-flex flex-column align-items-center justify-content-center\">\r\n <ng-container *ngTemplateOutlet=\"schemeCalculator\"></ng-container>\r\n </div>\r\n <div class=\"faq_section p-5\" *ngIf=\"faqList.length > 0\">\r\n <ng-container *ngTemplateOutlet=\"faqTemplate\"></ng-container>\r\n </div>\r\n <div class=\"terms_condition_section p-5\"\r\n *ngIf=\"schemeDetails?.termsAndConditions && schemeDetails?.termsAndConditions != {}\">\r\n <ng-container *ngTemplateOutlet=\"termsAndConditions\"></ng-container>\r\n </div>\r\n</section>\r\n<ng-template #aboutUsTemplate>\r\n <div class=\"d-flex flex-column gap-3\">\r\n <div class=\"text_header d-flex align-items-center justify-content-center\">\r\n <simpo-text-editor [(value)]=\"getInputText\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div class=\"desc_text\">\r\n {{schemeDetails?.about}}\r\n </div>\r\n </div>\r\n</ng-template>\r\n<ng-template #schemeCalculator>\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"calc_header d-flex flex-column align-items-center justify-content-center\">\r\n <span>Calculate Your Returns</span>\r\n <div class=\"calc_desc\">\r\n See how your savings grow with our smart investment schemes. choose your preferred scheme and discover\r\n your potential returns.\r\n </div>\r\n </div>\r\n <div class=\"calculator_section\">\r\n <div class=\"gold-purity\"\r\n *ngIf=\"schemeDetails?.schemeType === 'GOLD_PROTECTION' && (stores.length == 1 || selectedStore?.id)\">\r\n <div class=\"purity\" *ngFor=\"let gold of metalPrice?.priceData ?? []\">\r\n <img src=\"https://jewellers.stage.passbookapp.in/assets/images/gold-scheme/24k_gold_pic.svg\" alt=\"\">\r\n <div>\r\n <div>{{gold?.karats?.replaceAll('_', \"\")}} Gold Purity</div>\r\n <div class=\"gold-price\">\u20B9{{gold.price}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"sub-header mb-3 px-3 monthly-scheme\">\r\n <h6 class=\"mb-0 sub-header-text\">Select Your Monthly Investment Amount</h6>\r\n <p class=\"enrolled-gram\" *ngIf=\"schemeDetails?.schemeType === 'GOLD_PROTECTION' && (stores.length == 1 || selectedStore?.id)\">{{purchasedGram}} gms</p>\r\n </div>\r\n\r\n <div class=\"calculate-slider mb-4 px-3\">\r\n <div class=\"slider-container position-relative\">\r\n <input type=\"range\" class=\"form-range custom-range\" [min]=\"minAmount\" [max]=\"maxAmount\"\r\n [step]=\"schemeDetails?.valueStep\" [(ngModel)]=\"monthlyAmount\" (ngModelChange)=\"onAmountChange()\">\r\n <div class=\"slider-labels d-flex justify-content-between mt-2\">\r\n <span class=\"fw-bold\">\u20B9{{minAmount | number}}</span>\r\n <span class=\"fw-bold\">\u20B9{{maxAmount | number}}</span>\r\n </div>\r\n <div class=\"random_options d-flex justify-content-center gap-3 align-items-center\"\r\n *ngIf=\"installmentOptions && installmentOptions.length > 0\">\r\n <div class=\"option cursor-pointer d-flex justify-content-center align-items-center\"\r\n [ngStyle]=\"option.status ? {'border': '2px solid grey','font-weight':'bold'} : {}\"\r\n *ngFor=\"let option of installmentOptions\" (click)=\"setMonthlyAmount(option)\">\r\n \u20B9 {{option?.value}}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mt-3\">\r\n <div class=\"d-flex align-items-center justify-content-center\">\r\n <span class=\"text-center fw-bold fs-4 monthly-amount\">\u20B9{{monthlyAmount | number}}</span>\r\n </div>\r\n <div class=\"text-center text-muted small mt-1\">Monthly Investment</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"calculator-bottom px-3 mb-5\">\r\n <div class=\"scheme-results\">\r\n <div class=\"row align-items-center justify-content-between mb-3 g-2\">\r\n <!-- Contribution Card -->\r\n <div class=\"col-12 col-sm-6\" [ngClass]=\"{'card-container': this.schemeDetails?.schemeType !== 'GOLD_PROTECTION'}\">\r\n <div class=\"card text-center h-100\">\r\n <div class=\"card-body p-2 p-md-3 d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold calc_amount fs-md-5\">\r\n \u20B9{{(monthlyAmount * maturityCount) | number}}\r\n </div>\r\n <div class=\"text-muted small\">\r\n Your {{maturityCount}}-Month Contribution\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Plus Icon - Hidden on mobile -->\r\n <div class=\"col-auto d-none d-md-flex justify-content-center\" *ngIf=\"this.schemeDetails?.schemeType !== 'GOLD_PROTECTION'\">\r\n <div class=\"fs-3 text-muted\">+</div>\r\n </div>\r\n\r\n <!-- Benefit Card -->\r\n <div class=\"col-12 col-sm-6 card-container\" *ngIf=\"this.schemeDetails?.schemeType !== 'GOLD_PROTECTION'\">\r\n <div class=\"card text-center h-100\">\r\n <div class=\"card-body p-2 p-md-3 d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold calc_amount fs-md-5\">\r\n \u20B9{{benefitAmount | number}}\r\n </div>\r\n <div class=\"text-muted small\">\r\n Scheme Benefit\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Equals Icon - Hidden on mobile -->\r\n <div class=\"col-auto d-none d-md-flex justify-content-center\" *ngIf=\"this.schemeDetails?.schemeType !== 'GOLD_PROTECTION'\">\r\n <div class=\"fs-3 text-muted\">=</div>\r\n </div>\r\n\r\n <!-- Total Card -->\r\n <div class=\"col-12 card-container mt-2 mt-md-0\" *ngIf=\"this.schemeDetails?.schemeType !== 'GOLD_PROTECTION'\">\r\n <div class=\"card text-center h-100 border-2\" [style.background]=\"styles?.background?.accentColor\">\r\n <div class=\"card-body p-2 p-md-3 d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold calc_amount fs-md-5 text-white\">\r\n <span *ngIf=\"schemeDetails?.benefitType != 'DISCOUNT'\">\r\n \u20B9{{((monthlyAmount * maturityCount) + benefitAmount) | number}}\r\n </span>\r\n <span *ngIf=\"schemeDetails?.benefitType === 'DISCOUNT'\">\r\n \u20B9{{(monthlyAmount * maturityCount) | number}}\r\n </span>\r\n </div>\r\n <div class=\"text-white-50 small\">\r\n Total Redemption Value\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 col-sm-6\" *ngIf=\"this.schemeDetails?.schemeType === 'GOLD_PROTECTION'\">\r\n <div class=\"card text-center h-100\">\r\n <div class=\"card-body p-2 p-md-3 d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold calc_amount fs-md-5\">\r\n {{purchasedGram}} gms\r\n </div>\r\n <div class=\"text-muted small\">\r\n Gold Allocation Today\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"bonus-message text-center mb-3 d-flex justify-content-between align-items-center\"\r\n *ngIf=\"schemeDetails?.storeList?.length >=2 || staffMembers.length >= 2 \">\r\n <div class=\"store_selection w-50 align-items-center gap-1\" *ngIf=\"schemeDetails?.storeList?.length >=2\">\r\n <div class=\"w-100 h-100 d-flex justify-content-start align-items-center\"> <span>Select\r\n Store : </span></div>\r\n <div class=\"store-selector\">\r\n <select id=\"storeDropdown\" [(ngModel)]=\"selectedStore\" class=\"form-select\" (ngModelChange)=\"getMetalPrice()\">\r\n <option [ngValue]=\"null\" disabled>Choose a store...</option>\r\n <option *ngFor=\"let store of stores;\" [ngValue]=\"store\">\r\n {{store.name}} - {{store.storeRefId}}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"staff-selector w-50 align-items-center gap-1\" *ngIf=\"staffMembers.length >= 2\">\r\n <div class=\"w-100 h-100 d-flex justify-content-start align-items-center\"><span>Select\r\n Staff Member : </span></div>\r\n <select id=\"staffDropdown\" [(ngModel)]=\"selectedStaff\" class=\"form-select\">\r\n <option value=\"\" disabled>Choose a staff member...</option>\r\n <option *ngFor=\"let staff of staffMembers;\" [ngValue]=\"staff\">\r\n {{staff.name}} - {{staff.role ? staff.role : 'staff' }}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"terms-and-condition\">\r\n <input type=\"checkbox\" [(ngModel)]=\"termsAndCondition\">I agree to <a (click)=\"scrollDown()\">Terms & Conditions</a>\r\n </div>\r\n <button class=\"enroll-btn w-100 py-3 fw-bold mb-2\" [appButtonEditor]=\"edit ?? false\" simpoButtonDirective\r\n [buttonStyle]=\"getButtonStyle(0)\" [buttonId]=\"getButtonId(0)\" [sectionId]=\"data?.id\"\r\n [id]=\"data?.id+getButtonId(0)\" (click)=\"enrollScheme(schemeDetails)\">\r\n <span *ngIf=\" !enrollButtonLoader\">Enroll in Scheme</span>\r\n <ng-container *ngIf=\"enrollButtonLoader\">\r\n <div class=\"d-flex align-items-center justify-content-center\">\r\n <div class=\"spinner\"><mat-spinner class=\"w-100 h-100\"></mat-spinner></div>\r\n Loading...\r\n </div>\r\n </ng-container>\r\n </button>\r\n </div>\r\n <!-- <div *ngIf=\"selectedScheme === 'group'\" class=\"scheme-results\">\r\n <div class=\"d-flex align-items-center mb-3\">\r\n \u2B50 <h6 class=\"mb-0 group-results-title\">Group Scheme Results</h6>\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-6\">\r\n <div class=\"result-card text-center p-3 border rounded\">\r\n <div class=\"result-amount fw-bold fs-5\">\u20B9{{(monthlyAmount * 11) | number}}</div>\r\n <div class=\"result-label text-muted small\">Your Total 11-Month Contribution</div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"result-card result-card-group text-center p-3 border rounded\">\r\n <div class=\"result-amount fw-bold fs-5\">\u20B9{{(monthlyAmount * 11) | number}}</div>\r\n <div class=\"result-label small opacity-75\">Monthly Lucky Draw Amount</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <button class=\"enroll-btn w-100 py-3 fw-bold mb-2\" [appButtonEditor]=\"edit ?? false\"\r\n simpoButtonDirective [buttonStyle]=\"getButtonStyle(0)\" [buttonId]=\"getButtonId(0)\"\r\n [sectionId]=\"data?.id\" [id]=\"data?.id+getButtonId(0)\" [buttonData]=\"getButtonData(0)\">\r\n Enroll in Scheme\r\n </button>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</ng-template>\r\n<ng-template #faqTemplate>\r\n <section class=\"faq-section d-flex align-items-center justify-content-center\">\r\n <div class=\"faq-container\">\r\n <h1 class=\"faq-title\">Frequently Asked Questions</h1>\r\n <p class=\"faq-subtitle\">Everything you need to know about our Group Investment Scheme</p>\r\n <div class=\"d-flex justify-content-center align-items-center w-100\">\r\n <div class=\"faq-list\">\r\n <div class=\"faq-item\" *ngFor=\"let faq of faqList ?? []\" (click)=\"faq.showAnswer = !faq.showAnswer\">\r\n <div class=\"faq-question\">\r\n <span>{{faq?.question ? faq?.question : 'N/A'}}</span>\r\n <mat-icon *ngIf=\"faq.showAnswer\">keyboard_arrow_up</mat-icon>\r\n <mat-icon *ngIf=\"!faq.showAnswer\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n <div class=\"faq-answer\" *ngIf=\"faq.showAnswer\">\r\n <p>{{faq?.answer ? faq?.answer :'N/A' }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n</ng-template>\r\n<ng-template #termsAndConditions>\r\n <section class=\"terms-section d-flex align-items-center justify-content-center\" id=\"termsAndCondition\">\r\n <div class=\"terms-container d-flex align-items-center justify-content-center flex-column\">\r\n <h1 class=\"terms-title\">Terms and Conditions</h1>\r\n\r\n <div class=\"terms-content\">\r\n <div class=\"term-item d-flex\" *ngFor=\"let key of getKeys(schemeDetails?.termsAndConditions); let i = index\">\r\n <div class=\"terms_count\">\r\n <h3 class=\"term-heading\">{{ key }}.</h3>\r\n </div>\r\n <div>\r\n <p class=\"term-text\">\r\n {{ schemeDetails?.termsAndConditions?.[key]?.replaceAll('\\n',' ') || 'N/A' }}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"important-note\">\r\n <p><strong>Important:</strong> These terms and conditions are subject to change with prior notice.\r\n Participants will be notified of any changes via registered email or SMS. Continued\r\n participation after notification constitutes acceptance of revised terms.</p>\r\n </div> -->\r\n\r\n <div class=\"footer-note\">\r\n <p>Last updated: 8/22/2025 | Version 3.1</p>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n</ng-template>\r\n<ng-template #showCharges>\r\n <div class=\"payment-dialog\">\r\n <div class=\"dialog-header\">\r\n <h2>Payment Details</h2>\r\n <button class=\"close-btn\" mat-icon-button (click)=\"closeDialog('FAIL')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"payment-content\">\r\n <div class=\"payment-row\">\r\n <span class=\"label\">Installment Amount:</span>\r\n <span class=\"amount\">\u20B9{{storeCharges?.breakdown?.installmentAmount ?\r\n (storeCharges?.breakdown?.installmentAmount | number) : 0 }}</span>\r\n </div>\r\n\r\n <div class=\"payment-row\">\r\n <span class=\"label\">Convenience Fee:</span>\r\n <span class=\"amount\">\u20B9{{storeCharges?.breakdown?.convenienceFee?.value ?\r\n (storeCharges?.breakdown?.convenienceFee?.value | number) : 0 }}</span>\r\n </div>\r\n\r\n <div class=\"payment-row\">\r\n <span class=\"label\">Payment Service Charges:</span>\r\n <span class=\"amount\">\u20B9{{storeCharges?.breakdown?.paymentServiceCharges?.value ?\r\n (storeCharges?.breakdown?.paymentServiceCharges?.value | number) : 0 }}</span>\r\n </div>\r\n\r\n <div class=\"payment-row total-row\">\r\n <span class=\"label total-label\">Total Amount:</span>\r\n <span class=\"amount total-amount\">\u20B9{{storeCharges?.breakdown?.totalAmount ?\r\n (storeCharges?.breakdown?.totalAmount | number) : 0 }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"dialog-actions\">\r\n <button class=\"continue-btn\" (click)=\"closeDialog('SUCCESS')\">Continue</button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: ["*{font-family:var(--website-font-family)}mat-icon{font-family:Material Icons!important}.p-5{padding:2% 5%!important}.text_header{font-size:50px;font-weight:bolder;color:orange}.calc_header{gap:1rem;padding-bottom:4%}.calc_header span{font-size:23px;font-weight:700}.calc_desc{font-size:17px;text-align:center;padding:0% 23%}.desc_text{font-size:17px;padding:0% 20%;line-height:1.5rem;text-align:center}.sub-header-text{font-weight:500}.slider-container{padding:0 12px}.slider-labels{margin-top:10px;font-size:14px}.random_options{padding:0% 1%}.option{padding:.5% 2%;border:1px solid rgba(227,66,255,.1);border-radius:50px;background:#3a00441a}.calculator_section{padding:2%;width:65vw;box-shadow:0 1px 2px #0000000f,0 4px 12px #00000014;border-radius:16px}.scheme-results{background:#fff9e9;border-radius:8px;padding:20px}.individual-results-title{color:#d4a574;font-weight:600}.result-card{background:#fff;transition:all .3s ease;border:1px solid #e9ecef!important}.add_icon,.total_icon{padding:.3% 1%;background:#fff;border-radius:50px}.w-15{width:15vw}.result-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.result-card-highlight{color:#fff}.result-card-group{background:#d63384;color:#fff}.result-amount{color:#333;font-size:18px;margin-bottom:8px}.result-card-highlight .result-amount,.result-card-group .result-amount{color:#fff}.result-label{font-size:12px;font-weight:500}.enroll-btn{font-size:16px;border:1px solid}.faq-container{border-radius:16px;padding:40px 0;width:65vw}.faq-title{font-size:2.5rem;font-weight:700;color:#2d3748;text-align:center;margin-bottom:12px}.faq-subtitle{font-size:1.1rem;color:#718096;text-align:center;margin-bottom:40px;font-weight:400}.faq-list{display:flex;flex-direction:column;gap:12px;width:80%}.faq-item{border:1px solid #e2e8f0;border-radius:12px;background:#fff;overflow:hidden;transition:all .3s ease}.faq-item:hover{border-color:#cbd5e0;box-shadow:0 2px 4px #0000000d}.faq-question{padding:20px 24px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:500;font-size:1.05rem;color:#2d3748;transition:color .2s ease}.faq-item:hover{box-shadow:0 1px 2px #0000000f,0 4px 12px #00000014}.faq-question:hover span{color:#d4a574;text-decoration:underline}.faq-icon{width:20px;height:20px;color:#718096;transition:transform .3s ease;flex-shrink:0}.faq-item.active .faq-icon{transform:rotate(180deg)}.faq-answer{transition:.3s ease,padding .3s ease;padding:0% 2%}.faq-item.active .faq-answer{max-height:200px;padding:0 24px 20px}.faq-answer p{color:#4a5568;font-size:.95rem;line-height:1.6;margin-top:0}.terms-container{width:65vw}.terms-title{font-size:2.2rem;font-weight:700;color:#2d3748;text-align:center;margin-bottom:40px;letter-spacing:-.02em}.terms-content{display:flex;flex-direction:column;gap:32px;box-shadow:0 1px 2px #0000000f,0 4px 12px #00000014;padding:20px;border-radius:16px;width:80%}.term-item{padding-bottom:20px;border-bottom:1px solid #e2e8f0;gap:10px}.terms_count{padding-top:.2%}.term-item:last-of-type{border-bottom:none;margin-bottom:20px}.term-heading{font-size:1.15rem;font-weight:600;color:#1a202c;margin-bottom:12px;letter-spacing:-.01em}.term-text{font-size:.95rem;color:#4a5568}.important-note{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin-top:16px}.important-note p{font-size:.9rem;color:#2d3748;line-height:1.6;margin:0}.important-note strong{color:#1a202c;font-weight:600}.footer-note{text-align:center;margin-top:24px;padding-top:16px}.footer-note p{font-size:.85rem;color:#718096;font-style:italic}.payment-dialog{background:#fff;border-radius:12px;padding:0;max-width:400px;width:25vw;box-shadow:0 8px 32px #0000001a}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid #f0f0f0}.dialog-header h2{margin:0;font-size:20px;font-weight:500;color:#333;white-space:nowrap}.close-btn{background:none;border:none;padding:4px;cursor:pointer;color:#666;display:flex;align-items:center;width:fit-content!important;justify-content:center}.close-btn:hover{background-color:#f5f5f5;border-radius:50%}.payment-content{padding:24px}.payment-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.payment-row .label{color:#000!important;font-size:16px}.bonus-message{border:1px solid #ffeaa7;border-radius:8px;padding:12px;margin:15px 0;gap:25px}.store_selection span{color:#d4a574;font-weight:700}.store-selector{width:100%;margin:5px 0}.store-selector label{display:block;font-weight:600;margin-bottom:8px}.store-selector .form-select{width:100%;padding:10px 12px;border:2px solid #ddd;border-radius:6px;font-size:14px;background-color:#fff;cursor:pointer;transition:border-color .3s ease;min-width:315px}.store-selector .form-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.store-selector .form-select:hover{border-color:#bbb}.store-selector .selected-info{padding:10px;background-color:#f8f9fa;border-radius:4px;border-left:4px solid #007bff}.store-selector .selected-info p{margin:0;font-size:14px;color:#495057}.staff-selector label{display:block;color:#333;white-space:nowrap}.staff-selector span{color:#d4a574;font-weight:700}.staff-selector .form-select{margin:5px 0;width:100%;padding:10px 12px;border:2px solid #ddd;border-radius:6px;font-size:14px;background-color:#fff;cursor:pointer;transition:border-color .3s ease}.staff-selector .form-select:focus{outline:none;border-color:#28a745;box-shadow:0 0 0 3px #28a7451a}.staff-selector .form-select:hover{border-color:#bbb}.staff-selector .selected-info{padding:10px;background-color:#f8f9fa;border-radius:4px;border-left:4px solid #28a745}.staff-selector .selected-info p{margin:0;font-size:14px;color:#495057}.payment-row:last-child{margin-bottom:0}.amount{color:#333;font-size:14px;font-weight:500}.total-row{border-top:1px solid #f0f0f0;padding-top:16px;margin-top:8px}.total-label,.total-amount{color:#333;font-weight:600;font-size:16px}.dialog-actions{padding:0 24px 24px}.continue-btn{width:100%;background-color:#dc3545;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.continue-btn:hover{background-color:#c82333}.continue-btn:active{background-color:#bd2130}@media (min-width :320px) and (max-width : 480px){.calc_desc,.desc_text{padding:0% 11%}.calculator_section{width:100%}.option{font-size:13px;white-space:nowrap}}@media (max-width: 768px){.terms-section{padding:20px 0;width:100%}.terms-container{padding:30px 0;width:100%}.terms-title{font-size:1.8rem;margin-bottom:30px}.terms-content{gap:24px;width:100%}.term-heading{font-size:1.1rem}.term-text{font-size:.9rem;text-align:left}.important-note{padding:16px}.faq-container,.faq-section,.faq-list{width:100%}}@media (min-width:475px){.card-container{width:31%;height:13vh;align-items:center}.calc_amount{font-size:1.5rem}}.custom-range{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:999px;outline:none;margin:10px 0}.custom-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:#fff4d0;border:3px solid #F4C24B;cursor:pointer;box-shadow:0 2px 4px #0000001a}.custom-range::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff4d0;border:3px solid #F4C24B;cursor:pointer;box-shadow:0 2px 4px #0000001a}.custom-range::-moz-range-track{height:10px;border-radius:999px}.gold-purity{padding-left:1rem;padding-bottom:15px;display:flex;gap:15px}.gold-purity .purity{display:flex;gap:10px;background:#fff7d0;width:max-content;padding:5px 8px;border-radius:11px;align-items:center}.gold-purity .purity img{height:40px}.gold-purity .purity div{font-size:12px}.gold-purity .purity .gold-price{font-weight:700}.enrolled-gram{margin-bottom:0;font-size:17px;font-weight:600}.monthly-scheme{display:flex;justify-content:space-between}.color-white{color:#fff}.terms-and-condition{display:flex;align-items:center;gap:10px;margin-bottom:10px}.terms-and-condition input{cursor:pointer}a{color:#0d6efd!important;text-decoration:underline!important;cursor:pointer}a:hover{color:#0a58ca!important}\n"] }]
|
252
|
-
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.RestService }, { type: i3.StorageServiceService }, { type: i4.MatDialog }, { type: i1.Router }, { type: i5.EventsService }, { type: i6.MessageService }], propDecorators: { data: [{
|
253
|
-
type: Input
|
254
|
-
}], index: [{
|
255
|
-
type: Input
|
256
|
-
}], edit: [{
|
257
|
-
type: Input
|
258
|
-
}], showChargesTemplate: [{
|
259
|
-
type: ViewChild,
|
260
|
-
args: ['showCharges', { static: true }]
|
261
|
-
}], getScreenSize: [{
|
262
|
-
type: HostListener,
|
263
|
-
args: ['window:resize', ['$event']]
|
264
|
-
}] } });
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1lLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3NjaGVtZS1kZXRhaWwvc2NoZW1lLWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3NjaGVtZS1kZXRhaWwvc2NoZW1lLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFJMUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpELE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBRXBGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7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SSxXQUNQLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSwwQkFBMEIsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLHdCQUF3QixFQUFFLFdBQVcsQ0FBQyxhQUUxTSxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUM7dVBBSTdCLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNzQyxtQkFBbUI7c0JBQTlELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkErRDFDLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2NoZW1lRGV0YWlsTW9kYWwgfSBmcm9tICcuL3NjaGVtZS1kZXRhaWwubW9kYWwnO1xyXG5pbXBvcnQgeyBDZGtEcmFnUGxhY2Vob2xkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWhvcml6b250YWwuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTGF5T3V0TW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCdXR0b25FZGl0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWVkaXRvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nTW9kdWxlLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZXZlbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lclwiO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tc2NoZW1lLWRldGFpbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ2RrRHJhZ1BsYWNlaG9sZGVyLCBDb21tb25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUsIEZvcm1zTW9kdWxlLCBUZXh0RWRpdG9yQ29tcG9uZW50LCBNYXRJY29uLCBCdXR0b25FZGl0b3JEaXJlY3RpdmUsIE1hdFByb2dyZXNzU3Bpbm5lciwgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlLCBUb2FzdE1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NjaGVtZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW01hdERpYWxvZywgTWVzc2FnZVNlcnZpY2VdLFxyXG4gIHN0eWxlVXJsOiAnLi9zY2hlbWUtZGV0YWlsLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTY2hlbWVEZXRhaWxDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGRhdGE6IFNjaGVtZURldGFpbE1vZGFsIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgaW5kZXg/OiBudW1iZXI7XHJcbiAgQElucHV0KCkgZWRpdD86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBWaWV3Q2hpbGQoJ3Nob3dDaGFyZ2VzJywgeyBzdGF0aWM6IHRydWUgfSkgc2hvd0NoYXJnZXNUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBkaWFsb2dSZWYhOiBNYXREaWFsb2dSZWY8YW55PjsgLy8gc2F2ZSB0aGUgZGlhbG9nIHJlZlxyXG4gIHNjcm9sbFRvVGVybXNBbmRDb25kaXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3RpdmVSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSxcclxuICAgIHByaXZhdGUgbWF0RGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZXZlbnRTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZ2V0U2NyZWVuU2l6ZSgpO1xyXG4gICAgdGhpcy5zdHlsZXMgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICAgIHRoaXMuYWN0aXZlUm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgIGlmIChwYXJhbXNbJ3NjaGVtZUlkJ10pIHtcclxuICAgICAgICB0aGlzLmdldFNjaGVtZURldGFpbHMocGFyYW1zWydzY2hlbWVJZCddKTtcclxuICAgICAgfVxyXG4gICAgICBpZihwYXJhbXNbJ3Rlcm1zQW5kQ29uZGl0aW9uJ10pXHJcbiAgICAgICAgdGhpcy5zY3JvbGxUb1Rlcm1zQW5kQ29uZGl0aW9uID0gdHJ1ZTtcclxuICAgIH0pXHJcbiAgfVxyXG4gIGdldEtleXMob2JqOiBhbnkpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqID8/IHt9KTtcclxuICB9XHJcbiAgT2JqZWN0ID0gT2JqZWN0XHJcbiAgc3R5bGVzOiBhbnk7XHJcbiAgc2VsZWN0ZWRTdG9yZTogYW55O1xyXG4gIHNlbGVjdGVkU3RhZmY6IGFueTtcclxuICBzdG9yZXM6IGFueVtdID0gW107XHJcbiAgc3RhZmZNZW1iZXJzOiBhbnlbXSA9IFtdO1xyXG4gIG1pbkFtb3VudDogbnVtYmVyID0gMTAwMDtcclxuICBtYXhBbW91bnQ6IG51bWJlciA9IDEwMDAwMDtcclxuICBtb250aGx5QW1vdW50OiBudW1iZXIgPSAwO1xyXG4gIGluc3RhbGxtZW50T3B0aW9uczogYW55W10gPSBbXVxyXG4gIHNjaGVtZURldGFpbHM6IGFueTtcclxuICBtYXR1cml0eUNvdW50OiBudW1iZXIgPSAxMDtcclxuICBiZW5lZml0QW1vdW50OiBudW1iZXIgPSAwO1xyXG4gIG1ldGFsUHJpY2U6IGFueTtcclxuICBwdXJjaGFzZWRHcmFtOiBudW1iZXIgPSAwO1xyXG4gIGN1cnJlbnRHb2xkUmF0ZTogbnVtYmVyID0gMFxyXG4gIHRlcm1zQW5kQ29uZGl0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdldCBzdHlsZXNMYXlvdXQoKSB7XHJcbiAgICByZXR1cm4geyAuLi50aGlzLnN0eWxlcz8ubGF5b3V0IH0gYXMgTGF5T3V0TW9kZWw7XHJcbiAgfVxyXG4gIGVucm9sbEJ1dHRvbkxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGdldEJ1dHRvbkRhdGEoaW5kZXg6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YT8uYWN0aW9uPy5idXR0b25zW2luZGV4XT8uY29udGVudDtcclxuICB9XHJcbiAgZ2V0QnV0dG9uSWQoaW5kZXg6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YT8uYWN0aW9uPy5idXR0b25zW2luZGV4XT8uaWQgPz8gXCJcIjtcclxuICB9XHJcbiAgZ2V0QnV0dG9uU3R5bGUoaW5kZXg6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YT8uYWN0aW9uPy5idXR0b25zW2luZGV4XT8uc3R5bGVzO1xyXG4gIH1cclxuICBnZXQgZ2V0SW5wdXRUZXh0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YT8uY29udGVudD8uaW5wdXRUZXh0Py5bMF0/LnZhbHVlID8/IFwiXCJcclxuICB9XHJcbiAgc2NyZWVuV2lkdGg6IG51bWJlciA9IDA7XHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgZ2V0U2NyZWVuU2l6ZShldmVudD86IGFueSkge1xyXG4gICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuICBnZXRTdGFmZkxpc3QoKSB7XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldEFsbFN0YWZmTGlzdCgpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3RhZmZNZW1iZXJzID0gcmVzPy5kYXRhPy5kYXRhID8gcmVzPy5kYXRhPy5kYXRhIDogW11cclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnN0YWZmTWVtYmVycylcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIG9uQW1vdW50Q2hhbmdlKCkge1xyXG4gICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuc2NoZW1lRGV0YWlscy5qZXdlbGxlckJlbmVmaXQpLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gT2JqZWN0LnZhbHVlcyh0aGlzLnNjaGVtZURldGFpbHMuamV3ZWxsZXJCZW5lZml0KTtcclxuICAgICAgY29uc3QgaGlnaGVzdFZhbHVlID0gTWF0aC5tYXgoLi4uT2JqZWN0LnZhbHVlcyh2YWx1ZXMpKTtcclxuICAgICAgaWYgKHRoaXMuc2NoZW1lRGV0YWlscy5iZW5lZml0VHlwZSA9PT0gXCJQRVJDRU5UX09OX01PTlRIXCIpIHtcclxuICAgICAgICB0aGlzLmJlbmVmaXRBbW91bnQgPSAodGhpcy5tb250aGx5QW1vdW50ICogaGlnaGVzdFZhbHVlKSAvIDEwMDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh0aGlzLnNjaGVtZURldGFpbHMuYmVuZWZpdFR5cGUgPT09IFwiU0NIRU1FXCIpIHtcclxuICAgICAgICB0aGlzLmJlbmVmaXRBbW91bnQgPSAoKHRoaXMubW9udGhseUFtb3VudCAqIHRoaXMubWF0dXJpdHlDb3VudCkgKiBoaWdoZXN0VmFsdWUpIC8gMTAwO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuc2NoZW1lRGV0YWlscy5iZW5lZml0VHlwZSA9PT0gXCJESVNDT1VOVFwiKSB7XHJcbiAgICAgICAgdGhpcy5iZW5lZml0QW1vdW50ID0gKCh0aGlzLm1vbnRobHlBbW91bnQgKiB0aGlzLm1hdHVyaXR5Q291bnQpICogaGlnaGVzdFZhbHVlKSAvIDEwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5wdXJjaGFzZWRHcmFtID0gTnVtYmVyKCh0aGlzLm1vbnRobHlBbW91bnQgLyB0aGlzLmN1cnJlbnRHb2xkUmF0ZSkudG9GaXhlZCgyKSlcclxuICB9XHJcbiAgc2V0TW9udGhseUFtb3VudChhbW91bnQ6IGFueSkge1xyXG4gICAgdGhpcy5pbnN0YWxsbWVudE9wdGlvbnMuZm9yRWFjaCgob3B0aW9uOiBhbnkpID0+IHtcclxuICAgICAgaWYgKG9wdGlvbi52YWx1ZSA9PSBhbW91bnQ/LnZhbHVlKSB7XHJcbiAgICAgICAgb3B0aW9uLnN0YXR1cyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5tb250aGx5QW1vdW50ID0gYW1vdW50Py52YWx1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBvcHRpb24uc3RhdHVzID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICB0aGlzLm9uQW1vdW50Q2hhbmdlKCk7XHJcbiAgfVxyXG4gIGZhcUxpc3Q6IGFueVtdID0gW107XHJcbiAgZ2V0U2NoZW1lRGV0YWlscyhzY2hlbWVJZDogYW55KSB7XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldFNjaGVtZURldGFpbHMoc2NoZW1lSWQpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuZGF0YSkge1xyXG4gICAgICAgIHRoaXMuZ2V0U3RhZmZMaXN0KCk7XHJcbiAgICAgICAgdGhpcy5zY2hlbWVEZXRhaWxzID0gcmVzLmRhdGE7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5zY2hlbWVEZXRhaWxzKVxyXG4gICAgICAgIHRoaXMubWluQW1vdW50ID0gdGhpcy5zY2hlbWVEZXRhaWxzPy5taW5JbnN0YWxsbWVudFZhbHVlO1xyXG4gICAgICAgIHRoaXMubWF4QW1vdW50ID0gdGhpcy5zY2hlbWVEZXRhaWxzPy5tYXhJbnN0YWxsbWVudFZhbHVlO1xyXG4gICAgICAgIHRoaXMubW9udGhseUFtb3VudCA9IHRoaXMubWluQW1vdW50O1xyXG4gICAgICAgIHRoaXMuc2NoZW1lRGV0YWlscz8uc3VnZ2VzdGVkVmFsdWVzPy5mb3JFYWNoKChzY2hlbWU6IGFueSkgPT4gdGhpcy5pbnN0YWxsbWVudE9wdGlvbnMucHVzaCh7IHN0YXR1czogZmFsc2UsIHZhbHVlOiBzY2hlbWUgfSkpXHJcbiAgICAgICAgdGhpcy5tYXR1cml0eUNvdW50ID0gdGhpcy5zY2hlbWVEZXRhaWxzPy5tYXR1cml0eUNvdW50ID8gdGhpcy5zY2hlbWVEZXRhaWxzLm1hdHVyaXR5Q291bnQgOiB0aGlzLm1hdHVyaXR5Q291bnQ7XHJcbiAgICAgICAgdGhpcy5zdG9yZXMgPSB0aGlzLnNjaGVtZURldGFpbHM/LnN0b3JlTGlzdCA/IHRoaXMuc2NoZW1lRGV0YWlscy5zdG9yZUxpc3QgOiBbXTtcclxuICAgICAgICB0aGlzLmdldE1ldGFsUHJpY2UoKTtcclxuICAgICAgICB0aGlzLmZhcUxpc3QgPSB0aGlzLnNjaGVtZURldGFpbHM/LmZhcXMgPyB0aGlzLnNjaGVtZURldGFpbHM/LmZhcXMgOiBbXVxyXG4gICAgICAgIHRoaXMuZmFxTGlzdC5mb3JFYWNoKGZhcSA9PiBmYXEuc2hvd0Fuc3dlciA9IGZhbHNlKVxyXG5cclxuICAgICAgICBpZih0aGlzLnNjcm9sbFRvVGVybXNBbmRDb25kaXRpb24pXHJcbiAgICAgICAgICB0aGlzLnNjcm9sbERvd24oKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGVucm9sbFNjaGVtZShzY2hlbWU6IGFueSkge1xyXG4gICAgaWYoIXRoaXMudGVybXNBbmRDb25kaXRpb24pIHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogJ1Rlcm1zICYgQ29uZGl0aW9uJywgZGV0YWlsOiAnUGxlYXNlIGFjY2VwdCB0ZXJtcyAmIGNvbmRpdGlvbicgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVucm9sbEJ1dHRvbkxvYWRlciA9IHRydWU7XHJcbiAgICBjb25zdCB1c2VyRGV0YWlscyA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpO1xyXG4gICAgbGV0IHBheWxvYWQgPVxyXG4gICAge1xyXG4gICAgICB1c2VyQmFzaWNEZXRhaWxzOiB7XHJcbiAgICAgICAgY3VzdG9tZXJfaWQ6IHVzZXJEZXRhaWxzPy51c2VySWQsXHJcbiAgICAgICAgY3VzdG9tZXJfbmFtZTogdXNlckRldGFpbHM/LmNvbnRhY3Q/Lm5hbWUsXHJcbiAgICAgICAgY3VzdG9tZXJfcGhvbmU6IHVzZXJEZXRhaWxzPy5jb250YWN0Py5tb2JpbGUsXHJcbiAgICAgICAgY3VzdG9tZXJfZW1haWw6IHVzZXJEZXRhaWxzPy5jb250YWN0Py5lbWFpbCxcclxuICAgICAgfSxcclxuICAgICAgc2NoZW1lSWQ6IHNjaGVtZT8uaWQsXHJcbiAgICAgIHNjaGVtZU5hbWU6IHNjaGVtZT8uc2NoZW1lTmFtZSxcclxuICAgICAgZWFybHlSZWRlbXB0aW9uQ2hhcmdlOiBzY2hlbWU/LmVucm9sbG1lbnRGZWVzLFxyXG4gICAgICBpbnN0YWxsbWVudEFtb3VudDogdGhpcy5tb250aGx5QW1vdW50LFxyXG4gICAgICBzdG9yZVJlZklkOiBzY2hlbWU/LnNjaGVtZVJlcHJlc2VudGF0aXZlSWQsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVzLmxlbmd0aCA8IDIgPyB0aGlzLnN0b3Jlc1swXS5pZCA6IHRoaXMuc2VsZWN0ZWRTdG9yZT8uaWQsXHJcbiAgICAgIHN0YWZmSWQ6IHRoaXMuc3RhZmZNZW1iZXJzLmxlbmd0aCA8IDIgPyB0aGlzLnN0YWZmTWVtYmVyc1swXS5pZCA6IHRoaXMuc2VsZWN0ZWRTdGFmZj8uaWQsXHJcbiAgICAgIHN0YWZmTmFtZTogdGhpcy5zdGFmZk1lbWJlcnMubGVuZ3RoIDwgMiA/IHRoaXMuc3RhZmZNZW1iZXJzWzBdLm5hbWUgOiB0aGlzLnNlbGVjdGVkU3RhZmY/Lm5hbWUsXHJcbiAgICAgIHN0b3JlTmFtZTogdGhpcy5zdG9yZXMubGVuZ3RoIDwgMiA/IHRoaXMuc3RvcmVzWzBdLm5hbWUgOiB0aGlzLnNlbGVjdGVkU3RvcmU/Lm5hbWUsXHJcbiAgICAgIG1hdHVyaXR5Q291bnQ6IHNjaGVtZT8ubWF0dXJpdHlDb3VudCxcclxuICAgICAgamV3ZWxsZXJCZW5lZml0OiBzY2hlbWU/Lmpld2VsbGVyQmVuZWZpdCxcclxuICAgICAgZHVlTW9udGhzOiBzY2hlbWU/Lm1hdHVyaXR5Q291bnQsXHJcbiAgICAgIGJ1c2luZXNzSWQ6IHNjaGVtZT8uYnVzaW5lc3NJZCxcclxuICAgICAgYnVzaW5lc3NOYW1lOiBzY2hlbWU/LmJ1c2luZXNzTmFtZSxcclxuICAgICAgZW5hYmxlRWFybHlSZWRlbXB0aW9uOiBzY2hlbWU/LmVuYWJsZUVhcmx5UmVkZW1wdGlvbixcclxuICAgICAgcmVkZW1wdGlvblNsYWJMaXN0OiBzY2hlbWU/LnJlZGVtcHRpb25TbGFiTGlzdCxcclxuICAgICAgc2NoZW1lVHlwZTogc2NoZW1lPy5zY2hlbWVUeXBlLFxyXG4gICAgICBtZXRhbFR5cGU6IHNjaGVtZT8ubWV0YWxUeXBlLFxyXG4gICAgICBrYXJhdFR5cGU6IHNjaGVtZT8ua2FyYXRUeXBlLFxyXG4gICAgICBjdXN0b21lckFjY291bnQ6IFwiXCJcclxuICAgIH1cclxuXHJcbiAgICBpZiAodXNlckRldGFpbHMgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnJlc3RTZXJ2aWNlLmVucm9sbFNjaGVtZShwYXlsb2FkLCB0cnVlKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmVucm9sbEJ1dHRvbkxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLmRhdGEuY2FzaGZyZWVSZXNwb25zZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGludWVQYXltZW50KHBheWxvYWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmVDaGFyZ2VzID0gcmVzcG9uc2UuZGF0YS5jYXJ0O1xyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMubWF0RGlhbG9nLm9wZW4odGhpcy5zaG93Q2hhcmdlc1RlbXBsYXRlLCB7XHJcbiAgICAgICAgICAgICAgcGFuZWxDbGFzczogJ3Nob3ctY2hhcmdlcy1jbGFzcydcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHJlcyA9PT0gJ1NVQ0NFU1MnKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250aW51ZVBheW1lbnQocGF5bG9hZCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5lbnJvbGxCdXR0b25Mb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgIGlmIChlcnI/LmVycm9yPy5tZXNzYWdlKSB7XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9sb2dpbiddLCB7IHF1ZXJ5UGFyYW1zOiB7IHNjaGVtZURldGFpbDogJ3NjaGVtZS1kZXRhaWwnIH0gfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNsb3NlRGlhbG9nKGFjdGlvbjogJ1NVQ0NFU1MnIHwgJ0ZBSUwnKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShhY3Rpb24pO1xyXG4gIH1cclxuICBzdG9yZUNoYXJnZXM6IGFueTtcclxuICBjb250aW51ZVBheW1lbnQocGF5bG9hZDogYW55KSB7XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmVucm9sbFNjaGVtZShwYXlsb2FkLCBmYWxzZSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgncGFzc2Jvb2tPcmRlcklkJywgcmVzcG9uc2UuZGF0YS5vcmRlcklkKTtcclxuICAgICAgICB0aGlzLm9wZW5DYXNoZnJlZVNkayhyZXNwb25zZS5kYXRhLnNlc3Npb25JZClcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7IH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIG9wZW5DYXNoZnJlZVNkayhzZXNzaW9uSWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLmNhc2hGcmVlRXZlbnQuZW1pdCh7IGRhdGE6IHsgb3JkZXJTaWduYXR1cmU6IHNlc3Npb25JZCB9IH0pXHJcbiAgfVxyXG5cclxuICBnZXRNZXRhbFByaWNlKCkge1xyXG4gICAgbGV0IHN0b3JlSWQgPSB0aGlzLnN0b3Jlcy5sZW5ndGggPCAyID8gdGhpcy5zdG9yZXNbMF0uaWQgOiB0aGlzLnNlbGVjdGVkU3RvcmU/LmlkXHJcbiAgICBpZighc3RvcmVJZClcclxuICAgICAgcmV0dXJuXHJcblxyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRNZXRhbFByaWNlKHN0b3JlSWQpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5tZXRhbFByaWNlID0gcmVzLmRhdGE7XHJcblxyXG4gICAgICBmb3IobGV0IGdvbGQgb2YgdGhpcy5tZXRhbFByaWNlPy5wcmljZURhdGEgPz8gW10pIHtcclxuICAgICAgICBpZihnb2xkLmthcmF0cyA9PT0gdGhpcy5zY2hlbWVEZXRhaWxzLmthcmF0VHlwZSkge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50R29sZFJhdGUgPSBnb2xkLnByaWNlO1xyXG4gICAgICAgICAgdGhpcy5wdXJjaGFzZWRHcmFtID0gTnVtYmVyKCh0aGlzLm1vbnRobHlBbW91bnQgLyB0aGlzLmN1cnJlbnRHb2xkUmF0ZSkudG9GaXhlZCgyKSlcclxuICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldCBpc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8PSA0NzU7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxEb3duKCkge1xyXG4gICAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVybXNBbmRDb25kaXRpb24nKTtcclxuICAgIGlmIChlbCkge1xyXG4gICAgICBlbC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiIsIjxwLXRvYXN0IHBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCIgW2Jhc2VaSW5kZXhdPVwiMTAwMDAwMDAwMDBcIiBbYXV0b1pJbmRleF09XCJ0cnVlXCJcclxuICBbc2hvd1RyYW5zZm9ybU9wdGlvbnNdPVwiaXNNb2JpbGUgPyAndHJhbnNsYXRlWSgtMTAwJSknIDogJydcIj48L3AtdG9hc3Q+XHJcblxyXG5cclxuPHNlY3Rpb24gY2xhc3M9XCJtYWluX3NlY3Rpb24gdy0xMDBcIiBbc3BhY2luZ0hvcml6b250YWxdPVwic3R5bGVzTGF5b3V0XCIgW2lkXT1cImRhdGE/LmlkXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFib3V0X3BsYW5fc2VjdGlvbiBwLTUgZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWJvdXRVc1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInNjaGVtZV9jYWxjdWxhdG9yX3NlY3Rpb24gcC01IGQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNjaGVtZUNhbGN1bGF0b3JcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZmFxX3NlY3Rpb24gcC01XCIgKm5nSWY9XCJmYXFMaXN0Lmxlbmd0aCA+IDBcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmYXFUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ0ZXJtc19jb25kaXRpb25fc2VjdGlvbiBwLTVcIlxyXG4gICAgKm5nSWY9XCJzY2hlbWVEZXRhaWxzPy50ZXJtc0FuZENvbmRpdGlvbnMgJiYgc2NoZW1lRGV0YWlscz8udGVybXNBbmRDb25kaXRpb25zICE9IHt9XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVybXNBbmRDb25kaXRpb25zXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuPG5nLXRlbXBsYXRlICNhYm91dFVzVGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtM1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRleHRfaGVhZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgWyh2YWx1ZSldPVwiZ2V0SW5wdXRUZXh0XCIgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGVzY190ZXh0XCI+XHJcbiAgICAgIHt7c2NoZW1lRGV0YWlscz8uYWJvdXR9fVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjc2NoZW1lQ2FsY3VsYXRvcj5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhbGNfaGVhZGVyIGQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICA8c3Bhbj5DYWxjdWxhdGUgWW91ciBSZXR1cm5zPC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FsY19kZXNjXCI+XHJcbiAgICAgICAgU2VlIGhvdyB5b3VyIHNhdmluZ3MgZ3JvdyB3aXRoIG91ciBzbWFydCBpbnZlc3RtZW50IHNjaGVtZXMuIGNob29zZSB5b3VyIHByZWZlcnJlZCBzY2hlbWUgYW5kIGRpc2NvdmVyXHJcbiAgICAgICAgeW91ciBwb3RlbnRpYWwgcmV0dXJucy5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYWxjdWxhdG9yX3NlY3Rpb25cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImdvbGQtcHVyaXR5XCJcclxuICAgICAgICAqbmdJZj1cInNjaGVtZURldGFpbHM/LnNjaGVtZVR5cGUgPT09ICdHT0xEX1BST1RFQ1RJT04nICYmIChzdG9yZXMubGVuZ3RoID09IDEgfHwgc2VsZWN0ZWRTdG9yZT8uaWQpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInB1cml0eVwiICpuZ0Zvcj1cImxldCBnb2xkIG9mIG1ldGFsUHJpY2U/LnByaWNlRGF0YSA/PyBbXVwiPlxyXG4gICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2pld2VsbGVycy5zdGFnZS5wYXNzYm9va2FwcC5pbi9hc3NldHMvaW1hZ2VzL2dvbGQtc2NoZW1lLzI0a19nb2xkX3BpYy5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxkaXY+e3tnb2xkPy5rYXJhdHM/LnJlcGxhY2VBbGwoJ18nLCBcIlwiKX19IEdvbGQgUHVyaXR5PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb2xkLXByaWNlXCI+4oK5e3tnb2xkLnByaWNlfX08L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInN1Yi1oZWFkZXIgbWItMyBweC0zIG1vbnRobHktc2NoZW1lXCI+XHJcbiAgICAgICAgPGg2IGNsYXNzPVwibWItMCBzdWItaGVhZGVyLXRleHRcIj5TZWxlY3QgWW91ciBNb250aGx5IEludmVzdG1lbnQgQW1vdW50PC9oNj5cclxuICAgICAgICA8cCBjbGFzcz1cImVucm9sbGVkLWdyYW1cIiAqbmdJZj1cInNjaGVtZURldGFpbHM/LnNjaGVtZVR5cGUgPT09ICdHT0xEX1BST1RFQ1RJT04nICYmIChzdG9yZXMubGVuZ3RoID09IDEgfHwgc2VsZWN0ZWRTdG9yZT8uaWQpXCI+e3twdXJjaGFzZWRHcmFtfX0gZ21zPC9wPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYWxjdWxhdGUtc2xpZGVyIG1iLTQgcHgtM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzbGlkZXItY29udGFpbmVyIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhbmdlXCIgY2xhc3M9XCJmb3JtLXJhbmdlIGN1c3RvbS1yYW5nZVwiIFttaW5dPVwibWluQW1vdW50XCIgW21heF09XCJtYXhBbW91bnRcIlxyXG4gICAgICAgICAgICBbc3RlcF09XCJzY2hlbWVEZXRhaWxzPy52YWx1ZVN0ZXBcIiBbKG5nTW9kZWwpXT1cIm1vbnRobHlBbW91bnRcIiAobmdNb2RlbENoYW5nZSk9XCJvbkFtb3VudENoYW5nZSgpXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2xpZGVyLWxhYmVscyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXQtMlwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGRcIj7igrl7e21pbkFtb3VudCB8IG51bWJlcn19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGRcIj7igrl7e21heEFtb3VudCB8IG51bWJlcn19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmFuZG9tX29wdGlvbnMgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZ2FwLTMgYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJpbnN0YWxsbWVudE9wdGlvbnMgJiYgaW5zdGFsbG1lbnRPcHRpb25zLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbiBjdXJzb3ItcG9pbnRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIm9wdGlvbi5zdGF0dXMgPyB7J2JvcmRlcic6ICcycHggc29saWQgZ3JleScsJ2ZvbnQtd2VpZ2h0JzonYm9sZCd9IDoge31cIlxyXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgaW5zdGFsbG1lbnRPcHRpb25zXCIgKGNsaWNrKT1cInNldE1vbnRobHlBbW91bnQob3B0aW9uKVwiPlxyXG4gICAgICAgICAgICAgIOKCuSB7e29wdGlvbj8udmFsdWV9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1jZW50ZXIgZnctYm9sZCBmcy00IG1vbnRobHktYW1vdW50XCI+4oK5e3ttb250aGx5QW1vdW50IHwgbnVtYmVyfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LW11dGVkIHNtYWxsIG10LTFcIj5Nb250aGx5IEludmVzdG1lbnQ8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FsY3VsYXRvci1ib3R0b20gcHgtMyBtYi01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNjaGVtZS1yZXN1bHRzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0zIGctMlwiPlxyXG4gICAgICAgICAgICA8IS0tIENvbnRyaWJ1dGlvbiBDYXJkIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS02XCIgW25nQ2xhc3NdPVwieydjYXJkLWNvbnRhaW5lcic6IHRoaXMuc2NoZW1lRGV0YWlscz8uc2NoZW1lVHlwZSAhPT0gJ0dPTERfUFJPVEVDVElPTid9XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgdGV4dC1jZW50ZXIgaC0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0yIHAtbWQtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZCBjYWxjX2Ftb3VudCBmcy1tZC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAg4oK5e3sobW9udGhseUFtb3VudCAqIG1hdHVyaXR5Q291bnQpIHwgbnVtYmVyfX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgWW91ciB7e21hdHVyaXR5Q291bnR9fS1Nb250aCBDb250cmlidXRpb25cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIFBsdXMgSWNvbiAtIEhpZGRlbiBvbiBtb2JpbGUgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byBkLW5vbmUgZC1tZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIiAqbmdJZj1cInRoaXMuc2NoZW1lRGV0YWlscz8uc2NoZW1lVHlwZSAhPT0gJ0dPTERfUFJPVEVDVElPTidcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnMtMyB0ZXh0LW11dGVkXCI+KzwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gQmVuZWZpdCBDYXJkIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS02IGNhcmQtY29udGFpbmVyXCIgKm5nSWY9XCJ0aGlzLnNjaGVtZURldGFpbHM/LnNjaGVtZVR5cGUgIT09ICdHT0xEX1BST1RFQ1RJT04nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgdGV4dC1jZW50ZXIgaC0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0yIHAtbWQtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZCBjYWxjX2Ftb3VudCBmcy1tZC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAg4oK5e3tiZW5lZml0QW1vdW50IHwgbnVtYmVyfX1cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgU2NoZW1lIEJlbmVmaXRcclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIEVxdWFscyBJY29uIC0gSGlkZGVuIG9uIG1vYmlsZSAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvIGQtbm9uZSBkLW1kLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiICpuZ0lmPVwidGhpcy5zY2hlbWVEZXRhaWxzPy5zY2hlbWVUeXBlICE9PSAnR09MRF9QUk9URUNUSU9OJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcy0zIHRleHQtbXV0ZWRcIj49PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBUb3RhbCBDYXJkIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNhcmQtY29udGFpbmVyIG10LTIgbXQtbWQtMFwiICpuZ0lmPVwidGhpcy5zY2hlbWVEZXRhaWxzPy5zY2hlbWVUeXBlICE9PSAnR09MRF9QUk9URUNUSU9OJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHRleHQtY2VudGVyIGgtMTAwIGJvcmRlci0yXCIgW3N0eWxlLmJhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTIgcC1tZC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmdy1ib2xkIGNhbGNfYW1vdW50ICBmcy1tZC01IHRleHQtd2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNjaGVtZURldGFpbHM/LmJlbmVmaXRUeXBlICE9ICdESVNDT1VOVCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIOKCuXt7KChtb250aGx5QW1vdW50ICogbWF0dXJpdHlDb3VudCkgKyBiZW5lZml0QW1vdW50KSB8IG51bWJlcn19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2NoZW1lRGV0YWlscz8uYmVuZWZpdFR5cGUgPT09ICdESVNDT1VOVCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIOKCuXt7KG1vbnRobHlBbW91bnQgKiBtYXR1cml0eUNvdW50KSB8IG51bWJlcn19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtd2hpdGUtNTAgc21hbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICBUb3RhbCBSZWRlbXB0aW9uIFZhbHVlXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tNlwiICpuZ0lmPVwidGhpcy5zY2hlbWVEZXRhaWxzPy5zY2hlbWVUeXBlID09PSAnR09MRF9QUk9URUNUSU9OJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHRleHQtY2VudGVyIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMiBwLW1kLTMgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LWJvbGQgY2FsY19hbW91bnQgZnMtbWQtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7cHVyY2hhc2VkR3JhbX19IGdtc1xyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICBHb2xkIEFsbG9jYXRpb24gVG9kYXlcclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJvbnVzLW1lc3NhZ2UgdGV4dC1jZW50ZXIgbWItMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJzY2hlbWVEZXRhaWxzPy5zdG9yZUxpc3Q/Lmxlbmd0aCA+PTIgfHwgc3RhZmZNZW1iZXJzLmxlbmd0aCA+PSAyIFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvcmVfc2VsZWN0aW9uICB3LTUwIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMVwiICpuZ0lmPVwic2NoZW1lRGV0YWlscz8uc3RvcmVMaXN0Py5sZW5ndGggPj0yXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGgtMTAwIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyXCI+IDxzcGFuPlNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICBTdG9yZSA6IDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvcmUtc2VsZWN0b3JcIj5cclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgaWQ9XCJzdG9yZURyb3Bkb3duXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFN0b3JlXCIgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIChuZ01vZGVsQ2hhbmdlKT1cImdldE1ldGFsUHJpY2UoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBkaXNhYmxlZD5DaG9vc2UgYSBzdG9yZS4uLjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBzdG9yZSBvZiBzdG9yZXM7XCIgW25nVmFsdWVdPVwic3RvcmVcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e3N0b3JlLm5hbWV9fSAtIHt7c3RvcmUuc3RvcmVSZWZJZH19XHJcbiAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhZmYtc2VsZWN0b3Igdy01MCAgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xXCIgKm5nSWY9XCJzdGFmZk1lbWJlcnMubGVuZ3RoID49IDJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgaC0xMDAgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXJcIj48c3Bhbj5TZWxlY3RcclxuICAgICAgICAgICAgICAgICAgU3RhZmYgTWVtYmVyIDogPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxzZWxlY3QgaWQ9XCJzdGFmZkRyb3Bkb3duXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFN0YWZmXCIgY2xhc3M9XCJmb3JtLXNlbGVjdFwiPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIGRpc2FibGVkPkNob29zZSBhIHN0YWZmIG1lbWJlci4uLjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgc3RhZmYgb2Ygc3RhZmZNZW1iZXJzO1wiIFtuZ1ZhbHVlXT1cInN0YWZmXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7c3RhZmYubmFtZX19IC0ge3tzdGFmZi5yb2xlID8gc3RhZmYucm9sZSA6ICdzdGFmZicgfX1cclxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRlcm1zLWFuZC1jb25kaXRpb25cIj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFsobmdNb2RlbCldPVwidGVybXNBbmRDb25kaXRpb25cIj5JIGFncmVlIHRvIDxhIChjbGljayk9XCJzY3JvbGxEb3duKClcIj5UZXJtcyAmIENvbmRpdGlvbnM8L2E+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJlbnJvbGwtYnRuIHctMTAwIHB5LTMgZnctYm9sZCBtYi0yXCIgW2FwcEJ1dHRvbkVkaXRvcl09XCJlZGl0ID8/IGZhbHNlXCIgc2ltcG9CdXR0b25EaXJlY3RpdmVcclxuICAgICAgICAgICAgW2J1dHRvblN0eWxlXT1cImdldEJ1dHRvblN0eWxlKDApXCIgW2J1dHRvbklkXT1cImdldEJ1dHRvbklkKDApXCIgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiXHJcbiAgICAgICAgICAgIFtpZF09XCJkYXRhPy5pZCtnZXRCdXR0b25JZCgwKVwiIChjbGljayk9XCJlbnJvbGxTY2hlbWUoc2NoZW1lRGV0YWlscylcIj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIgIWVucm9sbEJ1dHRvbkxvYWRlclwiPkVucm9sbCBpbiBTY2hlbWU8L3NwYW4+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbnJvbGxCdXR0b25Mb2FkZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPjxtYXQtc3Bpbm5lciBjbGFzcz1cInctMTAwIGgtMTAwXCI+PC9tYXQtc3Bpbm5lcj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIExvYWRpbmcuLi5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFNjaGVtZSA9PT0gJ2dyb3VwJ1wiIGNsYXNzPVwic2NoZW1lLXJlc3VsdHNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICDirZAgPGg2IGNsYXNzPVwibWItMCBncm91cC1yZXN1bHRzLXRpdGxlXCI+R3JvdXAgU2NoZW1lIFJlc3VsdHM8L2g2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtY2FyZCB0ZXh0LWNlbnRlciBwLTMgYm9yZGVyIHJvdW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtYW1vdW50IGZ3LWJvbGQgZnMtNVwiPuKCuXt7KG1vbnRobHlBbW91bnQgKiAxMSkgfCBudW1iZXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1sYWJlbCB0ZXh0LW11dGVkIHNtYWxsXCI+WW91ciBUb3RhbCAxMS1Nb250aCBDb250cmlidXRpb248L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtY2FyZCByZXN1bHQtY2FyZC1ncm91cCB0ZXh0LWNlbnRlciBwLTMgYm9yZGVyIHJvdW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtYW1vdW50IGZ3LWJvbGQgZnMtNVwiPuKCuXt7KG1vbnRobHlBbW91bnQgKiAxMSkgfCBudW1iZXJ9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1sYWJlbCBzbWFsbCBvcGFjaXR5LTc1XCI+TW9udGhseSBMdWNreSBEcmF3IEFtb3VudDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJlbnJvbGwtYnRuIHctMTAwIHB5LTMgZnctYm9sZCBtYi0yXCIgW2FwcEJ1dHRvbkVkaXRvcl09XCJlZGl0ID8/IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBzaW1wb0J1dHRvbkRpcmVjdGl2ZSBbYnV0dG9uU3R5bGVdPVwiZ2V0QnV0dG9uU3R5bGUoMClcIiBbYnV0dG9uSWRdPVwiZ2V0QnV0dG9uSWQoMClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzZWN0aW9uSWRdPVwiZGF0YT8uaWRcIiBbaWRdPVwiZGF0YT8uaWQrZ2V0QnV0dG9uSWQoMClcIiBbYnV0dG9uRGF0YV09XCJnZXRCdXR0b25EYXRhKDApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgRW5yb2xsIGluIFNjaGVtZVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjZmFxVGVtcGxhdGU+XHJcbiAgPHNlY3Rpb24gY2xhc3M9XCJmYXEtc2VjdGlvbiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmYXEtY29udGFpbmVyXCI+XHJcbiAgICAgIDxoMSBjbGFzcz1cImZhcS10aXRsZVwiPkZyZXF1ZW50bHkgQXNrZWQgUXVlc3Rpb25zPC9oMT5cclxuICAgICAgPHAgY2xhc3M9XCJmYXEtc3VidGl0bGVcIj5FdmVyeXRoaW5nIHlvdSBuZWVkIHRvIGtub3cgYWJvdXQgb3VyIEdyb3VwIEludmVzdG1lbnQgU2NoZW1lPC9wPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHctMTAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZhcS1saXN0XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmFxLWl0ZW1cIiAqbmdGb3I9XCJsZXQgZmFxIG9mIGZhcUxpc3QgPz8gW11cIiAoY2xpY2spPVwiZmFxLnNob3dBbnN3ZXIgPSAhZmFxLnNob3dBbnN3ZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZhcS1xdWVzdGlvblwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuPnt7ZmFxPy5xdWVzdGlvbiA/IGZhcT8ucXVlc3Rpb24gOiAnTi9BJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImZhcS5zaG93QW5zd2VyXCI+a2V5Ym9hcmRfYXJyb3dfdXA8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFmYXEuc2hvd0Fuc3dlclwiPmtleWJvYXJkX2Fycm93X2Rvd248L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZhcS1hbnN3ZXJcIiAqbmdJZj1cImZhcS5zaG93QW5zd2VyXCI+XHJcbiAgICAgICAgICAgICAgPHA+e3tmYXE/LmFuc3dlciA/IGZhcT8uYW5zd2VyIDonTi9BJyB9fTwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L3NlY3Rpb24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjdGVybXNBbmRDb25kaXRpb25zPlxyXG4gIDxzZWN0aW9uIGNsYXNzPVwidGVybXMtc2VjdGlvbiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIiBpZD1cInRlcm1zQW5kQ29uZGl0aW9uXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGVybXMtY29udGFpbmVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICA8aDEgY2xhc3M9XCJ0ZXJtcy10aXRsZVwiPlRlcm1zIGFuZCBDb25kaXRpb25zPC9oMT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXJtcy1jb250ZW50XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRlcm0taXRlbSBkLWZsZXhcIiAqbmdGb3I9XCJsZXQga2V5IG9mIGdldEtleXMoc2NoZW1lRGV0YWlscz8udGVybXNBbmRDb25kaXRpb25zKTsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRlcm1zX2NvdW50XCI+XHJcbiAgICAgICAgICAgIDxoMyBjbGFzcz1cInRlcm0taGVhZGluZ1wiPnt7IGtleSB9fS48L2gzPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cInRlcm0tdGV4dFwiPlxyXG4gICAgICAgICAgICAgIHt7IHNjaGVtZURldGFpbHM/LnRlcm1zQW5kQ29uZGl0aW9ucz8uW2tleV0/LnJlcGxhY2VBbGwoJ1xcbicsJyAnKSB8fCAnTi9BJyB9fVxyXG4gICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiaW1wb3J0YW50LW5vdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cD48c3Ryb25nPkltcG9ydGFudDo8L3N0cm9uZz4gVGhlc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgYXJlIHN1YmplY3QgdG8gY2hhbmdlIHdpdGggcHJpb3Igbm90aWNlLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBQYXJ0aWNpcGFudHMgd2lsbCBiZSBub3RpZmllZCBvZiBhbnkgY2hhbmdlcyB2aWEgcmVnaXN0ZXJlZCBlbWFpbCBvciBTTVMuIENvbnRpbnVlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aWNpcGF0aW9uIGFmdGVyIG5vdGlmaWNhdGlvbiBjb25zdGl0dXRlcyBhY2NlcHRhbmNlIG9mIHJldmlzZWQgdGVybXMuPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyLW5vdGVcIj5cclxuICAgICAgICAgIDxwPkxhc3QgdXBkYXRlZDogOC8yMi8yMDI1IHwgVmVyc2lvbiAzLjE8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9zZWN0aW9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3Nob3dDaGFyZ2VzPlxyXG4gIDxkaXYgY2xhc3M9XCJwYXltZW50LWRpYWxvZ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImRpYWxvZy1oZWFkZXJcIj5cclxuICAgICAgPGgyPlBheW1lbnQgRGV0YWlsczwvaDI+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJjbG9zZS1idG5cIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNsb3NlRGlhbG9nKCdGQUlMJylcIj5cclxuICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWNvbnRlbnRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtcm93XCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPkluc3RhbGxtZW50IEFtb3VudDo8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhbW91bnRcIj7igrl7e3N0b3JlQ2hhcmdlcz8uYnJlYWtkb3duPy5pbnN0YWxsbWVudEFtb3VudCA/XHJcbiAgICAgICAgICAoc3RvcmVDaGFyZ2VzPy5icmVha2Rvd24/Lmluc3RhbGxtZW50QW1vdW50IHwgbnVtYmVyKSA6IDAgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtcm93XCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPkNvbnZlbmllbmNlIEZlZTo8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhbW91bnRcIj7igrl7e3N0b3JlQ2hhcmdlcz8uYnJlYWtkb3duPy5jb252ZW5pZW5jZUZlZT8udmFsdWUgP1xyXG4gICAgICAgICAgKHN0b3JlQ2hhcmdlcz8uYnJlYWtkb3duPy5jb252ZW5pZW5jZUZlZT8udmFsdWUgfCBudW1iZXIpIDogMCB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1yb3dcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+UGF5bWVudCBTZXJ2aWNlIENoYXJnZXM6PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYW1vdW50XCI+4oK5e3tzdG9yZUNoYXJnZXM/LmJyZWFrZG93bj8ucGF5bWVudFNlcnZpY2VDaGFyZ2VzPy52YWx1ZSA/XHJcbiAgICAgICAgICAoc3RvcmVDaGFyZ2VzPy5icmVha2Rvd24/LnBheW1lbnRTZXJ2aWNlQ2hhcmdlcz8udmFsdWUgfCBudW1iZXIpIDogMCB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1yb3cgdG90YWwtcm93XCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbCB0b3RhbC1sYWJlbFwiPlRvdGFsIEFtb3VudDo8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhbW91bnQgdG90YWwtYW1vdW50XCI+4oK5e3tzdG9yZUNoYXJnZXM/LmJyZWFrZG93bj8udG90YWxBbW91bnQgP1xyXG4gICAgICAgICAgKHN0b3JlQ2hhcmdlcz8uYnJlYWtkb3duPy50b3RhbEFtb3VudCB8IG51bWJlcikgOiAwIH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctYWN0aW9uc1wiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiY29udGludWUtYnRuXCIgKGNsaWNrKT1cImNsb3NlRGlhbG9nKCdTVUNDRVNTJylcIj5Db250aW51ZTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1lLWRldGFpbC5tb2RhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvc2VjdGlvbnMvc2NoZW1lLWRldGFpbC9zY2hlbWUtZGV0YWlsLm1vZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYWNrZ3JvdW5kTW9kZWwsIElucHV0VGV4dE1vZGVsLCBMYXlPdXRNb2RlbCAgfSBmcm9tIFwiLi4vLi4vc3R5bGVzL3N0eWxlLm1vZGVsXCI7XHJcbmltcG9ydCB7QWN0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtZURldGFpbE1vZGFsIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHNlY3Rpb25UeXBlOiBzdHJpbmc7XHJcbiAgc2VjdGlvbk5hbWU6IHN0cmluZztcclxuICBjb250ZW50OiBTY2hlbWVEZXRhaWxDb250ZW50TW9kYWw7XHJcbiAgc3R5bGVzOiBTY2hlbWVEZXRhaWxTdHlsZXNNb2RhbDtcclxuICBhY3Rpb246IEFjdGlvbk1vZGVsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtZURldGFpbFN0eWxlc01vZGFsIHtcclxuICBsYXlvdXQ6IExheU91dE1vZGVsO1xyXG4gIGJhY2tncm91bmQ6IEJhY2tncm91bmRNb2RlbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTY2hlbWVEZXRhaWxDb250ZW50TW9kYWwge1xyXG4gIGlucHV0VGV4dDogSW5wdXRUZXh0TW9kZWxbXVxyXG59XHJcbiJdfQ==
|
@@ -1,14 +0,0 @@
|
|
1
|
-
import { OnInit } from '@angular/core';
|
2
|
-
import { StorageServiceService } from '../../../services/storage.service';
|
3
|
-
import { RestService } from '../../../services/rest.service';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
export declare class PassbookTransactionsComponent implements OnInit {
|
6
|
-
private storageService;
|
7
|
-
private restService;
|
8
|
-
constructor(storageService: StorageServiceService, restService: RestService);
|
9
|
-
ngOnInit(): void;
|
10
|
-
getAllTransactions(): void;
|
11
|
-
allTransactions: any[];
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PassbookTransactionsComponent, never>;
|
13
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PassbookTransactionsComponent, "simpo-passbook-transactions", never, {}, {}, never, never, true, never>;
|
14
|
-
}
|
@@ -1,28 +0,0 @@
|
|
1
|
-
import { SchemesComponentModel, SchemesContentModel, SchemesStylesModel } from './schemes.component.model';
|
2
|
-
import BaseSection from '../../../sections/BaseSection';
|
3
|
-
import { RestService } from '../../../services/rest.service';
|
4
|
-
import { LayOutModel, SpacingModel } from '../../../styles/style.model';
|
5
|
-
import { Router } from '@angular/router';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
export declare class SchemesComponent extends BaseSection {
|
8
|
-
private restService;
|
9
|
-
private router;
|
10
|
-
data?: SchemesComponentModel;
|
11
|
-
edit?: boolean;
|
12
|
-
delete?: boolean;
|
13
|
-
index?: number;
|
14
|
-
content?: SchemesContentModel;
|
15
|
-
styles?: SchemesStylesModel;
|
16
|
-
constructor(restService: RestService, router: Router);
|
17
|
-
ngOnInit(): void;
|
18
|
-
schemes: any;
|
19
|
-
getAllSchemes(): void;
|
20
|
-
get getInputText(): string;
|
21
|
-
get stylesLayout(): LayOutModel;
|
22
|
-
get spacingLayout(): SpacingModel;
|
23
|
-
getParentClass(): "" | "overflow-scroll flex-nowrap";
|
24
|
-
getClass(index: number): "col-12" | "col-6" | "col-6 mb-2" | "col-12 mb-2";
|
25
|
-
showSchemeDetails(scheme: any): void;
|
26
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SchemesComponent, never>;
|
27
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SchemesComponent, "simpo-schemes", never, { "data": { "alias": "data"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "index": { "alias": "index"; "required": false; }; }, {}, never, never, true, never>;
|
28
|
-
}
|
@@ -1,21 +0,0 @@
|
|
1
|
-
import { Corners } from "../../../styles";
|
2
|
-
import { AnimationModel, BackgroundModel, DisplaySection, ImageStyle, InputTextModel, LayOutModel } from "../../../styles/style.model";
|
3
|
-
export interface SchemesComponentModel {
|
4
|
-
id: string;
|
5
|
-
sectionType: string;
|
6
|
-
sectionName: string;
|
7
|
-
content: SchemesContentModel;
|
8
|
-
styles: SchemesStylesModel;
|
9
|
-
}
|
10
|
-
export interface SchemesContentModel {
|
11
|
-
display: DisplaySection;
|
12
|
-
inputText: InputTextModel[];
|
13
|
-
}
|
14
|
-
export interface SchemesStylesModel {
|
15
|
-
layout: LayOutModel;
|
16
|
-
background: BackgroundModel;
|
17
|
-
direction: "ROW" | "COLUMN";
|
18
|
-
corners: Corners;
|
19
|
-
image: ImageStyle;
|
20
|
-
animation: AnimationModel;
|
21
|
-
}
|