@everymatrix/casino-challenge-details 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/casino-challenge-details/app-globals-0f993ce5.js +1 -0
  2. package/dist/casino-challenge-details/casino-challenge-details-5a765f2c.js +1 -0
  3. package/dist/casino-challenge-details/casino-challenge-details.esm.js +1 -0
  4. package/dist/casino-challenge-details/casino-challenge-details_4.entry.js +1 -0
  5. package/dist/casino-challenge-details/index-30adf0cb.js +2 -0
  6. package/dist/casino-challenge-details/index.esm.js +1 -0
  7. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  8. package/dist/cjs/casino-challenge-details-ddf27d4e.js +761 -0
  9. package/dist/cjs/casino-challenge-details.cjs.js +25 -0
  10. package/dist/cjs/casino-challenge-details_4.cjs.entry.js +144 -0
  11. package/dist/cjs/index-2a30d71d.js +1250 -0
  12. package/dist/cjs/index.cjs.js +10 -0
  13. package/dist/cjs/loader.cjs.js +15 -0
  14. package/dist/collection/assets/active-chevron.svg +3 -0
  15. package/dist/collection/assets/alert.svg +3 -0
  16. package/dist/collection/assets/back-arrow.svg +9 -0
  17. package/dist/collection/assets/check.svg +10 -0
  18. package/dist/collection/assets/finish.svg +7 -0
  19. package/dist/collection/assets/gift.svg +14 -0
  20. package/dist/collection/assets/inactive-chevron.svg +3 -0
  21. package/dist/collection/assets/info-circle.svg +3 -0
  22. package/dist/collection/assets/lock.svg +3 -0
  23. package/dist/collection/assets/notification.svg +20 -0
  24. package/dist/collection/assets/target.svg +9 -0
  25. package/dist/collection/assets/title-icon.svg +1 -0
  26. package/dist/collection/assets/trophy.svg +14 -0
  27. package/dist/collection/collection-manifest.json +15 -0
  28. package/dist/collection/components/casino-challenge-details/casino-challenge-details.css +592 -0
  29. package/dist/collection/components/casino-challenge-details/casino-challenge-details.js +684 -0
  30. package/dist/collection/components/casino-challenge-details/index.js +1 -0
  31. package/dist/collection/components/components/casino-challenge-expandable-paragraph.css +76 -0
  32. package/dist/collection/components/components/casino-challenge-expandable-paragraph.js +116 -0
  33. package/dist/collection/components/components/casino-challenge-level-progress-bar.css +33 -0
  34. package/dist/collection/components/components/casino-challenge-level-progress-bar.js +81 -0
  35. package/dist/collection/components/components/casino-challenge-progress-bar.css +66 -0
  36. package/dist/collection/components/components/casino-challenge-progress-bar.js +120 -0
  37. package/dist/collection/index.js +1 -0
  38. package/dist/collection/utils/locale.utils.js +166 -0
  39. package/dist/collection/utils/mock.js +238 -0
  40. package/dist/collection/utils/types.js +60 -0
  41. package/dist/collection/utils/utils.js +29 -0
  42. package/dist/esm/app-globals-0f993ce5.js +3 -0
  43. package/dist/esm/casino-challenge-details-5a765f2c.js +758 -0
  44. package/dist/esm/casino-challenge-details.js +20 -0
  45. package/dist/esm/casino-challenge-details_4.entry.js +138 -0
  46. package/dist/esm/index-30adf0cb.js +1221 -0
  47. package/dist/esm/index.js +2 -0
  48. package/dist/esm/loader.js +11 -0
  49. package/dist/index.cjs.js +1 -0
  50. package/dist/index.js +1 -0
  51. package/dist/stencil.config.dev.js +19 -0
  52. package/dist/stencil.config.js +19 -0
  53. package/dist/storybook/main.js +43 -0
  54. package/dist/storybook/preview.js +9 -0
  55. package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/casino-challenge-details/.stencil/libs/common/src/storybook/storybook-utils.d.ts +39 -0
  56. package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/casino-challenge-details/.stencil/packages/stencil/casino-challenge-details/stencil.config.d.ts +2 -0
  57. package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/casino-challenge-details/.stencil/packages/stencil/casino-challenge-details/stencil.config.dev.d.ts +2 -0
  58. package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/casino-challenge-details/.stencil/packages/stencil/casino-challenge-details/storybook/main.d.ts +3 -0
  59. package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/casino-challenge-details/.stencil/packages/stencil/casino-challenge-details/storybook/preview.d.ts +70 -0
  60. package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/casino-challenge-details/.stencil/tools/plugins/index.d.ts +4 -0
  61. package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/casino-challenge-details/.stencil/tools/plugins/lazy-load-chunk-plugin.d.ts +12 -0
  62. package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/casino-challenge-details/.stencil/tools/plugins/stencil-clean-deps-plugin.d.ts +5 -0
  63. package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/casino-challenge-details/.stencil/tools/plugins/vite-chunk-plugin.d.ts +6 -0
  64. package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/casino-challenge-details/.stencil/tools/plugins/vite-clean-deps-plugin.d.ts +4 -0
  65. package/dist/types/components/casino-challenge-details/casino-challenge-details.d.ts +105 -0
  66. package/dist/types/components/casino-challenge-details/index.d.ts +1 -0
  67. package/dist/types/components/components/casino-challenge-expandable-paragraph.d.ts +16 -0
  68. package/dist/types/components/components/casino-challenge-level-progress-bar.d.ts +6 -0
  69. package/dist/types/components/components/casino-challenge-progress-bar.d.ts +8 -0
  70. package/dist/types/components.d.ts +198 -0
  71. package/dist/types/index.d.ts +1 -0
  72. package/dist/types/stencil-public-runtime.d.ts +1674 -0
  73. package/dist/types/utils/locale.utils.d.ts +3 -0
  74. package/dist/types/utils/mock.d.ts +76 -0
  75. package/dist/types/utils/types.d.ts +127 -0
  76. package/dist/types/utils/utils.d.ts +3 -0
  77. package/loader/cdn.js +1 -0
  78. package/loader/index.cjs.js +1 -0
  79. package/loader/index.d.ts +24 -0
  80. package/loader/index.es2017.js +1 -0
  81. package/loader/index.js +2 -0
  82. package/loader/package.json +11 -0
  83. package/package.json +27 -0
@@ -0,0 +1,758 @@
1
+ import { r as registerInstance, c as createEvent, h } from './index-30adf0cb.js';
2
+
3
+ /**
4
+ * @name setClientStyling
5
+ * @description Method used to create and append to the passed element of the widget a style element with the content received
6
+ * @param {HTMLElement} stylingContainer The reference element of the widget
7
+ * @param {string} clientStyling The style content
8
+ */
9
+ function setClientStyling(stylingContainer, clientStyling) {
10
+ if (stylingContainer) {
11
+ const sheet = document.createElement('style');
12
+ sheet.innerHTML = clientStyling;
13
+ stylingContainer.appendChild(sheet);
14
+ }
15
+ }
16
+
17
+ /**
18
+ * @name setClientStylingURL
19
+ * @description Method used to create and append to the passed element of the widget a style element with the content fetched from a given URL
20
+ * @param {HTMLElement} stylingContainer The reference element of the widget
21
+ * @param {string} clientStylingUrl The URL of the style content
22
+ */
23
+ function setClientStylingURL(stylingContainer, clientStylingUrl) {
24
+ const url = new URL(clientStylingUrl);
25
+
26
+ fetch(url.href)
27
+ .then((res) => res.text())
28
+ .then((data) => {
29
+ const cssFile = document.createElement('style');
30
+ cssFile.innerHTML = data;
31
+ if (stylingContainer) {
32
+ stylingContainer.appendChild(cssFile);
33
+ }
34
+ })
35
+ .catch((err) => {
36
+ console.error('There was an error while trying to load client styling from URL', err);
37
+ });
38
+ }
39
+
40
+ /**
41
+ * @name setStreamLibrary
42
+ * @description Method used to create and append to the passed element of the widget a style element with content fetched from the MessageBus
43
+ * @param {HTMLElement} stylingContainer The highest element of the widget
44
+ * @param {string} domain The domain from where the content should be fetched (e.g. 'Casino.Style', 'App.Style', 'casino-footer.style', etc.)
45
+ * @param {ref} subscription A reference to a variable where the subscription should be saved for unsubscribing when no longer needed
46
+ */
47
+ function setStreamStyling(stylingContainer, domain, subscription) {
48
+ if (window.emMessageBus) {
49
+ const sheet = document.createElement('style');
50
+
51
+ window.emMessageBus.subscribe(domain, (data) => {
52
+ sheet.innerHTML = data;
53
+ if (stylingContainer) {
54
+ stylingContainer.appendChild(sheet);
55
+ }
56
+ });
57
+ }
58
+ }
59
+
60
+ const DEFAULT_LANGUAGE = 'en';
61
+ const SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'ar', 'hr'];
62
+ const TRANSLATIONS = {
63
+ en: {
64
+ title: 'Challenges',
65
+ totalLevels: 'Total levels:',
66
+ endsIn: 'Ends In',
67
+ expired: 'Expired',
68
+ placeBetsOf: 'Place bets of',
69
+ place: 'Place',
70
+ bet: 'bet',
71
+ bets: 'bets',
72
+ minBet: 'min bet',
73
+ forfeited: 'Forfeited',
74
+ finished: 'Finished',
75
+ suspended: 'Suspended',
76
+ completed: 'Completed',
77
+ start: 'Start',
78
+ resume: 'Resume',
79
+ pause: 'Pause',
80
+ join: 'Join to Start',
81
+ congrats: 'Congratulations!',
82
+ forfeitNotification: 'Unfortunately, your progress has been forfeited, and you are no longer eligible to continue this challenge. Check out other available challenges!',
83
+ completedNofitication: "You've successfully completed this challenge! Explore the next one and keep playing to earn more rewards!",
84
+ expiredNotification: "Unfortunately, this challenge has expired and is no longer available to complete. Try another one that’s still active!",
85
+ terms: "Terms & Conditions",
86
+ contribution: 'contribution',
87
+ endDate: 'End Date',
88
+ back: 'Back',
89
+ all: 'All Challenges'
90
+ },
91
+ ro: {
92
+ title: 'Provocări',
93
+ totalLevels: 'Niveluri totale:',
94
+ endsIn: 'Se termină în',
95
+ expired: 'Expirat',
96
+ placeBetsOf: 'Plasează pariuri de',
97
+ place: 'Plasare',
98
+ bet: 'pariu',
99
+ bets: 'pariuri',
100
+ minBet: 'pariu minim',
101
+ forfeited: 'Pierdut',
102
+ finished: 'Terminat',
103
+ suspended: 'Suspendat',
104
+ start: 'Start',
105
+ resume: 'Reia',
106
+ pause: 'Pauză',
107
+ join: 'Alătură-te pentru a începe',
108
+ congrats: "Felicitări!",
109
+ forfeitNotification: "Din păcate, progresul tău a fost abandonat și nu mai poți continua această provocare. Consultă celelalte provocări disponibile!",
110
+ completedNofitication: "Ai finalizat cu succes această provocare! Explorează următoarea și continuă să joci pentru a câștiga mai multe recompense!",
111
+ expiredNotification: "Din păcate, această provocare a expirat și nu mai este disponibilă pentru finalizare. Încearcă una care este încă activă!",
112
+ terms: "Termeni și condiții",
113
+ contribution: "contribuție",
114
+ endDate: "Data de încheiere",
115
+ back: "Înapoi",
116
+ all: "Toate Provocările"
117
+ },
118
+ fr: {
119
+ title: 'Défis',
120
+ totalLevels: 'Niveaux totaux :',
121
+ endsIn: 'Se termine dans',
122
+ expired: 'Expiré',
123
+ placeBetsOf: 'Placez des paris de',
124
+ place: 'Placer',
125
+ bet: 'pari',
126
+ bets: 'paris',
127
+ minBet: 'mise minimale',
128
+ forfeited: 'Forfait',
129
+ finished: 'Terminé',
130
+ suspended: 'Suspendu',
131
+ start: 'Démarrer',
132
+ resume: 'Reprendre',
133
+ pause: 'Pause',
134
+ join: 'Rejoindre pour commencer',
135
+ congrats: "Félicitations !",
136
+ forfeitNotification: "Malheureusement, votre progression a été abandonnée et vous n'êtes plus éligible pour continuer ce défi. Découvrez les autres défis disponibles !",
137
+ completedNofitication: "Vous avez réussi ce défi ! Découvrez le suivant et continuez à jouer pour gagner plus de récompenses !",
138
+ expiredNotification: "Malheureusement, ce défi a expiré et n’est plus disponible à compléter. Essayez-en un autre qui est encore actif !",
139
+ terms: "Termes et conditions",
140
+ contribution: "contribution",
141
+ endDate: "Date de fin",
142
+ back: "Retour",
143
+ all: "Tous les Défis"
144
+ },
145
+ ar: {
146
+ title: 'تحديات',
147
+ totalLevels: 'إجمالي المستويات:',
148
+ endsIn: 'ينتهي في',
149
+ expired: 'منتهي الصلاحية',
150
+ placeBetsOf: 'قم بوضع رهانات بقيمة',
151
+ place: 'ضع',
152
+ bet: 'رهان',
153
+ bets: 'رهانات',
154
+ minBet: 'الحد الأدنى للرهان',
155
+ forfeited: 'خاسر',
156
+ finished: 'منتهي',
157
+ suspended: 'معلق',
158
+ start: 'ابدأ',
159
+ resume: 'استئناف',
160
+ pause: 'إيقاف مؤقت',
161
+ join: 'انضم للبدء',
162
+ congrats: "تهانينا!",
163
+ forfeitNotification: "للأسف، تم التخلي عن تقدمك ولم تعد مؤهلاً لمتابعة هذا التحدي. تحقق من التحديات الأخرى المتاحة!",
164
+ completedNofitication: "لقد أكملت هذا التحدي بنجاح! استكشف التحدي التالي واستمر في اللعب للحصول على مزيد من الجوائز!",
165
+ expiredNotification: "للأسف، هذا التحدي انتهت صلاحيته ولم يعد متاحًا لإكماله. جرّب تحديًا آخر لا يزال نشطًا!",
166
+ terms: "الشروط والأحكام",
167
+ contribution: "مساهمة",
168
+ endDate: "تاريخ الانتهاء",
169
+ back: "عودة",
170
+ all: "جميع التحديات"
171
+ },
172
+ hr: {
173
+ title: 'Izazovi',
174
+ totalLevels: 'Ukupno razina:',
175
+ endsIn: 'Završava za',
176
+ expired: 'Isteklo',
177
+ placeBetsOf: 'Postavite oklade od',
178
+ place: 'Postavi',
179
+ bet: 'kladnja',
180
+ bets: 'kladnje',
181
+ minBet: 'minimalna oklada',
182
+ forfeited: 'Oduzeto',
183
+ finished: 'Završeno',
184
+ suspended: 'Suspendirano',
185
+ start: 'Počni',
186
+ resume: 'Nastavi',
187
+ pause: 'Pauza',
188
+ join: 'Pridruži se za početak',
189
+ congrats: "Čestitamo!",
190
+ forfeitNotification: "Nažalost, tvoj napredak je izgubljen i više nisi podoban nastaviti ovaj izazov. Pogledaj ostale dostupne izazove!",
191
+ completedNofitication: "Uspješno si završio ovaj izazov! Istraži sljedeći i nastavi igrati kako bi zaradio/la više nagrada!",
192
+ expiredNotification: "Nažalost, ovaj izazov je istekao i više nije dostupan za dovršavanje. Probaj neki drugi koji je još aktivan!",
193
+ terms: "Uvjeti i odredbe",
194
+ contribution: "doprinos",
195
+ endDate: "Datum završetka",
196
+ back: "Nazad",
197
+ all: "Svi Izazovi"
198
+ }
199
+ };
200
+ const translate = (key, customLang) => {
201
+ const lang = customLang;
202
+ return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
203
+ };
204
+ const getTranslations = (data) => {
205
+ Object.keys(data).forEach((item) => {
206
+ for (let key in data[item]) {
207
+ TRANSLATIONS[item][key] = data[item][key];
208
+ }
209
+ });
210
+ };
211
+ const resolveTranslationUrl = async (translationUrl) => {
212
+ if (translationUrl) {
213
+ try {
214
+ const response = await fetch(translationUrl);
215
+ if (!response.ok) {
216
+ throw new Error(`HTTP error! status: ${response.status}`);
217
+ }
218
+ const translations = await response.json();
219
+ getTranslations(translations);
220
+ }
221
+ catch (error) {
222
+ console.error('Failed to fetch or parse translations from URL:', error);
223
+ }
224
+ }
225
+ };
226
+
227
+ function getTimeLeft(endTime) {
228
+ const now = new Date();
229
+ const end = new Date(endTime);
230
+ let diff = end.getTime() - now.getTime();
231
+ if (diff <= 0) {
232
+ return;
233
+ }
234
+ const days = Math.floor(diff / (1000 * 60 * 60 * 24));
235
+ diff -= days * (1000 * 60 * 60 * 24);
236
+ const hours = Math.floor(diff / (1000 * 60 * 60));
237
+ diff -= hours * (1000 * 60 * 60);
238
+ const minutes = Math.floor(diff / (1000 * 60));
239
+ diff -= minutes * (1000 * 60);
240
+ const seconds = Math.floor(diff / 1000);
241
+ const pad = (n) => n.toString().padStart(2, '0');
242
+ return `${pad(days)} : ${pad(hours)} : ${pad(minutes)} : ${pad(seconds)}`;
243
+ }
244
+ function formatDate(dateToFormat) {
245
+ const formatter = new Intl.DateTimeFormat('en-CA', {
246
+ year: 'numeric',
247
+ month: '2-digit',
248
+ day: '2-digit'
249
+ });
250
+ const date = new Date(dateToFormat);
251
+ return formatter.format(date).replace(/-/g, '/');
252
+ }
253
+
254
+ const giftSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzExODRfMTY4MSkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQuMjMyMTUgMS41QzQuMTA3MjEgMS41IDMuOTg1NTMgMS41NTA0NSAzLjg5NDM5IDEuNjQzMjVDMy44MDI5NSAxLjczNjM1IDMuNzUgMS44NjQ1MSAzLjc1IDJDMy43NSAyLjEzNTQ5IDMuODAyOTUgMi4yNjM2NSAzLjg5NDM5IDIuMzU2NzVDMy45ODU1MyAyLjQ0OTU1IDQuMTA3MjEgMi41IDQuMjMyMTUgMi41SDUuMzE3MTNDNS4yODA5MyAyLjQxNDMzIDUuMjM5MjggMi4zMjU1OCA1LjE5MTc4IDIuMjM3NjRDNC45NDg4NCAxLjc4NzkgNC42MzY5OSAxLjUgNC4yMzIxNSAxLjVaTTUuNSAzLjVWNUwxLjggNUMxLjY1MTc0IDUgMS41NzA2MSA0Ljk5OTYxIDEuNTEyMzIgNC45OTQ4NUMxLjUxIDQuOTk0NjYgMS41MDc4IDQuOTk0NDcgMS41MDU3MyA0Ljk5NDI4QzEuNTA1NTQgNC45OTIyIDEuNTA1MzQgNC45OSAxLjUwNTE1IDQuOTg3NjhDMS41MDAzOSA0LjkyOTM5IDEuNSA0Ljg0ODI2IDEuNSA0LjdWMy44QzEuNSAzLjY1MTc0IDEuNTAwMzkgMy41NzA2MSAxLjUwNTE1IDMuNTEyMzJDMS41MDUzNCAzLjUxIDEuNTA1NTQgMy41MDc4IDEuNTA1NzMgMy41MDU3MkMxLjUwNzggMy41MDU1MyAxLjUxIDMuNTA1MzQgMS41MTIzMiAzLjUwNTE1QzEuNTcwNjEgMy41MDAzOSAxLjY1MTc0IDMuNSAxLjggMy41SDUuNVpNMi44MzQ3NiAyLjVDMi43NzkxMSAyLjM0MDY3IDIuNzUgMi4xNzE2OSAyLjc1IDJDMi43NSAxLjYwNTA1IDIuOTA0MDEgMS4yMjQ1MSAzLjE4MDk0IDAuOTQyNTM5QzMuNDU4MTcgMC42NjAyNjUgMy44MzYxMiAwLjUgNC4yMzIxNSAwLjVDNS4xMjk1IDAuNSA1LjY4NjI3IDEuMTA5MjMgNiAxLjYzNjEyQzYuMzEzNzQgMS4xMDkyMyA2Ljg3MDUxIDAuNSA3Ljc2Nzg2IDAuNUM4LjE2Mzg5IDAuNSA4LjU0MTgzIDAuNjYwMjY1IDguODE5MDYgMC45NDI1MzlDOS4wOTYgMS4yMjQ1MSA5LjI1IDEuNjA1MDUgOS4yNSAyQzkuMjUgMi4xNzE2OSA5LjIyMDkgMi4zNDA2NyA5LjE2NTI0IDIuNUwxMC4yMTYgMi41QzEwLjM0MjEgMi40OTk5OCAxMC40NjUgMi40OTk5NyAxMC41NjkxIDIuNTA4NDdDMTAuNjgzNCAyLjUxNzgxIDEwLjgxODMgMi41Mzk4NCAxMC45NTQgMi42MDg5OUMxMS4xNDIyIDIuNzA0ODcgMTEuMjk1MSAyLjg1Nzg1IDExLjM5MSAzLjA0NjAxQzExLjQ2MDIgMy4xODE3MiAxMS40ODIyIDMuMzE2NTkgMTEuNDkxNSAzLjQzMDg5QzExLjUgMy41MzQ5NiAxMS41IDMuNjU3ODUgMTEuNSAzLjc4NDA0VjQuNzE1OTZDMTEuNSA0Ljg0MjE1IDExLjUgNC45NjUwNCAxMS40OTE1IDUuMDY5MTJDMTEuNDgyMiA1LjE4MzQxIDExLjQ2MDIgNS4zMTgyOCAxMS4zOTEgNS40NTM5OUMxMS4yOTUxIDUuNjQyMTUgMTEuMTQyMiA1Ljc5NTEzIDEwLjk1NCA1Ljg5MTAxQzEwLjgxODMgNS45NjAxNiAxMC42ODM0IDUuOTgyMTkgMTAuNTY5MSA1Ljk5MTUzQzEwLjU0NjkgNS45OTMzNCAxMC41MjM4IDUuOTk0NzcgMTAuNSA1Ljk5NTg5VjkuNDE5MjhDMTAuNSA5LjY4Mjg1IDEwLjUgOS45MTAyMyAxMC40ODQ3IDEwLjA5NzVDMTAuNDY4NiAxMC4yOTUyIDEwLjQzMjkgMTAuNDkxOCAxMC4zMzY1IDEwLjY4MUMxMC4xOTI3IDEwLjk2MzIgOS45NjMyMyAxMS4xOTI3IDkuNjgwOTkgMTEuMzM2NUM5LjQ5MTggMTEuNDMyOSA5LjI5NTE5IDExLjQ2ODYgOS4wOTc1MiAxMS40ODQ3QzguOTEwMjMgMTEuNSA4LjY4Mjg2IDExLjUgOC40MTkyOSAxMS41SDYuMDAwN0M2LjAwMDQ3IDExLjUgNi4wMDAyNCAxMS41IDYgMTEuNUM1Ljk5OTc3IDExLjUgNS45OTk1NCAxMS41IDUuOTk5MyAxMS41SDMuNTgwNzJDMy4zMTcxNSAxMS41IDMuMDg5NzcgMTEuNSAyLjkwMjQ5IDExLjQ4NDdDMi43MDQ4MiAxMS40Njg2IDIuNTA4MjEgMTEuNDMyOSAyLjMxOTAyIDExLjMzNjVDMi4wMzY3NyAxMS4xOTI3IDEuODA3MyAxMC45NjMyIDEuNjYzNDkgMTAuNjgxQzEuNTY3MSAxMC40OTE4IDEuNTMxNDQgMTAuMjk1MiAxLjUxNTI5IDEwLjA5NzVDMS40OTk5OSA5LjkxMDIzIDEuNDk5OTkgOS42ODI4NSAxLjUgOS40MTkyN0wxLjUgNS45OTU4OUMxLjQ3NjIxIDUuOTk0NzcgMS40NTMxMiA1Ljk5MzM0IDEuNDMwODkgNS45OTE1M0MxLjMxNjU5IDUuOTgyMTkgMS4xODE3MiA1Ljk2MDE1IDEuMDQ2MDEgNS44OTEwMUMwLjg1Nzg1IDUuNzk1MTMgMC43MDQ4NyA1LjY0MjE1IDAuNjA4OTk2IDUuNDUzOTlDMC41Mzk4NDcgNS4zMTgyOCAwLjUxNzgxNCA1LjE4MzQxIDAuNTA4NDc1IDUuMDY5MTFDMC40OTk5NzIgNC45NjUwNCAwLjQ5OTk4NiA0Ljg0MjE0IDAuNTAwMDAxIDQuNzE1OTVMMC41MDAwMDMgMy44QzAuNTAwMDAzIDMuNzk0NjggMC41MDAwMDIgMy43ODkzNiAwLjUwMDAwMSAzLjc4NDA1QzAuNDk5OTg2IDMuNjU3ODYgMC40OTk5NzIgMy41MzQ5NiAwLjUwODQ3NSAzLjQzMDg5QzAuNTE3ODE0IDMuMzE2NTkgMC41Mzk4NDcgMy4xODE3MiAwLjYwODk5NiAzLjA0NjAxQzAuNzA0ODcgMi44NTc4NSAwLjg1Nzg1IDIuNzA0ODcgMS4wNDYwMSAyLjYwODk5QzEuMTgxNzIgMi41Mzk4NCAxLjMxNjU5IDIuNTE3ODEgMS40MzA4OSAyLjUwODQ3QzEuNTM0OTcgMi40OTk5NyAxLjY1Nzg2IDIuNDk5OTggMS43ODQwNSAyLjVDMS43ODkzNiAyLjUgMS43OTQ2OCAyLjUgMS44IDIuNUgyLjgzNDc2Wk0yLjUgNlY5LjRDMi41IDkuNjg4MjggMi41MDAzOSA5Ljg3NDQxIDIuNTExOTcgMTAuMDE2MUMyLjUyMzA2IDEwLjE1MTkgMi41NDE5IDEwLjIwMjMgMi41NTQ1IDEwLjIyN0MyLjYwMjQ0IDEwLjMyMTEgMi42Nzg5MyAxMC4zOTc2IDIuNzczMDEgMTAuNDQ1NUMyLjc5NzczIDEwLjQ1ODEgMi44NDgwOSAxMC40NzY5IDIuOTgzOTIgMTAuNDg4QzMuMTI1NTkgMTAuNDk5NiAzLjMxMTczIDEwLjUgMy42IDEwLjVINS41VjZIMi41Wk02LjUgNlYxMC41SDguNEM4LjY4ODI4IDEwLjUgOC44NzQ0MiAxMC40OTk2IDkuMDE2MDggMTAuNDg4QzkuMTUxOTIgMTAuNDc2OSA5LjIwMjI4IDEwLjQ1ODEgOS4yMjcgMTAuNDQ1NUM5LjMyMTA4IDEwLjM5NzYgOS4zOTc1NyAxMC4zMjExIDkuNDQ1NTEgMTAuMjI3QzkuNDU4MSAxMC4yMDIzIDkuNDc2OTQgMTAuMTUxOSA5LjQ4ODA0IDEwLjAxNjFDOS40OTk2MSA5Ljg3NDQxIDkuNSA5LjY4ODI4IDkuNSA5LjRWNkg2LjVaTTEwLjIgNUMxMC4zNDgzIDUgMTAuNDI5NCA0Ljk5OTYxIDEwLjQ4NzcgNC45OTQ4NUMxMC40OSA0Ljk5NDY2IDEwLjQ5MjIgNC45OTQ0NiAxMC40OTQzIDQuOTk0MjdDMTAuNDk0NSA0Ljk5MjIgMTAuNDk0NyA0Ljk5IDEwLjQ5NDkgNC45ODc2OEMxMC40OTk2IDQuOTI5MzkgMTAuNSA0Ljg0ODI2IDEwLjUgNC43VjMuOEMxMC41IDMuNjUxNzQgMTAuNDk5NiAzLjU3MDYxIDEwLjQ5NDkgMy41MTIzMkMxMC40OTQ3IDMuNTEgMTAuNDk0NSAzLjUwNzggMTAuNDk0MyAzLjUwNTcyQzEwLjQ5MjIgMy41MDU1MyAxMC40OSAzLjUwNTM0IDEwLjQ4NzcgMy41MDUxNUMxMC40Mjk0IDMuNTAwMzkgMTAuMzQ4MyAzLjUgMTAuMiAzLjVINi41VjVIMTAuMlpNNy43Njc4NiAyLjVDNy44OTI4IDIuNSA4LjAxNDQ3IDIuNDQ5NTUgOC4xMDU2MiAyLjM1Njc1QzguMTk3MDYgMi4yNjM2NSA4LjI1IDIuMTM1NDkgOC4yNSAyQzguMjUgMS44NjQ1MSA4LjE5NzA2IDEuNzM2MzUgOC4xMDU2MiAxLjY0MzI1QzguMDE0NDcgMS41NTA0NSA3Ljg5Mjc5IDEuNSA3Ljc2Nzg2IDEuNUM3LjM2MzAyIDEuNSA3LjA1MTE2IDEuNzg3OSA2LjgwODIzIDIuMjM3NjRDNi43NjA3MiAyLjMyNTU4IDYuNzE5MDcgMi40MTQzMyA2LjY4Mjg4IDIuNUg3Ljc2Nzg2WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyXzExODRfMTY4MSkiLz4KPC9nPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzExODRfMTY4MSIgeDE9IjYiIHkxPSIwLjUiIHgyPSI2IiB5Mj0iMTEuNSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjRUE5MDE4Ii8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0UwQTg0RSIvPgo8L2xpbmVhckdyYWRpZW50Pgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzExODRfMTY4MSI+CjxyZWN0IHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K';
255
+
256
+ const targetSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05LjU4MDA3IDAuNTA2NDYyQzkuNzM4NzIgMC41MzIyMDcgOS44NzUzMiAwLjYzMjY0NSA5Ljk0NzE5IDAuNzc2Mzk5TDEwLjM3MjcgMS42MjczM0wxMS4yMjM2IDIuMDUyNzlDMTEuMzY3MyAyLjEyNDY3IDExLjQ2NzggMi4yNjEyNyAxMS40OTM1IDIuNDE5OTFDMTEuNTE5MyAyLjU3ODU2IDExLjQ2NzIgMi43Mzk5MSAxMS4zNTM1IDIuODUzNTZMOS44NTM1MyA0LjM1MzU2QzkuNzU5NzYgNC40NDczMyA5LjYzMjU5IDQuNTAwMDEgOS40OTk5OCA0LjUwMDAxSDguMjA3MDhMNi4zNTM1NCA2LjM1MzUzQzYuMTU4MjcgNi41NDg4IDUuODQxNjkgNi41NDg3OSA1LjY0NjQzIDYuMzUzNTNDNS40NTExNyA2LjE1ODI3IDUuNDUxMTcgNS44NDE2OSA1LjY0NjQzIDUuNjQ2NDJMNy40OTk5OCAzLjc5MjlWMi41MDAwMUM3LjQ5OTk4IDIuMzY3NCA3LjU1MjY2IDIuMjQwMjIgNy42NDY0MyAyLjE0NjQ1TDkuMTQ2NDMgMC42NDY0NTNDOS4yNjAwNyAwLjUzMjgwNSA5LjQyMTQyIDAuNDgwNzE4IDkuNTgwMDcgMC41MDY0NjJaTTguNDk5OTggMy41MDAwMUg5LjI5Mjg3TDEwLjE1NTkgMi42MzY5OEw5Ljc3NjM3IDIuNDQ3MjJDOS42Nzk2MSAyLjM5ODg0IDkuNjAxMTUgMi4zMjAzOCA5LjU1Mjc3IDIuMjIzNjFMOS4zNjMgMS44NDQwOUw4LjQ5OTk4IDIuNzA3MTFWMy41MDAwMVpNNiAxLjUwMDAxQzMuNTE0NzIgMS41MDAwMSAxLjUgMy41MTQ3MiAxLjUgNi4wMDAwMUMxLjUgOC40ODUyOSAzLjUxNDcyIDEwLjUgNiAxMC41QzguNDg1MjggMTAuNSAxMC41IDguNDg1MjkgMTAuNSA2LjAwMDAxQzEwLjUgNS43MjM4NiAxMC43MjM5IDUuNTAwMDEgMTEgNS41MDAwMUMxMS4yNzYxIDUuNTAwMDEgMTEuNSA1LjcyMzg2IDExLjUgNi4wMDAwMUMxMS41IDkuMDM3NTcgOS4wMzc1NyAxMS41IDYgMTEuNUMyLjk2MjQzIDExLjUgMC41IDkuMDM3NTcgMC41IDYuMDAwMDFDMC41IDIuOTYyNDQgMi45NjI0MyAwLjUwMDAwNiA2IDAuNTAwMDA2QzYuMjc2MTQgMC41MDAwMDYgNi41IDAuNzIzODY0IDYuNSAxLjAwMDAxQzYuNSAxLjI3NjE1IDYuMjc2MTQgMS41MDAwMSA2IDEuNTAwMDFaTTYgNC4wMDAwMUM0Ljg5NTQzIDQuMDAwMDEgNCA0Ljg5NTQ0IDQgNi4wMDAwMUM0IDcuMTA0NTggNC44OTU0MyA4LjAwMDAxIDYgOC4wMDAwMUM3LjEwNDU3IDguMDAwMDEgOCA3LjEwNDU4IDggNi4wMDAwMUM4IDUuNzIzODYgOC4yMjM4NiA1LjUwMDAxIDguNSA1LjUwMDAxQzguNzc2MTQgNS41MDAwMSA5IDUuNzIzODYgOSA2LjAwMDAxQzkgNy42NTY4NiA3LjY1Njg1IDkuMDAwMDEgNiA5LjAwMDAxQzQuMzQzMTUgOS4wMDAwMSAzIDcuNjU2ODYgMyA2LjAwMDAxQzMgNC4zNDMxNSA0LjM0MzE1IDMuMDAwMDEgNiAzLjAwMDAxQzYuMjc2MTQgMy4wMDAwMSA2LjUgMy4yMjM4NiA2LjUgMy41MDAwMUM2LjUgMy43NzYxNSA2LjI3NjE0IDQuMDAwMDEgNiA0LjAwMDAxWiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyXzExODRfMTY4NikiLz4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl8xMTg0XzE2ODYiIHgxPSI2IiB5MT0iMC41IiB4Mj0iNiIgeTI9IjExLjUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzI0QjI0RSIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMxOENFNTEiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K';
257
+
258
+ const backArrowSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMCIgdmlld0JveD0iMCAwIDYgMTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNS41MzAzMyAwLjQ2OTY3QzUuODIzMjIgMC43NjI1NjMgNS44MjMyMiAxLjIzNzQ0IDUuNTMwMzMgMS41MzAzM0wyLjA2MDY2IDVMNS41MzAzMyA4LjQ2OTY3QzUuODIzMjIgOC43NjI1NiA1LjgyMzIyIDkuMjM3NDQgNS41MzAzMyA5LjUzMDMzQzUuMjM3NDQgOS44MjMyMiA0Ljc2MjU2IDkuODIzMjIgNC40Njk2NyA5LjUzMDMzTDAuNDY5NjcgNS41MzAzM0MwLjE3Njc3NyA1LjIzNzQ0IDAuMTc2Nzc3IDQuNzYyNTYgMC40Njk2NyA0LjQ2OTY3TDQuNDY5NjcgMC40Njk2N0M0Ljc2MjU2IDAuMTc2Nzc3IDUuMjM3NDQgMC4xNzY3NzcgNS41MzAzMyAwLjQ2OTY3WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyXzEyNTBfMzU1KSIvPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzEyNTBfMzU1IiB4MT0iMyIgeTE9IjAuMjUiIHgyPSIzIiB5Mj0iOS43NSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjMjRCMjRFIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzE4Q0U1MSIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+Cjwvc3ZnPgo=';
259
+
260
+ const lockSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjUwMDQ5IDQuNUMyLjUwMDQ5IDIuMDE0NzIgNC41MTUyMSAwIDcuMDAwNDkgMEM5LjQ4NTc3IDAgMTEuNTAwNSAyLjAxNDcyIDExLjUwMDUgNC41VjUuMzYyNzRDMTEuNzEyNCA1LjQwOTE5IDExLjkxNTkgNS40NzY4MiAxMi4xMTI1IDUuNTc2OThDMTIuNjc2OSA1Ljg2NDYgMTMuMTM1OSA2LjMyMzU0IDEzLjQyMzUgNi44ODgwM0MxMy42MDkgNy4yNTIwMyAxMy42ODI5IDcuNjM5NTYgMTMuNzE3MyA4LjA2MTEzQzEzLjc1MDUgOC40NjcwMiAxMy43NTA1IDguOTY1MjkgMTMuNzUwNSA5LjU2OTAxVjEwLjY4MUMxMy43NTA1IDExLjI4NDcgMTMuNzUwNSAxMS43ODMgMTMuNzE3MyAxMi4xODg5QzEzLjY4MjkgMTIuNjEwNCAxMy42MDkgMTIuOTk4IDEzLjQyMzUgMTMuMzYyQzEzLjEzNTkgMTMuOTI2NSAxMi42NzY5IDE0LjM4NTQgMTIuMTEyNSAxNC42NzNDMTEuNzQ4NSAxNC44NTg1IDExLjM2MDkgMTQuOTMyNCAxMC45Mzk0IDE0Ljk2NjlDMTAuNTMzNSAxNSAxMC4wMzUyIDE1IDkuNDMxNDggMTVINC41Njk1QzMuOTY1NzggMTUgMy40Njc1MSAxNSAzLjA2MTYyIDE0Ljk2NjlDMi42NDAwNSAxNC45MzI0IDIuMjUyNTIgMTQuODU4NSAxLjg4ODUyIDE0LjY3M0MxLjMyNDAzIDE0LjM4NTQgMC44NjUwODkgMTMuOTI2NSAwLjU3NzQ2OSAxMy4zNjJDMC4zOTIwMDEgMTIuOTk4IDAuMzE4MDc4IDEyLjYxMDQgMC4yODM2MzQgMTIuMTg4OUMwLjI1MDQ3MSAxMS43ODMgMC4yNTA0NzkgMTEuMjg0NyAwLjI1MDQ4OSAxMC42ODFWOS41NjkwM0MwLjI1MDQ3OSA4Ljk2NTMgMC4yNTA0NzEgOC40NjcwMyAwLjI4MzYzNCA4LjA2MTEzQzAuMzE4MDc4IDcuNjM5NTYgMC4zOTIwMDEgNy4yNTIwMyAwLjU3NzQ2OSA2Ljg4ODAzQzAuODY1MDkgNi4zMjM1NCAxLjMyNDAzIDUuODY0NiAxLjg4ODUyIDUuNTc2OThDMi4wODUwOSA1LjQ3NjgyIDIuMjg4NTMgNS40MDkxOSAyLjUwMDQ5IDUuMzYyNzRWNC41Wk00LjAwMDQ5IDUuMjUxMjJDNC4xNzg3NyA1LjI0OTk5IDQuMzY4MjkgNS4yNSA0LjU2OTUxIDUuMjVIOS40MzE0NkM5LjYzMjY5IDUuMjUgOS44MjIyMSA1LjI0OTk5IDEwLjAwMDUgNS4yNTEyMlY0LjVDMTAuMDAwNSAyLjg0MzE1IDguNjU3MzQgMS41IDcuMDAwNDkgMS41QzUuMzQzNjMgMS41IDQuMDAwNDkgMi44NDMxNSA0LjAwMDQ5IDQuNVY1LjI1MTIyWk0zLjE4Mzc3IDYuNzc4MTZDMi44NTQ5NiA2LjgwNTAzIDIuNjg2OCA2Ljg1MzcyIDIuNTY5NSA2LjkxMzQ5QzIuMjg3MjYgNy4wNTczIDIuMDU3NzkgNy4yODY3NyAxLjkxMzk4IDcuNTY5MDFDMS44NTQyMSA3LjY4NjMxIDEuODA1NTIgNy44NTQ0NyAxLjc3ODY1IDguMTgzMjhDMS43NTEwNyA4LjUyMDg1IDEuNzUwNDkgOC45NTc1NyAxLjc1MDQ5IDkuNlYxMC42NUMxLjc1MDQ5IDExLjI5MjQgMS43NTEwNyAxMS43MjkyIDEuNzc4NjUgMTIuMDY2N0MxLjgwNTUyIDEyLjM5NTUgMS44NTQyMSAxMi41NjM3IDEuOTEzOTggMTIuNjgxQzIuMDU3NzkgMTIuOTYzMiAyLjI4NzI2IDEzLjE5MjcgMi41Njk1IDEzLjMzNjVDMi42ODY4IDEzLjM5NjMgMi44NTQ5NiAxMy40NDUgMy4xODM3NyAxMy40NzE4QzMuNTIxMzMgMTMuNDk5NCAzLjk1ODA1IDEzLjUgNC42MDA0OSAxMy41SDkuNDAwNDlDMTAuMDQyOSAxMy41IDEwLjQ3OTYgMTMuNDk5NCAxMC44MTcyIDEzLjQ3MThDMTEuMTQ2IDEzLjQ0NSAxMS4zMTQyIDEzLjM5NjMgMTEuNDMxNSAxMy4zMzY1QzExLjcxMzcgMTMuMTkyNyAxMS45NDMyIDEyLjk2MzIgMTIuMDg3IDEyLjY4MUMxMi4xNDY4IDEyLjU2MzcgMTIuMTk1NSAxMi4zOTU1IDEyLjIyMjMgMTIuMDY2N0MxMi4yNDk5IDExLjcyOTIgMTIuMjUwNSAxMS4yOTI0IDEyLjI1MDUgMTAuNjVWOS42QzEyLjI1MDUgOC45NTc1NyAxMi4yNDk5IDguNTIwODUgMTIuMjIyMyA4LjE4MzI4QzEyLjE5NTUgNy44NTQ0NyAxMi4xNDY4IDcuNjg2MzEgMTIuMDg3IDcuNTY5MDFDMTEuOTQzMiA3LjI4Njc3IDExLjcxMzcgNy4wNTczIDExLjQzMTUgNi45MTM0OUMxMS4zMTQyIDYuODUzNzIgMTEuMTQ2IDYuODA1MDMgMTAuODE3MiA2Ljc3ODE2QzEwLjQ3OTYgNi43NTA1OCAxMC4wNDI5IDYuNzUgOS40MDA0OSA2Ljc1SDQuNjAwNDlDMy45NTgwNSA2Ljc1IDMuNTIxMzMgNi43NTA1OCAzLjE4Mzc3IDYuNzc4MTZaTTcuMDAwNDkgOC42MjVDNy40MTQ3IDguNjI1IDcuNzUwNDkgOC45NjA3OSA3Ljc1MDQ5IDkuMzc1VjEwLjg3NUM3Ljc1MDQ5IDExLjI4OTIgNy40MTQ3IDExLjYyNSA3LjAwMDQ5IDExLjYyNUM2LjU4NjI4IDExLjYyNSA2LjI1MDQ5IDExLjI4OTIgNi4yNTA0OSAxMC44NzVWOS4zNzVDNi4yNTA0OSA4Ljk2MDc5IDYuNTg2MjggOC42MjUgNy4wMDA0OSA4LjYyNVoiIGZpbGw9IiM3Mjc2NzIiLz4KPC9zdmc+Cg==';
261
+
262
+ const alertSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAyMCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05Ljk5OTkyIDEuOTk5NjdDNS44NTc3OCAxLjk5OTY3IDIuNDk5OTIgNS4zNTc1NCAyLjQ5OTkyIDkuNDk5NjdDMi40OTk5MiAxMy42NDE4IDUuODU3NzggMTYuOTk5NyA5Ljk5OTkyIDE2Ljk5OTdDMTQuMTQyMSAxNi45OTk3IDE3LjQ5OTkgMTMuNjQxOCAxNy40OTk5IDkuNDk5NjdDMTcuNDk5OSA1LjM1NzU0IDE0LjE0MjEgMS45OTk2NyA5Ljk5OTkyIDEuOTk5NjdaTTAuODMzMjUyIDkuNDk5NjdDMC44MzMyNTIgNC40MzcwNiA0LjkzNzMxIDAuMzMzMDA4IDkuOTk5OTIgMC4zMzMwMDhDMTUuMDYyNSAwLjMzMzAwOCAxOS4xNjY2IDQuNDM3MDYgMTkuMTY2NiA5LjQ5OTY3QzE5LjE2NjYgMTQuNTYyMyAxNS4wNjI1IDE4LjY2NjMgOS45OTk5MiAxOC42NjYzQzQuOTM3MzEgMTguNjY2MyAwLjgzMzI1MiAxNC41NjIzIDAuODMzMjUyIDkuNDk5NjdaTTkuOTk5OTIgNS4zMzMwMUMxMC40NjAyIDUuMzMzMDEgMTAuODMzMyA1LjcwNjEgMTAuODMzMyA2LjE2NjM0VjkuNDk5NjdDMTAuODMzMyA5Ljk1OTkxIDEwLjQ2MDIgMTAuMzMzIDkuOTk5OTIgMTAuMzMzQzkuNTM5NjggMTAuMzMzIDkuMTY2NTkgOS45NTk5MSA5LjE2NjU5IDkuNDk5NjdWNi4xNjYzNEM5LjE2NjU5IDUuNzA2MSA5LjUzOTY4IDUuMzMzMDEgOS45OTk5MiA1LjMzMzAxWk05LjE2NjU5IDEyLjgzM0M5LjE2NjU5IDEyLjM3MjggOS41Mzk2OCAxMS45OTk3IDkuOTk5OTIgMTEuOTk5N0gxMC4wMDgzQzEwLjQ2ODUgMTEuOTk5NyAxMC44NDE2IDEyLjM3MjggMTAuODQxNiAxMi44MzNDMTAuODQxNiAxMy4yOTMyIDEwLjQ2ODUgMTMuNjY2MyAxMC4wMDgzIDEzLjY2NjNIOS45OTk5MkM5LjUzOTY4IDEzLjY2NjMgOS4xNjY1OSAxMy4yOTMyIDkuMTY2NTkgMTIuODMzWiIgZmlsbD0iI0Q2NDIxRSIvPgo8L3N2Zz4K';
263
+
264
+ const checkSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzE2MDNfNjEwNSkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTkuOTk5OTIgMi41MDA2NUM1Ljg1Nzc4IDIuNTAwNjUgMi40OTk5MiA1Ljg1ODUyIDIuNDk5OTIgMTAuMDAwN0MyLjQ5OTkyIDE0LjE0MjggNS44NTc3OCAxNy41MDA3IDkuOTk5OTIgMTcuNTAwN0MxNC4xNDIxIDE3LjUwMDcgMTcuNDk5OSAxNC4xNDI4IDE3LjQ5OTkgMTAuMDAwN0MxNy40OTk5IDUuODU4NTIgMTQuMTQyMSAyLjUwMDY1IDkuOTk5OTIgMi41MDA2NVpNMC44MzMyNTIgMTAuMDAwN0MwLjgzMzI1MiA0LjkzODA0IDQuOTM3MzEgMC44MzM5ODQgOS45OTk5MiAwLjgzMzk4NEMxNS4wNjI1IDAuODMzOTg0IDE5LjE2NjYgNC45MzgwNCAxOS4xNjY2IDEwLjAwMDdDMTkuMTY2NiAxNS4wNjMzIDE1LjA2MjUgMTkuMTY3MyA5Ljk5OTkyIDE5LjE2NzNDNC45MzczMSAxOS4xNjczIDAuODMzMjUyIDE1LjA2MzMgMC44MzMyNTIgMTAuMDAwN1pNMTQuMzM5MiA2LjkxMTRDMTQuNjY0NiA3LjIzNjgzIDE0LjY2NDYgNy43NjQ0NyAxNC4zMzkyIDguMDg5OTFMOS4zMzkxNyAxMy4wODk5QzkuMDEzNzQgMTMuNDE1MyA4LjQ4NjEgMTMuNDE1MyA4LjE2MDY2IDEzLjA4OTlMNS42NjA2NiAxMC41ODk5QzUuMzM1MjMgMTAuMjY0NSA1LjMzNTIzIDkuNzM2ODMgNS42NjA2NiA5LjQxMTRDNS45ODYxIDkuMDg1OTYgNi41MTM3NCA5LjA4NTk2IDYuODM5MTcgOS40MTE0TDguNzQ5OTIgMTEuMzIyMUwxMy4xNjA3IDYuOTExNEMxMy40ODYxIDYuNTg1OTYgMTQuMDEzNyA2LjU4NTk2IDE0LjMzOTIgNi45MTE0WiIgZmlsbD0iIzAwQjc0RiIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzE2MDNfNjEwNSI+CjxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K';
265
+
266
+ const infoCircleSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05Ljk5OTkyIDMuMDAwNjVDNS44NTc3OCAzLjAwMDY1IDIuNDk5OTIgNi4zNTg1MiAyLjQ5OTkyIDEwLjUwMDdDMi40OTk5MiAxNC42NDI4IDUuODU3NzggMTguMDAwNyA5Ljk5OTkyIDE4LjAwMDdDMTQuMTQyMSAxOC4wMDA3IDE3LjQ5OTkgMTQuNjQyOCAxNy40OTk5IDEwLjUwMDdDMTcuNDk5OSA2LjM1ODUyIDE0LjE0MjEgMy4wMDA2NSA5Ljk5OTkyIDMuMDAwNjVaTTAuODMzMjUyIDEwLjUwMDdDMC44MzMyNTIgNS40MzgwNCA0LjkzNzMxIDEuMzMzOTggOS45OTk5MiAxLjMzMzk4QzE1LjA2MjUgMS4zMzM5OCAxOS4xNjY2IDUuNDM4MDQgMTkuMTY2NiAxMC41MDA3QzE5LjE2NjYgMTUuNTYzMyAxNS4wNjI1IDE5LjY2NzMgOS45OTk5MiAxOS42NjczQzQuOTM3MzEgMTkuNjY3MyAwLjgzMzI1MiAxNS41NjMzIDAuODMzMjUyIDEwLjUwMDdaTTkuMTY2NTkgNy4xNjczMkM5LjE2NjU5IDYuNzA3MDggOS41Mzk2OCA2LjMzMzk4IDkuOTk5OTIgNi4zMzM5OEgxMC4wMDgzQzEwLjQ2ODUgNi4zMzM5OCAxMC44NDE2IDYuNzA3MDggMTAuODQxNiA3LjE2NzMyQzEwLjg0MTYgNy42Mjc1NiAxMC40Njg1IDguMDAwNjUgMTAuMDA4MyA4LjAwMDY1SDkuOTk5OTJDOS41Mzk2OCA4LjAwMDY1IDkuMTY2NTkgNy42Mjc1NiA5LjE2NjU5IDcuMTY3MzJaTTkuOTk5OTIgOS42NjczMkMxMC40NjAyIDkuNjY3MzIgMTAuODMzMyAxMC4wNDA0IDEwLjgzMzMgMTAuNTAwN1YxMy44MzRDMTAuODMzMyAxNC4yOTQyIDEwLjQ2MDIgMTQuNjY3MyA5Ljk5OTkyIDE0LjY2NzNDOS41Mzk2OCAxNC42NjczIDkuMTY2NTkgMTQuMjk0MiA5LjE2NjU5IDEzLjgzNFYxMC41MDA3QzkuMTY2NTkgMTAuMDQwNCA5LjUzOTY4IDkuNjY3MzIgOS45OTk5MiA5LjY2NzMyWiIgZmlsbD0iI0UyRTJFMiIvPgo8L3N2Zz4K';
267
+
268
+ const titleIconSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDEiIGhlaWdodD0iNDIiIGZpbGw9Im5vbmUiPjxyZWN0IHdpZHRoPSI0MSIgaGVpZ2h0PSI0MSIgeT0iLjUiIGZpbGw9InVybCgjYSkiIHJ4PSI0Ii8+PGcgY2xpcC1wYXRoPSJ1cmwoI2IpIj48cmVjdCB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHg9IjE1IiB5PSIxMyIgZmlsbD0iIzEyMTIxNyIgcng9IjIiLz48cGF0aCBmaWxsPSIjQzhENkNFIiBkPSJNMjIuMjk0IDE5LjgzYTEuODc3IDEuODc3IDAgMCAwLTEuODc1IDEuODc2YzAgMS4wMzQuODQyIDEuODc1IDEuODc1IDEuODc1YTEuODc3IDEuODc3IDAgMCAwIDEuODc1LTEuODc1IDEuODc3IDEuODc3IDAgMCAwLTEuODc1LTEuODc1Wm0wIDIuNzNhLjg1NS44NTUgMCAxIDEgMC0xLjcxLjg1NS44NTUgMCAwIDEgMCAxLjcxWiIvPjxwYXRoIGZpbGw9IiNDOEQ2Q0UiIGQ9Ik0yMi4yOTQgMTcuMTU5YTQuNTUyIDQuNTUyIDAgMCAwLTQuNTQ2IDQuNTQ3IDQuNTUyIDQuNTUyIDAgMCAwIDQuNTQ2IDQuNTQ3IDQuNTUyIDQuNTUyIDAgMCAwIDQuNTQ3LTQuNTQ3IDQuNTUyIDQuNTUyIDAgMCAwLTQuNTQ3LTQuNTQ3Wm0wIDcuODgyYTMuMzM5IDMuMzM5IDAgMCAxLTMuMzM0LTMuMzM1IDMuMzM5IDMuMzM5IDAgMCAxIDMuMzM0LTMuMzM1IDMuMzM5IDMuMzM5IDAgMCAxIDMuMzM1IDMuMzM1IDMuMzM5IDMuMzM5IDAgMCAxLTMuMzM1IDMuMzM1WiIvPjxwYXRoIGZpbGw9IiNDOEQ2Q0UiIGQ9Ik0yMi4yOTQgMTQuNDExYTcuMjk0IDcuMjk0IDAgMSAwIDAgMTQuNTkgNy4yOTQgNy4yOTQgMCAwIDAgMC0xNC41OVptMCAxMy4zMjZhNi4wMzggNi4wMzggMCAwIDEtNi4wMy02LjAzMSA2LjAzOCA2LjAzOCAwIDAgMSA2LjAzLTYuMDMxIDYuMDM4IDYuMDM4IDAgMCAxIDYuMDMyIDYuMDMgNi4wMzggNi4wMzggMCAwIDEtNi4wMzIgNi4wMzJaIi8+PHBhdGggZmlsbD0iI0M4RDZDRSIgZD0ibTMwLjc3IDE0LjY3My0uOTA3LS4yMDFhLjI4LjI4IDAgMCAwLS4zMzUtLjMzNWwtLjItLjkwOGEuMjkyLjI5MiAwIDAgMC0uNDkzLS4xNDNsLTEuNDI0IDEuNDI0Yy0uMDcuMDctLjEuMTcyLS4wNzguMjdsLjI3IDEuMjItNS41MDcgNS41MDdhLjI4MS4yODEgMCAxIDAgLjM5Ny4zOTdMMjggMTYuMzk4bDEuMjIuMjdjLjA5OC4wMjIuMi0uMDA4LjI3LS4wNzhsMS40MjQtMS40MjRhLjI5Mi4yOTIgMCAwIDAtLjE0My0uNDkyWiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjxyZWN0IHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgeD0iMTUiIHk9IjEzIiBmaWxsPSIjZmZmIiByeD0iMiIvPjwvY2xpcFBhdGg+PHBhdHRlcm4gaWQ9ImEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHBhdHRlcm5Db250ZW50VW5pdHM9Im9iamVjdEJvdW5kaW5nQm94Ij48dXNlIHhsaW5rOmhyZWY9IiNjIiB0cmFuc2Zvcm09Im1hdHJpeCguMDA2OTQgMCAwIC4wMDY5NCAtLjA0OSAwKSIvPjwvcGF0dGVybj48aW1hZ2UgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFKNEFBQUNRQ0FZQUFBRDVqOUlMQUFBTVMybERRMUJKUTBNZ1VISnZabWxzWlFBQVNJbVZWd2RZVTFjYlBuZGtRZ2dRaUlDTXNKY2dJaU9BakJCVzJCdEJWRUlTSUl3WUU0S0tHeWxXc0c0UndWSFJLa054VlVDS0M3VnFwU2p1WFJ5b0tMVllpMXY1VHdpZ3BmOTQvaS9QdWZmTmU3N3pudS83N3JuakFFRHY0a3VsdWFnbUFIbVNmRmxzc0Q5cmNuSUtpOVFERUtBSmY3YUF4UmZJcFp6bzZIQUFiZmo4ZDN0OURYcER1K3lnMVBwbi8zODFMYUZJTGdBQWlZWTRYU2dYNUVIOEl3QjRxMEFxeXdlQUtJVzgrYXg4cVJLdmcxaEhCZ09FdUVhSk0xVzRWWW5UVmZqaW9FOThMQmZpUndDUTFmbDhXU1lBR24yUVp4VUlNcUVPSFdZTG5DUkNzUVJpUDRoOTh2Sm1DQ0ZlQkxFTjlJRnowcFg2N1BTdmRETC9wcGsrb3Nublo0NWdWUzZEUmc0UXk2VzUvRG4vWnpuK3QrWGxLb2Juc0laTlBVc1dFcXZNR2RidFVjNk1NQ1ZXaC9pdEpEMHlDbUp0QUZCY0xCejBWMkptbGlJa1FlV1AyZ2prWEZnendJUjRranczampmRXh3cjVBV0VRRzBLY0ljbU5EQi95S2NvUUJ5bDlZUDNRQ25FK0x4NWlQWWhyUlBMQXVDR2Y0N0lac2NQelhzdVFjVGxEL0ZPK2JEQUdwZjVuUlU0Q1I2V1BhV2VKZUVQNm1HTmhWbndTeEZTSUF3ckVpWkVRYTBBY0tjK0pDeHZ5U1MzTTRrWU8rOGdVc2NwY0xDQ1dpU1RCL2lwOXJEeERGaFE3NUYrWEp4L09IVHVlSmVaRkR1RkwrVm54SWFwYVlZOEUvTUg0WVM1WW4wakNTUmpXRWNrbmh3L25JaFFGQktweXg4a2lTVUtjaXNmMXBQbitzYXF4dUowME4zcklIL2NYNVFZcmVUT0k0K1VGY2NOakMvTGg0bFRwNHlYUy9PaDRWWng0WlRZL05Gb1ZENzRQaEFNdUNBQXNvSUF0SGN3QTJVRGMwZHZVQy8rcGVvSUFIOGhBSmhBQmh5Rm1lRVRTWUk4RUh1TkFJZmdkSWhHUWo0enpIK3dWZ1FMSWZ4ckZLam54Q0tjNk9vQ01vVDZsU2c1NERIRWVDQU81OEw5aVVFa3lFa0VpZUFRWjhUOGk0c01tZ0Rua3dxYnMvL2Y4TVB1RjRVQW1mSWhSRE0vSW9nOTdFZ09KQWNRUVloRFJGamZBZlhBdlBCd2UvV0J6eHRtNHgzQWVYL3dKandtZGhBZUVxNFF1d3MzcDRpTFpxQ2dqUUJmVUR4cXFUL3JYOWNHdG9LWXI3bzk3UTNXb2pETnhBK0NBdThCNU9MZ3ZuTmtWc3R5aHVKVlZZWTNTL2xzR1gxMmhJVCtLRXdXbGpLSDRVV3hHajlTdzAzQWRVVkhXK3V2NnFHSk5INmszZDZSbjlQemNyNm92aE9ldzBaN1l0OWhCN0F4MkFqdUh0V0pOZ0lVZHc1cXhkdXlJRW8rc3VFZURLMjU0dHRqQmVIS2d6dWcxOCtYS0tpc3BkNnAzNm5INnFPckxGODNPVjk2TTNCblNPVEp4WmxZK2l3UGZHQ0lXVHlKd0hNZHlkbkoyQlVENS9sRTkzbDdGREw1WEVHYjdGMjdKYndCNEh4c1lHUGpwQ3hkNkRJRDk3dkNSY1BnTFo4T0dyeFkxQU00ZUZpaGtCU29PVng0SThNbEJoM2VmUGpBRzVzQUc1dU1NM0lBWDhBT0JJQlJFZ1hpUURLYkI2TFBnT3BlQldXQWVXQXhLUUJsWUJkYURTckFWYkFjMVlBODRBSnBBS3pnQmZnYm53VVZ3RmR5R3E2Y2JQQWQ5NERYNGdDQUlDYUVoREVRZk1VRXNFWHZFR1dFalBrZ2dFbzdFSXNsSUdwS0pTQkFGTWc5WmdwUWhhNUJLWkJ0U2kreEhEaU1ua0hOSUozSVR1WS8wSUg4aTcxRU1WVWQxVUNQVUNoMlBzbEVPR29iR28xUFJUSFFtV29nV295dlFDclFhM1kwMm9pZlE4K2hWdEF0OWp2WmpBRlBEbUpncDVvQ3hNUzRXaGFWZ0daZ01XNENWWXVWWU5kYUF0Y0RyZkJucnducXhkemdSWitBczNBR3U0QkE4QVJmZ00vRUYrSEs4RXEvQkcvRlQrR1g4UHQ2SGZ5YlFDSVlFZTRJbmdVZVlUTWdrekNLVUVNb0pPd21IQ0tmaHZkUk5lRTBrRXBsRWE2STd2QmVUaWRuRXVjVGx4TTNFdmNUanhFN2lRMkkvaVVUU0o5bVR2RWxSSkQ0cG4xUkMya2phVFRwR3VrVHFKcjBscTVGTnlNN2tJSElLV1VJdUlwZVQ2OGhIeVpmSVQ4Z2ZLSm9VUzRvbkpZb2lwTXlocktUc29MUlFMbEM2S1Irb1dsUnJxamMxbnBwTlhVeXRvRFpRVDFQdlVGK3BxYW1acVhtb3hhaUoxUmFwVmFqdFV6dXJkbC90bmJxMnVwMDZWejFWWGFHK1FuMlgrbkgxbStxdmFEU2FGYzJQbGtMTHA2MmcxZEpPMHU3UjNtb3dOQncxZUJwQ2pZVWFWUnFOR3BjMFh0QXBkRXM2aHo2TlhrZ3ZweCtrWDZEM2FsSTByVFM1bW56TkJacFZtb2MxcjJ2MmF6RzBKbWhGYWVWcExkZXEwenFuOVZTYnBHMmxIYWd0MUM3VzNxNTlVdnNoQTJPWU03Z01BV01KWXdmak5LTmJoNmhqcmNQVHlkWXAwOW1qMDZIVHA2dXQ2NkticUR0YnQwcjNpRzRYRTJOYU1Ybk1YT1pLNWdIbU5lYjdNVVpqT0dORVk1YU5hUmh6YWN3YnZiRjZmbm9pdlZLOXZYcFg5ZDdycy9RRDlYUDBWK3MzNmQ4MXdBM3NER0lNWmhsc01UaHQwRHRXWjZ6WFdNSFkwckVIeHQ0eVJBM3RER01ONXhwdU4ydzM3RGN5TmdvMmtocHRORHBwMUd2TU5QWXp6alplWjN6VXVNZUVZZUpqSWpaWlozTE01QmxMbDhWaDViSXFXS2RZZmFhR3BpR21DdE50cGgybUg4eXN6UkxNaXN6Mm10MDFwNXF6elRQTTE1bTNtZmRabUZoRVdNeXpxTGU0WlVteFpGdG1XVzZ3UEdQNXhzcmFLc2xxcVZXVDFWTnJQV3VlZGFGMXZmVWRHNXFOcjgxTW0ycWJLN1pFVzdadGp1MW0yNHQycUoyclhaWmRsZDBGZTlUZXpWNXN2OW0rY3h4aG5NYzR5YmpxY2RjZDFCMDREZ1VPOVE3M0habU80WTVGamsyT0w4WmJqRThadjNyOG1mR2ZuVnlkY3AxMk9OMmVvRDBoZEVMUmhKWUpmenJiT1F1Y3E1eXZUS1JOREpxNGNHTHp4SmN1OWk0aWx5MHVOMXdacmhHdVMxM2JYRCs1dWJ2SjNCcmNldHd0M05QY043bGZaK3V3bzluTDJXYzlDQjcrSGdzOVdqM2VlYnA1NW5zZThQekR5OEVyeDZ2TzYra2s2MG1pU1RzbVBmUTI4K1o3Yi9QdThtSDVwUGw4NzlQbGErckw5NjMyZmVCbjdpZjAyK24zaEdQTHllYnM1cnp3ZC9LWCtSL3lmOFAxNU03bkhnL0FBb0lEU2dNNkFyVURFd0lyQSs4Rm1RVmxCdFVIOVFXN0JzOE5QaDVDQ0FrTFdSMXluV2ZFRS9CcWVYMmg3cUh6UTArRnFZZkZoVldHUFFpM0M1ZUZ0MFNnRWFFUmF5UHVSRnBHU2lLYm9rQVVMMnB0MU4xbzYraVowVC9GRUdPaVk2cGlIc2RPaUowWGV5YU9FVGM5cmk3dWRieC8vTXI0MndrMkNZcUV0a1I2WW1waWJlS2JwSUNrTlVsZGs4ZFBuai81ZkxKQnNqaTVPWVdVa3BpeU02Vi9TdUNVOVZPNlUxMVRTMUt2VGJXZU9udnF1V2tHMDNLbkhabE9uODZmZmpDTmtKYVVWcGYya1IvRnIrYjNwL1BTTjZYM0NiaUNEWUxuUWovaE9tR1B5RnUwUnZRa3d6dGpUY2JUVE8vTXRaazlXYjVaNVZtOVlxNjRVdnd5T3lSN2EvYWJuS2ljWFRrRHVVbTVlL1BJZVdsNWh5WGFraHpKcVJuR00yYlA2SlRhUzB1a1hUTTlaNjZmMlNjTGsrMlVJL0twOHVaOEhmaWgzNjZ3VVh5anVGL2dVMUJWOEhaVzRxeURzN1ZtUzJhM3o3R2JzMnpPazhLZ3doL200bk1GYzl2bW1jNWJQTy8rZk03OGJRdVFCZWtMMmhhYUx5eGUyTDBvZUZITll1cmluTVcvRmprVnJTbjZhMG5Ta3BaaW8rSkZ4USsvQ2Y2bXZrU2pSRlp5ZmFuWDBxM2Y0dCtLdisxWU5uSFp4bVdmUzRXbHY1UTVsWldYZlZ3dVdQN0xkeE8rcS9odVlFWEdpbzZWYml1M3JDS3VrcXk2dHRwM2RjMGFyVFdGYXg2dWpWamJ1STYxcm5UZFgrdW5yejlYN2xLK2RRTjFnMkpEVjBWNFJmTkdpNDJyTm42c3pLcThXdVZmdFhlVDRhWmxtOTVzRm02K3RNVnZTOE5XbzYxbFc5OS9MLzcreHJiZ2JZM1ZWdFhsMjRuYkM3WS8zcEc0NDh3UDdCOXFkeHJzTE52NWFaZGtWMWROYk0ycFd2ZmEyanJEdXBYMWFMMml2bWQzNnU2TGV3TDJORGM0Tkd6Ynk5eGJ0Zy9zVSt4N3RqOXQvN1VEWVFmYURySVBOdnhvK2VPbVE0eERwWTFJNDV6R3ZxYXNwcTdtNU9iT3c2R0gyMXE4V2c3OTVQalRybGJUMXFvanVrZFdIcVVlTFQ0NmNLendXUDl4NmZIZUU1a25IclpOYjd0OWN2TEpLNmRpVG5XY0RqdDk5dWVnbjArZTRadzVkdGI3Yk9zNXozT0hmMkgvMG5UZTdYeGp1MnY3b1Y5ZGZ6M1U0ZGJSZU1IOVF2TkZqNHN0blpNNmoxN3l2WFRpY3NEbG42L3dycHkvR25tMTgxckN0UnZYVTY5MzNSRGVlSG96OStiTFd3VzNQdHhlZElkd3AvU3U1dDN5ZTRiM3FuK3ovVzF2bDF2WGtmc0I5OXNmeEQyNC9WRHc4UGtqK2FPUDNjV1BhWS9MbjVnOHFYM3EvTFMxSjZqbjRyTXB6N3FmUzU5LzZDMzVYZXYzVFM5c1h2ejRoOThmN1gyVCs3cGZ5bDRPL0xuOGxmNnJYWCs1L05YV0g5MS83M1hlNnc5dlN0L3F2NjE1eDM1MzVuM1MreWNmWm4wa2ZhejRaUHVwNVhQWTV6c0RlUU1EVXI2TVAvZ3BnQUhsMWlZRGdEOTNBVUJMQm9BQjk0M1VLYXI5NGFBaHFqM3RJQUwvQ2F2MmtJUG1Ca0FEL0thUDZZVmZOOWNCMkxjREFDdW9UMDhGSUpvR1FMd0hRQ2RPSEduRGU3bkJmYWZTaUhCdjhIMzBwL1M4ZFBCdlRMVW4vU3J1MFdlZ1ZIVUJvOC8vQWpDZWd4NTJmK3dtQUFBQWltVllTV1pOVFFBcUFBQUFDQUFFQVJvQUJRQUFBQUVBQUFBK0FSc0FCUUFBQUFFQUFBQkdBU2dBQXdBQUFBRUFBZ0FBaDJrQUJBQUFBQUVBQUFCT0FBQUFBQUFBQUpBQUFBQUJBQUFBa0FBQUFBRUFBNUtHQUFjQUFBQVNBQUFBZUtBQ0FBUUFBQUFCQUFBQW5xQURBQVFBQUFBQkFBQUFrQUFBQUFCQlUwTkpTUUFBQUZOamNtVmxibk5vYjNTTW9kczRBQUFBQ1hCSVdYTUFBQllsQUFBV0pRRkpVaVR3QUFBQjFtbFVXSFJZVFV3NlkyOXRMbUZrYjJKbExuaHRjQUFBQUFBQVBIZzZlRzF3YldWMFlTQjRiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVdFMVFJRU52Y21VZ05pNHdMakFpUGdvZ0lDQThjbVJtT2xKRVJpQjRiV3h1Y3pweVpHWTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1Rrdk1ESXZNakl0Y21SbUxYTjViblJoZUMxdWN5TWlQZ29nSUNBZ0lDQThjbVJtT2tSbGMyTnlhWEIwYVc5dUlISmtaanBoWW05MWREMGlJZ29nSUNBZ0lDQWdJQ0FnSUNCNGJXeHVjenBsZUdsbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMMlY0YVdZdk1TNHdMeUkrQ2lBZ0lDQWdJQ0FnSUR4bGVHbG1PbEJwZUdWc1dVUnBiV1Z1YzJsdmJqNHhORFE4TDJWNGFXWTZVR2w0Wld4WlJHbHRaVzV6YVc5dVBnb2dJQ0FnSUNBZ0lDQThaWGhwWmpwUWFYaGxiRmhFYVcxbGJuTnBiMjQrTVRVNFBDOWxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajRLSUNBZ0lDQWdJQ0FnUEdWNGFXWTZWWE5sY2tOdmJXMWxiblErVTJOeVpXVnVjMmh2ZER3dlpYaHBaanBWYzJWeVEyOXRiV1Z1ZEQ0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ3FlSlpsY0FBQUFjYVVSUFZBQUFBQUlBQUFBQUFBQUFTQUFBQUNnQUFBQklBQUFBU0FBQUlqK2NSa1QxQUFBaUMwbEVRVlI0QWRSYzdaSWxSM0h0TzdNZjBncEpDRXNJTEdQQ0VRNy80UW1NOUF4V0JINFVnK1JIQUlFZnhZNkFWekFTdnh4aGg4T0JNY2JZQmlNaFZueEl1MXJ0N3N5TzgrVEpVNWxWWFgzbnp1d2dpUmJUVlpWNThtUm1WZDdxajN1WDNiTXZQSGUyL01FY3UybWtrcDR0VjVXS0dOR0NNM2hIZXNHVzFwbkcxd3VOWkpPblI4NUgxZGRJTkxmWUw2MTgrNUJYNFN2NWQ1Lyt3anRrWXE1eVVzN3paNzdnYm5jZUxpZDUzZ3VldWRMNFJ3VUVneERETStXdWRyUTdmK3cwSS9mSzdQTDhLeW9UZkVvTGI1amdXZVJOZHBVVHN0OXYxVDZ1MTU3TDJMWUlIVmpSdGQ4bWdUWHBSYmhGVkxBYlhUR2ZUWXZ3OHJ3emQ1K3l3bFBxczFCSDJWVk94UGwrMTRqMFAxK29NVjZPMXp3OTdxenRZQ1ozOEQ2TFVZZVlNcTZlK2Z4Uno1YWpaTXplK1d6N0VaK2l3c3RFdDBPK3FzUVA4WlZSN0E1WXpJeHNtM3Riazc1cUx6bXJkS3N2ZGxoZHpITEdTRFp4SnVLcTdxTS93Y0piSjVYcGpiM0huOGkyRmhlNk4rTmVkbm52c1h5SEVBQUszTWEwSEVLUnMzWXhkTnBsTDhQSUhyUi93SVhYSjVLcGJ2VWVZeEtycWJzOXozYzEySXJuVVBuT2FxajZNKzdMMERjS0doOTJXYitNbzNWZWZmeXB2NHJpK3dSMnZEYVRtY20wOXhpVEoxUGYzVEE0eEtlTXBzRVVEc1BOb00wRk9tMHdJWXZTY1pvMVVWMXNYK0FKbFVUYlJWaGlGSGdTeVNHaUdrL0YrNzNvWTNCL3pJVzNQMUxjUzYyWG9xWjdhSCsvbjU3bFBJL2lVaXQ4V1Z3UUhuQUpGMFBuUCtpbW1VOE5PdXRTNHNPZGFIMUk4Zmg2dTBOSHM4THpXRFVOQjhRNDgvVXBLanhsTWd2elVObWhzd0Jmd0U1OFNsV1dkSjkzZmxqTzkzcytndUZNQ3hBQjdDR2dxZ2QwVDhjMWdSNVdOWnY5YWZIVndyNE01OGY3QW5rZDRkWHNjbXZlK1N4T0NnM0FLajVnNTRMSnpHT2xBVWFIWTFYUWFxWGNhbTFocDN3eng4WkJIM1llOU4zdVZIME51S3JhNnRjQ25QSmVnUE5qM1BFeUt1MFNqMXQwL1VSc1RSZmtreVVjUlljV25CZk9hRng5TTA4OUQrLzJRYXRaN2VkVXVYUzZ5TkFNdU4xWkVaUnVwZTUyd2cxTXhjLzZNUE8weHR3dXdQZXhGVjR0RWhYQ0dQY3N5Wm1zNStvUlBXYy9jdVFvT3FUZ3pNWmhzQjBxeWVtazkwcVl6YjRCSE5qSHVuZmtORENxZkxFTHpyZ0FNL2xxYnFwNU9FeHo2MkV3d1FSMGJ4TXVFeVBpQS9nK2djSmpkSW94b3o2OHQ1cmMwUlJWMGk1VjVtbm1iRi9CQ1c4MDlBV0JabE5LT3RXSVdtSEdnRFEyZEtNQ3RvNDViTUZ1VWtteFhZVFQrWkZaaEtLNEZWbnptNEtEZTZTKzJQWHI5MXg0bVMzQ3dyRk8rTkQ4bE40K3ZHRUFDeWZwU3dKcnR3b3V3VkZqMCtWcnptUFoyL2ppblgzNUtCaTFXK3prZ0xhN2hBWjhsVUhDTlVVYnhPZjU3YzBLclNrNElzTTJ6KytoOFBvd0VPSmhvZlRKY0xURlZiREl6V0U5ZGt5OGF0dDB0RTd3R1dpMVdLYXFYSlZIVVl3MGtoL1Nqbnk0TjB5Wm1OWE9HQlBkdEFhdkh3d2lDczY2K3hnYmozY09ReVk3ZTJ1clhuS0ZoWmV1KzhDeG1IVGF1eDVSZGJ5UHErTFE1eFR2bGlOWHBBLzJlcWJVdXFVUEEyR05scHlvSGd1ODM5N0ZaYnp0bk9XMVFtOEIzbDRDRGgzdVZaQzJDL2Q0anZxb3BweDZxSEJTZWJBMjZGU0VZbktFWVh0dnhhNTFGZUQ1U0prd0JLMjRwTFdOcks3dWRjcVk5ZHBabGV6dno3bFNxcWtVQ3pUUzlwTkVhUzlydFdJTFR2MysreE9pZ0FTUFd2aytwNVZyT2pLR2ZrK2JXOHVJV28wVWJaWk1hRlI0SWd0ZkdyYlc0VGdSNE1NdGJETUM0RkVibmRlcGRQTnZWaGp6NzMzSDI3K2tzelJxNkwxK3l1WHpTQnVjYzFwbHkwUXhPcWpnQkRleVhHaHhmUkt0QXFKdmpUSzJrRWhSUTV4TUpjcytiY2FhcmVaOWYrYWdSMmpFZFpnNEZ3QWZ2cXZaOGZZN2FmNE82bHlBSytaaTF5NVY0VUJ6Rks4K2FzRk5ReEErbEN1K3FWRVJEdmE1S2RvRTc0NzZHLzk5NlJYS2VYZDBCRlFsTlAwNUVPMUNzaHF2SFhPL2tNNkl0OUhnbDY4MTZvb0xqODdxVkJ5ZVZnYW5LVW5KTkduTWcwSHpreC80TWovTmUxeFNpNHJnVVREanEyR2c3MzdOYTdPTkNMeTZJM2J3U0k4UGhmY1pUUnM2bFYzQ1RFQ29ERWFIVzJQRHd5UmN0azc3bEExMkRhZlpwQURuczNZcExhREJYRllyOFI0QnVXZWNWMWg0Yy9vTFRHYWJSSlZTMm1hdlprbVB6ZThFaE1zSTlDdlZJTmpjNGFLWUdGSEd4UWNaSTRucmxQc0JwMWVWeU5uS3FrYnVKU2lzRng2d2tDTGFSNHkzSlZZdHQvcnlDUlo1TkZtS20yRi9hWlVUK204ZzcwZ25hZkNOWXFrMzI1bkJGUlNlMHB6NWJUdk9URmxsTVVGWWk3RlUxblBYSitLakVSUVFMbVJSbHE2N045dzBmc05CVHAyeGVHV0IxQlNWZ3dFM0dVdkhTVjNtNnJZRE1haXg2RHdPWUFnT2VtR3RDTnZXNmNqOUorTlJZU24yTGw1WUczVk5nWVR3MXo5QU1BSWFOTHh5U1NYTnp6MnZEUjc3SG84SnJqMGZYSFROdERJeDFaWXdabXR5dURSQlBxbHhzc2t0aXRJRnpXeUhTeTdFd2YvOGFTUUtndTZOcUsyc1dUZ3ZUbjE4VFdKaXJ4dW9IUXNXRkFkc1RhRFc3VGtXckRMaTVUQUs4TEFpN0RMM1ROeTVpQkZCSlVkSTdTZ2drL1V3akhydVpuWk9oNVlEMitNK1hOUnlxZjdQRDdFUEJMYTYyMEcvbndLOG8rc2x3TFROd0tuSTEva2RURllGNS9vemV3TUlmc3Rrd01NSGR5SjBVc21hc1dpdGc0Y0hMeUxYbDV6UURaUFNCVkZiZUpjN1IzS2RuWEhuOFhtMXdrUSt6Z291SCtOU2JQOU5nd1Y1eklBYndadG54bzZmUTE4azJjMGNKVXNhOXRhSXRVUzJmWnRNa0QvV2puZTVvdXNEVUhBMXJUNlZPZDZEZCtQVWQxTmFTR1lGQnl2R2ozTXN2TWxnNW5oVVY0elJZbk9DUlR0Y2JTZFhRRzU5bWdRRUE1T0h5bkdORXdXTG9oSVV4VVVzSUtCazJ6b1NzRFZML3c5cSs3T3ptRnJyWDZHNVRpSm1xeEhhYnI2a2lCZzk3cEIxTktaWWV5T2JLT2J0d0hLcEhRK2VqU2RUb1dDYVNCZEY3N3lxK05tdUV1czc3Y1RHNUdNaGRMNWhaOGVxNENBMDNaR3RWc1lPSU9WUWQvMFFIOW11OXNoMklzRm9HMEhBbHlsODkzTUVTR3hzc3VtbWhJSURsNzltNFZNdFl1cUxuWVhwUEhhQ1g4NkZXbmZvQ244VTJjVURDWEJ4c0g0UW5CMU9vRzRaT0dra1lHcEhxL0JXZHJUSE9mYmdGSGd2ZkEzU2ZwaStMN2ZqUmF4dEFZejlFTGZkRFBRUjJkeDBwWk9FckRCSHQ0VXNNdm9ONzExY2d3TWI3czU0VVZXd0RnZVhUWFl3UkVIREZuSzAxRGdXUXh4dUEwM3VWQTdEdkFhUVZvN093Z2sxcExYUUhCVnh1RitRdExnbVBtQ2dnSm8vUklPSEVXZHJKOS81TUNyeS9OREJHSDg2Q0hLSkNyQ3pJMjVlZU5CVkxuSFdOc2tlcy9ET2QxWGRkdGwzaWlGZ0RUSDVjZVFHRHhubGhEVnduVnVaZVlDMHdIU0hyU1kxVUdDQXhsdnp5ZDBybENxSWtFTUtIdC9STUpCNzlPTkFVV0dIUlBINGgwVWNzTFAvR01kb3FBZ2FpWEViUnJacW14UHJPRVd4TTJlNFErVDlueW5EQlpzWUFHNEhZMEFQOHRCaDZERjZwNXhTVDI5QlVoRHNKbTZsYWdMYVhyend3RzIyY24ySUsvcVVSWXVnZEFhV0dPYWxzdXJCd3dVRVFVNWdvVlBYekk0Q2NZYkxLMHc3cWhDTXNpaE1pR1dDV0x3Z3V3S0FOZzRCTlViYnNLbkVFNjFidVkrVXkyeGJNbWpFSGEzaWcwOWN5cmVlZ24wSDlBRG9FZEh3MHE4SU1FVUY0R0w1N2lZcURWcXY2cHR3MGpHdkY3ckhFNi9Gb2RBa21yQVBJbGtNWWgrT0xNVHlYSFdRc09pU0xYdU4yVXd3b1NnNkx6UTBrR214REFqV2xXWG81ZEgxeFliOHRHb0w3VnlRNFU5TFJnekczTitTTWYyaUJ6MC9ITmlydkFpY1NUbXlGYmVwOHFBN0pHVTB4aEl0Q3dsamV6UG45MzdzeTNCOTZhVlh4QUZ2T3BTSnhteFQ3dzU2Wll3cVpncndQQzlkZUhQS2ZWSXR4b2lwZ1NhR3ZkUnhBU0VOR1JxOHl1akdISEtYQ3k1UmlMb2IyMVRib29rMTE5QWt2aU1aWHp1QUVnbUVYS1lxRVRWc3ZURERvc2tIQnNRdVhmSXdVNVlzenlxcWRXdUVJckF1RHpBbEIzYStSN2dBcHdQQ0xFWTNEVG5LajJSQmFGZUk4WDV4ZENaUEpOUjVGWkFVWFh0NDRZblB2Q25Fam1udkFCWmJCNGloNzFscFFhZW9nYnFReEJhK2lBMlRsN3VjQ2V2TTlmVEZHSzdUdjFPaGNCQ1B5Vm1ZTERMNkRWMHdBRCtXWUlSai9xM24zTEtNZHBCbk1DdzA4alVXanlYS2hORDhoS1FQY0NKbUx5ZTBPc3pTaXcreEpDZXJMc1lOTG51ek5WV2RQckdSUDBmMFdjZkZSeFVQL1FzV25wSEdSQTQ4MjBQRXNjZUdHejNNKzRDMTFFeE1JMXYwa1MvTU1HWGc2djZsRldnMWwyckRreTZWRURNKzcySEV3M25oVjd0SFVqa0F4V2w1ZVRqVkpDU1ZqU0VTcVREVXpyaUlod2ErMlhvVEowb05aZjUzS3VKOXJiRWdqek5jZW12eFZWSkhJTWVNZkx3ZkpEeWpTL08wU2RrTWw5cUxGZDZNUDduMjlMWU1KVjhIS1EybWdsbzcyLzljcmtJT00wd1czczNwVUZGcDNPWXk4SkpqU0Q3ZkoyMkRJc2Rtc1hra2RXa1FVbU54TG8zU0ZRdTMrdVNIakw1d1h0c3dyaVp2UmE3N1FOTmdEbEJzNWxVejFLeWtLeTJLQ0E4Mlo4dXB3V0EzSEY2NGlvV3hZVFJCMHE4Z1R0TU5nbmhxMlp3ZVhuaGNJalBjVDlpWTBRRVV5YThPY2VBZURZZkdIUFZMQ3kzMW5DL2pFNldKMGZXM2N6MEZpWUlaaGNoRkNySGJTMmF0djh3RkFUMnpCeE00Y0xEN2FmTEdUdjhZUXNkREtPbzBTdjBnSDN5QVl4TnJHaTh6Rlk3WlptNklNN3d4WkNUZ0lZMDc1Q096eCs0bnVJTThRNzJJemhYUTNCT2pzL0dHcTdTVnJyYjBYeVhxN3lrOFJTK28ybTB5SWJ3VnpCYU9UQlJJek9uWFpIV1dQcm1TdE1UTjBDZFpDbXR4V1czM2RFVmV1L0RudGVNZHJvVzh3cHJpM0RPcXJXWUFHQjZ4OERZUWh6UWFxNVVjclhqUVp6NlVDTXMyQWpTRVpveDRuYXRVUEN3OHZ3L1ZoNnUwa3JmNHJlTytVSGo0RDhVM09SUWpvNVN2QVJoRm5ja0pYWEQrb1NyajB0MG92QW1KRzdVVUNzVkdOK2FSMDBXNzNucmlvN01wQ1E5eWhYSmszMFI0VVNtRTNnR2xxcnFxTXhubkJJVVg1TllpMWh6MUJkQzdFQ29MRU5sczc1QTlmdVRxL1liV0F2UmJCaHM2dDR4YWhKS0RXN0hTaitkVUNwREpHa3R3Z2dKM0ZYN1A1NitjRzdsM09DZmdoMmV3dzhBNkhMck1PZEZyc3RhaDNzOHdtaCtUd3BzUnlIaWJTQWh2QlRPcTdjSXJyMEprYkhiYTFaUThFcFpNTUZ4cHdLdUp5VWtKYjZncUhVaW5ER0dKWmVMUkdCS3l0ZURnakNxWE5XbHhUaDd3cGpzV0JCRkZQdmhJbXhsWFdzTkxqbUNGQXhJYzFxcllXbjRGN1RwRUdnZkc5cjlIdTFPcm9YN25JeVBQOHVuOG9oT0g1amxKcFluV0RFWWJ1VisvUUc0c0F3bUdER2FpNkVVQmkzVnlYVzg1OFJFQmRvbkMwdVMxOEdDSlN5eC9uT25VQk5sbGs0Y1pWR2R0TVNBR3V5NnZGVWJuTlNvV1BpVTRFOUhiS0ZicDVSOXlIVFVVeUlUMWRpam10US9pZXk2aGtvdDZ2S3N6VmhXMXVOVUdpY2RtT00ycHYybzVPMWtYbjl2UmlIbWEzM1JOQlRBNE10MXg0UEgwZXJlWWZYUFJzUkRsNTNCU0pOT3VZRVlqSm9rYVRhMUlDQVZ3RzN5cVErQU5KaWs5OFpjbEdJY1FHTzhLWklJd1R5dm91Tk9oZDM1Uk5YYW5JQjBkeVl1NHF5dHkwM1oyMlpVTjJzcVRIT3Nkc3VNTXU4U1RVVnh0M3R6SVVGR0ltc0RkN3RnTVRIN0VwM2lYRzhaZk1aOCs2SXF2Y2RHRnhXdTRXYUd0WklvbURMMFpJN2JRK2gxdlppU0N0YkUwWFN1WVVZbE5vc1JKWTVLaXhLZXdKUnh5Sk94RU5vWVZwNnpZT3luRytETnJtd2oyVE9JVER3RDFjb1VSRG8zUjQ2ZTZzWmlXcU1ZMTRLRVhEN25BTnJNSk9lTHkvT1FEVmp4NkhzZzJ1TERJeU1rT25JWGluRlU1TkhZRWFIZGtIYlB6bjJJaFZ5czhWNXZjTTdmeDZjbUQ1ZEhwUXlQTnl5NC9QQTQxcWxpYm9IWnVxRmFGNTh3MHFtZVBQUVZYVzNnS3l2aGpmbnh5bWp1ZktVNVFsYm5FRjZVUVdMY1ZEdWJObjJCbEpRNjFra2VyeWJBaFM2cGVYaWtaTFBvNFRTbG1SdVNCdXdua0dvMjdtamhSQ0xRWEMyMWNiN0ZOQzlBWHByZXF2cE9wY0VWMkxaNFdBSHpZSUFvT1lwOUxDUEUxSTFyVE9hZUw4SHREaS9yazRYTDY4Q094Yk94d29YYmo2R3UrbTZ4MUdwY1hhQkVmV0hpY2dtVFo2QWxtRHVSRG9yYXlQaU9tYndwdzBZQ2ZYQnU2RHA5UTl0SHdsM1JRWU1MME5HcERQd0lJSHA4RXc4SFlubnJURFF1T0RHWHhoZ1d2ZUkvTCtNR3VnL3FSSzFpTnF4WVZiSVJuM0dLQlhKNmlBRUlsS2ZLb1hFMXVkcjJGZkpDZ3pRUTZOZ2ZhM1ZpRStSYWdGU0oyUDh5Vi9aMDllclNjM0wrN25KMmV0RUQ3eTJ1dys1d0JnckVkR09zSVVkTkpqcmJabVRZdnRjMmlRcU5maUNmYUpoTE1xTUNtb2V0ajRBbERVSlZJV2dLVE93YjZJTUhsTlI4bVpuSEtXN1NXNE5uQys1bTZTSFFweDFWVHc5a29LbU9zRm1MeDNDSlU5WmtMNHh3aUU4UlQweURqU2c4alA3QWRseTlpNzBOOGFqR1B1Mk1yTE56VCtVNW5yUDdEQ2tOZ3g5UHVaN3ZBN2dqelpiOGp0RXZ1eVVkM3ZBakIweGRleEdDK1VhczhHQlZtcHhZV2tjS296YXl1cnZDU3N3VlZSTDZ5MDZKRFRGRjRuZ3VNTXF2NG1icURjTEtqWmR4R25yU1BjTEpsTjQ3eDZaWFRRMnQzUWFTZHlkZXplcmdnODZPejNiUGdGUWZEekI4UjRzTTErbCtQM1dFZ2EweGpNUlBuMlpMVmkySDBZUjVSZE5ldXNRQXhyekczdk8rTDNRNE14MVo0Qm9mODRiMDd5K245ZXpabUJtUHh1Vy8zcHlqb043T0JYTmtLbzVhY0J4UWVnVEtidGhXQzNBeFVSUnFzQ3E4Vm1LRmgwTVlrQUE5MnV6elFyMk5vYkF5UjJYdmpWSW5KWGg5VG1NZ1VSQWJBSnprdEVGSTlVZ011RDlqVVkxRkoza2U2eFVWNWI2UFI5ajBrb2lKS01aRUhZdWJRT0V4MFpMdmU3c1lOTHo2WEkwZjdxOFhuZVlmOGtkM3JQZnp3ZytYczRRTTRNc3BnRDJkb0lNdXBvb0lvZk1Uc3NGT3p3N2dkZ2VLbGxvWk4xM1hDYVNjYkJoVmlWR0NySWcwOHVhcnd5Q1ZZeDVEL0tHZkVKSlk3Q2ZTVStTK053ei9qU0YxYUtiNWVweEVuZGR3OVlNTWlxOW5EaHNkWWdCSWJJbGFJOFNSZU1Tc3VjdkU4N3BCdU5Ta3ErUWFYZUNCTExwTkRjZTE0T2I1NWs3SFk3dWEvYW9uN083L2s2a0hFU1hiTDZVY2ZMaWQzMzkrODVMcmZvZmdVT1hRWkM2V1ExVjdzZUFrRG9EOFMzc3ZMcUVEMEtXaWk2TFNkUklwSWtPRmdnRDhwT2NKWFlsVkc2U3pXa05tVGJ6SnNGd0ppQWE0eXlXNG1Rd3pUUXRnakIvdGhYSXBrWDFHUHNjcUdjbzJVZzZVMjlYMTA4OGFDUDk3eldYUllMUHZ6QnhDLzM0T2gzYVJZUVNLYUI3KzliUVZvbDF3YnRkMnJTOHBRYlZ6blBuS0hUcnVsZFhYNEIzai9qbGRUa2RuUURoQUUwb2xpMEFxdmFSR1ZSeGF0K3BUNnR4T2RxeUFHekM3QTlDSWJKQTM5dnNXakR1RzRGU2JFWjIyUWc5NlBub3RweUxxUG5EcGFaVVNJc01jRFViRzBHTGhhWENrWFRpMTg0RWl1clJ5U3cyMXNwenQrOG9sbGQvMjZYMmJ4ZlMwZk1IQ3ZaLy96SFJBUElpekdFN3ZQZS9DYjIrMHBkMy94TVNyRzFIL29hcVNNM0h3OSs4TG5NbjVKVzd0SEpVeUYwTGMwYktGSFVsenVvb3ZpY2IwS2llcituWjFNUkI2RXpnY1p4bVp2alRRK1FmRlJsSlZZZ01FaHVjWnBUVjNLY3l4dlpNaHo1UkptYkIyTkQ0YkYxZUpNaWhhUFJPbC9MS3IrQTdIR1U2S1lNTW9QZ08xbU42OHZ4MDgvN1o4NTMzbnNhZFkzQmV4NC9xUnJscGc3L05ucmxRZS8rN1ZkY2o5dzBySHc0QU15bjJxdllzNmlneTBqNkYyaWhLbnc4NVVXSGdMSUNhTlBlUEhBM0oxT0NNbkREZ0ZEbE5idjdUd1JZMU9ycFpFRE55R1Bmc0FKZTdHcWRjNERGMXpVaktOZjRGeTgwUWVzUEJoRlNKZnRuRG9odVZoOUFUSmVJY1NvU05DT0JVaWRYOHBpZ3J1Y1czbjNYRmlNbzZlZXRKM3ZsbjllOVJvRkR4cnVIVS9CVVlUQW5ueDRaM253NjEvWnJtYy9KZ0FDSUJ6bURLWGx4WXRkV3RtYm5CQnROZmJqMVNoS3Q0dlRuc0tUaHdvZitnTUUrWGVpR1BBeVd6VTU2UzFnQldRd1BzbGlHdTJBV1hUWmdjRCtMQmxNa09lY2dQQlBJNWxoNUFmQXd5SUJvMElJRktIdFRKWVZWd25NT1dROEZEbkU5SS9Dd1NFbXlRSEFycEZ6VXVPZHlzTjNNaFV1MDdFZ05GdGdZNFFzQlJ2WnBSYTczdEVOdStSaVBsQjAxdUpTNjJNVkhpeXRmKytkbnkrbjkrN2FDS0ZHZE9IY214WXdEQnptVVRDcWRkNUFYRjNoaFVPNmpYUGt6SVJyZFB6bWdTYTlZZjRJb0RJVlRIQnk3bEY0b1pzc0hqUStVWmpVUWxjamNZenAxRHBzd2tWekxtcWg4akJlZWZtcnk4dXYyTjlYLzdLcFhqWVpqamZmZkl2dFd6OXdIOS8vL2x2TDkxM1djekVtSlpmeGRIRVprOFpzZTd3N2l0Tm1qaWdjSzdEanAyNHQxNTcrakJXYnZiOERtUmNlKzdyWGM3bGhIMzd3dStYQjdWLzZyZ2Y2V253K3N5cEdLTUVWQjJQZ3VWOEJnMjNmNDlYUVJUVzBCWUlQVGhtMkFlVDk0Vm1hU09nZWNMeDZrZ1hVTUJYbXB0b2hjSCtZeC9ZbFVaakRGbHhvdFhBUHQ5N2FSTC95eXN2TGE2LzlqYXRWWk1JZTByN3g3Yjl6MkxlKzlaMEdsNDhtaUk1UzE0eEJMS3hhaDZJQVlzSTcrY0RqUTN1cGZQMXpuN1ZkejE2eDZON09pOURtQnp1ZUY2THRnRlo0cC9ZKzc2TjNmbkh4WGMvakNlZldxUGg4SHVlRlYxTk13MVZQTU10eWxXam9mT3R1UlFZR0ZRejdsWk1QRlNzbXQzR2NSMnduTDBUdWRrRGpLS0YwNHl5WGRZenkxTFhENGpsWm5PQUR1eHNLN2pMRlZyblUvM1lVNERlLzlXMWZHRS9SbExVVlZybGl6SHlGeXR3OGx5RUhvZngrek1rTVpZVjEvSm1ubG12UFBzTnZMZUx5eWt1dDZhMFlqNndRL1JKc3czdS9mR2Q1K052M3pERllqRkdreHJlMTYvRnE0dzdsMWRGdWV1bkNnN1VPNUdIOUpsTEg1WjNHVU9kZFpnZDgzZTNFNjk3RWs0WGMxT1lGTERxcUhMSmVCeTBsOHN4V2N1NlFLTFI5QllkTDZwdHYvcUJkV3VVYnJSZXBrZUpTdkZXd0tFRHNmaTNXU2ZFNHA4bFJISXBPZm1USFRDaVZETVZTYlNUSDEyUTNYbmgrMlQxeDA5L2RvUmk1KytXT1oxdWVUOC9ETys4djkzNzIzM0szdnR4Q2c1aHhSQkErOGp4U2pObDB5RlVVSHVMRm9ZVFU0VzVYTlpnd2ZENkVETU9BSExmM2N4RG9HTWtoeCtXVmNqTGh6REhPWXA5Tk9QVTkza3o4RUpjdUNSQkNobDN1dTkvOWU4ZlVFNHJ0alRlKzR3Vlg1YzIvQ1JXUFd1QmVmKzNydnNiZitBWXYxZFVXbCtBM3l1VTN1VGh6d3JaYmlvMmlZdVNaaVhLcjg0UjdQZXg0eDU5OXhyclhYSVZMSzNhNUl6eHd4S3NXdjl3K3VMOTg5SXVmTFNkMytHb0ZjZVNPSmovbUpRTFdyWGNUS0hDdDAvb0ZjcWJhc0xPT1lEYWpkVklkR2pvV25vRFExRThxclBMSXl5eGtzakVNdWlzSGRnbndUeEk1eEVRckdraFcyVUNtc3U4cHgwV0ZGWS9YWC8vNjh0cFFJTFhnMXVITnVJUmlLbUNHQk53NFJ2NDMzckRkendvYVI4MERZOWpoa0Z6TTQzd0lKNnh3R0ZmZDhhMWJ5L1VYL3NqdTlld2JEU3M0WHpNclByeGU0V3NWKzVCampLZmJ0MysyM0wvOXJyL2ZJMDh5c2ZSc0hLSXN2TkVqSTdlSGkrY0NXbE1CK0p4RFBzME1saHE2bFEyY1RWdWhheUdwU0VjMEozeW9LRVM5dWppQUFwZlpuZzJBaXhZVm5Dc2liNGRpZm0xU2RLdExZb3NrdWNCYmozMCtnTnZ5ODAzdGZKdTdHcjJBSDBlM0JqRWYxRUNuR2NzNDNjNGVNbTYrK0hsN3QzZUxSWWZpczBMellrTWI5Mzc0R2czdjlPNzg1RC9zQjZQbDkzcmhsWVhIS0RDTkxJRDByaDViUTN2aE9YQWVmbThRbzVLaGFxdUpvdE11c3o2Mmt3UHJFdlRNM2RPczd1dGd1d29MUlpjOEszV1l5TFMxUTFGSmppaHFYK1BaVHZmcXEzOGRyMEl5TE9IUjZsQk1HR1BCeHc4RW81ZFg2bkh2TjE3T1ZlVGluZTFxNHNxRkYzcGRiSXduOURFZldLZmpaNTllYnJ6NG90VWFMck9XVzF4aVcvRkZJWjdlKzlEdjgwNCtlTDg1WVVGalBqSnJ5UnJJTzhpWDgrWVpQL3Q4N0hod2FBcXFIYk45RWloc0FKUklIUys4S3JSUERvYjFZaXNIK0RXeWJlWWFSbHZHalFjcXU4emF1WStWa21KaEdLRVM2emF0QUxuZzRhekQvNjN0ZFBYK0M1Zld2N0tpd3lHL1BkY2dIM3luRC9UV2NibmU0c0tjb2ZqcUE4aXJyMzdOaXAzdkFIc2VjbzFGWGJua0NTMFBTdnA1c2htMTcyOXZmT0ZGYTUrMGhUQkczK1Y0ZVYzd2t5cmYrWmo1M1ovK3hMN0p1RzFwVk5iS2F6UFBvWndXMyt5Q2FmYzRoYmZhN2NCclR2dmRqczY0NHlsWVBCeW9iN25heDZ4T0JpMU1raENSbU1oc1k1R2c1blJFaTR3anFNcVhuOEQwMDZnblhPL2RmanY4c1huKytTOTZoemIwMnZNTHptSW1vb2JmRnpuUTRzcUl5SUZZMzd2OWpnaTlyVHN0TEt1TmVEZ0RPb3NyYWZiT2s4M1pqWmUrdUZ4N0JxOVdXR2dxUHU1NjltTFpDM0paN3IvNzduTDNwejltQWo0SjJFcjRENFF5cnB4eFJpRHZqQmFqcnZBeXpITjZ0SThDeTlUZENrTkx4R01LbkU5SEU3aGJBNFhTR3V4MnJ1N2NGbHpqUWNFbXNvbW5pd0VYM0VXQWcxWEZRNUpNMEJFMVhtSnowUThycXZSaER1MlFYMitIRDRiaUFrNTJ3STJYWGUyNDRnSWVoOFo5bTZ5UTEwT2EybEovdHR6NC9PZjVrSEh0dWhIYjNNUXU1NWZkOHZQNUI3OTViN256bnoreUg0bmF2MGlUQTh1TGQwY2hpSEg2Vm9UTUVpTVdudldrU3ZDZVhrUU9HeHlrWTUvbnNmQk02anVSVWs0c2tFY3JBbU1XdExaK21VMUJMWjFLb2Jqa1JVV0ZzZkpVS3d6R0tMcDZpYTJ2TmlwL3RXblJERVVGekdpanVGSytWY3pMTWw3dTh3UEFIQlREZG00dE1zdFpuaFVUZFUxcWEzUHRtYWVYbTE5NmFUbXl3anVMeTYwWFhkemYrVS9qemVEMDd0M2x6bzkvYUs5VjdrUWdZQUZmK3ZPK1ZTS0tNUS9vZVVCODhjSUxlNitqSUdxVTdqdTlkZitTVElVM1lyendGSHdRbG9seWlUc0FSdmVKSmMxaHdaMStpRXNST1UwUVlqR0VsYnp1ZHJpeGIwK1ZnYXc4c2hZSGFMRlQ0VHRiZmcyMlhWVGlnUTE5Snd0MEd0WDd2WDdYRTJJc1FqRm1xWkVmcE51N1A5Qkh0NTVjYnY3SlM4dTFwNTdpWlJWZm4xblIrWGU1S0VUdGdJYjk3Yi84MDNKaTM5KzJ3OWNBSTBWUHI1aUJkalFNVVk5UmVIS2l5VE1YUGgvcGJDdzhmRHBkVnFyV0h5encvU3dWSk9HK25TdmdlWUFYaGVkT1BKLzBCS2prNDRKTFBsc2twL0hUdU1OZ3QwTUJLVXR2aHlLWE5YeS8vdm8zMnZ1NHJtZ25DNzdGNVdsR0hzQ01sMXc4YU9EYkVXVkVQS0xvYzg2NDJBT1hqcTE1UXBIZCtvcy9YL0Jlajd0YlBGU2c2SENwdFFjT0ZDRmVwZHo5bi85YVB2cjUvL1lUYWpFb0xpNGNQUExqNmVOVStwejY2eFIrUG1pb0FEZmJSZ0FycHM2ekxFcWFwdkJSRkJvOHRNSUxJN0RnSGkrb1NqS3dESDd3NEtuWUNyS3dteFo2U2lRUFdyZFZoTWtFc2NWZzhjaFMrSEczNjc2K01uVDFMSnZLOWIzaGFYVDFLcVI1Vk1RV0M4SmhzeGxYNWRXdUp4TzB5czNiNFlNeDVpaTg3T21icUozOW00d252dmdGZTYzeUJkL3gvRDRQLy9JTXV4NWFtMy84b3lHMGQzL3lvK1dlRlI1K281ZEhYUTFsRlJXQ3VIREVJcUc1Wk9HUmdlZGFzTUhzWHV3a2Y3N1FNYkNtdldveCtQcUpOamdBRjUzdmdKYUViaG8yaWtlRjBMc1B2MTNwdE5BOFNCVFY3ZklreTkyT1g5cjNYQnBsYUpCZ0JyNzMzWC9vWG9OQXJsMFRmYVdDUGlOaWdwSXJTbUdwN1hjOUZSNXNwRSsrOUpGYy9VNlljbUxGSWZsTks3eWJMLzJ4RnhxZmJtMkhpOHV0ZjVPQnk2ODV2Ly8yL3kzdi8vdS90Vzh3TU8rUWl3Yzk1c1ZJVlhkMUVuYWZiVDk5cndXRWRQWWRwQ1VpM1dYcVlSc3FkeThUeVdJWDlQK1B1eEp5UEI0WmdRekVoWEhLU0lNelpUaHJGQzdjc0pjTElTdmFqTi9GNHZXSmtMT1h0azVjVHZCUjc4ZUthdWt1dTZibzR4R1MzcURUVWZlUCtucEg3L1gwSVd0eHl0RGFuZ2NLb1FiL1hqQkU0M3pkZmpEd3hKOSt5ZjhwSkg2WmdsY29pM1k5TDBBYlcvdmdWKzh1Ny8vclArYzNHTWFqUFFIZUdCczY4eDNQTlJjdlBBWUs0enlRR0E3Ymlyc2ljcUg1aDAxZ3JQSExWb2h3bVUzRzJxdjNjMmJrbVZFdmIwRVJUdGdrUS9Qb0NtSFZ1dEFtREx0dmZackZyb0luU1Bqb3VTUVpkeEhLNnlXUmtlUzVQaDFEaXFKQzFzbElYN1hZcXU5YTFMcUV3OWFQeUdIRkZYTEIwTktHeU1vdkx2eE02ak5mK1lyOUEzRDdkeGl4dStFeWk2ZmNvMWFBeDh2OVg3NjkzUG5SRDVmVEQvbXJaQlNhQ28rOFlvekNZNkExbEtYc2VKeVFUanNkMUpBRllES2FQa2tqVTE5Y1RxcHBETm91dFRiTXdnUHZqRHRra1prOGpUdVJmRzR0SHFkQzFoa3AyRit6WDR2b1I1MWFXUEROdU1oRGJTMmVXaHpRanNmc3NqdHl5YWJKbzNqcWQ3bTgzSDdOb1BVRE80OFZmQ01YeHNpNXlhMG5wbXZQUGJjOCtXZGZ0aWZjZU1Ed3AxbmU1K0granI5YU9WNU83S3V6My96Z0g1ZEg5Ky9EUmN5VGQ0TUw3Smk5dXA3cEVjai9Cd0FBLy8rQ205ZFhBQUFxKzBsRVFWVE5mV21UWmNkeFhmWGVQUnRtd1U3c0N5bGFwaVZTTWlrU01DTVUvdUFJTzJ4R3lEL0ZKdWlmd01YNkM5N0NEa2M0WkRrSUs3eklFbVNEV0NodW9rQ1RsQ2xSTWlGc2c5bFhUUGQwVC91Y3pEeFZXZlh1Nis0WkFLUUw2RnRWV1prbnM2ck9xN3JiZTdOdy9KNlR1eVdsM2RKVlU0dUtDeW9NdWVUSm5rV0lGL0JmeFlXTWRmNVBWMHRsTVhCa3oybzBSbTcydThKd1BXbFhiN3U3WldHQk9zM2FnQWM1Wlc3am1zVDUrdGYvWTNubW1jK1orbGUvOXR2bEsxLysyalFXTEMxMjA4dzRwVHovOWQrdEdORThrMzBOMkYvK3l0Y2c5LzdOWXRHazkwSEpNODk4RmpIK0xvdmw1WmRmS2Yvb0MvKzRqcEFKY2RCNHNENzJyOGxZYXNtamlHZ3dUc3RIajVSREgzMjZMQjA1VXNyaVlsbFlXdktjNVVWb1c3NVV0cTljTGhlKy9XcTU5ZDU3QnJZTFd3WFErbFJudkRtTXlLaThjSHZFeTkxTGVDalNZZXR3dERFZWtJR3BobUV4UXNiL28rd2FQSHJKRE96QU9sR1JHL0ZjZ3hKUDNwYXRXbHZUTlJRYkhNZHJnK1BvenlmaWZRR1R5c2wxSE1lbkw3ZHNlUVJRNVJsRGJWTTVpZjNWci94ejlhcjRwSGtQc2cvYXFpL1A0a1BCRHdlVEUrKzM0SGZpUTRiMmpDRjdqYUY3TVJnY3ZHK3RoK0RWeG5vNThyYytnWHdEbFFYd2pNU0RKK2FKaERjdm5DOVhmdlNEY3ZQOE9RTTdHUEhvL1ZZNEIrWklQTFpVa29SYXkvclFtNXdkbmlBZUZDaG5xcGpvcWNpSVVTOUx1MWp4akp6enNZa2k0aGtZRHRUV29JMlRSeDIyNVNUMEtvZHZyWkRuenI1ZFZVbThsMEE4SnZtb2pTRlR2V0pCY0ZEaTBWWStGQk5sUGo3dVVXUHB0ZDN5N0RQUFZPSlI5KzY3SDVqYnZ4NnI5VUZZTHRHUjJob3JySGgzM1ZVMm5uaWlyQncvQnNJdFljWEQzRENQMVk4NWlYaHJjNnVjZS9FUHk4NzE2NTA5SzIyK1djc2o1Qkc0REZvZkRQSG9nTUFDcDFNbWhhR0I3V1dNeTdkYUREdFd0RXJJc0ZXUVZyVStFSCs2TzUzblJDckozYkpEck1NeUVzOVd2THBDZXEvTThlQ2JNdUhtN1ZxNjgvSzJxbXJjR281MTB3eDl5MlU5cjNoc0V2SFVOMU8zM25nMGltbkVjcjAwZnNNNExSNCtWSTc4alkrWHBXUEhqR3phYnAxdzNHNUp2TVd5YysxcU9mL3FTMlhuNmhXRG5Gcng2a0lqcDhFRnlXZUlwNGFxWHd2cVRoV2tncnFJd09wMGFqRGRydUpDVlFSanl3SUpWNmZQSklIQnNnWWYxdERyRVZGRmNzODhOaFJGd3hYVlYxTzNkQzNhcU9UeVRCcXRSc1NtUjZWeFZjMCsySitNSVp1cGZONDVwUFUyNHBWZitYaDJPTWRqakdwclk2UStxbS85dVdMVDk2amtneldOeDlMNldqbjJtVStYaGRVVjIxNjEwbkVNYXhsYjdzMXpaOHZsSC94cDJUcDN4aWJBN0FOUXM1REpLSS9XeDRoODRhNjR1RkFnSG9TcjlrZHA5Rkt2cVZ1OWp0ZjhXSEdoS3VMUmRwSEVJNm1xYVMyRUk5WmhIUVNWSjVLS09LeTdScWlISktOVUc3UnhZRWFidkUxbTR0bW9tb1d3WGFLYS9ESS9DUEY0Y2ZFVm5OOHhlVXlLcFBWQm1LYUVBK3ZQZmVtZmx1ZSsrRTlNbEM4dUtHaDlzMlk3Q01QeWlROWYwL1FTOVppV1Q1NG9oNTUrR2xzdVZyeDBUdWVrdzZLeWdGVnZlYmxzWTZVNzkrSUxXUG11V1FBajhhemV1dWJnMWhNV1BlSVBnSGhqMTlVTkRwcThzOVQwOUttZ0NGMngvMnlJNnlCcDZDSm15SGZUMVcvendHN0l4elNwaU5EclV5SWJiOHVrc1JVSjVGQUVsdGU0R2xickRmSDJQOGZUUlFWMVpTc2ZsSG55dUJTdjlMNlVpT2RYeGs3ZWVTczZzUndwWUtQdXRYR2NtdWJxM2FmS0JxNXFsMk9ydGEwVjUza2tJUzh3ckk2dDl1YmxpK1hzSC94KzJiMTVNNllOR0JHMGZiQTVYa3pxU0sxUTd2NDY0bVZ5bU83TW9VT0sxbkJTZFYzSGoycHpDbEtGVjdMYS9oaURFYTliOGFpbExSc291N2NpMUVYa1RsbWhVbE1STlprNVlKTzFOYm1KT2psdDJlY3ZmZW1MTXl1S3RGMW53TUxBanF0dFhqVmxxenlUV2JMMmdXblk4aVVkNXBUZHlRZUR0cU1QeXBoc1RJWStjRTVJdUtPLzhXbGNUL2h0bEVXZTA1RjBkcEdCbVVLZGYrLzk5ZXZsOG12ZnQ5c3FCRE0vRE5RU0NuT0psNjVxdGRXNjBkUTBCWjVBYzlYS3lVWkZuaE5FbThXQXVsSkhQQWh0cTdWRzZTaUhrTVptRzJpczRqKzZvWVFkbGllRGlJUENrQ3doK2lDWnRUQ21UOTVsNjc3azBhV3E1Zk8rZWNUVDlqckdSQ1R2UTNnYWlGRDFJVDkzN3AxUWFsZkU3RDFUN24rMkdUOFlEdENQVjlVM3JJV3kvcEVIN1haSzRTcG5KT050bENndkxVT0dpRW04bi8zZmN2RjczOEY5dk91WW9rQ0pRZWI4VnR3ODhCWkFiU2wxeFZOZ251OTNkTVIrQTRXTllyQm1Idnd6NTBNY1IrcDBSTVQ5SXJxTFZjK0paVXBWejg0SjBiNTdTM2pSVGlpYUtxOUVIZVJWdytWUXQwUTdXV2ZpMkhuZVN5OTNxNW8wcGU4allBQ0dudTFkV29xMlYwN09QQ0l3b2hGTHFHemhOdnZGT0wrai9OU3ArK2RndVZXUHBaRVp4OE4xZWN6anQvR3hqNWFOUng4cEMydHJSakxiWW0yYjlaV1A5L1Yyc1FQZGVPUDFjdTRiLzB0RDRlUUx4elovQXhtYk54OXhxcjV2NGhIVTRWSWhyWGhzWi9mNklYQXBoUXgwa2RRejByamNpRVlaSWpRNzRKRjByQ1ExYXdzTnF0WkVHMC8rQ1RjTUNFYTV0SmpuN1l3bjhDUWZrMU9kNkh0alpYdmFUVyt2YlBIa2lOYkZtRGp2d2RpUHFmTTdzN1dCYURhemZYUnNlc3Y5OWhIM0dKb2MwdVdsY2hpM1VqWWVlZGkzVjY1NHRzM21iWGNaSzk1Q3Vmejk3NVhMZi9yOTFCR01Fa0twSHlIRVp0aTVNeWtLaWl2eFpsWXZoNTA5V2cvVllRKzlkc0RhYUtJUTFMSWY4VngvbDFkTjJsb3R1dkJENGdGejkrYU9UNUpGNVVSUWdEa1NlZS9idkVaRWhabTN5dkZlbWE1dVBZTFp5U05heHNyRTB3V0F0OHViNjlOT296SmlTRk1yWkw2YXBXN0daWjJwWVkzakliUSt6cWJ2OXVyZkVoNlhiVHoxVkZsLytDRTdwN01MaVhwKzUrZDVkb0VCMmRrWC9rZTVnZk84M1Z0eHprYWlBY2pHblIrSVNKVFZaQjhVcjFGOFo4U2pvUkdFUU1GdUw3S0JKVXRPTnhiTkZYSUVaZU1ST2lnejJNVUZkTXhFSkI3VmNSQ09sU0hEaW5kckd4M2x5b2ZrUnl2V0EwME5ucmwxMUVETk81V3lqYmRRMnVSNXU5UnRDOWZ3SHFpY2NTZ1RGbGVubDdCRnYvVHlxNmJheGRNaXN6NzNXSXE2WWJIOXVlZHdHK1U1djQyU1NlY2ozdmVOK3ZQaXNyWmhQT1JSV0N2SGorUDg3bStXRmR4U3NWc3BJSmpmUU9ZNW5pNHdsc290UEswNC8vS0w1Y2FiYnhEV1V5VVZZbUpaWWcwTTYxWEgrMmpFODNZM2FHWXlIL0tJdUswcWlYaW0ycno1aFVRWTJQUU1aVlJKNENVakhyZFcyT3FQV0NnYndTRm0zTGUydHN2dWpxNk0wQnloRWRXSDNTVTh5bE1qNE95SzBMUU53Qjd5YytWU3F1ZG9FQmltRFY2enFqNnF0eFlUTVJRWHg2cnBCanF3MkxjWmVVaisyWEJ1NTFzM1hsNjRBeXlQMlAxNlRCNWRuVU5zbjhzblRwU1RmK2Zac291eWlNZXJXWHRPRzlzdXovRnVuSDY3WE1LRnhlYmJiMFZIbEVWUE9FWktjT3kxSkVNYjR3SHhUbUJGVkdnamlZU1Fjc052Rm9SdXNBWUo1U1FKZlNKUXM3dXFqYllsWERGeDFldUlSZ0lpbWFlWW9OMmJJQjdKWjNKNWxwNnAyOEc5dTFicldiVFBtL0FnVlY3MWFQR0ZML3lXcldEQ29jenh2Y1Q0V2p5VU1mVWtkNG1PZWV4eUg5eUdXT08ycnl0akliUUlSaXhxZUdLOE5hN29HMXVtK2tHaUhYcjhzWExrRTc4Y3QwKzAydUZLRnVUajdaWGRJTi8xbi8xVnVmREt5L1Z4bVNQU1UzaGpabVZrY09aVkhNT3gvQ2ZpbVlwTWFMMUhjbk0vN2tNOFErazEvVG9XL3VnU1RVdExxL2pqaVN0V1BVc01GQTFHUHVhdXlLMzIxbnViMEdpVFJHUzJXcHBIcW5CRVhTV1AyaVhDWU03WG8vS3FSMzA5RzNYYm5sVFZ0emZhK0hxMGlLdE8rSng0WWFPWUdnNXVuNXh0dDA4SWV3b3ZCZVNVNHgzN1FiMkc1ZmcxSHJTWmJZMHIvR1BjajMvMk0yWDFnZnRpV3dYeFFEWS96OE9jQk9sNFR2ZmVYLzYwblB1Zkw2UndpS2hkQ0dWaUs3RUp5Y2ZCeXp4U25MWmFpaktKV0orWEFoSE4vTHduVnlicHJORG9pNWV2RFBUUmYwN1pyK1d5dkxLR2dvVVVrVUVMRnh1V0lEWWZPTC9iSWZHMmQweWMvZEtTZGM5VlVyM2xaaGg2S2p1TzI5QitKSi9POXpvZjQrVEJ6bkVjbGJwS1ZRNmJjWHVWbm5UR0ZWZmJmY1B5T0ZudjRrbTl6K1ByMnZrb0pNYnI4c1cxMVhMUFAvd0hHSCs4c3NFNXdDcG5iNldRZkN4Ymp2Tzd6YzF5OFR2ZkxsZi85MnNOeEVwRUNxKzQzZUtSZVdha28wNTBWUDAxNGpYNVNDSzJqRW1tVGQ2VGI2cTl5ZVFoRHc0L1djdXJHK2dyVmowa3V4b0NXKzM4amdKbnJuVnQrL29tdGx2OFljeUl5cUhMcVhuS2JYdXZPRDc4dlg1K21pSDhmS1hiYkZvcDl5bkhOUnVUYkZvZnh1MlZQa1U2RVlTeWcyQlJqd09VU1c0aWI4QXhSMXJ3S3RUajVkaXZmY29JVjRrR0VwSndKT0l1Yzh6Tnp1YU5jdm8vL1U2NWVlR0NJYldEK29PY0U4TW9JOUI5aWRlRHROcHNpYXNRd1hNYTYybDQwS1FWanhaVHhLTjhaZU53V1Z4ZWtUSWtERDV3bU1XdGxsdDRQcmh6QlhmTWIzSFZZOE5JcXZyWlExdExVeEUyR1V2dXl4RzlOdDdPSUZxN3VtdzJsRmVzWWNLelhQMXhUN0xwSDlrUmk4a3VKZzc0SmpUMTNZL0hKSHlYdTJ4Mm5OaUtoREUrK2ZsbnkrcjkyR1pCTUh0U3dkeXVaRWs0cm42K0FtNisrMDU1NTNmK2c5dlZvM3Fva1pNL0tHQXNyRFVGSksyNjRsV2NOb1JOMUpVU1NpZFhBQlEySFRzOXE2SnhiV3g2UzZ0clpSbmtxNnVjMmFEZHlLY2NmUUhoZHE2Q2VKdDRRSTNVdkk0RXRHYnJmSjd3ck04NFd3VFRXT1BWSlZGSkN0cnhUUlBINDNIRWNobjFxYXVhNjFQcUwzanlkb2xldTZlVUtWOU1zTjVzQml5dUx2SGhuUGJoK3NSZ2Nod2V2ZGNjYTc3bWZ2ZmYvM3RHTHI1NVFwSTUyYmpOcHEwV1JMend6VmZLcFcvL3NXRzFRMTZQKzBqSDFZNDJOYzcrV1MwYnRDWTE2TDdrUWZjeTFySlQxcU56RWx1VjZFdzQ0djlNTXE1Mnk0ZXc2bkc3eFlCMDIwU1FqN2FVNzF4N3o5NSs1Y2x1bm03SER2eXVKVWMzRXRSUUxhWnByR0tQcmZSYUV0R1ZSTUF2cDdkWjFKWkh5ZU55UDVTVGFGT0VveTIzYzU1VCtnbDVqR0dBdHY2NVFENnFmTjVxRy9iTWFDUDl4ZFZWZk1maUtYcysyKzdWNFJZS1Zya0Z6b1BsSko4VDhzMS84eS93dXZ2NWhPWkliVVNGN0pHTnhLdnhRbTFpeFNPdUFKS1ByaWlJSnV3SVMzT1NSODJDTXdJUkhZS1FaZkt0SGpsV0ZySHlPZkd3dkF2QXNPREI2c2h4VzJYN3dxVnlhMmVuRGlTYnpHMlhTOUtneHBCWTcyd25WaEhaVEsxK2FpTlpYbjdsVmNONjZTVi9kVjV0eko5OTluUGxjNS83N016cUpoM2FmL1dydjIydjNYZnhxRmN6cE9KME0vbFJPRDZzZmI5Vkc4bThmUHl1Y3RkdmZLYXM0SFVvVzkyNHBRYlpDc2htTHdYWXFyZGNObkgvN3UxLy8rL2tKbkt0ZG94QlY3WnNDalo0TURWRTlZdGR1a1BpT1RpUFRONzFZYVVrZUJCTkpIUGxSTkVZRVZGMGFYMmpySkI4R0FCcmdyMTltc3dCRGxZSENsYTY3U3RYYmN0MTM0YmN1NEVvNEpQY1A1dXVYYm12YWplRkdsSnFNVDVoOGJ5UGFXb0ZyRUMzVVJEaG1DdlJsNkpYLzF4R01lS0pjV0NiNG1yeGFqNjhUUnJDRVRKWHUzVzhFSEQ4TTMvYnQxbWV5eG5KZUg3bks1NHVOT2prd2tzdmxrdmYvVGJOVThwZWE0Um94M2p4QTh5VUhDdGU0cjBQNGpWVVlYZlVJL2drOFRRZ3NGZHNvYmU0c2xwV2p4MHZpeXU0eURCNGRBQnRqbytqRlZDSDdOYldUYnlDZmFId1lrTkpjYkR1MER4V2E1T3hObjd5cGNYNG16WlJoTU5DUCtIdmg0QWlHVmM0bG1NWVpueFVlVVRlOTA5UmV3OVZxellScjNVaTk4UDZ1RkJXNzd2WFhncFlmK1FoRUsyZHkrbGRQRCsvY3hMeXl6MXYvdHQvVmJZdlhSSmNRclFSVFhWWEVlOWlRRTFvbWhFZ2lIY0N4ZHdsTjB4RExzRkVMbEswcGthK29hMk9DSFJCSE5OVEVFRTgzbFpaUFhZQzUzcUhmRElrTjMxR21ZaUkrMFhibDY5aU1QQ0ZFL1N5d2c4RVVXVGU3cXRYTDBOdHNLbFlodHI2TVUvT2M3Wm5zSlV5UFlQdDFITEltRVF5bGwvQlZzeHRXTEtHMTgrQTk4Ym5STk9xbkRoTWVjYlVOeDhoYjZkc3lrYnlJNS84RmJ6bS9sUlpPb3dMT3J5WllqZUxiYVZ6RWk3ZzNpcmx1OXZiNVJwdUdyLzduNy91d1BXb0tPbGx6amFiZzVSZGREcUlSK21vRlJveW1KTzNhWkdDU0VBOG80bzNaRGcwMWFvQ0NaSXQ0VjJ3OVZQM1lka25PV01vclMzcW9VY0VmaEp2bnI5WWJ0M2cwNHcyMFBUY1ZyVTVaSVA5R0x1R2NnYUxna2lHamJMeUxHZTU5a3NOeUtYYng5WGtTZFdLMUdOcVdCNnJqMGVXTnd6NWFKWjk3OVEzU3BkUEhpL0hQLzk1dkJCd0hBQjRqaFJYczdxb3NDMDJicWZjdkhpK25NYzJlKzNIUDNib2VoUWlCUzFTUmpSM20wMXFleEJ2Qkt3ZXUwTGZQWTloRi9kUStGak0vYkRzY2pkRXdPZ3MvN1BRRlF5VVRJb09yeDdIcW5ma3FPbmh6TVAxWWNNTytkTU03elJYcXAzTDEzQkQ4MklwdU5CZ0VoekxtZ3pMb2N0QnpuS3JESHFVTlF5ZmNPbFIzbUdtdXVtRUQvZVNjZHhPT016YnRMbVBodDM3bEUyTHlTWHkwV09OOFFtMStlZVh0Zm1sYmI1NzV3U0wyeWM2djBOdWR4YXcrdkcyeXBYLzgyZmx6SC83ci9hMnNXSnBQZE5vOU5GeEdDeWxJRTFUY2pRbTRsRTFhWm9sRDBtN3lscGhpbmdPNHl1VTdBMlpVQ0NsejQvYW13dWRFeTRmUGxwV1Q1NktHOHIwWllhd2JZU3R4TVdONWExMzNzVk41YXRPekFaSFEwdTVWN2szTmhqUXNId2dacGdtZ3ZSWWpoTnhDVVA1Z0NXdGJLT1lYQVpEMkl3WERlWnhBc3ZrR3BQdzZUS045a2ptYUFYV3hwTlBsR09mL25XN2Y2Y3JXVi9wdU1YNmxxdGJLVnY0cFlCTDMvcGp2UGo1SjRKM2Izd3NaaDNnNGZhM1dZSWw0bWtvS002cERrMFcxdklNOGF5bFlXbXdzNFJqcWRYSDFNT0ZpTWNibVd0MzMxdFdRTUE2bEFDb3oyNURLc3lkNnpmS3piUG44QnlYditYaFVoN05qZVd6cTBpNFJHdExzakhKdkFtSFBCT0V1bzVGSDB4K1pLbjZHR3lxUENLVXhUeDVod1ViLzlDNXAyeVQ1eUxMcWNuRmZ1WFVxWEwwVTU4czYzakxtQ1N6UjJMTTdkd3VybXF0N0NTODlMM3Y0b2J4dDhyVzJUTU1BWW1SRXBsL3VZeXExZEZpazF1cmJIRE5GcERML09MQ3lxR2lzdkxCUXVLVTV3NVhNWHNLVTdmMkkwT3RFb3BpNjB0aW0xVEtsdy9qamRnSFBtSk5qSnpEdlpqMEhkR2JDOTdSdTNueHNwR1B0MXBhMjV4Sk9pQVJpRDRYaXdOczhiaVBpTVF5dCtHeEg1bTJ2Y1prbUViMk1TV2Z4YUVUOThIU1lGUGphbkxxTFBMTDJyLythN2JpTGVFM1V1dzlPNjV3dkc5SHN1RVV4NGtJQXJLTXZyMzVyLzlsdWZIMm0zZ0gwazlqR3FMSFpGRW9FSi9jR2VLRm1BdDZTeENtRlk5eXFUV2R2b3RabnN0dTExdDdyZm5qQkRHNXhBSkpSTkpJMWxVUGc3SjI2aDc4amdmZWlNWEE4T1p4bTBaT29SUFJjYkRnNDZieXpUTm55ellJU1BJcGhUZFUzVHVQbENtWG51cVdENU5IbmRZUFdUU01LWnQ1K2oyV1IwTDdYajVnUjd2TlhveVo0bFVUYytHdzNQeGpwRUNrUS9naXoxMjRaOGN2OGl6aWF0VldPY2o5dGtrakh1dTdPOXZsNm85L1ZFN3pTamFOSlhFYk1yeGxObGsxdktaQVdEUnBDOGdDSFloSDRHVEZxcVZzSmRtWXo5b1ppV0RxMWlJZTdVS0NUTnVXb2JuWVpLenpodkw2L1ErVUpUeEs0eWZRUE5qQXg5b0JmWnE0Q09lTVdQbHV2UFUyTGpndTI1ZUQxT2srTjR1NXZleDFMU280UWV4dzRwYUszdHNzcGxCajFsWTE5amZiakhVZjZhYmY0OUZYOU01S1hWd1RId3pYMWhpM3FPeTBCZCtqT1BxcFh5MnI5OXpqcXh1M1Y2eDBmQjNOWGtYRHFRMEo1NjlFTGR0cjdXZGYrQU84ZS9lWEhxUkZ3SEFRbFVFSHZvaFhxeDUxSGx3Mm1UU2FEQXJDQ2VLeEtaQk1pNGRzVllWRFliU1JuZVRNTlRDT1ozRWJhd0lxM0dqVkk2TldUNXdFK1Q2QzFSK2ZSRUdaT3BXZGpEVTZBUElGZ3EzVHVOaTRpcDlYUU1vVDZ4RjQ3MGE1S1p1K1cya01PaHNiZUE5aUw3a1FoS2xjTmxhZndISTk3eGZMN3FsSmZmeWFOUGQ3K29PeGl5L3ZQRnlPZnZKWHk5b0QrRm9rQ1daYktwOU04RUxDdDFvOUp1UE93cDNqL0l0L1pHOFoxeFhOWW5VVzJJaXpubE9FNUxld1dvTWk3ZFJET0lkNE5KYVpnQVpuRW5mNWFNUEdzR01HSXVVMXdGb2gxNkN4TG5XUmJ3R1BkalllZk1odXNWaTd4V1ZHR29scVl3VTBiVis1VWpiZndNcDM0MGJYQzRiUWpMeUhMcU1ZSDRySlZjMVhLak9OUTdWQnNMTTkyaHVMWHZNb3pjZGlDelhuK0xDQkdyRmtBMHVRYU9uUVJqbjVkMzhUYnhZL1lFUWJMeVlxOGVxV3UxUXU0eVhQYzMvMEFzNlhjVUVSY0psUTVqRXpLVG96OTZLQ1k2Wk9wbzdmQnZFeUFzdERzaUFUY20wT3IzSk9PU2JZRTRUVmpyS29tNHAwOEdNeWVIVm40NkZIZk10bEd5ZWtOV3Q4SEpJTmdESHlZZHZkdm5vVjliM0kwMEhCMUFLeVdPaW4xUUlla2p6ZGJJOU9XSWxoemRxNGp5WlhxZmN0SkFQQ29jUGlaTWU0U1Q2bEo0eTFCeDhvaDMvcFkvWjBZbUZGSzUyZjAvSGl3VjU5c3UyMlBhUGRPblBHenV2ZWUvMW5kbTduL0tKZjkrU2trd2VYMVYxSVpLeTYwWjdWbzQyaUQ0NTRjbEJKUllFU0J4b3BNZzFnTDdPYUgwSlBxeDZGYS9mZVY5WWZlTkRlWG1IOFRoQzJlRzlzdFJJKzIzRWx4aHZMbTIrOGFVODR6R1ppOGh5TE9KNGNyWVhxcGZBQmxlUkNKajFCS3UwVVdXOGpmMTJPdUtaWDJ6NG0xcHIvY1NWa2k4ZTVjZ0pQSnZBSWIrMCt2Tnk1aml0WU82ZmoxZ3JxY0l1MU4wOGE0Ymc2OHBlZnpyLzhEWHNaUUYzSUt4MTlPL0ZpNU4wVnhaNXNiRlZSSklpM0JkeUVVTHRONGhFNEl6VkhWcksranhFTk5qSVhRV3ZkTzFZSkJYa21ucjFOZ1MxMy9iNzczUlhzNVltNXc3UVNCUnk0SGF4NG0yKzhaU3NnYjd0MDBld3g0Y0x1OU0yNkd6KzRHUW5nN2Q0UGo2ZEZxamdaYlpONnplUFZoMUk5OGJ4ZlpTT002TE5xdkF1eVdGYnV2YmNjdzNQWTljY2VOWUxaK1p2TzZ5TDNGd0d3NnNYVkxWKzB1UHpkN3hqeHRpL2lLUkRIVHVneEVJeTJicWQwR1hMM3poNjBwQ2FUcWtuQ1VOdURlTlFZdE0xSVNJRXdtZTFoSjNNUmovWWg4MCs5RkJ5NFRROEdGbzk3RGovNnVGMXcySzhPbUNGODBSM05rT3VERjFVVDhCV3F6YmZld2c4SjRyc0NKSnREMjlHOVZlME01UU1kY1NZWGNOWHJDMjRlbGp1Q1gyREpzdVVxdGRGMkhGbzU0YVJSNVJNZm1FWDhtT0w2bzQrV0l4Ly9XRmw3Q0w4R1lLVHlpd2V1YVBaK25hMTh2SnIxcTFyS3VRTHkxc203LytYMy9DVlBZSE1NNlZzRFphUmpYUUhrQVRUVnBzdXFtazE5anMySFF6dzZ5OFJpTkRYcVZNdzZac09nT1RrUkxiSzg2aEZsK2VqUmN1aVJ4M0YvNzdoUFpNYWdnaUVrYnh4RmpBU3ZjcmZlUGwyMmNLOXZkL3Vta1NxVG1wYnVsY2UreGVWVW1DVVA3V2paV3pTc1dibmp5NmJWSEVueVZuTjg2d1NLL1FmQXRYaTFlamp1MC9IbWNMR3JWOTlLZWN0a2x6ZUpTVG9TemNnV1Y3V1EzY0FIOHN6dlBWK3UveFZ1blVUcXQxanZnYzJKZ3BWaXplc0lXWHdTTzRGUkV4UFZRRkgvNUNLMTFHS3pVcWtTbytvTWhScWdMTlFlQVNyT1RKcGtRNnZtWTVnNkROemFxYnZMNFNlZkxvdjhWU1A4WjNEQTRpOFpEZHFHUk8rbWcvTytyZE5uOEMzNGQvQksxUlViRDRVeWY4STVicTBmVForb0F4R001SzdyZldoakxqc2hxZTZSOVRhT1BHQlhYN1FNZlJCbjVkUkpQSTE0SEN2ZHg4dmlFWHgxQU9OakJJdlgxZjJjam9URDdhamhZdUs5MTE4dkYxNytCcjZ1K0lQMGRBSVJ4WWVWY2FqdldVYTVKOGJSYnRhcmI3U3FSS1ZpYTNBeml2WWtYdTFqZERUTUdpa3F6cHpDaEVlblFEQ0JFU1NkOEZjN0c3cXF5d2tIY3hWUE5RNDkvb1E5V25ONUVNL3dIRWhINWtZc0ZQaTZQSjl1YkwzempsMTg3T0xWS20rMXJEc3dNc2ZRWkl6ajBOUlRMOVJER3ZtcUREVmh5VUoxNVpJejc3RVVRY05nTy85cEFONmpPL3pMdjRSWDErL0dGZjhoSTVlZjAybUZhMXV0cjNpc1krWGpoL1RtVm5rTHI3SmYrK2xmNE91aUdnUDRhdTRRaDBkU1NaUURxd0hUd0ZOclRzUnJRcWxadmpmeHFHS0J1SFhHMkpkOHlhN3pxR2xSdkpsNG9kZzY3QUdvM3VNVXU4cmRlT1F4K3lYTHZzMHRHQ05qN2s2S3FjaUJCK0UyY2FPNVhuaFF6TFpJYnNzQjdDZmNQL21HV2llR0ptMDgrbWk5bTBLWnhUcm9lWitGUmJkWXVWYnZ1YnRzUFAxVU9mWXJuL0NmbHVBcVo2dVpiNmYrV2hPVVFUS2R4OUZPcXgrMzEwdmYrVmE1K0NyZWZxN1BZV09jWWhCeUwxcmZMSW80K0JnNFFmTFkrWmp4UTJjcDhMSWx5L3NUajFyQUdNKzFYQnpnckV5bU9WNXRPbUZRNTJOV1R4MTNEMDRnakhvWWVjWnZ3Sy9mLzJBNS9QUkh5NEplbDFjY1pvaERKbmJJZEViR0FiMTF6WjkwOE8yV2JUeHE0NTE3cGh5UllxQlVjcGRCY1dKVm8wNGphTU9hd3FHdnZiRFlUZzF1bGZ4eXpxRW5uN0NMaUpWNzc4R3RKZjQ2TzdkV2tncXhJYS9uY1pEenRvbDlHZHQwZkJYY092TXViaEQvWWJuNlp6KzJLLzZBTngrNko5ZDZhYTN3WGlOMFFSMEZiYk1hbFdobWxyYnJKSzNGZ3hFUDZtTXdSSmdOcU9LbXdrUlF1U1BzVXlaSFdMcVZIK25IU2xPNnNGM0ZLMVNIbjNvYVY3c25ERmtlYlRXeFR4NGxadHppTWlVZStBK0czTUQyZTZsc3Zmc3VydXp3UFE2OFhuV0xQNU9CQitUaml1UUFvbTZEODdGd3o5bGJtN0xlWnA2Y2lHcWpiMTQ0OEFQRzkrajRvSDhWcnpieFEwWTVuN002OFhnTzUzOTFsVE15aXBSNHlRTGpjT3Y2dFhMNitlZkw1VC81bmdmdTRScEp6S2ZWTmRNZWhXSnBQV1dwR3ZiaVdwdTJxczFFMlBNY0wya3FuQ1N5NHY3a1U1RFpjaXF3UVE4cWVaV3Q1S3VkYm5qY1F0WndmNDhYSE11ODJxMDZneCs4Tk1vSjhETVFhTVZBZTBkY2wxOW8yWHpuZE5sODh5MWZFU0NlUnlyYXlVT08zbVU4VGtkQ1hXOU51YTBRanNKWGxYaDF5bk8zVmR3RVhzTkQvaFY4cUpid0Q2RFlPNG1WWkVFMjFPMmJlWlJyZTBWWkpHUWMxLzdpeiszTDJGZC8rRVA3RFpRNlJOWUo5RERHd2lOZ2RPcUZTNmpteWZ1MDU3eGJYNlEvblIrWWVEUnZ3OWpBOWd5Z3FabDFWNjFUSnVuWVFmalQ3SmdLMjMwd2xER2lPb0Q0OUsrY09HVXIzOW85OS9yYnkyWVhOckdxQ25MY0NpWFBKbHRuejRLQWJ4c0o2N2Zac0FycTZsazI0YUdMTWtVYmNmZWoxNUVac2JOUEpNMHlybEx0Wi8rZmVoSzNqTzRxUzdoOTVNOVVmUnZWS3BkWE9yK0s5Zk01bHYxOGo2c2QzenBaTEZkLzlNTnk5dmYvdTkwNjBUOFJZTUhXUTR2R1BwZ00zbEtjcjZscWc4M2VxdWUxWVNqa0VSbWFvdm9MSTU2dk9tTlF0Y2ZXNE1SVEo5aVdyQ0EyN1NDVWtQaXRxY05QUElYZjhuME1Mei9pY1ZFUDJUZ3JBME90bEhZQ3dJWmViWFd4UXJHcllMNzFzblh1dkwxeXhXOWY4VEVUYzhYaHF5bHRmVnNOVThjQ0h1dEsvRmQwK0JvWGY0RnpDYmRCK0hZd2Z4eVJqN3ZzQzlZOFg4TjVHMWhuY2RqakxzanNoeE81c3BGZ2tWc1pCR3N5SituMjVVdjRrczZQeXZsdnZJaFZIRDk5cG9Bc0NIWVM1MmdXUEFYYUIzS1VJL0g2TnZXbHo3Tk8zNUpydDBXOFpqajE2VzJ0MDZYYXc2RTVCenFyazd1dXN5VG1kUnJEUEcvTHZMV3c4ZkFqWmVPeEovQld5M0U3ejgwRFhHMFppYmtNdjl3aVRCVDF5RnlKYlI3Tk5uNHR5YjdqZ1N0Q2ZyK1gyelAvZUM3R0h3bmY0VDFDUEpobmZlZTlHL1k5WWNiRW4vbmlmVGUrY2NPdmNLN2k1LzBaSExkUmU5TEFiUkovL0xRMEVvRmcvUFJVa3JIc3F4dDFLaEZqaTFVYmY3SHp3amUvYVQ4cE52dnJUdXlsOTlWN3hZNnk1REsycXE5ZXpuSnZjL25VY2RTZDBnSDZRYy94ZXZNNkl5RSttRE4yWmpabFc3WnJFSnBtUno2b2N5WHF0bmlUeldLdllzczlnaXZlOVFjL1lwUGRFS05rSmpnRTRWeUt1djhmVlhnblBtdFVKU21zQlhMVzhRdWxTeVFjL3R1NWhCZFFzWW9zSFQwR1lsNnhXeFg4UjB0OGU4TVA1R0RiNUFySkw2emJsOVlKeEpYTGlFVmNDT3lDSWJiVlNrQzBjT1dqYnYyRERHWDk4WHlPQWZMKzNMVS8vd25lcVh1eFhNZjNZV2ZmSUxiZzYvaVpUOVJHMGxITFRrZFk4QTZ6RkdsR29BYmt4Tm8vZlVERW82T0RPSndPbU1UcXJYczlyMlVOU2lRTmVXMzJvYlN1WXhMNWlHMzlvWWZ4bU8xUnJDeFliY2JiTHFiSUEvRUlvbzBTZGZ2Zm96TnZKQWlUNWQ3dVNpNXZ6YlFKUFpLSERiWmxRczVpMUlrRHNiWFptOENtU3pLNVBrbG1GdzJVWXlzMWpDQ2ViNzBpSWw5WDM4RzU2SnYyVHdGYytjRnJ3NC9yTUJqTmtBWXFqVlAwMjNXOEwyNFF1a2xrOGxrbXV0aDdIZVc5c3pza0hrRm5vb0ZNblpybmRNcUdTRzdYV2F2Q1FhOXdFbEpBcWJkMHRBMlZ2UFZTYmUwK3ZKK0dXeTZIbm53Szg4ZlpwbmtnZHl0ZWtwdFNIQlNITVFWT3pCYjJ3aUJVbE9YYkNSWTZiQXZ5TVI1cml6anFTZ1lkS3dzcnRsUmRVQkEvMzZ1cnF5TlcyUXV2dkZJdTRodGgzR0wxSkVMaDIvaHdYSWhyS1k4cEJORi8zY2N6RlkxSnRYRnpQODF4bE5sam5wL1pWa29FOTNNbVhuYmRBaFB4S09sQ3p4VU9lalhSS0daSlVxNUYyRFFWMjhhNC9aS0E2L2dHRzgrdGZCK1ZFdk13bGdoZXJTaWdmWEtSalZZMmtZeWJOalhueWdVM0pDR0p4eVpiNFZ5bmtZdDIzSEloeDUrSVNoc24zMEs1aWZQS0xUdVhlOVcrSDhHWFgzT2EyaW9aVjB1Z3BJYXlDYjNFaHF3S0thdnZoM2p1MngxK3dNUmp6REZ4TEU2bW9UZlFjVW16YXlVMHFxSUpUNWo5SUVwVkJtNXJFNVpzdUgydDRGK2k1bjAvWG9Ed2FuSUpYNlhrRHdaNUlMU1BHR3VvNFFreCtLcUF1dUlob1lpZjZsYU4xY3prYklzL0o1dlhuVXdxYzlza0xuTVNNbndZMGFJTlplc2R0dFhMcjcxV3J1SHB3M1hjbnlQaGVPNm9WQWxuZ1VqS1hsbWtJZWoyaWFaVVMyMGNtMVZlSXFwaXhSc2xxdmQrWGZvK2lFZUFGcEtjYVBwYmZWNnB0MjAxNzNEcmRyWnZXclBTMXRZTktZQ3NSY1JJaHJ6ZHNzSHpQN3hzc1BFSS9nMHYvRGFmcmlxcHhnSEQvWDRVTVBHc0E0TnhaZEtSSUdyemNnd3pkZEZrdXRUQm54TXRrWW95cm1pTWtHUmpPZlNNb0NhRDNMNWlpQlh1L0ZuOE8ySi9YUzUraTFzcVh1dkhJNzZjT3NKWlVLMDFvb0lBUFlqQjdiYldxc3A0OUNqTUlxc3QwNnRkZ0ZXdHZ0RDhEdkk3dTZvVkNJUHNFNmRtNzFCNmZkVWNpY2RtM1VxOWxtcks3WDVmcmJEUVI5R3dwVFNiOCtxVDUzOUhQb29YS1IvMDJ4eW1SZElCZ0FQWVZqdVhXYXpjTWtrc1YvYVpJbmxvWktSQ0E5dUZ3OXhXTnJZVEI1cnh4MXNqaTJpM0syZmFvbjN6Tk40aHhLTzg2N2hTNWNQOXpYZFA0NGtLZnlFclhDSzdYY0lwMUFUUndLemtMWWdna3BkY090OUsyam0zY2NnQ0liNC80aEdsaGRmd2J5KzRPb2ljb0lvNHI1dVlyR3BnNmg3QjZOS2dHZ0g5WnZSVXJJNlJqeXNuVCtMRkExeUk0RVkwdDJLZUNOa3RrRFc4Wk1sa1JBb3Nrb1lSbUlNZ0lhb014N1pONm9xQUpCeDFtWk93UVR6SGd3My91U3o4eHZQV3VYTzJkVjdCZG5yanJUZkt0Wi84QkNyb0MxZStPT20zai9ka255MUNlc2Qvb1RDaE40bzhZdG5TT2lmVzRGRkdmV05XN01yVzEwN1NLdTl6cXhYUVZDU0tVanI3NUZRM21CRnJ4R0c3ZEZwYnQrckpWZUE1ZE5OdDlsS2NuNU40RzNpbGZCMVh4WHdxd3UyWno0UDl3Z1RUZ2ZPdGRuN0kwRWdxT0xhL1dCa2pEaWNhdmZ1cXgyL0FMZUYxL2kyc1lqZnhYWWZ0SzVmTDlaLysxTFpRUG1uZ205Szg2VHltdlZZNDZ0S2Q5VGwzV1NBV1M2YlpyRktvaElYb0N6MERGZEQrK1JUeDNCczI3ZmUvNGpHQVBsU1gzTm1XTzRYVnV1aGhjK0s4eEpiaHpLTTFORE9XU0FSTG9jRE1SSkpIOHg3Wk1pNUs3Q2MxOEgwRysvVlNmTEdHVjhtR2dCdTRMUE8zNXJhdmdWQjRNa0dTOHNzekM3akJ2SVRWMGg1YllaWGoyeS84SVJ3Ky83MkJyeEx5VFJqcTdlQWZIclk0N1p5dUQyVC9GYzY3WTcyTHBhbWIrS0diRlcrUXU5Y3A0YnlCN2VOVXpSSDhxS0Z1Q0I4aThSaEEyK2dVemtIeXFVN1AybWxRMVJsOUxrMVR3bXhtc0JsN3JsSzJtbHZtUlloZW91Uk5hdjRtQ1o5V0xHMGNLc3QzSGZQdjgySTFYRHAyRng2blhUUmQvaVRITnM3UDdQa3U3RzAxWTBoVG9TVFArNjF3VlZXRVV6ZDE5YUI2S0ZhOFFSNmZ4QXJYRi9ZSnNsZEdiUVk4YVh6SXhLT24yeWZmWGdHMzJQMmN6ZXRjOHpyaVNXMXFyQ3E4RjdRdVY3RnM5eHk0cXZTaEZ1cXFSQzlEZ1A3QmkraEh3bGxVellERHdGb2REdXEzNXFvOTdCMG1iNGRxM1VSelN1NXJjRkIxSGVjRDJtcUpPdXNvaytIZ1lSTnI5Z0tDMGk1MVkwZDArSjhOd1UxRzUvV0VVQWFlM3lrSmFhY1Z1TTZ1b0x1ZzUxV29ISDFBcmppbXRQY25ISzN5eUF0RkFkRlBHeENYK3JGSlphTjhmb3MwK2x5K2VxblhIT3RESlI0ZHFVdTNGenF0K0xlM2xXRW5GVTFZSllFN1p4aWVwRnVKcHdibVV0YWtUWDMrUTBjckJ2QUVtWkZhbWZwTlF4NnNYZWVjaG9VVzVOb1ptejFMdFRkQXlnNFJYd2ZvdXJJZHZVcVY5eVc5TElsYk5IMGg1SHp2Vm1rS2NXcmtwS1B4K0FDSkoyaTU5M3FyZWZBSDZ3SnRtNldRcDNMVDZrQkZQOWUyYVp1RTZvd0dhQmw0VGszUlVZcDdXVXRuWGk3MDNON3dHdEg2ZG1nMEpXOEtvSXpYcTB4aEJVNDJBbHB2SjgvVFVyWG12TUdOSXlXdEh1dERJSjRjTWM4ZGI0NWJLZXZ1Vlc3ZEdyVzZsZ0c0cDZCYnRwdTlyQThHSTNnbGYrZkZ0SnBsSzgyWUgwQ1FSMmhVZDJRY3M0dlpVTnhNSzZmVlhLbXFzbUFZR2FqMzFscGFxZGZZdXlaZi9XbzNIK3RESmw0ZnJBL3lGQjE2dmIxcjZxSnI5VFhJSnZvNjZSR0diaXVFQ1VPNnFPSnE0REl6NHdFSzFLbDFHczFMTFJKVDc5UWtjVERUbEc4MWRmcFJJZUhHRkxGNGh1T1VUckpwVVNYaEFZc3ROQzhkRk92blF6eU5UWXZTNWtuaUEvYXhxZEhRc0J3d3dmWTZyUVp1d0lpS1UwNGhuMFVLSjFQNkNYZW1hRUNPMXJjUkNGRUU3SXdHVC9Ed3Y5cDcyNG5hU0tZWlFObzBZU3ZOWWgyVUxLTmx3MnlsZzJMOWZJaW5pTWRKUkx3TWVSUkxmZDg4R2ZaYmFMSk1PdnozTjdvMFZLM05ZbW9EYWJJcHZRNW90bEtmNjliZTdRRUM1ZWtMaTFuY21kVnJDTlV0Sm9YV2xGc09TcEtKS0dMZXVJY1JwVWVkMGg5bC94OFFyd1Y5UndNeE5aK0FuRGwzb2g2SU42VnVnekxSWUpITlhqcU9ZK2lmSENxYmova2ZwTmJUQmpIaHRqWG1VbDdocG9CTWQyNURSa0w1d0Y0SE82OTZWNmQ4SFJ6MzUwczhkU1BGTjdWUzdVRVBJY3ptQ1RNM3p1THZnejRQaDUvcXFiSE96bENlWTk1cHphNFNYZk5RQVNKQkozMVRPTGR4d0dIMUlORk5tSFdpeVVCQzQrRDR2eGppTVV6RmlIN01yRTdXTElYbzAwR3owU3l0V0Q1a3JqQ3FUY0pQS05WWUo4Wi9RbjBXZG1ibEVwQnlvU2lmaFhDSjlPZTFaL2wrV0ZsM3VreHYvWlk2cFhkd1A3ODQ0akZ1eERtN0lubUg5bG1YcG5yZHl6UUdOai9UazZRN1RsTHRBQmhiV21hbTRyRjJRTHY5dEEvMVJscjFBNWVkZFRGT1JwTzA5L0lqTldJd3NNQTZpSWxNWi9LREd1OFhkdy84aXlWZXhKSW5PSWMzTmRtNS9lRGwvUWRQSkxRSkkvRHRqYU9IWW02YUw0Ly9Ub0RtOWF4aFQydkFWM2Ezbi9vMFNFaHYxemc3M2hQWUd2OGYvVDlqeUxQOUVBTUFBQUFBU1VWT1JLNUNZSUk9IiBpZD0iYyIgd2lkdGg9IjE1OCIgaGVpZ2h0PSIxNDQiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiLz48L2RlZnM+PC9zdmc+';
269
+
270
+ const notificationSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzgzOF8zMTApIj4KPHBhdGggZD0iTTcuNTAwNDYgMTIuOTk5OUM4LjQwNTk1IDEyLjk5OTkgOS4xNjM0MSAxMi4zNTQ0IDkuMzM3MzUgMTEuNUg1LjY2MzU3QzUuODM3NiAxMi4zNTQ0IDYuNTk1MDYgMTIuOTk5OSA3LjUwMDQ2IDEyLjk5OTlaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfODM4XzMxMCkiLz4KPHBhdGggZD0iTTExLjAwNTggNi45OTkxN0MxMS4wMDM3IDYuOTk5MTcgMTEuMDAxNyA2Ljk5OTYzIDEwLjk5OTcgNi45OTk2M0M5LjA3MDM2IDYuOTk5NjMgNy40OTk5NyA1LjQyOTcgNy40OTk5NyAzLjQ5OTlDNy40OTk5NyAyLjk2OTM5IDcuNjIyIDIuNDY3ODkgNy44MzQ0OCAyLjAxNjk0QzcuNzI0NDQgMi4wMDY1IDcuNjEyOTMgMiA3LjQ5OTk3IDJDNS41NjcxMyAyIDQuMDAwMjIgMy41NjY4MiA0LjAwMDIyIDUuNDk5NzNWNi44OTM2MkM0LjAwMDIyIDcuODgzMDUgMy41NjY3NCA4LjgxNzAxIDIuODA2MjYgOS40NTk5NEMyLjU1Mjc3IDkuNjc2NDUgMi40NDAyNiAxMC4wMjE0IDIuNTMxMjUgMTAuMzU3OUMyLjYzNzI3IDEwLjc0OTQgMy4wMjQyMyAxMC45OTk0IDMuNDMwMjUgMTAuOTk5NEgxMS41NjcyQzExLjk5MzIgMTAuOTk5NCAxMi4zOTQ3IDEwLjcyMzQgMTIuNDgxMSAxMC4zMDU5QzEyLjU0ODEgOS45ODI5NCAxMi40MzMyIDkuNjYwNDMgMTIuMTgyNyA5LjQ0OTk2QzExLjQ1NTcgOC44NDA1NCAxMS4wMzUyIDcuOTQ1MDMgMTEuMDA1OCA2Ljk5OTE3WiIgZmlsbD0idXJsKCNwYWludDFfbGluZWFyXzgzOF8zMTApIi8+CjxwYXRoIGQ9Ik0xMy41MDA2IDMuNDk5ODZDMTMuNTAwNiA0Ljg4MDQ3IDEyLjM4MTUgNS45OTk2MyAxMS4wMDA4IDUuOTk5NjNDOS42MjAxNCA1Ljk5OTYzIDguNTAwOTggNC44ODA0NyA4LjUwMDk4IDMuNDk5ODZDOC41MDA5OCAyLjExOTI1IDkuNjIwMTQgMSAxMS4wMDA4IDFDMTIuMzgxNSAxIDEzLjUwMDYgMi4xMTkyNSAxMy41MDA2IDMuNDk5ODZaIiBmaWxsPSIjRDY0MjFFIi8+CjwvZz4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl84MzhfMzEwIiB4MT0iNy41MDA0NiIgeTE9IjExLjUiIHgyPSI3LjUwMDQ2IiB5Mj0iMTIuOTk5OSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjRUE5MDE4Ii8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0UwQTg0RSIvPgo8L2xpbmVhckdyYWRpZW50Pgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MV9saW5lYXJfODM4XzMxMCIgeDE9IjcuNDk5OTciIHkxPSIyIiB4Mj0iNy40OTk5NyIgeTI9IjEwLjk5OTQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iI0VBOTAxOCIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNFMEE4NEUiLz4KPC9saW5lYXJHcmFkaWVudD4KPGNsaXBQYXRoIGlkPSJjbGlwMF84MzhfMzEwIj4KPHJlY3Qgd2lkdGg9IjEzIiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC41KSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=';
271
+
272
+ var EChallengeLevelTargetType;
273
+ (function (EChallengeLevelTargetType) {
274
+ EChallengeLevelTargetType[EChallengeLevelTargetType["Accumulative"] = 0] = "Accumulative";
275
+ EChallengeLevelTargetType[EChallengeLevelTargetType["SingleBet"] = 1] = "SingleBet";
276
+ EChallengeLevelTargetType[EChallengeLevelTargetType["MultipleOneBetSize"] = 2] = "MultipleOneBetSize";
277
+ })(EChallengeLevelTargetType || (EChallengeLevelTargetType = {}));
278
+ var EChallengeRecurrenceType;
279
+ (function (EChallengeRecurrenceType) {
280
+ EChallengeRecurrenceType[EChallengeRecurrenceType["Single"] = 0] = "Single";
281
+ EChallengeRecurrenceType[EChallengeRecurrenceType["Daily"] = 1] = "Daily";
282
+ EChallengeRecurrenceType[EChallengeRecurrenceType["Weekly"] = 2] = "Weekly";
283
+ EChallengeRecurrenceType[EChallengeRecurrenceType["Monthly"] = 3] = "Monthly";
284
+ })(EChallengeRecurrenceType || (EChallengeRecurrenceType = {}));
285
+ var EChallengeRewardType;
286
+ (function (EChallengeRewardType) {
287
+ EChallengeRewardType[EChallengeRewardType["FreeSpins"] = 0] = "FreeSpins";
288
+ EChallengeRewardType[EChallengeRewardType["LuckyWheel"] = 1] = "LuckyWheel";
289
+ EChallengeRewardType[EChallengeRewardType["Leaderboard"] = 2] = "Leaderboard";
290
+ EChallengeRewardType[EChallengeRewardType["Challenge"] = 3] = "Challenge";
291
+ EChallengeRewardType[EChallengeRewardType["Custom"] = 4] = "Custom";
292
+ })(EChallengeRewardType || (EChallengeRewardType = {}));
293
+ var EChallengeProgressStatus;
294
+ (function (EChallengeProgressStatus) {
295
+ EChallengeProgressStatus[EChallengeProgressStatus["Closed"] = 0] = "Closed";
296
+ EChallengeProgressStatus[EChallengeProgressStatus["InProgress"] = 1] = "InProgress";
297
+ EChallengeProgressStatus[EChallengeProgressStatus["Fillup"] = 2] = "Fillup";
298
+ EChallengeProgressStatus[EChallengeProgressStatus["Completed"] = 3] = "Completed";
299
+ })(EChallengeProgressStatus || (EChallengeProgressStatus = {}));
300
+ var EChallengeStatus;
301
+ (function (EChallengeStatus) {
302
+ EChallengeStatus[EChallengeStatus["Started"] = 0] = "Started";
303
+ EChallengeStatus[EChallengeStatus["InProgress"] = 1] = "InProgress";
304
+ EChallengeStatus[EChallengeStatus["PendingLevelReward"] = 2] = "PendingLevelReward";
305
+ EChallengeStatus[EChallengeStatus["Completed"] = 3] = "Completed";
306
+ EChallengeStatus[EChallengeStatus["Expired"] = 4] = "Expired";
307
+ EChallengeStatus[EChallengeStatus["Forfeited"] = 5] = "Forfeited";
308
+ EChallengeStatus[EChallengeStatus["Awaiting"] = 6] = "Awaiting";
309
+ EChallengeStatus[EChallengeStatus["Paused"] = 7] = "Paused";
310
+ })(EChallengeStatus || (EChallengeStatus = {}));
311
+ const ChallengeStatusDictionary = [
312
+ 'started',
313
+ 'inProgress',
314
+ 'pendingLevelReward',
315
+ 'completed',
316
+ 'expired',
317
+ 'forfeited',
318
+ 'awaiting',
319
+ 'paused'
320
+ ];
321
+ var EChallengeTriggerType;
322
+ (function (EChallengeTriggerType) {
323
+ EChallengeTriggerType[EChallengeTriggerType["GameLaunch"] = 0] = "GameLaunch";
324
+ EChallengeTriggerType[EChallengeTriggerType["Reward"] = 1] = "Reward";
325
+ EChallengeTriggerType[EChallengeTriggerType["Manual"] = 2] = "Manual";
326
+ })(EChallengeTriggerType || (EChallengeTriggerType = {}));
327
+ var EChallengeValidityType;
328
+ (function (EChallengeValidityType) {
329
+ EChallengeValidityType[EChallengeValidityType["Period"] = 0] = "Period";
330
+ EChallengeValidityType[EChallengeValidityType["Date"] = 1] = "Date";
331
+ })(EChallengeValidityType || (EChallengeValidityType = {}));
332
+
333
+ const casinoChallengeDetailsCss = ".container {\n font-family: var(--emw--font-family-secondary, \"Montserrat\", sans-serif);\n background: var(--emw--color-background, #000);\n min-height: 100vh;\n padding-top: 16px;\n container-type: inline-size;\n container-name: challenges-details;\n min-width: 375px;\n width: 100%;\n margin: 0 auto;\n}\n\n.challenges-header {\n display: none;\n}\n\n.back-button {\n display: flex;\n align-items: center;\n padding: 14px 0 14px 10px;\n outline: none;\n background: var(--emw--color-background-secondary, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n background-clip: text;\n border: none;\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: 700;\n line-height: 18px;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.back-button__icon {\n margin: 0 4px;\n}\n.back-button__text {\n margin-left: 4px;\n}\n\n.details {\n min-width: 308px;\n box-sizing: border-box;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: 16px;\n min-width: 375px;\n width: 100%;\n}\n.details.grayed {\n opacity: 0.5;\n}\n.details__general-info {\n max-width: 344px;\n padding-bottom: 16px;\n}\n.details__general-info-image-container {\n position: relative;\n margin-bottom: 22px;\n}\n.details__general-info-image {\n display: block;\n width: 344px;\n height: 226px;\n border-radius: var(--emw--border-radius-medium, 16px);\n}\n.details__general-info-image.grayed {\n opacity: 0.5;\n}\n.details__general-info-timer-badge {\n position: absolute;\n background: var(--emw--color-white, #fff);\n top: 6px;\n right: 6px;\n border-radius: var(--emw--border-radius-large, 30px);\n padding: 2px 12px;\n line-height: 22px;\n font-weight: var(--emw--font-weight-medium, 500);\n font-size: var(--emw--font-size-x-small, 12px);\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\n backdrop-filter: blur(20px);\n}\n.details__general-info-timer-badge span {\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-timer-badge.expired {\n background: var(--emw--background-gray-color, rgba(250, 250, 250, 0.5019607843));\n border: 1px solid var(--emw--border-gray-color, #292c29);\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-timer-badge.completed {\n background: var(--emw--background-success-color, #c9f0d7);\n border: 1px solid var(--emw--border-success-color, #00b74f);\n color: var(--emw--color-gray-300, #083b17);\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-timer-badge.forfeited {\n background: var(--emw--background-errored-color, #ffe1df);\n border: 1px solid var(--emw--border-errored-color, #d6421e);\n color: var(--emw--errored-color, #850606);\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-timer-badge.paused {\n background: var(--emw--background-warning-color, #f8e4ad);\n border: 1px solid var(--emw--border-warning-color, #ea9018);\n color: var(--emw--warning-color, #6d460a);\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-title {\n margin: 0 0 4px;\n color: var(--emw--color-white, #fff);\n font-size: var(--emw--font-size-large, 20px);\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-end-date_label {\n color: var(--emw--color-gray-150, #727672);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n line-height: 22px;\n margin: 0;\n}\n.details__general-info-end-date_value {\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-action-button,\n.details .footer-action-button {\n width: 100%;\n color: var(--emw--color-white, #fff);\n font-size: var(--emw--font-size-medium, 16px);\n border-radius: var(--emw--button-border-radius, 99px);\n border: 2px solid var(--emw--button-border-color, #083b17);\n background: var(--emw--button-background-color, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n text-align: center;\n text-transform: uppercase;\n font-weight: var(--emw--font-weight-bold, 700);\n height: 51px;\n padding: 16px 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n align-self: stretch;\n gap: 10px;\n}\n.details__general-info-action-button:hover,\n.details .footer-action-button:hover {\n border-color: var(--emw--color-secondary, #083b17);\n cursor: pointer;\n}\n.details__general-info-action-button.filled,\n.details .footer-action-button.filled {\n background-color: var(--emw--button-background-primary-color, #18ce51);\n color: var(--emw--color-white, #fff);\n border-color: var(--emw--color-gray-300, #083b17);\n}\n.details__general-info-action-button.filled:hover,\n.details .footer-action-button.filled:hover {\n border-color: transparent;\n box-shadow: 0 0 4px 0 rgba(188, 252, 177, 0.2), 0 0 20px 0 rgba(0, 183, 79, 0.5);\n}\n.details__general-info-action-button.grayed,\n.details .footer-action-button.grayed {\n color: var(--emw--color-gray-50, #e2e2e2);\n background: var(--emw--color-black-150, #000000);\n border-color: var(--emw--button-disabled-border-color, #727672);\n box-shadow: 0 0 20px 0 rgba(188, 252, 177, 0.2);\n}\n.details__general-info-action-button.grayed:hover,\n.details .footer-action-button.grayed:hover {\n color: var(--emw--color-white, #fff);\n}\n.details__general-info-action-button:disabled, .details__general-info-action-button:disabled:hover,\n.details .footer-action-button:disabled,\n.details .footer-action-button:disabled:hover {\n color: var(--emw--color-gray-50, #e2e2e2);\n cursor: not-allowed;\n border: 2px solid var(--emw--button-disabled-border-color, #727672);\n opacity: 0.7;\n}\n.details .footer-action-button {\n height: 44px;\n padding: 14px 20px;\n font-size: var(--emw--font-size-sm, 14px);\n}\n.details__general-info-action-button {\n display: none;\n margin-top: 32px;\n}\n.details__tabs-container {\n flex-grow: 1;\n max-width: 100%;\n}\n.details__tabs {\n position: relative;\n display: flex;\n justify-content: flex-start;\n border-bottom: 1px solid var(--emw--border-warning-color, #ea9018);\n}\n.details__tab {\n padding: 10px 20px;\n cursor: pointer;\n position: relative;\n font-weight: var(--emw--font-weight-medium, 500);\n color: var(--emw--color-gray-300, #555);\n display: flex;\n width: 33.3333333333%;\n padding: 12px 10px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n}\n.details__tab.active {\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-bold, 700);\n text-transform: uppercase;\n background: var(--emw--active-tab, linear-gradient(180deg, #ea9018 0%, #e0a84e 100%));\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.details__tab {\n color: var(--emw--color-gray-100, #727672);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-bold, 700);\n text-transform: uppercase;\n}\n.details__tab:nth-of-type(1).active ~ .active-tab-indicator {\n left: 0;\n width: 33.3333333333%;\n}\n.details__tab:nth-of-type(2).active ~ .active-tab-indicator {\n left: 33.3333333333%;\n width: 33.3333333333%;\n}\n.details__tab:nth-of-type(3).active ~ .active-tab-indicator {\n left: 66.6666666667%;\n width: 33.3333333333%;\n}\n.details .active-tab-indicator {\n position: absolute;\n bottom: -3px;\n height: 2px;\n background: var(--emw--active-tab-indicator, linear-gradient(180deg, rgba(234, 144, 24, 0.7) 0%, rgba(224, 168, 78, 0.7) 100%), #727672);\n transition: left 0.3s ease, width 0.3s ease;\n}\n.details .levels__tab {\n margin-top: 22px;\n display: flex;\n gap: 12px;\n flex-direction: column;\n overflow-y: auto;\n height: 300px;\n padding-bottom: 80px;\n}\n.details .level {\n display: flex;\n padding: 20px;\n flex-direction: column;\n align-items: flex-start;\n border-radius: var(--emw--border-radius-small, 12px);\n background-color: var(--emw--color-background, rgba(114, 118, 114, 0.2));\n}\n.details .level.grayed {\n background: rgba(114, 118, 114, 0.15);\n}\n.details .level.active {\n background: linear-gradient(90deg, rgba(30, 101, 79, 0.2) 0%, rgba(28, 141, 86, 0.2) 100%);\n border: 2px solid var(--Gradient-Blue, #003e5c);\n box-shadow: 0 0 20px 0 rgba(188, 252, 177, 0.2);\n}\n.details .level.completed {\n background: linear-gradient(90deg, rgba(0, 62, 92, 0.3) 0.05%, rgba(17, 59, 33, 0.3) 87.69%);\n}\n.details .level__status {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: var(--emw--font-size-small, 14px);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 18px;\n}\n.details .level__title {\n width: 100%;\n display: flex;\n justify-content: space-between;\n color: var(--emw--color-white, #fff);\n font-size: var(--emw--font-size-small, 14px);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 18px;\n margin-bottom: 10px;\n}\n.details .level__title .completed, .details .level__title .in-progress {\n color: var(--emw--color-valid, #00b74f);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n text-align: right;\n line-height: 22px;\n}\n.details .level__title.grayed {\n color: var(--emw--disabled-color, #727672);\n}\n.details .level__progress {\n width: 100%;\n margin-bottom: 10px;\n}\n.details .level__icon {\n display: flex;\n margin: 5px 6px 5px 0;\n opacity: 1;\n}\n.details .level__icon img {\n display: block;\n width: 12px;\n height: 12px;\n}\n.details .level__icon img.grayed {\n opacity: 0.5;\n}\n.details .level__bonus, .details .level__target {\n display: flex;\n align-items: flex-start;\n color: var(--emw--color-gray-200, #c8d6ce);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n line-height: 22px;\n margin-bottom: 4px;\n}\n.details .level__value {\n color: var(--emw--color-gray-200, #c8d6ce);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n line-height: 22px;\n}\n.details .level__value.grayed {\n opacity: 0.5;\n}\n.details .games__tab {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n padding: 22px 0;\n overflow-y: auto;\n height: 300px;\n padding-bottom: 80px;\n}\n.details .games__tab .game {\n position: relative;\n width: 105px;\n height: 85px;\n}\n.details .games__tab .game img {\n width: 100%;\n height: 100%;\n border-radius: var(--emw--border-radius-medium, 16px);\n}\n.details .games__tab .game .contribution {\n position: absolute;\n top: 4px;\n right: 4px;\n color: var(--emw--color-white, #fff);\n border-radius: var(--emw--border-radius-small, 12px);\n border: 1px solid var(--Gradient-Blue, #003e5c);\n background: rgba(0, 0, 0, 0.5);\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\n backdrop-filter: blur(5px);\n padding: 0 8px;\n font-size: var(--emw--font-size-2x-small, 8px);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 22px;\n text-align: center;\n}\n.details .rules__tab {\n display: flex;\n flex-direction: column;\n padding: 22px 0;\n gap: 8px;\n overflow-y: auto;\n height: 300px;\n padding-bottom: 80px;\n}\n.details .rules__tab .rule {\n color: var(--emw--color-gray-200, #c8d6ce);\n font-size: var(--emw--font-size-small, 14px);\n font-style: normal;\n font-weight: 500;\n line-height: 24px;\n}\n.details .rules__tab .link {\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 18px;\n background: var(--emw--button-background-color, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n background-clip: text;\n padding: 14px 0;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.details__button {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 10px;\n flex: 1 0 0;\n height: 42px;\n padding: 14px 20px;\n border-radius: var(--emw--button-border-radius, 99px);\n border: 2px solid var(--emw--button-border-color, #083b17);\n background-color: var(--emw--button-background-color, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n color: var(--emw--color-white, #fff);\n font-size: var(--emw--font-size-small, 14px);\n font-weight: var(--emw--font-weight-bold, 700);\n text-transform: uppercase;\n}\n\n.button__container {\n position: fixed;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n width: calc(100% - 32px);\n padding: 16px 16px 22px 16px;\n justify-content: center;\n align-items: center;\n gap: 4px;\n border-top: 1px solid var(--emw--color-blue, #003e5c);\n background: var(--emw--color-background, #000);\n box-shadow: 0 0 20px 0 rgba(188, 252, 177, 0.2);\n}\n\n.lds-dual-ring {\n display: block;\n width: 80px;\n height: 80px;\n margin: 80px auto 0 auto;\n}\n\n.lds-dual-ring:after {\n content: \" \";\n display: block;\n width: 64px;\n height: 64px;\n margin: 8px;\n border-radius: 50%;\n border: 6px solid var(--emw--casino-color-primary, var(--emw--color-primary, #22b04e));\n border-color: var(--emw--casino-color-primary, var(--emw--color-primary, #22b04e)) transparent var(--emw--casino-color-primary, var(--emw--color-primary, #22b04e));\n animation: lds-dual-ring 1.2s linear infinite;\n}\n\n@keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.notification {\n display: flex;\n align-items: flex-start;\n border-radius: var(--emw--border-radius-small, 12px);\n background: rgba(188, 252, 177, 0.1);\n display: flex;\n padding: 16px;\n align-items: flex-start;\n gap: 10px;\n margin: 16px 16px 22px 16px;\n}\n.notification__icon {\n margin-top: 2px;\n}\n.notification__message, .notification__title {\n color: var(--emw--color-gray-50, #e2e2e2);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n line-height: 22px;\n}\n.notification__title {\n background: var(--emw--color-background-secondary, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.notification__column {\n display: flex;\n flex-direction: column;\n}\n\n@container challenges-details (min-width: 768px) {\n .button__container {\n display: none;\n }\n .details {\n gap: 36px;\n flex-wrap: nowrap;\n }\n .details__general-info-action-button {\n display: flex;\n }\n .details__general-info-image {\n width: 380px;\n min-height: 226px;\n height: auto;\n }\n .details__general-info {\n max-width: 380px;\n }\n .details__tabs__container {\n max-width: calc(100% - 380px);\n }\n .details .levels__tab {\n gap: 20px;\n height: 60vh;\n }\n .details .levels__tab .level__icon {\n width: 14px;\n height: 14px;\n margin: 4px 6px 4px 0px;\n }\n .details .levels__tab .level__icon img {\n width: 100%;\n height: 100%;\n }\n .details .levels__tab .level__title {\n font-size: var(--emw--font-size-medium, 16px);\n }\n .details .levels__tab .level__title .completed, .details .levels__tab .level__title .in-progress {\n font-size: var(--emw--font-size-sm, 14px);\n }\n .details .levels__tab .level__bonus, .details .levels__tab .level__target, .details .levels__tab .level__value {\n font-size: var(--emw--font-size-sm, 14px);\n }\n .details .games__tab, .details .rules__tab {\n height: 60vh;\n }\n .details .games__tab {\n gap: 20px;\n min-width: 340px;\n }\n .details .games__tab .game {\n width: 160px;\n height: 110px;\n }\n .details .games__tab .game .contribution {\n top: 8px;\n right: 8px;\n padding: 4px 10px;\n font-size: var(--emw--font-size-2x-small, 10px);\n line-height: 18px;\n }\n .challenges-header {\n margin: 0 0 32px;\n display: flex;\n justify-content: space-between;\n }\n .challenges-title {\n margin: 0;\n display: flex;\n gap: 10px;\n align-items: center;\n font-size: var(--emw--font-size-x-large, 24px);\n font-weight: var(--emw--font-weight-bold, 700);\n color: var(--emw--color-white, #ffffff);\n }\n .challenges-tabs {\n display: flex;\n gap: 12px;\n border-radius: 48px;\n padding: 6px;\n color: var(--emw--color-gray-150, #c8d6ce);\n background-color: var(--emw--color-background-secondary, #272727);\n }\n .challenges-tab {\n padding: 10px 16px;\n border-radius: 40px;\n font-size: var(--emw--font-size-small, 14px);\n font-weight: var(--emw--font-weight-bold, 700);\n cursor: pointer;\n text-align: center;\n width: 95px;\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 4px;\n }\n .challenges-tab.active {\n color: var(--emw--color-white, #ffffff);\n background: linear-gradient(90deg, rgb(0, 62, 92) 0%, rgb(17, 59, 33) 100%);\n }\n .challenges-tab:last-child {\n width: inherit;\n padding: 10px 16px;\n }\n}";
334
+ const CasinoChallengeDetailsStyle0 = casinoChallengeDetailsCss;
335
+
336
+ const CasinoChallengeDetails = class {
337
+ constructor(hostRef) {
338
+ registerInstance(this, hostRef);
339
+ this.timerExpired = createEvent(this, "timerExpired", 7);
340
+ this.activeEntityRef = null;
341
+ this.scrollContainerRef = null;
342
+ this.challengesTabs = ['Active', 'Pending', 'Finished', 'Code'];
343
+ this.tabs = ['LEVELS', 'GAMES', 'RULES'];
344
+ this.showNotification = 10;
345
+ this.checkIsMobile = () => {
346
+ this.isMobile = window.innerWidth <= 768;
347
+ };
348
+ this.calculateTargetValue = (level, currencySymbol) => {
349
+ var _a;
350
+ if (!level)
351
+ return '';
352
+ const minbet = ((_a = level.BetRange) === null || _a === void 0 ? void 0 : _a.MinBet)
353
+ ? `, ${translate('minBet', this.language)} ${currencySymbol + level.BetRange.MinBet}`
354
+ : '';
355
+ switch (level.LevelTargetType) {
356
+ case EChallengeLevelTargetType.Accumulative:
357
+ return `${translate('placeBetsOf', this.language)} ${currencySymbol + level.DisplayCurrencyTargetTurnover + minbet}`;
358
+ case EChallengeLevelTargetType.SingleBet:
359
+ return `${translate('place', this.language)} ${currencySymbol + level.TargetTurnover} ${translate('bet', this.language)}`;
360
+ case EChallengeLevelTargetType.MultipleOneBetSize:
361
+ return `${translate('place', this.language)} ${level.TargetBetCount} ${translate('bets', this.language) + minbet}`;
362
+ default:
363
+ return '-';
364
+ }
365
+ };
366
+ this.getBadgeContent = () => {
367
+ var _a;
368
+ if (this.challenge) {
369
+ switch ((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status) {
370
+ case EChallengeStatus.Expired:
371
+ return translate('expired', this.language);
372
+ case EChallengeStatus.Forfeited:
373
+ return translate('forfeited', this.language);
374
+ case EChallengeStatus.Completed:
375
+ return translate('finished', this.language);
376
+ case EChallengeStatus.Paused:
377
+ return translate('suspended', this.language);
378
+ default:
379
+ return [translate('endsIn', this.language), ' - ', h("span", null, this.timeLeft || null)];
380
+ }
381
+ }
382
+ else
383
+ return null;
384
+ };
385
+ this.checkAttrs = () => {
386
+ if (!this.endpoint) {
387
+ this.error = 'Endpoint is missing! Please provide a valid endpointURL.';
388
+ this.hasError = true;
389
+ console.error(this.error);
390
+ }
391
+ return this.hasError;
392
+ };
393
+ this.joinUnjoinProgress = async () => {
394
+ var _a, _b, _c, _d;
395
+ if (!this.isUserAuthorized) {
396
+ this.openLoginRegisterModal();
397
+ }
398
+ const join = ((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status) === EChallengeStatus.Started || ((_b = this.challenge) === null || _b === void 0 ? void 0 : _b.Status) === EChallengeStatus.Paused;
399
+ const progress = (_d = (_c = this.challenge) === null || _c === void 0 ? void 0 : _c.LevelProgresses) === null || _d === void 0 ? void 0 : _d.find((x) => (x === null || x === void 0 ? void 0 : x.ProgressStatus) === EChallengeProgressStatus.InProgress);
400
+ if (!this.checkAttrs()) {
401
+ const url = `${this.endpoint}/challenge/ChangeProgressStatus`;
402
+ const body = Object.assign(Object.assign({ DomainId: this.domain }, (this.session && { PlayerSessionId: this.session })), (join ? { ProgressToActivate: progress.LevelId } : { ProgressToDeactivate: progress.LevelId }));
403
+ this.actionLoading = true;
404
+ return fetch(url, {
405
+ method: 'POST',
406
+ headers: {
407
+ 'Content-Type': 'application/json'
408
+ },
409
+ body: JSON.stringify(body)
410
+ })
411
+ .then((res) => res.json())
412
+ .finally(() => (this.actionLoading = false));
413
+ }
414
+ };
415
+ this.handleTabClick = (index) => () => {
416
+ if (index === 0) {
417
+ setTimeout(() => {
418
+ this.scrollToActiveLevel();
419
+ }, 0);
420
+ }
421
+ if (index === 1) {
422
+ this.fetchGames();
423
+ }
424
+ this.activeTabIndex = index;
425
+ };
426
+ this.handleChallengesTabClick = (tabIndex) => () => {
427
+ window.postMessage({ type: 'GoToChallengesPage', tabIndex }, window.location.href);
428
+ };
429
+ this.getBackButtonText = () => {
430
+ return (h("span", { class: "back-button__text" }, this.isMobile ? translate('all', this.language) : translate('back', this.language)));
431
+ };
432
+ this.mbSource = undefined;
433
+ this.clientStyling = undefined;
434
+ this.endpoint = '';
435
+ this.domain = '';
436
+ this.session = '';
437
+ this.clientStylingUrl = undefined;
438
+ this.translationUrl = '';
439
+ this.language = 'en';
440
+ this.isUserAuthorized = true;
441
+ this.challengeId = '';
442
+ this.activeChallengeTabIndex = '0';
443
+ this.timeLeft = undefined;
444
+ this.activeTabIndex = 0;
445
+ this.actionLoading = false;
446
+ this.isMobile = false;
447
+ this.error = '';
448
+ this.hasError = false;
449
+ this.games = [];
450
+ this.gamesAreLoading = false;
451
+ this.challenge = undefined;
452
+ this.loading = false;
453
+ }
454
+ handleClientStylingChange(newValue, oldValue) {
455
+ if (newValue != oldValue) {
456
+ setClientStyling(this.stylingContainer, this.clientStyling);
457
+ }
458
+ }
459
+ handleClientStylingUrlChange(newValue, oldValue) {
460
+ if (newValue != oldValue) {
461
+ setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
462
+ }
463
+ }
464
+ handleMbSourceChange(newValue, oldValue) {
465
+ if (newValue != oldValue) {
466
+ setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`);
467
+ }
468
+ }
469
+ onEntityChange(newChallenge, previousChallenge) {
470
+ var _a, _b, _c, _d;
471
+ const newActiveProgressId = (_b = (_a = newChallenge === null || newChallenge === void 0 ? void 0 : newChallenge.LevelProgresses) === null || _a === void 0 ? void 0 : _a.find((level) => level.ProgressStatus === EChallengeProgressStatus.InProgress)) === null || _b === void 0 ? void 0 : _b.LevelId;
472
+ const prevActiveProgressId = (_d = (_c = previousChallenge === null || previousChallenge === void 0 ? void 0 : previousChallenge.LevelProgresses) === null || _c === void 0 ? void 0 : _c.find((level) => level.ProgressStatus === EChallengeProgressStatus.InProgress)) === null || _d === void 0 ? void 0 : _d.LevelId;
473
+ if (newActiveProgressId == prevActiveProgressId) {
474
+ setTimeout(() => {
475
+ this.scrollToActiveLevel();
476
+ }, 0);
477
+ }
478
+ }
479
+ scrollToActiveLevel() {
480
+ if (this.activeEntityRef) {
481
+ const container = this.scrollContainerRef;
482
+ const target = this.activeEntityRef;
483
+ const containerTop = container.getBoundingClientRect().top;
484
+ const targetTop = target.getBoundingClientRect().top;
485
+ const scrollOffset = targetTop - containerTop;
486
+ container.scrollTo({
487
+ top: container.scrollTop + scrollOffset - container.clientHeight / 2 + target.clientHeight / 2,
488
+ behavior: 'smooth'
489
+ });
490
+ }
491
+ }
492
+ connectedCallback() {
493
+ this.timerId = setInterval(() => {
494
+ this.updateTime();
495
+ }, 1000);
496
+ }
497
+ async getChallenge() {
498
+ if (!this.checkAttrs()) {
499
+ const url = `${this.endpoint}/challenge/GetChallengesInfo`;
500
+ const body = Object.assign({ DomainId: this.domain, PlayerLanguage: this.language, PageNumber: 1, PageSize: 1, ChallengeId: this.challengeId }, (this.session && { PlayerSessionId: this.session }));
501
+ this.loading = true;
502
+ return fetch(url, {
503
+ method: 'POST',
504
+ headers: {
505
+ 'Content-Type': 'application/json'
506
+ },
507
+ body: JSON.stringify(body)
508
+ })
509
+ .then((res) => res.json())
510
+ .then((res) => {
511
+ this.challenge = res.Data[0];
512
+ })
513
+ .finally(() => (this.loading = false));
514
+ }
515
+ }
516
+ componentWillLoad() {
517
+ if (this.translationUrl) {
518
+ resolveTranslationUrl(this.translationUrl);
519
+ }
520
+ this.updateTime();
521
+ }
522
+ componentDidLoad() {
523
+ if (this.stylingContainer) {
524
+ if (this.mbSource)
525
+ setStreamStyling(this.stylingContainer, `${this.mbSource}.Style`);
526
+ if (this.clientStyling)
527
+ setClientStyling(this.stylingContainer, this.clientStyling);
528
+ if (this.clientStylingUrl)
529
+ setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
530
+ }
531
+ this.getChallenge();
532
+ this.checkIsMobile();
533
+ window.addEventListener('resize', this.checkIsMobile);
534
+ setTimeout(() => {
535
+ this.scrollToActiveLevel();
536
+ }, 0);
537
+ }
538
+ disconnectedCallback() {
539
+ if (this.stylingSubscription) {
540
+ this.stylingSubscription.unsubscribe();
541
+ }
542
+ clearInterval(this.timerId);
543
+ window.removeEventListener('resize', this.checkIsMobile);
544
+ }
545
+ getReward(level) {
546
+ return level.Rewards.map((r) => r.RewardDescription).join(' + ') || '-';
547
+ }
548
+ getTarget(level) {
549
+ var _a;
550
+ return this.calculateTargetValue(level, (_a = this.challenge) === null || _a === void 0 ? void 0 : _a.CurrencySymbol) || '-';
551
+ }
552
+ updateTime() {
553
+ var _a, _b;
554
+ if (this.challenge) {
555
+ this.timeLeft = getTimeLeft((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ExpirationTime);
556
+ if (!this.timeLeft && this.timerExpired) {
557
+ clearInterval(this.timerId);
558
+ this.timerExpired.emit((_b = this.challenge) === null || _b === void 0 ? void 0 : _b.Id);
559
+ }
560
+ }
561
+ }
562
+ get getCardBadge() {
563
+ var _a;
564
+ if (this.timeLeft) {
565
+ return (h("div", { class: `details__general-info-timer-badge ${ChallengeStatusDictionary[(_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status]}` }, this.getBadgeContent()));
566
+ }
567
+ return null;
568
+ }
569
+ get actionButtonText() {
570
+ var _a;
571
+ if (this.isUserAuthorized) {
572
+ let buttonText;
573
+ switch ((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status) {
574
+ case EChallengeStatus.Started:
575
+ buttonText = 'start';
576
+ break;
577
+ case EChallengeStatus.Paused:
578
+ buttonText = 'resume';
579
+ break;
580
+ case EChallengeStatus.InProgress:
581
+ buttonText = 'resume';
582
+ break;
583
+ case EChallengeStatus.PendingLevelReward:
584
+ buttonText = 'pause';
585
+ break;
586
+ default:
587
+ buttonText = 'start';
588
+ break;
589
+ }
590
+ return buttonText;
591
+ }
592
+ return 'join';
593
+ }
594
+ openLoginRegisterModal() {
595
+ window.postMessage({
596
+ type: 'OpenLoginRegisterModal',
597
+ transition: 'Login'
598
+ });
599
+ }
600
+ async fetchGames() {
601
+ var _a;
602
+ if (!this.checkAttrs()) {
603
+ const url = `${this.endpoint}/challenge/GetChallengeGames`;
604
+ const body = Object.assign({ ChallengeId: (_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ChallengeId }, (this.session && { PlayerSessionId: this.session }));
605
+ this.gamesAreLoading = true;
606
+ return fetch(url, {
607
+ method: 'POST',
608
+ headers: {
609
+ 'Content-Type': 'application/json'
610
+ },
611
+ body: JSON.stringify(body)
612
+ })
613
+ .then((res) => res.json())
614
+ .then((res) => {
615
+ this.games = res.ChallengeGames;
616
+ })
617
+ .finally(() => (this.gamesAreLoading = false));
618
+ }
619
+ }
620
+ getLevelStatus(level, active) {
621
+ if (this.isUserAuthorized) {
622
+ if (level.ProgressStatus === EChallengeProgressStatus.InProgress && !active)
623
+ return (h("div", { class: "level__status" }, h("span", null, level.ProgressPercentage, "%"), h("img", { src: lockSvg, alt: "lock-icon", title: "lock-icon" })));
624
+ else if (level.ProgressStatus === EChallengeProgressStatus.Closed || !active)
625
+ return (h("div", { class: "level__status" }, h("img", { src: lockSvg, alt: "lock-icon", title: "lock-icon" })));
626
+ else if (level.ProgressStatus === EChallengeProgressStatus.Fillup)
627
+ return (h("div", { class: "level__status" }, h("img", { src: lockSvg, alt: "lock-icon", title: "lock-icon" })));
628
+ else if (level.ProgressStatus === EChallengeProgressStatus.Completed)
629
+ return h("span", { class: "completed" }, translate('completed', this.language));
630
+ else if (level.ProgressStatus === EChallengeProgressStatus.InProgress)
631
+ return h("span", { class: "level__status in-progress" }, level.ProgressPercentage, "%");
632
+ }
633
+ return null;
634
+ }
635
+ get pageHeader() {
636
+ return (h("div", { class: "challenges-header" }, h("h1", { class: "challenges-title" }, h("img", { src: titleIconSvg, alt: "icon" }), translate('title', this.language)), this.isUserAuthorized && (h("div", { class: "challenges-tabs" }, this.challengesTabs.map((label, index) => (h("div", { class: `challenges-tab ${index === +this.activeChallengeTabIndex ? 'active' : ''}`, onClick: this.handleChallengesTabClick(index) }, label, this.showNotification === index && h("img", { src: notificationSvg }))))))));
637
+ }
638
+ get cardGeneralInfo() {
639
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
640
+ return (h("div", { class: "details__general-info" }, h("div", { class: "details__general-info-image-container" }, h("img", { class: {
641
+ 'details__general-info-image': true,
642
+ grayed: [EChallengeStatus.Expired, EChallengeStatus.Forfeited, EChallengeStatus.Completed].includes((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status)
643
+ }, src: (_c = (_b = this.challenge) === null || _b === void 0 ? void 0 : _b.ChallengePresentation) === null || _c === void 0 ? void 0 : _c.BannerUrl, alt: "banner-image", title: "banner-image" }), this.getCardBadge), h("div", { class: "details__general-info-content" }, h("h1", { class: "details__general-info-title" }, (_e = (_d = this.challenge) === null || _d === void 0 ? void 0 : _d.ChallengePresentation) === null || _e === void 0 ? void 0 : _e.PresentationName), h("h3", { class: "details__general-info-end-date_label" }, translate('endDate', this.language), " -", ' ', h("span", { class: "details__general-info-end-date_value" }, this.challenge ? formatDate((_f = this.challenge) === null || _f === void 0 ? void 0 : _f.ExpirationTime) : '-')), h("casino-challenge-progress-bar", { challenge: this.challenge, isUserAuthorized: this.isUserAuthorized, language: this.language }), h("button", { class: {
644
+ 'details__general-info-action-button': true,
645
+ filled: ((_g = this.challenge) === null || _g === void 0 ? void 0 : _g.Status) === EChallengeStatus.Started,
646
+ grayed: ((_h = this.challenge) === null || _h === void 0 ? void 0 : _h.Status) === EChallengeStatus.Paused ||
647
+ ((_j = this.challenge) === null || _j === void 0 ? void 0 : _j.Status) === EChallengeStatus.InProgress ||
648
+ ((_k = this.challenge) === null || _k === void 0 ? void 0 : _k.Status) === EChallengeStatus.PendingLevelReward
649
+ }, disabled: this.actionLoading, onClick: this.joinUnjoinProgress }, translate(this.actionButtonText, this.language)))));
650
+ }
651
+ get challengeTabs() {
652
+ return (h("div", { class: "details__tabs" }, this.tabs.map((label, index) => (h("div", { class: {
653
+ details__tab: true,
654
+ active: index === this.activeTabIndex
655
+ }, onClick: this.handleTabClick(index) }, label))), h("div", { class: "active-tab-indicator" })));
656
+ }
657
+ get levelsTab() {
658
+ var _a, _b;
659
+ return (h("div", { class: "levels__tab", ref: (el) => (this.scrollContainerRef = el) }, (_b = (_a = this.challenge) === null || _a === void 0 ? void 0 : _a.LevelProgresses) === null || _b === void 0 ? void 0 : _b.map((level, index) => {
660
+ var _a;
661
+ const activeChallenge = [0, 1, 2, 3].includes((_a = this === null || this === void 0 ? void 0 : this.challenge) === null || _a === void 0 ? void 0 : _a.Status);
662
+ const isGrayed = (this.isUserAuthorized && level.ProgressStatus !== EChallengeProgressStatus.InProgress) || !activeChallenge;
663
+ const isActiveMatch = level.ProgressStatus === EChallengeProgressStatus.InProgress;
664
+ return (h("div", { class: {
665
+ level: true,
666
+ active: this.isUserAuthorized &&
667
+ activeChallenge &&
668
+ level.ProgressStatus === EChallengeProgressStatus.InProgress,
669
+ completed: this.isUserAuthorized &&
670
+ activeChallenge &&
671
+ level.ProgressStatus === EChallengeProgressStatus.Completed,
672
+ grayed: this.isUserAuthorized &&
673
+ (level.ProgressStatus === EChallengeProgressStatus.Closed ||
674
+ level.ProgressStatus === EChallengeProgressStatus.Fillup)
675
+ }, ref: isActiveMatch ? (el) => (this.activeEntityRef = el) : undefined, key: level.LevelId }, h("div", { class: {
676
+ level__title: true,
677
+ grayed: isGrayed
678
+ } }, h("span", null, "Level ", index + 1), this.isUserAuthorized && this.getLevelStatus(level, activeChallenge)), this.isUserAuthorized && level.ProgressStatus === EChallengeProgressStatus.InProgress && (h("div", { class: "level__progress" }, h("casino-challenge-level-progress-bar", { height: "8px", value: level.ProgressPercentage, active: activeChallenge }))), h("casino-challenge-expandable-paragraph", { "max-height": "56", active: level.ProgressStatus === EChallengeProgressStatus.InProgress && activeChallenge }, h("div", { class: {
679
+ level__bonus: true,
680
+ grayed: isGrayed
681
+ } }, h("span", { class: "level__icon" }, h("img", { class: {
682
+ grayed: isGrayed
683
+ }, src: giftSvg, alt: "gift-icon", title: "gift-icon" })), h("span", { class: {
684
+ level__value: true,
685
+ grayed: isGrayed
686
+ } }, this.getTarget(level))), h("div", { class: {
687
+ level__target: true,
688
+ grayed: isGrayed
689
+ } }, h("span", { class: "level__icon" }, h("img", { class: {
690
+ grayed: isGrayed
691
+ }, src: targetSvg, alt: "target-icon", title: "target-icon" })), h("span", { class: {
692
+ level__value: true,
693
+ grayed: isGrayed
694
+ } }, this.getReward(level))))));
695
+ })));
696
+ }
697
+ handleGameClick(game) {
698
+ if (!this.isUserAuthorized) {
699
+ this.openLoginRegisterModal();
700
+ return;
701
+ }
702
+ window.postMessage({
703
+ type: 'GameClick',
704
+ detail: {
705
+ ClientCompatibility: game.ClientCompatibility,
706
+ GameId: game.GameId,
707
+ GameName: game.GameName,
708
+ GameLaunchUrl: game.GameLaunchUrl,
709
+ RestrictedCountries: game.RestrictedCountries,
710
+ Vendor: game.Vendor
711
+ }
712
+ });
713
+ }
714
+ get gamesTab() {
715
+ return (h("div", { class: "games__tab" }, this.gamesAreLoading ? (h("div", { class: "lds-dual-ring" })) : (this.games.map((game) => {
716
+ return (h("div", { class: "game", onClick: () => this.handleGameClick(game) }, h("img", { src: game.GameIcon, alt: "game-icon", title: "game-icon" }), h("span", { class: "contribution" }, translate('contribution', this.language), " ", game.Contribution, "%")));
717
+ }))));
718
+ }
719
+ get rulesTab() {
720
+ var _a, _b, _c, _d;
721
+ return (h("div", { class: "rules__tab" }, h("div", { class: "rule" }, (_b = (_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ChallengePresentation) === null || _b === void 0 ? void 0 : _b.Description), h("a", { class: "link", href: (_d = (_c = this.challenge) === null || _c === void 0 ? void 0 : _c.ChallengePresentation) === null || _d === void 0 ? void 0 : _d.Url, target: "_blank" }, translate('terms', this.language))));
722
+ }
723
+ get footer() {
724
+ var _a, _b, _c, _d;
725
+ return (h("div", { class: "button__container" }, h("button", { class: {
726
+ 'footer-action-button': true,
727
+ filled: ((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status) === EChallengeStatus.Started || !this.isUserAuthorized,
728
+ grayed: this.isUserAuthorized &&
729
+ (((_b = this.challenge) === null || _b === void 0 ? void 0 : _b.Status) === EChallengeStatus.Paused ||
730
+ ((_c = this.challenge) === null || _c === void 0 ? void 0 : _c.Status) === EChallengeStatus.InProgress ||
731
+ ((_d = this.challenge) === null || _d === void 0 ? void 0 : _d.Status) === EChallengeStatus.PendingLevelReward)
732
+ }, onClick: this.joinUnjoinProgress, disabled: this.actionLoading }, translate(this.actionButtonText, this.language))));
733
+ }
734
+ get forfeitedNofitication() {
735
+ var _a;
736
+ return (((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status) === 5 && (h("div", { class: "notification" }, h("img", { class: "notification__icon", src: alertSvg }), h("span", { class: "notification__message" }, translate('forfeitNotification', this.language)))));
737
+ }
738
+ get completedNotification() {
739
+ var _a;
740
+ return (((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status) === 3 && (h("div", { class: "notification" }, h("img", { class: "notification__icon", src: checkSvg }), h("div", { class: "notification__column" }, h("span", { class: "notification__title" }, translate('congrats', this.language)), h("span", { class: "notification__message" }, translate('completedNofitication', this.language))))));
741
+ }
742
+ get expiredNotification() {
743
+ var _a;
744
+ return (((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status) === 4 && (h("div", { class: "notification" }, h("img", { class: "notification__icon", src: infoCircleSvg }), h("span", { class: "notification__message" }, translate('expiredNotification', this.language)))));
745
+ }
746
+ render() {
747
+ return (h("div", { key: 'ac5dde048e4d00efd0a174bb3b077ecc5e7abce7', ref: (el) => (this.stylingContainer = el), class: "container" }, this.pageHeader, this.loading ? (h("div", { class: "lds-dual-ring" })) : (h("div", null, h("button", { class: "back-button" }, h("img", { class: "back-button__icon", src: backArrowSvg }), this.getBackButtonText()), this.forfeitedNofitication, this.completedNotification, this.expiredNotification, h("div", { class: "details" }, this.cardGeneralInfo, h("div", { class: "details__tabs-container" }, this.challengeTabs, this.activeTabIndex === 0 && this.levelsTab, this.activeTabIndex === 1 && this.gamesTab, this.activeTabIndex === 2 && this.rulesTab), this.footer)))));
748
+ }
749
+ static get watchers() { return {
750
+ "clientStyling": ["handleClientStylingChange"],
751
+ "clientStylingUrl": ["handleClientStylingUrlChange"],
752
+ "mbSource": ["handleMbSourceChange"],
753
+ "challenge": ["onEntityChange"]
754
+ }; }
755
+ };
756
+ CasinoChallengeDetails.style = CasinoChallengeDetailsStyle0;
757
+
758
+ export { CasinoChallengeDetails as C, EChallengeProgressStatus as E, EChallengeStatus as a, translate as t };