@everymatrix/player-lugas-limit 1.76.5 → 1.76.7

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 (31) hide show
  1. package/dist/cjs/{index-bf3197ee.js → index-2079b2a6.js} +4 -1
  2. package/dist/cjs/loader.cjs.js +2 -2
  3. package/dist/cjs/player-lugas-limit.cjs.entry.js +53 -13
  4. package/dist/cjs/player-lugas-limit.cjs.js +2 -2
  5. package/dist/collection/components/player-lugas-limit/player-lugas-limit.css +56 -1
  6. package/dist/collection/components/player-lugas-limit/player-lugas-limit.js +64 -4
  7. package/dist/collection/static/arrow.svg +1 -0
  8. package/dist/collection/static/document.svg +1 -0
  9. package/dist/collection/static/success.svg +1 -0
  10. package/dist/collection/utils/locale.utils.js +16 -7
  11. package/dist/esm/{index-c89cfec9.js → index-43ec4fd3.js} +4 -1
  12. package/dist/esm/loader.js +3 -3
  13. package/dist/esm/player-lugas-limit.entry.js +53 -13
  14. package/dist/esm/player-lugas-limit.js +3 -3
  15. package/dist/player-lugas-limit/{index-c89cfec9.js → index-43ec4fd3.js} +1 -1
  16. package/dist/player-lugas-limit/player-lugas-limit.entry.js +1 -1
  17. package/dist/player-lugas-limit/player-lugas-limit.esm.js +1 -1
  18. package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/player-lugas-limit/.stencil/packages/stencil/player-lugas-limit/stencil.config.d.ts +2 -0
  19. package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/player-lugas-limit/.stencil/packages/stencil/player-lugas-limit/stencil.config.dev.d.ts +2 -0
  20. package/dist/types/components/player-lugas-limit/player-lugas-limit.d.ts +5 -0
  21. package/dist/types/components.d.ts +4 -0
  22. package/package.json +1 -1
  23. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/player-lugas-limit/.stencil/packages/stencil/player-lugas-limit/stencil.config.d.ts +0 -2
  24. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/player-lugas-limit/.stencil/packages/stencil/player-lugas-limit/stencil.config.dev.d.ts +0 -2
  25. /package/dist/types/{Users/adrian.pripon/Documents/Work → builds/emfe-widgets}/widgets-monorepo/packages/stencil/player-lugas-limit/.stencil/libs/common/src/storybook/storybook-utils.d.ts +0 -0
  26. /package/dist/types/{Users/adrian.pripon/Documents/Work → builds/emfe-widgets}/widgets-monorepo/packages/stencil/player-lugas-limit/.stencil/packages/stencil/player-lugas-limit/storybook/main.d.ts +0 -0
  27. /package/dist/types/{Users/adrian.pripon/Documents/Work → builds/emfe-widgets}/widgets-monorepo/packages/stencil/player-lugas-limit/.stencil/packages/stencil/player-lugas-limit/storybook/preview.d.ts +0 -0
  28. /package/dist/types/{Users/adrian.pripon/Documents/Work → builds/emfe-widgets}/widgets-monorepo/packages/stencil/player-lugas-limit/.stencil/tools/plugins/index.d.ts +0 -0
  29. /package/dist/types/{Users/adrian.pripon/Documents/Work → builds/emfe-widgets}/widgets-monorepo/packages/stencil/player-lugas-limit/.stencil/tools/plugins/stencil-clean-deps-plugin.d.ts +0 -0
  30. /package/dist/types/{Users/adrian.pripon/Documents/Work → builds/emfe-widgets}/widgets-monorepo/packages/stencil/player-lugas-limit/.stencil/tools/plugins/vite-chunk-plugin.d.ts +0 -0
  31. /package/dist/types/{Users/adrian.pripon/Documents/Work → builds/emfe-widgets}/widgets-monorepo/packages/stencil/player-lugas-limit/.stencil/tools/plugins/vite-clean-deps-plugin.d.ts +0 -0
@@ -21,7 +21,7 @@ function _interopNamespace(e) {
21
21
  }
22
22
 
23
23
  const NAMESPACE = 'player-lugas-limit';
24
- const BUILD = /* player-lugas-limit */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: false, propMutable: false, propNumber: false, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: false, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: true };
24
+ const BUILD = /* player-lugas-limit */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: false, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: false, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: true };
25
25
 
26
26
  /*
27
27
  Stencil Client Platform v4.19.2 | MIT Licensed | https://stenciljs.com
@@ -287,6 +287,9 @@ var Host = {};
287
287
  var isHost = (node) => node && node.$tag$ === Host;
288
288
  var parsePropertyValue = (propValue, propType) => {
289
289
  if (propValue != null && !isComplexType(propValue)) {
290
+ if (propType & 4 /* Boolean */) {
291
+ return propValue === "false" ? false : propValue === "" || !!propValue;
292
+ }
290
293
  if (propType & 1 /* String */) {
291
294
  return String(propValue);
292
295
  }
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-bf3197ee.js');
5
+ const index = require('./index-2079b2a6.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  const defineCustomElements = async (win, options) => {
9
9
  if (typeof window === 'undefined') return undefined;
10
10
  await appGlobals.globalScripts();
11
- return index.bootstrapLazy([["player-lugas-limit.cjs",[[1,"player-lugas-limit",{"userId":[513,"user-id"],"session":[513],"endpoint":[513],"currency":[513],"flow":[513],"amount":[513],"lang":[513],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"mbSource":[513,"mb-source"],"translationUrl":[513,"translation-url"],"hasValidation":[32],"kycStep":[32],"isLoading":[32],"regularDepositLimitAmount":[32],"isSubmitted":[32],"isUseExistingLimitOptionActive":[32],"selectedPredefinedAmount":[32],"errorMessageOnInitialization":[32],"errorMessageOnSubmit":[32],"errorMessageOnInput":[32],"hasLugasError":[32],"showCustomAmount":[32],"newAmount":[32]},null,{"translationUrl":["handleNewTranslations"],"clientStyling":["handleClientStylingChange"],"clientStylingUrl":["handleClientStylingUrlChange"]}]]]], options);
11
+ return index.bootstrapLazy([["player-lugas-limit.cjs",[[1,"player-lugas-limit",{"userId":[513,"user-id"],"session":[513],"endpoint":[513],"currency":[513],"flow":[513],"amount":[513],"lang":[513],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"mbSource":[513,"mb-source"],"translationUrl":[513,"translation-url"],"showExistingLimit":[516,"show-existing-limit"],"hasValidation":[32],"kycStep":[32],"isLoading":[32],"regularDepositLimitAmount":[32],"isSubmitted":[32],"isUseExistingLimitOptionActive":[32],"selectedPredefinedAmount":[32],"errorMessageOnInitialization":[32],"errorMessageOnSubmit":[32],"errorMessageOnInput":[32],"hasLugasError":[32],"showCustomAmount":[32],"newAmount":[32]},null,{"translationUrl":["handleNewTranslations"],"clientStyling":["handleClientStylingChange"],"clientStylingUrl":["handleClientStylingUrlChange"]}]]]], options);
12
12
  };
13
13
 
14
14
  exports.setNonce = index.setNonce;
@@ -2,12 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-bf3197ee.js');
5
+ const index = require('./index-2079b2a6.js');
6
6
 
7
7
  const DEFAULT_LANGUAGE = 'de';
8
8
  let TRANSLATIONS = {
9
9
  en: {
10
10
  LugasSetLimitDialogTitle: 'Monthly Central Deposit Limit',
11
+ LugasSetLimitDialogTitle2: 'Responsible Gaming',
11
12
  LugasInfoBox: 'The central limit is your monthly deposit limit for all licensed websites in Germany. Note that your limit and deposit details may vary if changed on other sites.',
12
13
  ChooseLimit: 'Choose Limit',
13
14
  ButtonCustomValue: 'Other',
@@ -26,18 +27,23 @@ let TRANSLATIONS = {
26
27
  loading: 'Loading, please wait ...',
27
28
  error: 'It was an error while trying to fetch the data',
28
29
  kyc1: 'All deposit limit changes must be reported to LUGAS in accordance with regulatory requirements. Please note that decreases in the limit will take effect immediately, while increases will only come into effect after 8 days at the latest.',
29
- kyc2: 'We were able to set your monthly deposit limit to <b>{amount} {currency}</b>. For the selected limit, we require documents that show your economic capacity. Please upload your last payslip as well as a current bank statement, including the balance, that confirms that you received the payment.',
30
+ kyc2: 'We could not apply the desired LUGAS limit. To increase the limit, one of the following methods can be used. In the meantime, the following value will be set for the limit: {amount} {currency}',
30
31
  kyc3: 'We have transmitted your desired limit to Lugas Please be aware that the limit will only come into effect after 8 days at the latest.',
31
- kycThanks: 'Thank you!',
32
+ kycThanks: 'THANK YOU!',
33
+ kycSuccess: "Successful",
32
34
  kycSure: 'Are you sure?',
33
35
  setNewLimit: 'SET NEW LIMIT',
34
36
  keepExistingLimit: 'KEEP EXISTING LIMIT',
35
37
  Close: 'CLOSE',
36
- UploadDocuments: 'UPLOAD DOCUMENTS',
38
+ UploadDocuments: "Upload documents",
39
+ UploadDocumentsSubTitle: "Last payslip as well as a current bank statement",
40
+ BankLogin: 'Online bank login',
41
+ BankLoginSubTitle: "Log into your bank account to verify your details",
37
42
  LugasF1002Error: 'We were unable to set your cross-provider deposit limit at LUGAS due to a technical error. Please contact our support team and provide error code F1002. We\'ll be happy to assist you in resolving this issue.'
38
43
  },
39
44
  de: {
40
45
  LugasSetLimitDialogTitle: 'Monatliches zentrales Einzahlungslimit',
46
+ LugasSetLimitDialogTitle2: 'Spielerschutz',
41
47
  LugasInfoBox: 'Das zentrale Limit ist Ihr monatliches Einzahlungslimit für alle lizenzierten Websites in Deutschland. Beachten Sie, dass sich Ihr Limit und der verbleibende Betrag ändern können, wenn Sie auf anderen Websites Einzahlungen vornehmen oder Ihr Limit anpassen.',
42
48
  ChooseLimit: 'Choose Limit',
43
49
  ButtonCustomValue: 'Eigener',
@@ -56,15 +62,18 @@ let TRANSLATIONS = {
56
62
  loading: "Lade, bitte warten ...",
57
63
  error: "Beim Laden der Daten ist ein Fehler aufgetreten.",
58
64
  kyc1: "Alle Änderungen des Einzahlungslimits müssen gemäß den gesetzlichen Anforderungen an LUGAS gemeldet werden. Bitte beachten Sie, dass eine Senkung des Limits sofort wirksam wird, während eine Erhöhung spätestens nach 8 Tagen in Kraft tritt.",
59
- kyc2: "Wir konnten Ihr monatliches Einzahlungslimit auf <b>{amount} {currency}</b> festlegen. Für das gewählte Limit benötigen wir Nachweise über Ihre wirtschaftliche Leistungsfähigkeit. Bitte laden Sie Ihre letzte Gehaltsabrechnung sowie einen aktuellen Kontoauszug, einschließlich Kontostand, hoch, der den Zahlungseingang bestätigt.",
65
+ kyc2: "Das gewünschte LUGAS-Limit konnte nicht gesetzt werden. Um das Limit zu erhöhen, kann eine der folgenden Methoden verwendet werden. In der Zwischenzeit wird für das Limit folgender Wert eingemeldet: {amount} {currency}",
60
66
  kyc3: "Wir haben Ihr gewünschtes Limit an LUGAS übermittelt. Bitte beachten Sie, dass das Limit spätestens nach 8 Tagen in Kraft tritt.",
61
- kycThanks: "Vielen Dank!",
67
+ kycThanks: "DANKE SCHÖN!",
68
+ kycSuccess: "Successful",
62
69
  kycSure: "Sind Sie sicher?",
63
70
  setNewLimit: "NEUES LIMIT FESTLEGEN",
64
71
  keepExistingLimit: "AKTUELLES LIMIT BEIBEHALTEN",
65
72
  Close: "SCHLIESSEN",
66
- UploadDocuments: "DOKUMENTE HOCHLADEN",
67
- LugasF1002Error: 'Ihr anbieterübergreifendes Einzahlungslimit konnte aufgrund eines technischen Fehlers nicht in der LUGAS-Datenbank festgelegt werden. Bitte wenden Sie sich an unseren Kundenservice unter Angabe des Fehlercodes F1002. Wir helfen Ihnen dann gerne weiter.'
73
+ UploadDocuments: "Dokumente hochladen",
74
+ UploadDocumentsSubTitle: "Letzte Gehaltsabrechnung sowie ein aktueller Kontoauszug",
75
+ BankLogin: 'Online-Banking-Login',
76
+ BankLoginSubTitle: "Melden Sie sich bei Ihrem Bankkonto an, um Ihre Daten zu überprüfen"
68
77
  },
69
78
  };
70
79
  const getTranslations = (url) => {
@@ -159,13 +168,20 @@ function setStreamStyling(stylingContainer, domain, subscription) {
159
168
  }
160
169
  }
161
170
 
162
- const playerLugasLimitCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");\n:host {\n font-family: \"Roboto\", sans-serif;\n}\n\n.ModalContainer {\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: var(--emw--color-black-transparency-50, rgba(0, 0, 0, 0.5));\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: var(--emw--font-size-small, 12px);\n container-type: inline-size;\n}\n.ModalContainer hr {\n border: 1px solid var(--emw--color-black-transparency-10, rgba(0, 0, 0, 0.1));\n margin: 10px 0px;\n}\n.ModalContainer p {\n margin: 0;\n}\n.ModalContainer button {\n width: 100%;\n border: 1px solid var(--emw--color-gray-100, #E8E9EB);\n padding: 10px 0;\n cursor: pointer;\n width: 100%;\n border-radius: var(--emw--border-radius-small, 4px);\n}\n.ModalContainer button.PrimaryButton {\n background: var(--emw--color-primary, #6BB816);\n border: none;\n font-weight: 500;\n}\n.ModalContainer button.PrimaryButton:not(:disabled) {\n color: var(--emw--color-white, #FFF);\n}\n.ModalContainer button.PrimaryButton:disabled {\n cursor: default;\n}\n.ModalContainer .Container {\n position: fixed;\n top: 30vh;\n width: 320px;\n background: var(--emw--color-white, #FFF);\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n border-radius: 4px;\n transform: scale(1.1);\n}\n.ModalContainer .ModalHeader {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: var(--emw--color-gray-50, #F7F8FA);\n padding: 12px;\n}\n.ModalContainer .ModalHeader h2 {\n font-weight: bold;\n font-size: var(--emw--font-size-small, 12px);\n margin: 0;\n}\n.ModalContainer .ModalBody {\n background: var(--emw--color-white, #FFF);\n padding: 12px;\n container-type: inline-size;\n border-radius: 4px;\n}\n.ModalContainer .ModalBody .ErrorContainer {\n display: flex;\n align-items: center;\n color: var(--emw--color-red-100, #E10014);\n border-bottom: 1px solid var(--emw--color-gray-100, #E8E9EB);\n margin: -12px;\n padding: 12px;\n margin-bottom: 12px;\n font-weight: bold;\n position: relative;\n background: linear-gradient(180deg, var(--emw--color-gray-100, #E8E9EB) 0%, rgba(255, 255, 255, 0.47) 30%);\n}\n.ModalContainer .ModalBody .DismissError {\n position: absolute;\n right: 12px;\n cursor: pointer;\n}\n.ModalContainer .ModalBody .ErrorParagraph {\n display: flex;\n align-items: center;\n}\n.ModalContainer .ModalBody .ErrorIcon {\n background: linear-gradient(180deg, var(--emw--color-red-100, #E10014) 0%, var(--emw--color-red-150, #D60080) 100%);\n text-align: center;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n margin-right: 6px;\n flex-shrink: 0;\n}\n.ModalContainer .ModalBody .ErrorIcon svg {\n width: 6px;\n height: 6px;\n}\n.ModalContainer .ModalBody .ErrorIcon svg path {\n fill: var(--emw--color-white, #FFF);\n}\n.ModalContainer .ModalBody .ChooseLimitLabel {\n text-transform: uppercase;\n}\n.ModalContainer .ModalBody .PredefinedAmounts {\n display: flex;\n justify-content: space-between;\n}\n.ModalContainer .ModalBody .PredefinedAmounts button {\n background: none;\n margin: -1px 0 0 -1px;\n color: var(--emw--color-gray-150, #808080);\n}\n.ModalContainer .ModalBody .PredefinedAmounts button.Active {\n font-weight: bold;\n background: var(--emw--color-gray-50, #F7F8FA);\n color: var(--emw--color-gray-200, #323233);\n}\n.ModalContainer .ModalBody .PredefinedAmounts button:first-child {\n border-radius: 4px 0 0 4px;\n}\n.ModalContainer .ModalBody .PredefinedAmounts button:last-child {\n border-radius: 0 4px 4px 0;\n}\n.ModalContainer .ModalBody .CustomAmountInput {\n width: 100%;\n padding: 10px;\n border: 1px solid var(--emw--color-gray-100, #E8E9EB);\n border-radius: 4px;\n box-sizing: border-box;\n margin-bottom: 6px;\n color: var(--emw--color-gray-200, #323233);\n font-weight: bold;\n}\n.ModalContainer .ModalBody .CustomAmountInput.InvalidInput {\n border: 1px solid var(--emw--color-red, #FF0000);\n}\n.ModalContainer .ModalBody .InvalidParagraph {\n font-size: var(--emw--font-size-small, 12px);\n color: var(--emw--color-red, #FF0000);\n}\n.ModalContainer .ModalBody .SetLimitBtn {\n margin-top: 10px;\n}\n.ModalContainer .ValidatorContainer {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n.ModalContainer .Paragraphs:not(:last-child) {\n margin-bottom: 20px;\n}\n.ModalContainer .LimitAmountWrapper {\n display: flex;\n flex-direction: column;\n gap: 10px;\n position: relative;\n}\n\n.ModalFooter {\n padding-top: 12px;\n margin: 5px 0px;\n}\n\n.Link {\n color: inherit;\n text-decoration: underline;\n cursor: pointer;\n}\n.Link.Inactive {\n cursor: default;\n color: var(--emw--color-gray-150, #808080);\n}\n\n.ContainerButtons {\n display: flex;\n justify-content: space-around;\n gap: 10px;\n padding-top: 5px;\n}\n.ContainerButtons .FirstButton {\n background-color: var(--emw--color-white, #FFF);\n font-weight: bold;\n color: var(--emw--button-color, #002554);\n font-size: var(--emw--font-size-small, 10px);\n border: 2.5px solid var(--emw--button-border-color, #DEE2E6);\n width: 100%;\n cursor: pointer;\n}\n.ContainerButtons .SecondButton {\n background-color: var(--emw--color-primary, #6BB816);\n border: none;\n cursor: pointer;\n font-weight: bold;\n font-size: var(--emw--font-size-small, 10px);\n color: var(--emw--color-white, #FFF);\n width: 100%;\n}\n.ContainerButtons button {\n width: 240px;\n height: 30px;\n}\n\ninput {\n /* Firefox */\n -moz-appearance: textfield;\n /* Chrome, Safari, Edge, Opera */\n}\ninput::-webkit-outer-spin-button, input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n@container (max-width: 1300px) {\n .ModalContainer .Container {\n width: 50%;\n }\n}\n@container (max-width: 800px) {\n .ModalContainer .Container {\n width: 70%;\n }\n}\n.LoadingWrapper {\n width: 100%;\n height: 100%;\n background: var(--emw--color-white-transparency-80, rgba(255, 255, 255, 0.8));\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.spinner {\n animation: rotate 2s linear infinite;\n z-index: 2;\n width: 30px;\n height: 30px;\n}\n.spinner .path {\n stroke: var(--emw--color-primary, #6BB816);\n stroke-linecap: round;\n animation: dash 1.5s ease-in-out infinite;\n}\n\n@keyframes rotate {\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes dash {\n 0% {\n stroke-dasharray: 1, 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -35;\n }\n 100% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -124;\n }\n}";
171
+ const documentSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTUxIiBoZWlnaHQ9IjE0MCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0idXJsKCNhKSIgZD0iTTU1LjM2NCAxMTAuNzk5YzMwLjU3NyAwIDU1LjM2NS0yNC44MDMgNTUuMzY1LTU1LjRDMTEwLjcyOSAyNC44MDMgODUuOTQxIDAgNTUuMzY1IDAgMjQuNzg3IDAgMCAyNC44MDMgMCA1NS40YzAgMzAuNTk2IDI0Ljc4OCA1NS4zOTkgNTUuMzY0IDU1LjM5OVoiLz48cGF0aCBmaWxsPSJ1cmwoI2IpIiBkPSJNMjAuMTIyIDk4LjY0N0gyMDV2NTEuMzg3SDIwLjEyMnoiIG9wYWNpdHk9Ii40Ii8+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTQ2Ljc0OCAxOS42NC0zMy43MiA1MS44IDQ2LjUyOCAzMS42MTEgNDAuOTI2LTYxLjczTDY2Ljk3IDE3LjkwNmwtMjAuMjIyIDEuNzM1WiIvPjxwYXRoIGZpbGw9IiNEN0VEQjkiIGQ9Im01MC4yMTQgMjAuNzk3LTMzLjE3IDQ5Ljc3OSA0MS41NzkgMjguMDEgMzcuNjU4LTU2LjUzLTMyLjc3OC0yMi40MTUtMTMuMjg5IDEuMTU2WiIvPjxwYXRoIGZpbGw9InVybCgjYykiIGQ9Im00Ni43NDggMTkuNjQgMjAuNTExLTIuMDIzIDMzLjIyMyAyMy43MDQtNDAuOTIzIDYxLjc5My00Ni42MTItMzEuNzI5IDMzLjgtNTEuNzQ0WiIgb3BhY2l0eT0iLjEiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNNTcuMDcgNjkuMDczYTEyLjg3IDEyLjg3IDAgMCAxLTEuNjA4LS4xMDIgMTIuNzEgMTIuNzEgMCAwIDEtOC41MDktNC44NTIgMTIuNzI2IDEyLjcyNiAwIDAgMS0yLjU4Ny05LjQ1MmMuODgzLTcuMDA1IDcuMjk2LTExLjk4OCAxNC4yOTUtMTEuMTAzIDcgLjg4MyAxMS45NzggNy4zIDExLjA5NiAxNC4zMDQtLjgxNCA2LjQ2NC02LjMzOCAxMS4yMDUtMTIuNjg3IDExLjIwNVptLS4wMTYtMjMuNTM2Yy01LjMyIDAtOS45NSAzLjk3Mi0xMC42MzIgOS4zOWExMC42NjMgMTAuNjYzIDAgMCAwIDIuMTY5IDcuOTIgMTAuNjUzIDEwLjY1MyAwIDAgMCA3LjEzIDQuMDY3YzUuODY2LjczOCAxMS4yNDEtMy40MzQgMTEuOTgtOS4zMDUuNzQtNS44Ny0zLjQzMi0xMS4yNDgtOS4yOTgtMTEuOTg3YTEwLjgyMiAxMC44MjIgMCAwIDAtMS4zNDktLjA4NVoiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJtNTYuMDg1IDUyLjI0Mi0xLjg2LTEuMjQ0LTMuNzMgNS41ODQgMS44NiAxLjI0NCAzLjczLTUuNTg0Wk01OS40OTUgNTQuNTI0bC0xLjg2LTEuMjQ1LTMuNzMgNS41ODQgMS44NiAxLjI0NCAzLjczLTUuNTgzWk02My4yMTUgNTcuMDEybC0xLjg2LTEuMjQ1LTMuNzMgNS41ODQgMS44NiAxLjI0NCAzLjczLTUuNTgzWk01NC41NzggNDkuMTc3bDEwLjg1IDcuMjU4LTIuNDAzLTguMzQtOC40NDcgMS4wODJaTTU5LjQyMyA2NC40MTZsLTEwLjg1LTcuMjU3LTEuMDM2IDEuNTUgMTAuODUgNy4yNTggMS4wMzYtMS41NVoiLz48cGF0aCBmaWxsPSJ1cmwoI2QpIiBkPSJtNDYuNzQ4IDE5LjY0IDI4Ljg5IDU5LjU1IDI1LjEzMy0zNy41OC0zMy44LTIzLjcwNC0yMC4yMjMgMS43MzVaIiBvcGFjaXR5PSIuMTUiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJtNTkuMDMgMjguNjU1IDguMDIyLTEwLjk2Mi0yMC4zNTcgMS44ODUgMTIuMzM1IDkuMDc3WiIvPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9Ijc0LjMwOCIgeDI9IjI0Ljg0NSIgeTE9IjEwNy40NiIgeTI9Ii0yOC4zNTMiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9Ii4yNzciIHN0b3AtY29sb3I9IiM3RUM1MUUiIHN0b3Atb3BhY2l0eT0iLjAxIi8+PHN0b3Agb2Zmc2V0PSIuNTQ4IiBzdG9wLWNvbG9yPSIjN0VDNTFFIiBzdG9wLW9wYWNpdHk9Ii4wNzUiLz48c3RvcCBvZmZzZXQ9Ii43ODIiIHN0b3AtY29sb3I9IiM3RUM1MUUiIHN0b3Atb3BhY2l0eT0iLjE1Ii8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImMiIHgxPSI0OC44MzUiIHgyPSI2My42OTciIHkxPSIxMDEuMjM1IiB5Mj0iMTcuMDAxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iIzAwNTE4MCIvPjxzdG9wIG9mZnNldD0iLjI5NyIgc3RvcC1jb2xvcj0iIzAwNTE4MCIgc3RvcC1vcGFjaXR5PSIuNjU1Ii8+PHN0b3Agb2Zmc2V0PSIuNjAzIiBzdG9wLWNvbG9yPSIjMDA1MTgwIiBzdG9wLW9wYWNpdHk9Ii4zNTQiLz48c3RvcCBvZmZzZXQ9Ii44NDgiIHN0b3AtY29sb3I9IiMwMDUxODAiIHN0b3Atb3BhY2l0eT0iLjE2OCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAwNTE4MCIgc3RvcC1vcGFjaXR5PSIuMSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJkIiB4MT0iNzMuNzU5IiB4Mj0iNzMuNzU5IiB5MT0iMTcuOTA2IiB5Mj0iNzkuMTkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjMDA1MTgwIi8+PHN0b3Agb2Zmc2V0PSIuMDE0IiBzdG9wLWNvbG9yPSIjMDA1MTgwIiBzdG9wLW9wYWNpdHk9Ii45NzQiLz48c3RvcCBvZmZzZXQ9Ii4yNjkiIHN0b3AtY29sb3I9IiMwMDUxODAiIHN0b3Atb3BhY2l0eT0iLjU1OCIvPjxzdG9wIG9mZnNldD0iLjQ5IiBzdG9wLWNvbG9yPSIjMDA1MTgwIiBzdG9wLW9wYWNpdHk9Ii4yNTQiLz48c3RvcCBvZmZzZXQ9Ii42NjUiIHN0b3AtY29sb3I9IiMwMDUxODAiIHN0b3Atb3BhY2l0eT0iLjA2OCIvPjxzdG9wIG9mZnNldD0iLjc3NCIgc3RvcC1jb2xvcj0iIzAwNTE4MCIgc3RvcC1vcGFjaXR5PSIwIi8+PC9saW5lYXJHcmFkaWVudD48cGF0dGVybiBpZD0iYiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgcGF0dGVybkNvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPjx1c2UgeGxpbms6aHJlZj0iI2UiIHRyYW5zZm9ybT0ic2NhbGUoLjAwMTg1IC4wMDY2NykiLz48L3BhdHRlcm4+PGltYWdlIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBaHdBQUFDV0NBWUFBQUNWU2xIckFBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFnQUVsRVFWUjRYdTJkeTVianhwbHVkNEFnbVpsVktWV1huTFoxVnZzc0Q5cVRycUZlb0Y1QzcrUDMwVXZVQzNnb1Q5d0RMeDh2cTlVbDJhV3VTNUpKSU9JTUFnRUVBZ0h3a21UZTZ0dHIyVWxFQkprWHllVDI5LzhSTU00NWhCQkNDQ0ZPU2JGdGdSQkNDQ0hFYlpGd0NDR0VFT0xrU0RpRUVFSUljWElrSEVJSUlZUTRPUklPSVlRUVFwd2NDWWNRUWdnaFRvNkVRd2doaEJBblI4SWhoQkJDaUpNajRSQkNDQ0hFeVpGd0NDR0VFT0xrU0RpRUVFSUljWElrSEVJSUlZUTRPUklPSVlRUVFwd2NDWWNRUWdnaFRvNkVRd2doaEJBblI4SWhoQkJDaUpNajRSQkNDQ0hFeVpGd0NDR0VFT0xrU0RpRUVFSUljWElrSEVJSUlZUTRPUklPSVlRUVFwd2NDWWNRUWdnaFRrNjViY0ZEd3hoanRxMFJqd2Zubk51MlJnZ2h4T1BIUE9UM2U4bUZ1QzhrUWtJSWNWd2VwSENNaU1hUjVPT1BJNC9GUGZMdy9pWE1JQWtSUW9qRGVWRENrWWpHRnVuNE5qUDkxcysvemt3ZGc2dXIwLzJ4dnR1MjRGVGMyemVPT2QzZmRYLzIrbGtrSVVJSXNSc1BRamdtUkNNUmpFUW8zcjhmVFQyK0FWYXJsUUg0Zm16UnZweWQzZjhmQytEeThtNStqamZiRnR5V04rSEIzZncrMCt6ek00eXVsWUFJSVVTZWV4ZU9FZG1JeGw3N3g5OUVjckZhbVZmTncvVjZIYTM5QXpGVmRYMmtNa3llc2p5UC9uaC9HVjk0WkpiTDViMytRenM3b25qOUtUZDRWMElWZUFPUVM2K3k2Yy9ZenpZWWwzd0lJVVRIdlFySHRHd2tvdEZJUmhDTXF2cjM1bXNqSEwveno3STNOd1BKcURlYmFPeTMwY3gvcDB2M1lqYWZuK1NQVnl3V0I3MXVtUk9Sdnc3WDNaYSthT1U0WEw1dUsxTzd5RkJXY21KeXd2T21mWkI3L1hRcyt6TklRSVFRbnpNUFJUaWlyMDNwSkJLTi80Z2tvNnJXaHQ5MVloRmt3dGExZ1NzQVhsYXhZRUJkVjRhdnVCTm1aWG5ZSC9RbitMbDVhTXJEUkthWUhTSXFmZWs2VktMMmxxVC9seDh1eTlzSlIxbisvZURucDdMVGx1SlNpUWxDOHFiOXIzaCtGeUh4Zy9mNVB6NGhoTGhqN2swNDhySUI4TnJMUmtZMDdHOXVUTDNaR0M4WDRLb1g1aXNhb1FEc2wxVWtIeSt3elhqQTJ2cWtKUmFBb3BnZC9BY3Rackdzdkp0WXQvMTdGQWVLeit6ZFljOHI5NUNrMmV5Zjdkb2ZweFp5bUFBZElqOWpvaE1MVEJDUzc2RXZJWmVYYmlJQjJVbEFKQjlDaUtmT1F4R09yR3prUk1OVmxiSDFDL1BDTm5MeFJkMEl5SmRZV3hzWFpPUlpiZUNTaTBneXdseU9RMlZrSDhFd1cwUWhmcTBQdkI5ZFp6NXUvNTdidmxkZzI4OS9UQWtLREdUb1o3TE1adHZsWjFwMDNnSXdhMzYyUStTbWxaZFdTdjRLUU5uOERzdmwwdDFTUUNRZlFvalBnbnNSamt6dlJ2T2Zid3l2Z214VXBxcStUbVRqaFhsUlY2YXExb1c5ckkyMXo3MWMxTFZ4dGpiMm1UWFA2bk12SXJZMnpsay9iODhNRi82YldXdDdZdUdpNjdCK0g0d3Bkdm9EbW1KNlhUR1kvOVErNmoyM0c1NzgzdHRFSXJCTlROclhlVDhVb0k4VDMyUG4xMjM1WmJobUI0bVpXak9aOHZ3OExqUmxPWGYvMDE2OWJiOUhMQ1RGajE1RXl2S0g1dXVJZ054U1BrQUNJb1I0R3R5M2NFUmZoK25HemMzN292NVZJaHZQMTRXdG54dHJhMk0zTjRXMTFqeTdxSTIxNThZNWE1eTFoZ3V3OXN3NGE0MXoxcHdUeE9JY3Q0d0VZMFEybk4xUFBMYkpSR0JLRU1aZXc0OWYrNHZyN2V1THpQY3dSZUVpVHhrd2tKMVlhb3FaZzQra0hDSTdPUWtwaWsrVGY3dVA2WFArdHo4L0pqYmJoR3NzdVlrRnBpaExGOUtYSUNmL0xOKzVlRjJRa09MSGhRc0p5RzdweHh1WTd2MFkvZmtsSUVLSXg4aWRDOGY0emhRdkhLOVdLN05lcjgxcWRWV0VkS05lWHhZNTJiaDRabzJyejAxZGJ3cG5yYkZuMWpoN1pweXo1cXlSRGJkWVJrbEg4OVV0REdmZDljSzUzbnlMY3dZV1RITXpIREptYjdFQU1OSHoxbUVzWHIrSzE5NWt4V0l3bG9qQnBOaEVRdE54blgxT0xEYXh6SXlLVUpIK0hLdnVlb2ZVWmtvZzhpSXpjNHlVcFhvU0V3bE0vRHJ4OXl0bUh6ckorQmNVUmVsbXM5TDlESmhJUUdMNUFGK0NpWHRBL2lzMHBXNVBQM0svYS9iM2wzd0lJUjRMRDBRNHZqVmhaNG9YanY5clZxdDNoZjNOamRtc1ZvV3JYcGd2bnE4S1cxK2Fhck11WEYyYjgvTmw0ZXJheThhWk5kYWVHVnRYUlNvYVB1Vnd4cm01Y1F0bkZrRXFtakgvMEJvVzRCcng4R09SYkFReDRRREdQdUROeG1WVXBTY2QvcnA1ZnJRNFhlTUhONU1Da250T0t3R1J5S3dISC9oK01oV0puQmhNcHpRMENjMVFZUFpKWllhbHAwUmV3dGoxZnVMU2w0MVA3a01ZYi9wbHdueFJ6TnlZZ09UU2oyS3hjSEgvUjBnLzlwQVBVUG9oaEhnQ1BNaTd4VmJWdGVGM05CK3lWN3lvcjQyRmR0ZUplMVliYk5mb0djb25aOVlhdDF5MnBSUmIxMFVuR3JXaGJzVERXZVBtemtDTmMxNUMzR1p1d0xUUzRlZHZ3TTBOaGZlUXV2bjU5dXIxY0hYKy83VzdrcUluQWQ0b0RJbHdNUHdBTWMwSFR1c2dSZUU2SGJxSjVNTDFIa05mRk9wMU0xWjAzM09HcFJsMFBtY3hnelVlUjVySW1DTDZJRnlsVXJMQ2xJV0RXVHNTNXNQZkZmclNNZy9YdmVUbGVyQU9pb0cwbUhrK2dla0x5eWYvT3ArQWVoUDlQQ1ZMR2psWkJObjRRRkVVN3VQSG1hczNDeisyZ2VMWkIxZk1hbWRubGJ2ODExa3YvYkQxTzFkc05vNlhZT2MzRHI2aWFrb3Z2Ni8rYXNxeWRLelhacmxjdXU5WEs4TTNRVDVlK3gvdlRmZzUyd2ZnLzBHbS8vNjF2MU1zOUpJUEljUkQ0czRURHVpOUtZNlVWUG9KeDh2cWhkbEVDWWM5dXlrdTdJV3BOemVGYzliVWkwVVIwZzA3bnhjaDJiQzJMQllMWjF3UWowWTBuSE1HYTgzY3pmM2pSU01SemhubnlpYjE4T0l4RDZuSGZON0pTSlNFWklubnA4b3JnelNqNmwxdnd2eG1iSDBpTXNhNE9BcUo1OXZuM2d4ZkJ4Z2tNY1lZZDlON3JlUjdieWJTazk3UHRjNmtJLzMxeFUxLzNxY3NYZXh5U0ttbzdYMjV6czhYcHArZ3hQT2RsSHpDclB4all3b1gwcEVnSUorS3dwbVBNemVXZmhTL2JDKzk3TmYzQVVvL2hCQ1BsZnNXRGlEc1VNazBqWDcxdnNqMWNOU2JteUl1cWRTTFJlR3NOY3U2S3R4eWFXeGQrWjZPZVZrc1hDUWM4NmE4VXRkRmtBMDM3MFRET1dlQ0xKUmxKeDloYkNBY2M0Q3luVy9qb2gyRm94cXNxWnJMNkRtYjVIb2dIU1BTc3VtdmpkZFZXVkdKTDZ2Kzg2YktPZEVIOVNZcDY1amU5eThtWHVlbS83Tk9DTW82bmwrRitadUo1KzRnSnEyVXJOdTVWZk84c041THlGQkEwdlFEd014bUxpY2ZBTzltcFp1V2orN3NqK3k1SHozNXVITEo4ZXY5Znpialk1SVBJY1NkY3kvQ0FjVFNZYnIveE50aXV6TTR0cVVjdHE0S2U5YjFjSVNVdzlabHNWajQwZ3B1YnF5dGk1Qnd6T3RaTVNZY3JXeTRKZzJoa1l4eTFqNmVFNGxIUzlvRE12Y2Zsc0ZFcW5qTzAzMllic0xJNklmdEpybkdHTmMralNyNWdNOUx5bUROcG4yQmRsMzZmZm9mMm9rY3BCL29rYURFcjNIVGZ0RGZET2F5eVUzbU5kSStsU2t4S1lyQzVYdFRWcE5TRXN1TU1WNUFXdWt3aGJ0dUJXVGw4dW5IdGRzbCtZQzhmUFI3UG1BeS9laWRlQXBLUDRRUUQ1bUhKQnhrRC83NmVtMDJIejhXdG41cHZseGZGL2JMeWxRMzUwVzNVNlZmV2dsSlJ5Y2RQdDJZbDNXQmM4YmEyVkE2eXJyWUtoeWxNN2laY2M2WnNoV0dPUEdZNDJhSmdBeUVwSS9EbWJSbmcrVEQxdzlGWTlVbStZQWVGNVR1dGJ5TWJES2xtZDNFcEYvcW9US3UxYU14K1RER2RYSlI5RjkzTE9tSXBNUVkwemJWRHI3SDJQTW5oS1FuSXplRkN5NWlJaEdKbnhQRzIrdDE0ZUtHMTIzeXNVL1pCVHI1R0d5M0hXazZQVUxwWld4TThpR0VPQW4zSmh6UVNrY3NIcVM5SEZWMUhVbEhiYjVjUHkrc3JZejlvamJWNXR5WFZjNDN4Yk93UGZic3pOUlZWVGhuemJLZUYyNWhmWW5GTFl5ZDE4WENXdU5zNldXa3RBWFdtcks1WnQ0bEhjN2FvaXlkSVZ3N1p5aWRnWkt5RlpFZ0hLVnBaU09TREVldTFOTDE2VHJuVFByLzdpRXF0VkFOQkdSS1VJd3h6ajk1WEVwU3djaVZkWHp5a1YvZlBjd0x5YVlhVzdPRGpHeEdmczVJUkRieGVMenVKdmtlOGR4RXlhWmRzNGFibmhqNU1zMjRnS3pkbEh5RTlVRStQalJsbDIzeUVaLzNjVVQ1Z08xcFIzcmRUZHpubTRRUTRzbndFSVFEaUtYalczajkxdkMrTzVNamxGYzJMNzEwOUU4Y2pRNEJlM1pobnJWYlpmY1ZqOUxNblRQVzFzVXU0dUhjektjaEFQaHhOMHQ2UG1qbVd3a3BtNWFQS1Bsd3pxUlNFYjhHclVUUVhBWkpxTUpBOXlFNUppUFZtQ0RrUCtDcmdXUTB2U1VqTWhHK1QxOXlJdW5aMEJNRjA2Ni9yWVRrbTFyRDQ1dEVRc2JTa0RFQkNUdGZqTGx4cTJpZE1VVXJHNlpZTzY3OVhHaEVOVVhoaXFKd2ZQSzdZRkw1K05RY2RoYmtJNVJqaXRtSFZqTDJrNDkrMzhkQVBnRCtGTjhCZDJ2NmtWNTNFL2Y1aGlHRWVOVGNxM0FBVzZXaks2ODBSNTNiR3hPZlB2ckZabFg0KzZrMDRuRjJVMWdiaTRjMWRiWHdPMWVXMWl5cnFOU3ltQnRYMTc2eDFNMk5MV3RmWXFsbnhkejUvZzVuZmRrbFYycnhrbEVVQUdXVGVQangwbENTRjQreUhBcEhockFtbDREZ0oveDQ2eDExZjExR1JLcDB2STVGWWRoRE1wNXUxTDZra2pTMHRvOXpZMm5xa3BFWDN6dFNSSzh4WFpJWlMwSFN1YjdzRkZ2N1F6cXg4UE9oSHlTa0h1c2RVbzlWSkNXN2xGeUFmTE5wYzlxcFArZGo3bkpIclcrVkQrZ0x5SDd5TVRibUorNzdEVVFJOFdoNFNNSUI1TXNyckZZR0lDOGVMNDJyTnVaRlhabTR2OE05OHpkeXF6Zkw0c0xXeHAwMzR0R2MwYkdjei8xT2xpYjFjQXZieUVlL3VYU2JmRGhyaTFZZ3lyakhJNlFoelhiYWJPclJ5RWQ4R2twWU55SWNZMldZK0VNK1RUUklaTVRRcENSWk1RaVBOOEZRc212Q2M3dlgyYThVMDVPY01OOElUTmNmTXAyQWJKZVBNTzRYSFVVOEFMUGVKaDZGQ3p0ZTR0MHVVNmxIT09MOTQxVEo1WmJ5QVh2ZjZSYVVmZ2doanNTOUN3ZXdSVG93OEpvcDhlQnI4RGQ0ZTJucTlYWHg0c3ZLMkxwTFBkeXoydFNiVGVIcWM1T1ZqNlRrNHB3MXJod21IMjNacGZTN1hwcnpQZ3BYT2xNbXlVZVFqMjQzeTNqWkJUY3p3VGxhZVVrYlVLUDVySEFFcHNTam5XOUtKT1I2T1ByUE1hYUtTanF4TFBTZjF4ZVlLbDkrbWZvZTNZWGJWenlBcmYwZlFUeHVrdm5iaVVmaFlIV1llRFJiYkZQeEdOdGlDMG5KNVFqeUFmRDlxSHpBRHVsSGV0MmZmQWh2TGtLSUI4T0RFSTVBSkI0akF2TGFpd2NRU2kwQVkrVVdXMWNtSngrOTVNTlpFL2Q3T051a0grMng2RjNQQjNIWkpVay93cmJic2RKTDZQdUlkN2prbWsxRG8ybFdRa0taSnY1Z2RJbVlKTUxoaDNMUzBTMm80OTZQcmVJeDhzRnVodkppVEQyWmVKakI5NG9TaitaaDFWc1RpOGZHcFdQYnBNT1BiL0s3WDhZT01ndmZaMFE2Z0wzRVk5RG5NWEc0V0p4NmRHUFQ4aEVPR1R0RVBzN096dHlmaU5odjEwdDYzWjk4U0c4MFFvaDc0VUVKQnhCTEI1QVZEK0MxNFRYd2ZqZjVnQ3RjdFRFdlhsVEdWcFdKNzhuaW50VW05SHhZV3h1N3JJcjRUck9oOU5MciszRE5jZWkyTE1ZUEU5c21JRDRCd2ZVYlQzdmJhMU1KQVhDem5tRE1VdUhJc0UwNEt1ZzNuSTVKUngxdmo4MnNPVUE2MHZFMjdUaWhkTVFIbEcyVkRsTzRjQ3U5WEhOcEVVdkdDdGJGVGU5bjZwcExpNmE1dEJNUGdPc2R4Q09YZXZqdlBYUHdpeSszUk0ybWNIdjVHSlJlMVBjaGhMZ2xEMDQ0QW9sNEFJZkxCMEM0ODJ6bytaaEtQL3BOcDJmRzJ1YW85TG9xenRKN3RTem1adUdjSDVzVUVIOEd5S2lBUU5JREFwMkVRTnNMQXIxVW95Y2owZHp3SmpuTlNDSWJrQ1FjdlRYaE1zakRzTHdTejBNa0IvRUhlVlVQMTI0VERtZ2JTK09EeUhMQzBSdS9pZGZtaGVQUWxBTVlKQjNRVHp2VzZ5QVlVK0p4M2U1cWllZFdXOFVEd28zbDB1MjFRUCt1dHREYjZWS1djL2MvZTVSZFlLTHZZMW8rWUkvMFEvSWh4T2ZEZ3hXT21JblVJN2wrN1I5SFpaZFh3THJwK1lEZlUxWHJiUHBoWDFUbVJaTisyTHFLQk9UQ1dGdWI4K1p3c1lNRnhPMTN1cW1YQzlmdWFvbDdRY0p2RzNiRHRDTGlCM3QvbjFoSVlnbnA5Vy9Fak1nR01KcHc5Tlo5eGlrSGdGbEhoNHBOU1FkZzF2MjA0eUR4bU0wYy8wc3Y5Y2lKQi9qVUE3eDh3RnQraXVTaldDejg3ekFoSDl0M3ZNQ1c5Q09kNnlINUVPSnA4eWlFSTVCSlBZQ0o1QVBZTi8wQURoYVFjQytYY1FHcEN6ZWZkMExSYTBMdEM0aHp6c3puM1E2WE5Ba0Iycm5vS0xGbXZPeWtKTmQ4Nmx6KzdJOElrOHdiWXh4VmRBejZIcjBjd0dlYWNoU3VQY0UwRnFKSVBFTGlrVXBIVVlSZWo1Vi8zcWZ1TmJvR1V5OGVBQjh6NGdIanZSNFF4QU4rbXYzVFFaSjZBT1VQWFlsbEovbVlQbXdzZnB5NzdrOCtwamNtSWNST1BDcmhTTWtJeUY3cEIvZ2RMd0RoY0RFNFRFQnlKWmd6MTl6WHBSR1FjRU01NTN3UGlCY0pmMU01YS8ycHA4N05UZGVJMnBjUTVsQW1VZ0pSd2hINlF2RDNsZXVTajFnNm90Sk1qcVFXTXlVYTdYekU4TkF3R04yMTBsdVRmUEEvMFpSajhQeWsxTEpOUE14MUp4MUFLeGloejZPWXpkejdySGlVRHQ2Ums0OGdIclBad3YzSWZ3UGpKUmM0U0Q2NmNjKzI2LzdrWTM2VEVrSzBQR3JoaU5raC9VaXVoNzBmY0ZvQmNjNmFzK1hTMkdoSFRQOE1rRVpBbkRYaEhKQ1FncmhXUXByNUlDRkFXZmJ2ZE5zWEVWK1dBU2lUK1Q0VEVnS3dSVFNDT095Y2JpUnIwcmtISnh4K29ocy9Zc3JSam8yVVdDQ1VXZGdxSGlIeEtKckVZemFidVYraWRVV1RiaFN6OS81cmN6ejY3TjEwNmdFSHlvZTIyZ29oR3A2TWNLVGN0WURFTzJER0JNVHZnbGtVc1lBNDIwaElYVFZKaURQeFRwaXBGQVJnWEVLYW5oQWdLeUx6a2w0NUppTWhZZjFBTG1LaXVmUXdNWC9aOVcvNDZ6M1NqYkJtUitHSXgrOUtPT0kxeDBvNW9KT09NUDZKN3ZWTk1YUHcwYS8vNk5jTXhXUG00SDNYSk5yc2NFbmxZMHc4WUx6UkZIYVREOWgyenNlVmcrL2lnVzV0L25xQUJFU0l4OE9URlk2VWh5b2c3dHdhWi92bmdNU05xTU96UVBJcGlIT3VLOFVBcVlUTXdkL3hsdjdKcDVBbUlxV3Z4L2lCM3Q5bnVQUEZNeW9hd0M2eWtjN2xlamo4dzRlWGNLUnJqcFZ5d0xSMCtMRytlQXpMTE9QaVVSUk44akVMZ3BFdnQwQVFEeGc5WEF6b3k4ZGZpVzhzUjBQdm5JOUJzMmxQUHBJNWlZY1FUNEhQUmpoU0hvNkE5TThCQ1FJU3B5RExwQStrUFExMUVWS1EwSWc2VVlxQm5vVE1vVXMreXJLWGdPUmtKR1l3TnU4ZXRoKytZNkxoQjNyWCs2WWJmdXJ4Q0lkZmY1eVVBMUxwV0hYUG0wdzdtcm1aTDduTW1wSkxLaDRoOFlDaGVFQW5IOFZZeVlWOHMrbmtBV005K1ZEcUljUlQ1Yk1WanBTTWdFd0lTWDRIVE5pQ0MwY1VrR1FuakhQV25ObWxjVXU3WHdyQ2drVW8yVFJ5d3R5UE8yZDd3akYzempBUDE5NG1jaklTNDl5V0k5ZGhValM2NjhoVTlrZzMwdkdIS2h4K2ZTYlp1R1hLQWJSOUhUQ1ZkdENrRk8rOWRBQTdpUWZEY2d0TTlIcVFpc2U1Zzc4QUUvSXhYWExwL2psMDVNYjZDL1FHSjhTRFFjS1I0YUQwQTQ0a0lORkJaSFZ0K0FLR1paaHo0Mnh0ckxWdDcwZXVET01XdHQyU081YUNMUEN5MEpaVm10MHhXUkVwNCtRajJubzdJaUZqNUVVRGtsaGtyM1NqTjM3VC94NFBWVGo4ZUM3bDhMZThoLzFTRHNoTEJ6Q1NkdlRGby9qZ3BjUFBUWWhIV1RwKzZxUURZTmFJeDA4N2lRZkFYL1k0Vm4xcjZqRTIxazNxalU2SWUwZkNzUU4zSnlEUlFXVE5TYWdBdS9hQnBMdGhYQ1FrN1c0WTEyOUdCWWdsWkdHNzhvcHp6ckNnRlEraTlXRk5XMDFwVXBHTzZlMjNmZWxJUkNNYU1xYTdpWnUvM2kvZDhIT1BTemlBMFpUanVsbXpUOG9CWkpNT3lLY2Q3M3Z6UVR4S0IvL3lZenVJeDN3K2R6K0UxOGdlS3BZWEQ4ZzBtZ2JlWERXUEoxT1BxWEUvcVRjOUllNEZDY2NCbkVaQWhnZVJBY1JIc2IvOENuWXF3MHdJU0plQ2hENlFmQXJpUldOWWpvRW0wY2lJaUorejJlU2o1eUxPK1lQSGVvTU55WW1rMlR2R0J2Wk5OK0RSQzhjeFVvNTBQUFIxUUxPTjluL1QrVEo1L0s5V091QjI0Z0hqOGpFcUhwREtSMyt1WTJ5OFc2QTNRQ0h1REFuSEViZ0xBUUZJN3dWekt3RVo2UU1KS2NnU2NFay9DSUNiUjMwZXR0OXNHdVk2NlZpUTluekVRZ0prblFPMmlZWng0UmIxNlpwZDA0MzRwTkYwM2VjbkhEN2xDTXcrUnFXVjBiUURZdkdZQlFFWmlNZkN3WC9ueFlNRHlpMnBlRnhkT2U4Y1NqMkVlT2hJT0U3QXFRUUVtbnZCWkFRRTRGaU5xTkNVV1hJN1l2emtvQnpqSHp1ellBSHRhL1JGSkt5blpSRUdjMyt2UHUySGVsNDBZSXRzd0U3cEJqd2U0WUJqU3NjdzVSaXVTWk1PeUtZZFFQa3VsUTZZRkkvbDB2SFg1dkdFZUlUSGY0ckY0NnBKTzFyblVPb2h4RU5Fd25FSEhFdEFJTjZHZTZDQTFGNUNVZ0hoNGhtaEViV1RFR3RjMG93S0VDUmtzWER0V0NqSCtJZUpjRFJmRjBraTR0Y09aU05OUVdBb0Y3MjViYUlCQjZVYjZkelRGbzc5VW83dWNiK3ZBL0pwUnljZE1KOHYzUS84d3o4dmxZN3crUHpjTlp0YVdDNy8xbzdIMGdGdzJZakhtekRRSmg0ZzhSRGlZU0hodUFmdVRVRHF5dGd2OHdJQ2wxellrSWFNbFdIOFY4N082WmRpbXNSakNZc2dHVGJlN2RLSlNFODJra1FrakRIRklub2NXd1BiUlNOd1VMcmhtME42SC95NWRhY1dEdWdhUitGMndwSE83WnR5ZE5jajB2R1Rmendzc1hoK21pOGRSeENQeTdUTUFyenBpUWZBZDRNMURXUGozUUs5U1FweEZDUWM5OHlJZk1BQkFySjNDU1lSRUlEUm5URE9HbmRtamJWbnJWRGtVcEJ1YnVFZk4wMnBZUndZbEdTNnlvcHJ0K24yellLZWxHd2xJeGtReE9DbTlaUXAyUmpNUjVJQ2oxYzRnSjNLS2dBZlBvNnQyNTV5d0hicCtCR1l6WU5jL0dOYU9nRCtBc3ZsODJiOHo4QjI4Ymk2dW5MOUZvOVI4WUF0OGlIeEVPSjJTRGdlR0E5RlFBQ215akRnWldIWUMySU5uQk0zcEVJbkc2RXhkWWtYaTFoQzBqU0VobHpxRWVRa2o1OFpKQlROZitlU0VHTUtGeWNtaDZRYjhOaUZZLyt5U25jOW5YTEF1SFJBRUk4ZDBnNFlpTWRZbVNYbXF1bno2THhENGlIRVhTUGhlT0RjaDRBQS9qQ3l1akxXVm9aL1M4NENHU3ZEUkFJQy9SUWtsaEFnYWtwMUJwWXNuRFVzTzdrWUU1SHczRFFBOGVOTnIwaHpIY3RBVW4xcGliZlRkbU9Ka0J5UWJzRERFUTYvYm5zZkIvUlRqcmlza3E2OWJjb0JYanArN0M2WnpYL3VYbk9iZE1DUnhPT1ZneitteXdLRDUvY205ZVlweEY1SU9CNFpkeThnM1dGa0wwTFpKZWtEQWZBUzBpL0RRRDhGZ1hFSnlTWWh6cHJsMHY4R1l5SVNtT3o5R0k5Q3RvaEc0V0NkRE8yZmJzQXFlZDdURWc1L1BUeVJGQTVQT1dCY09pRHQ3Umd2czhCUVBJSjBRQ1FlcjE0NS92aEhNdlNlTzVqVUc2Z1FPeVBoZU9UY2lZRFlHOFBYWGtDZ080d3NKeURROUlGTXBDRHdESGZXN1lnQk9Hc1RqNlhockJNVDZFc0lnRnY0NjBXY2V1UjZQS0lEeWZaaWkyaTBZd2VrRy81NWowTTRZTGMranU1NkpPWEkzSU9sbmRzeDVZQnA2WUFnSG45dXIzY1ZqMTV2cWNSRGlKTWg0WGhpN0xnREpobmJUMEFnZnhycVYwRGQ5b0hVQmw3MCtrQUE0aFFFR2pseGZrY01GeEFrNUt6WGdOcEpDRFFsRmVKclg1WUp2U0hkV0orc2xQUllFb3RHVGpKZ090bUEzZE1OZUx6QzRkZm15eXF3WDhyUkY0N2RVdzZBOHUvbnZiRjlwUU9PSng2U0RpR21rWEE4Y2U1SFFHcmpxaGVkZ0dUNlFLQXB3OWphMkdjWDVubHozYVVna0N2Rm5FZVB3L1pjNkNRa3JQVmpQaEU1QTJ6VEl4SXpXWVpKeURXYXBxTGgxeFZ1dFlxdWQwdzMwdXZQUlRqZ3RDa0g3QzRkUGVHQWc2UURKQjVDakNIaCtNeTRTd0dCZkI5SUp5RCt6cmdRbFdGc2JiaUVDM3ZSbG1FZ1NqVXlXM09EaEFDNDViS2RpNS9YaloyUmpnT2NuZmwwaFMza0pBTTZrZGhWTnZ6OGlIeGNYL2V1SDROdytPdDhId2NjWGxhQjQ2Y2NjRnJwa0hBSWtVZkM4Um16Ui85SE1qWXVJREIrUjF6WTFvZzZWb2J4L1I3UGVVNHFJYzdhcGhUVFNjZ0ZUYUpCa0F6Zm5OcGRENFdqWDI3cFM4a1pDYzFBVHlCV0VGd2pGWTNCV25aUE42QXZISWVjTk9yWFBSemhnTVBMS25ESEtRZElPb1E0RXVXMkJlTHBrcjRwUmdLU3ZsbWEvdGdiQjVqbVBHbm5CZVRTZmY4YUx5Qm5aNDdWeXJ4YXZuWFFDTWd2cVlCNFVYa2ZCR1FGdmd5emFmdEFvRWxCYnA0YmEydXpvcUtmZ2xqajZuUERCcXl0MmxMTU9wYVFHVGk3TVJkVktpRmRHZ0xnVEN3Y0ZjNVpZNXJmT2QxUzY5YlduTkZKd2dxZ09NTVF4UnNOdVNQWnAyU0Q2MnNvaXZZeVRUZWVJblY5WTRoT0lLMDNhek9iYno4Qk5GQmRYNXVTTHVWWXJ6K1k1ZkkvQjlJUjgvNzllNU5LeDl1M2I4MjNZOUt4SjhZWUkra1FvbzhTRGpISzZST1EvRlpjbU9vRHFac2s1RXZ5S1FpNCt0eS94cUFjMCs4SkFiODdwdm14MmpRRWFCT1JtTzFOcDlOa2Q3cWs4bkZndXVIbkgyZkNBZkRUcko5aVRKVlZJSk55YkNtcmdGSU9JZTRiSlJ4aWxOTW5JRXNIYjZNRUpPb0QrUjNZbTVWNUZ3a0lLM2hadlRCMVhSbllSR1VZc0RlMXNmYTVXUUd1S2RPNFo3VzVzTmJRbEdMWTFBTUoyWnhaQXhlK2Y2TkpRd0RjeHZlR0JKenRFZy9PejQ4dUg2WW9ITmZYdlRYN3BCdXhiS1Nrb3ZBVXFmNzkyc1RTNFZPTzZaUkVLWWNRZDRzU0RuRXdkNW1BZUFGSiswQkNHWVpCR2NaL2ZkN2JFUVB3ckVsQ1dna2hsNFJFRXRJUWVrT2dLODIwblBmVGtYM1lWVFNPbFc3QTAwdzRRQ21IRUE4ZEpSemlZRzZSZ01SZlhEWUJBVjZ0VnFaTlFONk83WVJaMGFZZ3EzNFpCalpZV3huN1JXMllld0ZaM1FUQnFJakxNZjBrQkt5OU1RV2RoQUNzTXlKeUFiaVZOVkE0MklUaG9aVEVuRGRpc3FOb3BHTlRzdkc1VUszWEppY2QrektXY2hDZFJub2JsSElJMFNIaEVFZGpEd0ZKZUJOL2NTRUIrZjcxcFlzRnhLY2diN3NFNU9jdEF0SUl4Y3ZycUF3VDlZSUVDZUVHVnJZMnJsNjNBZ0srS2JXWGhLeHJBemUwSW5MaGp3bHp6UTZaZ0xYV1hOQkp3YUQ4c21vT0Z6TmRjMmhNVGpJK01SUU52elpKTC9aSU43WXgyMlB0UTJTWHNzb1kzNUljQkNhRXVEVXFxWWc3NDZnbEdCaWNCUUw3bDJIQWI4bUZZVU1xZEtVWVoydnovQkxTY2d4MEpSbUlFcEdMWjRUbkVaRTc2K09DUEVWU1JvbnBST05qTkZhNDZCSzRYVGxsNmw0cWZ2MzlsVlJnZStNb3dITDV0OEdZeWlwQzNBOUtPTVNkc1VjQ1l2cGp1U1pVNFBXbCt4NzZmU0J4SStvdVpaamVsdHl3SStZNlNVRzhoSHhhQlFueHIvV3NTVUptZ0xVWG5YVFV0V0Y5ZzdWMTEyaUtsNUhaUmJqdWhDVGRUSHVCVHpSaTBpUmpJQnI5b1d5ajZEN3B4dWVFeWlwQzNBMFNEbkZ2SEVsQWdHOGR2RFU5QWNudGhHRllodWxTRUM4aGJRcnlJVWxCQmhJUzk0TjBFbkw1QmRnaWlNaGxrcFRNWExoVmk3WFhCaUFWRWk3Z21uemtFL0NDRVpWanRvZ0dER1ZqMzNSRENDRnVpNFJEUEJnT0Y1QW0vSDRUcmhzQnlUU2lwbjBnUGdYNWR5OGp2VEpNMmd0eXhjc1AvanJlbHR2T054THlxZWtEOWFLeDlxTHhCVER2eWpQUHVjVEVaWmkyUE5NSlNjQW1KUmtnaENPdGFFeHRlODJsR29kc2s5MWVUaW4zZnMxSHlmZmZKLy91dFl5TkN5RWFKQnppd1hKckFZRkJJeXF2TDkzM3FZQXMzN3IxZW0zS0VqZGVobm5mQ2doNHlmajE2b3FxaWlUa3F3MjI2bS9OWmY0Q2V4MVNFai8yc2Y1aytLTDdlWjhWc1ZSYzlpUWpiZFVucGJFQUFBZ2hTVVJCVk54MGRXMEltMXN5UGFkVFpaT2NhQlN6bVlQM3ZUR2xHOGRIWlJVaEpCemlFWEc0Z01EWVRwaWNnTEJjdXFuZE1DRUYrUmZ2ZXllajhzRWZUQmErbzVlUTY0R0UyT0o1S3czVzF1WVRuUWk0WjU4TU05d2xIYTI4Y0FtUk5HVFRqNGlwSktOb3hXUW9HNE8xVzlJTlQzZW5XQ0dFeUNIaEVJK1dVd2tJd1BkUkgwZ3FJT05sR0hpMzZYYlJlQW54TjZucjc0cTU3cThCd2szcnVQWWY3cCtJaGNLUFBYLzJxU2NZeGF6N25iclhTYmxzMXFZaU1TNGFVenRUY253MjVSUWh4SzJRY0lnbnd4NENrdUZONzB2Y2lBcVJnTUJJR2FZdklCQWt4S2NnNytpa0lEU2tRa2hCQUxva2hHYXRGNHBHUklCUDF4UHB4aGQrTHZTRGRBbEpmbU50OW95TkhVUmpsM1JqMjVaWUljVG5pWVJEUEZrbUJBUzJTa2phaVBxNiszS1o3d01CMHUyNERvWXBTTDE1Yjk0MXJ4cVhZbVowSDh6MWl5QWZReEVCS0dZdm9uU2pNbndJVjdtRUJMNGs0WXZvY1NNYVJURnp2NUJ0RFJsTk1RNUpOOUl6T0lRUW53Y1NEdkhac0tlQUpHV1lONzB2WFFKQ0p5QkFyZ3l6UFFYSmxXSnd2OFkzcFFZUnFldktGRitGRC9oT1JQS2xsUmM5R1hoZlYvSHZ5cGNmdXNjVThBdDV0b3ZHN2RPTjlOQXZJY1RUUk1JaFBsdjJGSkNFTkFGSitrRGV2emZmQS8xbTFMZnVQNGE3WVhvcENIUVNNbWhLTFhGOHVPSmxzek9tVFVSK0JYV1FqK1lEMzFidmU0SVJwTVRXbHdiU0RvNThxcEdqTHlDZGJLU2lNY1l1NlVaNnlxZ1E0bWtnNFJDaVlVOEJTUklRR0c5RUJTNjloUHpYeUc2WWZncmlqK3l1dmw2YllyRnc5dWJHek9iK2c3cmUvTk84U3hPTmQxZUFudzhOcXZueURCVGxkU01rL2NURDgyL0RvU3piUldOV2xvNmZjalBKT3FVYlFudzJTRGlFR09ISUFrTGJCd0xERkdTMU1nQnhMMGo1RnRjVGtHcHRDaFl1N2dmeEl0SWxJY3h3WFgvSVN3UHc2dy96NXZuZE9TSXpTaGNuSTU0MDkvRFlKRDJaZXR1WWhUV0piSXdsR3o4bTE3bDBZNWY3cUFnaEhqNFNEaUYyNUdnQzBqNTgzVjNIQWdLdGhQUUVwUFN2Vi8zUVNRaDBTVWk0N21URTMwenRwMGhHNExmOHF2Ynp2SU9TdVl0RkJJQmZkUS9ycWpKVDVaSlpPcmVqYUlEU0RTRStOeVFjUWh6SThRVWtITWtPbzgybzlGTVFnUEl0RHY1QVZZWHpQWmFPMzBQVnpJZXlqSi83bVgvTmNYVjBhdXB2WnI5MUFIVWtJb0dza01RRU9UbEFOSTZaYnVUdUZDdUVlRmhJT0lRNEVyY1hrTys2c1RkaDdIVTNQWktDK0l1LzhXcUphdzhuK3p1VWhKSU14SDBoMEgyUTI1c2I4eE0vK3lXcGlJUUgxTUFWV1lLY2JIa25tVW96WnZQVGxFZHl0NllYUXR3ZkVnNGhUc1R0QlFTR0tValVqQXF0aEFBTStrR0FaWE5BV1ZoZXZ2MkQ2NUlRZ0tVTEVnTDlOS1FOTGVaelYyLytPWkp5L0RZU2s5MEl5VVpmTlA3Ulc1TkxObUFrM1RqZlBkMDRDMDI3UW9nN1I4SWh4QjJ4cDRCQVhrSU12T25HM2tBL0JhSGRFVFBvQndIZ2J5empKSVFSQ1ltMjZVSmFsb241ZWJBWjVXdGcweVFsODNsWFd2a0JnUC9EckxkNk45R0FpVWJSdnd5SGxzdm5PNHZGNWVYbHptdUZFSWRqZEFORElSNEdpWUJrbCt3K0hxY2dFRktRbUZkdE9jWVRTMGkvSjZRanZvRmRqcnlVVERNbEdUQzlJNlU4UDNkNTRjaVhVM0lKUjA0NHJxNnVYSFRQNFk1WHJ4eC8vR051QnJhYzNhSzd4WXJQSFNVY1Fqd1F0aVFnY0tzVUJOSWtwRTFBR3I0NU8zT3JxQ2NrVFVJQXlySkpRMzRnUy9WMWZ2d1F0bTE5SFplTmZMcHg0bkxLS1Y5YmlDZUJFZzRoSGhFSHBpQWp6MGxTRU1nbUlTUkp5Q3ZTTkFUZ0R3RFpWQVNBMzJkSEQ2THQyUmlWalQ4UEo5ZzkzUUI0YzNXVmYyUDg3cnV4TjB5bEcwSnNRUW1IRUkrSUExS1FYQUxTakc5UFFYS2t5VWpvRGZHc3lmTDNQd3lHc25MeSs4RUlrRFNHN3BGcUJQWkpONjdHWk9QVks4ZDMyVUtMRUdJSEpCeENQR0lPRUJDNGpZUmtMdk1Da3ZLMzlsRjdma2o1aCtIUDhQZmtPdmFVcmFLeGU3SUJSMjBXUGRickNQR2tVVWxGaUNmTURpV1l3Tmk2N2VVWW1DekpmTk44WFNXbG1YSCtjOXVDaFAxRUk2Qm1VU0h1RmlVY1FqeGhka2hBMnFXWnNkMlNFSUEzMytKUFNXMCt4RjkzVTM4Q0x5S0pBSHhEbnRYcXp6dUtTWjl0Z2hFNFlySUJTamVFMkJrbEhFSjg1dXlSZ3NEZVNVZ1FrUkZlUjQrYmRHUk1SRzdMTnRGUXVpSEVhVkhDSWNSbnpoNHBDT1NiVW5QakRkRng3UzNmZGcvZnhESnk2WGpkSkNJcFVhbG1IeUhaSmhrdzBTUzZuVU9mSjhSbmlSSU9JY1FrZXlZZ01KNkN4RVJySWdIcDhkYU03WlNKZWIxdHdRaXBhQXpTalZldi9MelNEU0dPZ29SRENMRTNwNWVRSE4vMnZ2QTJYNnA1blJ1TU9JSm93QTdwaG9SRGlENFNEaUhFclRsQVFHQ3JZTFJNclBzMiszQmlWY3VCb2dHU0RTRU9Rc0loaERnSko1YVFtT1E1RStZUkU1WWRVVFJBc2lIRUdCSU9JY1NkY1ljU2NreDJmcE9VYkFneGpvUkRDSEZ2SENnZ2dkczhkeHQ3dlRGS05JVFlqb1JEQ1BHZ3VLV0VCQTU1amIzZkRDVWFRdXlPaEVNSThlQTVrb1FjQlVtR0VJY2g0UkJDUEZydVNrUWtHVUxjSGdtSEVPTEpjVnNSa1dBSWNYd2tIRUlJSVlRNE9jVzJCVUlJSVlRUXQwWENJWVFRUW9pVEkrRVFRZ2doeE1tUmNBZ2hoQkRpNUVnNGhCQkNDSEZ5SkJ4Q0NDR0VPRGtTRGlHRUVFS2NIQW1IRUVJSUlVNk9oRU1JSVlRUUowZkNJWVFRUW9pVEkrRVFRZ2doeE1tUmNBZ2hoQkRpNUVnNGhCQkNDSEZ5SkJ4Q0NDR0VPRGtTRGlHRUVFS2NIQW1IRUVJSUlVNk9oRU1JSVlRUUowZkNJWVFRUW9pVEkrRVFRZ2doeE1tUmNBZ2hoQkRpNUVnNGhCQkNDSEZ5SkJ4Q0NDR0VPRGtTRGlHRUVFS2NIQW1IRUVJSUlVNk9oRU1JSVlRUUowZkNJWVFRUW9pVEkrRVFRZ2doeE1tUmNBZ2hoQkRpNUVnNGhCQkNDSEZ5SkJ4Q0NDR0VPRGtTRGlHRUVFS2NIQW1IRUVJSUlVN08vd2RCTFJKM2dMSkpOd0FBQUFCSlJVNUVya0pnZ2c9PSIgaWQ9ImUiIHdpZHRoPSI1NDAiIGhlaWdodD0iMTUwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIi8+PC9kZWZzPjwvc3ZnPg==';
172
+
173
+ const arrowSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiMwMDAiIGQ9Ik0wIDcuMDYgMy4wNTUgNCAwIC45NC45NCAwbDQuMDAxIDQtNCA0TDAgNy4wNloiIG9wYWNpdHk9Ii40Ii8+PC9zdmc+';
174
+
175
+ const successSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBzdHlsZT0ic2hhcGUtcmVuZGVyaW5nOmdlb21ldHJpY1ByZWNpc2lvbjt0ZXh0LXJlbmRlcmluZzpnZW9tZXRyaWNQcmVjaXNpb247aW1hZ2UtcmVuZGVyaW5nOm9wdGltaXplUXVhbGl0eSIgdmlld0JveD0iMCAwIDkwIDY5Ij48cGF0aCBkPSJtMCAzOCAxMC0xMyAyNiAyMkw3OCAwbDEyIDExLTUzIDU4eiIgc3R5bGU9ImZpbGw6IzAwMDtmaWxsLXJ1bGU6bm9uemVybyIvPjwvc3ZnPg==';
176
+
177
+ const playerLugasLimitCss = "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap\");\n:host {\n font-family: \"Roboto\", sans-serif;\n}\n\n.ModalContainer {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: var(--emw--color-black-transparency-50, rgba(0, 0, 0, 0.5));\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: var(--emw--font-size-small, 12px);\n container-type: inline-size;\n}\n.ModalContainer hr {\n border: 1px solid var(--emw--color-black-transparency-10, rgba(0, 0, 0, 0.1));\n margin: 10px 0px;\n}\n.ModalContainer p {\n margin: 0;\n}\n.ModalContainer button {\n width: 100%;\n border: 1px solid var(--emw--color-gray-100, #E8E9EB);\n padding: 10px 0;\n cursor: pointer;\n width: 100%;\n border-radius: var(--emw--border-radius-small, 4px);\n}\n.ModalContainer button.PrimaryButton {\n background: var(--emw--color-primary, #6BB816);\n border: none;\n font-weight: 500;\n}\n.ModalContainer button.PrimaryButton:not(:disabled) {\n color: var(--emw--color-white, #FFF);\n}\n.ModalContainer button.PrimaryButton:disabled {\n cursor: default;\n}\n.ModalContainer .Container {\n position: fixed;\n top: 30vh;\n width: 320px;\n background: var(--emw--color-white, #FFF);\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n border-radius: 4px;\n transform: scale(1.1);\n}\n.ModalContainer .ModalHeader {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: var(--emw--color-gray-50, #F7F8FA);\n padding: 12px;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.ModalContainer .ModalHeader h2 {\n font-weight: bold;\n font-size: var(--emw--font-size-small, 12px);\n margin: 0;\n}\n.ModalContainer .ModalBody {\n background: var(--emw--color-white, #FFF);\n padding: 12px;\n container-type: inline-size;\n border-radius: 4px;\n}\n.ModalContainer .ModalBody .ErrorContainer {\n display: flex;\n align-items: center;\n color: var(--emw--color-red-100, #E10014);\n border-bottom: 1px solid var(--emw--color-gray-100, #E8E9EB);\n margin: -12px;\n padding: 12px;\n margin-bottom: 12px;\n font-weight: bold;\n position: relative;\n background: linear-gradient(180deg, var(--emw--color-gray-100, #E8E9EB) 0%, rgba(255, 255, 255, 0.47) 30%);\n}\n.ModalContainer .ModalBody .DismissError {\n position: absolute;\n right: 12px;\n cursor: pointer;\n}\n.ModalContainer .ModalBody .ErrorParagraph {\n display: flex;\n align-items: center;\n}\n.ModalContainer .ModalBody .ErrorIcon {\n background: linear-gradient(180deg, var(--emw--color-red-100, #E10014) 0%, var(--emw--color-red-150, #D60080) 100%);\n text-align: center;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n margin-right: 6px;\n flex-shrink: 0;\n}\n.ModalContainer .ModalBody .ErrorIcon svg {\n width: 6px;\n height: 6px;\n}\n.ModalContainer .ModalBody .ErrorIcon svg path {\n fill: var(--emw--color-white, #FFF);\n}\n.ModalContainer .ModalBody .ChooseLimitLabel {\n text-transform: uppercase;\n}\n.ModalContainer .ModalBody .PredefinedAmounts {\n display: flex;\n justify-content: space-between;\n}\n.ModalContainer .ModalBody .PredefinedAmounts button {\n background: none;\n margin: -1px 0 0 -1px;\n color: var(--emw--color-gray-150, #808080);\n border-radius: 0;\n}\n.ModalContainer .ModalBody .PredefinedAmounts button.Active {\n font-weight: bold;\n background: var(--emw--color-gray-50, #F7F8FA);\n color: var(--emw--color-gray-200, #323233);\n}\n.ModalContainer .ModalBody .PredefinedAmounts button:first-child {\n border-radius: 4px 0 0 4px;\n}\n.ModalContainer .ModalBody .PredefinedAmounts button:last-child {\n border-radius: 0 4px 4px 0;\n}\n.ModalContainer .ModalBody .CustomAmountInput {\n width: 100%;\n padding: 10px;\n border: 1px solid var(--emw--color-gray-100, #E8E9EB);\n border-radius: 4px;\n box-sizing: border-box;\n margin-bottom: 6px;\n color: var(--emw--color-gray-200, #323233);\n font-weight: bold;\n}\n.ModalContainer .ModalBody .CustomAmountInput.InvalidInput {\n border: 1px solid var(--emw--color-red, #FF0000);\n}\n.ModalContainer .ModalBody .InvalidParagraph {\n font-size: var(--emw--font-size-small, 12px);\n color: var(--emw--color-red, #FF0000);\n}\n.ModalContainer .ModalBody .SetLimitBtn {\n margin-top: 10px;\n border-radius: 4px;\n}\n.ModalContainer .ValidatorContainer {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n.ModalContainer .Paragraphs:not(:last-child) {\n margin-bottom: 20px;\n}\n.ModalContainer .Paragraphs .KycThanks {\n font-weight: 500;\n text-align: center;\n padding-bottom: 12px;\n}\n.ModalContainer .Paragraphs .Kyc2 {\n color: var(--emw--color-gray-150, #666666);\n text-align: center;\n}\n.ModalContainer .LimitAmountWrapper {\n display: flex;\n flex-direction: column;\n gap: 10px;\n position: relative;\n}\n\n.ModalFooter {\n padding-top: 12px;\n margin: 5px 0px;\n}\n\n.Link {\n color: inherit;\n text-decoration: underline;\n cursor: pointer;\n}\n.Link.Inactive {\n cursor: default;\n color: var(--emw--color-gray-150, #808080);\n}\n\n.ContainerButtons {\n display: flex;\n justify-content: space-around;\n gap: 10px;\n padding-top: 5px;\n}\n.ContainerButtons .FirstButton {\n background-color: var(--emw--color-white, #FFF);\n font-weight: bold;\n color: var(--emw--button-color, #002554);\n font-size: var(--emw--font-size-small, 10px);\n border: 2.5px solid var(--emw--button-border-color, #DEE2E6);\n width: 100%;\n cursor: pointer;\n}\n.ContainerButtons .SecondButton {\n background-color: var(--emw--color-primary, #6BB816);\n border: none;\n cursor: pointer;\n font-weight: bold;\n font-size: var(--emw--font-size-small, 10px);\n color: var(--emw--color-white, #FFF);\n width: 100%;\n}\n.ContainerButtons button {\n width: 240px;\n height: 30px;\n}\n\n.ContainerOptions {\n padding-top: 10px;\n}\n.ContainerOptions > button {\n border-radius: 0;\n border-left: 0;\n border-right: 0;\n border-bottom: 0;\n border-top: 1px solid var(--emw--color-white, #E8E9EB);\n background-color: var(--emw--color-white, #FFFFFF);\n display: grid;\n text-align: left;\n font-size: 12px;\n grid-template-rows: 1fr 1fr;\n grid-template-columns: 1fr 20px;\n color: var(--emw--color-black, #111111);\n}\n.ContainerOptions > button:last-child {\n padding-bottom: 0;\n}\n.ContainerOptions .Option {\n font-family: \"Roboto\", sans-serif;\n grid-column: 1/2;\n grid-row: 1/2;\n font-weight: 400;\n}\n.ContainerOptions .OptionSubTitle {\n font-family: \"Roboto Condensed\", sans-serif;\n font-weight: 300;\n grid-column: 1/2;\n grid-row: 2/3;\n}\n.ContainerOptions .ArrowIcon {\n grid-column: 2/3;\n grid-row: 1/3;\n margin: auto;\n}\n\ninput {\n /* Firefox */\n -moz-appearance: textfield;\n /* Chrome, Safari, Edge, Opera */\n}\ninput::-webkit-outer-spin-button, input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n@container (max-width: 1300px) {\n .ModalContainer .Container {\n width: 50%;\n }\n}\n@container (max-width: 800px) {\n .ModalContainer .Container {\n width: 70%;\n }\n}\n.LoadingWrapper {\n width: 100%;\n height: 100%;\n background: var(--emw--color-white-transparency-80, rgba(255, 255, 255, 0.8));\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.spinner {\n animation: rotate 2s linear infinite;\n z-index: 2;\n width: 30px;\n height: 30px;\n}\n.spinner .path {\n stroke: var(--emw--color-primary, #6BB816);\n stroke-linecap: round;\n animation: dash 1.5s ease-in-out infinite;\n}\n\n.DocumentIcon {\n padding: 20px 48px 0 86px;\n}\n\n@keyframes rotate {\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes dash {\n 0% {\n stroke-dasharray: 1, 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -35;\n }\n 100% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -124;\n }\n}";
163
178
  const PlayerLugasLimitStyle0 = playerLugasLimitCss;
164
179
 
165
180
  const PlayerLugasLimit = class {
166
181
  constructor(hostRef) {
167
182
  index.registerInstance(this, hostRef);
168
183
  this.uploadDocuments = index.createEvent(this, "uploadDocuments", 7);
184
+ this.bankLogin = index.createEvent(this, "bankLogin", 7);
169
185
  this.closePopup = index.createEvent(this, "closePopup", 7);
170
186
  // Internal variables
171
187
  this.predefinedAmounts = [];
@@ -176,6 +192,10 @@ const PlayerLugasLimit = class {
176
192
  this.uploadDocuments.emit();
177
193
  window.postMessage({ type: 'uploadDocuments' }, window.location.href);
178
194
  break;
195
+ case 'BankLogin':
196
+ this.bankLogin.emit();
197
+ window.postMessage({ type: 'bankLogin' }, window.location.href);
198
+ break;
179
199
  case 'Close':
180
200
  this.closePopup.emit();
181
201
  window.postMessage({ type: 'closePopup' }, window.location.href);
@@ -193,6 +213,7 @@ const PlayerLugasLimit = class {
193
213
  this.clientStylingUrl = '';
194
214
  this.mbSource = undefined;
195
215
  this.translationUrl = '';
216
+ this.showExistingLimit = true;
196
217
  this.hasValidation = true;
197
218
  this.kycStep = undefined;
198
219
  this.isLoading = false;
@@ -225,6 +246,11 @@ const PlayerLugasLimit = class {
225
246
  setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
226
247
  }
227
248
  }
249
+ setScrollable(scrollable) {
250
+ window.postMessage({
251
+ type: scrollable ? 'EnableScroll' : 'DisableScroll'
252
+ }, window.location.href);
253
+ }
228
254
  // Lifecycle methods
229
255
  async componentWillLoad() {
230
256
  if (this.translationUrl.length > 2) {
@@ -245,9 +271,11 @@ const PlayerLugasLimit = class {
245
271
  if (this.clientStylingUrl)
246
272
  setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
247
273
  }
274
+ this.setScrollable(false);
248
275
  }
249
276
  disconnectedCallback() {
250
277
  this.stylingSubscription && this.stylingSubscription.unsubscribe();
278
+ this.setScrollable(true);
251
279
  }
252
280
  async fetchDepositLimitConfig() {
253
281
  this.isLoading = true;
@@ -372,6 +400,9 @@ const PlayerLugasLimit = class {
372
400
  event.target.value = this.newAmount;
373
401
  }
374
402
  }
403
+ renderOption(opt) {
404
+ return (index.h("button", { onClick: () => this.handleClick(opt) }, index.h("div", { class: "Option" }, translate(opt, this.lang)), index.h("div", { class: "OptionSubTitle" }, translate(`${opt}SubTitle`, this.lang)), index.h("img", { class: "ArrowIcon", src: arrowSvg, alt: "ArrowIcon" })));
405
+ }
375
406
  renderKYC(step) {
376
407
  switch (step) {
377
408
  case 0:
@@ -380,9 +411,9 @@ const PlayerLugasLimit = class {
380
411
  case 1:
381
412
  return (index.h("div", { class: "ValidatorContainer" }, index.h("div", { class: "Paragraphs" }, index.h("p", null, translate('kycSure', this.lang, { values: { currency: this.currency } })), index.h("p", null, translate('kyc1', this.lang, { values: { currency: this.currency } })), index.h("div", { class: "ContainerButtons" }, index.h("button", { class: "FirstButton", onClick: () => this.postPlayerSituation(this.newAmount, false) }, translate('setNewLimit', this.lang, { values: { currency: this.currency } })), index.h("button", { class: "SecondButton", onClick: () => this.postPlayerSituation(this.amount, true) }, translate('keepExistingLimit', this.lang, { values: { currency: this.currency } }))))));
382
413
  case 2:
383
- return (index.h("div", { class: "ValidatorContainer" }, index.h("div", { class: "Paragraphs" }, index.h("p", null, translate('kycThanks', this.lang, { values: { currency: this.currency } })), index.h("p", { innerHTML: translate('kyc2', this.lang, { values: { currency: this.currency, amount: this.regularDepositLimitAmount } }) }), index.h("div", { class: "ContainerButtons" }, index.h("button", { class: "FirstButton", onClick: () => this.handleClick('Close') }, translate('Close', this.lang, { values: { currency: this.currency } })), index.h("button", { class: "SecondButton", onClick: () => this.handleClick('UploadDocuments') }, translate('UploadDocuments', this.lang, { values: { currency: this.currency } }))))));
414
+ return (index.h("div", { class: "ValidatorContainer" }, index.h("img", { class: "DocumentIcon", src: documentSvg, alt: "DocumentIcon" }), index.h("div", { class: "Paragraphs" }, index.h("p", { class: "KycThanks" }, translate('kycThanks', this.lang, { values: { currency: this.currency } })), index.h("p", { class: "Kyc2", innerHTML: translate('kyc2', this.lang, { values: { currency: this.currency, amount: this.regularDepositLimitAmount } }) }), index.h("div", { class: "ContainerOptions" }, ['BankLogin', 'UploadDocuments'].map(opt => this.renderOption(opt))))));
384
415
  default:
385
- return (index.h("div", { class: "ValidatorContainer" }, index.h("div", { class: "Paragraphs" }, index.h("p", null, translate('kycThanks', this.lang, { values: { currency: this.currency } })), index.h("p", null, translate('kyc3', this.lang, { values: { currency: this.currency } })), index.h("div", { class: "ContainerButtons" }, index.h("button", { class: "SecondButton", onClick: () => this.handleClick('Close') }, translate('Close', this.lang, { values: { currency: this.currency } }))))));
416
+ return (index.h("div", { class: "ValidatorContainer" }, index.h("div", { class: "Paragraphs" }, index.h("div", { class: "IconContainer" }, index.h("img", { src: successSvg, alt: "SuccessIcon" })), index.h("p", { class: "ParagraphStep3" }, translate('kycSuccess', this.lang, { values: { currency: this.currency } })), index.h("p", { class: "ParagraphStep3" }, translate('kyc3', this.lang, { values: { currency: this.currency } })), index.h("div", { class: "ContainerButtons" }, index.h("button", { class: "SecondButton", onClick: () => this.handleClick('Close') }, translate('Close', this.lang, { values: { currency: this.currency } }))))));
386
417
  }
387
418
  }
388
419
  renderPredefinedButtons() {
@@ -405,6 +436,15 @@ const PlayerLugasLimit = class {
405
436
  }
406
437
  })))))));
407
438
  }
439
+ renderTitle() {
440
+ switch (this.kycStep) {
441
+ case 2:
442
+ case 3:
443
+ return translate('LugasSetLimitDialogTitle2', this.lang);
444
+ default:
445
+ return translate('LugasSetLimitDialogTitle', this.lang);
446
+ }
447
+ }
408
448
  render() {
409
449
  const kycConfirmation = this.renderKYC(this.kycStep);
410
450
  const validationContainer = this.renderValidator();
@@ -414,8 +454,8 @@ const PlayerLugasLimit = class {
414
454
  if (this.errorMessageOnInitialization) {
415
455
  return (index.h("div", null, index.h("p", null, this.errorMessageOnInitialization)));
416
456
  }
417
- return (index.h("div", { class: "ModalContainer", ref: el => this.stylingContainer = el }, index.h("div", { class: "Container" }, index.h("div", { class: "ModalHeader" }, index.h("h2", null, translate('LugasSetLimitDialogTitle', this.lang))), index.h("div", { class: "ModalBody" }, this.hasValidation ? validationContainer : kycConfirmation, this.hasValidation &&
418
- index.h("div", { class: "ModalFooter" }, index.h("hr", null), index.h("div", { class: "Paragraphs" }, index.h("p", { class: "ExistingLimit" }, translate('LugasSetLimitDialogExistingLimit.text', this.lang), index.h("span", { class: this.isUseExistingLimitOptionActive ? 'Link' : 'Link Inactive', onClick: () => this.postPlayerSituation(this.amount, true) }, translate('LugasSetLimitDialogExistingLimit.link', this.lang))), index.h("p", { class: "PrivacyNote" }, translate('LugasSetLimitDialogPrivacyNote.text', this.lang), index.h("span", { class: "Link", onClick: this.goToPrivacyPolicy }, translate('LugasSetLimitDialogPrivacyNote.link', this.lang)))))))));
457
+ return (index.h("div", { class: "ModalContainer", ref: el => this.stylingContainer = el, "data-current-step": this.kycStep }, index.h("div", { class: "Container" }, index.h("div", { class: "ModalHeader" }, index.h("h2", null, this.renderTitle())), index.h("div", { class: "ModalBody" }, this.hasValidation ? validationContainer : kycConfirmation, this.hasValidation &&
458
+ index.h("div", { class: "ModalFooter" }, index.h("hr", null), index.h("div", { class: "Paragraphs" }, this.showExistingLimit ? index.h("p", { class: "ExistingLimit" }, translate('LugasSetLimitDialogExistingLimit.text', this.lang), index.h("span", { class: this.isUseExistingLimitOptionActive ? 'Link' : 'Link Inactive', onClick: () => this.postPlayerSituation(this.amount, true) }, translate('LugasSetLimitDialogExistingLimit.link', this.lang))) : null, index.h("p", { class: "PrivacyNote" }, translate('LugasSetLimitDialogPrivacyNote.text', this.lang), index.h("span", { class: "Link", onClick: this.goToPrivacyPolicy }, translate('LugasSetLimitDialogPrivacyNote.link', this.lang)))))))));
419
459
  }
420
460
  static get watchers() { return {
421
461
  "translationUrl": ["handleNewTranslations"],
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-bf3197ee.js');
5
+ const index = require('./index-2079b2a6.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  /*
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy([["player-lugas-limit.cjs",[[1,"player-lugas-limit",{"userId":[513,"user-id"],"session":[513],"endpoint":[513],"currency":[513],"flow":[513],"amount":[513],"lang":[513],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"mbSource":[513,"mb-source"],"translationUrl":[513,"translation-url"],"hasValidation":[32],"kycStep":[32],"isLoading":[32],"regularDepositLimitAmount":[32],"isSubmitted":[32],"isUseExistingLimitOptionActive":[32],"selectedPredefinedAmount":[32],"errorMessageOnInitialization":[32],"errorMessageOnSubmit":[32],"errorMessageOnInput":[32],"hasLugasError":[32],"showCustomAmount":[32],"newAmount":[32]},null,{"translationUrl":["handleNewTranslations"],"clientStyling":["handleClientStylingChange"],"clientStylingUrl":["handleClientStylingUrlChange"]}]]]], options);
22
+ return index.bootstrapLazy([["player-lugas-limit.cjs",[[1,"player-lugas-limit",{"userId":[513,"user-id"],"session":[513],"endpoint":[513],"currency":[513],"flow":[513],"amount":[513],"lang":[513],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"mbSource":[513,"mb-source"],"translationUrl":[513,"translation-url"],"showExistingLimit":[516,"show-existing-limit"],"hasValidation":[32],"kycStep":[32],"isLoading":[32],"regularDepositLimitAmount":[32],"isSubmitted":[32],"isUseExistingLimitOptionActive":[32],"selectedPredefinedAmount":[32],"errorMessageOnInitialization":[32],"errorMessageOnSubmit":[32],"errorMessageOnInput":[32],"hasLugasError":[32],"showCustomAmount":[32],"newAmount":[32]},null,{"translationUrl":["handleNewTranslations"],"clientStyling":["handleClientStylingChange"],"clientStylingUrl":["handleClientStylingUrlChange"]}]]]], options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;
@@ -4,7 +4,7 @@
4
4
  }
5
5
 
6
6
  .ModalContainer {
7
- position: absolute;
7
+ position: fixed;
8
8
  top: 0;
9
9
  left: 0;
10
10
  width: 100vw;
@@ -59,6 +59,8 @@
59
59
  align-items: center;
60
60
  background-color: var(--emw--color-gray-50, #F7F8FA);
61
61
  padding: 12px;
62
+ border-top-left-radius: 4px;
63
+ border-top-right-radius: 4px;
62
64
  }
63
65
  .ModalContainer .ModalHeader h2 {
64
66
  font-weight: bold;
@@ -122,6 +124,7 @@
122
124
  background: none;
123
125
  margin: -1px 0 0 -1px;
124
126
  color: var(--emw--color-gray-150, #808080);
127
+ border-radius: 0;
125
128
  }
126
129
  .ModalContainer .ModalBody .PredefinedAmounts button.Active {
127
130
  font-weight: bold;
@@ -153,6 +156,7 @@
153
156
  }
154
157
  .ModalContainer .ModalBody .SetLimitBtn {
155
158
  margin-top: 10px;
159
+ border-radius: 4px;
156
160
  }
157
161
  .ModalContainer .ValidatorContainer {
158
162
  display: flex;
@@ -162,6 +166,15 @@
162
166
  .ModalContainer .Paragraphs:not(:last-child) {
163
167
  margin-bottom: 20px;
164
168
  }
169
+ .ModalContainer .Paragraphs .KycThanks {
170
+ font-weight: 500;
171
+ text-align: center;
172
+ padding-bottom: 12px;
173
+ }
174
+ .ModalContainer .Paragraphs .Kyc2 {
175
+ color: var(--emw--color-gray-150, #666666);
176
+ text-align: center;
177
+ }
165
178
  .ModalContainer .LimitAmountWrapper {
166
179
  display: flex;
167
180
  flex-direction: column;
@@ -213,6 +226,44 @@
213
226
  height: 30px;
214
227
  }
215
228
 
229
+ .ContainerOptions {
230
+ padding-top: 10px;
231
+ }
232
+ .ContainerOptions > button {
233
+ border-radius: 0;
234
+ border-left: 0;
235
+ border-right: 0;
236
+ border-bottom: 0;
237
+ border-top: 1px solid var(--emw--color-white, #E8E9EB);
238
+ background-color: var(--emw--color-white, #FFFFFF);
239
+ display: grid;
240
+ text-align: left;
241
+ font-size: 12px;
242
+ grid-template-rows: 1fr 1fr;
243
+ grid-template-columns: 1fr 20px;
244
+ color: var(--emw--color-black, #111111);
245
+ }
246
+ .ContainerOptions > button:last-child {
247
+ padding-bottom: 0;
248
+ }
249
+ .ContainerOptions .Option {
250
+ font-family: "Roboto", sans-serif;
251
+ grid-column: 1/2;
252
+ grid-row: 1/2;
253
+ font-weight: 400;
254
+ }
255
+ .ContainerOptions .OptionSubTitle {
256
+ font-family: "Roboto Condensed", sans-serif;
257
+ font-weight: 300;
258
+ grid-column: 1/2;
259
+ grid-row: 2/3;
260
+ }
261
+ .ContainerOptions .ArrowIcon {
262
+ grid-column: 2/3;
263
+ grid-row: 1/3;
264
+ margin: auto;
265
+ }
266
+
216
267
  input {
217
268
  /* Firefox */
218
269
  -moz-appearance: textfield;
@@ -255,6 +306,10 @@ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
255
306
  animation: dash 1.5s ease-in-out infinite;
256
307
  }
257
308
 
309
+ .DocumentIcon {
310
+ padding: 20px 48px 0 86px;
311
+ }
312
+
258
313
  @keyframes rotate {
259
314
  100% {
260
315
  transform: rotate(360deg);
@@ -1,6 +1,9 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { getTranslations, translate } from "../../utils/locale.utils";
3
3
  import { setClientStyling, setClientStylingURL, setStreamStyling } from "../../../../../../../../libs/common/src/styling/index";
4
+ import DocumentIcon from "../../static/document.svg";
5
+ import ArrowIcon from "../../static/arrow.svg";
6
+ import SuccessIcon from "../../static/success.svg";
4
7
  export class PlayerLugasLimit {
5
8
  constructor() {
6
9
  // Internal variables
@@ -12,6 +15,10 @@ export class PlayerLugasLimit {
12
15
  this.uploadDocuments.emit();
13
16
  window.postMessage({ type: 'uploadDocuments' }, window.location.href);
14
17
  break;
18
+ case 'BankLogin':
19
+ this.bankLogin.emit();
20
+ window.postMessage({ type: 'bankLogin' }, window.location.href);
21
+ break;
15
22
  case 'Close':
16
23
  this.closePopup.emit();
17
24
  window.postMessage({ type: 'closePopup' }, window.location.href);
@@ -29,6 +36,7 @@ export class PlayerLugasLimit {
29
36
  this.clientStylingUrl = '';
30
37
  this.mbSource = undefined;
31
38
  this.translationUrl = '';
39
+ this.showExistingLimit = true;
32
40
  this.hasValidation = true;
33
41
  this.kycStep = undefined;
34
42
  this.isLoading = false;
@@ -61,6 +69,11 @@ export class PlayerLugasLimit {
61
69
  setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
62
70
  }
63
71
  }
72
+ setScrollable(scrollable) {
73
+ window.postMessage({
74
+ type: scrollable ? 'EnableScroll' : 'DisableScroll'
75
+ }, window.location.href);
76
+ }
64
77
  // Lifecycle methods
65
78
  async componentWillLoad() {
66
79
  if (this.translationUrl.length > 2) {
@@ -81,9 +94,11 @@ export class PlayerLugasLimit {
81
94
  if (this.clientStylingUrl)
82
95
  setClientStylingURL(this.stylingContainer, this.clientStylingUrl);
83
96
  }
97
+ this.setScrollable(false);
84
98
  }
85
99
  disconnectedCallback() {
86
100
  this.stylingSubscription && this.stylingSubscription.unsubscribe();
101
+ this.setScrollable(true);
87
102
  }
88
103
  async fetchDepositLimitConfig() {
89
104
  this.isLoading = true;
@@ -208,6 +223,9 @@ export class PlayerLugasLimit {
208
223
  event.target.value = this.newAmount;
209
224
  }
210
225
  }
226
+ renderOption(opt) {
227
+ return (h("button", { onClick: () => this.handleClick(opt) }, h("div", { class: "Option" }, translate(opt, this.lang)), h("div", { class: "OptionSubTitle" }, translate(`${opt}SubTitle`, this.lang)), h("img", { class: "ArrowIcon", src: ArrowIcon, alt: "ArrowIcon" })));
228
+ }
211
229
  renderKYC(step) {
212
230
  switch (step) {
213
231
  case 0:
@@ -216,9 +234,9 @@ export class PlayerLugasLimit {
216
234
  case 1:
217
235
  return (h("div", { class: "ValidatorContainer" }, h("div", { class: "Paragraphs" }, h("p", null, translate('kycSure', this.lang, { values: { currency: this.currency } })), h("p", null, translate('kyc1', this.lang, { values: { currency: this.currency } })), h("div", { class: "ContainerButtons" }, h("button", { class: "FirstButton", onClick: () => this.postPlayerSituation(this.newAmount, false) }, translate('setNewLimit', this.lang, { values: { currency: this.currency } })), h("button", { class: "SecondButton", onClick: () => this.postPlayerSituation(this.amount, true) }, translate('keepExistingLimit', this.lang, { values: { currency: this.currency } }))))));
218
236
  case 2:
219
- return (h("div", { class: "ValidatorContainer" }, h("div", { class: "Paragraphs" }, h("p", null, translate('kycThanks', this.lang, { values: { currency: this.currency } })), h("p", { innerHTML: translate('kyc2', this.lang, { values: { currency: this.currency, amount: this.regularDepositLimitAmount } }) }), h("div", { class: "ContainerButtons" }, h("button", { class: "FirstButton", onClick: () => this.handleClick('Close') }, translate('Close', this.lang, { values: { currency: this.currency } })), h("button", { class: "SecondButton", onClick: () => this.handleClick('UploadDocuments') }, translate('UploadDocuments', this.lang, { values: { currency: this.currency } }))))));
237
+ return (h("div", { class: "ValidatorContainer" }, h("img", { class: "DocumentIcon", src: DocumentIcon, alt: "DocumentIcon" }), h("div", { class: "Paragraphs" }, h("p", { class: "KycThanks" }, translate('kycThanks', this.lang, { values: { currency: this.currency } })), h("p", { class: "Kyc2", innerHTML: translate('kyc2', this.lang, { values: { currency: this.currency, amount: this.regularDepositLimitAmount } }) }), h("div", { class: "ContainerOptions" }, ['BankLogin', 'UploadDocuments'].map(opt => this.renderOption(opt))))));
220
238
  default:
221
- return (h("div", { class: "ValidatorContainer" }, h("div", { class: "Paragraphs" }, h("p", null, translate('kycThanks', this.lang, { values: { currency: this.currency } })), h("p", null, translate('kyc3', this.lang, { values: { currency: this.currency } })), h("div", { class: "ContainerButtons" }, h("button", { class: "SecondButton", onClick: () => this.handleClick('Close') }, translate('Close', this.lang, { values: { currency: this.currency } }))))));
239
+ return (h("div", { class: "ValidatorContainer" }, h("div", { class: "Paragraphs" }, h("div", { class: "IconContainer" }, h("img", { src: SuccessIcon, alt: "SuccessIcon" })), h("p", { class: "ParagraphStep3" }, translate('kycSuccess', this.lang, { values: { currency: this.currency } })), h("p", { class: "ParagraphStep3" }, translate('kyc3', this.lang, { values: { currency: this.currency } })), h("div", { class: "ContainerButtons" }, h("button", { class: "SecondButton", onClick: () => this.handleClick('Close') }, translate('Close', this.lang, { values: { currency: this.currency } }))))));
222
240
  }
223
241
  }
224
242
  renderPredefinedButtons() {
@@ -241,6 +259,15 @@ export class PlayerLugasLimit {
241
259
  }
242
260
  })))))));
243
261
  }
262
+ renderTitle() {
263
+ switch (this.kycStep) {
264
+ case 2:
265
+ case 3:
266
+ return translate('LugasSetLimitDialogTitle2', this.lang);
267
+ default:
268
+ return translate('LugasSetLimitDialogTitle', this.lang);
269
+ }
270
+ }
244
271
  render() {
245
272
  const kycConfirmation = this.renderKYC(this.kycStep);
246
273
  const validationContainer = this.renderValidator();
@@ -250,8 +277,8 @@ export class PlayerLugasLimit {
250
277
  if (this.errorMessageOnInitialization) {
251
278
  return (h("div", null, h("p", null, this.errorMessageOnInitialization)));
252
279
  }
253
- return (h("div", { class: "ModalContainer", ref: el => this.stylingContainer = el }, h("div", { class: "Container" }, h("div", { class: "ModalHeader" }, h("h2", null, translate('LugasSetLimitDialogTitle', this.lang))), h("div", { class: "ModalBody" }, this.hasValidation ? validationContainer : kycConfirmation, this.hasValidation &&
254
- h("div", { class: "ModalFooter" }, h("hr", null), h("div", { class: "Paragraphs" }, h("p", { class: "ExistingLimit" }, translate('LugasSetLimitDialogExistingLimit.text', this.lang), h("span", { class: this.isUseExistingLimitOptionActive ? 'Link' : 'Link Inactive', onClick: () => this.postPlayerSituation(this.amount, true) }, translate('LugasSetLimitDialogExistingLimit.link', this.lang))), h("p", { class: "PrivacyNote" }, translate('LugasSetLimitDialogPrivacyNote.text', this.lang), h("span", { class: "Link", onClick: this.goToPrivacyPolicy }, translate('LugasSetLimitDialogPrivacyNote.link', this.lang)))))))));
280
+ return (h("div", { class: "ModalContainer", ref: el => this.stylingContainer = el, "data-current-step": this.kycStep }, h("div", { class: "Container" }, h("div", { class: "ModalHeader" }, h("h2", null, this.renderTitle())), h("div", { class: "ModalBody" }, this.hasValidation ? validationContainer : kycConfirmation, this.hasValidation &&
281
+ h("div", { class: "ModalFooter" }, h("hr", null), h("div", { class: "Paragraphs" }, this.showExistingLimit ? h("p", { class: "ExistingLimit" }, translate('LugasSetLimitDialogExistingLimit.text', this.lang), h("span", { class: this.isUseExistingLimitOptionActive ? 'Link' : 'Link Inactive', onClick: () => this.postPlayerSituation(this.amount, true) }, translate('LugasSetLimitDialogExistingLimit.link', this.lang))) : null, h("p", { class: "PrivacyNote" }, translate('LugasSetLimitDialogPrivacyNote.text', this.lang), h("span", { class: "Link", onClick: this.goToPrivacyPolicy }, translate('LugasSetLimitDialogPrivacyNote.link', this.lang)))))))));
255
282
  }
256
283
  static get is() { return "player-lugas-limit"; }
257
284
  static get encapsulation() { return "shadow"; }
@@ -462,6 +489,24 @@ export class PlayerLugasLimit {
462
489
  "attribute": "translation-url",
463
490
  "reflect": true,
464
491
  "defaultValue": "''"
492
+ },
493
+ "showExistingLimit": {
494
+ "type": "boolean",
495
+ "mutable": false,
496
+ "complexType": {
497
+ "original": "boolean",
498
+ "resolved": "boolean",
499
+ "references": {}
500
+ },
501
+ "required": false,
502
+ "optional": false,
503
+ "docs": {
504
+ "tags": [],
505
+ "text": ""
506
+ },
507
+ "attribute": "show-existing-limit",
508
+ "reflect": true,
509
+ "defaultValue": "true"
465
510
  }
466
511
  };
467
512
  }
@@ -498,6 +543,21 @@ export class PlayerLugasLimit {
498
543
  "resolved": "any",
499
544
  "references": {}
500
545
  }
546
+ }, {
547
+ "method": "bankLogin",
548
+ "name": "bankLogin",
549
+ "bubbles": true,
550
+ "cancelable": true,
551
+ "composed": true,
552
+ "docs": {
553
+ "tags": [],
554
+ "text": ""
555
+ },
556
+ "complexType": {
557
+ "original": "any",
558
+ "resolved": "any",
559
+ "references": {}
560
+ }
501
561
  }, {
502
562
  "method": "closePopup",
503
563
  "name": "closePopup",
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="5" height="8" fill="none"><path fill="#000" d="M0 7.06 3.055 4 0 .94.94 0l4.001 4-4 4L0 7.06Z" opacity=".4"/></svg>