merchi_checkout 1.0.2 → 1.0.3
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/lib/assets/merchi-monster-loader.gif +0 -0
- package/lib/components/MerchiCheckout.js +2 -1
- package/lib/fonts/nunito-bold-webfont.woff +0 -0
- package/lib/fonts/nunito-bold-webfont.woff2 +0 -0
- package/lib/fonts/nunito-regular-webfont.woff +0 -0
- package/lib/fonts/nunito-regular-webfont.woff2 +0 -0
- package/lib/styles/globals.css +1995 -0
- package/lib/styles/globals.css.map +1 -0
- package/lib/styles/globals.scss +2 -15
- package/package.json +5 -2
- package/lib/actions/user.js +0 -64
- package/lib/components/merchi_invoice/Container.js +0 -25
- package/lib/components/merchi_invoice/InvoiceInfo.js +0 -38
- package/lib/components/merchi_invoice/MerchiInvoice.js +0 -103
- package/lib/components/merchi_invoice/TabTile.js +0 -32
- package/lib/components/merchi_invoice/actions/invoice.js +0 -120
- package/lib/components/merchi_invoice/buttons/ButtonInvoiceDownload.js +0 -93
- package/lib/components/merchi_invoice/buttons/ButtonPayInvoice.js +0 -29
- package/lib/components/merchi_invoice/buttons/index.js +0 -4
- package/lib/components/merchi_invoice/currency.js +0 -223
- package/lib/components/merchi_invoice/icons/IconPaymentSSL.js +0 -23
- package/lib/components/merchi_invoice/icons/IconPaymentUtrust.js +0 -12
- package/lib/components/merchi_invoice/icons/IconsPayments.js +0 -15
- package/lib/components/merchi_invoice/icons/index.js +0 -5
- package/lib/components/merchi_invoice/images/ssl-secured.svg +0 -17
- package/lib/components/merchi_invoice/images/tile-stripe.png +0 -0
- package/lib/components/merchi_invoice/images/tile-utrust.png +0 -0
- package/lib/components/merchi_invoice/square/SquareCard.js +0 -126
- package/lib/components/merchi_invoice/stripe/StripeCardFields.js +0 -132
- package/lib/components/merchi_invoice/stripe/StripeCardForm.js +0 -132
- package/lib/components/merchi_invoice/stripe/StripePaymentButtons.js +0 -98
- package/lib/components/merchi_invoice/stripe/actions.js +0 -203
- package/lib/components/merchi_invoice/stripe/utils.js +0 -20
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
export var currencyMap = {
|
|
2
|
-
ALL: 'L',
|
|
3
|
-
AFN: '؋',
|
|
4
|
-
ARS: '$',
|
|
5
|
-
AWG: 'ƒ',
|
|
6
|
-
AUD: '$',
|
|
7
|
-
AZN: '₼',
|
|
8
|
-
BSD: '$',
|
|
9
|
-
BBD: '$',
|
|
10
|
-
BYR: 'p.',
|
|
11
|
-
BZD: 'BZ$',
|
|
12
|
-
BMD: '$',
|
|
13
|
-
BOB: 'Bs.',
|
|
14
|
-
BAM: 'KM',
|
|
15
|
-
BWP: 'P',
|
|
16
|
-
BGN: 'лв',
|
|
17
|
-
BRL: 'R$',
|
|
18
|
-
BND: '$',
|
|
19
|
-
KHR: '៛',
|
|
20
|
-
CAD: '$',
|
|
21
|
-
KYD: '$',
|
|
22
|
-
CLP: '$',
|
|
23
|
-
CNY: '¥',
|
|
24
|
-
COP: '$',
|
|
25
|
-
CRC: '₡',
|
|
26
|
-
HRK: 'kn',
|
|
27
|
-
CUP: '₱',
|
|
28
|
-
CZK: 'Kč',
|
|
29
|
-
DKK: 'kr',
|
|
30
|
-
DOP: 'RD$',
|
|
31
|
-
XCD: '$',
|
|
32
|
-
EGP: '£',
|
|
33
|
-
SVC: '$',
|
|
34
|
-
EEK: 'kr',
|
|
35
|
-
EUR: '€',
|
|
36
|
-
FKP: '£',
|
|
37
|
-
FJD: '$',
|
|
38
|
-
GHC: '₵',
|
|
39
|
-
GIP: '£',
|
|
40
|
-
GTQ: 'Q',
|
|
41
|
-
GGP: '£',
|
|
42
|
-
GYD: '$',
|
|
43
|
-
HNL: 'L',
|
|
44
|
-
HKD: '$',
|
|
45
|
-
HUF: 'Ft',
|
|
46
|
-
ISK: 'kr',
|
|
47
|
-
INR: '₹',
|
|
48
|
-
IDR: 'Rp',
|
|
49
|
-
IRR: '﷼',
|
|
50
|
-
IMP: '£',
|
|
51
|
-
ILS: '₪',
|
|
52
|
-
JMD: '`J$',
|
|
53
|
-
JPY: '¥',
|
|
54
|
-
JEP: '£',
|
|
55
|
-
KES: 'KSh',
|
|
56
|
-
KZT: 'лв',
|
|
57
|
-
KPW: '₩',
|
|
58
|
-
KRW: '₩',
|
|
59
|
-
KGS: 'лв',
|
|
60
|
-
LAK: '₭',
|
|
61
|
-
LVL: 'Ls',
|
|
62
|
-
LBP: '£',
|
|
63
|
-
LRD: '$',
|
|
64
|
-
LTL: 'Lt',
|
|
65
|
-
MKD: 'ден',
|
|
66
|
-
MYR: 'RM',
|
|
67
|
-
MUR: '₨',
|
|
68
|
-
MXN: '$',
|
|
69
|
-
MNT: '₮',
|
|
70
|
-
MZN: 'MT',
|
|
71
|
-
NAD: '$',
|
|
72
|
-
NPR: '₨',
|
|
73
|
-
ANG: 'ƒ',
|
|
74
|
-
NZD: '$',
|
|
75
|
-
NIO: 'C$',
|
|
76
|
-
NGN: '₦',
|
|
77
|
-
NOK: 'kr',
|
|
78
|
-
OMR: '﷼',
|
|
79
|
-
PKR: '₨',
|
|
80
|
-
PAB: 'B/.',
|
|
81
|
-
PYG: 'Gs',
|
|
82
|
-
PEN: 'S/.',
|
|
83
|
-
PHP: '₱',
|
|
84
|
-
PLN: 'zł',
|
|
85
|
-
QAR: '﷼',
|
|
86
|
-
RON: 'lei',
|
|
87
|
-
RUB: '₽',
|
|
88
|
-
RMB: '¥',
|
|
89
|
-
SHP: '£',
|
|
90
|
-
SAR: '﷼',
|
|
91
|
-
RSD: 'Дин.',
|
|
92
|
-
SCR: '₨',
|
|
93
|
-
SGD: '$',
|
|
94
|
-
SBD: '$',
|
|
95
|
-
SOS: 'S',
|
|
96
|
-
ZAR: 'R',
|
|
97
|
-
LKR: '₨',
|
|
98
|
-
SEK: 'kr',
|
|
99
|
-
CHF: 'CHF',
|
|
100
|
-
SRD: '$',
|
|
101
|
-
SYP: '£',
|
|
102
|
-
TZS: 'TSh',
|
|
103
|
-
TWD: 'NT$',
|
|
104
|
-
THB: '฿',
|
|
105
|
-
TTD: 'TT$',
|
|
106
|
-
TRY: '₺',
|
|
107
|
-
TRL: '₤',
|
|
108
|
-
TVD: '$',
|
|
109
|
-
UGX: 'USh',
|
|
110
|
-
UAH: '₴',
|
|
111
|
-
GBP: '£',
|
|
112
|
-
USD: '$',
|
|
113
|
-
UYU: '$U',
|
|
114
|
-
UZS: 'лв',
|
|
115
|
-
VEF: 'Bs',
|
|
116
|
-
VND: '₫',
|
|
117
|
-
YER: '﷼',
|
|
118
|
-
ZWD: 'Z$'
|
|
119
|
-
};
|
|
120
|
-
export function formatCurrency(amount, options) {
|
|
121
|
-
/*
|
|
122
|
-
* Example usage:
|
|
123
|
-
formatCurrency(-222.123456, {currency: 'EGP',
|
|
124
|
-
showCodeIfNoSymbol: true,
|
|
125
|
-
financialNegative: true,
|
|
126
|
-
decimalPlaces: 3})
|
|
127
|
-
--> '(£222.123)'
|
|
128
|
-
*/
|
|
129
|
-
|
|
130
|
-
var symbol;
|
|
131
|
-
var negative = false;
|
|
132
|
-
var result;
|
|
133
|
-
options = options || {};
|
|
134
|
-
options.currency = options.currency || 'AUD';
|
|
135
|
-
options.showCodeIfNoSymbol = options.showCodeIfNoSymbol || true;
|
|
136
|
-
options.symbolAfterAmount = options.symbolAfterAmount || false;
|
|
137
|
-
options.financialNegative = options.financialNegative || false;
|
|
138
|
-
options.codeAfterSymbol = options.codeAfterSymbol || false;
|
|
139
|
-
options.codeBeforeSymbol = options.codeBeforeSymbol || false;
|
|
140
|
-
options.spaceBetweenSymbol = options.spaceBetweenSymbol || false;
|
|
141
|
-
options.decimalPlaces = options.decimalPlaces || 2;
|
|
142
|
-
options.decimalSeperator = options.decimalSeperator || '.';
|
|
143
|
-
options.codeAfterAmount = options.codeAfterAmount || false;
|
|
144
|
-
if (amount < 0.0) {
|
|
145
|
-
negative = true;
|
|
146
|
-
amount *= -1.0; // eslint-disable-line
|
|
147
|
-
}
|
|
148
|
-
if (Object.prototype.hasOwnProperty.call(currencyMap, options.currency)) {
|
|
149
|
-
symbol = currencyMap[options.currency];
|
|
150
|
-
if (options.codeAfterSymbol) {
|
|
151
|
-
symbol += '(' + options.currency + ') ';
|
|
152
|
-
}
|
|
153
|
-
if (options.codeBeforeSymbol) {
|
|
154
|
-
symbol = "(".concat(options.currency, ") ").concat(symbol);
|
|
155
|
-
}
|
|
156
|
-
} else if (options.showCodeIfNoSymbol) {
|
|
157
|
-
symbol = options.currency;
|
|
158
|
-
} else {
|
|
159
|
-
symbol = '';
|
|
160
|
-
}
|
|
161
|
-
amount = amount.toFixed(options.decimalPlaces);
|
|
162
|
-
amount = amount.replace('.', options.decimalSeperator);
|
|
163
|
-
if (options.symbolAfterAmount) {
|
|
164
|
-
result = amount;
|
|
165
|
-
if (options.spaceBetweenSymbol) {
|
|
166
|
-
result += ' ';
|
|
167
|
-
}
|
|
168
|
-
result += symbol;
|
|
169
|
-
} else {
|
|
170
|
-
result = symbol;
|
|
171
|
-
if (options.spaceBetweenSymbol) {
|
|
172
|
-
result += ' ';
|
|
173
|
-
}
|
|
174
|
-
result += amount;
|
|
175
|
-
}
|
|
176
|
-
if (negative) {
|
|
177
|
-
if (options.financialNegative) {
|
|
178
|
-
result = "(".concat(result, ")");
|
|
179
|
-
} else {
|
|
180
|
-
result = "-".concat(result);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
if (options.codeAfterAmount === true) {
|
|
184
|
-
result += " (".concat(options.currency, ")");
|
|
185
|
-
}
|
|
186
|
-
return result;
|
|
187
|
-
}
|
|
188
|
-
function taxPercent(tax) {
|
|
189
|
-
return tax ? "(".concat(tax.taxPercent, "%)") : '';
|
|
190
|
-
}
|
|
191
|
-
function includesTax(tax) {
|
|
192
|
-
return tax && tax.taxPercent > 0 ? " inc ".concat(tax.taxName, " ").concat(taxPercent(tax)) : '';
|
|
193
|
-
}
|
|
194
|
-
export function calculateTotalWithTax(total, tax) {
|
|
195
|
-
var taxMultiplier = 1.0;
|
|
196
|
-
if (tax && tax.taxPercent > 0) {
|
|
197
|
-
taxMultiplier += tax.taxPercent / 100;
|
|
198
|
-
taxMultiplier = parseFloat(taxMultiplier.toFixed(2));
|
|
199
|
-
}
|
|
200
|
-
var grandTotal = total * taxMultiplier;
|
|
201
|
-
return parseFloat(grandTotal.toFixed(2));
|
|
202
|
-
}
|
|
203
|
-
export function currencyTaxAndCost(currency, tax, theCost) {
|
|
204
|
-
var currencyOptions = {
|
|
205
|
-
currency: currency,
|
|
206
|
-
showCodeIfNoSymbol: false
|
|
207
|
-
};
|
|
208
|
-
var totalCost = calculateTotalWithTax(theCost, tax);
|
|
209
|
-
var withCurrency = formatCurrency(totalCost, currencyOptions);
|
|
210
|
-
return "".concat(currency, " ").concat(withCurrency, " ").concat(includesTax(tax));
|
|
211
|
-
}
|
|
212
|
-
export function currencyTotalCostShowIncTax(job) {
|
|
213
|
-
var currency = job.currency,
|
|
214
|
-
taxType = job.taxType,
|
|
215
|
-
totalCost = job.totalCost;
|
|
216
|
-
var currencyOptions = {
|
|
217
|
-
currency: currency,
|
|
218
|
-
showCodeIfNoSymbol: false
|
|
219
|
-
};
|
|
220
|
-
var withCurrency = formatCurrency(totalCost ? totalCost : 0, currencyOptions);
|
|
221
|
-
return "".concat(currency, " ").concat(withCurrency, " ").concat(includesTax(taxType));
|
|
222
|
-
}
|
|
223
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjdXJyZW5jeU1hcCIsIkFMTCIsIkFGTiIsIkFSUyIsIkFXRyIsIkFVRCIsIkFaTiIsIkJTRCIsIkJCRCIsIkJZUiIsIkJaRCIsIkJNRCIsIkJPQiIsIkJBTSIsIkJXUCIsIkJHTiIsIkJSTCIsIkJORCIsIktIUiIsIkNBRCIsIktZRCIsIkNMUCIsIkNOWSIsIkNPUCIsIkNSQyIsIkhSSyIsIkNVUCIsIkNaSyIsIkRLSyIsIkRPUCIsIlhDRCIsIkVHUCIsIlNWQyIsIkVFSyIsIkVVUiIsIkZLUCIsIkZKRCIsIkdIQyIsIkdJUCIsIkdUUSIsIkdHUCIsIkdZRCIsIkhOTCIsIkhLRCIsIkhVRiIsIklTSyIsIklOUiIsIklEUiIsIklSUiIsIklNUCIsIklMUyIsIkpNRCIsIkpQWSIsIkpFUCIsIktFUyIsIktaVCIsIktQVyIsIktSVyIsIktHUyIsIkxBSyIsIkxWTCIsIkxCUCIsIkxSRCIsIkxUTCIsIk1LRCIsIk1ZUiIsIk1VUiIsIk1YTiIsIk1OVCIsIk1aTiIsIk5BRCIsIk5QUiIsIkFORyIsIk5aRCIsIk5JTyIsIk5HTiIsIk5PSyIsIk9NUiIsIlBLUiIsIlBBQiIsIlBZRyIsIlBFTiIsIlBIUCIsIlBMTiIsIlFBUiIsIlJPTiIsIlJVQiIsIlJNQiIsIlNIUCIsIlNBUiIsIlJTRCIsIlNDUiIsIlNHRCIsIlNCRCIsIlNPUyIsIlpBUiIsIkxLUiIsIlNFSyIsIkNIRiIsIlNSRCIsIlNZUCIsIlRaUyIsIlRXRCIsIlRIQiIsIlRURCIsIlRSWSIsIlRSTCIsIlRWRCIsIlVHWCIsIlVBSCIsIkdCUCIsIlVTRCIsIlVZVSIsIlVaUyIsIlZFRiIsIlZORCIsIllFUiIsIlpXRCIsImZvcm1hdEN1cnJlbmN5IiwiYW1vdW50Iiwib3B0aW9ucyIsInN5bWJvbCIsIm5lZ2F0aXZlIiwicmVzdWx0IiwiY3VycmVuY3kiLCJzaG93Q29kZUlmTm9TeW1ib2wiLCJzeW1ib2xBZnRlckFtb3VudCIsImZpbmFuY2lhbE5lZ2F0aXZlIiwiY29kZUFmdGVyU3ltYm9sIiwiY29kZUJlZm9yZVN5bWJvbCIsInNwYWNlQmV0d2VlblN5bWJvbCIsImRlY2ltYWxQbGFjZXMiLCJkZWNpbWFsU2VwZXJhdG9yIiwiY29kZUFmdGVyQW1vdW50IiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiY29uY2F0IiwidG9GaXhlZCIsInJlcGxhY2UiLCJ0YXhQZXJjZW50IiwidGF4IiwiaW5jbHVkZXNUYXgiLCJ0YXhOYW1lIiwiY2FsY3VsYXRlVG90YWxXaXRoVGF4IiwidG90YWwiLCJ0YXhNdWx0aXBsaWVyIiwicGFyc2VGbG9hdCIsImdyYW5kVG90YWwiLCJjdXJyZW5jeVRheEFuZENvc3QiLCJ0aGVDb3N0IiwiY3VycmVuY3lPcHRpb25zIiwidG90YWxDb3N0Iiwid2l0aEN1cnJlbmN5IiwiY3VycmVuY3lUb3RhbENvc3RTaG93SW5jVGF4Iiwiam9iIiwidGF4VHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lcmNoaV9pbnZvaWNlL2N1cnJlbmN5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBjdXJyZW5jeU1hcDogYW55ID1cbiAge0FMTDogJ0wnLFxuICAgIEFGTjogJ9iLJyxcbiAgICBBUlM6ICckJyxcbiAgICBBV0c6ICfGkicsXG4gICAgQVVEOiAnJCcsXG4gICAgQVpOOiAn4oK8JyxcbiAgICBCU0Q6ICckJyxcbiAgICBCQkQ6ICckJyxcbiAgICBCWVI6ICdwLicsXG4gICAgQlpEOiAnQlokJyxcbiAgICBCTUQ6ICckJyxcbiAgICBCT0I6ICdCcy4nLFxuICAgIEJBTTogJ0tNJyxcbiAgICBCV1A6ICdQJyxcbiAgICBCR046ICfQu9CyJyxcbiAgICBCUkw6ICdSJCcsXG4gICAgQk5EOiAnJCcsXG4gICAgS0hSOiAn4Z+bJyxcbiAgICBDQUQ6ICckJyxcbiAgICBLWUQ6ICckJyxcbiAgICBDTFA6ICckJyxcbiAgICBDTlk6ICfCpScsXG4gICAgQ09QOiAnJCcsXG4gICAgQ1JDOiAn4oKhJyxcbiAgICBIUks6ICdrbicsXG4gICAgQ1VQOiAn4oKxJyxcbiAgICBDWks6ICdLxI0nLFxuICAgIERLSzogJ2tyJyxcbiAgICBET1A6ICdSRCQnLFxuICAgIFhDRDogJyQnLFxuICAgIEVHUDogJ8KjJyxcbiAgICBTVkM6ICckJyxcbiAgICBFRUs6ICdrcicsXG4gICAgRVVSOiAn4oKsJyxcbiAgICBGS1A6ICfCoycsXG4gICAgRkpEOiAnJCcsXG4gICAgR0hDOiAn4oK1JyxcbiAgICBHSVA6ICfCoycsXG4gICAgR1RROiAnUScsXG4gICAgR0dQOiAnwqMnLFxuICAgIEdZRDogJyQnLFxuICAgIEhOTDogJ0wnLFxuICAgIEhLRDogJyQnLFxuICAgIEhVRjogJ0Z0JyxcbiAgICBJU0s6ICdrcicsXG4gICAgSU5SOiAn4oK5JyxcbiAgICBJRFI6ICdScCcsXG4gICAgSVJSOiAn77e8JyxcbiAgICBJTVA6ICfCoycsXG4gICAgSUxTOiAn4oKqJyxcbiAgICBKTUQ6ICdgSiQnLFxuICAgIEpQWTogJ8KlJyxcbiAgICBKRVA6ICfCoycsXG4gICAgS0VTOiAnS1NoJyxcbiAgICBLWlQ6ICfQu9CyJyxcbiAgICBLUFc6ICfigqknLFxuICAgIEtSVzogJ+KCqScsXG4gICAgS0dTOiAn0LvQsicsXG4gICAgTEFLOiAn4oKtJyxcbiAgICBMVkw6ICdMcycsXG4gICAgTEJQOiAnwqMnLFxuICAgIExSRDogJyQnLFxuICAgIExUTDogJ0x0JyxcbiAgICBNS0Q6ICfQtNC10L0nLFxuICAgIE1ZUjogJ1JNJyxcbiAgICBNVVI6ICfigqgnLFxuICAgIE1YTjogJyQnLFxuICAgIE1OVDogJ+KCricsXG4gICAgTVpOOiAnTVQnLFxuICAgIE5BRDogJyQnLFxuICAgIE5QUjogJ+KCqCcsXG4gICAgQU5HOiAnxpInLFxuICAgIE5aRDogJyQnLFxuICAgIE5JTzogJ0MkJyxcbiAgICBOR046ICfigqYnLFxuICAgIE5PSzogJ2tyJyxcbiAgICBPTVI6ICfvt7wnLFxuICAgIFBLUjogJ+KCqCcsXG4gICAgUEFCOiAnQi8uJyxcbiAgICBQWUc6ICdHcycsXG4gICAgUEVOOiAnUy8uJyxcbiAgICBQSFA6ICfigrEnLFxuICAgIFBMTjogJ3rFgicsXG4gICAgUUFSOiAn77e8JyxcbiAgICBST046ICdsZWknLFxuICAgIFJVQjogJ+KCvScsXG4gICAgUk1COiAn77+lJyxcbiAgICBTSFA6ICfCoycsXG4gICAgU0FSOiAn77e8JyxcbiAgICBSU0Q6ICfQlNC40L0uJyxcbiAgICBTQ1I6ICfigqgnLFxuICAgIFNHRDogJyQnLFxuICAgIFNCRDogJyQnLFxuICAgIFNPUzogJ1MnLFxuICAgIFpBUjogJ1InLFxuICAgIExLUjogJ+KCqCcsXG4gICAgU0VLOiAna3InLFxuICAgIENIRjogJ0NIRicsXG4gICAgU1JEOiAnJCcsXG4gICAgU1lQOiAnwqMnLFxuICAgIFRaUzogJ1RTaCcsXG4gICAgVFdEOiAnTlQkJyxcbiAgICBUSEI6ICfguL8nLFxuICAgIFRURDogJ1RUJCcsXG4gICAgVFJZOiAn4oK6JyxcbiAgICBUUkw6ICfigqQnLFxuICAgIFRWRDogJyQnLFxuICAgIFVHWDogJ1VTaCcsXG4gICAgVUFIOiAn4oK0JyxcbiAgICBHQlA6ICfCoycsXG4gICAgVVNEOiAnJCcsXG4gICAgVVlVOiAnJFUnLFxuICAgIFVaUzogJ9C70LInLFxuICAgIFZFRjogJ0JzJyxcbiAgICBWTkQ6ICfigqsnLFxuICAgIFlFUjogJ++3vCcsXG4gICAgWldEOiAnWiQnfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEN1cnJlbmN5KGFtb3VudDogYW55LCBvcHRpb25zOiBhbnkpIHtcbiAgLypcbiAgICAqICAgRXhhbXBsZSB1c2FnZTpcblxuICAgICAgICAgICAgZm9ybWF0Q3VycmVuY3koLTIyMi4xMjM0NTYsIHtjdXJyZW5jeTogJ0VHUCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dDb2RlSWZOb1N5bWJvbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluYW5jaWFsTmVnYXRpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWxQbGFjZXM6IDN9KVxuXG4gICAgICAgICAgICAtLT4gJyjCozIyMi4xMjMpJ1xuICAgICovXG5cbiAgbGV0IHN5bWJvbDtcbiAgbGV0IG5lZ2F0aXZlID0gZmFsc2U7XG4gIGxldCByZXN1bHQ7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICBvcHRpb25zLmN1cnJlbmN5ID0gb3B0aW9ucy5jdXJyZW5jeSB8fCAnQVVEJztcbiAgb3B0aW9ucy5zaG93Q29kZUlmTm9TeW1ib2wgPSBvcHRpb25zLnNob3dDb2RlSWZOb1N5bWJvbCB8fCB0cnVlO1xuICBvcHRpb25zLnN5bWJvbEFmdGVyQW1vdW50ID0gb3B0aW9ucy5zeW1ib2xBZnRlckFtb3VudCB8fCBmYWxzZTtcbiAgb3B0aW9ucy5maW5hbmNpYWxOZWdhdGl2ZSA9IG9wdGlvbnMuZmluYW5jaWFsTmVnYXRpdmUgfHwgZmFsc2U7XG4gIG9wdGlvbnMuY29kZUFmdGVyU3ltYm9sID0gb3B0aW9ucy5jb2RlQWZ0ZXJTeW1ib2wgfHwgZmFsc2U7XG4gIG9wdGlvbnMuY29kZUJlZm9yZVN5bWJvbCA9IG9wdGlvbnMuY29kZUJlZm9yZVN5bWJvbCB8fCBmYWxzZTtcbiAgb3B0aW9ucy5zcGFjZUJldHdlZW5TeW1ib2wgPSBvcHRpb25zLnNwYWNlQmV0d2VlblN5bWJvbCB8fCBmYWxzZTtcbiAgb3B0aW9ucy5kZWNpbWFsUGxhY2VzID0gb3B0aW9ucy5kZWNpbWFsUGxhY2VzIHx8IDI7XG4gIG9wdGlvbnMuZGVjaW1hbFNlcGVyYXRvciA9IG9wdGlvbnMuZGVjaW1hbFNlcGVyYXRvciB8fCAnLic7XG4gIG9wdGlvbnMuY29kZUFmdGVyQW1vdW50ID0gb3B0aW9ucy5jb2RlQWZ0ZXJBbW91bnQgfHwgZmFsc2U7XG4gIGlmIChhbW91bnQgPCAwLjApIHtcbiAgICBuZWdhdGl2ZSA9IHRydWU7XG4gICAgICAgIGFtb3VudCAqPSAtMS4wOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gIH1cbiAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjdXJyZW5jeU1hcCwgb3B0aW9ucy5jdXJyZW5jeSkpIHtcbiAgICBzeW1ib2wgPSBjdXJyZW5jeU1hcFtvcHRpb25zLmN1cnJlbmN5XTtcbiAgICBpZiAob3B0aW9ucy5jb2RlQWZ0ZXJTeW1ib2wpIHtcbiAgICAgIHN5bWJvbCArPSAnKCcgKyBvcHRpb25zLmN1cnJlbmN5ICsgJykgJztcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuY29kZUJlZm9yZVN5bWJvbCkge1xuICAgICAgc3ltYm9sID0gYCgke29wdGlvbnMuY3VycmVuY3l9KSAke3N5bWJvbH1gO1xuICAgIH1cbiAgfSBlbHNlIGlmIChvcHRpb25zLnNob3dDb2RlSWZOb1N5bWJvbCkge1xuICAgIHN5bWJvbCA9IG9wdGlvbnMuY3VycmVuY3k7XG4gIH0gZWxzZSB7XG4gICAgc3ltYm9sID0gJyc7XG4gIH1cbiAgICBhbW91bnQgPSBhbW91bnQudG9GaXhlZChvcHRpb25zLmRlY2ltYWxQbGFjZXMpO1xuICAgIGFtb3VudCA9IGFtb3VudC5yZXBsYWNlKCcuJywgb3B0aW9ucy5kZWNpbWFsU2VwZXJhdG9yKTtcbiAgaWYgKG9wdGlvbnMuc3ltYm9sQWZ0ZXJBbW91bnQpIHtcbiAgICByZXN1bHQgPSBhbW91bnQ7XG4gICAgaWYgKG9wdGlvbnMuc3BhY2VCZXR3ZWVuU3ltYm9sKSB7XG4gICAgICByZXN1bHQgKz0gJyAnO1xuICAgIH1cbiAgICByZXN1bHQgKz0gc3ltYm9sO1xuICB9IGVsc2Uge1xuICAgIHJlc3VsdCA9IHN5bWJvbDtcbiAgICBpZiAob3B0aW9ucy5zcGFjZUJldHdlZW5TeW1ib2wpIHtcbiAgICAgIHJlc3VsdCArPSAnICc7XG4gICAgfVxuICAgIHJlc3VsdCArPSBhbW91bnQ7XG4gIH1cbiAgaWYgKG5lZ2F0aXZlKSB7XG4gICAgaWYgKG9wdGlvbnMuZmluYW5jaWFsTmVnYXRpdmUpIHtcbiAgICAgIHJlc3VsdCA9IGAoJHtyZXN1bHR9KWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IGAtJHtyZXN1bHR9YDtcbiAgICB9XG4gIH1cbiAgaWYgKG9wdGlvbnMuY29kZUFmdGVyQW1vdW50ID09PSB0cnVlKSB7XG4gICAgcmVzdWx0ICs9IGAgKCR7b3B0aW9ucy5jdXJyZW5jeX0pYDtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiB0YXhQZXJjZW50KHRheDogYW55KSB7XG4gIHJldHVybiB0YXggPyBgKCR7dGF4LnRheFBlcmNlbnR9JSlgIDogJyc7XG59XG5cbmZ1bmN0aW9uIGluY2x1ZGVzVGF4KHRheDogYW55KSB7XG4gIHJldHVybiB0YXggJiYgdGF4LnRheFBlcmNlbnQgPiAwID9cbiAgICBgIGluYyAke3RheC50YXhOYW1lfSAke3RheFBlcmNlbnQodGF4KX1gIDogJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVUb3RhbFdpdGhUYXgodG90YWw6IG51bWJlciwgdGF4OiBhbnkpIHtcbiAgbGV0IHRheE11bHRpcGxpZXIgPSAxLjA7XG4gIGlmICh0YXggJiYgdGF4LnRheFBlcmNlbnQgPiAwKSB7XG4gICAgdGF4TXVsdGlwbGllciArPSB0YXgudGF4UGVyY2VudCAvIDEwMDtcbiAgICB0YXhNdWx0aXBsaWVyID0gcGFyc2VGbG9hdCh0YXhNdWx0aXBsaWVyLnRvRml4ZWQoMikpO1xuICB9XG4gIGxldCBncmFuZFRvdGFsID0gdG90YWwgKiB0YXhNdWx0aXBsaWVyO1xuICByZXR1cm4gcGFyc2VGbG9hdChncmFuZFRvdGFsLnRvRml4ZWQoMikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3VycmVuY3lUYXhBbmRDb3N0KGN1cnJlbmN5OiBzdHJpbmcsIHRheDogYW55LCB0aGVDb3N0OiBudW1iZXIpIHtcbiAgY29uc3QgY3VycmVuY3lPcHRpb25zID0ge2N1cnJlbmN5OiBjdXJyZW5jeSwgc2hvd0NvZGVJZk5vU3ltYm9sOiBmYWxzZX07XG4gIGNvbnN0IHRvdGFsQ29zdCA9IGNhbGN1bGF0ZVRvdGFsV2l0aFRheCh0aGVDb3N0LCB0YXgpO1xuICBjb25zdCB3aXRoQ3VycmVuY3kgPSBmb3JtYXRDdXJyZW5jeSh0b3RhbENvc3QsIGN1cnJlbmN5T3B0aW9ucyk7XG4gIHJldHVybiBgJHtjdXJyZW5jeX0gJHt3aXRoQ3VycmVuY3l9ICR7aW5jbHVkZXNUYXgodGF4KX1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3VycmVuY3lUb3RhbENvc3RTaG93SW5jVGF4KGpvYjogYW55KSB7XG4gIGNvbnN0IHsgY3VycmVuY3ksIHRheFR5cGUsIHRvdGFsQ29zdCB9ID0gam9iO1xuICBjb25zdCBjdXJyZW5jeU9wdGlvbnMgPSB7Y3VycmVuY3ksIHNob3dDb2RlSWZOb1N5bWJvbDogZmFsc2V9O1xuICBjb25zdCB3aXRoQ3VycmVuY3kgPSBmb3JtYXRDdXJyZW5jeShcbiAgICB0b3RhbENvc3QgPyB0b3RhbENvc3QgOiAwLFxuICAgIGN1cnJlbmN5T3B0aW9uc1xuICApO1xuICByZXR1cm4gYCR7Y3VycmVuY3l9ICR7d2l0aEN1cnJlbmN5fSAke2luY2x1ZGVzVGF4KHRheFR5cGUpfWA7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBTUEsV0FBZ0IsR0FDM0I7RUFBQ0MsR0FBRyxFQUFFLEdBQUc7RUFDUEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLE1BQU07RUFDWEMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLElBQUk7RUFDVEMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEdBQUc7RUFDUkMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FB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
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import svgSslSecured from '../images/ssl-secured.svg';
|
|
4
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
export default function IconPaymentSSL() {
|
|
6
|
-
return /*#__PURE__*/_jsx("div", {
|
|
7
|
-
style: {
|
|
8
|
-
display: 'block',
|
|
9
|
-
margin: '1em auto 0',
|
|
10
|
-
textAlign: 'center'
|
|
11
|
-
},
|
|
12
|
-
children: /*#__PURE__*/_jsx("img", {
|
|
13
|
-
style: {
|
|
14
|
-
margin: '5px',
|
|
15
|
-
maxHeight: 40,
|
|
16
|
-
maxWidth: 67,
|
|
17
|
-
padding: 4
|
|
18
|
-
},
|
|
19
|
-
src: svgSslSecured.src
|
|
20
|
-
})
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdmdTc2xTZWN1cmVkIiwianN4IiwiX2pzeCIsIkljb25QYXltZW50U1NMIiwic3R5bGUiLCJkaXNwbGF5IiwibWFyZ2luIiwidGV4dEFsaWduIiwiY2hpbGRyZW4iLCJtYXhIZWlnaHQiLCJtYXhXaWR0aCIsInBhZGRpbmciLCJzcmMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZXJjaGlfaW52b2ljZS9pY29ucy9JY29uUGF5bWVudFNTTC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0IHN2Z1NzbFNlY3VyZWQgZnJvbSAnLi4vaW1hZ2VzL3NzbC1zZWN1cmVkLnN2Zyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEljb25QYXltZW50U1NMKCkge1xuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICBtYXJnaW46ICcxZW0gYXV0byAwJyxcbiAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgfX0+XG4gICAgICA8aW1nXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgbWFyZ2luOiAnNXB4JyxcbiAgICAgICAgICBtYXhIZWlnaHQ6IDQwLFxuICAgICAgICAgIG1heFdpZHRoOiA2NyxcbiAgICAgICAgICBwYWRkaW5nOiA0LFxuICAgICAgICB9fVxuICAgICAgICBzcmM9e3N2Z1NzbFNlY3VyZWQuc3JjfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFDWixPQUFPQSxhQUFhLE1BQU0sMkJBQTJCO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBRXRELGVBQWUsU0FBU0MsY0FBY0EsQ0FBQSxFQUFHO0VBQ3ZDLG9CQUNFRCxJQUFBO0lBQUtFLEtBQUssRUFBRTtNQUNWQyxPQUFPLEVBQUUsT0FBTztNQUNoQkMsTUFBTSxFQUFFLFlBQVk7TUFDcEJDLFNBQVMsRUFBRTtJQUNiLENBQUU7SUFBQUMsUUFBQSxlQUNBTixJQUFBO01BQ0VFLEtBQUssRUFBRTtRQUNMRSxNQUFNLEVBQUUsS0FBSztRQUNiRyxTQUFTLEVBQUUsRUFBRTtRQUNiQyxRQUFRLEVBQUUsRUFBRTtRQUNaQyxPQUFPLEVBQUU7TUFDWCxDQUFFO01BQ0ZDLEdBQUcsRUFBRVosYUFBYSxDQUFDWTtJQUFJLENBQ3hCO0VBQUMsQ0FDQyxDQUFDO0FBRVYifQ==
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import pnbUTrust from '../images/tile-utrust.png';
|
|
4
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
export default function IconPaymentUtrust() {
|
|
6
|
-
return /*#__PURE__*/_jsx("img", {
|
|
7
|
-
src: pnbUTrust.src,
|
|
8
|
-
title: "pay with Utrust",
|
|
9
|
-
alt: "checkout with Utrust"
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwbmJVVHJ1c3QiLCJqc3giLCJfanN4IiwiSWNvblBheW1lbnRVdHJ1c3QiLCJzcmMiLCJ0aXRsZSIsImFsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lcmNoaV9pbnZvaWNlL2ljb25zL0ljb25QYXltZW50VXRydXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgcG5iVVRydXN0IGZyb20gJy4uL2ltYWdlcy90aWxlLXV0cnVzdC5wbmcnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBJY29uUGF5bWVudFV0cnVzdCgpIHtcbiAgcmV0dXJuIChcbiAgICA8aW1nXG4gICAgICBzcmM9e3BuYlVUcnVzdC5zcmN9XG4gICAgICB0aXRsZT0ncGF5IHdpdGggVXRydXN0J1xuICAgICAgYWx0PSdjaGVja291dCB3aXRoIFV0cnVzdCdcbiAgICAvPlxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUNaLE9BQU9BLFNBQVMsTUFBTSwyQkFBMkI7QUFBQyxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFbEQsZUFBZSxTQUFTQyxpQkFBaUJBLENBQUEsRUFBRztFQUMxQyxvQkFDRUQsSUFBQTtJQUNFRSxHQUFHLEVBQUVKLFNBQVMsQ0FBQ0ksR0FBSTtJQUNuQkMsS0FBSyxFQUFDLGlCQUFpQjtJQUN2QkMsR0FBRyxFQUFDO0VBQXNCLENBQzNCLENBQUM7QUFFTiJ9
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import pngStripe from '../images/tile-stripe.png';
|
|
4
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
export default function IconsPayments() {
|
|
6
|
-
return /*#__PURE__*/_jsx("img", {
|
|
7
|
-
src: pngStripe.src,
|
|
8
|
-
title: "pay with credit card",
|
|
9
|
-
alt: "checkout with Stripe",
|
|
10
|
-
style: {
|
|
11
|
-
width: '100%'
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwbmdTdHJpcGUiLCJqc3giLCJfanN4IiwiSWNvbnNQYXltZW50cyIsInNyYyIsInRpdGxlIiwiYWx0Iiwic3R5bGUiLCJ3aWR0aCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lcmNoaV9pbnZvaWNlL2ljb25zL0ljb25zUGF5bWVudHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCBwbmdTdHJpcGUgZnJvbSAnLi4vaW1hZ2VzL3RpbGUtc3RyaXBlLnBuZyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEljb25zUGF5bWVudHMoKSB7XG4gIHJldHVybiAoXG4gICAgPGltZ1xuICAgICAgc3JjPXtwbmdTdHJpcGUuc3JjfVxuICAgICAgdGl0bGU9J3BheSB3aXRoIGNyZWRpdCBjYXJkJ1xuICAgICAgYWx0PSdjaGVja291dCB3aXRoIFN0cmlwZSdcbiAgICAgIHN0eWxlPXt7IHdpZHRoOiAnMTAwJScgfX1cbiAgICAvPlxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUNaLE9BQU9BLFNBQVMsTUFBTSwyQkFBMkI7QUFBQyxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFbEQsZUFBZSxTQUFTQyxhQUFhQSxDQUFBLEVBQUc7RUFDdEMsb0JBQ0VELElBQUE7SUFDRUUsR0FBRyxFQUFFSixTQUFTLENBQUNJLEdBQUk7SUFDbkJDLEtBQUssRUFBQyxzQkFBc0I7SUFDNUJDLEdBQUcsRUFBQyxzQkFBc0I7SUFDMUJDLEtBQUssRUFBRTtNQUFFQyxLQUFLLEVBQUU7SUFBTztFQUFFLENBQzFCLENBQUM7QUFFTiJ9
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import IconPaymentSSL from './IconPaymentSSL';
|
|
2
|
-
import IconPaymentUtrust from './IconPaymentUtrust';
|
|
3
|
-
import IconsPayments from './IconsPayments';
|
|
4
|
-
export { IconPaymentSSL, IconPaymentUtrust, IconsPayments };
|
|
5
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJY29uUGF5bWVudFNTTCIsIkljb25QYXltZW50VXRydXN0IiwiSWNvbnNQYXltZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lcmNoaV9pbnZvaWNlL2ljb25zL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJY29uUGF5bWVudFNTTCBmcm9tICcuL0ljb25QYXltZW50U1NMJztcbmltcG9ydCBJY29uUGF5bWVudFV0cnVzdCBmcm9tICcuL0ljb25QYXltZW50VXRydXN0JztcbmltcG9ydCBJY29uc1BheW1lbnRzIGZyb20gJy4vSWNvbnNQYXltZW50cyc7XG5cbmV4cG9ydCB7XG4gIEljb25QYXltZW50U1NMLFxuICBJY29uUGF5bWVudFV0cnVzdCxcbiAgSWNvbnNQYXltZW50cyxcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGNBQWMsTUFBTSxrQkFBa0I7QUFDN0MsT0FBT0MsaUJBQWlCLE1BQU0scUJBQXFCO0FBQ25ELE9BQU9DLGFBQWEsTUFBTSxpQkFBaUI7QUFFM0MsU0FDRUYsY0FBYyxFQUNkQyxpQkFBaUIsRUFDakJDLGFBQWEifQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<svg width="328px" height="146px" viewBox="0 0 328 146" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
-
<!-- Generator: Sketch 51.3 (57544) - http://www.bohemiancoding.com/sketch -->
|
|
4
|
-
<title>ssl-secured</title>
|
|
5
|
-
<desc>Created with Sketch.</desc>
|
|
6
|
-
<defs></defs>
|
|
7
|
-
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
8
|
-
<g id="ssl-secured" fill="#333333" fill-rule="nonzero">
|
|
9
|
-
<path d="M0.566165361,145.414286 L103.412141,145.414286 L103.412141,72.9 L0.566165361,72.9 L0.566165361,145.414286 Z M36.7761572,102.662514 L46.4723531,112.35871 L68.9310632,89.9 L76.141055,97.1099918 L46.4723531,126.778694 L29.5661654,109.872506 L36.7761572,102.662514 Z M30.8867204,39.3532897 C30.8867204,27.751004 40.3342959,18.3034285 52.019455,18.3034285 C63.6217407,18.3034285 73.0693162,27.751004 73.0693162,39.3532897 L73.0693162,61.1490121 L90.4727447,61.1490121 L90.4727447,39.3532897 C90.3898713,18.1376816 73.1521897,0.9 52.019455,0.9 C30.8038469,0.9 13.5661654,18.1376816 13.5661654,39.3532897 L13.5661654,61.1490121 L30.9695939,61.1490121 L30.9695939,39.3532897 L30.8867204,39.3532897 Z M191.8,65.6 C191.8,53 184.4,45.8 172.7,41.4 L161.9,36.8 C153.3,33.7 147.3,31.6 147.3,26.3 C147.3,21.1 151.8,18.2 158.5,18.2 C167.2,18.2 172.8,20.8 179,25.3 L189.2,12.6 C181.1,5 170.4,0.9 159.6,0.9 C140.4,0.9 127,12.6 127,27.4 C127,40.4 136,48 146,51.7 L157.5,56.6 C166,60.1 171.3,61.8 171.3,68.1 C171.3,72.6 167.3,75.9 158.8,75.9 C150.2,75.9 141.9,72.1 135.2,66.6 L123.6,80.4 C133.1,88.9 145.4,93.2 157.4,93.2 C179.4,93.2 191.8,80.3 191.8,65.6 Z M240.9,41.4 L230.1,36.8 C221.5,33.7 215.5,31.6 215.5,26.3 C215.5,21.1 220,18.2 226.7,18.2 C235.4,18.2 241,20.8 247.2,25.3 L257.4,12.6 C249.3,5 238.6,0.9 227.8,0.9 C208.6,0.9 195.2,12.6 195.2,27.4 C195.2,40.4 204.2,48 214.2,51.7 L225.7,56.6 C234.2,60.1 239.5,61.8 239.5,68.1 C239.5,72.6 235.5,75.9 227,75.9 C218.4,75.9 210.1,72.1 203.4,66.6 L191.8,80.4 C201.3,88.9 213.6,93.2 225.6,93.2 C247.7,93.2 260.1,80.4 260.1,65.6 C260,53 252.7,45.8 240.9,41.4 Z" id="Shape"></path>
|
|
10
|
-
<polygon id="Shape" points="287.7 74.6 287.7 2.5 267.7 2.5 267.7 91.5 327.3 91.5 327.3 74.6"></polygon>
|
|
11
|
-
<path d="M142.5,123.1 L137.1,120.8 C133.8,119.4 130.2,118.1 130.2,114.4 C130.2,110.9 133.2,108.8 137.7,108.8 C141.7,108.8 144.6,110.2 147.2,112.4 L149.8,109.2 C147,106.4 142.8,104.4 137.9,104.4 C130.6,104.4 125.3,108.7 125.3,114.6 C125.3,120.2 129.8,123 133.6,124.5 L139.1,126.9 C143,128.6 146,129.8 146,133.9 C146,137.5 142.9,140 137.6,140 C133.2,140 129.2,138.1 126.3,135.2 L123.4,138.6 C126.9,142.1 131.7,144.3 137.4,144.3 C145.9,144.3 151,139.4 151,133.3 C151,127.6 147.2,125 142.5,123.1 Z" id="Shape"></path>
|
|
12
|
-
<polygon id="Shape" points="166.3 125.5 182.3 125.5 182.3 121.3 166.3 121.3 166.3 109.2 185.2 109.2 185.2 105.1 161.4 105.1 161.4 143.6 185.8 143.6 185.8 139.4 166.3 139.4"></polygon>
|
|
13
|
-
<path d="M210.9,140 C203.5,140 198.7,133.9 198.7,124.2 C198.7,114.6 203.5,108.6 210.9,108.6 C214.1,108.6 216.7,110 218.6,112.1 L221.4,109 C219.2,106.5 215.5,104.3 210.9,104.3 C200.9,104.3 193.6,111.9 193.6,124.3 C193.6,136.9 200.9,144.3 210.4,144.3 C215.5,144.3 219.3,142.2 222.3,138.7 L219.5,135.7 C217.2,138.5 214.5,140 210.9,140 Z M250.9,129.2 C250.9,137.2 247.4,140.1 242.7,140.1 C238.1,140.1 234.6,137.2 234.6,129.2 L234.6,105.1 L229.7,105.1 L229.7,129.1 C229.7,140.1 235.2,144.4 242.7,144.4 C250.2,144.4 255.6,140.2 255.6,129.1 L255.6,105.1 L250.8,105.1 L250.8,129.2 L250.9,129.2 Z M291.6,115.9 C291.6,107.9 286,105.1 278.2,105.1 L266.2,105.1 L266.2,143.6 L271.1,143.6 L271.1,127.3 L278,127.3 L287.3,143.6 L292.9,143.6 L283.1,126.8 C288.1,125.5 291.6,121.9 291.6,115.9 Z M277.4,123.3 L271,123.3 L271,109 L277.4,109 C283.4,109 286.7,110.8 286.7,115.9 C286.7,120.9 283.4,123.3 277.4,123.3 Z" id="Shape"></path>
|
|
14
|
-
<polygon id="Shape" points="307.1 125.5 323.1 125.5 323.1 121.3 307.1 121.3 307.1 109.2 326 109.2 326 105.1 302.1 105.1 302.1 143.6 326.6 143.6 326.6 139.4 307.1 139.4"></polygon>
|
|
15
|
-
</g>
|
|
16
|
-
</g>
|
|
17
|
-
</svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
-
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
5
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
6
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
7
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
9
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
10
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
12
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
13
|
-
import { useState } from 'react';
|
|
14
|
-
import { CreditCard, PaymentForm } from 'react-square-web-payments-sdk';
|
|
15
|
-
import { useMerchiCheckboutContext } from '../../MerchiCheckoutProvider';
|
|
16
|
-
import { currencyMap } from '../currency';
|
|
17
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
19
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
20
|
-
export function actionSquarePaymentProcess(_x, _x2, _x3) {
|
|
21
|
-
return _actionSquarePaymentProcess.apply(this, arguments);
|
|
22
|
-
}
|
|
23
|
-
function _actionSquarePaymentProcess() {
|
|
24
|
-
_actionSquarePaymentProcess = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(urlApi, invoice, sourceId) {
|
|
25
|
-
var invoiceJson, url, fetchOptions;
|
|
26
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
27
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
28
|
-
case 0:
|
|
29
|
-
invoiceJson = invoice;
|
|
30
|
-
url = "".concat(urlApi, "invoice/").concat(invoiceJson.id, "/square/payment/");
|
|
31
|
-
fetchOptions = {
|
|
32
|
-
method: 'GET',
|
|
33
|
-
query: [['sourceId', sourceId]]
|
|
34
|
-
};
|
|
35
|
-
fetchOptions.query.push(['invoice_token', invoiceJson.invoiceToken]);
|
|
36
|
-
_context2.next = 6;
|
|
37
|
-
return fetch(url, fetchOptions);
|
|
38
|
-
case 6:
|
|
39
|
-
return _context2.abrupt("return", _context2.sent);
|
|
40
|
-
case 7:
|
|
41
|
-
case "end":
|
|
42
|
-
return _context2.stop();
|
|
43
|
-
}
|
|
44
|
-
}, _callee2);
|
|
45
|
-
}));
|
|
46
|
-
return _actionSquarePaymentProcess.apply(this, arguments);
|
|
47
|
-
}
|
|
48
|
-
function SquareCard(_ref) {
|
|
49
|
-
var alertErrorShow = _ref.alertErrorShow,
|
|
50
|
-
invoice = _ref.invoice,
|
|
51
|
-
callbackPaymentSuccess = _ref.callbackPaymentSuccess;
|
|
52
|
-
var _useMerchiCheckboutCo = useMerchiCheckboutContext(),
|
|
53
|
-
urlApi = _useMerchiCheckboutCo.urlApi;
|
|
54
|
-
var _useState = useState(false),
|
|
55
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
56
|
-
laoding = _useState2[0],
|
|
57
|
-
setLoading = _useState2[1];
|
|
58
|
-
var currency = invoice.currency,
|
|
59
|
-
domain = invoice.domain,
|
|
60
|
-
totalCost = invoice.totalCost;
|
|
61
|
-
var company = domain.company;
|
|
62
|
-
function ButtonText() {
|
|
63
|
-
return /*#__PURE__*/_jsxs("span", {
|
|
64
|
-
children: ["Pay ", currencyMap[currency], totalCost, /*#__PURE__*/_jsx("small", {
|
|
65
|
-
children: " / inc tax"
|
|
66
|
-
})]
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
var squareWebLocationId = company.squareWebLocationId;
|
|
70
|
-
function submit(_x4) {
|
|
71
|
-
return _submit.apply(this, arguments);
|
|
72
|
-
}
|
|
73
|
-
function _submit() {
|
|
74
|
-
_submit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(sourceId) {
|
|
75
|
-
var r;
|
|
76
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
77
|
-
while (1) switch (_context.prev = _context.next) {
|
|
78
|
-
case 0:
|
|
79
|
-
setLoading(true);
|
|
80
|
-
_context.prev = 1;
|
|
81
|
-
_context.next = 4;
|
|
82
|
-
return actionSquarePaymentProcess(urlApi, invoice, sourceId);
|
|
83
|
-
case 4:
|
|
84
|
-
r = _context.sent;
|
|
85
|
-
setLoading(false);
|
|
86
|
-
callbackPaymentSuccess(r);
|
|
87
|
-
_context.next = 13;
|
|
88
|
-
break;
|
|
89
|
-
case 9:
|
|
90
|
-
_context.prev = 9;
|
|
91
|
-
_context.t0 = _context["catch"](1);
|
|
92
|
-
alertErrorShow(_context.t0.message);
|
|
93
|
-
setLoading(false);
|
|
94
|
-
case 13:
|
|
95
|
-
case "end":
|
|
96
|
-
return _context.stop();
|
|
97
|
-
}
|
|
98
|
-
}, _callee, null, [[1, 9]]);
|
|
99
|
-
}));
|
|
100
|
-
return _submit.apply(this, arguments);
|
|
101
|
-
}
|
|
102
|
-
return squareWebLocationId ? /*#__PURE__*/_jsx(PaymentForm
|
|
103
|
-
/**
|
|
104
|
-
* Identifies the calling form with a verified application ID generated from
|
|
105
|
-
* the Square Application Dashboard.
|
|
106
|
-
*/, {
|
|
107
|
-
applicationId: SQUARE_APPLICATION_ID
|
|
108
|
-
/**
|
|
109
|
-
* Invoked when payment form receives the result of a tokenize generation
|
|
110
|
-
* request. The result will be a valid credit card or wallet token, or an error.
|
|
111
|
-
*/,
|
|
112
|
-
cardTokenizeResponseReceived: function cardTokenizeResponseReceived(token, buyer) {
|
|
113
|
-
return submit(token.token);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Identifies the location of the merchant that is taking the payment.
|
|
117
|
-
* Obtained from the Square Application Dashboard - Locations tab.
|
|
118
|
-
*/,
|
|
119
|
-
locationId: squareWebLocationId,
|
|
120
|
-
children: /*#__PURE__*/_jsx(CreditCard, {
|
|
121
|
-
children: /*#__PURE__*/_jsx(ButtonText, {})
|
|
122
|
-
})
|
|
123
|
-
}) : /*#__PURE__*/_jsx(_Fragment, {});
|
|
124
|
-
}
|
|
125
|
-
export default SquareCard;
|
|
126
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwibiIsImhhc093blByb3BlcnR5IiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImkiLCJhIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsImRvbmUiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsIlR5cGVFcnJvciIsInJlc3VsdE5hbWUiLCJuZXh0IiwibmV4dExvYyIsInB1c2hUcnlFbnRyeSIsInRyeUxvYyIsImNhdGNoTG9jIiwiZmluYWxseUxvYyIsImFmdGVyTG9jIiwidHJ5RW50cmllcyIsInB1c2giLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiX3NsaWNlZFRvQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJsZW4iLCJhcnIyIiwiaXNBcnJheSIsImFzeW5jR2VuZXJhdG9yU3RlcCIsImdlbiIsInJlamVjdCIsIl9uZXh0IiwiX3Rocm93Iiwia2V5IiwiaW5mbyIsImVycm9yIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJmbiIsInNlbGYiLCJhcmdzIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJlcnIiLCJ1bmRlZmluZWQiLCJ1c2VTdGF0ZSIsIkNyZWRpdENhcmQiLCJQYXltZW50Rm9ybSIsInVzZU1lcmNoaUNoZWNrYm91dENvbnRleHQiLCJjdXJyZW5jeU1hcCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImFjdGlvblNxdWFyZVBheW1lbnRQcm9jZXNzIiwiX3giLCJfeDIiLCJfeDMiLCJfYWN0aW9uU3F1YXJlUGF5bWVudFByb2Nlc3MiLCJfY2FsbGVlMiIsInVybEFwaSIsImludm9pY2UiLCJzb3VyY2VJZCIsImludm9pY2VKc29uIiwidXJsIiwiZmV0Y2hPcHRpb25zIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwiY29uY2F0IiwiaWQiLCJxdWVyeSIsImludm9pY2VUb2tlbiIsImZldGNoIiwiU3F1YXJlQ2FyZCIsIl9yZWYiLCJhbGVydEVycm9yU2hvdyIsImNhbGxiYWNrUGF5bWVudFN1Y2Nlc3MiLCJfdXNlTWVyY2hpQ2hlY2tib3V0Q28iLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwibGFvZGluZyIsInNldExvYWRpbmciLCJjdXJyZW5jeSIsImRvbWFpbiIsInRvdGFsQ29zdCIsImNvbXBhbnkiLCJCdXR0b25UZXh0IiwiY2hpbGRyZW4iLCJzcXVhcmVXZWJMb2NhdGlvbklkIiwic3VibWl0IiwiX3g0IiwiX3N1Ym1pdCIsIl9jYWxsZWUiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwidDAiLCJtZXNzYWdlIiwiYXBwbGljYXRpb25JZCIsIlNRVUFSRV9BUFBMSUNBVElPTl9JRCIsImNhcmRUb2tlbml6ZVJlc3BvbnNlUmVjZWl2ZWQiLCJ0b2tlbiIsImJ1eWVyIiwibG9jYXRpb25JZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lcmNoaV9pbnZvaWNlL3NxdWFyZS9TcXVhcmVDYXJkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENyZWRpdENhcmQsIFBheW1lbnRGb3JtIH0gZnJvbSAncmVhY3Qtc3F1YXJlLXdlYi1wYXltZW50cy1zZGsnO1xuaW1wb3J0IHsgdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCB9IGZyb20gJy4uLy4uL01lcmNoaUNoZWNrb3V0UHJvdmlkZXInO1xuaW1wb3J0IHsgY3VycmVuY3lNYXAgfSBmcm9tICcuLi9jdXJyZW5jeSc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhY3Rpb25TcXVhcmVQYXltZW50UHJvY2VzcyhcbiAgdXJsQXBpOiBzdHJpbmcsXG4gIGludm9pY2U6IGFueSxcbiAgc291cmNlSWQ6IHN0cmluZyxcbikge1xuICBsZXQgaW52b2ljZUpzb24gPSBpbnZvaWNlO1xuICBsZXQgdXJsID0gYCR7dXJsQXBpfWludm9pY2UvJHtpbnZvaWNlSnNvbi5pZH0vc3F1YXJlL3BheW1lbnQvYDtcbiAgY29uc3QgZmV0Y2hPcHRpb25zOiBhbnkgPSB7XG4gICAgbWV0aG9kOiAnR0VUJyxcbiAgICBxdWVyeTogW1snc291cmNlSWQnLCBzb3VyY2VJZF1dLFxuICB9O1xuICBmZXRjaE9wdGlvbnMucXVlcnkucHVzaChbJ2ludm9pY2VfdG9rZW4nLCBpbnZvaWNlSnNvbi5pbnZvaWNlVG9rZW5dKTtcbiAgcmV0dXJuIGF3YWl0IGZldGNoKHVybCwgZmV0Y2hPcHRpb25zKTtcbn1cblxuXG5kZWNsYXJlIGNvbnN0IFNRVUFSRV9BUFBMSUNBVElPTl9JRDogc3RyaW5nO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBhbGVydEVycm9yU2hvdzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZDtcbiAgaW52b2ljZTogYW55O1xuICBjYWxsYmFja1BheW1lbnRTdWNjZXNzOiAoaW52b2ljZUpzb246IGFueSkgPT4gdm9pZDtcbn1cblxuZnVuY3Rpb24gU3F1YXJlQ2FyZCh7XG4gIGFsZXJ0RXJyb3JTaG93LFxuICBpbnZvaWNlLFxuICBjYWxsYmFja1BheW1lbnRTdWNjZXNzLFxufTogUHJvcHMpIHtcbiAgY29uc3QgeyB1cmxBcGkgfSA9IHVzZU1lcmNoaUNoZWNrYm91dENvbnRleHQoKTtcbiAgY29uc3QgW2xhb2RpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB7IGN1cnJlbmN5LCBkb21haW4sIHRvdGFsQ29zdCB9ID0gaW52b2ljZTtcbiAgY29uc3QgY29tcGFueSA9IGRvbWFpbi5jb21wYW55O1xuICBmdW5jdGlvbiBCdXR0b25UZXh0KCkge1xuICAgIHJldHVybiAoXG4gICAgICA8c3Bhbj5cbiAgICAgICAgUGF5IHtjdXJyZW5jeU1hcFtjdXJyZW5jeV19XG4gICAgICAgIHt0b3RhbENvc3R9PHNtYWxsPiAvIGluYyB0YXg8L3NtYWxsPlxuICAgICAgPC9zcGFuPlxuICAgICk7XG4gIH1cbiAgY29uc3Qgc3F1YXJlV2ViTG9jYXRpb25JZCA9IGNvbXBhbnkuc3F1YXJlV2ViTG9jYXRpb25JZDtcbiAgYXN5bmMgZnVuY3Rpb24gc3VibWl0KHNvdXJjZUlkOiBhbnkpIHtcbiAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByID0gIGF3YWl0IGFjdGlvblNxdWFyZVBheW1lbnRQcm9jZXNzKCh1cmxBcGkgYXMgc3RyaW5nKSwgaW52b2ljZSwgc291cmNlSWQpO1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICBjYWxsYmFja1BheW1lbnRTdWNjZXNzKHIpXG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBhbGVydEVycm9yU2hvdyhlLm1lc3NhZ2UpO1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBzcXVhcmVXZWJMb2NhdGlvbklkID9cbiAgICAoXG4gICAgICA8UGF5bWVudEZvcm1cbiAgICAgICAgLyoqXG4gICAgICAgICAqIElkZW50aWZpZXMgdGhlIGNhbGxpbmcgZm9ybSB3aXRoIGEgdmVyaWZpZWQgYXBwbGljYXRpb24gSUQgZ2VuZXJhdGVkIGZyb21cbiAgICAgICAgICogdGhlIFNxdWFyZSBBcHBsaWNhdGlvbiBEYXNoYm9hcmQuXG4gICAgICAgICAqL1xuICAgICAgICBhcHBsaWNhdGlvbklkPXtTUVVBUkVfQVBQTElDQVRJT05fSUR9XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJbnZva2VkIHdoZW4gcGF5bWVudCBmb3JtIHJlY2VpdmVzIHRoZSByZXN1bHQgb2YgYSB0b2tlbml6ZSBnZW5lcmF0aW9uXG4gICAgICAgICAqIHJlcXVlc3QuIFRoZSByZXN1bHQgd2lsbCBiZSBhIHZhbGlkIGNyZWRpdCBjYXJkIG9yIHdhbGxldCB0b2tlbiwgb3IgYW4gZXJyb3IuXG4gICAgICAgICAqL1xuICAgICAgICBjYXJkVG9rZW5pemVSZXNwb25zZVJlY2VpdmVkPXsodG9rZW46IGFueSwgYnV5ZXI6IGFueSkgPT5cbiAgICAgICAgICBzdWJtaXQodG9rZW4udG9rZW4pXG4gICAgICAgIH1cbiAgICAgICAgLyoqXG4gICAgICAgICAqIElkZW50aWZpZXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBtZXJjaGFudCB0aGF0IGlzIHRha2luZyB0aGUgcGF5bWVudC5cbiAgICAgICAgICogT2J0YWluZWQgZnJvbSB0aGUgU3F1YXJlIEFwcGxpY2F0aW9uIERhc2hib2FyZCAtIExvY2F0aW9ucyB0YWIuXG4gICAgICAgICAqL1xuICAgICAgICBsb2NhdGlvbklkPXtzcXVhcmVXZWJMb2NhdGlvbklkfVxuICAgICAgPlxuICAgICAgICA8Q3JlZGl0Q2FyZD5cbiAgICAgICAgICA8QnV0dG9uVGV4dCAvPlxuICAgICAgICA8L0NyZWRpdENhcmQ+XG4gICAgICA8L1BheW1lbnRGb3JtPlxuICAgIClcbiAgOlxuICAgIDw+PC8+O1xufVxuXG5leHBvcnQgZGVmYXVsdCBTcXVhcmVDYXJkO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUFDLFNBQUFBLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFBRyxXQUFBLEtBQUFGLE1BQUEsSUFBQUQsQ0FBQSxLQUFBQyxNQUFBLENBQUFHLFNBQUEscUJBQUFKLENBQUEsS0FBQUQsT0FBQSxDQUFBQyxDQUFBO0FBQUEsU0FBQUssb0JBQUEsa0JBQ2IscUpBQUFBLG1CQUFBLFlBQUFBLG9CQUFBLFdBQUFDLENBQUEsU0FBQUMsQ0FBQSxFQUFBRCxDQUFBLE9BQUFFLENBQUEsR0FBQUMsTUFBQSxDQUFBTCxTQUFBLEVBQUFNLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxjQUFBLEVBQUFYLENBQUEsR0FBQVMsTUFBQSxDQUFBRyxjQUFBLGNBQUFMLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLElBQUFELENBQUEsQ0FBQUQsQ0FBQSxJQUFBRSxDQUFBLENBQUFLLEtBQUEsS0FBQUMsQ0FBQSx3QkFBQWIsTUFBQSxHQUFBQSxNQUFBLE9BQUFjLENBQUEsR0FBQUQsQ0FBQSxDQUFBWixRQUFBLGtCQUFBYyxDQUFBLEdBQUFGLENBQUEsQ0FBQUcsYUFBQSx1QkFBQUMsQ0FBQSxHQUFBSixDQUFBLENBQUFLLFdBQUEsOEJBQUFDLE9BQUFiLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLFdBQUFDLE1BQUEsQ0FBQUcsY0FBQSxDQUFBTCxDQUFBLEVBQUFELENBQUEsSUFBQU8sS0FBQSxFQUFBTCxDQUFBLEVBQUFhLFVBQUEsTUFBQUMsWUFBQSxNQUFBQyxRQUFBLFNBQUFoQixDQUFBLENBQUFELENBQUEsV0FBQWMsTUFBQSxtQkFBQWIsQ0FBQSxJQUFBYSxNQUFBLFlBQUFBLE9BQUFiLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLFdBQUFELENBQUEsQ0FBQUQsQ0FBQSxJQUFBRSxDQUFBLGdCQUFBZ0IsS0FBQWpCLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsUUFBQUksQ0FBQSxHQUFBUixDQUFBLElBQUFBLENBQUEsQ0FBQUYsU0FBQSxZQUFBcUIsU0FBQSxHQUFBbkIsQ0FBQSxHQUFBbUIsU0FBQSxFQUFBVixDQUFBLEdBQUFOLE1BQUEsQ0FBQWlCLE1BQUEsQ0FBQVosQ0FBQSxDQUFBVixTQUFBLEdBQUFZLENBQUEsT0FBQVcsT0FBQSxDQUFBakIsQ0FBQSxnQkFBQVYsQ0FBQSxDQUFBZSxDQUFBLGVBQUFGLEtBQUEsRUFBQWUsZ0JBQUEsQ0FBQXJCLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxDQUFBLE1BQUFELENBQUEsYUFBQWMsU0FBQXRCLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLG1CQUFBc0IsSUFBQSxZQUFBQyxHQUFBLEVBQUF4QixDQUFBLENBQUF5QixJQUFBLENBQUExQixDQUFBLEVBQUFFLENBQUEsY0FBQUQsQ0FBQSxhQUFBdUIsSUFBQSxXQUFBQyxHQUFBLEVBQUF4QixDQUFBLFFBQUFELENBQUEsQ0FBQWtCLElBQUEsR0FBQUEsSUFBQSxNQUFBUyxDQUFBLHFCQUFBQyxDQUFBLHFCQUFBQyxDQUFBLGdCQUFBQyxDQUFBLGdCQUFBQyxDQUFBLGdCQUFBWixVQUFBLGNBQUFhLGtCQUFBLGNBQUFDLDJCQUFBLFNBQUFDLENBQUEsT0FBQXBCLE1BQUEsQ0FBQW9CLENBQUEsRUFBQXpCLENBQUEscUNBQUEwQixDQUFBLEdBQUFoQyxNQUFBLENBQUFpQyxjQUFBLEVBQUFDLENBQUEsR0FBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFBLENBQUEsQ0FBQUcsTUFBQSxRQUFBRCxDQUFBLElBQUFBLENBQUEsS0FBQW5DLENBQUEsSUFBQUUsQ0FBQSxDQUFBc0IsSUFBQSxDQUFBVyxDQUFBLEVBQUE1QixDQUFBLE1BQUF5QixDQUFBLEdBQUFHLENBQUEsT0FBQUUsQ0FBQSxHQUFBTiwwQkFBQSxDQUFBbkMsU0FBQSxHQUFBcUIsU0FBQSxDQUFBckIsU0FBQSxHQUFBSyxNQUFBLENBQUFpQixNQUFBLENBQUFjLENBQUEsWUFBQU0sc0JBQUF2QyxDQUFBLGdDQUFBd0MsT0FBQSxXQUFBekMsQ0FBQSxJQUFBYyxNQUFBLENBQUFiLENBQUEsRUFBQUQsQ0FBQSxZQUFBQyxDQUFBLGdCQUFBeUMsT0FBQSxDQUFBMUMsQ0FBQSxFQUFBQyxDQUFBLHNCQUFBMEMsY0FBQTFDLENBQUEsRUFBQUQsQ0FBQSxhQUFBNEMsT0FBQTFDLENBQUEsRUFBQVIsQ0FBQSxFQUFBYyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBYSxRQUFBLENBQUF0QixDQUFBLENBQUFDLENBQUEsR0FBQUQsQ0FBQSxFQUFBUCxDQUFBLG1CQUFBZ0IsQ0FBQSxDQUFBYyxJQUFBLFFBQUFaLENBQUEsR0FBQUYsQ0FBQSxDQUFBZSxHQUFBLEVBQUFFLENBQUEsR0FBQWYsQ0FBQSxDQUFBTCxLQUFBLFNBQUFvQixDQUFBLGdCQUFBbEMsT0FBQSxDQUFBa0MsQ0FBQSxLQUFBdkIsQ0FBQSxDQUFBc0IsSUFBQSxDQUFBQyxDQUFBLGVBQUEzQixDQUFBLENBQUE2QyxPQUFBLENBQUFsQixDQUFBLENBQUFtQixPQUFBLEVBQUFDLElBQUEsV0FBQTlDLENBQUEsSUFBQTJDLE1BQUEsU0FBQTNDLENBQUEsRUFBQU8sQ0FBQSxFQUFBQyxDQUFBLGdCQUFBUixDQUFBLElBQUEyQyxNQUFBLFVBQUEzQyxDQUFBLEVBQUFPLENBQUEsRUFBQUMsQ0FBQSxRQUFBVCxDQUFBLENBQUE2QyxPQUFBLENBQUFsQixDQUFBLEVBQUFvQixJQUFBLFdBQUE5QyxDQUFBLElBQUFXLENBQUEsQ0FBQUwsS0FBQSxHQUFBTixDQUFBLEVBQUFPLENBQUEsQ0FBQUksQ0FBQSxnQkFBQVgsQ0FBQSxXQUFBMkMsTUFBQSxVQUFBM0MsQ0FBQSxFQUFBTyxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxDQUFBQyxDQUFBLENBQUFlLEdBQUEsU0FBQXZCLENBQUEsRUFBQVIsQ0FBQSxvQkFBQWEsS0FBQSxXQUFBQSxNQUFBTixDQUFBLEVBQUFHLENBQUEsYUFBQTRDLDJCQUFBLGVBQUFoRCxDQUFBLFdBQUFBLENBQUEsRUFBQUUsQ0FBQSxJQUFBMEMsTUFBQSxDQUFBM0MsQ0FBQSxFQUFBRyxDQUFBLEVBQUFKLENBQUEsRUFBQUUsQ0FBQSxnQkFBQUEsQ0FBQSxHQUFBQSxDQUFBLEdBQUFBLENBQUEsQ0FBQTZDLElBQUEsQ0FBQUMsMEJBQUEsRUFBQUEsMEJBQUEsSUFBQUEsMEJBQUEscUJBQUExQixpQkFBQXRCLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFWLENBQUEsR0FBQWlDLENBQUEsbUJBQUFuQixDQUFBLEVBQUFDLENBQUEsUUFBQWYsQ0FBQSxLQUFBbUMsQ0FBQSxZQUFBb0IsS0FBQSxzQ0FBQXZELENBQUEsS0FBQW9DLENBQUEsb0JBQUF0QixDQUFBLFFBQUFDLENBQUEsV0FBQUYsS0FBQSxFQUFBTixDQUFBLEVBQUFpRCxJQUFBLGVBQUE5QyxDQUFBLENBQUErQyxNQUFBLEdBQUEzQyxDQUFBLEVBQUFKLENBQUEsQ0FBQXFCLEdBQUEsR0FBQWhCLENBQUEsVUFBQUMsQ0FBQSxHQUFBTixDQUFBLENBQUFnRCxRQUFBLE1BQUExQyxDQUFBLFFBQUFFLENBQUEsR0FBQXlDLG1CQUFBLENBQUEzQyxDQUFBLEVBQUFOLENBQUEsT0FBQVEsQ0FBQSxRQUFBQSxDQUFBLEtBQUFtQixDQUFBLG1CQUFBbkIsQ0FBQSxxQkFBQVIsQ0FBQSxDQUFBK0MsTUFBQSxFQUFBL0MsQ0FBQSxDQUFBa0QsSUFBQSxHQUFBbEQsQ0FBQSxDQUFBbUQsS0FBQSxHQUFBbkQsQ0FBQSxDQUFBcUIsR0FBQSxzQkFBQXJCLENBQUEsQ0FBQStDLE1BQUEsUUFBQXpELENBQUEsS0FBQWlDLENBQUEsUUFBQWpDLENBQUEsR0FBQW9DLENBQUEsRUFBQTFCLENBQUEsQ0FBQXFCLEdBQUEsRUFBQXJCLENBQUEsQ0FBQW9ELGlCQUFBLENBQUFwRCxDQUFBLENBQUFxQixHQUFBLHVCQUFBckIsQ0FBQSxDQUFBK0MsTUFBQSxJQUFBL0MsQ0FBQSxDQUFBcUQsTUFBQSxXQUFBckQsQ0FBQSxDQUFBcUIsR0FBQSxHQUFBL0IsQ0FBQSxHQUFBbUMsQ0FBQSxNQUFBSyxDQUFBLEdBQUFYLFFBQUEsQ0FBQXZCLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLG9CQUFBOEIsQ0FBQSxDQUFBVixJQUFBLFFBQUE5QixDQUFBLEdBQUFVLENBQUEsQ0FBQThDLElBQUEsR0FBQXBCLENBQUEsR0FBQUYsQ0FBQSxFQUFBTSxDQUFBLENBQUFULEdBQUEsS0FBQU0sQ0FBQSxxQkFBQXhCLEtBQUEsRUFBQTJCLENBQUEsQ0FBQVQsR0FBQSxFQUFBeUIsSUFBQSxFQUFBOUMsQ0FBQSxDQUFBOEMsSUFBQSxrQkFBQWhCLENBQUEsQ0FBQVYsSUFBQSxLQUFBOUIsQ0FBQSxHQUFBb0MsQ0FBQSxFQUFBMUIsQ0FBQSxDQUFBK0MsTUFBQSxZQUFBL0MsQ0FBQSxDQUFBcUIsR0FBQSxHQUFBUyxDQUFBLENBQUFULEdBQUEsbUJBQUE0QixvQkFBQXJELENBQUEsRUFBQUUsQ0FBQSxRQUFBRSxDQUFBLEdBQUFGLENBQUEsQ0FBQWlELE1BQUEsRUFBQXpELENBQUEsR0FBQU0sQ0FBQSxDQUFBSixRQUFBLENBQUFRLENBQUEsT0FBQVYsQ0FBQSxLQUFBTyxDQUFBLFNBQUFDLENBQUEsQ0FBQWtELFFBQUEscUJBQUFoRCxDQUFBLElBQUFKLENBQUEsQ0FBQUosUUFBQSxlQUFBTSxDQUFBLENBQUFpRCxNQUFBLGFBQUFqRCxDQUFBLENBQUF1QixHQUFBLEdBQUF4QixDQUFBLEVBQUFvRCxtQkFBQSxDQUFBckQsQ0FBQSxFQUFBRSxDQUFBLGVBQUFBLENBQUEsQ0FBQWlELE1BQUEsa0JBQUEvQyxDQUFBLEtBQUFGLENBQUEsQ0FBQWlELE1BQUEsWUFBQWpELENBQUEsQ0FBQXVCLEdBQUEsT0FBQWlDLFNBQUEsdUNBQUF0RCxDQUFBLGlCQUFBMkIsQ0FBQSxNQUFBdkIsQ0FBQSxHQUFBZSxRQUFBLENBQUE3QixDQUFBLEVBQUFNLENBQUEsQ0FBQUosUUFBQSxFQUFBTSxDQUFBLENBQUF1QixHQUFBLG1CQUFBakIsQ0FBQSxDQUFBZ0IsSUFBQSxTQUFBdEIsQ0FBQSxDQUFBaUQsTUFBQSxZQUFBakQsQ0FBQSxDQUFBdUIsR0FBQSxHQUFBakIsQ0FBQSxDQUFBaUIsR0FBQSxFQUFBdkIsQ0FBQSxDQUFBa0QsUUFBQSxTQUFBckIsQ0FBQSxNQUFBdEIsQ0FBQSxHQUFBRCxDQUFBLENBQUFpQixHQUFBLFNBQUFoQixDQUFBLEdBQUFBLENBQUEsQ0FBQXlDLElBQUEsSUFBQWhELENBQUEsQ0FBQUYsQ0FBQSxDQUFBMkQsVUFBQSxJQUFBbEQsQ0FBQSxDQUFBRixLQUFBLEVBQUFMLENBQUEsQ0FBQTBELElBQUEsR0FBQTVELENBQUEsQ0FBQTZELE9BQUEsZUFBQTNELENBQUEsQ0FBQWlELE1BQUEsS0FBQWpELENBQUEsQ0FBQWlELE1BQUEsV0FBQWpELENBQUEsQ0FBQXVCLEdBQUEsR0FBQXhCLENBQUEsR0FBQUMsQ0FBQSxDQUFBa0QsUUFBQSxTQUFBckIsQ0FBQSxJQUFBdEIsQ0FBQSxJQUFBUCxDQUFBLENBQUFpRCxNQUFBLFlBQUFqRCxDQUFBLENBQUF1QixHQUFBLE9BQUFpQyxTQUFBLHNDQUFBeEQsQ0FBQSxDQUFBa0QsUUFBQSxTQUFBckIsQ0FBQSxjQUFBK0IsYUFBQTdELENBQUEsUUFBQUQsQ0FBQSxLQUFBK0QsTUFBQSxFQUFBOUQsQ0FBQSxZQUFBQSxDQUFBLEtBQUFELENBQUEsQ0FBQWdFLFFBQUEsR0FBQS9ELENBQUEsV0FBQUEsQ0FBQSxLQUFBRCxDQUFBLENBQUFpRSxVQUFBLEdBQUFoRSxDQUFBLEtBQUFELENBQUEsQ0FBQWtFLFFBQUEsR0FBQWpFLENBQUEsV0FBQWtFLFVBQUEsQ0FBQUMsSUFBQSxDQUFBcEUsQ0FBQSxjQUFBcUUsY0FBQXBFLENBQUEsUUFBQUQsQ0FBQSxHQUFBQyxDQUFBLENBQUFxRSxVQUFBLFFBQUF0RSxDQUFBLENBQUF3QixJQUFBLG9CQUFBeEIsQ0FBQSxDQUFBeUIsR0FBQSxFQUFBeEIsQ0FBQSxDQUFBcUUsVUFBQSxHQUFBdEUsQ0FBQSxhQUFBcUIsUUFBQXBCLENBQUEsU0FBQWtFLFVBQUEsTUFBQUosTUFBQSxhQUFBOUQsQ0FBQSxDQUFBd0MsT0FBQSxDQUFBcUIsWUFBQSxjQUFBUyxLQUFBLGlCQUFBakMsT0FBQXRDLENBQUEsUUFBQUEsQ0FBQSxXQUFBQSxDQUFBLFFBQUFFLENBQUEsR0FBQUYsQ0FBQSxDQUFBUyxDQUFBLE9BQUFQLENBQUEsU0FBQUEsQ0FBQSxDQUFBd0IsSUFBQSxDQUFBMUIsQ0FBQSw0QkFBQUEsQ0FBQSxDQUFBNEQsSUFBQSxTQUFBNUQsQ0FBQSxPQUFBd0UsS0FBQSxDQUFBeEUsQ0FBQSxDQUFBeUUsTUFBQSxTQUFBL0UsQ0FBQSxPQUFBYyxDQUFBLFlBQUFvRCxLQUFBLGFBQUFsRSxDQUFBLEdBQUFNLENBQUEsQ0FBQXlFLE1BQUEsT0FBQXJFLENBQUEsQ0FBQXNCLElBQUEsQ0FBQTFCLENBQUEsRUFBQU4sQ0FBQSxVQUFBa0UsSUFBQSxDQUFBckQsS0FBQSxHQUFBUCxDQUFBLENBQUFOLENBQUEsR0FBQWtFLElBQUEsQ0FBQVYsSUFBQSxPQUFBVSxJQUFBLFNBQUFBLElBQUEsQ0FBQXJELEtBQUEsR0FBQU4sQ0FBQSxFQUFBMkQsSUFBQSxDQUFBVixJQUFBLE9BQUFVLElBQUEsWUFBQXBELENBQUEsQ0FBQW9ELElBQUEsR0FBQXBELENBQUEsZ0JBQUFrRCxTQUFBLENBQUFqRSxPQUFBLENBQUFPLENBQUEsa0NBQUFnQyxpQkFBQSxDQUFBbEMsU0FBQSxHQUFBbUMsMEJBQUEsRUFBQXZDLENBQUEsQ0FBQTZDLENBQUEsbUJBQUFoQyxLQUFBLEVBQUEwQiwwQkFBQSxFQUFBakIsWUFBQSxTQUFBdEIsQ0FBQSxDQUFBdUMsMEJBQUEsbUJBQUExQixLQUFBLEVBQUF5QixpQkFBQSxFQUFBaEIsWUFBQSxTQUFBZ0IsaUJBQUEsQ0FBQTBDLFdBQUEsR0FBQTVELE1BQUEsQ0FBQW1CLDBCQUFBLEVBQUFyQixDQUFBLHdCQUFBWixDQUFBLENBQUEyRSxtQkFBQSxhQUFBMUUsQ0FBQSxRQUFBRCxDQUFBLHdCQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUosV0FBQSxXQUFBRyxDQUFBLEtBQUFBLENBQUEsS0FBQWdDLGlCQUFBLDZCQUFBaEMsQ0FBQSxDQUFBMEUsV0FBQSxJQUFBMUUsQ0FBQSxDQUFBNEUsSUFBQSxPQUFBNUUsQ0FBQSxDQUFBNkUsSUFBQSxhQUFBNUUsQ0FBQSxXQUFBRSxNQUFBLENBQUEyRSxjQUFBLEdBQUEzRSxNQUFBLENBQUEyRSxjQUFBLENBQUE3RSxDQUFBLEVBQUFnQywwQkFBQSxLQUFBaEMsQ0FBQSxDQUFBOEUsU0FBQSxHQUFBOUMsMEJBQUEsRUFBQW5CLE1BQUEsQ0FBQWIsQ0FBQSxFQUFBVyxDQUFBLHlCQUFBWCxDQUFBLENBQUFILFNBQUEsR0FBQUssTUFBQSxDQUFBaUIsTUFBQSxDQUFBbUIsQ0FBQSxHQUFBdEMsQ0FBQSxLQUFBRCxDQUFBLENBQUFnRixLQUFBLGFBQUEvRSxDQUFBLGFBQUE2QyxPQUFBLEVBQUE3QyxDQUFBLE9BQUF1QyxxQkFBQSxDQUFBRyxhQUFBLENBQUE3QyxTQUFBLEdBQUFnQixNQUFBLENBQUE2QixhQUFBLENBQUE3QyxTQUFBLEVBQUFZLENBQUEsaUNBQUFWLENBQUEsQ0FBQTJDLGFBQUEsR0FBQUEsYUFBQSxFQUFBM0MsQ0FBQSxDQUFBaUYsS0FBQSxhQUFBaEYsQ0FBQSxFQUFBQyxDQUFBLEVBQUFFLENBQUEsRUFBQVYsQ0FBQSxFQUFBYyxDQUFBLGVBQUFBLENBQUEsS0FBQUEsQ0FBQSxHQUFBMEUsT0FBQSxPQUFBekUsQ0FBQSxPQUFBa0MsYUFBQSxDQUFBekIsSUFBQSxDQUFBakIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFFLENBQUEsRUFBQVYsQ0FBQSxHQUFBYyxDQUFBLFVBQUFSLENBQUEsQ0FBQTJFLG1CQUFBLENBQUF6RSxDQUFBLElBQUFPLENBQUEsR0FBQUEsQ0FBQSxDQUFBbUQsSUFBQSxHQUFBYixJQUFBLFdBQUE5QyxDQUFBLFdBQUFBLENBQUEsQ0FBQWlELElBQUEsR0FBQWpELENBQUEsQ0FBQU0sS0FBQSxHQUFBRSxDQUFBLENBQUFtRCxJQUFBLFdBQUFwQixxQkFBQSxDQUFBRCxDQUFBLEdBQUF6QixNQUFBLENBQUF5QixDQUFBLEVBQUEzQixDQUFBLGdCQUFBRSxNQUFBLENBQUF5QixDQUFBLEVBQUE5QixDQUFBLGlDQUFBSyxNQUFBLENBQUF5QixDQUFBLDZEQUFBdkMsQ0FBQSxDQUFBbUYsSUFBQSxhQUFBbEYsQ0FBQSxRQUFBRCxDQUFBLEdBQUFHLE1BQUEsQ0FBQUYsQ0FBQSxHQUFBQyxDQUFBLGdCQUFBRSxDQUFBLElBQUFKLENBQUEsRUFBQUUsQ0FBQSxDQUFBa0UsSUFBQSxDQUFBaEUsQ0FBQSxVQUFBRixDQUFBLENBQUFrRixPQUFBLGFBQUF4QixLQUFBLFdBQUExRCxDQUFBLENBQUF1RSxNQUFBLFNBQUF4RSxDQUFBLEdBQUFDLENBQUEsQ0FBQW1GLEdBQUEsUUFBQXBGLENBQUEsSUFBQUQsQ0FBQSxTQUFBNEQsSUFBQSxDQUFBckQsS0FBQSxHQUFBTixDQUFBLEVBQUEyRCxJQUFBLENBQUFWLElBQUEsT0FBQVUsSUFBQSxXQUFBQSxJQUFBLENBQUFWLElBQUEsT0FBQVUsSUFBQSxRQUFBNUQsQ0FBQSxDQUFBc0MsTUFBQSxHQUFBQSxNQUFBLEVBQUFqQixPQUFBLENBQUF2QixTQUFBLEtBQUFELFdBQUEsRUFBQXdCLE9BQUEsRUFBQWtELEtBQUEsV0FBQUEsTUFBQXZFLENBQUEsYUFBQXNGLElBQUEsV0FBQTFCLElBQUEsV0FBQU4sSUFBQSxRQUFBQyxLQUFBLEdBQUF0RCxDQUFBLE9BQUFpRCxJQUFBLFlBQUFFLFFBQUEsY0FBQUQsTUFBQSxnQkFBQTFCLEdBQUEsR0FBQXhCLENBQUEsT0FBQWtFLFVBQUEsQ0FBQTFCLE9BQUEsQ0FBQTRCLGFBQUEsSUFBQXJFLENBQUEsV0FBQUUsQ0FBQSxrQkFBQUEsQ0FBQSxDQUFBcUYsTUFBQSxPQUFBbkYsQ0FBQSxDQUFBc0IsSUFBQSxPQUFBeEIsQ0FBQSxNQUFBc0UsS0FBQSxFQUFBdEUsQ0FBQSxDQUFBc0YsS0FBQSxjQUFBdEYsQ0FBQSxJQUFBRCxDQUFBLE1BQUF3RixJQUFBLFdBQUFBLEtBQUEsU0FBQXZDLElBQUEsV0FBQWpELENBQUEsUUFBQWtFLFVBQUEsSUFBQUcsVUFBQSxrQkFBQXJFLENBQUEsQ0FBQXVCLElBQUEsUUFBQXZCLENBQUEsQ0FBQXdCLEdBQUEsY0FBQWlFLElBQUEsS0FBQWxDLGlCQUFBLFdBQUFBLGtCQUFBeEQsQ0FBQSxhQUFBa0QsSUFBQSxRQUFBbEQsQ0FBQSxNQUFBRSxDQUFBLGtCQUFBeUYsT0FBQXZGLENBQUEsRUFBQVYsQ0FBQSxXQUFBZSxDQUFBLENBQUFlLElBQUEsWUFBQWYsQ0FBQSxDQUFBZ0IsR0FBQSxHQUFBekIsQ0FBQSxFQUFBRSxDQUFBLENBQUEwRCxJQUFBLEdBQUF4RCxDQUFBLEVBQUFWLENBQUEsS0FBQVEsQ0FBQSxDQUFBaUQsTUFBQSxXQUFBakQsQ0FBQSxDQUFBdUIsR0FBQSxHQUFBeEIsQ0FBQSxLQUFBUCxDQUFBLGFBQUFBLENBQUEsUUFBQXlFLFVBQUEsQ0FBQU0sTUFBQSxNQUFBL0UsQ0FBQSxTQUFBQSxDQUFBLFFBQUFjLENBQUEsUUFBQTJELFVBQUEsQ0FBQXpFLENBQUEsR0FBQWUsQ0FBQSxHQUFBRCxDQUFBLENBQUE4RCxVQUFBLGlCQUFBOUQsQ0FBQSxDQUFBdUQsTUFBQSxTQUFBNEIsTUFBQSxhQUFBbkYsQ0FBQSxDQUFBdUQsTUFBQSxTQUFBdUIsSUFBQSxRQUFBNUUsQ0FBQSxHQUFBTixDQUFBLENBQUFzQixJQUFBLENBQUFsQixDQUFBLGVBQUFJLENBQUEsR0FBQVIsQ0FBQSxDQUFBc0IsSUFBQSxDQUFBbEIsQ0FBQSxxQkFBQUUsQ0FBQSxJQUFBRSxDQUFBLGFBQUEwRSxJQUFBLEdBQUE5RSxDQUFBLENBQUF3RCxRQUFBLFNBQUEyQixNQUFBLENBQUFuRixDQUFBLENBQUF3RCxRQUFBLGdCQUFBc0IsSUFBQSxHQUFBOUUsQ0FBQSxDQUFBeUQsVUFBQSxTQUFBMEIsTUFBQSxDQUFBbkYsQ0FBQSxDQUFBeUQsVUFBQSxjQUFBdkQsQ0FBQSxhQUFBNEUsSUFBQSxHQUFBOUUsQ0FBQSxDQUFBd0QsUUFBQSxTQUFBMkIsTUFBQSxDQUFBbkYsQ0FBQSxDQUFBd0QsUUFBQSxxQkFBQXBELENBQUEsWUFBQXFDLEtBQUEscURBQUFxQyxJQUFBLEdBQUE5RSxDQUFBLENBQUF5RCxVQUFBLFNBQUEwQixNQUFBLENBQUFuRixDQUFBLENBQUF5RCxVQUFBLFlBQUFSLE1BQUEsV0FBQUEsT0FBQXhELENBQUEsRUFBQUQsQ0FBQSxhQUFBRSxDQUFBLFFBQUFpRSxVQUFBLENBQUFNLE1BQUEsTUFBQXZFLENBQUEsU0FBQUEsQ0FBQSxRQUFBUixDQUFBLFFBQUF5RSxVQUFBLENBQUFqRSxDQUFBLE9BQUFSLENBQUEsQ0FBQXFFLE1BQUEsU0FBQXVCLElBQUEsSUFBQWxGLENBQUEsQ0FBQXNCLElBQUEsQ0FBQWhDLENBQUEsd0JBQUE0RixJQUFBLEdBQUE1RixDQUFBLENBQUF1RSxVQUFBLFFBQUF6RCxDQUFBLEdBQUFkLENBQUEsYUFBQWMsQ0FBQSxpQkFBQVAsQ0FBQSxtQkFBQUEsQ0FBQSxLQUFBTyxDQUFBLENBQUF1RCxNQUFBLElBQUEvRCxDQUFBLElBQUFBLENBQUEsSUFBQVEsQ0FBQSxDQUFBeUQsVUFBQSxLQUFBekQsQ0FBQSxjQUFBQyxDQUFBLEdBQUFELENBQUEsR0FBQUEsQ0FBQSxDQUFBOEQsVUFBQSxjQUFBN0QsQ0FBQSxDQUFBZSxJQUFBLEdBQUF2QixDQUFBLEVBQUFRLENBQUEsQ0FBQWdCLEdBQUEsR0FBQXpCLENBQUEsRUFBQVEsQ0FBQSxTQUFBMkMsTUFBQSxnQkFBQVMsSUFBQSxHQUFBcEQsQ0FBQSxDQUFBeUQsVUFBQSxFQUFBbEMsQ0FBQSxTQUFBNkQsUUFBQSxDQUFBbkYsQ0FBQSxNQUFBbUYsUUFBQSxXQUFBQSxTQUFBM0YsQ0FBQSxFQUFBRCxDQUFBLG9CQUFBQyxDQUFBLENBQUF1QixJQUFBLFFBQUF2QixDQUFBLENBQUF3QixHQUFBLHFCQUFBeEIsQ0FBQSxDQUFBdUIsSUFBQSxtQkFBQXZCLENBQUEsQ0FBQXVCLElBQUEsUUFBQW9DLElBQUEsR0FBQTNELENBQUEsQ0FBQXdCLEdBQUEsZ0JBQUF4QixDQUFBLENBQUF1QixJQUFBLFNBQUFrRSxJQUFBLFFBQUFqRSxHQUFBLEdBQUF4QixDQUFBLENBQUF3QixHQUFBLE9BQUEwQixNQUFBLGtCQUFBUyxJQUFBLHlCQUFBM0QsQ0FBQSxDQUFBdUIsSUFBQSxJQUFBeEIsQ0FBQSxVQUFBNEQsSUFBQSxHQUFBNUQsQ0FBQSxHQUFBK0IsQ0FBQSxLQUFBOEQsTUFBQSxXQUFBQSxPQUFBNUYsQ0FBQSxhQUFBRCxDQUFBLFFBQUFtRSxVQUFBLENBQUFNLE1BQUEsTUFBQXpFLENBQUEsU0FBQUEsQ0FBQSxRQUFBRSxDQUFBLFFBQUFpRSxVQUFBLENBQUFuRSxDQUFBLE9BQUFFLENBQUEsQ0FBQStELFVBQUEsS0FBQWhFLENBQUEsY0FBQTJGLFFBQUEsQ0FBQTFGLENBQUEsQ0FBQW9FLFVBQUEsRUFBQXBFLENBQUEsQ0FBQWdFLFFBQUEsR0FBQUcsYUFBQSxDQUFBbkUsQ0FBQSxHQUFBNkIsQ0FBQSx5QkFBQStELE9BQUE3RixDQUFBLGFBQUFELENBQUEsUUFBQW1FLFVBQUEsQ0FBQU0sTUFBQSxNQUFBekUsQ0FBQSxTQUFBQSxDQUFBLFFBQUFFLENBQUEsUUFBQWlFLFVBQUEsQ0FBQW5FLENBQUEsT0FBQUUsQ0FBQSxDQUFBNkQsTUFBQSxLQUFBOUQsQ0FBQSxRQUFBRyxDQUFBLEdBQUFGLENBQUEsQ0FBQW9FLFVBQUEsa0JBQUFsRSxDQUFBLENBQUFvQixJQUFBLFFBQUE5QixDQUFBLEdBQUFVLENBQUEsQ0FBQXFCLEdBQUEsRUFBQTRDLGFBQUEsQ0FBQW5FLENBQUEsWUFBQVIsQ0FBQSxnQkFBQXVELEtBQUEsOEJBQUE4QyxhQUFBLFdBQUFBLGNBQUEvRixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxnQkFBQWdELFFBQUEsS0FBQXhELFFBQUEsRUFBQTBDLE1BQUEsQ0FBQXRDLENBQUEsR0FBQTJELFVBQUEsRUFBQXpELENBQUEsRUFBQTJELE9BQUEsRUFBQXpELENBQUEsb0JBQUErQyxNQUFBLFVBQUExQixHQUFBLEdBQUF4QixDQUFBLEdBQUE4QixDQUFBLE9BQUEvQixDQUFBO0FBQUEsU0FBQWdHLGVBQUFDLEdBQUEsRUFBQXpGLENBQUEsV0FBQTBGLGVBQUEsQ0FBQUQsR0FBQSxLQUFBRSxxQkFBQSxDQUFBRixHQUFBLEVBQUF6RixDQUFBLEtBQUE0RiwyQkFBQSxDQUFBSCxHQUFBLEVBQUF6RixDQUFBLEtBQUE2RixnQkFBQTtBQUFBLFNBQUFBLGlCQUFBLGNBQUEzQyxTQUFBO0FBQUEsU0FBQTBDLDRCQUFBMUcsQ0FBQSxFQUFBNEcsTUFBQSxTQUFBNUcsQ0FBQSxxQkFBQUEsQ0FBQSxzQkFBQTZHLGlCQUFBLENBQUE3RyxDQUFBLEVBQUE0RyxNQUFBLE9BQUFsRyxDQUFBLEdBQUFELE1BQUEsQ0FBQUwsU0FBQSxDQUFBMEcsUUFBQSxDQUFBOUUsSUFBQSxDQUFBaEMsQ0FBQSxFQUFBOEYsS0FBQSxhQUFBcEYsQ0FBQSxpQkFBQVYsQ0FBQSxDQUFBRyxXQUFBLEVBQUFPLENBQUEsR0FBQVYsQ0FBQSxDQUFBRyxXQUFBLENBQUErRSxJQUFBLE1BQUF4RSxDQUFBLGNBQUFBLENBQUEsbUJBQUFxRyxLQUFBLENBQUFDLElBQUEsQ0FBQWhILENBQUEsT0FBQVUsQ0FBQSwrREFBQXVHLElBQUEsQ0FBQXZHLENBQUEsVUFBQW1HLGlCQUFBLENBQUE3RyxDQUFBLEVBQUE0RyxNQUFBO0FBQUEsU0FBQUMsa0JBQUFOLEdBQUEsRUFBQVcsR0FBQSxRQUFBQSxHQUFBLFlBQUFBLEdBQUEsR0FBQVgsR0FBQSxDQUFBeEIsTUFBQSxFQUFBbUMsR0FBQSxHQUFBWCxHQUFBLENBQUF4QixNQUFBLFdBQUFqRSxDQUFBLE1BQUFxRyxJQUFBLE9BQUFKLEtBQUEsQ0FBQUcsR0FBQSxHQUFBcEcsQ0FBQSxHQUFBb0csR0FBQSxFQUFBcEcsQ0FBQSxJQUFBcUcsSUFBQSxDQUFBckcsQ0FBQSxJQUFBeUYsR0FBQSxDQUFBekYsQ0FBQSxVQUFBcUcsSUFBQTtBQUFBLFNBQUFWLHNCQUFBakcsQ0FBQSxFQUFBMEIsQ0FBQSxRQUFBM0IsQ0FBQSxXQUFBQyxDQUFBLGdDQUFBUCxNQUFBLElBQUFPLENBQUEsQ0FBQVAsTUFBQSxDQUFBQyxRQUFBLEtBQUFNLENBQUEsNEJBQUFELENBQUEsUUFBQUQsQ0FBQSxFQUFBSSxDQUFBLEVBQUFJLENBQUEsRUFBQUksQ0FBQSxFQUFBSCxDQUFBLE9BQUFvQixDQUFBLE9BQUFuQyxDQUFBLGlCQUFBYyxDQUFBLElBQUFQLENBQUEsR0FBQUEsQ0FBQSxDQUFBeUIsSUFBQSxDQUFBeEIsQ0FBQSxHQUFBMEQsSUFBQSxRQUFBaEMsQ0FBQSxRQUFBekIsTUFBQSxDQUFBRixDQUFBLE1BQUFBLENBQUEsVUFBQTRCLENBQUEsdUJBQUFBLENBQUEsSUFBQTdCLENBQUEsR0FBQVEsQ0FBQSxDQUFBa0IsSUFBQSxDQUFBekIsQ0FBQSxHQUFBaUQsSUFBQSxNQUFBekMsQ0FBQSxDQUFBMkQsSUFBQSxDQUFBcEUsQ0FBQSxDQUFBTyxLQUFBLEdBQUFFLENBQUEsQ0FBQWdFLE1BQUEsS0FBQTdDLENBQUEsR0FBQUMsQ0FBQSxpQkFBQTNCLENBQUEsSUFBQVIsQ0FBQSxPQUFBVSxDQUFBLEdBQUFGLENBQUEseUJBQUEyQixDQUFBLFlBQUE1QixDQUFBLGVBQUFXLENBQUEsR0FBQVgsQ0FBQSxjQUFBRSxNQUFBLENBQUFTLENBQUEsTUFBQUEsQ0FBQSwyQkFBQWxCLENBQUEsUUFBQVUsQ0FBQSxhQUFBSyxDQUFBO0FBQUEsU0FBQXlGLGdCQUFBRCxHQUFBLFFBQUFRLEtBQUEsQ0FBQUssT0FBQSxDQUFBYixHQUFBLFVBQUFBLEdBQUE7QUFBQSxTQUFBYyxtQkFBQUMsR0FBQSxFQUFBbkUsT0FBQSxFQUFBb0UsTUFBQSxFQUFBQyxLQUFBLEVBQUFDLE1BQUEsRUFBQUMsR0FBQSxFQUFBM0YsR0FBQSxjQUFBNEYsSUFBQSxHQUFBTCxHQUFBLENBQUFJLEdBQUEsRUFBQTNGLEdBQUEsT0FBQWxCLEtBQUEsR0FBQThHLElBQUEsQ0FBQTlHLEtBQUEsV0FBQStHLEtBQUEsSUFBQUwsTUFBQSxDQUFBSyxLQUFBLGlCQUFBRCxJQUFBLENBQUFuRSxJQUFBLElBQUFMLE9BQUEsQ0FBQXRDLEtBQUEsWUFBQTJFLE9BQUEsQ0FBQXJDLE9BQUEsQ0FBQXRDLEtBQUEsRUFBQXdDLElBQUEsQ0FBQW1FLEtBQUEsRUFBQUMsTUFBQTtBQUFBLFNBQUFJLGtCQUFBQyxFQUFBLDZCQUFBQyxJQUFBLFNBQUFDLElBQUEsR0FBQUMsU0FBQSxhQUFBekMsT0FBQSxXQUFBckMsT0FBQSxFQUFBb0UsTUFBQSxRQUFBRCxHQUFBLEdBQUFRLEVBQUEsQ0FBQUksS0FBQSxDQUFBSCxJQUFBLEVBQUFDLElBQUEsWUFBQVIsTUFBQTNHLEtBQUEsSUFBQXdHLGtCQUFBLENBQUFDLEdBQUEsRUFBQW5FLE9BQUEsRUFBQW9FLE1BQUEsRUFBQUMsS0FBQSxFQUFBQyxNQUFBLFVBQUE1RyxLQUFBLGNBQUE0RyxPQUFBVSxHQUFBLElBQUFkLGtCQUFBLENBQUFDLEdBQUEsRUFBQW5FLE9BQUEsRUFBQW9FLE1BQUEsRUFBQUMsS0FBQSxFQUFBQyxNQUFBLFdBQUFVLEdBQUEsS0FBQVgsS0FBQSxDQUFBWSxTQUFBO0FBQUEsU0FBU0MsUUFBUSxRQUFRLE9BQU87QUFDaEMsU0FBU0MsVUFBVSxFQUFFQyxXQUFXLFFBQVEsK0JBQStCO0FBQ3ZFLFNBQVNDLHlCQUF5QixRQUFRLDhCQUE4QjtBQUN4RSxTQUFTQyxXQUFXLFFBQVEsYUFBYTtBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQUFBLFNBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUFBLFNBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQUUxQyxnQkFBc0JDLDBCQUEwQkEsQ0FBQUMsRUFBQSxFQUFBQyxHQUFBLEVBQUFDLEdBQUE7RUFBQSxPQUFBQywyQkFBQSxDQUFBbEIsS0FBQSxPQUFBRCxTQUFBO0FBQUE7QUFhL0MsU0FBQW1CLDRCQUFBO0VBQUFBLDJCQUFBLEdBQUF2QixpQkFBQSxlQUFBeEgsbUJBQUEsR0FBQThFLElBQUEsQ0FiTSxTQUFBa0UsU0FDTEMsTUFBYyxFQUNkQyxPQUFZLEVBQ1pDLFFBQWdCO0lBQUEsSUFBQUMsV0FBQSxFQUFBQyxHQUFBLEVBQUFDLFlBQUE7SUFBQSxPQUFBdEosbUJBQUEsR0FBQW1CLElBQUEsVUFBQW9JLFVBQUFDLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBakUsSUFBQSxHQUFBaUUsU0FBQSxDQUFBM0YsSUFBQTtRQUFBO1VBRVp1RixXQUFXLEdBQUdGLE9BQU87VUFDckJHLEdBQUcsTUFBQUksTUFBQSxDQUFNUixNQUFNLGNBQUFRLE1BQUEsQ0FBV0wsV0FBVyxDQUFDTSxFQUFFO1VBQ3RDSixZQUFpQixHQUFHO1lBQ3hCbEcsTUFBTSxFQUFFLEtBQUs7WUFDYnVHLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFUixRQUFRLENBQUM7VUFDaEMsQ0FBQztVQUNERyxZQUFZLENBQUNLLEtBQUssQ0FBQ3RGLElBQUksQ0FBQyxDQUFDLGVBQWUsRUFBRStFLFdBQVcsQ0FBQ1EsWUFBWSxDQUFDLENBQUM7VUFBQ0osU0FBQSxDQUFBM0YsSUFBQTtVQUFBLE9BQ3hEZ0csS0FBSyxDQUFDUixHQUFHLEVBQUVDLFlBQVksQ0FBQztRQUFBO1VBQUEsT0FBQUUsU0FBQSxDQUFBOUYsTUFBQSxXQUFBOEYsU0FBQSxDQUFBakcsSUFBQTtRQUFBO1FBQUE7VUFBQSxPQUFBaUcsU0FBQSxDQUFBOUQsSUFBQTtNQUFBO0lBQUEsR0FBQXNELFFBQUE7RUFBQSxDQUN0QztFQUFBLE9BQUFELDJCQUFBLENBQUFsQixLQUFBLE9BQUFELFNBQUE7QUFBQTtBQVdELFNBQVNrQyxVQUFVQSxDQUFBQyxJQUFBLEVBSVQ7RUFBQSxJQUhSQyxjQUFjLEdBQUFELElBQUEsQ0FBZEMsY0FBYztJQUNkZCxPQUFPLEdBQUFhLElBQUEsQ0FBUGIsT0FBTztJQUNQZSxzQkFBc0IsR0FBQUYsSUFBQSxDQUF0QkUsc0JBQXNCO0VBRXRCLElBQUFDLHFCQUFBLEdBQW1CL0IseUJBQXlCLENBQUMsQ0FBQztJQUF0Q2MsTUFBTSxHQUFBaUIscUJBQUEsQ0FBTmpCLE1BQU07RUFDZCxJQUFBa0IsU0FBQSxHQUE4Qm5DLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQW9DLFVBQUEsR0FBQW5FLGNBQUEsQ0FBQWtFLFNBQUE7SUFBdENFLE9BQU8sR0FBQUQsVUFBQTtJQUFFRSxVQUFVLEdBQUFGLFVBQUE7RUFDMUIsSUFBUUcsUUFBUSxHQUF3QnJCLE9BQU8sQ0FBdkNxQixRQUFRO0lBQUVDLE1BQU0sR0FBZ0J0QixPQUFPLENBQTdCc0IsTUFBTTtJQUFFQyxTQUFTLEdBQUt2QixPQUFPLENBQXJCdUIsU0FBUztFQUNuQyxJQUFNQyxPQUFPLEdBQUdGLE1BQU0sQ0FBQ0UsT0FBTztFQUM5QixTQUFTQyxVQUFVQSxDQUFBLEVBQUc7SUFDcEIsb0JBQ0VuQyxLQUFBO01BQUFvQyxRQUFBLEdBQU0sTUFDQSxFQUFDeEMsV0FBVyxDQUFDbUMsUUFBUSxDQUFDLEVBQ3pCRSxTQUFTLGVBQUNuQyxJQUFBO1FBQUFzQyxRQUFBLEVBQU87TUFBVSxDQUFPLENBQUM7SUFBQSxDQUNoQyxDQUFDO0VBRVg7RUFDQSxJQUFNQyxtQkFBbUIsR0FBR0gsT0FBTyxDQUFDRyxtQkFBbUI7RUFBQyxTQUN6Q0MsTUFBTUEsQ0FBQUMsR0FBQTtJQUFBLE9BQUFDLE9BQUEsQ0FBQW5ELEtBQUEsT0FBQUQsU0FBQTtFQUFBO0VBQUEsU0FBQW9ELFFBQUE7SUFBQUEsT0FBQSxHQUFBeEQsaUJBQUEsZUFBQXhILG1CQUFBLEdBQUE4RSxJQUFBLENBQXJCLFNBQUFtRyxRQUFzQjlCLFFBQWE7TUFBQSxJQUFBaEosQ0FBQTtNQUFBLE9BQUFILG1CQUFBLEdBQUFtQixJQUFBLFVBQUErSixTQUFBQyxRQUFBO1FBQUEsa0JBQUFBLFFBQUEsQ0FBQTVGLElBQUEsR0FBQTRGLFFBQUEsQ0FBQXRILElBQUE7VUFBQTtZQUNqQ3lHLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFBQ2EsUUFBQSxDQUFBNUYsSUFBQTtZQUFBNEYsUUFBQSxDQUFBdEgsSUFBQTtZQUFBLE9BRUU4RSwwQkFBMEIsQ0FBRU0sTUFBTSxFQUFhQyxPQUFPLEVBQUVDLFFBQVEsQ0FBQztVQUFBO1lBQTVFaEosQ0FBQyxHQUFBZ0wsUUFBQSxDQUFBNUgsSUFBQTtZQUNQK0csVUFBVSxDQUFDLEtBQUssQ0FBQztZQUNqQkwsc0JBQXNCLENBQUM5SixDQUFDLENBQUM7WUFBQWdMLFFBQUEsQ0FBQXRILElBQUE7WUFBQTtVQUFBO1lBQUFzSCxRQUFBLENBQUE1RixJQUFBO1lBQUE0RixRQUFBLENBQUFDLEVBQUEsR0FBQUQsUUFBQTtZQUV6Qm5CLGNBQWMsQ0FBQ21CLFFBQUEsQ0FBQUMsRUFBQSxDQUFFQyxPQUFPLENBQUM7WUFDekJmLFVBQVUsQ0FBQyxLQUFLLENBQUM7VUFBQztVQUFBO1lBQUEsT0FBQWEsUUFBQSxDQUFBekYsSUFBQTtRQUFBO01BQUEsR0FBQXVGLE9BQUE7SUFBQSxDQUVyQjtJQUFBLE9BQUFELE9BQUEsQ0FBQW5ELEtBQUEsT0FBQUQsU0FBQTtFQUFBO0VBQ0QsT0FBT2lELG1CQUFtQixnQkFFdEJ2QyxJQUFBLENBQUNKO0VBQ0M7QUFDUjtBQUNBO0FBQ0EsS0FIUTtJQUlBb0QsYUFBYSxFQUFFQztJQUNmO0FBQ1I7QUFDQTtBQUNBLE9BSFE7SUFJQUMsNEJBQTRCLEVBQUUsU0FBQUEsNkJBQUNDLEtBQVUsRUFBRUMsS0FBVTtNQUFBLE9BQ25EWixNQUFNLENBQUNXLEtBQUssQ0FBQ0EsS0FBSyxDQUFDO0lBQUE7SUFFckI7QUFDUjtBQUNBO0FBQ0EsT0FIUTtJQUlBRSxVQUFVLEVBQUVkLG1CQUFvQjtJQUFBRCxRQUFBLGVBRWhDdEMsSUFBQSxDQUFDTCxVQUFVO01BQUEyQyxRQUFBLGVBQ1R0QyxJQUFBLENBQUNxQyxVQUFVLElBQUU7SUFBQyxDQUNKO0VBQUMsQ0FDRixDQUFDLGdCQUdoQnJDLElBQUEsQ0FBQUksU0FBQSxJQUFJLENBQUM7QUFDVDtBQUVBLGVBQWVvQixVQUFVIn0=
|