{
  "version": 3,
  "sources": ["/cdn/shop/t/118/assets/florame-native-i18n.js?florame_i18n=20260719-account-routes-v1"],
  "sourcesContent": ["(function () {\r\n  'use strict';\r\n\r\n  var CONFIG = Object.assign({\r\n    defaultLanguage: 'it',\r\n    supportedLanguages: ['it', 'en'],\r\n    storageKey: 'florame_native_lang',\r\n    autoSwitcher: false,\r\n    customerAccountCountry: 'IT',\r\n    linkSelector: 'a[href^=\"/\"], a[href^=\"https://florame.ai\"], a[href^=\"https://www.florame.ai\"], a[href^=\"https://account.florame.ai\"], a[href^=\"https://shopify.com/\"], a[href^=\"https://customer-account.shopify.com/\"], a[data-florame-account-link]',\r\n    dynamicTranslation: true,\r\n    translationEndpoint: 'https://us-central1-flower-ai-2d7aa.cloudfunctions.net/translateTextBatch',\r\n    dynamicCacheKey: 'florame_native_i18n_dynamic_v1',\r\n    dynamicCacheLimit: 300\r\n  }, window.__florameNativeI18nConfig || {});\r\n\r\n  var SKIP_SELECTOR = [\r\n    'script',\r\n    'style',\r\n    'noscript',\r\n    'iframe',\r\n    'canvas',\r\n    'svg',\r\n    'path',\r\n    'textarea',\r\n    'code',\r\n    'pre',\r\n    '.notranslate',\r\n    '.gtranslate_wrapper',\r\n    '#gt_float_wrapper',\r\n    '.gt_float_switcher',\r\n    '[translate=\"no\"]',\r\n    '[data-florame-card-message]',\r\n    '[data-florame-no-translate]',\r\n    '.florame-no-translate',\r\n    '.recap-note-card .note-text',\r\n    '.customer-card-message',\r\n    '.gift-card-message',\r\n    '.order-card-message',\r\n    '[data-native-i18n-skip]',\r\n    '[data-i18n-skip]'\r\n  ].join(',');\r\n\r\n  var ATTRIBUTE_SKIP_SELECTOR = [\r\n    'script',\r\n    'style',\r\n    'noscript',\r\n    'iframe',\r\n    'canvas',\r\n    'svg',\r\n    'path',\r\n    'code',\r\n    'pre',\r\n    '.notranslate',\r\n    '.gtranslate_wrapper',\r\n    '#gt_float_wrapper',\r\n    '.gt_float_switcher',\r\n    '[translate=\"no\"]',\r\n    '[data-florame-card-message]',\r\n    '[data-florame-no-translate]',\r\n    '.florame-no-translate',\r\n    '.recap-note-card .note-text',\r\n    '.customer-card-message',\r\n    '.gift-card-message',\r\n    '.order-card-message',\r\n    '[data-native-i18n-skip]',\r\n    '[data-i18n-skip]'\r\n  ].join(',');\r\n\r\n  var DYNAMIC_SKIP_SELECTOR = [\r\n    'input',\r\n    'textarea',\r\n    'select',\r\n    'option',\r\n    'form',\r\n    '.cart-drawer',\r\n    '#CartDrawer',\r\n    '.delivery-scheduler-container',\r\n    '[data-native-i18n-sensitive]',\r\n    '[data-i18n-sensitive]'\r\n  ].join(',');\r\n\r\n  var TEXT = {\r\n    'Florame.ai \u2014 Il bouquet su misura, consegnato a Roma': 'Florame.ai \u2014 Custom bouquets delivered in Rome',\r\n    'Crea ora': 'Create now',\r\n    'Zero sorprese: il bouquet che vedi \u00E8 quello che ricevi': 'No surprises: the bouquet you see is the bouquet you receive',\r\n    'Crea bouquet con l\u2019AI basati sulla reale disponibilit\u00E0 dei fiori.': 'Create AI bouquets based on real flower availability.',\r\n    'Crea bouquet con l\\'AI basati sulla reale disponibilit\u00E0 dei fiori.': 'Create AI bouquets based on real flower availability.',\r\n    'Crea il tuo bouquet': 'Create your bouquet',\r\n    'Crea il tuo bouquet IA in 60s!': 'Create your AI bouquet in 60 seconds!',\r\n    'Personalizza ogni dettaglio e vedi subito l\u2019anteprima del tuo bouquet': 'Customize every detail and instantly preview your bouquet',\r\n    'Personalizza ogni dettaglio e vedi subito l\\'anteprima del tuo bouquet': 'Customize every detail and instantly preview your bouquet',\r\n    'Inizia Ora': 'Start now',\r\n    'Cosa ti aspetta?': 'What can you expect?',\r\n    'Personalizzazione totale': 'Full customization',\r\n    'Scegli fiori, packaging e colori in pochi tap.': 'Choose flowers, packaging and colors in a few taps.',\r\n    'Anteprima istantanea': 'Instant preview',\r\n    'Guarda subito come sar\u00E0 il tuo bouquet grazie all\u2019IA.': 'See what your bouquet will look like right away, thanks to AI.',\r\n    'Guarda subito come sar\u00E0 il tuo bouquet grazie all\\'IA.': 'See what your bouquet will look like right away, thanks to AI.',\r\n    'Consegna in 24h': 'Delivery in 24h',\r\n    'Fiori freschi a casa tua in un giorno.': 'Fresh flowers at home in one day.',\r\n    'Qualit\u00E0 garantita': 'Guaranteed quality',\r\n    'Qualita garantita': 'Guaranteed quality',\r\n    'Solo fiori selezionati giorno per giorno.': 'Only flowers selected day by day.',\r\n    'Consenso ai cookie': 'Cookie consent',\r\n    'GESTISCI LE PREFERENZE': 'MANAGE PREFERENCES',\r\n    'ACCETTA': 'ACCEPT',\r\n    'Accetta': 'Accept',\r\n    'Continua senza accettare': 'Continue without accepting',\r\n    'Noi e i nostri partner, incluso Shopify, utilizziamo cookie e altre tecnologie per personalizzare la tua esperienza, mostrare annunci e misurare le prestazioni.': 'We and our partners, including Shopify, use cookies and similar technologies to personalize your experience, show ads and measure performance.',\r\n    'Noi e i nostri partner, incluso Shopify, utilizziamo cookie e altre tecnologie per personalizzare la tua esperienza, mostrarti annunci ed eseguire analisi. Non utilizzeremo cookie o altre tecnologie per questi scopi senza il tuo consenso. Scopri di pi\u00F9 nella nostra Informativa sulla privacy': 'We and our partners, including Shopify, use cookies and similar technologies to personalize your experience, show you ads and run analytics. We will not use cookies or similar technologies for these purposes without your consent. Learn more in our Privacy Policy.',\r\n    'Noi e i nostri partner, incluso Shopify, utilizziamo cookie e altre tecnologie per personalizzare la tua esperienza, mostrarti annunci ed eseguire analisi. Non utilizzeremo cookie o altre tecnologie per questi scopi senza il tuo consenso. Scopri di pi\u00F9 nella nostra': 'We and our partners, including Shopify, use cookies and similar technologies to personalize your experience, show you ads and run analytics. We will not use cookies or similar technologies for these purposes without your consent. Learn more in our',\r\n    'Scopri di pi\u00F9 nella nostra Informativa sulla privacy': 'Learn more in our Privacy Policy',\r\n    'Informativa sulla privacy': 'Privacy Policy',\r\n    'L\u2019app sta arrivando \uD83C\uDF38': 'The app is coming \uD83C\uDF38',\r\n    'Nel frattempo puoi gi\u00E0 progettare e ordinare dalla Web App.': 'In the meantime, you can already design and order from the Web App.',\r\n    'Apri la Web App': 'Open the Web App',\r\n    'Non ora': 'Not now',\r\n    'STEP 1': 'STEP 1',\r\n    'inserisci un indirizzo d\\'esempio in cui vorresti che fosse attivo florame.ai': 'enter an example address where you would like florame.ai to be active',\r\n\r\n    'Benvenuto su': 'Welcome to',\r\n    'Benvenuto su florame.ai': 'Welcome to florame.ai',\r\n    'Navigazione Home Florame': 'Florame Home navigation',\r\n    'Dove consegniamo': 'Where should we deliver',\r\n    'Aggiungi indirizzo': 'Add address',\r\n    'Aggiungi indirizzo di consegna': 'Add delivery address',\r\n    'Apri carrello': 'Open cart',\r\n    'Apri account': 'Open account',\r\n    'Trova il bouquet giusto': 'Find the right bouquet',\r\n    'Esplora la vetrina': 'Explore the showcase',\r\n    'Filtra i bouquet della Home': 'Filter Home bouquets',\r\n    'Vetrina': 'Showcase',\r\n    'Scelti dal fiorista': 'Florist\u2019s picks',\r\n    'Scelto dal fiorista': 'Florist\u2019s pick',\r\n    'Scelto dal fiorista.': 'Florist\u2019s pick.',\r\n    'Carico la selezione': 'Loading the selection',\r\n    'Tutti disponibili': 'All available',\r\n    'Nel suo stock': 'In their stock',\r\n    'Tendenza': 'Trending',\r\n    'Tendenze': 'Trending',\r\n    'Pi\u00F9 apprezzati': 'Most popular',\r\n    'Novit\u00E0': 'New',\r\n    'Appena creati': 'Recently created',\r\n    'Le tue raccolte': 'Your collections',\r\n    'Bouquet personali': 'Personal bouquets',\r\n    'I miei bouquet': 'My bouquets',\r\n    'Creati da te': 'Created by you',\r\n    'Preferiti': 'Favorites',\r\n    'Salvati da te': 'Saved by you',\r\n    'Le tue creazioni': 'Your creations',\r\n    'I tuoi preferiti': 'Your favorites',\r\n    'Scopri bouquet': 'Discover bouquets',\r\n    'Mostra i bouquet': 'Show bouquets',\r\n    'Viste del catalogo': 'Catalog views',\r\n    'La sua selezione': 'Their selection',\r\n    'Selezione del fiorista': 'Florist\u2019s selection',\r\n    'Bouquet di oggi': 'Today\u2019s bouquets',\r\n    'Scegli come riceverlo': 'Choose how to receive it',\r\n    'Consegna o ritiro?': 'Delivery or pickup?',\r\n    'A domicilio': 'To your door',\r\n    'Ritiro in negozio': 'Store pickup',\r\n    'Passa da noi': 'Come to us',\r\n    'Confronta fioristi': 'Compare florists',\r\n    'Prezzi, tempi e disponibilit\u00E0': 'Prices, timing and availability',\r\n    'Inserisci indirizzo': 'Enter address',\r\n    'Mostro la vetrina del fiorista.': 'Showing the florist\u2019s showcase.',\r\n    'Disponibile dal fiorista': 'Available from this florist',\r\n    'Consegna da verificare': 'Delivery to check',\r\n    'Consegna oggi': 'Delivery today',\r\n    'Controlla consegna': 'Check delivery',\r\n    'Controlla se il fiorista consegna al destinatario': 'Check whether the florist delivers to the recipient',\r\n    'Scegli come riceverlo': 'Choose how to receive it',\r\n    'Consegna o ritiro?': 'Delivery or pickup?',\r\n    'Imposta consegna': 'Set delivery',\r\n    'Ritiro': 'Pickup',\r\n    'Confronta': 'Compare',\r\n    'Cambia o confronta fiorista': 'Change or compare florist',\r\n    'Dove deve arrivare?': 'Where should it be delivered?',\r\n    'Controlla se il fiorista scelto consegna l\u00EC.': 'Check whether the selected florist delivers there.',\r\n    'Usa la mia posizione': 'Use my location',\r\n    'Controlla l\u2019indirizzo: al checkout non potrai cambiarlo.': 'Check the address: you cannot change it at checkout.',\r\n    'Informazioni sul fiorista': 'Florist information',\r\n    'Modalit\u00E0 di ricezione': 'Fulfilment method',\r\n    'Confronta fioristi per prezzi, tempi e disponibilit\u00E0': 'Compare florists by price, timing and availability',\r\n    'Indirizzo completo': 'Full address',\r\n    'Via, numero civico, citt\u00E0': 'Street, house number, city',\r\n    'Controllo fiorista e consegna...': 'Checking florist and delivery...',\r\n    'Disponibilit\u00E0 verificata per questo indirizzo.': 'Availability verified for this address.',\r\n    'Consegna a': 'Deliver to',\r\n    'Cambia': 'Change',\r\n    'Oppure crealo tu': 'Or create your own',\r\n    'Su misura': 'Made to measure',\r\n    'Scelti da questo fiorista': 'Chosen by this florist',\r\n    'Nuovo su Florame': 'New on Florame',\r\n    'Nessuna recensione': 'No reviews yet',\r\n    'Orari e contatti': 'Hours and contacts',\r\n    'Termini': 'Terms',\r\n    'Rimborsi': 'Refunds',\r\n    'Consegne': 'Delivery',\r\n    'Contatti': 'Contacts',\r\n    'Rivedi le scelte cookie': 'Review cookie choices',\r\n    'Privacy e informazioni legali': 'Privacy and legal information',\r\n    'Creati': 'Created',\r\n    'Vai alle tue creazioni': 'Go to your creations',\r\n    'Menu Profilo': 'Profile menu',\r\n    'Profilo': 'Profile',\r\n    'Ordini e impostazioni': 'Orders and settings',\r\n    'Accedi a Florame': 'Sign in to Florame',\r\n    'Usa il login social nativo dell\\'app.': 'Use the app\\'s native social login.',\r\n    'Continua con Google': 'Continue with Google',\r\n    'Continua con Apple': 'Continue with Apple',\r\n    'Usa email': 'Use email',\r\n    'Sessione app attiva': 'App session active',\r\n    'Apertura login...': 'Opening login...',\r\n    'Apertura Apple...': 'Opening Apple...',\r\n    'Apertura Google...': 'Opening Google...',\r\n    'Login nativo non disponibile in questa build.': 'Native login is not available in this build.',\r\n    'Cliente': 'Customer',\r\n    'Ordini recenti': 'Recent orders',\r\n    'Profilo app': 'App profile',\r\n    'Accesso completato.': 'Signed in.',\r\n    'Accesso non completato. Riprova.': 'Sign in was not completed. Try again.',\r\n    'Uscita...': 'Signing out...',\r\n    'Uscita non completata.': 'Sign out was not completed.',\r\n    'Aggiornamenti Florame': 'Florame updates',\r\n    'Notifiche sugli ordini e aggiornamenti Florame': 'Order notifications and Florame updates',\r\n    'Notifiche': 'Notifications',\r\n    'Attive': 'On',\r\n    'Spente': 'Off',\r\n    'Controllo...': 'Checking...',\r\n    'Aggiorno...': 'Updating...',\r\n    'Non supportate': 'Not supported',\r\n    'Permesso bloccato': 'Permission blocked',\r\n    'Apri da Home': 'Open from Home',\r\n    'Non disponibile': 'Unavailable',\r\n    'Logout dall\u2019account': 'Account logout',\r\n    'Logout dall\\'account': 'Account logout',\r\n    'Aiuto': 'Help',\r\n    'Chat e supporto': 'Chat and support',\r\n    'Esci': 'Log out',\r\n    'Crea con AI': 'Create with AI',\r\n    'Guidato dalla magia': 'Guided by magic',\r\n    'Crea da Zero': 'Create from scratch',\r\n    'Componi tu': 'Build it yourself',\r\n    'Esplora Idee': 'Explore ideas',\r\n    'Lasciati ispirare dalla community': 'Get inspired by the community',\r\n    'Archivio': 'Archive',\r\n    'Lasciati guidare dalla magia dell\\'AI.': 'Let AI magic guide you.',\r\n    'Lasciati guidare dalla magia dell\u2019AI.': 'Let AI magic guide you.',\r\n    'Prova ora': 'Try now',\r\n    'I miei Preferiti': 'My favorites',\r\n    'Esplora e lascia un like ai tuoi preferiti.': 'Explore and like your favorites.',\r\n    'Accedi per mettere mi piace.': 'Log in to like this.',\r\n    'Selezione non valida: nessun fiore riconosciuto. Cambia variante e riprova.': 'Invalid selection: no recognized flowers. Change variant and try again.',\r\n    'Generazione immagine avviata...': 'Image generation started...',\r\n    'Generazione in corso...': 'Generating...',\r\n    'Proposta caricata nell\u2019editor!': 'Proposal loaded into the editor!',\r\n    'Feedback negativo registrato. Genero un nuovo bouquet...': 'Negative feedback saved. Generating a new bouquet...',\r\n    'Bouquet creato con i fiori attualmente disponibili!': 'Bouquet created with the flowers currently available!',\r\n    'Bouquet creato con fiori disponibili (modalit\u00E0 offline)': 'Bouquet created with available flowers in offline mode',\r\n    'Anteprima generata, ma non siamo riusciti a creare il link d\\'acquisto. Puoi riprovare dal carrello.': 'Preview generated, but we could not create the purchase link. You can try again from the cart.',\r\n    'Composizione eliminata con successo!': 'Composition deleted successfully!',\r\n    'Aspetta ancora un attimo: stiamo finendo di preparare il bouquet.': 'Wait one more moment: we are finishing your bouquet.',\r\n    'Impossibile attivare la notifica: mancano i dati del bouquet.': 'Unable to enable the notification: bouquet data is missing.',\r\n    'Perfetto! Ti avviseremo quando torna disponibile.': 'Perfect! We will notify you when it is available again.',\r\n    'Perfetto! Ti avviseremo appena torna disponibile.': 'Perfect! We will notify you as soon as it is available again.',\r\n    'Ops! Non sono riuscito a salvare la notifica. Riprova.': 'Oops! We could not save the notification. Try again.',\r\n    'Ops! Connessione instabile: riprova.': 'Oops! Connection unstable. Try again.',\r\n    'Ok, non ti avviseremo pi\u00F9 per questo bouquet.': 'Ok, we will not notify you about this bouquet anymore.',\r\n    'Inserisci una email valida.': 'Enter a valid email address.',\r\n    'Perfetto! Ora puoi creare il tuo bouquet.': 'Perfect! You can now create your bouquet.',\r\n    'Hai ripreso la composizione salvata.': 'You are editing an existing composition',\r\n    'Stai modificando una composizione esistente': 'You are editing an existing composition',\r\n    'Link copiato!': 'Link copied!',\r\n    'Impossibile copiare il link.': 'Unable to copy the link.',\r\n    'Per favore seleziona un file immagine valido': 'Please select a valid image file.',\r\n    'Carica prima un\\'immagine!': 'Upload an image first.',\r\n    'Carica prima un\u2019immagine!': 'Upload an image first.',\r\n    'Seleziona prima un\\'occasione!': 'Select an occasion first.',\r\n    'Seleziona prima un\u2019occasione!': 'Select an occasion first.',\r\n    'Seleziona prima un segno zodiacale!': 'Select a zodiac sign first.',\r\n    'Inserisci almeno 10 caratteri nel prompt!': 'Enter at least 10 characters in the prompt.',\r\n    'Il file \u00E8 troppo grande. Massimo 10MB.': 'The file is too large. Maximum 10MB.',\r\n    'Il file e troppo grande. Massimo 10MB.': 'The file is too large. Maximum 10MB.',\r\n    'Errore nel caricamento del file. Riprova.': 'Error uploading the file. Try again.',\r\n    'Prezzo non valido: controlla che tu abbia selezionato almeno un fiore e riprova.': 'Invalid price: check that you selected at least one flower and try again.',\r\n    'Stiamo impiegando pi\u00F9 del previsto a preparare il bouquet. Riprova tra qualche secondo: potremmo aver recuperato lo stato.': 'Preparing the bouquet is taking longer than expected. Try again in a few seconds: we may have recovered the state.',\r\n    'Stiamo impiegando piu del previsto a preparare il bouquet. Riprova tra qualche secondo: potremmo aver recuperato lo stato.': 'Preparing the bouquet is taking longer than expected. Try again in a few seconds: we may have recovered the state.',\r\n    'Errore nel salvataggio del bouquet. Per favore riprova.': 'Error saving the bouquet. Please try again.',\r\n    'Impossibile caricare i bouquet. Riprova.': 'Unable to load bouquets. Try again.',\r\n    'Tema automatico attivato': 'Automatic theme enabled',\r\n    'Modalit\u00E0 chiara attivata': 'Light mode enabled',\r\n    'Modalit\u00E0 scura attivata': 'Dark mode enabled',\r\n    'Tema cambiato': 'Theme changed',\r\n    'Ultime Novit\u00E0': 'Latest news',\r\n    'Ultime Novita': 'Latest news',\r\n    'Ispirazioni recenti': 'Recent inspirations',\r\n    'Live stock': 'Live stock',\r\n    'Come funziona': 'How it works',\r\n    'Progetti in 1 minuto. Ordini in pochi tap.': 'Design in 1 minute. Order in a few taps.',\r\n    'Crea con l\\'AI': 'Create with AI',\r\n    'Crea con l\u2019AI': 'Create with AI',\r\n    'Scegli occasione, budget e palette cromatica, e scopri le magiche proposte del nostro assistente digitale!': 'Choose occasion, budget and color palette, then discover our digital assistant\u2019s floral proposals.',\r\n    'Crea da zero': 'Create from scratch',\r\n    'Componi fiore per fiore, scegli la carta, il nastro e ogni dettaglio. Controllo totale su stile e dimensioni!': 'Build flower by flower, choose paper, ribbon and every detail. Full control over style and size.',\r\n    'Naviga tra le centinaia di creazioni esistenti, e rendila tua in un attimo grazie al tasto \"Modifica\".': 'Browse hundreds of existing creations and make one yours instantly with the \"Edit\" button.',\r\n    'Perch\u00E9 Florame.ai': 'Why Florame.ai',\r\n    'Perche Florame.ai': 'Why Florame.ai',\r\n    'Tre promesse semplici.': 'Three simple promises.',\r\n    'Tre promesse semplici. ': 'Three simple promises.',\r\n    'Quello che vedi \u00E8 quello che arriva': 'What you see is what arrives',\r\n    'Quello che vedi e quello che arriva': 'What you see is what arrives',\r\n    'L\u2019anteprima \u00E8 il riferimento dei nostri fioristi: l\u2019obiettivo \u00E8 replicarla, non \u201Cinterpretarla\u201D.': 'The preview is the reference for our florists: the goal is to replicate it, not reinterpret it.',\r\n    'L\\'anteprima e il riferimento dei nostri fioristi: l\\'obiettivo e replicarla, non \"interpretarla\".': 'The preview is the reference for our florists: the goal is to replicate it, not reinterpret it.',\r\n    'Altrove:': 'Elsewhere:',\r\n    'scegli da una foto e nel 90% dei casi ricevi qualcosa di lontanamente simile.': 'you choose from a photo and in 90% of cases receive something only vaguely similar.',\r\n    'Disponibilit\u00E0 aggiornata': 'Availability updated',\r\n    'Disponibilita aggiornata': 'Availability updated',\r\n    'Disponibilit\u00E0 aggiornata in tempo reale': 'Availability updated in real time',\r\n    'Disponibilita aggiornata in tempo reale': 'Availability updated in real time',\r\n    'Disponibilit\u00E0 e colori monitorati: meno sostituzioni dell\u2019ultimo minuto.': 'Availability and colors are monitored: fewer last-minute substitutions.',\r\n    'Disponibilita e colori monitorati: meno sostituzioni dell\\'ultimo minuto.': 'Availability and colors are monitored: fewer last-minute substitutions.',\r\n    'sostituzioni last-minute, perch\u00E8 sito e fiorista non comunicano.': 'last-minute substitutions because site and florist do not communicate.',\r\n    'sostituzioni last-minute, perch\u00E9 sito e fiorista non comunicano.': 'last-minute substitutions because site and florist do not communicate.',\r\n    'Davvero su misura': 'Truly custom',\r\n    'Crea qualcosa che sembri pensato davvero per quella persona, non \u201Cpreso al volo\u201D.': 'Create something that feels genuinely made for that person, not grabbed at random.',\r\n    'Crea qualcosa che sembri pensato davvero per quella persona, non \"preso al volo\".': 'Create something that feels genuinely made for that person, not grabbed at random.',\r\n    'catalogo fisso con foto fantoccio, nessuna personalizzazione possibile.': 'fixed catalog with placeholder photos and no real customization.',\r\n    'Solo a Roma (per ora)': 'Rome only, for now',\r\n    'Lo realizziamo noi. Come lo hai approvato.': 'We make it. As you approved it.',\r\n    'Fiori freschi, mano artigiana, risultato fedele. Consegniamo in giornata su tutta Roma.': 'Fresh flowers, handcrafted work, faithful result. Same-day delivery across Rome.',\r\n    'Vedi la Web App': 'View the Web App',\r\n    'Non siamo nella tua zona?': 'Not in your area?',\r\n    'Inserisci i dati per rimanere aggiornato': 'Enter your details to stay updated',\r\n    'indirizzo': 'address',\r\n    'e-mail': 'email',\r\n    'Avvisami quando arrivate': 'Notify me when you arrive',\r\n    'Niente spam!': 'No spam.',\r\n    'Ti contattiamo solo quando saremo disponibili nella tua area.': 'We will contact you only when we are available in your area.',\r\n    'Sei un fiorista?': 'Are you a florist?',\r\n    'Diventa nostro Partner!': 'Become our partner.',\r\n    'florame.ai ti permette di restare sempre al passo con i tempi e di accedere a molteplici vantaggi.': 'florame.ai helps you stay current and access multiple advantages.',\r\n\r\n    'Controllo disponibilit\u00E0...': 'Checking availability...',\r\n    'Controllo CAP non avviato': 'Postal code check not started',\r\n    'Dove vuoi spedire?': 'Where should we deliver?',\r\n    'Inserisci indirizzo e numero civico per vedere i fiori freschi disponibili.': 'Enter street address and house number to see fresh flowers available nearby.',\r\n    'Indirizzo (Via, n\u00B0, citt\u00E0)': 'Address (street, number, city)',\r\n    'Indirizzo (Via, n\u00B0, citta)': 'Address (street, number, city)',\r\n    'Indirizzo (Via, n\u00B0, citt\u00E0, CAP)': 'Address (street, number, city, postal code)',\r\n    'Indirizzo (Via, n\u00B0, citta, CAP)': 'Address (street, number, city, postal code)',\r\n    'Consegna a': 'Delivery to',\r\n    'Navigazione Home Florame': 'Florame Home navigation',\r\n    'Imposta indirizzo di consegna': 'Set delivery address',\r\n    'Imposta indirizzo': 'Set address',\r\n    'Aggiungi indirizzo di consegna': 'Add delivery address',\r\n    'Aggiungi indirizzo': 'Add address',\r\n    'Dove consegniamo': 'Where should we deliver',\r\n    'Verifica fiori e consegna.': 'Check flowers and delivery.',\r\n    'Indirizzo completo': 'Full address',\r\n    'Via, numero civico, citt\u00E0': 'Street, house number, city',\r\n    'Apri carrello': 'Open cart',\r\n    'Apri account': 'Open account',\r\n    'Apri': 'Open',\r\n    'Scelta bouquet e assistenza': 'Bouquet choice and support',\r\n    'Chiedi a Florame': 'Ask Florame',\r\n    'AI per scegliere, persone per aiutarti': 'AI to choose, people to help',\r\n    'Il tuo gesto, fatto bene': 'Your thoughtful gesture, done right',\r\n    'Cosa facciamo fiorire oggi?': 'What shall we make bloom today?',\r\n    'Crea qualcosa di tuo oppure scopri cosa pu\u00F2 arrivare vicino a te.': 'Create something of your own or discover what can be delivered near you.',\r\n    'Parti da qui': 'Start here',\r\n    'Come vuoi creare?': 'How would you like to create?',\r\n    'Ti guidiamo noi': 'We\u2019ll guide you',\r\n    'Scegli tutto tu': 'You choose every detail',\r\n    'Per te': 'For you',\r\n    'Disponibili': 'Available',\r\n    'Tendenza': 'Trending',\r\n    'Novit\u00E0': 'New',\r\n    'I miei': 'Mine',\r\n    'Filtra Esplora': 'Filter Explore',\r\n    'Chiudi filtri': 'Close filters',\r\n    'Mostro i bouquet scelti per te.': 'Showing the bouquets chosen for you.',\r\n    'Mostro i bouquet disponibili adesso.': 'Showing bouquets available now.',\r\n    'Mostro i bouquet pi\u00F9 amati.': 'Showing the most loved bouquets.',\r\n    'Mostro le novit\u00E0.': 'Showing what\u2019s new.',\r\n    'Mostro le tue creazioni.': 'Showing your creations.',\r\n    'Mostro i tuoi preferiti.': 'Showing your favorites.',\r\n    'Per vedere cosa pu\u00F2 arrivare da te.': 'To see what can be delivered to you.',\r\n    'Disponibilit\u00E0 verificata, valida fino a 72 ore.': 'Availability confirmed for up to 72 hours.',\r\n    'Disponibili adesso': 'Available now',\r\n    'Stock del fiorista': 'Florist stock',\r\n    'Tutti i bouquet disponibili': 'All available bouquets',\r\n    'Aggiorno lo stock': 'Refreshing stock',\r\n    'Pi\u00F9 amati': 'Most loved',\r\n    'Tutti i bouquet caricati': 'All bouquets loaded',\r\n    'Carico altri bouquet': 'Loading more bouquets',\r\n    'Torna all\u2019inizio della categoria': 'Back to the start of this category',\r\n    'Su': 'Top',\r\n    'Versione storefront Florame': 'Florame storefront version',\r\n    'Continua senza accettare i cookie': 'Continue without accepting cookies',\r\n    'Gestisci o annulla generazione': 'Manage or cancel generation',\r\n    'Comprimi notifica': 'Collapse notification',\r\n    'Stock aggiornato in tempo reale.': 'Stock updated in real time.',\r\n    'Cambia': 'Change',\r\n    'Gi\u00E0 presente': 'Already added',\r\n    'Gia presente': 'Already added',\r\n    'Nessun risultato. Prova a scrivere': 'No results. Try typing',\r\n    'Crea da Zero': 'Create from scratch',\r\n    'Componi tu': 'Build it yourself',\r\n    'Esplora Idee': 'Explore ideas',\r\n    'Lasciati ispirare dalla community': 'Get inspired by the community',\r\n    'Verifica in corso': 'Checking',\r\n    'Da verificare': 'To check',\r\n    'Disponibilit\u00E0': 'Availability',\r\n    'Disponibilita': 'Availability',\r\n    'Stock verificato': 'Verified stock',\r\n    'Disponibili Subito': 'Available now',\r\n    'Disponibili subito': 'Available now',\r\n    'Live Stock': 'Live stock',\r\n    'Live stock': 'Live stock',\r\n    'Esplora live stock': 'Explore live stock',\r\n    'Nessun bouquet disponibile al momento.': 'No bouquets available right now.',\r\n    'Inserisci indirizzo': 'Enter address',\r\n    'Ti mostriamo solo bouquet live stock acquistabili ora nella tua zona.': 'We only show live-stock bouquets you can buy now in your area.',\r\n    'Le tue Creazioni': 'Your creations',\r\n    'Archivio': 'Archive',\r\n    'Ancora non hai provato a creare un bouquet?!': 'You have not tried creating a bouquet yet?!',\r\n    'Qui compariranno i bouquet che metti tra i preferiti.': 'Bouquets you add to favorites will appear here.',\r\n    'Salvati': 'Saved',\r\n    'Recenti': 'Recent',\r\n    'Nessun indirizzo salvato.': 'No saved addresses.',\r\n    'Nessun indirizzo recente.': 'No recent addresses.',\r\n    'Salva indirizzo': 'Save address',\r\n    'Rinomina indirizzo': 'Rename address',\r\n    'Suggerimenti verificati mentre digiti. Premi Invio per confermare. Dati: Google': 'Verified suggestions as you type. Press Enter to confirm. Data: Google',\r\n    'Esplora senza verificare disponibilit\u00E0': 'Explore without checking availability',\r\n    'Indirizzo incompleto: scegli una via + numero civico dai suggerimenti (es. \u201CVia \u2026 12, Roma\u201D).': 'Incomplete address: choose a street and house number from the suggestions (for example \u201CVia \u2026 12, Rome\u201D).',\r\n    'Indirizzo incompleto: scegli una via + numero civico dai suggerimenti (es. \"Via ... 12, Roma\").': 'Incomplete address: choose a street and house number from the suggestions (for example \u201CVia \u2026 12, Rome\u201D).',\r\n    'Seleziona un indirizzo dai suggerimenti (via + numero civico).': 'Select an address from the suggestions (street + house number).',\r\n    'Seleziona un indirizzo dai suggerimenti (via + numero civico). Il CAP da solo non basta.': 'Select an address from the suggestions (street + house number). The postal code alone is not enough.',\r\n    'Non risulta il numero civico indicato per questa via. Controlla il numero oppure scegli un civico vicino (es. \u201CVia \u2026 12, Roma\u201D) dai suggerimenti.': 'The house number entered does not appear for this street. Check the number or choose a nearby house number from the suggestions (for example \u201CVia \u2026 12, Rome\u201D).',\r\n    'Non risulta il numero civico indicato per questa via. Controlla il numero oppure scegli un civico vicino (es. \"Via ... 12, Roma\") dai suggerimenti.': 'The house number entered does not appear for this street. Check the number or choose a nearby house number from the suggestions (for example \u201CVia \u2026 12, Rome\u201D).',\r\n    'Errore nel recupero dell\\'indirizzo. Riprova.': 'Error retrieving the address. Please try again.',\r\n    'Errore server': 'Server error',\r\n    'Errore sconosciuto': 'Unknown error',\r\n    'Errore connessione.': 'Connection error.',\r\n    'Inserisci un\u2019email valida.': 'Enter a valid email address.',\r\n    'Inserisci un\\'email valida.': 'Enter a valid email address.',\r\n    'Lascia': 'Leave',\r\n    'la tua email': 'your email',\r\n    'Ti avviseremo': 'We will notify you',\r\n    'per primo appena iniziamo a consegnare anche nella tua zona.': 'first as soon as we start delivering in your area.',\r\n    'Inserisci la tua email': 'Enter your email',\r\n    'Invia': 'Send',\r\n    'Ci aiuti a scegliere le prossime zone: \u00E8 una metrica fondamentale per la nostra espansione \u2728': 'You help us choose the next delivery areas: it is a key signal for our expansion \u2728',\r\n    'Inviando accetti la': 'By submitting, you accept the',\r\n    'Privacy Policy': 'Privacy Policy',\r\n    'Prodotto non disponibile': 'Product not available',\r\n    'Bouquet non trovato': 'Bouquet not found',\r\n    'Errore carrello': 'Cart error',\r\n    'Lingua': 'Language',\r\n    'Scarica app': 'Download app',\r\n    'Florame a portata di tap': 'Florame one tap away',\r\n    'Notifiche': 'Notifications',\r\n    'Attive': 'On',\r\n    'Spente': 'Off',\r\n    'Controllo...': 'Checking...',\r\n    'Aggiorno...': 'Updating...',\r\n    'Non supportate': 'Not supported',\r\n    'Permesso bloccato': 'Permission blocked',\r\n    'Apri da Home': 'Open from Home',\r\n    'Non disponibile': 'Unavailable',\r\n    'Profilo': 'Profile',\r\n    'Ordini e impostazioni': 'Orders and settings',\r\n    'Area cliente': 'Customer area',\r\n    'Accedi': 'Sign in',\r\n    'Aiuto': 'Help',\r\n    'Assistenza via chat': 'Chat support',\r\n    'Esci': 'Sign out',\r\n    'Logout dall\u2019account': 'Sign out of your account',\r\n    'Logout dall\\'account': 'Sign out of your account',\r\n    'App Florame': 'Florame app',\r\n    'Porta l\u2019atelier sempre con te.': 'Take the atelier with you.',\r\n    'Porta l\\'atelier sempre con te.': 'Take the atelier with you.',\r\n    'Rientri nel tuo bouquet in un tap e ricevi gli avvisi giusti al momento giusto.': 'Return to your bouquet in one tap and get the right alerts at the right time.',\r\n    'Avvisi ordine': 'Order alerts',\r\n    'Consegna live': 'Live delivery',\r\n    'Bouquet in un tap': 'Bouquet in one tap',\r\n    'Installa gratis': 'Install free',\r\n    'Scarica l\u2019app': 'Download the app',\r\n    'Scarica l\\'app': 'Download the app',\r\n    'Vuoi provare prima?': 'Want to try it first?',\r\n    'Apri Florame': 'Open Florame',\r\n    'Scarica Florame': 'Download Florame',\r\n    'Scarica app Florame': 'Download the Florame app',\r\n    'Scorri il carosello a sinistra': 'Scroll carousel left',\r\n    'Scorri il carosello a destra': 'Scroll carousel right',\r\n    'Aggiungila alla Home. Gli avvisi si attivano dalla PWA.': 'Add it to your Home Screen. Alerts are enabled from the PWA.',\r\n    'Scarica ora': 'Download now',\r\n    'Non ora': 'Not now',\r\n    'Verifica disponibilit\u00E0 richiesta': 'Availability check required',\r\n    'Per vedere le palette disponibili, dobbiamo verificare il CAP.': 'To show available palettes, we need to check the postal code.',\r\n    'Verifica disponibilit\u00E0': 'Check availability',\r\n    'Verifica CAP': 'Check postal code',\r\n    'Verifica disponibilita': 'Check availability',\r\n    'Notificami': 'Notify me',\r\n    'Ti avviseremo': 'We will notify you',\r\n    'Aggiorno\u2026': 'Updating...',\r\n    'Aggiorno...': 'Updating...',\r\n    'Inviato': 'Sent',\r\n    'Prima di continuare': 'Before you continue',\r\n    'Lascia un voto': 'Leave a rating',\r\n    'Continua Shopping': 'Continue shopping',\r\n    'Vai al Checkout': 'Go to checkout',\r\n    'INIZIAMO': \"LET'S START\",\r\n    'STEP 1 DI 4': 'STEP 1 OF 4',\r\n    'STEP 2 DI 4': 'STEP 2 OF 4',\r\n    'STEP 3 DI 4': 'STEP 3 OF 4',\r\n    'RISULTATI': 'RESULTS',\r\n    'Verifichiamo i fiori disponibili!': \"Let's check available flowers.\",\r\n    'Inserisci via e numero civico.': 'Enter street and house number.',\r\n    'Scegli un suggerimento \u00B7 Google': 'Choose a suggestion \u00B7 Google',\r\n    'Per che occasione ti serve questo bouquet?': 'What occasion is this bouquet for?',\r\n    'Qual\\'\u00E8 il tuo budget?': 'What is your budget?',\r\n    'Qual \u00E8 il tuo budget?': 'What is your budget?',\r\n    'Pensiero Dolce': 'Sweet thought',\r\n    'Un gesto leggero che dice \u201Cti penso\u201D con naturalezza.': 'A light gesture that naturally says \"thinking of you.\"',\r\n    'Un gesto leggero che dice \"ti penso\" con naturalezza.': 'A light gesture that naturally says \"thinking of you.\"',\r\n    'Il classico': 'The classic',\r\n    'Il formato che funziona sempre: equilibrio, presenza, sorriso.': 'The format that always works: balance, presence, a smile.',\r\n    'Il pi\u00F9 amato': 'Most loved',\r\n    'Il piu amato': 'Most loved',\r\n    'Scenografico': 'Statement',\r\n    'Il punto perfetto tra impatto e raffinatezza: sembra \u201Cmolto di pi\u00F9\u201D.': 'The sweet spot between impact and refinement: it looks like much more.',\r\n    'Il punto perfetto tra impatto e raffinatezza: sembra \"molto di piu\".': 'The sweet spot between impact and refinement: it looks like much more.',\r\n    'Impatto Premium': 'Premium impact',\r\n    'Pi\u00F9 volume, pi\u00F9 dettagli: quando vuoi che si noti subito.': 'More volume, more detail: when you want it to stand out immediately.',\r\n    'Piu volume, piu dettagli: quando vuoi che si noti subito.': 'More volume, more detail: when you want it to stand out immediately.',\r\n    'Firma Iconica': 'Iconic signature',\r\n    'La scelta \u201Cwow\u201D per occasioni importanti: scenografia e lusso.': 'The wow choice for important occasions: presence and luxury.',\r\n    'La scelta \"wow\" per occasioni importanti: scenografia e lusso.': 'The wow choice for important occasions: presence and luxury.',\r\n    'Celebrazioni Iconiche': 'Iconic celebrations',\r\n    'Compleanni, traguardi e festa assicurata.': 'Birthdays, milestones and guaranteed celebration.',\r\n    'Romantico & Cuore': 'Romance & heart',\r\n    'Promesse, anniversari e dichiarazioni.': 'Promises, anniversaries and declarations.',\r\n    'Affetto & Famiglia': 'Affection & family',\r\n    'Nuovi inizi e gesti premurosi.': 'New beginnings and thoughtful gestures.',\r\n    'Supporto & Empatia': 'Support & empathy',\r\n    'Vicini nei momenti importanti.': 'Close in important moments.',\r\n    'Eventi & Signature': 'Events & signature',\r\n    'Scenografie d\u2019impatto e bouquet statement.': 'Impactful arrangements and statement bouquets.',\r\n    'Scenografie d\\'impatto e bouquet statement.': 'Impactful arrangements and statement bouquets.',\r\n    'Primo appuntamento': 'First date',\r\n    'Bouquet delicato e raffinato per conquistare con stile.': 'A delicate, refined bouquet to win them over with style.',\r\n    'Romantiche Duo': 'Romantic duos',\r\n    'Combinazioni a due tonalit\u00E0, morbide ma carattere.': 'Two-tone combinations, soft but full of character.',\r\n    'Romantiche Trio': 'Romantic trios',\r\n    'Sfumature equilibrate per bouquet armonici.': 'Balanced shades for harmonious bouquets.',\r\n    'Vitaminiche': 'Vibrant palettes',\r\n    'Palette brillanti e scenografiche.': 'Bright, striking palettes.',\r\n    'Incanto Viola': 'Purple enchantment',\r\n    'Sfumature mistiche e armonie pastello.': 'Mystical shades and pastel harmonies.',\r\n    'Profondit\u00E0 & Cielo': 'Depth & sky',\r\n    'L\u2019eleganza rara del blu e dei suoi contrasti.': 'The rare elegance of blue and its contrasts.',\r\n    'L\\'eleganza rara del blu e dei suoi contrasti.': 'The rare elegance of blue and its contrasts.',\r\n    'Green Signature': 'Green signature',\r\n    'Accenti botanici e contrasti moderni.': 'Botanical accents and modern contrasts.',\r\n    'Duo Armonici': 'Harmonious duos',\r\n    'Combinazioni perfette a 2 colori.': 'Perfect two-color combinations.',\r\n    'Trio Dinamici': 'Dynamic trios',\r\n    'Sfumature equilibrate a 3 colori.': 'Balanced three-color shades.',\r\n    'Multicolor (4+)': 'Multicolor (4+)',\r\n    'Composizioni ricche ed esplosive.': 'Rich, expressive arrangements.',\r\n    'Scegli la combinazione di colori perfetta per la tua composizione': 'Choose the perfect color combination for your arrangement',\r\n    'Filtra per colore': 'Filter by color',\r\n    'Cerco le combinazioni perfette, tra le disponibilit\u00E0 nella tua zona...': 'Finding the perfect combinations among what is available in your area...',\r\n    'Cerco le combinazioni perfette, tra le disponibilita nella tua zona...': 'Finding the perfect combinations among what is available in your area...',\r\n    'Le nostre 2 proposte uniche affini alle tue esigenze': 'Our 2 unique proposals tailored to your needs',\r\n    'La Galleria della Community': 'Community Gallery',\r\n    'ISPIRAZIONE': 'INSPIRATION',\r\n    'Scopri le creazioni uniche realizzate dagli altri utenti. Lasciati ispirare o acquista subito il look perfetto.': 'Discover unique creations made by other users. Get inspired or buy the perfect look right away.',\r\n    'Ogni bouquet nella sezione Esplora \u00E8 stato creato da un altro utente, come te': 'Every bouquet in Explore was created by another user, just like you',\r\n    'Alcune delle creazioni pi\u00F9 belle nascono da combinazioni casuali': 'Some of the most beautiful creations come from unexpected combinations',\r\n    'Lasciarti ispirare dagli altri ti apre a colori e combinazioni inaspettate': 'Letting others inspire you opens you up to unexpected colors and combinations',\r\n    'Flor\u00E2me \u00E8 il progetto indipendente di Matteo e Leonardo: non farti problemi a scriverci, aiutaci a migliorare! \uD83D\uDC9A': 'Florame is Matteo and Leonardo\u2019s independent project: feel free to write to us and help us improve. \uD83D\uDC9A',\r\n    'Se qualcosa non ti convince, aiutaci a migliorare: ogni parere conta \uD83D\uDC9A': 'If something does not feel right, help us improve: every opinion matters. \uD83D\uDC9A',\r\n    'Filtra & Ordina': 'Filter & Sort',\r\n    'Filtra&Ordina': 'Filter & Sort',\r\n    'Filtra e Ordina': 'Filter & Sort',\r\n    'Filtri': 'Filters',\r\n    'Reimposta': 'Reset',\r\n    'Visualizza': 'View',\r\n    'Tutti': 'All',\r\n    'In Tendenza': 'Trending',\r\n    'Disponibili ora': 'Available now',\r\n    'Periodo': 'Period',\r\n    'Dall\\'inizio': 'All time',\r\n    'Dall\u2019inizio': 'All time',\r\n    'Ultima settimana': 'Last week',\r\n    'Ultimo mese': 'Last month',\r\n    'Ultimo anno': 'Last year',\r\n    'Oggi': 'Today',\r\n    'Mostra risultati': 'Show results',\r\n    'Vuoi vedere solo ci\u00F2 che puoi ricevere?': 'Do you want to see only what you can receive?',\r\n    'Vuoi vedere solo cio che puoi ricevere?': 'Do you want to see only what you can receive?',\r\n    'Verifica il CAP per filtrare i bouquet disponibili nella tua zona.': 'Check your postal code to filter bouquets available in your area.',\r\n    'No, mostra tutto': 'No, show everything',\r\n    'Caricamento galleria...': 'Loading gallery...',\r\n    'In questa zona non consegniamo ancora: qui vedi solo idee della community (non acquistabili).': 'We do not deliver to this area yet: here you only see community ideas, not purchasable items.',\r\n\r\n    'Quando consegniamo?': 'When should we deliver?',\r\n    'Seleziona data e fascia oraria': 'Select date and time slot',\r\n    'Ritiro in negozio': 'Store pickup',\r\n    'Ritiro gratuito': 'Free pickup',\r\n    'Punto ritiro': 'Pickup point',\r\n    'Nessun costo di consegna': 'No delivery fee',\r\n    'Ritiro nella fascia scelta': 'Pickup in the selected time slot',\r\n    'Indicazioni': 'Directions',\r\n    'Chiama': 'Call',\r\n    'Potrai venire a ritirare nel giorno e orario scelto, presso il negozio!': 'You can pick up on the selected day and time at the store.',\r\n    'Ti aspettiamo in negozio nel giorno e nella fascia selezionata. Nessun costo di consegna verr\u00E0 aggiunto al carrello.': 'We will see you in store on the selected day and time slot. No delivery fee will be added to the cart.',\r\n    'Se serve coordinare il ritiro, il negozio potr\u00E0 contattarti al telefono indicato.': 'If pickup needs coordination, the store may contact you at the phone number provided.',\r\n    'Conferma chi passa in atelier': 'Confirm who will pick it up in store',\r\n    'Dove spediamo?': 'Where should we ship?',\r\n    'Inserisci l\\'indirizzo di consegna': 'Enter the delivery address',\r\n    'Il tuo pensiero': 'Your message',\r\n    'Scrivi un biglietto (opzionale)': 'Write a card message (optional)',\r\n    'Riepilogo': 'Summary',\r\n    'Controlla che sia tutto perfetto': 'Check that everything is right',\r\n    'Vai al Riepilogo': 'Go to summary',\r\n    'Continua': 'Continue',\r\n    'Indietro': 'Back',\r\n    'Elaborazione...': 'Processing...',\r\n    'Confermato!': 'Confirmed.',\r\n    'Dettagli ritiro': 'Pickup details',\r\n    'Dettagli spedizione': 'Delivery details',\r\n    'Ritiro programmato': 'Pickup scheduled',\r\n    'Consegna programmata': 'Delivery scheduled',\r\n    'Ritiro confermato!': 'Pickup confirmed.',\r\n    'Consegna Pianificata!': 'Delivery scheduled.',\r\n    '\u2705 Ritiro confermato!': '\u2705 Pickup confirmed.',\r\n    '\u2705 Consegna Pianificata!': '\u2705 Delivery scheduled.',\r\n    'CAP non valido: seleziona un indirizzo pi\u00F9 specifico (con civico).': 'Invalid postal code: select a more specific address with a street number.',\r\n    'Modifica Indirizzo': 'Edit address',\r\n    'Modifica indirizzo': 'Edit address',\r\n    'Destinatario': 'Recipient',\r\n    'Telefono': 'Phone',\r\n    'Negozio': 'Store',\r\n    'Citofono': 'Doorbell',\r\n    'Biglietto incluso': 'Card included',\r\n    'Modifica biglietto': 'Edit card',\r\n    '+ Aggiungi un biglietto regalo': '+ Add a gift card message',\r\n    'Seleziona una data dal calendario': 'Select a date from the calendar',\r\n    'Scegli un orario': 'Choose a time',\r\n    'Per favore, cerca e seleziona un indirizzo valido dal menu (con civico).': 'Please search and select a valid address from the menu (with house number).',\r\n    'Seleziona data e fascia oraria.': 'Select date and time slot.',\r\n    'Completa Nome, Cognome e Telefono.': 'Complete first name, last name and phone.',\r\n    'Seleziona un indirizzo valido (con civico) dal menu.': 'Select a valid address (with house number) from the menu.',\r\n    'Il partner non ha ancora un indirizzo negozio valido per il ritiro.': 'This partner does not yet have a valid store pickup address.',\r\n    'Impossibile verificare il civico: Google non ha restituito i dettagli. Riprova selezionando un risultato diverso.': 'Unable to verify the street number: Google did not return the details. Try selecting a different result.',\r\n    'Numero civico non trovato / non verificabile: hai un numero nell\u2019indirizzo, ma Google non lo conferma. Seleziona un altro risultato oppure un civico diverso.': 'Street number not found or not verifiable: there is a number in the address, but Google does not confirm it. Select another result or a different street number.',\r\n    'Manca il numero civico: seleziona un indirizzo completo (es. Via Roma 10).': 'Street number missing: select a complete address (e.g. Via Roma 10).',\r\n    'Ritiro in negozio presso': 'Store pickup at',\r\n    'Consegna a domicilio': 'Home delivery',\r\n    'Note ritiro:': 'Pickup notes:',\r\n    'Note corriere:': 'Courier notes:',\r\n    'Ci dispiace: la zona selezionata non \u00E8 servita dal servizio.': 'Sorry, the selected area is not covered by the service.',\r\n    'Ci dispiace: la zona selezionata non e servita dal servizio.': 'Sorry, the selected area is not covered by the service.',\r\n    'Florame \u00E8 in espansione \uD83D\uDE80. Segnalaci questa zona e ti avvisiamo appena consegniamo l\u00EC.': 'Florame is expanding \uD83D\uDE80. Tell us about this area and we will notify you as soon as we deliver there.',\r\n    'Florame e in espansione \uD83D\uDE80. Segnalaci questa zona e ti avvisiamo appena consegniamo li.': 'Florame is expanding \uD83D\uDE80. Tell us about this area and we will notify you as soon as we deliver there.',\r\n    'Ricevi notifica quando arriviamo': 'Get notified when we arrive',\r\n    'Nessuno': 'None',\r\n    'Perfetto! Ritiro salvato nel carrello. Procedi al pagamento.': 'Perfect. Pickup details saved in the cart. Continue to payment.',\r\n    'Perfetto! Dati salvati nel carrello. Procedi al pagamento.': 'Perfect. Delivery details saved in the cart. Continue to payment.',\r\n    'Errore di connessione. Riprova.': 'Connection error. Please try again.',\r\n    'Errore salvataggio dati prima del checkout. Riprova.': 'Error saving details before checkout. Try again.',\r\n    'Seleziona prima una data': 'Select a date first',\r\n    'Fascia oraria non disponibile': 'Time slot unavailable',\r\n    'Data': 'Date',\r\n    'Ora': 'Time',\r\n    'Mattina': 'Morning',\r\n    'Pomeriggio': 'Afternoon',\r\n    'Sera': 'Evening',\r\n    'Festa della Mamma': \"Mother's Day\",\r\n    'Festa della mamma': \"Mother's Day\",\r\n    'Dal 1 al 10 maggio': 'May 1-10',\r\n    'Ordina entro 23:59 del giorno precedente': 'Order by 11:59 PM the previous day',\r\n    'Ordina entro le 12:00': 'Order by 12:00 PM',\r\n    'Ordina entro le 14:00': 'Order by 2:00 PM',\r\n    'Ordina entro le 19:00': 'Order by 7:00 PM',\r\n    'Nome': 'First name',\r\n    'Cognome': 'Last name',\r\n    'Note per il ritiro': 'Pickup notes',\r\n    'Note per il corriere': 'Courier notes',\r\n    'Completa i dettagli del ritiro': 'Complete pickup details',\r\n    'Completa la pianificazione consegna': 'Complete delivery scheduling',\r\n    'Pianifica la Consegna': 'Schedule delivery',\r\n    'Pianifica la consegna': 'Schedule delivery',\r\n    'Compila per sbloccare il Checkout': 'Complete this to unlock checkout',\r\n    'Completa la consegna prima': 'Complete delivery first',\r\n    'Configurazione': 'Setup',\r\n    'Iniziamo': \"Let's start\",\r\n    'Consegna in giornata:': 'Same-day delivery:',\r\n    'Consegna in giornata': 'Same-day delivery',\r\n    'Fascia': 'Slot',\r\n    ': Ordina entro': ': order by',\r\n    ': Ordina entro le': ': order by',\r\n    'Ordina entro le': 'Order by',\r\n    'del giorno prima': 'the day before',\r\n    'entro 23:59 del giorno precedente': 'order by 11:59 PM the previous day',\r\n    'entro le 12:00': 'order by 12:00 PM',\r\n    'entro le 14:00': 'order by 2:00 PM',\r\n    'Morning: entro 23:59 del giorno precedente': 'Morning: order by 11:59 PM the previous day',\r\n    'Afternoon: entro le 12:00': 'Afternoon: order by 12:00 PM',\r\n    'Evening: entro le 14:00': 'Evening: order by 2:00 PM',\r\n    '\u2600\uFE0F Morning: entro 23:59 del giorno precedente': '\u2600\uFE0F Morning: order by 11:59 PM the previous day',\r\n    '\uD83C\uDF19 Afternoon: entro le 12:00': '\uD83C\uDF19 Afternoon: order by 12:00 PM',\r\n    '\u2728 Evening: entro le 14:00': '\u2728 Evening: order by 2:00 PM',\r\n    'Solo per oggi': 'Today only',\r\n    'SERA: fino alle 19:00!': 'EVENING: until 7:00 PM!',\r\n    'Seleziona una data': 'Select a date',\r\n    'Orario disponibile': 'Available time',\r\n    'Scegli la fascia oraria preferita': 'Choose your preferred time slot',\r\n    'Solo Roma entro il GRA': 'Rome only, within the ring road',\r\n    'Devi spedire altrove?': 'Need to ship somewhere else?',\r\n    'Segnalacelo qui': 'Tell us here',\r\n    'Nome *': 'First name *',\r\n    'Cognome *': 'Last name *',\r\n    'Telefono *': 'Phone *',\r\n    'Partner storefront': 'Storefront partner',\r\n    'Verifica disponibilit\u00E0...': 'Checking availability...',\r\n    'Verifica disponibilita...': 'Checking availability...',\r\n    'Consegna a:': 'Deliver to:',\r\n    'Dove consegniamo?': 'Where should we deliver?',\r\n    'Scrivi via e civico per verificare la copertura.': 'Enter street and house number to check coverage.',\r\n    'Es: Via del Corso 12, Roma': 'E.g. Via del Corso 12, Rome',\r\n    'Nome sul citofono': 'Name on the doorbell',\r\n    'Scala, piano, interno, istruzioni...': 'Staircase, floor, apartment, instructions...',\r\n    'Indicazioni utili per il ritiro, nome persona che passa, fascia preferita...': 'Useful pickup notes, pickup person, preferred time slot...',\r\n    'Scrivi qui il tuo messaggio...\\nEs: Buon compleanno amore mio! Spero che questi fiori ti portino un sorriso.': 'Write your message here...\\nExample: Happy birthday my love! I hope these flowers bring you a smile.',\r\n    'Compleanno': 'Birthday',\r\n    'Amore': 'Love',\r\n    'Occasione': 'Occasion',\r\n    'Tutte': 'All',\r\n    'Traguardi': 'Milestones',\r\n    'Mamma': 'Mother',\r\n    'Grazie': 'Thank you',\r\n    'Nuovi inizi': 'New beginnings',\r\n    'Vicinanza': 'Support',\r\n    'Eventi': 'Events',\r\n    'Auguri': 'Congratulations',\r\n    'Salta questo passaggio (Nessun biglietto)': 'Skip this step (no card)',\r\n    'Conferma Dati': 'Confirm details',\r\n    'Riprova Conferma': 'Try confirming again',\r\n    'Completa la Consegna': 'Complete delivery',\r\n    'Per garantire': 'To ensure',\r\n    'perfezione anche nella fase di spedizione': 'delivery works perfectly too',\r\n    ', ti chiediamo di inserire tutte le informazioni necessarie nel riquadro qui sopra prima di procedere.': ', please enter all the required details above before continuing.',\r\n    'Per garantire perfezione anche nella fase di spedizione, ti chiediamo di inserire tutte le informazioni necessarie nel riquadro qui sopra prima di procedere.': 'To make delivery work smoothly too, please enter all the required details above before continuing.',\r\n    'Ho capito, completo ora': 'Got it, I will complete it now',\r\n    'Ritiro in negozio gratuito': 'Free in-store pickup',\r\n    'Nessun costo di consegna viene aggiunto al carrello.': 'No delivery fee is added to your cart.',\r\n    'Spedizione gratuita ottenuta': 'Free shipping unlocked',\r\n    'La consegna la regaliamo noi.': 'Delivery is on us.',\r\n    'Attenzione': 'Attention',\r\n    'Ci sono dei campi incompleti. Controlla i dati inseriti.': 'Some fields are incomplete. Please check the details entered.',\r\n    'Ho capito, correggo': 'Got it, I will fix it',\r\n\r\n    'Carrello': 'Cart',\r\n    'Aggiungi al carrello': 'Add to cart',\r\n    'Bouquet aggiunto al carrello!': 'Bouquet added to cart!',\r\n    'Visualizza carrello': 'View cart',\r\n    'Visualizza prodotto': 'View product',\r\n    'Prodotto non disponibile': 'Product unavailable',\r\n    'Errore carrello': 'Cart error',\r\n    'Procedi al pagamento': 'Continue to payment',\r\n    'Checkout': 'Checkout',\r\n    'Totale': 'Total',\r\n    'Subtotale': 'Subtotal',\r\n    'Quantit\u00E0': 'Quantity',\r\n    'Prezzo': 'Price',\r\n    'Prezzo totale': 'Total price',\r\n    'Prezzo di listino': 'Regular price',\r\n    'Prezzo scontato': 'Sale price',\r\n    'Prezzo unitario': 'Unit price',\r\n    'Da': 'From',\r\n    'Prodotto': 'Product',\r\n    'Descrizione': 'Description',\r\n    'Fornitore': 'Vendor',\r\n    'In offerta': 'On sale',\r\n    'Rimuovi': 'Remove',\r\n    'Aggiorna': 'Update',\r\n    'Acquista ora': 'Buy now',\r\n    'Compra ora': 'Buy now',\r\n    'Scegli opzioni': 'Choose options',\r\n    'Aggiungi all\\'ordine': 'Add to order',\r\n    'Aggiungi all\u2019ordine': 'Add to order',\r\n    'Imposte incluse.': 'Taxes included.',\r\n    'Imposte incluse': 'Taxes included',\r\n    'Spese di spedizione calcolate al check-out.': 'Shipping calculated at checkout.',\r\n    'Spese di spedizione calcolate al checkout.': 'Shipping calculated at checkout.',\r\n    'Spedizione calcolata al checkout': 'Shipping calculated at checkout',\r\n    'Spedizione': 'Shipping',\r\n    'Ritiro disponibile': 'Pickup available',\r\n    'Ritiro attualmente non disponibile': 'Pickup currently unavailable',\r\n    'Visualizza i dettagli del negozio': 'View store details',\r\n    'Verifica la disponibilit\u00E0 in altri negozi': 'Check availability at other stores',\r\n    'Impossibile caricare la disponibilit\u00E0 di ritiro': 'Unable to load pickup availability',\r\n    'Esaurito': 'Sold out',\r\n    'Disponibile': 'Available',\r\n    'Non disponibile': 'Not available',\r\n    'Cerca': 'Search',\r\n    'Cerca prodotti...': 'Search products...',\r\n    'Cerca fiori o colori...': 'Search flowers or colors...',\r\n    'Accedi': 'Log in',\r\n    'Area cliente': 'Customer area',\r\n    'Entra nel tuo account': 'Access your account',\r\n    'Account': 'Account',\r\n    'Gestisci account': 'Manage account',\r\n    'Lingua': 'Language',\r\n    'Italiano': 'Italian',\r\n    'Ispirazione': 'Inspiration',\r\n    'Ispira': 'Inspire',\r\n    'Trova ispirazione': 'Find inspiration',\r\n    'Le tue composizioni': 'Your compositions',\r\n    'Le tue composizioni salvate': 'Your saved compositions',\r\n    'Nessun fiore selezionato': 'No flowers selected',\r\n    'Ciao': 'Hello',\r\n    'Benvenuto nella tua area personale.': 'Welcome to your personal area.',\r\n    'Torna alla Home': 'Back to home',\r\n    'Pagina 404': '404 page',\r\n    'Questo bouquet si \u00E8 perso.': 'This bouquet wandered off.',\r\n    'Questo bouquet si e perso.': 'This bouquet wandered off.',\r\n    'Niente panico: il nostro piccolo assistente floreale sta raccogliendo petali per riportarti sulla strada giusta.': 'No panic: our little floral assistant is collecting petals to guide you back to the right path.',\r\n    'Torna alla home': 'Back to home',\r\n    'Torna alla home Florame': 'Back to the Florame home',\r\n    'Gioca coi petali': 'Play with petals',\r\n    'Petali': 'Petals',\r\n    'Tocca il pet o cattura i petali': 'Tap the pet or catch petals',\r\n    'Mini gioco Florame': 'Florame mini game',\r\n    'Mi aiuti a ritrovare il bouquet?': 'Can you help me find the bouquet?',\r\n    'Prendi 7 petali e sblocco il sentiero.': 'Catch 7 petals and I will unlock the path.',\r\n    'Bel colpo. Ancora qualche petalo.': 'Nice catch. A few petals to go.',\r\n    'Sentiero ritrovato. Ora si torna ai fiori.': 'Path found. Back to flowers.',\r\n    'Sono pronto. Tocca i petali mentre cadono.': 'Ready. Tap the petals as they fall.',\r\n    'Pet floreale interattivo': 'Interactive floral pet',\r\n    'Pet floreale Florame': 'Florame floral pet',\r\n    'Petalo': 'Petal',\r\n    'Gestisci i tuoi dati personali e l\\'indirizzo predefinito.': 'Manage your personal details and default address.',\r\n    'Gestisci i tuoi dati personali e l\u2019indirizzo predefinito.': 'Manage your personal details and default address.',\r\n    'Cliente': 'Customer',\r\n    'Indirizzo': 'Address',\r\n    'Nessun indirizzo impostato': 'No address set',\r\n    'Gestisci Indirizzi': 'Manage addresses',\r\n    'Gestisci e traccia i tuoi acquisti': 'Manage and track your purchases',\r\n    'Stato:': 'Status:',\r\n    'CONSEGNATO': 'DELIVERED',\r\n    'IN CONSEGNA': 'OUT FOR DELIVERY',\r\n    'NON EVASO': 'UNFULFILLED',\r\n    'Mostra ordini precedenti': 'Show previous orders',\r\n    'Riepilogo Indirizzi': 'Address summary',\r\n    'Indirizzi': 'Addresses',\r\n    'Nota cliente:': 'Customer note:',\r\n    'Ordine Annullato il': 'Order canceled on',\r\n    'Ordine Annullato il:': 'Order canceled on:',\r\n    'Motivo:': 'Reason:',\r\n    'Data:': 'Date:',\r\n    'Orario:': 'Time:',\r\n    'Destinatario:': 'Recipient:',\r\n    'Telefono:': 'Phone:',\r\n    'Citofono:': 'Doorbell:',\r\n    'Note:': 'Notes:',\r\n    'Messaggio biglietto:': 'Card message:',\r\n    'Tot. pagato': 'Total paid',\r\n    'Ordini': 'Orders',\r\n    'Impostazioni': 'Settings',\r\n    'Preferiti': 'Favorites',\r\n    'Salva': 'Save',\r\n    'Annulla': 'Cancel',\r\n    'Chiudi': 'Close',\r\n    'Chiudi dettagli': 'Close details',\r\n    'Chiudi promemoria': 'Dismiss reminder',\r\n    'Modifica': 'Edit',\r\n    'Elimina': 'Delete',\r\n    'Condividi': 'Share',\r\n    'Assistente': 'Assistant',\r\n    'Esplora': 'Explore',\r\n    'Aggiungi': 'Add',\r\n    'Aggiungi fiori al tuo bouquet': 'Add flowers to your bouquet',\r\n    'Add fiori al tuo bouquet': 'Add flowers to your bouquet',\r\n    'Selezione non valida: nessun fiore riconosciuto. Cambia variante e riprova.': 'Invalid selection: no flowers recognized. Change variant and try again.',\r\n    'Proposta caricata nell\u2019editor!': 'Proposal loaded in the editor.',\r\n    'Proposta caricata nell\\'editor!': 'Proposal loaded in the editor.',\r\n    'Anteprima': 'Preview',\r\n    'Dettagli': 'Details',\r\n    'Vai al prodotto': 'Go to product',\r\n    'Scegli manualmente': 'Choose manually',\r\n    'Apri su Google Maps': 'Open in Google Maps',\r\n    '+ Aggiungi un nuovo indirizzo': '+ Add a new address',\r\n    'Annulla l\\'aggiunta': 'Cancel adding',\r\n    'Indirizzo di Spedizione': 'Shipping address',\r\n    'Gestisci i tuoi luoghi di spedizione': 'Manage your shipping locations',\r\n    'Opzionale': 'Optional',\r\n    '(Opzionale)': '(Optional)',\r\n    'Dettagli di spedizione salvati': 'Saved shipping details',\r\n    'Intestatario': 'Recipient',\r\n    'Es. Mario': 'E.g. Mario',\r\n    'Es. Rossi': 'E.g. Rossi',\r\n    'Es. Azienda SRL': 'E.g. Company Ltd',\r\n    'Es. Via Roma, 10': 'E.g. 10 Roma Street',\r\n    'Es. Scala B, Int. 4': 'E.g. Staircase B, Apt. 4',\r\n    'Es. Milano': 'E.g. Milan',\r\n    'Es. 20100': 'E.g. 20100',\r\n    'Es. +39 333 1234567': 'E.g. +39 333 1234567',\r\n    'Dettagli di spedizione e pagamento': 'Shipping and payment details',\r\n    'Dettagli Articoli': 'Item details',\r\n    'Dettagli consegna': 'Delivery details',\r\n    'Dettagli consegna:': 'Delivery details:',\r\n    'Vedi Ordine': 'View order',\r\n    'Inizia lo Shopping': 'Start shopping',\r\n    'oppure': 'or',\r\n    'Hai gi\u00E0 un account?': 'Already have an account?',\r\n    'Hai gia un account?': 'Already have an account?',\r\n    'Accedi qui': 'Log in here',\r\n    'Il tuo nome': 'Your first name',\r\n    'Il tuo cognome': 'Your last name',\r\n    'Scegli una password sicura': 'Choose a secure password',\r\n\r\n    'Genera': 'Generate',\r\n    'Generazione in corso...': 'Generating...',\r\n    'Generazione casuale': 'Random generation',\r\n    'Analisi disponibilit\u00E0 in corso...': 'Checking availability...',\r\n    'Stiamo contando i fiori freschi nel tuo quartiere.': 'We are counting fresh flowers in your area.',\r\n    'Controlla il CAP per sbloccare fiori e palette disponibili nella tua zona.': 'Check your postal code to unlock flowers and palettes available in your area.',\r\n    'Vale per tutti i percorsi (Crea e Funnel).': 'Applies to every flow (Create and Funnel).',\r\n    'Sto aggiornando il catalogo...': 'Updating the catalog...',\r\n    'Sto caricando le palette basate sulla tua zona\u2026': 'Loading palettes based on your area...',\r\n    'Sto caricando le palette basate sulla tua zona...': 'Loading palettes based on your area...',\r\n    'Anteprima AI immediata': 'Instant AI preview',\r\n    'Stiamo creando la tua anteprima...': 'Crafting your preview...',\r\n    'Se scegli colori molto simili o completamente opposti, l\u2019immagine sar\u00E0 pi\u00F9 armoniosa (o sorprendente)! Esempio: rose rosse, carta naturale o tessuto rosso': 'If you choose very similar or completely opposite colors, the image will be more harmonious or more surprising. Example: red roses, natural paper or red fabric',\r\n    'Ogni fiore \u00E8 selezionato da un fiorista reale, non da un algoritmo di magazzino': 'Every flower is selected by a real florist, not by a warehouse algorithm',\r\n    'Il tuo ordine \u00E8 preparato su misura e confezionato a mano': 'Your order is made to measure and wrapped by hand',\r\n    'La nostra confezione \u00E8 pensata per proteggere i fiori e stupire chi la riceve': 'Our packaging is designed to protect the flowers and delight the recipient',\r\n    'Non usiamo plastica monouso: solo carta e materiali compostabili': 'We do not use single-use plastic: only paper and compostable materials',\r\n    'Hai selezionato uno dei bouquet pi\u00F9 amati dalla nostra community!': 'You selected one of the bouquets most loved by our community.',\r\n    'Il tuo bouquet sar\u00E0 assemblato solo dopo il tuo ordine: 0 sprechi': 'Your bouquet is assembled only after your order: zero waste',\r\n    'Ogni acquisto sostiene fioristi indipendenti e creativit\u00E0 sostenibile': 'Every purchase supports independent florists and sustainable creativity',\r\n    'Aggiungiamo un bigliettino su richiesta, gratis!': 'We add a card message on request, free of charge.',\r\n    'Crea': 'Create',\r\n    'Bouquet Community': 'Bouquet community',\r\n    'Rose': 'Roses',\r\n    'Tulipani': 'Tulips',\r\n    'Girasoli': 'Sunflowers',\r\n    'Gigli': 'Lilies',\r\n    'Vedi tutti i bouquet pronti': 'View all ready bouquets',\r\n    'I miei bouquet': 'My bouquets',\r\n    'Bouquet Generati dalla Community': 'Community generated bouquets',\r\n    'Mostra solo i miei bouquet': 'Show only my bouquets',\r\n    'Caricamento bouquet...': 'Loading bouquets...',\r\n    'Creato da me': 'Created by me',\r\n    'Nessun bouquet generato': 'No generated bouquets',\r\n    'Proposte in creazione': 'Creating proposals',\r\n    'Le proposte sono in creazione': 'Creating proposals',\r\n    'Stiamo componendo le tue due proposte': 'We are composing your two proposals',\r\n    'Due proposte, stesso gusto di partenza, due interpretazioni floreali diverse.': 'Two proposals, the same starting taste, two different floral interpretations.',\r\n    'Analisi iniziale': 'Initial analysis',\r\n    'Stiamo interpretando il tuo gusto cromatico.': 'We are interpreting your color taste.',\r\n    'Lettura della palette': 'Reading the palette',\r\n    'Selezione dei fiori': 'Selecting flowers',\r\n    'Abbiniamo variet\u00E0 e tonalit\u00E0 disponibili.': 'We are matching available varieties and shades.',\r\n    'Composizione delle proposte': 'Composing proposals',\r\n    'Bilanciamo struttura, volume e stile.': 'We are balancing structure, volume and style.',\r\n    'Rifinitura finale': 'Final refinement',\r\n    'Ultimi ritocchi prima di mostrarti le due proposte.': 'Final touches before showing you the two proposals.',\r\n    'Proposte pronte': 'Proposals ready',\r\n    'Ci siamo, stiamo aprendo i risultati.': 'Almost there, opening the results.',\r\n    'Oops, qualcosa \u00E8 andato storto!': 'Oops, something went wrong.',\r\n    'Oops, qualcosa e andato storto!': 'Oops, something went wrong.',\r\n    'L\\'intelligenza artificiale non \u00E8 riuscita a generare le proposte in questo momento.': 'The AI could not generate the proposals right now.',\r\n    'L\\'intelligenza artificiale non e riuscita a generare le proposte in questo momento.': 'The AI could not generate the proposals right now.',\r\n    'Cerco le creazioni degli altri utenti\u2026': 'Looking for creations by other users...',\r\n    'Stai per vedere magie floreali create dalla community\u2026': 'You are about to see floral magic created by the community...',\r\n    'Pi\u00F9 dettagli fornisci, pi\u00F9 l\u2019AI riesce a creare un bouquet su misura per te': 'The more details you provide, the better AI can tailor the bouquet for you',\r\n    'Ogni immagine \u00E8 unica: AI visiva e testuale lavorano insieme per il tuo bouquet': 'Every image is unique: visual and text AI work together for your bouquet',\r\n    'Devi prima generare un\\'anteprima del bouquet!': 'You need to generate a bouquet preview first!',\r\n    'Seleziona almeno un fiore prima di aggiungere al carrello!': 'Select at least one flower before adding to cart!',\r\n    'Si \u00E8 verificato un errore durante la generazione del bouquet. Riprova pi\u00F9 tardi.': 'An error occurred while generating the bouquet. Please try again later.',\r\n    'Si \u00E8 verificato un errore durante l\\'aggiunta al carrello. Riprova pi\u00F9 tardi.': 'An error occurred while adding to cart. Please try again later.',\r\n    'Non puoi combinare questi fiori perch\u00E9 hanno lunghezze molto diverse.': 'You cannot combine these flowers because their stem lengths are very different.',\r\n    'Composizione salvata!': 'Composition saved!',\r\n    'La tua composizione \u00E8 stata salvata con successo.': 'Your composition was saved successfully.',\r\n    'Stiamo creando il tuo bouquet magico...': 'We are creating your magic bouquet...',\r\n    'Stiamo creando il tuo bouquet': 'We are creating your bouquet',\r\n    'Bouquet personalizzato': 'Custom bouquet',\r\n    'Bouquet personalizzato con': 'Custom bouquet with',\r\n    'Un bouquet creato su misura con': 'A custom bouquet with',\r\n    'Creato su misura per te': 'Custom-made for you',\r\n    'Creato per': 'Created for',\r\n    'Nessun fiore disponibile al momento': 'No flowers available right now',\r\n    'Nessun fiore disponibile nella selezione generata': 'No flowers available in the generated selection',\r\n    'Mi piacciono': 'I like',\r\n    '\u2764\uFE0F Mi piacciono': '\u2764\uFE0F I like',\r\n    'Generazione in corso': 'Generation in progress',\r\n    'Render immagine': 'Image render',\r\n    'Testi marketing': 'Marketing text',\r\n    'Preparazione acquisto': 'Purchase setup',\r\n    'Bouquet pronto': 'Bouquet ready',\r\n    'Bouquet creato con fiori di stagione disponibili': 'Bouquet created with available seasonal flowers',\r\n    '\u2728 Bouquet creato con i fiori attualmente disponibili!': '\u2728 Bouquet created with currently available flowers.',\r\n    '\u26A0\uFE0F Bouquet creato con fiori disponibili (modalit\u00E0 offline)': '\u26A0\uFE0F Bouquet created with available flowers (offline mode).',\r\n    'Carica prima un\u2019immagine!': 'Upload an image first.',\r\n    'Carica prima un\\'immagine!': 'Upload an image first.',\r\n    'Aspetta ancora un attimo: stiamo finendo di preparare il bouquet.': 'Wait one more moment: we are finishing the bouquet setup.',\r\n    'Anteprima generata \u2705 ma non siamo riusciti a creare il link d\u2019acquisto. Puoi riprovare dal carrello.': 'Preview generated \u2705 but we could not create the purchase link. You can try again from the cart.',\r\n    'Anteprima generata \u2705 ma non siamo riusciti a creare il link d\\'acquisto. Puoi riprovare dal carrello.': 'Preview generated \u2705 but we could not create the purchase link. You can try again from the cart.',\r\n    'Anteprima generata, ma errore nel salvataggio del bouquet.': 'Preview generated, but there was an error saving the bouquet.',\r\n    '\uD83C\uDF89 Perfetto! Ora puoi creare il tuo bouquet.': '\uD83C\uDF89 Perfect. You can now create your bouquet.',\r\n    '\uD83D\uDC4E Feedback negativo registrato. Genero un nuovo bouquet...': '\uD83D\uDC4E Negative feedback saved. Generating a new bouquet...',\r\n    'Stiamo preparando il bouquet per l\u2019acquisto': 'We are preparing the bouquet for purchase',\r\n    'Stiamo preparando il bouquet per l\\'acquisto': 'We are preparing the bouquet for purchase',\r\n    'Ultimo passaggio: colleghiamo il prodotto cos\u00EC eviti errori nel carrello.': 'Final step: we are connecting the product so the cart stays correct.',\r\n    'Ultimo passaggio: colleghiamo il prodotto cosi eviti errori nel carrello.': 'Final step: we are connecting the product so the cart stays correct.',\r\n    'L\u2019immagine sta prendendo forma': 'The image is taking shape',\r\n    'L\\'immagine sta prendendo forma': 'The image is taking shape',\r\n    'Il render finale \u00E8 in arrivo': 'The final render is on the way',\r\n    'Il render finale e in arrivo': 'The final render is on the way',\r\n    'Il render finale \u00E8 in arrivo: stiamo rifinendo proporzioni, luci e dettagli.': 'The final render is on the way: we are refining proportions, lighting and details.',\r\n    'Il render finale e in arrivo: stiamo rifinendo proporzioni, luci e dettagli.': 'The final render is on the way: we are refining proportions, lighting and details.',\r\n    'Stiamo scrivendo i dettagli del bouquet': 'We are writing the bouquet details',\r\n    'Descrizione, significato e occasione possono arrivare anche prima della foto.': 'Description, meaning and occasion may arrive even before the photo.',\r\n    'Prepariamo immagine, descrizione e acquisto sicuro.': 'Preparing image, description and secure purchase.',\r\n    'Analisi composizione': 'Composition analysis',\r\n    'Rigenera': 'Regenerate',\r\n    'Ti piace questo bouquet?': 'Do you like this bouquet?',\r\n    'Mi piace': 'I like it',\r\n    'Non mi piace': 'I do not like it',\r\n    'Informazioni sul bouquet': 'Bouquet information',\r\n    'Descrizione completa': 'Full description',\r\n    'Descrizione non disponibile': 'Description not available',\r\n    'Significato': 'Meaning',\r\n    'Significato non disponibile': 'Meaning not available',\r\n    'Occasione perfetta': 'Perfect occasion',\r\n    'Perfetto per ogni occasione': 'Perfect for any occasion',\r\n    'Composizione non disponibile': 'Composition not available',\r\n    'Altri bouquet che potrebbero piacerti': 'Other bouquets you may like',\r\n    'Ecco alcune alternative simili apprezzate da altri utenti:': 'Here are similar alternatives appreciated by other users:',\r\n    'Similarit\u00E0': 'Similarity',\r\n    'Similarita': 'Similarity',\r\n    'Riprova': 'Try again',\r\n    'Cura del bouquet': 'Bouquet care',\r\n    'Composizione': 'Composition',\r\n    'Immagine generata con AI a scopo dimostrativo. I fiori consegnati saranno esattamente del colore e del numero selezionato. Grazie del supporto \uD83D\uDC9A': 'AI-generated image for preview purposes. The delivered flowers will match the selected colors and quantities. Thank you for the support \uD83D\uDC9A',\r\n    'Scopri di pi\u00F9 \u2192': 'Learn more \u2192',\r\n    'Scopri di piu \u2192': 'Learn more \u2192',\r\n    'Combinazione non consentita': 'Combination not allowed',\r\n    'Fiori che causano il problema:': 'Flowers causing the issue:',\r\n    'Fiori che causano il problema': 'Flowers causing the issue',\r\n    'Tocca la \u2715 per rimuovere un fiore': 'Tap \u2715 to remove a flower',\r\n    'Espandi dettagli': 'Show details',\r\n    'Riduci dettagli': 'Hide details',\r\n    'Suggeriti per te': 'Suggested for you',\r\n    'Stiamo preparando suggerimenti\u2026': 'Preparing suggestions...',\r\n    'Stiamo preparando suggerimenti...': 'Preparing suggestions...',\r\n    'Caricamento suggerimenti\u2026': 'Loading suggestions...',\r\n    'Caricamento suggerimenti...': 'Loading suggestions...',\r\n    'Non riusciamo a caricare i suggerimenti ora.': 'We cannot load suggestions right now.',\r\n    'Nessun suggerimento disponibile al momento.': 'No suggestions available right now.',\r\n    'Nessuna proposta trovata.': 'No proposals found.',\r\n    'Ho capito': 'Got it',\r\n    'Ho Capito': 'Got it',\r\n    'Cancella tutto': 'Clear all',\r\n    'Ripristina': 'Restore',\r\n    'Penna': 'Pen',\r\n    'Gomma': 'Eraser',\r\n    'Tratto': 'Stroke',\r\n    'Guida': 'Guide',\r\n    'Ingrandisci': 'Enlarge',\r\n    'Reset zoom': 'Reset zoom',\r\n    'Nascondi strumenti': 'Hide tools',\r\n    'Mostra strumenti': 'Show tools',\r\n    'Dimensione tratto': 'Stroke size',\r\n    'Scegli uno strumento: qui ti spiego cosa fa.': 'Choose a tool: I will explain what it does here.',\r\n    'Penna attiva: scrivi o disegna sul biglietto. Un tocco fermo lascia un puntino.': 'Pen active: write or draw on the card. One still tap leaves a dot.',\r\n    'Gomma attiva: passa sopra a un segno per cancellarlo.': 'Eraser active: move over a mark to erase it.',\r\n    'Tratto selezionato: aumenta o riduci lo spessore del segno.': 'Stroke selected: increase or reduce the mark thickness.',\r\n    'Cancella tutto rimuove tutti i segni disegnati.': 'Clear all removes every drawn mark.',\r\n    'Annulla rimuove l\u2019ultima modifica al disegno.': 'Undo removes the last drawing change.',\r\n    \"Annulla rimuove l'ultima modifica al disegno.\": 'Undo removes the last drawing change.',\r\n    'Ripristina rimette l\u2019ultima modifica annullata.': 'Redo restores the last change you undid.',\r\n    \"Ripristina rimette l'ultima modifica annullata.\": 'Redo restores the last change you undid.',\r\n    'Ingrandisci apre il biglietto pi\u00F9 grande per scrivere meglio.': 'Enlarge opens the card bigger so you can write more easily.',\r\n    'Guida aperta: trovi i passaggi principali in parole semplici.': 'Guide opened: the main steps are explained in simple words.',\r\n    'Reset zoom riporta il biglietto alla dimensione iniziale.': 'Reset zoom returns the card to its starting size.',\r\n    'Strumenti nascosti: hai pi\u00F9 spazio per scrivere o disegnare.': 'Tools hidden: you have more room to write or draw.',\r\n    'Strumenti visibili: puoi cambiare penna, gomma e tratto.': 'Tools visible: you can change pen, eraser and stroke.',\r\n    'Font selezionato: il testo del biglietto user\u00E0 questo stile.': 'Font selected: the card text will use this style.',\r\n    'Apri scelta font': 'Open font picker',\r\n    'Disegna sul biglietto': 'Draw on the card',\r\n    'Rendi tuo il biglietto': 'Make the card yours',\r\n    'Scrivi il messaggio. Se vuoi, aggiungi una firma, un cuore o un piccolo disegno. Lo stamperemo cos\u00EC come lo vedi.': 'Write your message. If you want, add a signature, a heart, or a small drawing. We will print it exactly as you see it.',\r\n    'Disegna': 'Draw',\r\n    'Cancella': 'Erase',\r\n    'Segno': 'Stroke',\r\n    'Tratto': 'Stroke',\r\n    'Pi\u00F9 spazio': 'More space',\r\n    'Piu spazio': 'More space',\r\n    'Scrivi: usa il campo sotto al biglietto. Vedrai subito il risultato sopra.': 'Write: use the field below the card. You will see the result above right away.',\r\n    'Disegna: scegli Penna e firma con il dito. Un tocco fermo fa un puntino.': 'Draw: choose Pen and sign with your finger. One still tap makes a dot.',\r\n    'Cancella: scegli Gomma e passa sopra al segno. Con Cancella tutto ricominci da zero.': 'Erase: choose Eraser and move over the mark. With Clear all, you start over.',\r\n    'Penna: scrivi o disegna con il dito. Anche un solo tocco lascia un puntino.': 'Pen: write or draw with your finger. Even one tap leaves a dot.',\r\n    'Gomma: passa sopra a quello che vuoi togliere. Se vuoi ricominciare, usa Cancella tutto.': 'Eraser: move over what you want to remove. To start over, use Clear all.',\r\n    'Da telefono: premi Ingrandisci. Allarga due dita per avvicinare il biglietto e muovile insieme per spostarti.': 'On your phone: tap Enlarge. Spread two fingers to zoom in, then move them together to move around the card.',\r\n    'Non devi salvare: il biglietto si aggiorna da solo mentre scrivi.': 'No need to save: the card updates by itself while you write.',\r\n    'Nessun salvataggio: il biglietto si aggiorna da solo mentre scrivi.': 'No save button: the card updates by itself while you write.',\r\n    'Personalizza': 'Customize',\r\n    'Packaging': 'Packaging',\r\n    'Packaging su misura': 'Custom packaging',\r\n    'Fine': 'Done',\r\n    'Personalizzazioni salvate con successo!': 'Customizations saved successfully!',\r\n    'Seleziona colore:': 'Select color:',\r\n    'Decorazioni': 'Decorations',\r\n    'Scegli per me': 'Choose for me',\r\n    'Nebiolina': 'Gypsophila',\r\n    'Nebbiolina': 'Gypsophila',\r\n    'Effetto nuvola': 'Cloud effect',\r\n    'Nebiolina effetto nuvola': 'Cloud-effect gypsophila',\r\n    'Nebbiolina effetto nuvola': 'Cloud-effect gypsophila',\r\n    'Nebbiolina Effetto Nuvola': 'Cloud-effect gypsophila',\r\n    'Verde': 'Green',\r\n    'Verde decorativo': 'Decorative greenery',\r\n    'Fogliame extra': 'Extra foliage',\r\n    'Opzioni Carta': 'Paper options',\r\n    'Opzioni Nastro': 'Ribbon options',\r\n    'Carta Grezza': 'Raw paper',\r\n    'Carta grezza': 'Raw paper',\r\n    'Carta Kraft': 'Kraft paper',\r\n    'Kraft': 'Kraft',\r\n    'Carta Tessuto': 'Fabric paper',\r\n    'Carta tessuto': 'Fabric paper',\r\n    'Tessuto': 'Fabric',\r\n    'tessuto': 'fabric',\r\n    'Misti': 'Mixed',\r\n    'misti': 'mixed',\r\n    'Misto': 'Mixed',\r\n    'misto': 'mixed',\r\n    'Nastro': 'Ribbon',\r\n    'nastro': 'ribbon',\r\n    'Rafia Naturale': 'Natural raffia',\r\n    'Rafia naturale': 'Natural raffia',\r\n    'Rafia': 'Raffia',\r\n    'Naturale': 'Natural',\r\n    'naturale': 'natural',\r\n    'Bianco': 'White',\r\n    'bianco': 'white',\r\n    'Rosso': 'Red',\r\n    'rosso': 'red',\r\n    'Giallo': 'Yellow',\r\n    'giallo': 'yellow',\r\n    'Arancione': 'Orange',\r\n    'arancione': 'orange',\r\n    'Blu': 'Blue',\r\n    'blu': 'blue',\r\n    'Azzurro': 'Light blue',\r\n    'azzurro': 'light blue',\r\n    'Celeste': 'Sky blue',\r\n    'celeste': 'sky blue',\r\n    'Turchese': 'Turquoise',\r\n    'turchese': 'turquoise',\r\n    'Viola': 'Purple',\r\n    'viola': 'purple',\r\n    'Lilla': 'Lilac',\r\n    'lilla': 'lilac',\r\n    'Lavanda': 'Lavender',\r\n    'lavanda': 'lavender',\r\n    'Fucsia': 'Fuchsia',\r\n    'fucsia': 'fuchsia',\r\n    'Magenta': 'Magenta',\r\n    'magenta': 'magenta',\r\n    'Rosa chiaro': 'Light pink',\r\n    'rosa chiaro': 'light pink',\r\n    'Rosa chiara': 'Light pink',\r\n    'rosa chiara': 'light pink',\r\n    'Rosa antico': 'Dusty pink',\r\n    'rosa antico': 'dusty pink',\r\n    'Rosa cipria': 'Blush pink',\r\n    'rosa cipria': 'blush pink',\r\n    'Rosa pastello': 'Pastel pink',\r\n    'rosa pastello': 'pastel pink',\r\n    'Corallo': 'Coral',\r\n    'corallo': 'coral',\r\n    'Pesca': 'Peach',\r\n    'pesca': 'peach',\r\n    'Salmone': 'Salmon',\r\n    'salmone': 'salmon',\r\n    'Crema': 'Cream',\r\n    'crema': 'cream',\r\n    'Avorio': 'Ivory',\r\n    'avorio': 'ivory',\r\n    'Beige': 'Beige',\r\n    'beige': 'beige',\r\n    'Marrone': 'Brown',\r\n    'marrone': 'brown',\r\n    'Bordeaux': 'Burgundy',\r\n    'bordeaux': 'burgundy',\r\n    'Borgogna': 'Burgundy',\r\n    'borgogna': 'burgundy',\r\n    'Nero': 'Black',\r\n    'nero': 'black',\r\n    'Grigio': 'Gray',\r\n    'grigio': 'gray',\r\n    'Grigia': 'Gray',\r\n    'grigia': 'gray',\r\n    'Argento': 'Silver',\r\n    'argento': 'silver',\r\n    'Argentato': 'Silver',\r\n    'argentato': 'silver',\r\n    'Oro': 'Gold',\r\n    'oro': 'gold',\r\n    'Dorato': 'Golden',\r\n    'dorato': 'golden',\r\n    'Champagne': 'Champagne',\r\n    'champagne': 'champagne',\r\n    'Multicolore': 'Multicolor',\r\n    'multicolore': 'multicolor',\r\n    'Multicolor': 'Multicolor',\r\n    'multicolor': 'multicolor',\r\n    'Bouquet in trend': 'Trending bouquets',\r\n    'Nessun bouquet in trend (ancora)': 'No trending bouquets yet',\r\n    'I pi\u00F9 amati dalla community, ordinati per \u2764\uFE0F. Salvali tra i preferiti in un tap.': 'The community\u2019s most loved, sorted by \u2764\uFE0F. Save them to favorites in one tap.',\r\n    'I piu amati dalla community, ordinati per \u2764\uFE0F. Salvali tra i preferiti in un tap.': 'The community\u2019s most loved, sorted by \u2764\uFE0F. Save them to favorites in one tap.',\r\n    'Torna pi\u00F9 tardi: appena arrivano nuovi like, qui si accende la classifica \u2728': 'Come back later: as soon as new likes arrive, the ranking will light up here. \u2728',\r\n    'Torna piu tardi: appena arrivano nuovi like, qui si accende la classifica \u2728': 'Come back later: as soon as new likes arrive, the ranking will light up here. \u2728',\r\n    'Nastro in Tessuto': 'Fabric ribbon',\r\n    'Scegli lo stile dell\u2019involucro: naturale (kraft) o elegante (tessuto).': 'Choose the wrapping style: natural kraft or elegant fabric.',\r\n    'Scegli lo stile dell\\'involucro: naturale (kraft) o elegante (tessuto).': 'Choose the wrapping style: natural kraft or elegant fabric.',\r\n    'L\u2019involucro': 'The wrapping',\r\n    'L\\'involucro': 'The wrapping',\r\n    'l\u2019involucro': 'the wrapping',\r\n    'l\\'involucro': 'the wrapping',\r\n    'involucro': 'wrapping',\r\n    'La Nebbiolina (Gypsophila) aggiunge un tocco di leggerezza e volume etereo (\"Fiore di Nuvola\"), simboleggiando purezza e amore eterno.': 'Gypsophila adds lightness and airy volume, symbolizing purity and lasting love.',\r\n    '*In estate pu\u00F2 essere sostituita da Gypsophila essiccata o semprevivi bianchi per garantire la massima durata.': '*In summer it may be replaced with dried gypsophila or white statice to guarantee longer life.',\r\n    'Il Verde decorativo comprende vari tipi di fogliame come felci, eucalipto e ruscus: aggiunge volume, texture e freschezza al bouquet, creando uno sfondo naturale che fa risaltare i colori dei fiori principali.': 'Decorative greenery includes foliage such as ferns, eucalyptus and ruscus: it adds volume, texture and freshness, creating a natural backdrop that makes the main flower colors stand out.',\r\n    'Aggiunge anche una piacevole profumazione e pu\u00F2 aumentare la durata del bouquet: \u00E8 un elemento fondamentale per composizioni bilanciate e professionali.': 'It also adds a pleasant scent and can extend the bouquet\u2019s life: it is essential for balanced, professional arrangements.',\r\n    'Il nastro completa il bouquet: rustico (rafia) o pi\u00F9 ricercato (tessuto).': 'The ribbon completes the bouquet: rustic raffia or a more refined fabric option.',\r\n    'Il nastro completa il bouquet: rustico (rafia) o piu ricercato (tessuto).': 'The ribbon completes the bouquet: rustic raffia or a more refined fabric option.',\r\n    'La carta grezza \u00E8 una scelta naturale ed elegante per l\\'avvolgimento dei bouquet. Con la sua texture irregolare e l\\'aspetto artigianale, aggiunge un tocco rustico e autentico alla presentazione floreale.': 'Raw paper is a natural, elegant choice for bouquet wrapping. Its irregular texture and handmade look add a rustic, authentic touch to the floral presentation.',\r\n    'La carta grezza \u00E8 una scelta naturale ed elegante per l\u2019avvolgimento dei bouquet. Con la sua texture irregolare e l\u2019aspetto artigianale, aggiunge un tocco rustico e autentico alla presentazione floreale.': 'Raw paper is a natural, elegant choice for bouquet wrapping. Its irregular texture and handmade look add a rustic, authentic touch to the floral presentation.',\r\n    'Realizzata con fibre naturali non trattate, rispetta l\\'ambiente e si armonizza perfettamente con la bellezza organica dei fiori. Ideale per uno stile naturale e informale.': 'Made with untreated natural fibers, it respects the environment and pairs beautifully with the organic beauty of flowers. Ideal for a natural, informal style.',\r\n    'Realizzata con fibre naturali non trattate, rispetta l\u2019ambiente e si armonizza perfettamente con la bellezza organica dei fiori. Ideale per uno stile naturale e informale.': 'Made with untreated natural fibers, it respects the environment and pairs beautifully with the organic beauty of flowers. Ideal for a natural, informal style.',\r\n    'La carta tessuto offre un\\'eleganza raffinata e una finitura morbida al tatto. La sua struttura robusta ma flessibile permette di creare avvolgimenti sofisticati con pieghe delicate.': 'Fabric paper offers refined elegance and a soft-touch finish. Its sturdy yet flexible structure creates sophisticated wrapping with delicate folds.',\r\n    'La carta tessuto offre un\u2019eleganza raffinata e una finitura morbida al tatto. La sua struttura robusta ma flessibile permette di creare avvolgimenti sofisticati con pieghe delicate.': 'Fabric paper offers refined elegance and a soft-touch finish. Its sturdy yet flexible structure creates sophisticated wrapping with delicate folds.',\r\n    'Disponibile in diversi colori, permette di personalizzare ulteriormente il bouquet, creando contrasti cromatici o armonie ton sur ton con i fiori scelti. Perfetta per occasioni formali e regali speciali.': 'Available in several colors, it lets you further personalize the bouquet with color contrasts or tone-on-tone harmony. Perfect for formal occasions and special gifts.',\r\n    'La rafia naturale \u00E8 un materiale organico e biodegradabile ricavato da foglie di palma. Dona un aspetto rustico e autentico al bouquet, perfetto per composizioni dal gusto naturale.': 'Natural raffia is an organic, biodegradable material made from palm leaves. It gives the bouquet a rustic, authentic look, perfect for natural compositions.',\r\n    '\u00C8 resistente, leggera e ideale per un packaging semplice ma curato, soprattutto con carte kraft e stili \u201Cbotanici\u201D.': 'It is strong, lightweight and ideal for simple but polished packaging, especially with kraft paper and botanical styles.',\r\n    'E resistente, leggera e ideale per un packaging semplice ma curato, soprattutto con carte kraft e stili \"botanici\".': 'It is strong, lightweight and ideal for simple but polished packaging, especially with kraft paper and botanical styles.',\r\n    'Vedi': 'See',\r\n    'Vedi tutto': 'See all',\r\n    'Vedi tutti': 'See all',\r\n    'Vedi Ordine': 'See order',\r\n    'Finalizza il tuo bouquet': 'Finalize your bouquet',\r\n    'Sto aggiungendo...': 'Adding...',\r\n    'Invio in corso...': 'Sending...',\r\n    'Tentativo di riconnessione...': 'Reconnecting...',\r\n    'Timeout durante la preparazione del bouquet': 'Timeout while preparing the bouquet',\r\n    'Errore nella creazione del prodotto': 'Error creating the product',\r\n    'Errore risposta': 'Response error',\r\n    'Errore stato creazione': 'Creation status error',\r\n\r\n    'gennaio': 'January',\r\n    'febbraio': 'February',\r\n    'marzo': 'March',\r\n    'aprile': 'April',\r\n    'maggio': 'May',\r\n    'giugno': 'June',\r\n    'luglio': 'July',\r\n    'agosto': 'August',\r\n    'settembre': 'September',\r\n    'ottobre': 'October',\r\n    'novembre': 'November',\r\n    'dicembre': 'December',\r\n    'luned\u00EC': 'Monday',\r\n    'marted\u00EC': 'Tuesday',\r\n    'mercoled\u00EC': 'Wednesday',\r\n    'gioved\u00EC': 'Thursday',\r\n    'venerd\u00EC': 'Friday',\r\n    'sabato': 'Saturday',\r\n    'domenica': 'Sunday'\r\n  };\r\n\r\n  var PATTERNS = [\r\n    [/^Consegna a (.+)$/i, 'Delivery to $1'],\r\n    [/^Cambia indirizzo di consegna:\\s*(.+)$/i, 'Change delivery address: $1'],\r\n    [/^Torna all[\u2019']inizio di (.+)$/i, 'Back to the start of $1'],\r\n    [/^CAP:\\s*(\\d{5})$/i, 'Postal code: $1'],\r\n    [/^CAP\\s*(\\d{5})$/i, 'Postal code $1'],\r\n    [/^Ritiro in negozio presso (.+)$/i, 'Store pickup at $1'],\r\n    [/^Ci dispiace, il CAP\\s+(\\d{5})\\s+non (?:\u00E8|e) ancora coperto dal servizio\\.?$/i, 'Sorry, postal code $1 is not covered by our service yet.'],\r\n    [/^Ci dispiace,\\s+(.+?)\\s+non (?:\u00E8|e) disponibile attualmente per questa (.+?)\\.?$/i, 'Sorry, $1 is currently unavailable for this $2.'],\r\n    [/^Il CAP\\s+(\\d{5})\\s+non (?:\u00E8|e) ancora coperto dal servizio\\.?$/i, 'Postal code $1 is not covered by our service yet.'],\r\n    [/^Tentativo di riconnessione\\.\\.\\.\\s*\\((\\d+)\\/(\\d+)\\)$/i, 'Reconnecting... ($1/$2)'],\r\n    [/^Non puoi generare il bouquet perch\u00E9 contiene fiori non disponibili:\\s*(.+)$/i, 'You cannot generate the bouquet because it contains unavailable flowers: $1'],\r\n    [/^Non puoi generare il bouquet perche contiene fiori non disponibili:\\s*(.+)$/i, 'You cannot generate the bouquet because it contains unavailable flowers: $1'],\r\n    [/^Ciao\\s+(.+?)!\\s*\uD83D\uDC4B?$/i, 'Hello $1!'],\r\n    [/^(\\d+)\\s+Creati$/i, '$1 created'],\r\n    [/^(\\d+)\\s+bouquet$/i, '$1 bouquets'],\r\n    [/^Indirizzo\\s+(\\d+)$/i, 'Address $1'],\r\n    [/^Gestisci Indirizzi\\s*\\((\\d+)\\)$/i, 'Manage addresses ($1)'],\r\n    [/^Mostra ordini precedenti\\s*\\((\\d+)\\)$/i, 'Show previous orders ($1)'],\r\n    [/^Ordine Annullato il:\\s*(.+)$/i, 'Order canceled on: $1'],\r\n    [/^Avanzamento generazione proposte\\s+(\\d+)%$/i, 'Proposal generation progress $1%'],\r\n    [/^Totale:\\s*(.+)$/i, 'Total: $1'],\r\n    [/^Similarit(?:\u00E0|a):\\s*(.+)$/i, 'Similarity: $1'],\r\n    [/^Errore:\\s*(.+)$/i, 'Error: $1'],\r\n    [/^(.+)\\s+\\(Opzionale\\)$/i, '$1 (optional)'],\r\n    [/^Modifica (.+)$/i, 'Edit $1'],\r\n    [/^Aggiungi (.+)$/i, 'Add $1']\r\n  ];\r\n\r\n  var TOKEN_TRANSLATIONS = [\r\n    ['Rosa chiaro', 'Light pink'],\r\n    ['rosa chiaro', 'light pink'],\r\n    ['Rosa chiara', 'Light pink'],\r\n    ['rosa chiara', 'light pink'],\r\n    ['Rosa antico', 'Dusty pink'],\r\n    ['rosa antico', 'dusty pink'],\r\n    ['Rosa cipria', 'Blush pink'],\r\n    ['rosa cipria', 'blush pink'],\r\n    ['Rosa pastello', 'Pastel pink'],\r\n    ['rosa pastello', 'pastel pink'],\r\n    ['Arancione', 'Orange'],\r\n    ['arancione', 'orange'],\r\n    ['Giallo', 'Yellow'],\r\n    ['giallo', 'yellow'],\r\n    ['Rosso', 'Red'],\r\n    ['rosso', 'red'],\r\n    ['Azzurro', 'Light blue'],\r\n    ['azzurro', 'light blue'],\r\n    ['Celeste', 'Sky blue'],\r\n    ['celeste', 'sky blue'],\r\n    ['Turchese', 'Turquoise'],\r\n    ['turchese', 'turquoise'],\r\n    ['Blu', 'Blue'],\r\n    ['blu', 'blue'],\r\n    ['Viola', 'Purple'],\r\n    ['viola', 'purple'],\r\n    ['Lilla', 'Lilac'],\r\n    ['lilla', 'lilac'],\r\n    ['Lavanda', 'Lavender'],\r\n    ['lavanda', 'lavender'],\r\n    ['Fucsia', 'Fuchsia'],\r\n    ['fucsia', 'fuchsia'],\r\n    ['Magenta', 'Magenta'],\r\n    ['magenta', 'magenta'],\r\n    ['Corallo', 'Coral'],\r\n    ['corallo', 'coral'],\r\n    ['Pesca', 'Peach'],\r\n    ['pesca', 'peach'],\r\n    ['Salmone', 'Salmon'],\r\n    ['salmone', 'salmon'],\r\n    ['Verde', 'Green'],\r\n    ['verde', 'green'],\r\n    ['Crema', 'Cream'],\r\n    ['crema', 'cream'],\r\n    ['Avorio', 'Ivory'],\r\n    ['avorio', 'ivory'],\r\n    ['Beige', 'Beige'],\r\n    ['beige', 'beige'],\r\n    ['Marrone', 'Brown'],\r\n    ['marrone', 'brown'],\r\n    ['Bordeaux', 'Burgundy'],\r\n    ['bordeaux', 'burgundy'],\r\n    ['Borgogna', 'Burgundy'],\r\n    ['borgogna', 'burgundy'],\r\n    ['Nero', 'Black'],\r\n    ['nero', 'black'],\r\n    ['Grigio', 'Gray'],\r\n    ['grigio', 'gray'],\r\n    ['Grigia', 'Gray'],\r\n    ['grigia', 'gray'],\r\n    ['Argento', 'Silver'],\r\n    ['argento', 'silver'],\r\n    ['Argentato', 'Silver'],\r\n    ['argentato', 'silver'],\r\n    ['Oro', 'Gold'],\r\n    ['oro', 'gold'],\r\n    ['Dorato', 'Golden'],\r\n    ['dorato', 'golden'],\r\n    ['Champagne', 'Champagne'],\r\n    ['champagne', 'champagne'],\r\n    ['Multicolore', 'Multicolor'],\r\n    ['multicolore', 'multicolor'],\r\n    ['Tessuto', 'Fabric'],\r\n    ['tessuto', 'fabric'],\r\n    ['Misti', 'Mixed'],\r\n    ['misti', 'mixed'],\r\n    ['Misto', 'Mixed'],\r\n    ['misto', 'mixed'],\r\n    ['Nastro', 'Ribbon'],\r\n    ['nastro', 'ribbon'],\r\n    ['Rafia', 'Raffia'],\r\n    ['rafia', 'raffia'],\r\n    ['Naturale', 'Natural'],\r\n    ['naturale', 'natural'],\r\n    ['Bianco', 'White'],\r\n    ['bianco', 'white'],\r\n    ['Carta Kraft', 'Kraft paper'],\r\n    ['giorno precedente', 'previous day'],\r\n    ['Giorno precedente', 'Previous day'],\r\n    ['Luned\u00EC', 'Monday'],\r\n    ['luned\u00EC', 'monday'],\r\n    ['Lunedi', 'Monday'],\r\n    ['lunedi', 'monday'],\r\n    ['Marted\u00EC', 'Tuesday'],\r\n    ['marted\u00EC', 'tuesday'],\r\n    ['Martedi', 'Tuesday'],\r\n    ['martedi', 'tuesday'],\r\n    ['Mercoled\u00EC', 'Wednesday'],\r\n    ['mercoled\u00EC', 'wednesday'],\r\n    ['Mercoledi', 'Wednesday'],\r\n    ['mercoledi', 'wednesday'],\r\n    ['Gioved\u00EC', 'Thursday'],\r\n    ['gioved\u00EC', 'thursday'],\r\n    ['Giovedi', 'Thursday'],\r\n    ['giovedi', 'thursday'],\r\n    ['Venerd\u00EC', 'Friday'],\r\n    ['venerd\u00EC', 'friday'],\r\n    ['Venerdi', 'Friday'],\r\n    ['venerdi', 'friday'],\r\n    ['Sabato', 'Saturday'],\r\n    ['sabato', 'saturday'],\r\n    ['Domenica', 'Sunday'],\r\n    ['domenica', 'sunday'],\r\n    ['Gennaio', 'January'],\r\n    ['gennaio', 'january'],\r\n    ['Febbraio', 'February'],\r\n    ['febbraio', 'february'],\r\n    ['Marzo', 'March'],\r\n    ['marzo', 'march'],\r\n    ['Aprile', 'April'],\r\n    ['aprile', 'april'],\r\n    ['Maggio', 'May'],\r\n    ['maggio', 'may'],\r\n    ['Giugno', 'June'],\r\n    ['giugno', 'june'],\r\n    ['Luglio', 'July'],\r\n    ['luglio', 'july'],\r\n    ['Agosto', 'August'],\r\n    ['agosto', 'august'],\r\n    ['Settembre', 'September'],\r\n    ['settembre', 'september'],\r\n    ['Ottobre', 'October'],\r\n    ['ottobre', 'october'],\r\n    ['Novembre', 'November'],\r\n    ['novembre', 'november'],\r\n    ['Dicembre', 'December'],\r\n    ['dicembre', 'december']\r\n  ];\r\n\r\n  var TOKEN_JOIN_WORDS_EN = TOKEN_TRANSLATIONS\r\n    .map(function (entry) { return entry[1]; })\r\n    .filter(function (value, index, list) { return value && list.indexOf(value) === index; })\r\n    .sort(function (a, b) { return b.length - a.length; })\r\n    .map(escapeRegex)\r\n    .join('|');\r\n\r\n  var TOKEN_JOIN_WORDS_IT = TOKEN_TRANSLATIONS\r\n    .map(function (entry) { return entry[0]; })\r\n    .filter(function (value, index, list) { return value && list.indexOf(value) === index; })\r\n    .sort(function (a, b) { return b.length - a.length; })\r\n    .map(escapeRegex)\r\n    .join('|');\r\n\r\n  var TOKEN_JOIN_LEFT_EN = new RegExp('(?:^|[^\\\\w\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF])(?:' + TOKEN_JOIN_WORDS_EN + ')$', 'i');\r\n  var TOKEN_JOIN_RIGHT_EN = new RegExp('^(?:' + TOKEN_JOIN_WORDS_EN + ')(?=$|[^\\\\w\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF])', 'i');\r\n  var TOKEN_JOIN_LEFT_IT = new RegExp('(?:^|[^\\\\w\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF])(?:' + TOKEN_JOIN_WORDS_IT + ')$', 'i');\r\n  var TOKEN_JOIN_RIGHT_IT = new RegExp('^(?:' + TOKEN_JOIN_WORDS_IT + ')(?=$|[^\\\\w\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF])', 'i');\r\n\r\n  var TEXT_CANONICAL = {};\r\n  var TEXT_REVERSE_CANONICAL = {};\r\n  Object.keys(TEXT).forEach(function (key) {\r\n    TEXT_CANONICAL[canonicalKey(key)] = TEXT[key];\r\n    var reverseKey = canonicalKey(TEXT[key]);\r\n    if (reverseKey && reverseKey !== canonicalKey(key) && !TEXT_REVERSE_CANONICAL[reverseKey]) {\r\n      TEXT_REVERSE_CANONICAL[reverseKey] = key;\r\n    }\r\n  });\r\n\r\n  var textOriginals = new WeakMap();\r\n  var attrOriginals = new WeakMap();\r\n  var currentLanguage = resolveLanguage();\r\n  var observer = null;\r\n  var isApplying = false;\r\n  var pendingNodes = [];\r\n  var pendingNodeSet = typeof WeakSet !== 'undefined' ? new WeakSet() : null;\r\n  var scheduled = false;\r\n  var dynamicTranslations = loadDynamicTranslations();\r\n  var dynamicSkipped = {};\r\n  var dynamicQueue = {};\r\n  var dynamicTimer = null;\r\n  var dynamicInFlight = false;\r\n  var dynamicProductInFlight = 0;\r\n  var translationPill = null;\r\n  var translationPillShowTimer = null;\r\n  var translationPillHideTimer = null;\r\n  var productLocaleRedirecting = false;\r\n\r\n  function markBootReady() {\r\n    try {\r\n      var root = document.documentElement;\r\n      if (window.__florameI18nBootFallback) {\r\n        window.clearTimeout(window.__florameI18nBootFallback);\r\n        window.__florameI18nBootFallback = null;\r\n      }\r\n      root.classList.remove('florame-i18n-boot-pending');\r\n      root.classList.remove('florame-i18n-boot-timeout');\r\n      root.classList.add('florame-i18n-ready');\r\n      root.setAttribute('data-florame-i18n-ready', '1');\r\n    } catch (_) {}\r\n  }\r\n\r\n  function normalize(value) {\r\n    return String(value == null ? '' : value).replace(/\\s+/g, ' ').trim();\r\n  }\r\n\r\n  function canonicalKey(value) {\r\n    return normalize(value)\r\n      .toLowerCase()\r\n      .replace(/[\u2019\u2018`\u00B4]/g, \"'\")\r\n      .replace(/[\u201C\u201D]/g, '\"')\r\n      .replace(/\\u00a0/g, ' ')\r\n      .replace(/&amp;/g, '&');\r\n  }\r\n\r\n  function escapeRegex(value) {\r\n    return String(value).replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\r\n  }\r\n\r\n  function preserveWhitespace(original, translated) {\r\n    var lead = String(original).match(/^\\s*/)[0] || '';\r\n    var trail = String(original).match(/\\s*$/)[0] || '';\r\n    return lead + translated + trail;\r\n  }\r\n\r\n  function loadDynamicTranslations() {\r\n    try {\r\n      var parsed = JSON.parse(localStorage.getItem(CONFIG.dynamicCacheKey) || '{}');\r\n      if (!parsed || typeof parsed !== 'object') return {};\r\n      var out = {};\r\n      Object.keys(parsed).slice(-CONFIG.dynamicCacheLimit).forEach(function (key) {\r\n        if (key && typeof parsed[key] === 'string') out[key] = parsed[key];\r\n      });\r\n      return out;\r\n    } catch (_) {\r\n      return {};\r\n    }\r\n  }\r\n\r\n  function saveDynamicTranslations() {\r\n    try {\r\n      var keys = Object.keys(dynamicTranslations);\r\n      if (keys.length > CONFIG.dynamicCacheLimit) {\r\n        var limited = {};\r\n        keys.slice(-CONFIG.dynamicCacheLimit).forEach(function (key) {\r\n          limited[key] = dynamicTranslations[key];\r\n        });\r\n        dynamicTranslations = limited;\r\n      }\r\n      localStorage.setItem(CONFIG.dynamicCacheKey, JSON.stringify(dynamicTranslations));\r\n    } catch (_) {}\r\n  }\r\n\r\n  function rememberDynamicTranslation(source, translated) {\r\n    var key = canonicalKey(source);\r\n    var value = normalize(translated);\r\n    if (!key || !value || canonicalKey(value) === key) return false;\r\n    dynamicTranslations[key] = value;\r\n    saveDynamicTranslations();\r\n    return true;\r\n  }\r\n\r\n  function rememberDynamicSkip(source) {\r\n    var key = canonicalKey(source);\r\n    if (!key) return;\r\n    dynamicSkipped[key] = true;\r\n  }\r\n\r\n  function replaceStandaloneToken(value, token, replacement) {\r\n    return String(value).replace(\r\n      new RegExp('(^|[^\\\\w\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF])' + escapeRegex(token) + '(?=$|[^\\\\w\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF])', 'g'),\r\n      '$1' + replacement\r\n    );\r\n  }\r\n\r\n  function normalizeTokenJoins(value, leftPattern, rightPattern, connectorPattern, andWord, orWord) {\r\n    return String(value).replace(connectorPattern, function (match, connector, offset, source) {\r\n      var left = source.slice(0, offset);\r\n      var right = source.slice(offset + match.length);\r\n      if (!leftPattern.test(left) || !rightPattern.test(right)) return match;\r\n      return /^o(?:r)?$/i.test(connector) ? ' ' + orWord + ' ' : ' ' + andWord + ' ';\r\n    });\r\n  }\r\n\r\n  function translateTokenText(key) {\r\n    var next = key;\r\n    TOKEN_TRANSLATIONS.forEach(function (entry) {\r\n      next = replaceStandaloneToken(next, entry[0], entry[1]);\r\n    });\r\n    return next !== key ? normalizeTokenJoins(next, TOKEN_JOIN_LEFT_EN, TOKEN_JOIN_RIGHT_EN, /\\s+(e|o)\\s+/gi, 'and', 'or') : '';\r\n  }\r\n\r\n  function restoreItalianTokenText(key) {\r\n    var next = key;\r\n    TOKEN_TRANSLATIONS.forEach(function (entry) {\r\n      next = replaceStandaloneToken(next, entry[1], entry[0]);\r\n    });\r\n    return next !== key ? normalizeTokenJoins(next, TOKEN_JOIN_LEFT_IT, TOKEN_JOIN_RIGHT_IT, /\\s+(and|or)\\s+/gi, 'e', 'o') : '';\r\n  }\r\n\r\n  function translateTextKey(key) {\r\n    if (TEXT[key]) return TEXT[key];\r\n    var canonical = TEXT_CANONICAL[canonicalKey(key)];\r\n    if (canonical) return canonical;\r\n    for (var i = 0; i < PATTERNS.length; i += 1) {\r\n      if (PATTERNS[i][0].test(key)) {\r\n        return key.replace(PATTERNS[i][0], PATTERNS[i][1]);\r\n      }\r\n    }\r\n    var tokenTranslation = translateTokenText(key);\r\n    if (tokenTranslation) return tokenTranslation;\r\n    var decorated = key.match(/^([^\\w\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]*)(.*?)([^\\w\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]*)$/);\r\n    if (decorated) {\r\n      var core = normalize(decorated[2]);\r\n      if (core && core !== key) {\r\n        var coreTranslation = translateTextKey(core);\r\n        if (coreTranslation && coreTranslation !== core) {\r\n          return decorated[1] + coreTranslation + decorated[3];\r\n        }\r\n      }\r\n    }\r\n    return '';\r\n  }\r\n\r\n  function translateText(value) {\r\n    var original = String(value == null ? '' : value);\r\n    var key = normalize(original);\r\n    if (!key) return original;\r\n    var translated = translateTextKey(key);\r\n    return translated ? preserveWhitespace(original, translated) : original;\r\n  }\r\n\r\n  function restoreItalianTextKey(key) {\r\n    var canonical = TEXT_REVERSE_CANONICAL[canonicalKey(key)];\r\n    if (canonical) return canonical;\r\n    var tokenTranslation = restoreItalianTokenText(key);\r\n    if (tokenTranslation) return tokenTranslation;\r\n    var decorated = key.match(/^([^\\w\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]*)(.*?)([^\\w\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]*)$/);\r\n    if (decorated) {\r\n      var core = normalize(decorated[2]);\r\n      if (core && core !== key) {\r\n        var coreTranslation = restoreItalianTextKey(core);\r\n        if (coreTranslation && coreTranslation !== core) {\r\n          return decorated[1] + coreTranslation + decorated[3];\r\n        }\r\n      }\r\n    }\r\n    return '';\r\n  }\r\n\r\n  function restoreItalianText(value) {\r\n    var original = String(value == null ? '' : value);\r\n    var key = normalize(original);\r\n    if (!key) return original;\r\n    var restored = restoreItalianTextKey(key);\r\n    return restored ? preserveWhitespace(original, restored) : original;\r\n  }\r\n\r\n  function getQueryLanguage() {\r\n    try {\r\n      var params = new URLSearchParams(window.location.search || '');\r\n      var raw = params.get('lang') || params.get('locale') || params.get('language') || '';\r\n      raw = String(raw || '').toLowerCase().slice(0, 2);\r\n      return raw === 'en' || raw === 'it' ? raw : '';\r\n    } catch (_) {\r\n      return '';\r\n    }\r\n  }\r\n\r\n  function getStoredLanguage() {\r\n    try {\r\n      var stored = localStorage.getItem(CONFIG.storageKey) || localStorage.getItem('bouquetLanguage') || '';\r\n      stored = String(stored || '').toLowerCase().slice(0, 2);\r\n      return stored === 'en' || stored === 'it' ? stored : '';\r\n    } catch (_) {\r\n      return '';\r\n    }\r\n  }\r\n\r\n  function getBrowserLanguage() {\r\n    try {\r\n      var raw = [];\r\n      if (navigator.languages && navigator.languages.length) raw = Array.prototype.slice.call(navigator.languages);\r\n      else if (navigator.language) raw = [navigator.language];\r\n      for (var i = 0; i < raw.length; i += 1) {\r\n        var lang = String(raw[i] || '').toLowerCase().slice(0, 2);\r\n        if (lang === 'en' || lang === 'it') return lang;\r\n      }\r\n    } catch (_) {}\r\n    return '';\r\n  }\r\n\r\n  function resolveLanguage() {\r\n    var query = getQueryLanguage();\r\n    if (query) return query;\r\n    try {\r\n      var path = String(window.location.pathname || '').toLowerCase();\r\n      if (path === '/en' || path.indexOf('/en/') === 0) return 'en';\r\n      if (path === '/it' || path.indexOf('/it/') === 0) return 'it';\r\n    } catch (_) {}\r\n    var stored = getStoredLanguage();\r\n    if (stored) return stored;\r\n    try {\r\n      var htmlLang = String(document.documentElement.getAttribute('lang') || '').toLowerCase().slice(0, 2);\r\n      if (htmlLang === 'en') return 'en';\r\n    } catch (_) {}\r\n    var browserLang = getBrowserLanguage();\r\n    if (browserLang) return browserLang;\r\n    return CONFIG.defaultLanguage || 'it';\r\n  }\r\n\r\n  function clearGTranslateCookie() {\r\n    try {\r\n      var host = window.location.hostname || '';\r\n      var root = host.split('.').slice(-2).join('.');\r\n      ['', host, '.' + host, root, '.' + root].filter(Boolean).forEach(function (domain) {\r\n        ['/', window.location.pathname || '/'].forEach(function (path) {\r\n          document.cookie = 'googtrans=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=' + path + (domain ? '; domain=' + domain : '');\r\n        });\r\n      });\r\n    } catch (_) {}\r\n  }\r\n\r\n  function removeGTranslateUi() {\r\n    try {\r\n      document.querySelectorAll('#gt_float_wrapper, .gt_float_switcher, iframe.goog-te-banner-frame, .goog-te-gadget').forEach(function (node) {\r\n        node.remove();\r\n      });\r\n      document.querySelectorAll('.gtranslate_wrapper').forEach(function (node) {\r\n        node.setAttribute('data-native-i18n-skip', '1');\r\n        node.style.display = 'none';\r\n        node.innerHTML = '';\r\n      });\r\n      document.documentElement.style.top = '';\r\n      document.body.style.top = '';\r\n    } catch (_) {}\r\n  }\r\n\r\n  function syncLanguageStorage(lang) {\r\n    currentLanguage = lang === 'en' ? 'en' : 'it';\r\n    try { localStorage.setItem(CONFIG.storageKey, currentLanguage); } catch (_) {}\r\n    try { localStorage.setItem('bouquetLanguage', currentLanguage); } catch (_) {}\r\n    try { document.documentElement.setAttribute('lang', currentLanguage); } catch (_) {}\r\n    try { document.documentElement.setAttribute('data-florame-lang', currentLanguage); } catch (_) {}\r\n    clearGTranslateCookie();\r\n    removeGTranslateUi();\r\n  }\r\n\r\n  function shouldSkipNode(node) {\r\n    if (!node) return true;\r\n    var el = node.nodeType === 1 ? node : node.parentElement;\r\n    if (!el) return true;\r\n    try { return !!el.closest(SKIP_SELECTOR); } catch (_) { return false; }\r\n  }\r\n\r\n  function shouldSkipAttributes(el) {\r\n    if (!el || el.nodeType !== 1) return true;\r\n    try { return !!el.closest(ATTRIBUTE_SKIP_SELECTOR); } catch (_) { return false; }\r\n  }\r\n\r\n  function elementHasTranslatableAttributes(el) {\r\n    if (!el || el.nodeType !== 1 || shouldSkipAttributes(el)) return false;\r\n    if (el.hasAttribute('placeholder') || el.hasAttribute('aria-label') || el.hasAttribute('title') || el.hasAttribute('alt')) return true;\r\n    var tag = String(el.tagName || '').toLowerCase();\r\n    var type = String(el.getAttribute('type') || '').toLowerCase();\r\n    return el.hasAttribute('value') && ((tag === 'input' && ['button', 'submit', 'reset'].indexOf(type) >= 0) || tag === 'button');\r\n  }\r\n\r\n  function shouldSkipDynamicNode(node) {\r\n    if (!node || shouldSkipNode(node)) return true;\r\n    var el = node.nodeType === 1 ? node : node.parentElement;\r\n    if (!el) return true;\r\n    if (hasExplicitEnglishContentLang(el)) return true;\r\n    try { return !!el.closest(DYNAMIC_SKIP_SELECTOR); } catch (_) { return false; }\r\n  }\r\n\r\n  function shouldSkipDynamicAttribute(el, attr) {\r\n    if (!el || shouldSkipAttributes(el)) return true;\r\n    if (attr === 'value') return true;\r\n    if (hasExplicitEnglishContentLang(el)) return true;\r\n    try { return !!el.closest('[data-native-i18n-sensitive], [data-i18n-sensitive]'); } catch (_) { return false; }\r\n  }\r\n\r\n  function hasExplicitEnglishContentLang(node) {\r\n    var el = node && node.nodeType === 1 ? node : (node && node.parentElement);\r\n    while (el && el !== document.documentElement && el !== document.body) {\r\n      try {\r\n        if (el.hasAttribute && el.hasAttribute('lang')) {\r\n          return /^en(?:-|$)/i.test(String(el.getAttribute('lang') || ''));\r\n        }\r\n      } catch (_) {}\r\n      el = el.parentElement;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  function isLocalizedProductPath(pathname) {\r\n    return /^\\/(?:(?:en|it)\\/)?products\\//i.test(String(pathname || ''));\r\n  }\r\n\r\n  function bareStorefrontPath(pathname) {\r\n    return (String(pathname || '/') || '/').replace(/^\\/(?:en|it)(?=\\/|$)/i, '') || '/';\r\n  }\r\n\r\n  function isLocalizableStorefrontPath(pathname) {\r\n    var bare = bareStorefrontPath(pathname);\r\n    if (bare === '/') return true;\r\n    return /^\\/(?:products|collections|pages|cart|search|policies|blogs)(?:\\/|$)/i.test(bare);\r\n  }\r\n\r\n  function localizeStorefrontPath(pathname, lang) {\r\n    var bare = bareStorefrontPath(pathname);\r\n    if (!isLocalizableStorefrontPath(bare)) return String(pathname || '/');\r\n    return lang === 'en' ? (bare === '/' ? '/en' : '/en' + bare) : bare;\r\n  }\r\n\r\n  function localizeProductPath(pathname, lang) {\r\n    var path = String(pathname || '/');\r\n    var bare = bareStorefrontPath(path);\r\n    if (!/^\\/products\\//i.test(bare)) return path;\r\n    return localizeStorefrontPath(path, lang);\r\n  }\r\n\r\n  function redirectStorefrontLocaleIfNeeded(lang, replace) {\r\n    if (productLocaleRedirecting || !isLocalizableStorefrontPath(window.location.pathname || '')) return false;\r\n    try {\r\n      var url = new URL(window.location.href);\r\n      var nextPath = localizeStorefrontPath(url.pathname, lang === 'en' ? 'en' : 'it');\r\n      if (!nextPath || nextPath === url.pathname) return false;\r\n      url.pathname = nextPath;\r\n      url.searchParams.delete('lang');\r\n      url.searchParams.delete('locale');\r\n      productLocaleRedirecting = true;\r\n      clearDynamicQueue();\r\n      if (replace) window.location.replace(url.href);\r\n      else window.location.assign(url.href);\r\n      return true;\r\n    } catch (_) {\r\n      return false;\r\n    }\r\n  }\r\n\r\n  function redirectProductLocaleIfNeeded(lang, replace) {\r\n    if (productLocaleRedirecting || !isProductPage()) return false;\r\n    try {\r\n      var url = new URL(window.location.href);\r\n      var nextPath = localizeProductPath(url.pathname, lang === 'en' ? 'en' : 'it');\r\n      if (!nextPath || nextPath === url.pathname) return false;\r\n      url.pathname = nextPath;\r\n      url.searchParams.delete('lang');\r\n      url.searchParams.delete('locale');\r\n      productLocaleRedirecting = true;\r\n      clearDynamicQueue();\r\n      if (replace) window.location.replace(url.href);\r\n      else window.location.assign(url.href);\r\n      return true;\r\n    } catch (_) {\r\n      return false;\r\n    }\r\n  }\r\n\r\n  function getDynamicTextLimit(node, attr) {\r\n    if (attr) return isProductPage() ? 1800 : 900;\r\n    if (!isProductPage()) return 900;\r\n    var el = node && node.nodeType === 1 ? node : (node && node.parentElement);\r\n    try {\r\n      if (el && el.closest('.product__description, .product__title, [id^=\"ProductInfo-\"], .product__info-container')) return 5000;\r\n    } catch (_) {}\r\n    return 1800;\r\n  }\r\n\r\n  function dynamicPendingElement(node) {\r\n    var el = node && node.nodeType === 1 ? node : (node && node.parentElement);\r\n    if (!el || el === document.body || el === document.documentElement) return null;\r\n    if (shouldSkipNode(el)) return null;\r\n    return el;\r\n  }\r\n\r\n  function markDynamicPending(node) {\r\n    return;\r\n  }\r\n\r\n  function clearDynamicPending(node) {\r\n    var el = dynamicPendingElement(node);\r\n    if (!el) return;\r\n    try { el.removeAttribute('data-florame-i18n-pending'); } catch (_) {}\r\n  }\r\n\r\n  function clearDynamicQueue() {\r\n    if (dynamicTimer) {\r\n      try { window.clearTimeout(dynamicTimer); } catch (_) {}\r\n      dynamicTimer = null;\r\n    }\r\n    dynamicQueue = {};\r\n    dynamicProductInFlight = 0;\r\n    updateTranslationPill();\r\n  }\r\n\r\n  function isProductPage() {\r\n    try {\r\n      if (String(CONFIG.pageType || '').toLowerCase() === 'product') return true;\r\n      if (document.body && /\\btemplate-product\\b/.test(document.body.className || '')) return true;\r\n      return isLocalizedProductPath(window.location.pathname || '');\r\n    } catch (_) {\r\n      return false;\r\n    }\r\n  }\r\n\r\n  function hasDynamicTranslationWork() {\r\n    try {\r\n      if (productLocaleRedirecting || currentLanguage !== 'en' || !isProductPage()) return false;\r\n      if (dynamicProductInFlight > 0) return true;\r\n      return Object.keys(dynamicQueue).some(function (key) {\r\n        return dynamicQueue[key] && dynamicQueue[key].product === true;\r\n      });\r\n    } catch (_) {\r\n      return false;\r\n    }\r\n  }\r\n\r\n  function ensureTranslationPill() {\r\n    if (translationPill && translationPill.parentNode) return translationPill;\r\n    if (!isProductPage()) return null;\r\n    var host = document.querySelector('[id^=\"ProductInfo-\"], .product__info-container');\r\n    if (!host) return null;\r\n\r\n    translationPill = document.createElement('div');\r\n    translationPill.className = 'florame-translation-pill';\r\n    translationPill.setAttribute('data-florame-no-translate', '1');\r\n    translationPill.setAttribute('aria-live', 'polite');\r\n    translationPill.innerHTML = '<span class=\"florame-translation-pill__dot\" aria-hidden=\"true\"></span><span class=\"florame-translation-pill__label\">Completing translation...</span>';\r\n    try { host.insertBefore(translationPill, host.firstChild || null); } catch (_) {}\r\n    return translationPill;\r\n  }\r\n\r\n  function updateTranslationPill() {\r\n    var visible = isProductPage() && hasDynamicTranslationWork();\r\n    if (translationPillHideTimer) {\r\n      try { window.clearTimeout(translationPillHideTimer); } catch (_) {}\r\n      translationPillHideTimer = null;\r\n    }\r\n    if (visible) {\r\n      if (translationPill && translationPill.classList.contains('is-visible')) {\r\n        var activeLabel = translationPill.querySelector('.florame-translation-pill__label');\r\n        if (activeLabel) activeLabel.textContent = 'Completing translation...';\r\n        return;\r\n      }\r\n      if (!translationPillShowTimer) {\r\n        translationPillShowTimer = window.setTimeout(function () {\r\n          translationPillShowTimer = null;\r\n          if (!hasDynamicTranslationWork()) return;\r\n          var pill = ensureTranslationPill();\r\n          if (!pill) return;\r\n          var label = pill.querySelector('.florame-translation-pill__label');\r\n          if (label) label.textContent = 'Completing translation...';\r\n          pill.classList.remove('is-done');\r\n          pill.hidden = false;\r\n          window.requestAnimationFrame(function () { pill.classList.add('is-visible'); });\r\n        }, 450);\r\n      }\r\n      return;\r\n    }\r\n    if (translationPillShowTimer) {\r\n      try { window.clearTimeout(translationPillShowTimer); } catch (_) {}\r\n      translationPillShowTimer = null;\r\n    }\r\n    if (!translationPill) return;\r\n    translationPill.classList.remove('is-done');\r\n    translationPill.classList.remove('is-visible');\r\n    translationPillHideTimer = window.setTimeout(function () {\r\n      if (translationPill && !hasDynamicTranslationWork()) translationPill.hidden = true;\r\n    }, 180);\r\n  }\r\n\r\n  function isProbablyNonTranslatable(value) {\r\n    var text = normalize(value);\r\n    if (!text || text.length < 2) return true;\r\n    if (/^[\\d\\s\u20AC$.,:;/%+\\-()]+$/.test(text)) return true;\r\n    if (/^[A-Z]{1,4}$/.test(text)) return true;\r\n    if (/^https?:\\/\\//i.test(text)) return true;\r\n    return false;\r\n  }\r\n\r\n  function looksLikeItalianText(value) {\r\n    var text = canonicalKey(value);\r\n    if (!text || text.length < 2) return false;\r\n    if (/[\u00E0\u00E8\u00E9\u00EC\u00F2\u00F9]/i.test(text)) return true;\r\n    if (/\\brose\\s+(rosse|bianche|gialle|arancioni|rosa|viola|miste)\\b/i.test(text)) return true;\r\n    if (/\\b(descrizione|composizione|incarto|significato|occasione|perfetta|prendersi cura|questo bouquet|gigli|giglio|gerbere|margherite|tulipani|tulipano|girasoli|girasole|fiori|fiore|nastro|carta|decorazione|nebbiolina|fogliame|verde|arancione|giallo|bianco|ross[oa]|taglia|gambi|acqua|fresca|ogni mattina|ideale per|simboleggia|simboleggiano|incontra|celebrare|successo|dottore|dottoressa|omaggio|purezza|passione|luce|amore|gratitudine|rinascita|inizio|radioso|solare|seta|velluto)\\b/i.test(text)) return true;\r\n    if (/\\b(il|lo|la|gli|le|un|una|uno|dei|degli|delle|del|dello|della|con|per|che|nel|nella|nelle|sul|sulla|alla|alle|ogni|tuo|tua)\\b/i.test(text) && /\\b(bouquet|fiori|fiore|rose|rosa|gigli|giglio|tulipani|girasoli|nastro|carta|decorazione|occasione|significato|descrizione)\\b/i.test(text)) return true;\r\n    return false;\r\n  }\r\n\r\n  function isProductCriticalTranslation(node, attr, text) {\r\n    if (!isProductPage() || !looksLikeItalianText(text)) return false;\r\n    var el = node && node.nodeType === 1 ? node : (node && node.parentElement);\r\n    if (!el) return false;\r\n    try {\r\n      if (el.closest('.product__description, .product__title, [id^=\"ProductInfo-\"], .product__info-container, product-info')) return true;\r\n    } catch (_) {}\r\n    return !!attr && (attr === 'placeholder' || attr === 'aria-label' || attr === 'title' || attr === 'alt');\r\n  }\r\n\r\n  function queueDynamicTranslation(node, original, attr) {\r\n    if (!CONFIG.dynamicTranslation || currentLanguage !== 'en') return '';\r\n    if (!CONFIG.translationEndpoint) return '';\r\n    if (attr ? shouldSkipDynamicAttribute(node, attr) : shouldSkipDynamicNode(node)) return '';\r\n    var text = normalize(original);\r\n    if (isProbablyNonTranslatable(text)) return '';\r\n    if (!looksLikeItalianText(text)) return '';\r\n    if (text.length > getDynamicTextLimit(node, attr)) return '';\r\n    var key = canonicalKey(text);\r\n    if (dynamicTranslations[key]) return preserveWhitespace(original, dynamicTranslations[key]);\r\n    if (dynamicSkipped[key]) return '';\r\n    if (!attr) markDynamicPending(node);\r\n    if (!dynamicQueue[key]) dynamicQueue[key] = { text: text, nodes: [], product: isProductCriticalTranslation(node, attr, text) };\r\n    if (!dynamicQueue[key].product && isProductCriticalTranslation(node, attr, text)) dynamicQueue[key].product = true;\r\n    dynamicQueue[key].nodes.push({ node: node, attr: attr || '', original: text });\r\n    if (!dynamicTimer) {\r\n      dynamicTimer = window.setTimeout(flushDynamicTranslations, isProductPage() ? 40 : 180);\r\n    }\r\n    updateTranslationPill();\r\n    return '';\r\n  }\r\n\r\n  function applyDynamicResult(item, translated) {\r\n    if (!translated || canonicalKey(translated) === canonicalKey(item.text)) {\r\n      if (!looksLikeItalianText(item.text)) rememberDynamicSkip(item.text);\r\n      item.nodes.forEach(function (entry) { clearDynamicPending(entry.node); });\r\n      return;\r\n    }\r\n    rememberDynamicTranslation(item.text, translated);\r\n    if (currentLanguage !== 'en') {\r\n      item.nodes.forEach(function (entry) { clearDynamicPending(entry.node); });\r\n      return;\r\n    }\r\n    var wasApplying = isApplying;\r\n    isApplying = true;\r\n    try {\r\n      item.nodes.forEach(function (entry) {\r\n        try {\r\n          if (entry.attr) {\r\n            if (!entry.node || entry.node.nodeType !== 1) return;\r\n            var store = getAttrStore(entry.node);\r\n            var attrOriginal = store[entry.attr] || entry.node.getAttribute(entry.attr) || '';\r\n            if (canonicalKey(attrOriginal) !== canonicalKey(entry.original)) return;\r\n            var attrNext = preserveWhitespace(attrOriginal, translated);\r\n            if ((entry.node.getAttribute(entry.attr) || '') !== attrNext) entry.node.setAttribute(entry.attr, attrNext);\r\n            return;\r\n          }\r\n          if (!entry.node || entry.node.nodeType !== 3) return;\r\n          var original = textOriginals.get(entry.node) || entry.node.nodeValue || '';\r\n          if (canonicalKey(original) !== canonicalKey(entry.original)) return;\r\n          var next = preserveWhitespace(original, translated);\r\n          if (entry.node.nodeValue !== next) entry.node.nodeValue = next;\r\n          clearDynamicPending(entry.node);\r\n        } catch (_) {}\r\n      });\r\n    } finally {\r\n      isApplying = wasApplying;\r\n    }\r\n  }\r\n\r\n  function flushDynamicTranslations() {\r\n    dynamicTimer = null;\r\n    if (dynamicInFlight || currentLanguage !== 'en') {\r\n      updateTranslationPill();\r\n      return;\r\n    }\r\n    var keys = Object.keys(dynamicQueue).slice(0, isProductPage() ? 60 : 30);\r\n    if (!keys.length) {\r\n      updateTranslationPill();\r\n      return;\r\n    }\r\n    var batch = keys.map(function (key) {\r\n      var item = dynamicQueue[key];\r\n      delete dynamicQueue[key];\r\n      return item;\r\n    });\r\n    dynamicInFlight = true;\r\n    var productBatchCount = batch.filter(function (item) { return item.product === true; }).length;\r\n    dynamicProductInFlight += productBatchCount;\r\n    updateTranslationPill();\r\n\r\n    fetch(CONFIG.translationEndpoint, {\r\n      method: 'POST',\r\n      headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },\r\n      body: JSON.stringify({\r\n        sourceLanguage: 'it',\r\n        targetLanguage: 'en',\r\n        context: 'storefront-dom',\r\n        texts: batch.map(function (item) { return item.text; })\r\n      })\r\n    })\r\n      .then(function (response) { return response.ok ? response.json() : null; })\r\n      .then(function (data) {\r\n        var map = data && data.map ? data.map : {};\r\n        var list = data && Array.isArray(data.translations) ? data.translations : [];\r\n        batch.forEach(function (item, index) {\r\n          applyDynamicResult(item, map[item.text] || list[index] || '');\r\n        });\r\n      })\r\n      .catch(function () {\r\n        batch.forEach(function (item) { rememberDynamicSkip(item.text); });\r\n      })\r\n      .finally(function () {\r\n        batch.forEach(function (item) {\r\n          item.nodes.forEach(function (entry) { clearDynamicPending(entry.node); });\r\n        });\r\n        dynamicInFlight = false;\r\n        dynamicProductInFlight = Math.max(0, dynamicProductInFlight - productBatchCount);\r\n        if (Object.keys(dynamicQueue).length) {\r\n          dynamicTimer = window.setTimeout(flushDynamicTranslations, isProductPage() ? 90 : 250);\r\n        }\r\n        updateTranslationPill();\r\n      });\r\n  }\r\n\r\n  function translateTextNode(node) {\r\n    if (!node || node.nodeType !== 3 || shouldSkipNode(node)) return;\r\n    if (!textOriginals.has(node)) textOriginals.set(node, node.nodeValue || '');\r\n    var original = textOriginals.get(node) || '';\r\n    var next = original;\r\n    if (currentLanguage === 'en') {\r\n      next = translateText(original);\r\n      if (next === original) {\r\n        next = queueDynamicTranslation(node, original) || original;\r\n      }\r\n    } else {\r\n      next = restoreItalianText(original);\r\n    }\r\n    if (node.nodeValue !== next) node.nodeValue = next;\r\n  }\r\n\r\n  function getAttrStore(el) {\r\n    var store = attrOriginals.get(el);\r\n    if (!store) {\r\n      store = {};\r\n      attrOriginals.set(el, store);\r\n    }\r\n    return store;\r\n  }\r\n\r\n  function translateAttributes(el) {\r\n    if (!el || el.nodeType !== 1 || shouldSkipAttributes(el)) return;\r\n    var attrs = ['placeholder', 'aria-label', 'title', 'alt'];\r\n    var tag = String(el.tagName || '').toLowerCase();\r\n    var type = String(el.getAttribute('type') || '').toLowerCase();\r\n    if ((tag === 'input' && ['button', 'submit', 'reset'].indexOf(type) >= 0) || tag === 'button') attrs.push('value');\r\n\r\n    var store = getAttrStore(el);\r\n    attrs.forEach(function (attr) {\r\n      if (!el.hasAttribute(attr)) return;\r\n      if (store[attr] == null) store[attr] = el.getAttribute(attr) || '';\r\n      var original = store[attr] || '';\r\n      var next = currentLanguage === 'en' ? translateText(original) : restoreItalianText(original);\r\n      if (currentLanguage === 'en' && next === original && attr !== 'value') {\r\n        next = queueDynamicTranslation(el, original, attr) || original;\r\n      }\r\n      if ((el.getAttribute(attr) || '') !== next) el.setAttribute(attr, next);\r\n    });\r\n  }\r\n\r\n  function walk(root) {\r\n    if (!root) return;\r\n    if (root.nodeType === 3) {\r\n      translateTextNode(root);\r\n      return;\r\n    }\r\n    if (root.nodeType !== 1 && root.nodeType !== 9 && root.nodeType !== 11) return;\r\n    if (root.nodeType === 1 && shouldSkipNode(root) && !elementHasTranslatableAttributes(root)) return;\r\n    if (root.nodeType === 1) translateAttributes(root);\r\n    var walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT, {\r\n      acceptNode: function (node) {\r\n        if (node.nodeType === 1 && elementHasTranslatableAttributes(node)) return NodeFilter.FILTER_ACCEPT;\r\n        return shouldSkipNode(node) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\r\n      }\r\n    });\r\n    var node = walker.nextNode();\r\n    while (node) {\r\n      if (node.nodeType === 3) translateTextNode(node);\r\n      else translateAttributes(node);\r\n      node = walker.nextNode();\r\n    }\r\n  }\r\n\r\n  function isCustomerAccountLoginLink(url, originalHref) {\r\n    var value = String((originalHref || '') + ' ' + (url && url.pathname ? url.pathname : '')).toLowerCase();\r\n    return /\\/account\\/login(?:[/?#]|$)|\\/login(?:[/?#]|$)|\\/authentication\\//.test(value);\r\n  }\r\n\r\n  function isCustomerAccountLogoutLink(url, originalHref) {\r\n    var value = String((originalHref || '') + ' ' + (url && url.pathname ? url.pathname : '')).toLowerCase();\r\n    return /\\/account\\/logout(?:[/?#]|$)|\\/logout(?:[/?#]|$)|customer_logout/.test(value);\r\n  }\r\n\r\n  function customerAccountRegionCountry() {\r\n    var country = CONFIG.customerAccountCountry || (window.Shopify && window.Shopify.country) || 'IT';\r\n    country = String(country || '').toUpperCase().replace(/[^A-Z]/g, '').slice(0, 2);\r\n    return country || 'IT';\r\n  }\r\n\r\n  function applyCustomerAccountLocaleParams(url) {\r\n    var lang = currentLanguage === 'en' ? 'en' : 'it';\r\n    url.searchParams.set('locale', lang);\r\n    url.searchParams.set('lang', lang);\r\n    url.searchParams.set('ui_locales', lang);\r\n    url.searchParams.set('region_country', customerAccountRegionCountry());\r\n  }\r\n\r\n  function normalizeCustomerAccountProfileHref(url) {\r\n    var accountUrl = new URL('https://account.florame.ai/');\r\n    applyCustomerAccountLocaleParams(accountUrl);\r\n    if (url && url.hash) accountUrl.hash = url.hash;\r\n    return accountUrl.href;\r\n  }\r\n\r\n  function isCustomerAccountProfilePath(url) {\r\n    if (!url) return false;\r\n    var path = String(url.pathname || '/').replace(/\\/+$/g, '') || '/';\r\n    return path === '/' || path === '/account';\r\n  }\r\n\r\n  function updateLanguageLinks(root) {\r\n    if (!root) return;\r\n    try {\r\n      var nodes = (root.nodeType === 1 ? root : document).querySelectorAll(CONFIG.linkSelector);\r\n      nodes.forEach(function (a) {\r\n        var href = a.dataset.nativeI18nOriginalHref || a.getAttribute('href') || '';\r\n        if (!href || href.indexOf('#') === 0) return;\r\n        if (!a.dataset.nativeI18nOriginalHref) a.dataset.nativeI18nOriginalHref = href;\r\n        var url = new URL(href, window.location.origin);\r\n        var isSameOrigin = url.origin === window.location.origin;\r\n        var isFlorameHost = /(^|\\.)florame\\.ai$/i.test(url.hostname);\r\n        var isFlorameAccountHost = /^account\\.florame\\.ai$/i.test(url.hostname);\r\n        var isShopifyCustomerAccountHost = (/^shopify\\.com$/i.test(url.hostname) || /^customer-account\\.shopify\\.com$/i.test(url.hostname)) && (/\\/account(?:\\/|$)/i.test(url.pathname) || /\\/authentication\\//i.test(url.pathname));\r\n        if (!isSameOrigin && !isFlorameHost && !isShopifyCustomerAccountHost) return;\r\n        var isCustomerAccountLink = isFlorameAccountHost || isShopifyCustomerAccountHost || a.hasAttribute('data-florame-account-link');\r\n        var isCustomerAccountProfileLink = isCustomerAccountLink && isCustomerAccountProfilePath(url) && !isCustomerAccountLoginLink(url, href) && !isCustomerAccountLogoutLink(url, href);\r\n        if (isCustomerAccountProfileLink) {\r\n          a.setAttribute('href', normalizeCustomerAccountProfileHref(url));\r\n          return;\r\n        }\r\n        if (isCustomerAccountLink) {\r\n          applyCustomerAccountLocaleParams(url);\r\n        } else if ((isSameOrigin || isFlorameHost) && isLocalizableStorefrontPath(url.pathname)) {\r\n          url.pathname = localizeStorefrontPath(url.pathname, currentLanguage);\r\n          url.searchParams.delete('lang');\r\n          url.searchParams.delete('locale');\r\n        } else if (currentLanguage === 'en') {\r\n          url.searchParams.set('locale', 'en');\r\n          url.searchParams.set('lang', 'en');\r\n        } else {\r\n          url.searchParams.delete('lang');\r\n          url.searchParams.delete('locale');\r\n        }\r\n        if (isCustomerAccountLink) {\r\n          url.searchParams.delete('buyer_flags');\r\n        }\r\n        a.setAttribute('href', isSameOrigin ? (url.pathname + url.search + url.hash) : url.href);\r\n      });\r\n    } catch (_) {}\r\n  }\r\n\r\n  function syncCheckoutLocale(root) {\r\n    try {\r\n      var scope = root && root.nodeType === 1 ? root : document;\r\n      scope.querySelectorAll('form[action]').forEach(function (form) {\r\n        var action = form.getAttribute('action') || '';\r\n        var url = new URL(action, window.location.origin);\r\n        if (bareStorefrontPath(url.pathname) !== '/cart') return;\r\n        url.pathname = localizeStorefrontPath(url.pathname, currentLanguage);\r\n        url.searchParams.delete('lang');\r\n        url.searchParams.delete('locale');\r\n        form.setAttribute('action', url.origin === window.location.origin ? (url.pathname + url.search + url.hash) : url.href);\r\n        var input = form.querySelector('input[name=\"locale\"][data-native-i18n-locale]');\r\n        if (currentLanguage === 'en') {\r\n          if (!input) {\r\n            input = document.createElement('input');\r\n            input.type = 'hidden';\r\n            input.name = 'locale';\r\n            input.setAttribute('data-native-i18n-locale', '1');\r\n            form.appendChild(input);\r\n          }\r\n          input.value = 'en';\r\n        } else if (input) {\r\n          input.remove();\r\n        }\r\n      });\r\n    } catch (_) {}\r\n  }\r\n\r\n  function apply(root) {\r\n    isApplying = true;\r\n    try {\r\n      walk(root || document.body || document.documentElement);\r\n      updateLanguageLinks(root || document);\r\n      syncCheckoutLocale(root || document);\r\n      updateSwitcher();\r\n    } finally {\r\n      isApplying = false;\r\n    }\r\n  }\r\n\r\n  function schedule(nodes) {\r\n    if (nodes && nodes.length) {\r\n      for (var i = 0; i < nodes.length; i += 1) {\r\n        var node = nodes[i];\r\n        if (!node) continue;\r\n        if (pendingNodeSet && pendingNodeSet.has(node)) continue;\r\n        pendingNodes.push(node);\r\n        if (pendingNodeSet) pendingNodeSet.add(node);\r\n      }\r\n    }\r\n    if (scheduled) return;\r\n    scheduled = true;\r\n    var run = function () {\r\n      scheduled = false;\r\n      var batch = pendingNodes.splice(0, currentLanguage === 'en' ? 140 : 90);\r\n      if (pendingNodeSet) {\r\n        batch.forEach(function (node) { pendingNodeSet.delete(node); });\r\n      }\r\n      if (!batch.length) batch = [document.body || document.documentElement];\r\n      batch.forEach(function (node) { apply(node); });\r\n      if (pendingNodes.length) schedule();\r\n    };\r\n    if (isProductPage()) {\r\n      window.setTimeout(run, 0);\r\n      return;\r\n    }\r\n    window.requestAnimationFrame(function () {\r\n      if ('requestIdleCallback' in window) window.requestIdleCallback(run, { timeout: 180 });\r\n      else run();\r\n    });\r\n  }\r\n\r\n  function startObserver() {\r\n    if (observer || !document.documentElement) return;\r\n    observer = new MutationObserver(function (mutations) {\r\n      if (isApplying) return;\r\n      var nodes = [];\r\n      mutations.forEach(function (mutation) {\r\n        if (mutation.type === 'characterData') {\r\n          textOriginals.set(mutation.target, mutation.target.nodeValue || '');\r\n          nodes.push(mutation.target);\r\n        } else if (mutation.type === 'childList') {\r\n          mutation.addedNodes.forEach(function (node) { nodes.push(node); });\r\n        } else if (mutation.type === 'attributes') {\r\n          var store = getAttrStore(mutation.target);\r\n          store[mutation.attributeName] = mutation.target.getAttribute(mutation.attributeName) || '';\r\n          nodes.push(mutation.target);\r\n        }\r\n      });\r\n      schedule(nodes);\r\n    });\r\n    observer.observe(document.documentElement, {\r\n      subtree: true,\r\n      childList: true,\r\n      characterData: true,\r\n      attributes: true,\r\n      attributeFilter: ['placeholder', 'aria-label', 'title', 'alt', 'value']\r\n    });\r\n  }\r\n\r\n  function runCatchupPasses() {\r\n    if (currentLanguage !== 'en') return;\r\n    var delays = isProductPage() ? [220, 700, 1600, 3400, 7000] : [350, 1200, 2800];\r\n    delays.forEach(function (delay) {\r\n      window.setTimeout(function () {\r\n        if (currentLanguage !== 'en') return;\r\n        schedule([document.body || document.documentElement]);\r\n      }, delay);\r\n    });\r\n  }\r\n\r\n  function bindMobileProductCatchup() {\r\n    if (window.__florameNativeI18nProductCatchupBound) return;\r\n    window.__florameNativeI18nProductCatchupBound = '1';\r\n    var run = function () {\r\n      if (currentLanguage !== 'en' || !isProductPage() || productLocaleRedirecting) return;\r\n      schedule([document.body || document.documentElement]);\r\n    };\r\n    try { window.addEventListener('pageshow', run, { passive: true }); } catch (_) {}\r\n    try { window.addEventListener('load', function () { window.setTimeout(run, 120); }, { passive: true }); } catch (_) {}\r\n    try {\r\n      document.addEventListener('visibilitychange', function () {\r\n        if (!document.hidden) window.setTimeout(run, 120);\r\n      });\r\n    } catch (_) {}\r\n  }\r\n\r\n  function setLanguage(lang, options) {\r\n    options = options || {};\r\n    var next = lang === 'en' ? 'en' : 'it';\r\n    try {\r\n      document.documentElement.classList.remove('florame-i18n-ready');\r\n      document.documentElement.classList.remove('florame-i18n-boot-timeout');\r\n    } catch (_) {}\r\n    if (next !== 'en') clearDynamicQueue();\r\n    syncLanguageStorage(next);\r\n    if (options.updateUrl !== false && redirectStorefrontLocaleIfNeeded(next, false)) return;\r\n    apply(document.body || document.documentElement);\r\n    updateTranslationPill();\r\n    markBootReady();\r\n    runCatchupPasses();\r\n    try {\r\n      window.dispatchEvent(new CustomEvent('florame:native-language-change', { detail: { language: next } }));\r\n    } catch (_) {}\r\n    if (options.updateUrl !== false) {\r\n      try {\r\n        var url = new URL(window.location.href);\r\n        if (isLocalizableStorefrontPath(url.pathname)) {\r\n          url.pathname = localizeStorefrontPath(url.pathname, next);\r\n          url.searchParams.delete('lang');\r\n          url.searchParams.delete('locale');\r\n        } else if (next === 'en') {\r\n          url.searchParams.set('lang', 'en');\r\n          url.searchParams.set('locale', 'en');\r\n        } else {\r\n          url.searchParams.delete('lang');\r\n          url.searchParams.delete('locale');\r\n        }\r\n        window.history.replaceState(window.history.state, '', url.pathname + url.search + url.hash);\r\n      } catch (_) {}\r\n    }\r\n  }\r\n\r\n  function injectSwitcher() {\r\n    return;\r\n    if (!CONFIG.autoSwitcher || document.querySelector('[data-native-language-switcher=\"1\"], .custom-lang-dropdown')) return;\r\n    var holder = document.createElement('div');\r\n    holder.className = 'florame-native-lang-switch';\r\n    holder.setAttribute('data-native-language-switcher', '1');\r\n    holder.innerHTML = [\r\n      '<button type=\"button\" data-lang=\"it\" aria-label=\"Italiano\">IT</button>',\r\n      '<button type=\"button\" data-lang=\"en\" aria-label=\"English\">EN</button>'\r\n    ].join('');\r\n    document.body.appendChild(holder);\r\n  }\r\n\r\n  function injectStyles() {\r\n    if (document.getElementById('florameNativeI18nStyles')) return;\r\n    var style = document.createElement('style');\r\n    style.id = 'florameNativeI18nStyles';\r\n    style.textContent = [\r\n      '.florame-native-lang-switch{position:fixed;right:16px;bottom:16px;z-index:2147482000;display:flex;align-items:center;gap:3px;padding:4px;border-radius:999px;background:linear-gradient(145deg,#fff 0%,#fff3f7 48%,#ffe3eb 100%);border:1px solid rgba(255,77,117,.22);box-shadow:0 14px 30px rgba(196,29,75,.16),0 4px 10px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(255,77,117,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}',\r\n      '.florame-native-lang-switch button{appearance:none;border:0;border-radius:999px;background:transparent;color:#6b273a;display:inline-flex;align-items:center;justify-content:center;font:900 12px/1 system-ui,-apple-system,Segoe UI,sans-serif;letter-spacing:.04em;min-width:42px;height:34px;padding:0 12px;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease,filter .16s ease}',\r\n      '.florame-native-lang-switch button:hover{background:rgba(255,77,117,.1);color:#c41d4b;transform:translateY(-1px)}',\r\n      '.florame-native-lang-switch button.is-active{background:linear-gradient(145deg,#ff7fa0 0%,#ff4d75 55%,#d91855 100%);color:#fff;box-shadow:0 9px 18px rgba(255,77,117,.34),inset 0 1px 0 rgba(255,255,255,.38),inset 0 -2px 0 rgba(136,11,52,.22);transform:translateY(-1px);text-shadow:0 1px 1px rgba(70,0,22,.18)}',\r\n      '.florame-native-lang-inline{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;padding:4px!important;border:1px solid rgba(255,77,117,.22)!important;border-radius:999px!important;background:linear-gradient(145deg,#fff 0%,#fff3f7 48%,#ffe3eb 100%)!important;box-shadow:0 14px 30px rgba(196,29,75,.16),0 4px 10px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(255,77,117,.08)!important;color:#6b273a!important}',\r\n      '.florame-native-lang-inline button{appearance:none!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#6b273a!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font:900 12px/1 system-ui,-apple-system,Segoe UI,sans-serif!important;letter-spacing:.04em!important;min-width:42px!important;height:34px!important;padding:0 12px!important;cursor:pointer!important;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease,filter .16s ease!important}',\r\n      '.florame-native-lang-inline button:hover{background:rgba(255,77,117,.1)!important;color:#c41d4b!important;transform:translateY(-1px)!important}',\r\n      '.florame-native-lang-inline button.is-active{background:linear-gradient(145deg,#ff7fa0 0%,#ff4d75 55%,#d91855 100%)!important;color:#fff!important;box-shadow:0 9px 18px rgba(255,77,117,.34),inset 0 1px 0 rgba(255,255,255,.38),inset 0 -2px 0 rgba(136,11,52,.22)!important;transform:translateY(-1px)!important;text-shadow:0 1px 1px rgba(70,0,22,.18)!important}',\r\n      '.florame-translation-pill{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;margin:0 0 10px auto;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.88);color:#6b273a;border:1px solid rgba(255,77,117,.18);box-shadow:0 10px 24px rgba(196,29,75,.10),0 2px 8px rgba(15,23,42,.06),inset 0 1px 0 rgba(255,255,255,.92);font:800 12px/1.1 system-ui,-apple-system,Segoe UI,sans-serif;letter-spacing:0;opacity:0;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}',\r\n      '.florame-translation-pill[hidden]{display:none!important}',\r\n      '.florame-translation-pill.is-visible{opacity:1;transform:translateY(0)}',\r\n      '.florame-translation-pill.is-done{color:#146c43;border-color:rgba(20,108,67,.18);box-shadow:0 10px 24px rgba(20,108,67,.10),0 2px 8px rgba(15,23,42,.05),inset 0 1px 0 rgba(255,255,255,.92)}',\r\n      '.florame-translation-pill__dot{width:7px;height:7px;border-radius:999px;background:#ff4d75;box-shadow:0 0 0 0 rgba(255,77,117,.35);animation:florameTranslationPulse 1.15s ease-in-out infinite}',\r\n      '.florame-translation-pill.is-done .florame-translation-pill__dot{background:#16a34a;animation:none;box-shadow:0 0 0 3px rgba(22,163,74,.12)}',\r\n      '@keyframes florameTranslationPulse{0%{box-shadow:0 0 0 0 rgba(255,77,117,.35);transform:scale(.92)}70%{box-shadow:0 0 0 7px rgba(255,77,117,0);transform:scale(1)}100%{box-shadow:0 0 0 0 rgba(255,77,117,0);transform:scale(.92)}}',\r\n      '@media (max-width:640px){.florame-native-lang-switch{right:12px;bottom:12px}.florame-native-lang-switch button{min-width:35px;height:30px;padding:0 9px;font-size:11px}}'\r\n    ].join('');\r\n    document.head.appendChild(style);\r\n  }\r\n\r\n  function updateSwitcher() {\r\n    try {\r\n      document.querySelectorAll('[data-native-language-switcher=\"1\"] button[data-lang], .lang-opt[data-native-lang], .language-option[data-lang]').forEach(function (button) {\r\n        var lang = button.getAttribute('data-lang') || button.getAttribute('data-native-lang') || '';\r\n        button.classList.toggle('is-active', lang === currentLanguage);\r\n        button.setAttribute('aria-pressed', lang === currentLanguage ? 'true' : 'false');\r\n      });\r\n      var emoji = document.getElementById('currentEmoji');\r\n      if (emoji) emoji.textContent = currentLanguage === 'en' ? '\uD83C\uDDEC\uD83C\uDDE7' : '\uD83C\uDDEE\uD83C\uDDF9';\r\n    } catch (_) {}\r\n  }\r\n\r\n  function translateDialogText(value) {\r\n    var text = String(value == null ? '' : value);\r\n    return currentLanguage === 'en' ? translateText(text) : restoreItalianText(text);\r\n  }\r\n\r\n  function bindNativeDialogs() {\r\n    if (window.__florameNativeI18nDialogsBound) return;\r\n    window.__florameNativeI18nDialogsBound = '1';\r\n    var nativeAlert = window.alert;\r\n    var nativeConfirm = window.confirm;\r\n    var nativePrompt = window.prompt;\r\n    if (typeof nativeAlert === 'function') {\r\n      window.alert = function (message) {\r\n        return nativeAlert.call(window, translateDialogText(message));\r\n      };\r\n    }\r\n    if (typeof nativeConfirm === 'function') {\r\n      window.confirm = function (message) {\r\n        return nativeConfirm.call(window, translateDialogText(message));\r\n      };\r\n    }\r\n    if (typeof nativePrompt === 'function') {\r\n      window.prompt = function (message, defaultValue) {\r\n        return nativePrompt.call(window, translateDialogText(message), defaultValue);\r\n      };\r\n    }\r\n  }\r\n\r\n  function bindExistingLanguageMenus() {\r\n    try {\r\n      document.querySelectorAll('.lang-opt[onclick*=\"selectLang\"]').forEach(function (node) {\r\n        var text = normalize(node.textContent || '').toLowerCase();\r\n        var lang = text.indexOf('english') >= 0 ? 'en' : (text.indexOf('italiano') >= 0 ? 'it' : '');\r\n        if (!lang) return;\r\n        node.setAttribute('data-native-lang', lang);\r\n      });\r\n    } catch (_) {}\r\n  }\r\n\r\n  function bindLanguageButtons() {\r\n    if (document.documentElement.dataset.nativeI18nButtonsBound === '1') return;\r\n    document.documentElement.dataset.nativeI18nButtonsBound = '1';\r\n    document.addEventListener('click', function (event) {\r\n      var button = event.target && event.target.closest ? event.target.closest('[data-native-language-switcher=\"1\"] button[data-lang], .florame-native-lang-switch button[data-lang], .lang-opt[data-native-lang], .language-option[data-lang]') : null;\r\n      if (!button) return;\r\n      event.preventDefault();\r\n      setLanguage(button.getAttribute('data-lang') || button.getAttribute('data-native-lang') || 'it');\r\n    });\r\n  }\r\n\r\n  function boot() {\r\n    if (productLocaleRedirecting) return;\r\n    syncLanguageStorage(currentLanguage);\r\n    if (redirectStorefrontLocaleIfNeeded(currentLanguage, true)) return;\r\n    injectStyles();\r\n    bindNativeDialogs();\r\n    injectSwitcher();\r\n    bindExistingLanguageMenus();\r\n    bindLanguageButtons();\r\n    bindMobileProductCatchup();\r\n    apply(document.body || document.documentElement);\r\n    updateTranslationPill();\r\n    markBootReady();\r\n    runCatchupPasses();\r\n    startObserver();\r\n  }\r\n\r\n  function earlyBoot() {\r\n    syncLanguageStorage(currentLanguage);\r\n    if (redirectStorefrontLocaleIfNeeded(currentLanguage, true)) return;\r\n    injectStyles();\r\n    bindNativeDialogs();\r\n    bindMobileProductCatchup();\r\n    startObserver();\r\n    apply(document.documentElement);\r\n    updateTranslationPill();\r\n  }\r\n\r\n  window.FlorameI18n = {\r\n    t: function (value) { return currentLanguage === 'en' ? translateText(value) : String(value == null ? '' : value); },\r\n    apply: apply,\r\n    setLanguage: setLanguage,\r\n    getLanguage: function () { return currentLanguage; },\r\n    isEnglish: function () { return currentLanguage === 'en'; }\r\n  };\r\n\r\n  earlyBoot();\r\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot);\r\n  else boot();\r\n})();\r\n"],
  "mappings": "CAAC,UAAY,CACX,aAEA,IAAI,OAAS,OAAO,OAAO,CACzB,gBAAiB,KACjB,mBAAoB,CAAC,KAAM,IAAI,EAC/B,WAAY,sBACZ,aAAc,GACd,uBAAwB,KACxB,aAAc,yOACd,mBAAoB,GACpB,oBAAqB,4EACrB,gBAAiB,iCACjB,kBAAmB,GACrB,EAAG,OAAO,2BAA6B,CAAC,CAAC,EAErC,cAAgB,CAClB,SACA,QACA,WACA,SACA,SACA,MACA,OACA,WACA,OACA,MACA,eACA,sBACA,oBACA,qBACA,mBACA,8BACA,8BACA,wBACA,8BACA,yBACA,qBACA,sBACA,0BACA,kBACF,EAAE,KAAK,GAAG,EAEN,wBAA0B,CAC5B,SACA,QACA,WACA,SACA,SACA,MACA,OACA,OACA,MACA,eACA,sBACA,oBACA,qBACA,mBACA,8BACA,8BACA,wBACA,8BACA,yBACA,qBACA,sBACA,0BACA,kBACF,EAAE,KAAK,GAAG,EAEN,sBAAwB,CAC1B,QACA,WACA,SACA,SACA,OACA,eACA,cACA,gCACA,+BACA,uBACF,EAAE,KAAK,GAAG,EAEN,KAAO,CACT,4DAAwD,sDACxD,WAAY,aACZ,4DAA0D,+DAC1D,4EAAqE,wDACrE,uEAAsE,wDACtE,sBAAuB,sBACvB,iCAAkC,wCAClC,6EAAyE,4DACzE,wEAA0E,4DAC1E,aAAc,YACd,mBAAoB,uBACpB,2BAA4B,qBAC5B,iDAAkD,sDAClD,uBAAwB,kBACxB,gEAAyD,iEACzD,2DAA0D,iEAC1D,kBAAmB,kBACnB,yCAA0C,oCAC1C,uBAAqB,qBACrB,oBAAqB,qBACrB,4CAA6C,oCAC7C,qBAAsB,iBACtB,yBAA0B,qBAC1B,QAAW,SACX,QAAW,SACX,2BAA4B,6BAC5B,mKAAoK,iJACpK,ySAAuS,0QACvS,+QAA6Q,0PAC7Q,0DAAwD,mCACxD,4BAA6B,iBAC7B,qCAA0B,8BAC1B,iEAA+D,sEAC/D,kBAAmB,mBACnB,UAAW,UACX,SAAU,SACV,+EAAiF,wEAEjF,eAAgB,aAChB,0BAA2B,wBAC3B,2BAA4B,0BAC5B,mBAAoB,0BACpB,qBAAsB,cACtB,iCAAkC,uBAClC,gBAAiB,YACjB,eAAgB,eAChB,0BAA2B,yBAC3B,qBAAsB,uBACtB,8BAA+B,uBAC/B,QAAW,WACX,sBAAuB,uBACvB,sBAAuB,sBACvB,uBAAwB,uBACxB,sBAAuB,wBACvB,oBAAqB,gBACrB,gBAAiB,iBACjB,SAAY,WACZ,SAAY,WACZ,oBAAkB,eAClB,YAAU,MACV,gBAAiB,mBACjB,kBAAmB,mBACnB,oBAAqB,oBACrB,iBAAkB,cAClB,eAAgB,iBAChB,UAAa,YACb,gBAAiB,eACjB,mBAAoB,iBACpB,mBAAoB,iBACpB,iBAAkB,oBAClB,mBAAoB,gBACpB,qBAAsB,gBACtB,mBAAoB,kBACpB,yBAA0B,2BAC1B,kBAAmB,wBACnB,wBAAyB,2BACzB,qBAAsB,sBACtB,cAAe,eACf,oBAAqB,eACrB,eAAgB,aAChB,qBAAsB,mBACtB,mCAAiC,kCACjC,sBAAuB,gBACvB,kCAAmC,uCACnC,2BAA4B,8BAC5B,yBAA0B,oBAC1B,gBAAiB,iBACjB,qBAAsB,iBACtB,oDAAqD,sDACrD,wBAAyB,2BACzB,qBAAsB,sBACtB,mBAAoB,eACpB,OAAU,SACV,UAAa,UACb,8BAA+B,4BAC/B,sBAAuB,gCACvB,kDAAgD,qDAChD,uBAAwB,kBACxB,gEAA4D,uDAC5D,4BAA6B,sBAC7B,2BAAyB,oBACzB,0DAAwD,qDACxD,qBAAsB,eACtB,+BAA6B,6BAC7B,mCAAoC,mCACpC,oDAAkD,0CAClD,aAAc,aACd,OAAU,SACV,mBAAoB,qBACpB,YAAa,kBACb,4BAA6B,yBAC7B,mBAAoB,iBACpB,qBAAsB,iBACtB,mBAAoB,qBACpB,QAAW,QACX,SAAY,UACZ,SAAY,WACZ,SAAY,WACZ,0BAA2B,wBAC3B,gCAAiC,gCACjC,OAAU,UACV,yBAA0B,uBAC1B,eAAgB,eAChB,QAAW,UACX,wBAAyB,sBACzB,mBAAoB,qBACpB,uCAAyC,qCACzC,sBAAuB,uBACvB,qBAAsB,sBACtB,YAAa,YACb,sBAAuB,qBACvB,oBAAqB,mBACrB,oBAAqB,mBACrB,qBAAsB,oBACtB,gDAAiD,+CACjD,QAAW,WACX,iBAAkB,gBAClB,cAAe,cACf,sBAAuB,aACvB,mCAAoC,wCACpC,YAAa,iBACb,yBAA0B,8BAC1B,wBAAyB,kBACzB,iDAAkD,0CAClD,UAAa,gBACb,OAAU,KACV,OAAU,MACV,eAAgB,cAChB,cAAe,cACf,iBAAkB,gBAClB,oBAAqB,qBACrB,eAAgB,iBAChB,kBAAmB,cACnB,2BAAuB,iBACvB,sBAAwB,iBACxB,MAAS,OACT,kBAAmB,mBACnB,KAAQ,UACR,cAAe,iBACf,sBAAuB,kBACvB,eAAgB,sBAChB,aAAc,oBACd,eAAgB,gBAChB,oCAAqC,gCACrC,SAAY,UACZ,wCAA0C,0BAC1C,6CAAyC,0BACzC,YAAa,UACb,mBAAoB,eACpB,8CAA+C,mCAC/C,+BAAgC,uBAChC,8EAA+E,0EAC/E,kCAAmC,8BACnC,0BAA2B,gBAC3B,sCAAkC,mCAClC,2DAA4D,uDAC5D,sDAAuD,wDACvD,6DAA2D,yDAC3D,sGAAwG,iGACxG,uCAAwC,oCACxC,oEAAqE,uDACrE,gEAAiE,8DACjE,oDAAqD,0DACrD,oDAAqD,gEACrD,yDAA0D,uDAC1D,uCAAwC,wCACxC,mDAAiD,yDACjD,8BAA+B,+BAC/B,4CAA6C,4CAC7C,uCAAwC,0CACxC,8CAA+C,0CAC/C,gBAAiB,eACjB,+BAAgC,2BAChC,+CAAgD,oCAChD,4BAA8B,yBAC9B,iCAA6B,yBAC7B,gCAAkC,4BAClC,qCAAiC,4BACjC,sCAAuC,8BACvC,4CAA6C,8CAC7C,4CAA0C,uCAC1C,yCAA0C,uCAC1C,4CAA6C,uCAC7C,mFAAoF,4EACpF,gIAA8H,qHAC9H,6HAA8H,qHAC9H,0DAA2D,8CAC3D,2CAA4C,sCAC5C,2BAA4B,0BAC5B,8BAA4B,qBAC5B,6BAA2B,oBAC3B,gBAAiB,gBACjB,mBAAiB,cACjB,gBAAiB,cACjB,sBAAuB,sBACvB,aAAc,aACd,gBAAiB,eACjB,6CAA8C,2CAC9C,gBAAkB,iBAClB,qBAAiB,iBACjB,6GAA8G,0GAC9G,eAAgB,sBAChB,gHAAiH,mGACjH,yGAA0G,6FAC1G,uBAAqB,iBACrB,oBAAqB,iBACrB,yBAA0B,yBAC1B,0BAA2B,yBAC3B,yCAAuC,+BACvC,sCAAuC,+BACvC,6HAAoG,kGACpG,qGAAsG,kGACtG,WAAY,aACZ,gFAAiF,sFACjF,8BAA4B,uBAC5B,2BAA4B,uBAC5B,6CAA2C,oCAC3C,0CAA2C,oCAC3C,mFAA4E,0EAC5E,2EAA6E,0EAC7E,sEAAoE,yEACpE,sEAAoE,yEACpE,oBAAqB,eACrB,8FAAqF,qFACrF,oFAAqF,qFACrF,0EAA2E,mEAC3E,wBAAyB,qBACzB,6CAA8C,kCAC9C,0FAA2F,mFAC3F,kBAAmB,mBACnB,4BAA6B,oBAC7B,2CAA4C,qCAC5C,UAAa,UACb,SAAU,QACV,2BAA4B,4BAC5B,eAAgB,WAChB,gEAAiE,+DACjE,mBAAoB,qBACpB,0BAA2B,sBAC3B,qGAAsG,oEAEtG,gCAA8B,2BAC9B,4BAA6B,gCAC7B,qBAAsB,2BACtB,8EAA+E,+EAC/E,mCAA8B,iCAC9B,gCAA8B,iCAC9B,wCAAmC,8CACnC,qCAAmC,8CACnC,aAAc,cACd,2BAA4B,0BAC5B,gCAAiC,uBACjC,oBAAqB,cACrB,iCAAkC,uBAClC,qBAAsB,cACtB,mBAAoB,0BACpB,6BAA8B,8BAC9B,qBAAsB,eACtB,+BAA6B,6BAC7B,gBAAiB,YACjB,eAAgB,eAChB,KAAQ,OACR,8BAA+B,6BAC/B,mBAAoB,cACpB,yCAA0C,+BAC1C,2BAA4B,sCAC5B,8BAA+B,kCAC/B,uEAAqE,2EACrE,eAAgB,aAChB,oBAAqB,gCACrB,kBAAmB,uBACnB,kBAAmB,0BACnB,SAAU,UACV,YAAe,YACf,SAAY,WACZ,YAAU,MACV,SAAU,OACV,iBAAkB,iBAClB,gBAAiB,gBACjB,kCAAmC,uCACnC,uCAAwC,kCACxC,iCAA+B,mCAC/B,uBAAqB,2BACrB,2BAA4B,0BAC5B,2BAA4B,0BAC5B,yCAAuC,uCACvC,qDAAmD,6CACnD,qBAAsB,gBACtB,qBAAsB,gBACtB,8BAA+B,yBAC/B,oBAAqB,mBACrB,eAAa,aACb,2BAA4B,sBAC5B,uBAAwB,wBACxB,wCAAoC,qCACpC,GAAM,MACN,8BAA+B,6BAC/B,oCAAqC,qCACrC,iCAAkC,8BAClC,oBAAqB,wBACrB,mCAAoC,8BACpC,OAAU,SACV,kBAAgB,gBAChB,eAAgB,gBAChB,qCAAsC,yBACtC,eAAgB,sBAChB,aAAc,oBACd,eAAgB,gBAChB,oCAAqC,gCACrC,oBAAqB,WACrB,gBAAiB,WACjB,mBAAiB,eACjB,cAAiB,eACjB,mBAAoB,iBACpB,qBAAsB,gBACtB,qBAAsB,gBACtB,aAAc,aACd,aAAc,aACd,qBAAsB,qBACtB,yCAA0C,mCAC1C,sBAAuB,gBACvB,wEAAyE,iEACzE,mBAAoB,iBACpB,SAAY,UACZ,+CAAgD,8CAChD,wDAAyD,kDACzD,QAAW,QACX,QAAW,SACX,4BAA6B,sBAC7B,4BAA6B,uBAC7B,kBAAmB,eACnB,qBAAsB,iBACtB,kFAAmF,yEACnF,4CAA0C,wCAC1C,+GAAiG,2HACjG,kGAAmG,2HACnG,iEAAkE,kEAClE,2FAA4F,uGAC5F,mKAAqJ,iLACrJ,sJAAuJ,iLACvJ,+CAAiD,kDACjD,gBAAiB,eACjB,qBAAsB,gBACtB,sBAAuB,oBACvB,kCAA8B,+BAC9B,6BAA+B,+BAC/B,OAAU,QACV,eAAgB,aAChB,gBAAiB,qBACjB,+DAAgE,qDAChE,yBAA0B,mBAC1B,MAAS,OACT,uGAAgG,0FAChG,sBAAuB,gCACvB,iBAAkB,iBAClB,2BAA4B,wBAC5B,sBAAuB,oBACvB,kBAAmB,aACnB,OAAU,WACV,cAAe,eACf,2BAA4B,uBAC5B,UAAa,gBACb,OAAU,KACV,OAAU,MACV,eAAgB,cAChB,cAAe,cACf,iBAAkB,gBAClB,oBAAqB,qBACrB,eAAgB,iBAChB,kBAAmB,cACnB,QAAW,UACX,wBAAyB,sBACzB,eAAgB,gBAChB,OAAU,UACV,MAAS,OACT,sBAAuB,eACvB,KAAQ,WACR,2BAAuB,2BACvB,sBAAwB,2BACxB,cAAe,cACf,sCAAkC,6BAClC,iCAAmC,6BACnC,kFAAmF,gFACnF,gBAAiB,eACjB,gBAAiB,gBACjB,oBAAqB,qBACrB,kBAAmB,eACnB,qBAAiB,mBACjB,gBAAkB,mBAClB,sBAAuB,wBACvB,eAAgB,eAChB,kBAAmB,mBACnB,sBAAuB,2BACvB,iCAAkC,uBAClC,+BAAgC,wBAChC,0DAA2D,+DAC3D,cAAe,eACf,UAAW,UACX,sCAAoC,8BACpC,iEAAkE,gEAClE,4BAA0B,qBAC1B,eAAgB,oBAChB,yBAA0B,qBAC1B,WAAc,YACd,gBAAiB,qBACjB,iBAAa,cACb,cAAe,cACf,QAAW,OACX,sBAAuB,sBACvB,iBAAkB,iBAClB,oBAAqB,oBACrB,kBAAmB,iBACnB,SAAY,cACZ,cAAe,cACf,cAAe,cACf,cAAe,cACf,UAAa,UACb,oCAAqC,iCACrC,iCAAkC,iCAClC,qCAAmC,kCACnC,6CAA8C,qCAC9C,2BAA0B,uBAC1B,2BAAyB,uBACzB,iBAAkB,gBAClB,kEAAyD,yDACzD,wDAAyD,yDACzD,cAAe,cACf,iEAAkE,4DAClE,kBAAgB,aAChB,eAAgB,aAChB,aAAgB,YAChB,oFAAwE,yEACxE,uEAAwE,yEACxE,kBAAmB,iBACnB,kEAA6D,uEAC7D,4DAA6D,uEAC7D,gBAAiB,mBACjB,2EAAkE,+DAClE,iEAAkE,+DAClE,wBAAyB,sBACzB,4CAA6C,oDAC7C,oBAAqB,kBACrB,yCAA0C,4CAC1C,qBAAsB,qBACtB,iCAAkC,0CAClC,qBAAsB,oBACtB,iCAAkC,8BAClC,qBAAsB,qBACtB,kDAA8C,iDAC9C,6CAA+C,iDAC/C,qBAAsB,aACtB,0DAA2D,2DAC3D,iBAAkB,gBAClB,wDAAsD,qDACtD,kBAAmB,iBACnB,8CAA+C,2CAC/C,YAAe,mBACf,qCAAsC,6BACtC,gBAAiB,qBACjB,yCAA0C,wCAC1C,wBAAsB,cACtB,qDAAiD,+CACjD,gDAAkD,+CAClD,kBAAmB,kBACnB,wCAAyC,0CACzC,eAAgB,kBAChB,oCAAqC,kCACrC,gBAAiB,gBACjB,oCAAqC,+BACrC,kBAAmB,kBACnB,oCAAqC,iCACrC,oEAAqE,4DACrE,oBAAqB,kBACrB,4EAA0E,2EAC1E,yEAA0E,2EAC1E,uDAAwD,gDACxD,8BAA+B,oBAC/B,YAAe,cACf,kHAAmH,kGACnH,mFAAiF,sEACjF,sEAAoE,yEACpE,6EAA8E,gFAC9E,iIAAqH,qHACrH,iFAA2E,sFAC3E,kBAAmB,gBACnB,gBAAiB,gBACjB,kBAAmB,gBACnB,OAAU,UACV,UAAa,QACb,WAAc,OACd,MAAS,MACT,cAAe,WACf,kBAAmB,gBACnB,QAAW,SACX,cAAgB,WAChB,mBAAe,WACf,mBAAoB,YACpB,cAAe,aACf,cAAe,YACf,KAAQ,QACR,mBAAoB,eACpB,6CAA2C,gDAC3C,0CAA2C,gDAC3C,qEAAsE,oEACtE,mBAAoB,sBACpB,0BAA2B,qBAC3B,gGAAiG,gGAEjG,sBAAuB,0BACvB,iCAAkC,4BAClC,oBAAqB,eACrB,kBAAmB,cACnB,eAAgB,eAChB,2BAA4B,kBAC5B,6BAA8B,mCAC9B,YAAe,aACf,OAAU,OACV,0EAA2E,6DAC3E,0HAAwH,yGACxH,uFAAqF,wFACrF,gCAAiC,uCACjC,iBAAkB,wBAClB,oCAAsC,6BACtC,kBAAmB,eACnB,kCAAmC,kCACnC,UAAa,UACb,mCAAoC,iCACpC,mBAAoB,gBACpB,SAAY,WACZ,SAAY,OACZ,kBAAmB,gBACnB,cAAe,aACf,kBAAmB,iBACnB,sBAAuB,mBACvB,qBAAsB,mBACtB,uBAAwB,qBACxB,qBAAsB,oBACtB,wBAAyB,sBACzB,4BAAwB,2BACxB,+BAA2B,6BAC3B,wEAAsE,4EACtE,qBAAsB,eACtB,qBAAsB,eACtB,aAAgB,YAChB,SAAY,QACZ,QAAW,QACX,SAAY,WACZ,oBAAqB,gBACrB,qBAAsB,YACtB,iCAAkC,4BAClC,oCAAqC,kCACrC,mBAAoB,gBACpB,2EAA4E,8EAC5E,kCAAmC,6BACnC,qCAAsC,4CACtC,uDAAwD,4DACxD,sEAAuE,+DACvE,oHAAqH,2GACrH,qKAAiK,mKACjK,6EAA8E,uEAC9E,2BAA4B,kBAC5B,uBAAwB,gBACxB,eAAgB,gBAChB,iBAAkB,iBAClB,kEAAgE,0DAChE,+DAAgE,0DAChE,uGAA2F,8GAC3F,iGAA2F,8GAC3F,mCAAoC,8BACpC,QAAW,OACX,+DAAgE,kEAChE,6DAA8D,oEAC9D,kCAAmC,sCACnC,uDAAwD,mDACxD,2BAA4B,sBAC5B,gCAAiC,wBACjC,KAAQ,OACR,IAAO,OACP,QAAW,UACX,WAAc,YACd,KAAQ,UACR,oBAAqB,eACrB,oBAAqB,eACrB,qBAAsB,WACtB,2CAA4C,qCAC5C,wBAAyB,oBACzB,wBAAyB,mBACzB,wBAAyB,mBACzB,KAAQ,aACR,QAAW,YACX,qBAAsB,eACtB,uBAAwB,gBACxB,iCAAkC,0BAClC,sCAAuC,+BACvC,wBAAyB,oBACzB,wBAAyB,oBACzB,oCAAqC,mCACrC,6BAA8B,0BAC9B,eAAkB,QAClB,SAAY,cACZ,wBAAyB,qBACzB,uBAAwB,oBACxB,OAAU,OACV,iBAAkB,aAClB,oBAAqB,aACrB,kBAAmB,WACnB,mBAAoB,iBACpB,oCAAqC,qCACrC,iBAAkB,oBAClB,iBAAkB,mBAClB,6CAA8C,8CAC9C,4BAA6B,+BAC7B,0BAA2B,4BAC3B,0DAAiD,2DACjD,sCAAgC,yCAChC,iCAA6B,mCAC7B,gBAAiB,aACjB,yBAA0B,0BAC1B,qBAAsB,gBACtB,qBAAsB,iBACtB,oCAAqC,kCACrC,yBAA0B,kCAC1B,wBAAyB,+BACzB,kBAAmB,eACnB,SAAU,eACV,YAAa,cACb,aAAc,UACd,qBAAsB,qBACtB,+BAA6B,2BAC7B,4BAA6B,2BAC7B,cAAe,cACf,oBAAqB,2BACrB,mDAAoD,mDACpD,6BAA8B,8BAC9B,oBAAqB,uBACrB,uCAAwC,+CACxC,+EAAgF,6DAChF,+GAAgH;AAAA,0EAChH,WAAc,WACd,MAAS,OACT,UAAa,WACb,MAAS,MACT,UAAa,aACb,MAAS,SACT,OAAU,YACV,cAAe,iBACf,UAAa,UACb,OAAU,SACV,OAAU,kBACV,4CAA6C,2BAC7C,gBAAiB,kBACjB,mBAAoB,uBACpB,uBAAwB,oBACxB,gBAAiB,YACjB,4CAA6C,+BAC7C,yGAA0G,mEAC1G,gKAAiK,qGACjK,0BAA2B,iCAC3B,6BAA8B,uBAC9B,uDAAwD,yCACxD,+BAAgC,yBAChC,gCAAiC,qBACjC,WAAc,YACd,2DAA4D,gEAC5D,sBAAuB,wBAEvB,SAAY,OACZ,uBAAwB,cACxB,gCAAiC,yBACjC,sBAAuB,YACvB,sBAAuB,eACvB,2BAA4B,sBAC5B,kBAAmB,aACnB,uBAAwB,sBACxB,SAAY,WACZ,OAAU,QACV,UAAa,WACb,cAAY,WACZ,OAAU,QACV,gBAAiB,cACjB,oBAAqB,gBACrB,kBAAmB,aACnB,kBAAmB,aACnB,GAAM,OACN,SAAY,UACZ,YAAe,cACf,UAAa,SACb,aAAc,UACd,QAAW,SACX,SAAY,SACZ,eAAgB,UAChB,aAAc,UACd,iBAAkB,iBAClB,sBAAwB,eACxB,2BAAuB,eACvB,mBAAoB,kBACpB,kBAAmB,iBACnB,8CAA+C,mCAC/C,6CAA8C,mCAC9C,mCAAoC,kCACpC,WAAc,WACd,qBAAsB,mBACtB,qCAAsC,+BACtC,oCAAqC,qBACrC,+CAA6C,qCAC7C,qDAAmD,qCACnD,SAAY,WACZ,YAAe,YACf,kBAAmB,gBACnB,MAAS,SACT,oBAAqB,qBACrB,0BAA2B,8BAC3B,OAAU,SACV,eAAgB,gBAChB,wBAAyB,sBACzB,QAAW,UACX,mBAAoB,iBACpB,OAAU,WACV,SAAY,UACZ,YAAe,cACf,OAAU,UACV,oBAAqB,mBACrB,sBAAuB,oBACvB,8BAA+B,0BAC/B,2BAA4B,sBAC5B,KAAQ,QACR,sCAAuC,iCACvC,kBAAmB,eACnB,aAAc,WACd,gCAA8B,6BAC9B,6BAA8B,6BAC9B,mHAAoH,kGACpH,kBAAmB,eACnB,0BAA2B,2BAC3B,mBAAoB,mBACpB,OAAU,SACV,kCAAmC,8BACnC,qBAAsB,oBACtB,mCAAoC,oCACpC,yCAA0C,6CAC1C,oCAAqC,kCACrC,6CAA8C,+BAC9C,6CAA8C,sCAC9C,2BAA4B,yBAC5B,uBAAwB,qBACxB,OAAU,QACV,4DAA8D,oDAC9D,iEAA6D,oDAC7D,QAAW,WACX,UAAa,UACb,6BAA8B,iBAC9B,qBAAsB,mBACtB,qCAAsC,kCACtC,SAAU,UACV,WAAc,YACd,cAAe,mBACf,YAAa,cACb,2BAA4B,uBAC5B,sBAAuB,kBACvB,UAAa,YACb,gBAAiB,iBACjB,sBAAuB,oBACvB,uBAAwB,qBACxB,UAAW,UACX,QAAS,QACT,UAAW,QACX,gBAAiB,aACjB,YAAa,SACb,YAAa,YACb,QAAS,SACT,uBAAwB,gBACxB,cAAe,aACf,OAAU,SACV,aAAgB,WAChB,UAAa,YACb,MAAS,OACT,QAAW,SACX,OAAU,QACV,kBAAmB,gBACnB,oBAAqB,mBACrB,SAAY,OACZ,QAAW,SACX,UAAa,QACb,WAAc,YACd,QAAW,UACX,SAAY,MACZ,gCAAiC,8BACjC,2BAA4B,8BAC5B,8EAA+E,0EAC/E,sCAAkC,iCAClC,iCAAmC,iCACnC,UAAa,UACb,SAAY,UACZ,kBAAmB,gBACnB,qBAAsB,kBACtB,sBAAuB,sBACvB,gCAAiC,sBACjC,qBAAuB,gBACvB,0BAA2B,mBAC3B,uCAAwC,iCACxC,UAAa,WACb,cAAe,aACf,iCAAkC,yBAClC,aAAgB,YAChB,YAAa,aACb,YAAa,aACb,kBAAmB,mBACnB,mBAAoB,sBACpB,sBAAuB,2BACvB,aAAc,aACd,YAAa,aACb,sBAAuB,uBACvB,qCAAsC,+BACtC,oBAAqB,eACrB,oBAAqB,mBACrB,qBAAsB,oBACtB,cAAe,aACf,qBAAsB,iBACtB,OAAU,KACV,yBAAuB,2BACvB,sBAAuB,2BACvB,aAAc,cACd,cAAe,kBACf,iBAAkB,iBAClB,6BAA8B,2BAE9B,OAAU,WACV,0BAA2B,gBAC3B,sBAAuB,oBACvB,uCAAqC,2BACrC,qDAAsD,8CACtD,6EAA8E,gFAC9E,6CAA8C,6CAC9C,iCAAkC,0BAClC,uDAAmD,yCACnD,oDAAqD,yCACrD,yBAA0B,qBAC1B,qCAAsC,2BACtC,wKAA8J,kKAC9J,qFAAmF,2EACnF,+DAA6D,oDAC7D,mFAAiF,6EACjF,mEAAoE,yEACpE,uEAAqE,gEACrE,uEAAqE,8DACrE,2EAAyE,0EACzE,mDAAoD,oDACpD,KAAQ,SACR,oBAAqB,oBACrB,KAAQ,QACR,SAAY,SACZ,SAAY,aACZ,MAAS,SACT,8BAA+B,0BAC/B,iBAAkB,cAClB,mCAAoC,+BACpC,6BAA8B,wBAC9B,yBAA0B,sBAC1B,eAAgB,gBAChB,0BAA2B,wBAC3B,wBAAyB,qBACzB,gCAAiC,qBACjC,wCAAyC,sCACzC,gFAAiF,gFACjF,mBAAoB,mBACpB,+CAAgD,wCAChD,wBAAyB,sBACzB,sBAAuB,oBACvB,kDAA6C,kDAC7C,8BAA+B,sBAC/B,wCAAyC,gDACzC,oBAAqB,mBACrB,sDAAuD,sDACvD,kBAAmB,kBACnB,wCAAyC,qCACzC,qCAAmC,8BACnC,kCAAmC,8BACnC,yFAAwF,qDACxF,sFAAwF,qDACxF,8CAA0C,0CAC1C,8DAA0D,gEAC1D,yFAA+E,6EAC/E,qFAAmF,2EACnF,gDAAkD,gDAClD,6DAA8D,oDAC9D,yFAAoF,0EACpF,qFAAiF,kEACjF,2EAAyE,kFACzE,wBAAyB,qBACzB,uDAAqD,2CACrD,0CAA2C,wCAC3C,gCAAiC,+BACjC,yBAA0B,iBAC1B,6BAA8B,sBAC9B,kCAAmC,wBACnC,0BAA2B,sBAC3B,aAAc,cACd,sCAAuC,iCACvC,oDAAqD,kDACrD,eAAgB,SAChB,4BAAmB,sBACnB,uBAAwB,yBACxB,kBAAmB,eACnB,kBAAmB,iBACnB,wBAAyB,iBACzB,iBAAkB,gBAClB,mDAAoD,kDACpD,6DAAyD,2DACzD,0EAA8D,sEAC9D,iCAA6B,yBAC7B,4BAA8B,yBAC9B,oEAAqE,4DACrE,iHAAwG,uGACxG,4GAAyG,uGACzG,6DAA8D,gEAC9D,sDAAgD,sDAChD,qEAA+D,iEAC/D,mDAA+C,4CAC/C,8CAAgD,4CAChD,+EAA6E,uEAC7E,4EAA6E,uEAC7E,sCAAkC,4BAClC,iCAAmC,4BACnC,kCAAgC,iCAChC,+BAAgC,iCAChC,kFAAgF,qFAChF,+EAAgF,qFAChF,0CAA2C,qCAC3C,gFAAiF,sEACjF,sDAAuD,oDACvD,uBAAwB,uBACxB,SAAY,aACZ,2BAA4B,4BAC5B,WAAY,YACZ,eAAgB,mBAChB,2BAA4B,sBAC5B,uBAAwB,mBACxB,8BAA+B,4BAC/B,YAAe,UACf,8BAA+B,wBAC/B,qBAAsB,mBACtB,8BAA+B,2BAC/B,+BAAgC,4BAChC,wCAAyC,8BACzC,6DAA8D,4DAC9D,gBAAc,aACd,WAAc,aACd,QAAW,YACX,mBAAoB,eACpB,aAAgB,cAChB,2JAAqJ,oJACrJ,0BAAmB,oBACnB,uBAAmB,oBACnB,8BAA+B,0BAC/B,iCAAkC,6BAClC,gCAAiC,4BACjC,yCAAqC,gCACrC,mBAAoB,eACpB,kBAAmB,eACnB,mBAAoB,oBACpB,uCAAmC,2BACnC,oCAAqC,2BACrC,iCAA6B,yBAC7B,8BAA+B,yBAC/B,+CAAgD,wCAChD,8CAA+C,sCAC/C,4BAA6B,sBAC7B,YAAa,SACb,YAAa,SACb,iBAAkB,YAClB,WAAc,UACd,MAAS,MACT,MAAS,SACT,OAAU,SACV,MAAS,QACT,YAAe,UACf,aAAc,aACd,qBAAsB,aACtB,mBAAoB,aACpB,oBAAqB,cACrB,+CAAgD,mDAChD,kFAAmF,qEACnF,wDAAyD,+CACzD,8DAA+D,0DAC/D,kDAAmD,sCACnD,qDAAiD,wCACjD,gDAAiD,wCACjD,uDAAmD,2CACnD,kDAAmD,2CACnD,mEAAiE,8DACjE,gEAAiE,8DACjE,4DAA6D,oDAC7D,kEAAgE,qDAChE,2DAA4D,wDAC5D,kEAAgE,oDAChE,mBAAoB,mBACpB,wBAAyB,mBACzB,yBAA0B,sBAC1B,uHAAqH,yHACrH,QAAW,OACX,SAAY,QACZ,MAAS,SACT,OAAU,SACV,gBAAc,aACd,aAAc,aACd,6EAA8E,iFAC9E,2EAA4E,yEAC5E,uFAAwF,+EACxF,8EAA+E,kEAC/E,2FAA4F,2EAC5F,gHAAiH,8GACjH,oEAAqE,+DACrE,sEAAuE,8DACvE,aAAgB,YAChB,UAAa,YACb,sBAAuB,mBACvB,KAAQ,OACR,0CAA2C,qCAC3C,oBAAqB,gBACrB,YAAe,cACf,gBAAiB,gBACjB,UAAa,aACb,WAAc,aACd,iBAAkB,eAClB,2BAA4B,0BAC5B,4BAA6B,0BAC7B,4BAA6B,0BAC7B,MAAS,QACT,mBAAoB,sBACpB,iBAAkB,gBAClB,gBAAiB,gBACjB,iBAAkB,iBAClB,eAAgB,YAChB,eAAgB,YAChB,cAAe,cACf,MAAS,QACT,gBAAiB,eACjB,gBAAiB,eACjB,QAAW,SACX,QAAW,SACX,MAAS,QACT,MAAS,QACT,MAAS,QACT,MAAS,QACT,OAAU,SACV,OAAU,SACV,iBAAkB,iBAClB,iBAAkB,iBAClB,MAAS,SACT,SAAY,UACZ,SAAY,UACZ,OAAU,QACV,OAAU,QACV,MAAS,MACT,MAAS,MACT,OAAU,SACV,OAAU,SACV,UAAa,SACb,UAAa,SACb,IAAO,OACP,IAAO,OACP,QAAW,aACX,QAAW,aACX,QAAW,WACX,QAAW,WACX,SAAY,YACZ,SAAY,YACZ,MAAS,SACT,MAAS,SACT,MAAS,QACT,MAAS,QACT,QAAW,WACX,QAAW,WACX,OAAU,UACV,OAAU,UACV,QAAW,UACX,QAAW,UACX,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,gBAAiB,cACjB,gBAAiB,cACjB,QAAW,QACX,QAAW,QACX,MAAS,QACT,MAAS,QACT,QAAW,SACX,QAAW,SACX,MAAS,QACT,MAAS,QACT,OAAU,QACV,OAAU,QACV,MAAS,QACT,MAAS,QACT,QAAW,QACX,QAAW,QACX,SAAY,WACZ,SAAY,WACZ,SAAY,WACZ,SAAY,WACZ,KAAQ,QACR,KAAQ,QACR,OAAU,OACV,OAAU,OACV,OAAU,OACV,OAAU,OACV,QAAW,SACX,QAAW,SACX,UAAa,SACb,UAAa,SACb,IAAO,OACP,IAAO,OACP,OAAU,SACV,OAAU,SACV,UAAa,YACb,UAAa,YACb,YAAe,aACf,YAAe,aACf,WAAc,aACd,WAAc,aACd,mBAAoB,oBACpB,mCAAoC,2BACpC,gGAAoF,8FACpF,6FAAoF,8FACpF,sFAA+E,uFAC/E,mFAA+E,uFAC/E,oBAAqB,gBACrB,8EAA0E,8DAC1E,yEAA2E,8DAC3E,mBAAe,eACf,cAAgB,eAChB,mBAAe,eACf,cAAgB,eAChB,UAAa,WACb,yIAA0I,kFAC1I,oHAAkH,iGAClH,oNAAqN,6LACrN,iKAA4J,iIAC5J,+EAA6E,mFAC7E,4EAA6E,mFAC7E,iNAAiN,iKACjN,2NAA+M,iKAC/M,8KAAgL,iKAChL,mLAA+K,iKAC/K,wLAA0L,sJAC1L,6LAAyL,sJACzL,8MAA+M,yKAC/M,2LAAyL,+JACzL,mIAAuH,2HACvH,sHAAuH,2HACvH,KAAQ,MACR,aAAc,UACd,aAAc,UACd,cAAe,YACf,2BAA4B,wBAC5B,qBAAsB,YACtB,oBAAqB,aACrB,gCAAiC,kBACjC,8CAA+C,sCAC/C,sCAAuC,6BACvC,kBAAmB,iBACnB,yBAA0B,wBAE1B,QAAW,UACX,SAAY,WACZ,MAAS,QACT,OAAU,QACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,SACV,UAAa,YACb,QAAW,UACX,SAAY,WACZ,SAAY,WACZ,YAAU,SACV,aAAW,UACX,eAAa,YACb,aAAW,WACX,aAAW,SACX,OAAU,WACV,SAAY,QACd,EAEI,SAAW,CACb,CAAC,qBAAsB,gBAAgB,EACvC,CAAC,0CAA2C,6BAA6B,EACzE,CAAC,iCAAkC,yBAAyB,EAC5D,CAAC,oBAAqB,iBAAiB,EACvC,CAAC,mBAAoB,gBAAgB,EACrC,CAAC,mCAAoC,oBAAoB,EACzD,CAAC,gFAAiF,0DAA0D,EAC5I,CAAC,oFAAqF,iDAAiD,EACvI,CAAC,mEAAoE,mDAAmD,EACxH,CAAC,yDAA0D,yBAAyB,EACpF,CAAC,gFAAiF,6EAA6E,EAC/J,CAAC,gFAAiF,6EAA6E,EAC/J,CAAC,yBAA0B,WAAW,EACtC,CAAC,oBAAqB,YAAY,EAClC,CAAC,qBAAsB,aAAa,EACpC,CAAC,uBAAwB,YAAY,EACrC,CAAC,oCAAqC,uBAAuB,EAC7D,CAAC,0CAA2C,2BAA2B,EACvE,CAAC,iCAAkC,uBAAuB,EAC1D,CAAC,+CAAgD,kCAAkC,EACnF,CAAC,oBAAqB,WAAW,EACjC,CAAC,8BAA+B,gBAAgB,EAChD,CAAC,oBAAqB,WAAW,EACjC,CAAC,0BAA2B,eAAe,EAC3C,CAAC,mBAAoB,SAAS,EAC9B,CAAC,mBAAoB,QAAQ,CAC/B,EAEI,mBAAqB,CACvB,CAAC,cAAe,YAAY,EAC5B,CAAC,cAAe,YAAY,EAC5B,CAAC,cAAe,YAAY,EAC5B,CAAC,cAAe,YAAY,EAC5B,CAAC,cAAe,YAAY,EAC5B,CAAC,cAAe,YAAY,EAC5B,CAAC,cAAe,YAAY,EAC5B,CAAC,cAAe,YAAY,EAC5B,CAAC,gBAAiB,aAAa,EAC/B,CAAC,gBAAiB,aAAa,EAC/B,CAAC,YAAa,QAAQ,EACtB,CAAC,YAAa,QAAQ,EACtB,CAAC,SAAU,QAAQ,EACnB,CAAC,SAAU,QAAQ,EACnB,CAAC,QAAS,KAAK,EACf,CAAC,QAAS,KAAK,EACf,CAAC,UAAW,YAAY,EACxB,CAAC,UAAW,YAAY,EACxB,CAAC,UAAW,UAAU,EACtB,CAAC,UAAW,UAAU,EACtB,CAAC,WAAY,WAAW,EACxB,CAAC,WAAY,WAAW,EACxB,CAAC,MAAO,MAAM,EACd,CAAC,MAAO,MAAM,EACd,CAAC,QAAS,QAAQ,EAClB,CAAC,QAAS,QAAQ,EAClB,CAAC,QAAS,OAAO,EACjB,CAAC,QAAS,OAAO,EACjB,CAAC,UAAW,UAAU,EACtB,CAAC,UAAW,UAAU,EACtB,CAAC,SAAU,SAAS,EACpB,CAAC,SAAU,SAAS,EACpB,CAAC,UAAW,SAAS,EACrB,CAAC,UAAW,SAAS,EACrB,CAAC,UAAW,OAAO,EACnB,CAAC,UAAW,OAAO,EACnB,CAAC,QAAS,OAAO,EACjB,CAAC,QAAS,OAAO,EACjB,CAAC,UAAW,QAAQ,EACpB,CAAC,UAAW,QAAQ,EACpB,CAAC,QAAS,OAAO,EACjB,CAAC,QAAS,OAAO,EACjB,CAAC,QAAS,OAAO,EACjB,CAAC,QAAS,OAAO,EACjB,CAAC,SAAU,OAAO,EAClB,CAAC,SAAU,OAAO,EAClB,CAAC,QAAS,OAAO,EACjB,CAAC,QAAS,OAAO,EACjB,CAAC,UAAW,OAAO,EACnB,CAAC,UAAW,OAAO,EACnB,CAAC,WAAY,UAAU,EACvB,CAAC,WAAY,UAAU,EACvB,CAAC,WAAY,UAAU,EACvB,CAAC,WAAY,UAAU,EACvB,CAAC,OAAQ,OAAO,EAChB,CAAC,OAAQ,OAAO,EAChB,CAAC,SAAU,MAAM,EACjB,CAAC,SAAU,MAAM,EACjB,CAAC,SAAU,MAAM,EACjB,CAAC,SAAU,MAAM,EACjB,CAAC,UAAW,QAAQ,EACpB,CAAC,UAAW,QAAQ,EACpB,CAAC,YAAa,QAAQ,EACtB,CAAC,YAAa,QAAQ,EACtB,CAAC,MAAO,MAAM,EACd,CAAC,MAAO,MAAM,EACd,CAAC,SAAU,QAAQ,EACnB,CAAC,SAAU,QAAQ,EACnB,CAAC,YAAa,WAAW,EACzB,CAAC,YAAa,WAAW,EACzB,CAAC,cAAe,YAAY,EAC5B,CAAC,cAAe,YAAY,EAC5B,CAAC,UAAW,QAAQ,EACpB,CAAC,UAAW,QAAQ,EACpB,CAAC,QAAS,OAAO,EACjB,CAAC,QAAS,OAAO,EACjB,CAAC,QAAS,OAAO,EACjB,CAAC,QAAS,OAAO,EACjB,CAAC,SAAU,QAAQ,EACnB,CAAC,SAAU,QAAQ,EACnB,CAAC,QAAS,QAAQ,EAClB,CAAC,QAAS,QAAQ,EAClB,CAAC,WAAY,SAAS,EACtB,CAAC,WAAY,SAAS,EACtB,CAAC,SAAU,OAAO,EAClB,CAAC,SAAU,OAAO,EAClB,CAAC,cAAe,aAAa,EAC7B,CAAC,oBAAqB,cAAc,EACpC,CAAC,oBAAqB,cAAc,EACpC,CAAC,YAAU,QAAQ,EACnB,CAAC,YAAU,QAAQ,EACnB,CAAC,SAAU,QAAQ,EACnB,CAAC,SAAU,QAAQ,EACnB,CAAC,aAAW,SAAS,EACrB,CAAC,aAAW,SAAS,EACrB,CAAC,UAAW,SAAS,EACrB,CAAC,UAAW,SAAS,EACrB,CAAC,eAAa,WAAW,EACzB,CAAC,eAAa,WAAW,EACzB,CAAC,YAAa,WAAW,EACzB,CAAC,YAAa,WAAW,EACzB,CAAC,aAAW,UAAU,EACtB,CAAC,aAAW,UAAU,EACtB,CAAC,UAAW,UAAU,EACtB,CAAC,UAAW,UAAU,EACtB,CAAC,aAAW,QAAQ,EACpB,CAAC,aAAW,QAAQ,EACpB,CAAC,UAAW,QAAQ,EACpB,CAAC,UAAW,QAAQ,EACpB,CAAC,SAAU,UAAU,EACrB,CAAC,SAAU,UAAU,EACrB,CAAC,WAAY,QAAQ,EACrB,CAAC,WAAY,QAAQ,EACrB,CAAC,UAAW,SAAS,EACrB,CAAC,UAAW,SAAS,EACrB,CAAC,WAAY,UAAU,EACvB,CAAC,WAAY,UAAU,EACvB,CAAC,QAAS,OAAO,EACjB,CAAC,QAAS,OAAO,EACjB,CAAC,SAAU,OAAO,EAClB,CAAC,SAAU,OAAO,EAClB,CAAC,SAAU,KAAK,EAChB,CAAC,SAAU,KAAK,EAChB,CAAC,SAAU,MAAM,EACjB,CAAC,SAAU,MAAM,EACjB,CAAC,SAAU,MAAM,EACjB,CAAC,SAAU,MAAM,EACjB,CAAC,SAAU,QAAQ,EACnB,CAAC,SAAU,QAAQ,EACnB,CAAC,YAAa,WAAW,EACzB,CAAC,YAAa,WAAW,EACzB,CAAC,UAAW,SAAS,EACrB,CAAC,UAAW,SAAS,EACrB,CAAC,WAAY,UAAU,EACvB,CAAC,WAAY,UAAU,EACvB,CAAC,WAAY,UAAU,EACvB,CAAC,WAAY,UAAU,CACzB,EAEI,oBAAsB,mBACvB,IAAI,SAAU,MAAO,CAAE,OAAO,MAAM,CAAC,CAAG,CAAC,EACzC,OAAO,SAAU,MAAO,MAAO,KAAM,CAAE,OAAO,OAAS,KAAK,QAAQ,KAAK,IAAM,KAAO,CAAC,EACvF,KAAK,SAAU,EAAG,EAAG,CAAE,OAAO,EAAE,OAAS,EAAE,MAAQ,CAAC,EACpD,IAAI,WAAW,EACf,KAAK,GAAG,EAEP,oBAAsB,mBACvB,IAAI,SAAU,MAAO,CAAE,OAAO,MAAM,CAAC,CAAG,CAAC,EACzC,OAAO,SAAU,MAAO,MAAO,KAAM,CAAE,OAAO,OAAS,KAAK,QAAQ,KAAK,IAAM,KAAO,CAAC,EACvF,KAAK,SAAU,EAAG,EAAG,CAAE,OAAO,EAAE,OAAS,EAAE,MAAQ,CAAC,EACpD,IAAI,WAAW,EACf,KAAK,GAAG,EAEP,mBAAqB,IAAI,OAAO,6CAA6B,oBAAsB,KAAM,GAAG,EAC5F,oBAAsB,IAAI,OAAO,OAAS,oBAAsB,2CAA0B,GAAG,EAC7F,mBAAqB,IAAI,OAAO,6CAA6B,oBAAsB,KAAM,GAAG,EAC5F,oBAAsB,IAAI,OAAO,OAAS,oBAAsB,2CAA0B,GAAG,EAE7F,eAAiB,CAAC,EAClB,uBAAyB,CAAC,EAC9B,OAAO,KAAK,IAAI,EAAE,QAAQ,SAAU,IAAK,CACvC,eAAe,aAAa,GAAG,CAAC,EAAI,KAAK,GAAG,EAC5C,IAAI,WAAa,aAAa,KAAK,GAAG,CAAC,EACnC,YAAc,aAAe,aAAa,GAAG,GAAK,CAAC,uBAAuB,UAAU,IACtF,uBAAuB,UAAU,EAAI,IAEzC,CAAC,EAED,IAAI,cAAgB,IAAI,QACpB,cAAgB,IAAI,QACpB,gBAAkB,gBAAgB,EAClC,SAAW,KACX,WAAa,GACb,aAAe,CAAC,EAChB,eAAiB,OAAO,QAAY,IAAc,IAAI,QAAY,KAClE,UAAY,GACZ,oBAAsB,wBAAwB,EAC9C,eAAiB,CAAC,EAClB,aAAe,CAAC,EAChB,aAAe,KACf,gBAAkB,GAClB,uBAAyB,EACzB,gBAAkB,KAClB,yBAA2B,KAC3B,yBAA2B,KAC3B,yBAA2B,GAE/B,SAAS,eAAgB,CACvB,GAAI,CACF,IAAI,KAAO,SAAS,gBAChB,OAAO,4BACT,OAAO,aAAa,OAAO,yBAAyB,EACpD,OAAO,0BAA4B,MAErC,KAAK,UAAU,OAAO,2BAA2B,EACjD,KAAK,UAAU,OAAO,2BAA2B,EACjD,KAAK,UAAU,IAAI,oBAAoB,EACvC,KAAK,aAAa,0BAA2B,GAAG,CAClD,MAAY,CAAC,CACf,CAEA,SAAS,UAAU,MAAO,CACxB,OAAO,OAAO,OAAgB,EAAU,EAAE,QAAQ,OAAQ,GAAG,EAAE,KAAK,CACtE,CAEA,SAAS,aAAa,MAAO,CAC3B,OAAO,UAAU,KAAK,EACnB,YAAY,EACZ,QAAQ,UAAW,GAAG,EACtB,QAAQ,QAAS,GAAG,EACpB,QAAQ,UAAW,GAAG,EACtB,QAAQ,SAAU,GAAG,CAC1B,CAEA,SAAS,YAAY,MAAO,CAC1B,OAAO,OAAO,KAAK,EAAE,QAAQ,sBAAuB,MAAM,CAC5D,CAEA,SAAS,mBAAmB,SAAU,WAAY,CAChD,IAAI,KAAO,OAAO,QAAQ,EAAE,MAAM,MAAM,EAAE,CAAC,GAAK,GAC5C,MAAQ,OAAO,QAAQ,EAAE,MAAM,MAAM,EAAE,CAAC,GAAK,GACjD,OAAO,KAAO,WAAa,KAC7B,CAEA,SAAS,yBAA0B,CACjC,GAAI,CACF,IAAI,OAAS,KAAK,MAAM,aAAa,QAAQ,OAAO,eAAe,GAAK,IAAI,EAC5E,GAAI,CAAC,QAAU,OAAO,QAAW,SAAU,MAAO,CAAC,EACnD,IAAI,IAAM,CAAC,EACX,cAAO,KAAK,MAAM,EAAE,MAAM,CAAC,OAAO,iBAAiB,EAAE,QAAQ,SAAU,IAAK,CACtE,KAAO,OAAO,OAAO,GAAG,GAAM,WAAU,IAAI,GAAG,EAAI,OAAO,GAAG,EACnE,CAAC,EACM,GACT,MAAY,CACV,MAAO,CAAC,CACV,CACF,CAEA,SAAS,yBAA0B,CACjC,GAAI,CACF,IAAI,KAAO,OAAO,KAAK,mBAAmB,EAC1C,GAAI,KAAK,OAAS,OAAO,kBAAmB,CAC1C,IAAI,QAAU,CAAC,EACf,KAAK,MAAM,CAAC,OAAO,iBAAiB,EAAE,QAAQ,SAAU,IAAK,CAC3D,QAAQ,GAAG,EAAI,oBAAoB,GAAG,CACxC,CAAC,EACD,oBAAsB,OACxB,CACA,aAAa,QAAQ,OAAO,gBAAiB,KAAK,UAAU,mBAAmB,CAAC,CAClF,MAAY,CAAC,CACf,CAEA,SAAS,2BAA2B,OAAQ,WAAY,CACtD,IAAI,IAAM,aAAa,MAAM,EACzB,MAAQ,UAAU,UAAU,EAChC,MAAI,CAAC,KAAO,CAAC,OAAS,aAAa,KAAK,IAAM,IAAY,IAC1D,oBAAoB,GAAG,EAAI,MAC3B,wBAAwB,EACjB,GACT,CAEA,SAAS,oBAAoB,OAAQ,CACnC,IAAI,IAAM,aAAa,MAAM,EACxB,MACL,eAAe,GAAG,EAAI,GACxB,CAEA,SAAS,uBAAuB,MAAO,MAAO,YAAa,CACzD,OAAO,OAAO,KAAK,EAAE,QACnB,IAAI,OAAO,wCAAwB,YAAY,KAAK,EAAI,0CAAyB,GAAG,EACpF,KAAO,WACT,CACF,CAEA,SAAS,oBAAoB,MAAO,YAAa,aAAc,iBAAkB,QAAS,OAAQ,CAChG,OAAO,OAAO,KAAK,EAAE,QAAQ,iBAAkB,SAAU,MAAO,UAAW,OAAQ,OAAQ,CACzF,IAAI,KAAO,OAAO,MAAM,EAAG,MAAM,EAC7B,MAAQ,OAAO,MAAM,OAAS,MAAM,MAAM,EAC9C,MAAI,CAAC,YAAY,KAAK,IAAI,GAAK,CAAC,aAAa,KAAK,KAAK,EAAU,MAC1D,aAAa,KAAK,SAAS,EAAI,IAAM,OAAS,IAAM,IAAM,QAAU,GAC7E,CAAC,CACH,CAEA,SAAS,mBAAmB,IAAK,CAC/B,IAAI,KAAO,IACX,0BAAmB,QAAQ,SAAU,MAAO,CAC1C,KAAO,uBAAuB,KAAM,MAAM,CAAC,EAAG,MAAM,CAAC,CAAC,CACxD,CAAC,EACM,OAAS,IAAM,oBAAoB,KAAM,mBAAoB,oBAAqB,gBAAiB,MAAO,IAAI,EAAI,EAC3H,CAEA,SAAS,wBAAwB,IAAK,CACpC,IAAI,KAAO,IACX,0BAAmB,QAAQ,SAAU,MAAO,CAC1C,KAAO,uBAAuB,KAAM,MAAM,CAAC,EAAG,MAAM,CAAC,CAAC,CACxD,CAAC,EACM,OAAS,IAAM,oBAAoB,KAAM,mBAAoB,oBAAqB,mBAAoB,IAAK,GAAG,EAAI,EAC3H,CAEA,SAAS,iBAAiB,IAAK,CAC7B,GAAI,KAAK,GAAG,EAAG,OAAO,KAAK,GAAG,EAC9B,IAAI,UAAY,eAAe,aAAa,GAAG,CAAC,EAChD,GAAI,UAAW,OAAO,UACtB,QAAS,EAAI,EAAG,EAAI,SAAS,OAAQ,GAAK,EACxC,GAAI,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,EACzB,OAAO,IAAI,QAAQ,SAAS,CAAC,EAAE,CAAC,EAAG,SAAS,CAAC,EAAE,CAAC,CAAC,EAGrD,IAAI,iBAAmB,mBAAmB,GAAG,EAC7C,GAAI,iBAAkB,OAAO,iBAC7B,IAAI,UAAY,IAAI,MAAM,2CAA2C,EACrE,GAAI,UAAW,CACb,IAAI,KAAO,UAAU,UAAU,CAAC,CAAC,EACjC,GAAI,MAAQ,OAAS,IAAK,CACxB,IAAI,gBAAkB,iBAAiB,IAAI,EAC3C,GAAI,iBAAmB,kBAAoB,KACzC,OAAO,UAAU,CAAC,EAAI,gBAAkB,UAAU,CAAC,CAEvD,CACF,CACA,MAAO,EACT,CAEA,SAAS,cAAc,MAAO,CAC5B,IAAI,SAAW,OAAO,OAAgB,EAAU,EAC5C,IAAM,UAAU,QAAQ,EAC5B,GAAI,CAAC,IAAK,OAAO,SACjB,IAAI,WAAa,iBAAiB,GAAG,EACrC,OAAO,WAAa,mBAAmB,SAAU,UAAU,EAAI,QACjE,CAEA,SAAS,sBAAsB,IAAK,CAClC,IAAI,UAAY,uBAAuB,aAAa,GAAG,CAAC,EACxD,GAAI,UAAW,OAAO,UACtB,IAAI,iBAAmB,wBAAwB,GAAG,EAClD,GAAI,iBAAkB,OAAO,iBAC7B,IAAI,UAAY,IAAI,MAAM,2CAA2C,EACrE,GAAI,UAAW,CACb,IAAI,KAAO,UAAU,UAAU,CAAC,CAAC,EACjC,GAAI,MAAQ,OAAS,IAAK,CACxB,IAAI,gBAAkB,sBAAsB,IAAI,EAChD,GAAI,iBAAmB,kBAAoB,KACzC,OAAO,UAAU,CAAC,EAAI,gBAAkB,UAAU,CAAC,CAEvD,CACF,CACA,MAAO,EACT,CAEA,SAAS,mBAAmB,MAAO,CACjC,IAAI,SAAW,OAAO,OAAgB,EAAU,EAC5C,IAAM,UAAU,QAAQ,EAC5B,GAAI,CAAC,IAAK,OAAO,SACjB,IAAI,SAAW,sBAAsB,GAAG,EACxC,OAAO,SAAW,mBAAmB,SAAU,QAAQ,EAAI,QAC7D,CAEA,SAAS,kBAAmB,CAC1B,GAAI,CACF,IAAI,OAAS,IAAI,gBAAgB,OAAO,SAAS,QAAU,EAAE,EACzD,IAAM,OAAO,IAAI,MAAM,GAAK,OAAO,IAAI,QAAQ,GAAK,OAAO,IAAI,UAAU,GAAK,GAClF,WAAM,OAAO,KAAO,EAAE,EAAE,YAAY,EAAE,MAAM,EAAG,CAAC,EACzC,MAAQ,MAAQ,MAAQ,KAAO,IAAM,EAC9C,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,mBAAoB,CAC3B,GAAI,CACF,IAAI,OAAS,aAAa,QAAQ,OAAO,UAAU,GAAK,aAAa,QAAQ,iBAAiB,GAAK,GACnG,cAAS,OAAO,QAAU,EAAE,EAAE,YAAY,EAAE,MAAM,EAAG,CAAC,EAC/C,SAAW,MAAQ,SAAW,KAAO,OAAS,EACvD,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,oBAAqB,CAC5B,GAAI,CACF,IAAI,IAAM,CAAC,EACP,UAAU,WAAa,UAAU,UAAU,OAAQ,IAAM,MAAM,UAAU,MAAM,KAAK,UAAU,SAAS,EAClG,UAAU,WAAU,IAAM,CAAC,UAAU,QAAQ,GACtD,QAAS,EAAI,EAAG,EAAI,IAAI,OAAQ,GAAK,EAAG,CACtC,IAAI,KAAO,OAAO,IAAI,CAAC,GAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAG,CAAC,EACxD,GAAI,OAAS,MAAQ,OAAS,KAAM,OAAO,IAC7C,CACF,MAAY,CAAC,CACb,MAAO,EACT,CAEA,SAAS,iBAAkB,CACzB,IAAI,MAAQ,iBAAiB,EAC7B,GAAI,MAAO,OAAO,MAClB,GAAI,CACF,IAAI,KAAO,OAAO,OAAO,SAAS,UAAY,EAAE,EAAE,YAAY,EAC9D,GAAI,OAAS,OAAS,KAAK,QAAQ,MAAM,IAAM,EAAG,MAAO,KACzD,GAAI,OAAS,OAAS,KAAK,QAAQ,MAAM,IAAM,EAAG,MAAO,IAC3D,MAAY,CAAC,CACb,IAAI,OAAS,kBAAkB,EAC/B,GAAI,OAAQ,OAAO,OACnB,GAAI,CACF,IAAI,SAAW,OAAO,SAAS,gBAAgB,aAAa,MAAM,GAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAG,CAAC,EACnG,GAAI,WAAa,KAAM,MAAO,IAChC,MAAY,CAAC,CACb,IAAI,YAAc,mBAAmB,EACrC,OAAI,aACG,OAAO,iBAAmB,IACnC,CAEA,SAAS,uBAAwB,CAC/B,GAAI,CACF,IAAI,KAAO,OAAO,SAAS,UAAY,GACnC,KAAO,KAAK,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,GAAG,EAC7C,CAAC,GAAI,KAAM,IAAM,KAAM,KAAM,IAAM,IAAI,EAAE,OAAO,OAAO,EAAE,QAAQ,SAAU,OAAQ,CACjF,CAAC,IAAK,OAAO,SAAS,UAAY,GAAG,EAAE,QAAQ,SAAU,KAAM,CAC7D,SAAS,OAAS,2DAA6D,MAAQ,OAAS,YAAc,OAAS,GACzH,CAAC,CACH,CAAC,CACH,MAAY,CAAC,CACf,CAEA,SAAS,oBAAqB,CAC5B,GAAI,CACF,SAAS,iBAAiB,qFAAqF,EAAE,QAAQ,SAAU,KAAM,CACvI,KAAK,OAAO,CACd,CAAC,EACD,SAAS,iBAAiB,qBAAqB,EAAE,QAAQ,SAAU,KAAM,CACvE,KAAK,aAAa,wBAAyB,GAAG,EAC9C,KAAK,MAAM,QAAU,OACrB,KAAK,UAAY,EACnB,CAAC,EACD,SAAS,gBAAgB,MAAM,IAAM,GACrC,SAAS,KAAK,MAAM,IAAM,EAC5B,MAAY,CAAC,CACf,CAEA,SAAS,oBAAoB,KAAM,CACjC,gBAAkB,OAAS,KAAO,KAAO,KACzC,GAAI,CAAE,aAAa,QAAQ,OAAO,WAAY,eAAe,CAAG,MAAY,CAAC,CAC7E,GAAI,CAAE,aAAa,QAAQ,kBAAmB,eAAe,CAAG,MAAY,CAAC,CAC7E,GAAI,CAAE,SAAS,gBAAgB,aAAa,OAAQ,eAAe,CAAG,MAAY,CAAC,CACnF,GAAI,CAAE,SAAS,gBAAgB,aAAa,oBAAqB,eAAe,CAAG,MAAY,CAAC,CAChG,sBAAsB,EACtB,mBAAmB,CACrB,CAEA,SAAS,eAAe,KAAM,CAC5B,GAAI,CAAC,KAAM,MAAO,GAClB,IAAI,GAAK,KAAK,WAAa,EAAI,KAAO,KAAK,cAC3C,GAAI,CAAC,GAAI,MAAO,GAChB,GAAI,CAAE,MAAO,CAAC,CAAC,GAAG,QAAQ,aAAa,CAAG,MAAY,CAAE,MAAO,EAAO,CACxE,CAEA,SAAS,qBAAqB,GAAI,CAChC,GAAI,CAAC,IAAM,GAAG,WAAa,EAAG,MAAO,GACrC,GAAI,CAAE,MAAO,CAAC,CAAC,GAAG,QAAQ,uBAAuB,CAAG,MAAY,CAAE,MAAO,EAAO,CAClF,CAEA,SAAS,iCAAiC,GAAI,CAC5C,GAAI,CAAC,IAAM,GAAG,WAAa,GAAK,qBAAqB,EAAE,EAAG,MAAO,GACjE,GAAI,GAAG,aAAa,aAAa,GAAK,GAAG,aAAa,YAAY,GAAK,GAAG,aAAa,OAAO,GAAK,GAAG,aAAa,KAAK,EAAG,MAAO,GAClI,IAAI,IAAM,OAAO,GAAG,SAAW,EAAE,EAAE,YAAY,EAC3C,KAAO,OAAO,GAAG,aAAa,MAAM,GAAK,EAAE,EAAE,YAAY,EAC7D,OAAO,GAAG,aAAa,OAAO,IAAO,MAAQ,SAAW,CAAC,SAAU,SAAU,OAAO,EAAE,QAAQ,IAAI,GAAK,GAAM,MAAQ,SACvH,CAEA,SAAS,sBAAsB,KAAM,CACnC,GAAI,CAAC,MAAQ,eAAe,IAAI,EAAG,MAAO,GAC1C,IAAI,GAAK,KAAK,WAAa,EAAI,KAAO,KAAK,cAE3C,GADI,CAAC,IACD,8BAA8B,EAAE,EAAG,MAAO,GAC9C,GAAI,CAAE,MAAO,CAAC,CAAC,GAAG,QAAQ,qBAAqB,CAAG,MAAY,CAAE,MAAO,EAAO,CAChF,CAEA,SAAS,2BAA2B,GAAI,KAAM,CAG5C,GAFI,CAAC,IAAM,qBAAqB,EAAE,GAC9B,OAAS,SACT,8BAA8B,EAAE,EAAG,MAAO,GAC9C,GAAI,CAAE,MAAO,CAAC,CAAC,GAAG,QAAQ,qDAAqD,CAAG,MAAY,CAAE,MAAO,EAAO,CAChH,CAEA,SAAS,8BAA8B,KAAM,CAE3C,QADI,GAAK,MAAQ,KAAK,WAAa,EAAI,KAAQ,MAAQ,KAAK,cACrD,IAAM,KAAO,SAAS,iBAAmB,KAAO,SAAS,MAAM,CACpE,GAAI,CACF,GAAI,GAAG,cAAgB,GAAG,aAAa,MAAM,EAC3C,MAAO,cAAc,KAAK,OAAO,GAAG,aAAa,MAAM,GAAK,EAAE,CAAC,CAEnE,MAAY,CAAC,CACb,GAAK,GAAG,aACV,CACA,MAAO,EACT,CAEA,SAAS,uBAAuB,SAAU,CACxC,MAAO,iCAAiC,KAAK,OAAO,UAAY,EAAE,CAAC,CACrE,CAEA,SAAS,mBAAmB,SAAU,CACpC,OAAQ,OAAO,UAAY,GAAG,GAAK,KAAK,QAAQ,wBAAyB,EAAE,GAAK,GAClF,CAEA,SAAS,4BAA4B,SAAU,CAC7C,IAAI,KAAO,mBAAmB,QAAQ,EACtC,OAAI,OAAS,IAAY,GAClB,wEAAwE,KAAK,IAAI,CAC1F,CAEA,SAAS,uBAAuB,SAAU,KAAM,CAC9C,IAAI,KAAO,mBAAmB,QAAQ,EACtC,OAAK,4BAA4B,IAAI,EAC9B,OAAS,KAAQ,OAAS,IAAM,MAAQ,MAAQ,KAAQ,KADhB,OAAO,UAAY,GAAG,CAEvE,CAEA,SAAS,oBAAoB,SAAU,KAAM,CAC3C,IAAI,KAAO,OAAO,UAAY,GAAG,EAC7B,KAAO,mBAAmB,IAAI,EAClC,MAAK,iBAAiB,KAAK,IAAI,EACxB,uBAAuB,KAAM,IAAI,EADC,IAE3C,CAEA,SAAS,iCAAiC,KAAM,QAAS,CACvD,GAAI,0BAA4B,CAAC,4BAA4B,OAAO,SAAS,UAAY,EAAE,EAAG,MAAO,GACrG,GAAI,CACF,IAAI,IAAM,IAAI,IAAI,OAAO,SAAS,IAAI,EAClC,SAAW,uBAAuB,IAAI,SAAU,OAAS,KAAO,KAAO,IAAI,EAC/E,MAAI,CAAC,UAAY,WAAa,IAAI,SAAiB,IACnD,IAAI,SAAW,SACf,IAAI,aAAa,OAAO,MAAM,EAC9B,IAAI,aAAa,OAAO,QAAQ,EAChC,yBAA2B,GAC3B,kBAAkB,EACd,QAAS,OAAO,SAAS,QAAQ,IAAI,IAAI,EACxC,OAAO,SAAS,OAAO,IAAI,IAAI,EAC7B,GACT,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,8BAA8B,KAAM,QAAS,CACpD,GAAI,0BAA4B,CAAC,cAAc,EAAG,MAAO,GACzD,GAAI,CACF,IAAI,IAAM,IAAI,IAAI,OAAO,SAAS,IAAI,EAClC,SAAW,oBAAoB,IAAI,SAAU,OAAS,KAAO,KAAO,IAAI,EAC5E,MAAI,CAAC,UAAY,WAAa,IAAI,SAAiB,IACnD,IAAI,SAAW,SACf,IAAI,aAAa,OAAO,MAAM,EAC9B,IAAI,aAAa,OAAO,QAAQ,EAChC,yBAA2B,GAC3B,kBAAkB,EACd,QAAS,OAAO,SAAS,QAAQ,IAAI,IAAI,EACxC,OAAO,SAAS,OAAO,IAAI,IAAI,EAC7B,GACT,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,oBAAoB,KAAM,KAAM,CACvC,GAAI,KAAM,OAAO,cAAc,EAAI,KAAO,IAC1C,GAAI,CAAC,cAAc,EAAG,MAAO,KAC7B,IAAI,GAAK,MAAQ,KAAK,WAAa,EAAI,KAAQ,MAAQ,KAAK,cAC5D,GAAI,CACF,GAAI,IAAM,GAAG,QAAQ,wFAAwF,EAAG,MAAO,IACzH,MAAY,CAAC,CACb,MAAO,KACT,CAEA,SAAS,sBAAsB,KAAM,CACnC,IAAI,GAAK,MAAQ,KAAK,WAAa,EAAI,KAAQ,MAAQ,KAAK,cAE5D,MADI,CAAC,IAAM,KAAO,SAAS,MAAQ,KAAO,SAAS,iBAC/C,eAAe,EAAE,EAAU,KACxB,EACT,CAEA,SAAS,mBAAmB,KAAM,CAElC,CAEA,SAAS,oBAAoB,KAAM,CACjC,IAAI,GAAK,sBAAsB,IAAI,EACnC,GAAK,GACL,GAAI,CAAE,GAAG,gBAAgB,2BAA2B,CAAG,MAAY,CAAC,CACtE,CAEA,SAAS,mBAAoB,CAC3B,GAAI,aAAc,CAChB,GAAI,CAAE,OAAO,aAAa,YAAY,CAAG,MAAY,CAAC,CACtD,aAAe,IACjB,CACA,aAAe,CAAC,EAChB,uBAAyB,EACzB,sBAAsB,CACxB,CAEA,SAAS,eAAgB,CACvB,GAAI,CAEF,OADI,OAAO,OAAO,UAAY,EAAE,EAAE,YAAY,IAAM,WAChD,SAAS,MAAQ,uBAAuB,KAAK,SAAS,KAAK,WAAa,EAAE,EAAU,GACjF,uBAAuB,OAAO,SAAS,UAAY,EAAE,CAC9D,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,2BAA4B,CACnC,GAAI,CACF,OAAI,0BAA4B,kBAAoB,MAAQ,CAAC,cAAc,EAAU,GACjF,uBAAyB,EAAU,GAChC,OAAO,KAAK,YAAY,EAAE,KAAK,SAAU,IAAK,CACnD,OAAO,aAAa,GAAG,GAAK,aAAa,GAAG,EAAE,UAAY,EAC5D,CAAC,CACH,MAAY,CACV,MAAO,EACT,CACF,CAEA,SAAS,uBAAwB,CAC/B,GAAI,iBAAmB,gBAAgB,WAAY,OAAO,gBAC1D,GAAI,CAAC,cAAc,EAAG,OAAO,KAC7B,IAAI,KAAO,SAAS,cAAc,gDAAgD,EAClF,GAAI,CAAC,KAAM,OAAO,KAElB,gBAAkB,SAAS,cAAc,KAAK,EAC9C,gBAAgB,UAAY,2BAC5B,gBAAgB,aAAa,4BAA6B,GAAG,EAC7D,gBAAgB,aAAa,YAAa,QAAQ,EAClD,gBAAgB,UAAY,uJAC5B,GAAI,CAAE,KAAK,aAAa,gBAAiB,KAAK,YAAc,IAAI,CAAG,MAAY,CAAC,CAChF,OAAO,eACT,CAEA,SAAS,uBAAwB,CAC/B,IAAI,QAAU,cAAc,GAAK,0BAA0B,EAC3D,GAAI,yBAA0B,CAC5B,GAAI,CAAE,OAAO,aAAa,wBAAwB,CAAG,MAAY,CAAC,CAClE,yBAA2B,IAC7B,CACA,GAAI,QAAS,CACX,GAAI,iBAAmB,gBAAgB,UAAU,SAAS,YAAY,EAAG,CACvE,IAAI,YAAc,gBAAgB,cAAc,kCAAkC,EAC9E,cAAa,YAAY,YAAc,6BAC3C,MACF,CACK,2BACH,yBAA2B,OAAO,WAAW,UAAY,CAEvD,GADA,yBAA2B,KACvB,EAAC,0BAA0B,EAC/B,KAAI,KAAO,sBAAsB,EACjC,GAAK,KACL,KAAI,MAAQ,KAAK,cAAc,kCAAkC,EAC7D,QAAO,MAAM,YAAc,6BAC/B,KAAK,UAAU,OAAO,SAAS,EAC/B,KAAK,OAAS,GACd,OAAO,sBAAsB,UAAY,CAAE,KAAK,UAAU,IAAI,YAAY,CAAG,CAAC,GAChF,EAAG,GAAG,GAER,MACF,CACA,GAAI,yBAA0B,CAC5B,GAAI,CAAE,OAAO,aAAa,wBAAwB,CAAG,MAAY,CAAC,CAClE,yBAA2B,IAC7B,CACK,kBACL,gBAAgB,UAAU,OAAO,SAAS,EAC1C,gBAAgB,UAAU,OAAO,YAAY,EAC7C,yBAA2B,OAAO,WAAW,UAAY,CACnD,iBAAmB,CAAC,0BAA0B,IAAG,gBAAgB,OAAS,GAChF,EAAG,GAAG,EACR,CAEA,SAAS,0BAA0B,MAAO,CACxC,IAAI,KAAO,UAAU,KAAK,EAI1B,MAHI,IAAC,MAAQ,KAAK,OAAS,GACvB,yBAAyB,KAAK,IAAI,GAClC,eAAe,KAAK,IAAI,GACxB,gBAAgB,KAAK,IAAI,EAE/B,CAEA,SAAS,qBAAqB,MAAO,CACnC,IAAI,KAAO,aAAa,KAAK,EAC7B,MAAI,CAAC,MAAQ,KAAK,OAAS,EAAU,GACjC,eAAY,KAAK,IAAI,GACrB,gEAAgE,KAAK,IAAI,GACzE,meAAme,KAAK,IAAI,GAC5e,iIAAiI,KAAK,IAAI,GAAK,iIAAiI,KAAK,IAAI,EAE/R,CAEA,SAAS,6BAA6B,KAAM,KAAM,KAAM,CACtD,GAAI,CAAC,cAAc,GAAK,CAAC,qBAAqB,IAAI,EAAG,MAAO,GAC5D,IAAI,GAAK,MAAQ,KAAK,WAAa,EAAI,KAAQ,MAAQ,KAAK,cAC5D,GAAI,CAAC,GAAI,MAAO,GAChB,GAAI,CACF,GAAI,GAAG,QAAQ,sGAAsG,EAAG,MAAO,EACjI,MAAY,CAAC,CACb,MAAO,CAAC,CAAC,OAAS,OAAS,eAAiB,OAAS,cAAgB,OAAS,SAAW,OAAS,MACpG,CAEA,SAAS,wBAAwB,KAAM,SAAU,KAAM,CAGrD,GAFI,CAAC,OAAO,oBAAsB,kBAAoB,MAClD,CAAC,OAAO,sBACR,KAAO,2BAA2B,KAAM,IAAI,EAAI,sBAAsB,IAAI,GAAG,MAAO,GACxF,IAAI,KAAO,UAAU,QAAQ,EAG7B,GAFI,0BAA0B,IAAI,GAC9B,CAAC,qBAAqB,IAAI,GAC1B,KAAK,OAAS,oBAAoB,KAAM,IAAI,EAAG,MAAO,GAC1D,IAAI,IAAM,aAAa,IAAI,EAC3B,OAAI,oBAAoB,GAAG,EAAU,mBAAmB,SAAU,oBAAoB,GAAG,CAAC,GACtF,eAAe,GAAG,IACjB,MAAM,OACN,aAAa,GAAG,IAAG,aAAa,GAAG,EAAI,CAAE,KAAY,MAAO,CAAC,EAAG,QAAS,6BAA6B,KAAM,KAAM,IAAI,CAAE,GACzH,CAAC,aAAa,GAAG,EAAE,SAAW,6BAA6B,KAAM,KAAM,IAAI,IAAG,aAAa,GAAG,EAAE,QAAU,IAC9G,aAAa,GAAG,EAAE,MAAM,KAAK,CAAE,KAAY,KAAM,MAAQ,GAAI,SAAU,IAAK,CAAC,EACxE,eACH,aAAe,OAAO,WAAW,yBAA0B,cAAc,EAAI,GAAK,GAAG,GAEvF,sBAAsB,GACf,GACT,CAEA,SAAS,mBAAmB,KAAM,WAAY,CAC5C,GAAI,CAAC,YAAc,aAAa,UAAU,IAAM,aAAa,KAAK,IAAI,EAAG,CAClE,qBAAqB,KAAK,IAAI,GAAG,oBAAoB,KAAK,IAAI,EACnE,KAAK,MAAM,QAAQ,SAAU,MAAO,CAAE,oBAAoB,MAAM,IAAI,CAAG,CAAC,EACxE,MACF,CAEA,GADA,2BAA2B,KAAK,KAAM,UAAU,EAC5C,kBAAoB,KAAM,CAC5B,KAAK,MAAM,QAAQ,SAAU,MAAO,CAAE,oBAAoB,MAAM,IAAI,CAAG,CAAC,EACxE,MACF,CACA,IAAI,YAAc,WAClB,WAAa,GACb,GAAI,CACF,KAAK,MAAM,QAAQ,SAAU,MAAO,CAClC,GAAI,CACF,GAAI,MAAM,KAAM,CACd,GAAI,CAAC,MAAM,MAAQ,MAAM,KAAK,WAAa,EAAG,OAC9C,IAAI,MAAQ,aAAa,MAAM,IAAI,EAC/B,aAAe,MAAM,MAAM,IAAI,GAAK,MAAM,KAAK,aAAa,MAAM,IAAI,GAAK,GAC/E,GAAI,aAAa,YAAY,IAAM,aAAa,MAAM,QAAQ,EAAG,OACjE,IAAI,SAAW,mBAAmB,aAAc,UAAU,GACrD,MAAM,KAAK,aAAa,MAAM,IAAI,GAAK,MAAQ,UAAU,MAAM,KAAK,aAAa,MAAM,KAAM,QAAQ,EAC1G,MACF,CACA,GAAI,CAAC,MAAM,MAAQ,MAAM,KAAK,WAAa,EAAG,OAC9C,IAAI,SAAW,cAAc,IAAI,MAAM,IAAI,GAAK,MAAM,KAAK,WAAa,GACxE,GAAI,aAAa,QAAQ,IAAM,aAAa,MAAM,QAAQ,EAAG,OAC7D,IAAI,KAAO,mBAAmB,SAAU,UAAU,EAC9C,MAAM,KAAK,YAAc,OAAM,MAAM,KAAK,UAAY,MAC1D,oBAAoB,MAAM,IAAI,CAChC,MAAY,CAAC,CACf,CAAC,CACH,QAAE,CACA,WAAa,WACf,CACF,CAEA,SAAS,0BAA2B,CAElC,GADA,aAAe,KACX,iBAAmB,kBAAoB,KAAM,CAC/C,sBAAsB,EACtB,MACF,CACA,IAAI,KAAO,OAAO,KAAK,YAAY,EAAE,MAAM,EAAG,cAAc,EAAI,GAAK,EAAE,EACvE,GAAI,CAAC,KAAK,OAAQ,CAChB,sBAAsB,EACtB,MACF,CACA,IAAI,MAAQ,KAAK,IAAI,SAAU,IAAK,CAClC,IAAI,KAAO,aAAa,GAAG,EAC3B,cAAO,aAAa,GAAG,EAChB,IACT,CAAC,EACD,gBAAkB,GAClB,IAAI,kBAAoB,MAAM,OAAO,SAAU,KAAM,CAAE,OAAO,KAAK,UAAY,EAAM,CAAC,EAAE,OACxF,wBAA0B,kBAC1B,sBAAsB,EAEtB,MAAM,OAAO,oBAAqB,CAChC,OAAQ,OACR,QAAS,CAAE,eAAgB,mBAAoB,OAAU,kBAAmB,EAC5E,KAAM,KAAK,UAAU,CACnB,eAAgB,KAChB,eAAgB,KAChB,QAAS,iBACT,MAAO,MAAM,IAAI,SAAU,KAAM,CAAE,OAAO,KAAK,IAAM,CAAC,CACxD,CAAC,CACH,CAAC,EACE,KAAK,SAAU,SAAU,CAAE,OAAO,SAAS,GAAK,SAAS,KAAK,EAAI,IAAM,CAAC,EACzE,KAAK,SAAU,KAAM,CACpB,IAAI,IAAM,MAAQ,KAAK,IAAM,KAAK,IAAM,CAAC,EACrC,KAAO,MAAQ,MAAM,QAAQ,KAAK,YAAY,EAAI,KAAK,aAAe,CAAC,EAC3E,MAAM,QAAQ,SAAU,KAAM,MAAO,CACnC,mBAAmB,KAAM,IAAI,KAAK,IAAI,GAAK,KAAK,KAAK,GAAK,EAAE,CAC9D,CAAC,CACH,CAAC,EACA,MAAM,UAAY,CACjB,MAAM,QAAQ,SAAU,KAAM,CAAE,oBAAoB,KAAK,IAAI,CAAG,CAAC,CACnE,CAAC,EACA,QAAQ,UAAY,CACnB,MAAM,QAAQ,SAAU,KAAM,CAC5B,KAAK,MAAM,QAAQ,SAAU,MAAO,CAAE,oBAAoB,MAAM,IAAI,CAAG,CAAC,CAC1E,CAAC,EACD,gBAAkB,GAClB,uBAAyB,KAAK,IAAI,EAAG,uBAAyB,iBAAiB,EAC3E,OAAO,KAAK,YAAY,EAAE,SAC5B,aAAe,OAAO,WAAW,yBAA0B,cAAc,EAAI,GAAK,GAAG,GAEvF,sBAAsB,CACxB,CAAC,CACL,CAEA,SAAS,kBAAkB,KAAM,CAC/B,GAAI,GAAC,MAAQ,KAAK,WAAa,GAAK,eAAe,IAAI,GACvD,CAAK,cAAc,IAAI,IAAI,GAAG,cAAc,IAAI,KAAM,KAAK,WAAa,EAAE,EAC1E,IAAI,SAAW,cAAc,IAAI,IAAI,GAAK,GACtC,KAAO,SACP,kBAAoB,MACtB,KAAO,cAAc,QAAQ,EACzB,OAAS,WACX,KAAO,wBAAwB,KAAM,QAAQ,GAAK,WAGpD,KAAO,mBAAmB,QAAQ,EAEhC,KAAK,YAAc,OAAM,KAAK,UAAY,MAChD,CAEA,SAAS,aAAa,GAAI,CACxB,IAAI,MAAQ,cAAc,IAAI,EAAE,EAChC,OAAK,QACH,MAAQ,CAAC,EACT,cAAc,IAAI,GAAI,KAAK,GAEtB,KACT,CAEA,SAAS,oBAAoB,GAAI,CAC/B,GAAI,GAAC,IAAM,GAAG,WAAa,GAAK,qBAAqB,EAAE,GACvD,KAAI,MAAQ,CAAC,cAAe,aAAc,QAAS,KAAK,EACpD,IAAM,OAAO,GAAG,SAAW,EAAE,EAAE,YAAY,EAC3C,KAAO,OAAO,GAAG,aAAa,MAAM,GAAK,EAAE,EAAE,YAAY,GACxD,MAAQ,SAAW,CAAC,SAAU,SAAU,OAAO,EAAE,QAAQ,IAAI,GAAK,GAAM,MAAQ,WAAU,MAAM,KAAK,OAAO,EAEjH,IAAI,MAAQ,aAAa,EAAE,EAC3B,MAAM,QAAQ,SAAU,KAAM,CAC5B,GAAK,GAAG,aAAa,IAAI,EACzB,CAAI,MAAM,IAAI,GAAK,OAAM,MAAM,IAAI,EAAI,GAAG,aAAa,IAAI,GAAK,IAChE,IAAI,SAAW,MAAM,IAAI,GAAK,GAC1B,KAAO,kBAAoB,KAAO,cAAc,QAAQ,EAAI,mBAAmB,QAAQ,EACvF,kBAAoB,MAAQ,OAAS,UAAY,OAAS,UAC5D,KAAO,wBAAwB,GAAI,SAAU,IAAI,GAAK,WAEnD,GAAG,aAAa,IAAI,GAAK,MAAQ,MAAM,GAAG,aAAa,KAAM,IAAI,EACxE,CAAC,EACH,CAEA,SAAS,KAAK,KAAM,CAClB,GAAK,KACL,IAAI,KAAK,WAAa,EAAG,CACvB,kBAAkB,IAAI,EACtB,MACF,CACA,GAAI,OAAK,WAAa,GAAK,KAAK,WAAa,GAAK,KAAK,WAAa,KAChE,OAAK,WAAa,GAAK,eAAe,IAAI,GAAK,CAAC,iCAAiC,IAAI,GACzF,CAAI,KAAK,WAAa,GAAG,oBAAoB,IAAI,EAQjD,QAPI,OAAS,SAAS,iBAAiB,KAAM,WAAW,aAAe,WAAW,UAAW,CAC3F,WAAY,SAAUA,MAAM,CAC1B,OAAIA,MAAK,WAAa,GAAK,iCAAiCA,KAAI,EAAU,WAAW,cAC9E,eAAeA,KAAI,EAAI,WAAW,cAAgB,WAAW,aACtE,CACF,CAAC,EACG,KAAO,OAAO,SAAS,EACpB,MACD,KAAK,WAAa,EAAG,kBAAkB,IAAI,EAC1C,oBAAoB,IAAI,EAC7B,KAAO,OAAO,SAAS,GAE3B,CAEA,SAAS,2BAA2B,IAAK,aAAc,CACrD,IAAI,QAAgB,cAAgB,IAAM,KAAO,KAAO,IAAI,SAAW,IAAI,SAAW,KAAK,YAAY,EACvG,MAAO,oEAAoE,KAAK,KAAK,CACvF,CAEA,SAAS,4BAA4B,IAAK,aAAc,CACtD,IAAI,QAAgB,cAAgB,IAAM,KAAO,KAAO,IAAI,SAAW,IAAI,SAAW,KAAK,YAAY,EACvG,MAAO,mEAAmE,KAAK,KAAK,CACtF,CAEA,SAAS,8BAA+B,CACtC,IAAI,QAAU,OAAO,wBAA2B,OAAO,SAAW,OAAO,QAAQ,SAAY,KAC7F,eAAU,OAAO,SAAW,EAAE,EAAE,YAAY,EAAE,QAAQ,UAAW,EAAE,EAAE,MAAM,EAAG,CAAC,EACxE,SAAW,IACpB,CAEA,SAAS,iCAAiC,IAAK,CAC7C,IAAI,KAAO,kBAAoB,KAAO,KAAO,KAC7C,IAAI,aAAa,IAAI,SAAU,IAAI,EACnC,IAAI,aAAa,IAAI,OAAQ,IAAI,EACjC,IAAI,aAAa,IAAI,aAAc,IAAI,EACvC,IAAI,aAAa,IAAI,iBAAkB,6BAA6B,CAAC,CACvE,CAEA,SAAS,oCAAoC,IAAK,CAChD,IAAI,WAAa,IAAI,IAAI,6BAA6B,EACtD,wCAAiC,UAAU,EACvC,KAAO,IAAI,OAAM,WAAW,KAAO,IAAI,MACpC,WAAW,IACpB,CAEA,SAAS,6BAA6B,IAAK,CACzC,GAAI,CAAC,IAAK,MAAO,GACjB,IAAI,KAAO,OAAO,IAAI,UAAY,GAAG,EAAE,QAAQ,QAAS,EAAE,GAAK,IAC/D,OAAO,OAAS,KAAO,OAAS,UAClC,CAEA,SAAS,oBAAoB,KAAM,CACjC,GAAK,KACL,GAAI,CACF,IAAI,OAAS,KAAK,WAAa,EAAI,KAAO,UAAU,iBAAiB,OAAO,YAAY,EACxF,MAAM,QAAQ,SAAU,EAAG,CACzB,IAAI,KAAO,EAAE,QAAQ,wBAA0B,EAAE,aAAa,MAAM,GAAK,GACzE,GAAI,GAAC,MAAQ,KAAK,QAAQ,GAAG,IAAM,GACnC,CAAK,EAAE,QAAQ,yBAAwB,EAAE,QAAQ,uBAAyB,MAC1E,IAAI,IAAM,IAAI,IAAI,KAAM,OAAO,SAAS,MAAM,EAC1C,aAAe,IAAI,SAAW,OAAO,SAAS,OAC9C,cAAgB,sBAAsB,KAAK,IAAI,QAAQ,EACvD,qBAAuB,0BAA0B,KAAK,IAAI,QAAQ,EAClE,8BAAgC,kBAAkB,KAAK,IAAI,QAAQ,GAAK,oCAAoC,KAAK,IAAI,QAAQ,KAAO,qBAAqB,KAAK,IAAI,QAAQ,GAAK,sBAAsB,KAAK,IAAI,QAAQ,GAC1N,GAAI,GAAC,cAAgB,CAAC,eAAiB,CAAC,8BACxC,KAAI,sBAAwB,sBAAwB,8BAAgC,EAAE,aAAa,2BAA2B,EAC1H,6BAA+B,uBAAyB,6BAA6B,GAAG,GAAK,CAAC,2BAA2B,IAAK,IAAI,GAAK,CAAC,4BAA4B,IAAK,IAAI,EACjL,GAAI,6BAA8B,CAChC,EAAE,aAAa,OAAQ,oCAAoC,GAAG,CAAC,EAC/D,MACF,CACI,sBACF,iCAAiC,GAAG,GAC1B,cAAgB,gBAAkB,4BAA4B,IAAI,QAAQ,GACpF,IAAI,SAAW,uBAAuB,IAAI,SAAU,eAAe,EACnE,IAAI,aAAa,OAAO,MAAM,EAC9B,IAAI,aAAa,OAAO,QAAQ,GACvB,kBAAoB,MAC7B,IAAI,aAAa,IAAI,SAAU,IAAI,EACnC,IAAI,aAAa,IAAI,OAAQ,IAAI,IAEjC,IAAI,aAAa,OAAO,MAAM,EAC9B,IAAI,aAAa,OAAO,QAAQ,GAE9B,uBACF,IAAI,aAAa,OAAO,aAAa,EAEvC,EAAE,aAAa,OAAQ,aAAgB,IAAI,SAAW,IAAI,OAAS,IAAI,KAAQ,IAAI,IAAI,GACzF,CAAC,CACH,MAAY,CAAC,CACf,CAEA,SAAS,mBAAmB,KAAM,CAChC,GAAI,CACF,IAAI,MAAQ,MAAQ,KAAK,WAAa,EAAI,KAAO,SACjD,MAAM,iBAAiB,cAAc,EAAE,QAAQ,SAAU,KAAM,CAC7D,IAAI,OAAS,KAAK,aAAa,QAAQ,GAAK,GACxC,IAAM,IAAI,IAAI,OAAQ,OAAO,SAAS,MAAM,EAChD,GAAI,mBAAmB,IAAI,QAAQ,IAAM,QACzC,KAAI,SAAW,uBAAuB,IAAI,SAAU,eAAe,EACnE,IAAI,aAAa,OAAO,MAAM,EAC9B,IAAI,aAAa,OAAO,QAAQ,EAChC,KAAK,aAAa,SAAU,IAAI,SAAW,OAAO,SAAS,OAAU,IAAI,SAAW,IAAI,OAAS,IAAI,KAAQ,IAAI,IAAI,EACrH,IAAI,MAAQ,KAAK,cAAc,+CAA+C,EAC1E,kBAAoB,MACjB,QACH,MAAQ,SAAS,cAAc,OAAO,EACtC,MAAM,KAAO,SACb,MAAM,KAAO,SACb,MAAM,aAAa,0BAA2B,GAAG,EACjD,KAAK,YAAY,KAAK,GAExB,MAAM,MAAQ,MACL,OACT,MAAM,OAAO,EAEjB,CAAC,CACH,MAAY,CAAC,CACf,CAEA,SAAS,MAAM,KAAM,CACnB,WAAa,GACb,GAAI,CACF,KAAK,MAAQ,SAAS,MAAQ,SAAS,eAAe,EACtD,oBAAoB,MAAQ,QAAQ,EACpC,mBAAmB,MAAQ,QAAQ,EACnC,eAAe,CACjB,QAAE,CACA,WAAa,EACf,CACF,CAEA,SAAS,SAAS,MAAO,CACvB,GAAI,OAAS,MAAM,OACjB,QAAS,EAAI,EAAG,EAAI,MAAM,OAAQ,GAAK,EAAG,CACxC,IAAI,KAAO,MAAM,CAAC,EACb,OACD,gBAAkB,eAAe,IAAI,IAAI,IAC7C,aAAa,KAAK,IAAI,EAClB,gBAAgB,eAAe,IAAI,IAAI,GAC7C,CAEF,GAAI,WACJ,WAAY,GACZ,IAAI,IAAM,UAAY,CACpB,UAAY,GACZ,IAAI,MAAQ,aAAa,OAAO,EAAG,kBAAoB,KAAO,IAAM,EAAE,EAClE,gBACF,MAAM,QAAQ,SAAUA,MAAM,CAAE,eAAe,OAAOA,KAAI,CAAG,CAAC,EAE3D,MAAM,SAAQ,MAAQ,CAAC,SAAS,MAAQ,SAAS,eAAe,GACrE,MAAM,QAAQ,SAAUA,MAAM,CAAE,MAAMA,KAAI,CAAG,CAAC,EAC1C,aAAa,QAAQ,SAAS,CACpC,EACA,GAAI,cAAc,EAAG,CACnB,OAAO,WAAW,IAAK,CAAC,EACxB,MACF,CACA,OAAO,sBAAsB,UAAY,CACnC,wBAAyB,OAAQ,OAAO,oBAAoB,IAAK,CAAE,QAAS,GAAI,CAAC,EAChF,IAAI,CACX,CAAC,EACH,CAEA,SAAS,eAAgB,CACnB,UAAY,CAAC,SAAS,kBAC1B,SAAW,IAAI,iBAAiB,SAAU,UAAW,CACnD,GAAI,YACJ,KAAI,MAAQ,CAAC,EACb,UAAU,QAAQ,SAAU,SAAU,CACpC,GAAI,SAAS,OAAS,gBACpB,cAAc,IAAI,SAAS,OAAQ,SAAS,OAAO,WAAa,EAAE,EAClE,MAAM,KAAK,SAAS,MAAM,UACjB,SAAS,OAAS,YAC3B,SAAS,WAAW,QAAQ,SAAU,KAAM,CAAE,MAAM,KAAK,IAAI,CAAG,CAAC,UACxD,SAAS,OAAS,aAAc,CACzC,IAAI,MAAQ,aAAa,SAAS,MAAM,EACxC,MAAM,SAAS,aAAa,EAAI,SAAS,OAAO,aAAa,SAAS,aAAa,GAAK,GACxF,MAAM,KAAK,SAAS,MAAM,CAC5B,CACF,CAAC,EACD,SAAS,KAAK,EAChB,CAAC,EACD,SAAS,QAAQ,SAAS,gBAAiB,CACzC,QAAS,GACT,UAAW,GACX,cAAe,GACf,WAAY,GACZ,gBAAiB,CAAC,cAAe,aAAc,QAAS,MAAO,OAAO,CACxE,CAAC,EACH,CAEA,SAAS,kBAAmB,CAC1B,GAAI,kBAAoB,KACxB,KAAI,OAAS,cAAc,EAAI,CAAC,IAAK,IAAK,KAAM,KAAM,GAAI,EAAI,CAAC,IAAK,KAAM,IAAI,EAC9E,OAAO,QAAQ,SAAU,MAAO,CAC9B,OAAO,WAAW,UAAY,CACxB,kBAAoB,MACxB,SAAS,CAAC,SAAS,MAAQ,SAAS,eAAe,CAAC,CACtD,EAAG,KAAK,CACV,CAAC,EACH,CAEA,SAAS,0BAA2B,CAClC,GAAI,QAAO,uCACX,QAAO,uCAAyC,IAChD,IAAI,IAAM,UAAY,CAChB,kBAAoB,MAAQ,CAAC,cAAc,GAAK,0BACpD,SAAS,CAAC,SAAS,MAAQ,SAAS,eAAe,CAAC,CACtD,EACA,GAAI,CAAE,OAAO,iBAAiB,WAAY,IAAK,CAAE,QAAS,EAAK,CAAC,CAAG,MAAY,CAAC,CAChF,GAAI,CAAE,OAAO,iBAAiB,OAAQ,UAAY,CAAE,OAAO,WAAW,IAAK,GAAG,CAAG,EAAG,CAAE,QAAS,EAAK,CAAC,CAAG,MAAY,CAAC,CACrH,GAAI,CACF,SAAS,iBAAiB,mBAAoB,UAAY,CACnD,SAAS,QAAQ,OAAO,WAAW,IAAK,GAAG,CAClD,CAAC,CACH,MAAY,CAAC,EACf,CAEA,SAAS,YAAY,KAAM,QAAS,CAClC,QAAU,SAAW,CAAC,EACtB,IAAI,KAAO,OAAS,KAAO,KAAO,KAClC,GAAI,CACF,SAAS,gBAAgB,UAAU,OAAO,oBAAoB,EAC9D,SAAS,gBAAgB,UAAU,OAAO,2BAA2B,CACvE,MAAY,CAAC,CAGb,GAFI,OAAS,MAAM,kBAAkB,EACrC,oBAAoB,IAAI,EACpB,UAAQ,YAAc,IAAS,iCAAiC,KAAM,EAAK,GAC/E,OAAM,SAAS,MAAQ,SAAS,eAAe,EAC/C,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,GAAI,CACF,OAAO,cAAc,IAAI,YAAY,iCAAkC,CAAE,OAAQ,CAAE,SAAU,IAAK,CAAE,CAAC,CAAC,CACxG,MAAY,CAAC,CACb,GAAI,QAAQ,YAAc,GACxB,GAAI,CACF,IAAI,IAAM,IAAI,IAAI,OAAO,SAAS,IAAI,EAClC,4BAA4B,IAAI,QAAQ,GAC1C,IAAI,SAAW,uBAAuB,IAAI,SAAU,IAAI,EACxD,IAAI,aAAa,OAAO,MAAM,EAC9B,IAAI,aAAa,OAAO,QAAQ,GACvB,OAAS,MAClB,IAAI,aAAa,IAAI,OAAQ,IAAI,EACjC,IAAI,aAAa,IAAI,SAAU,IAAI,IAEnC,IAAI,aAAa,OAAO,MAAM,EAC9B,IAAI,aAAa,OAAO,QAAQ,GAElC,OAAO,QAAQ,aAAa,OAAO,QAAQ,MAAO,GAAI,IAAI,SAAW,IAAI,OAAS,IAAI,IAAI,CAC5F,MAAY,CAAC,EAEjB,CAEA,SAAS,gBAAiB,CACxB,OAEA,IAAI,MAQN,CAEA,SAAS,cAAe,CACtB,GAAI,UAAS,eAAe,yBAAyB,EACrD,KAAI,MAAQ,SAAS,cAAc,OAAO,EAC1C,MAAM,GAAK,0BACX,MAAM,YAAc,CAClB,ydACA,0aACA,oHACA,uTACA,kfACA,gkBACA,kJACA,yWACA,iiBACA,4DACA,0EACA,gMACA,mMACA,+IACA,sOACA,0KACF,EAAE,KAAK,EAAE,EACT,SAAS,KAAK,YAAY,KAAK,EACjC,CAEA,SAAS,gBAAiB,CACxB,GAAI,CACF,SAAS,iBAAiB,iHAAiH,EAAE,QAAQ,SAAU,OAAQ,CACrK,IAAI,KAAO,OAAO,aAAa,WAAW,GAAK,OAAO,aAAa,kBAAkB,GAAK,GAC1F,OAAO,UAAU,OAAO,YAAa,OAAS,eAAe,EAC7D,OAAO,aAAa,eAAgB,OAAS,gBAAkB,OAAS,OAAO,CACjF,CAAC,EACD,IAAI,MAAQ,SAAS,eAAe,cAAc,EAC9C,QAAO,MAAM,YAAc,kBAAoB,KAAO,qBAAS,qBACrE,MAAY,CAAC,CACf,CAEA,SAAS,oBAAoB,MAAO,CAClC,IAAI,KAAO,OAAO,OAAgB,EAAU,EAC5C,OAAO,kBAAoB,KAAO,cAAc,IAAI,EAAI,mBAAmB,IAAI,CACjF,CAEA,SAAS,mBAAoB,CAC3B,GAAI,QAAO,gCACX,QAAO,gCAAkC,IACzC,IAAI,YAAc,OAAO,MACrB,cAAgB,OAAO,QACvB,aAAe,OAAO,OACtB,OAAO,aAAgB,aACzB,OAAO,MAAQ,SAAU,QAAS,CAChC,OAAO,YAAY,KAAK,OAAQ,oBAAoB,OAAO,CAAC,CAC9D,GAEE,OAAO,eAAkB,aAC3B,OAAO,QAAU,SAAU,QAAS,CAClC,OAAO,cAAc,KAAK,OAAQ,oBAAoB,OAAO,CAAC,CAChE,GAEE,OAAO,cAAiB,aAC1B,OAAO,OAAS,SAAU,QAAS,aAAc,CAC/C,OAAO,aAAa,KAAK,OAAQ,oBAAoB,OAAO,EAAG,YAAY,CAC7E,GAEJ,CAEA,SAAS,2BAA4B,CACnC,GAAI,CACF,SAAS,iBAAiB,kCAAkC,EAAE,QAAQ,SAAU,KAAM,CACpF,IAAI,KAAO,UAAU,KAAK,aAAe,EAAE,EAAE,YAAY,EACrD,KAAO,KAAK,QAAQ,SAAS,GAAK,EAAI,KAAQ,KAAK,QAAQ,UAAU,GAAK,EAAI,KAAO,GACpF,MACL,KAAK,aAAa,mBAAoB,IAAI,CAC5C,CAAC,CACH,MAAY,CAAC,CACf,CAEA,SAAS,qBAAsB,CACzB,SAAS,gBAAgB,QAAQ,yBAA2B,MAChE,SAAS,gBAAgB,QAAQ,uBAAyB,IAC1D,SAAS,iBAAiB,QAAS,SAAU,MAAO,CAClD,IAAI,OAAS,MAAM,QAAU,MAAM,OAAO,QAAU,MAAM,OAAO,QAAQ,gKAAgK,EAAI,KACxO,SACL,MAAM,eAAe,EACrB,YAAY,OAAO,aAAa,WAAW,GAAK,OAAO,aAAa,kBAAkB,GAAK,IAAI,EACjG,CAAC,EACH,CAEA,SAAS,MAAO,CACV,2BACJ,oBAAoB,eAAe,EAC/B,kCAAiC,gBAAiB,EAAI,IAC1D,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,MAAM,SAAS,MAAQ,SAAS,eAAe,EAC/C,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,cAAc,GAChB,CAEA,SAAS,WAAY,CACnB,oBAAoB,eAAe,EAC/B,kCAAiC,gBAAiB,EAAI,IAC1D,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACd,MAAM,SAAS,eAAe,EAC9B,sBAAsB,EACxB,CAEA,OAAO,YAAc,CACnB,EAAG,SAAU,MAAO,CAAE,OAAO,kBAAoB,KAAO,cAAc,KAAK,EAAI,OAAO,OAAgB,EAAU,CAAG,EACnH,MACA,YACA,YAAa,UAAY,CAAE,OAAO,eAAiB,EACnD,UAAW,UAAY,CAAE,OAAO,kBAAoB,IAAM,CAC5D,EAEA,UAAU,EACN,SAAS,aAAe,UAAW,SAAS,iBAAiB,mBAAoB,IAAI,EACpF,KAAK,CACZ,GAAG",
  "names": ["node"]
}
