@rebasepro/app 0.25.1 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +1 -1
  2. package/dist/RlsSimulatorPanel-DOfmVgM3.js +403 -0
  3. package/dist/RlsSimulatorPanel-DOfmVgM3.js.map +1 -0
  4. package/dist/collections/form-layout.d.ts +30 -27
  5. package/dist/components/LanguageToggle.d.ts +9 -0
  6. package/dist/components/LoginView/index.d.ts +7 -0
  7. package/dist/components/index.d.ts +1 -0
  8. package/dist/components/studio/RlsSimulatorBar.d.ts +39 -0
  9. package/dist/components/studio/RlsSimulatorPanel.d.ts +29 -0
  10. package/dist/contexts/RlsSimulationContext.d.ts +47 -0
  11. package/dist/contexts/index.d.ts +1 -0
  12. package/dist/core/effective_role_state.d.ts +9 -0
  13. package/dist/{de-DyzL3TA9.js → de-3yzzpuZj.js} +108 -1
  14. package/dist/de-3yzzpuZj.js.map +1 -0
  15. package/dist/debug.js +96 -46
  16. package/dist/{es-DJCi9Za4.js → es-mnyTaRkK.js} +108 -1
  17. package/dist/es-mnyTaRkK.js.map +1 -0
  18. package/dist/{fr-Ie-LqMS1.js → fr-nJHADzlI.js} +108 -1
  19. package/dist/fr-nJHADzlI.js.map +1 -0
  20. package/dist/{hi-D7t90uiv.js → hi-B9_iunnL.js} +108 -1
  21. package/dist/hi-B9_iunnL.js.map +1 -0
  22. package/dist/hooks/useBuildEffectiveRoleController.d.ts +9 -3
  23. package/dist/hooks/usePermissions.d.ts +4 -0
  24. package/dist/hooks/useUnsavedChangesDialog.d.ts +7 -1
  25. package/dist/i18n/RebaseI18nProvider.d.ts +11 -0
  26. package/dist/index.es.js +2747 -2555
  27. package/dist/index.es.js.map +1 -1
  28. package/dist/{it-DPvaMOt6.js → it-DoEtz-OK.js} +108 -1
  29. package/dist/it-DoEtz-OK.js.map +1 -0
  30. package/dist/{pt-DfaXMf_W.js → pt-DT26AmBU.js} +108 -1
  31. package/dist/pt-DT26AmBU.js.map +1 -0
  32. package/package.json +7 -7
  33. package/dist/de-DyzL3TA9.js.map +0 -1
  34. package/dist/es-DJCi9Za4.js.map +0 -1
  35. package/dist/fr-Ie-LqMS1.js.map +0 -1
  36. package/dist/hi-D7t90uiv.js.map +0 -1
  37. package/dist/it-DPvaMOt6.js.map +0 -1
  38. package/dist/pt-DfaXMf_W.js.map +0 -1
@@ -196,6 +196,30 @@ var it = {
196
196
  error_firestore_index: "Per questa query è richiesto un indice Firestore.",
197
197
  realtime_connection_lost_title: "Aggiornamenti in tempo reale in pausa",
198
198
  realtime_connection_lost_body: "La connessione al server si è interrotta, quindi ciò che vedi potrebbe non essere aggiornato. Si aggiornerà non appena la connessione tornerà.",
199
+ rls_simulate_access: "Simula accesso",
200
+ rls_simulate_access_description: "Guarda ogni collezione come la vedrebbe un ruolo, un utente o una chiave di servizio: le righe e i campi nascosti dalla sicurezza a livello di riga vengono esclusi.",
201
+ rls_simulate_tab_role: "Ruolo",
202
+ rls_simulate_tab_user: "Utente",
203
+ rls_simulate_tab_api_key: "Chiave API",
204
+ rls_simulate_user_id_optional: "Come id utente (facoltativo)",
205
+ rls_simulate_apply: "Simula",
206
+ rls_simulate_stop: "Interrompi simulazione",
207
+ rls_simulate_search_users: "Cerca utenti",
208
+ rls_simulate_no_users: "Nessun utente trovato.",
209
+ rls_simulate_no_api_keys: "Nessuna chiave di servizio attiva.",
210
+ rls_simulate_options_error: "Impossibile caricare cosa si può simulare: {{message}}",
211
+ rls_simulate_users_error: "Impossibile caricare gli utenti: {{message}}",
212
+ rls_simulation_viewing_as_role: "Vista come ruolo {{role}}",
213
+ rls_simulation_viewing_as_role_user: "Vista come {{user}} con il ruolo {{role}}",
214
+ rls_simulation_viewing_as_user: "Vista come utente {{user}}",
215
+ rls_simulation_viewing_as_api_key: "Vista come chiave API {{name}} ({{prefix}}…)",
216
+ rls_simulation_hidden_collections: "{{count}} collezioni nascoste",
217
+ rls_simulation_hidden_collections_one: "1 collezione nascosta",
218
+ rls_simulation_masked_columns: "{{count}} colonne mascherate dalla RLS",
219
+ rls_simulation_masked_columns_one: "1 colonna mascherata dalla RLS",
220
+ rls_simulation_counting: "Calcolo di ciò che questa identità può leggere…",
221
+ rls_simulation_count_failed: "Impossibile contare ciò che questa identità può leggere: {{message}}",
222
+ rls_simulation_note: "Le viste dei dati mostrano solo le righe e i campi che questa identità può leggere. La modifica è disattivata durante la simulazione: interrompi la simulazione per apportare modifiche. Gli aggiornamenti in tempo reale sono in pausa.",
199
223
  create_index: "Crea indice",
200
224
  value_is_not_reference: "Il valore non è un riferimento.",
201
225
  click_to_edit: "Fai clic per modificare",
@@ -1381,6 +1405,61 @@ var it = {
1381
1405
  studio_rls_nothing_changed: "Non è cambiato nulla, quindi non è stato salvato nulla.",
1382
1406
  studio_branches_unavailable_title: "Il branching del database non è disponibile",
1383
1407
  studio_branches_unavailable_body: "Il branching richiede un backend Postgres con una connessione da amministratore. Imposta ADMIN_CONNECTION_STRING nell'ambiente del backend.",
1408
+ studio_branch_diff_tab_schema: "Schema e policy RLS",
1409
+ studio_branch_diff_tab_data: "Modifiche ai dati",
1410
+ studio_branch_diff_tab_details: "Dettagli",
1411
+ studio_branch_diff_merge: "Unisci in {{target}}",
1412
+ studio_branch_diff_failed: "Impossibile confrontare questo branch",
1413
+ studio_branch_diff_denied_title: "Non puoi esaminare questo branch",
1414
+ studio_branch_diff_denied_hint: "Esaminare un branch richiede lo scope database:write: il suo diff mostra righe di entrambi i database, lette fuori dalla sicurezza a livello di riga.",
1415
+ studio_branch_diff_unreadable: "Il server ha risposto con qualcosa che non è un diff di branch.",
1416
+ studio_branch_diff_no_api: "Questo pannello non ha un indirizzo di backend da cui leggere il diff del branch.",
1417
+ studio_branch_diff_fork_unknown: "Non è stato possibile leggere il momento in cui è stato creato questo branch, quindi ogni riga diversa conta come modifica del branch. Un'unione annullerebbe anche ciò che {{target}} ha cambiato da allora.",
1418
+ studio_branch_diff_schema_empty: "Nessuna modifica a schema o policy rispetto a {{target}}.",
1419
+ studio_branch_diff_schema_not_merged: "Le modifiche a schema e policy sono mostrate per la revisione. Un'unione non le applica mai: appartengono alle tue collection e alle loro migrazioni.",
1420
+ studio_branch_diff_object_table: "Tabella",
1421
+ studio_branch_diff_object_column: "Colonna",
1422
+ studio_branch_diff_object_policy: "Policy di accesso",
1423
+ studio_branch_diff_object_rls: "Sicurezza a livello di riga",
1424
+ studio_branch_diff_object_constraint: "Vincolo",
1425
+ studio_branch_diff_object_index: "Indice",
1426
+ studio_branch_diff_object_trigger: "Trigger",
1427
+ studio_branch_diff_object_enum: "Tipo enum",
1428
+ studio_branch_diff_object_view: "Vista",
1429
+ studio_branch_diff_object_function: "Funzione",
1430
+ studio_branch_diff_change_added: "Aggiunto",
1431
+ studio_branch_diff_change_dropped: "Eliminato",
1432
+ studio_branch_diff_change_altered: "Modificato",
1433
+ studio_branch_diff_data_empty: "Il branch non ha modificato righe rispetto a {{target}}.",
1434
+ studio_branch_diff_row_inserted: "Inserita",
1435
+ studio_branch_diff_row_updated: "Aggiornata",
1436
+ studio_branch_diff_row_deleted: "Eliminata",
1437
+ studio_branch_diff_row_conflict: "Conflitto",
1438
+ studio_branch_diff_conflicts: "{{count}} conflitti",
1439
+ studio_branch_diff_target_changes: "{{count}} righe sono cambiate solo in {{target}} dalla creazione del branch. Un'unione le mantiene.",
1440
+ studio_branch_diff_target_changes_referencing: "{{count}} righe sono cambiate solo su {{target}} dalla creazione del branch. {{reached}} di esse fanno riferimento a righe che il branch ha eliminato: un merge le mantiene, a meno che il branch non vinca quel conflitto.",
1441
+ studio_branch_diff_referenced_by: "Righe che {{target}} ha scritto dalla creazione del branch fanno ancora riferimento a righe che il branch ha eliminato qui: {{tables}}. Ognuna conta come un conflitto.",
1442
+ studio_branch_diff_row_counts: "Righe: {{targetCount}} in {{target}}, {{branchCount}} nel branch.",
1443
+ studio_branch_diff_column_change: "Modifica",
1444
+ studio_branch_diff_column_key: "Chiave primaria",
1445
+ studio_branch_diff_column_values: "Valori",
1446
+ studio_branch_diff_samples_shown: "Mostrate {{shown}} di {{total}} righe modificate.",
1447
+ studio_branch_diff_merge_title: "Unisci {{branch}} in {{target}}",
1448
+ studio_branch_diff_merge_writes: "Questo scrive le righe del branch in {{target}}: {{inserted}} inserite, {{updated}} aggiornate e {{deleted}} eliminate.",
1449
+ studio_branch_diff_merge_target_kept: "Nulla di ciò che {{target}} ha cambiato dalla creazione del branch viene toccato.",
1450
+ studio_branch_diff_merge_target_kept_count: "Le {{count}} righe che {{target}} ha cambiato dalla creazione del branch restano come sono.",
1451
+ studio_branch_diff_merge_schema_skipped: "Le {{count}} modifiche a schema e policy non vengono unite. Applicale con le tue migrazioni (rebase db push).",
1452
+ studio_branch_diff_merge_conflicts: "{{count}} righe sono cambiate da entrambe le parti. Quale versione prevale?",
1453
+ studio_branch_diff_merge_referenced_conflicts: "Alcune sono righe che il branch ha eliminato e a cui fanno ancora riferimento {{count}} righe scritte da {{target}} nel frattempo: {{tables}}. Mantenere la versione di {{target}} mantiene quelle righe e le righe che le referenziano.",
1454
+ studio_branch_diff_merge_referenced_reached: "Se vince il branch, vengono eliminate righe a cui fanno ancora riferimento {{count}} righe scritte da {{target}} nel frattempo, e le chiavi esterne raggiungono quelle righe: {{tables}}. Le altre righe che {{target}} ha cambiato restano come sono.",
1455
+ studio_branch_diff_conflict_abort: "Nessuna: non unire nulla",
1456
+ studio_branch_diff_conflict_branch: "Quella del branch ({{branch}})",
1457
+ studio_branch_diff_conflict_target: "Quella di {{target}}: lasciarla com'è",
1458
+ studio_branch_diff_merge_blocked: "{{count}} tabelle con righe modificate non possono essere unite:",
1459
+ studio_branch_diff_merge_skip_blocked: "Unisci le altre tabelle e lascia queste come sono",
1460
+ studio_branch_diff_merge_atomic: "Tutto viene scritto in un'unica transazione, oppure niente. Se uno dei due database è cambiato da quando è stato letto questo diff, non viene scritto nulla e il diff si ricarica.",
1461
+ studio_branch_diff_merge_confirm: "Unisci",
1462
+ studio_branch_diff_merged: "{{count}} righe unite in {{target}}",
1384
1463
  studio_backups_not_configured_title: "I backup non sono configurati",
1385
1464
  studio_backups_not_configured_body: "Imposta BACKUP_DESTINATION su un percorso locale o su un URL s3:// o gs://, poi crea un backup con `rebase db backup` o un cron pianificato.",
1386
1465
  studio_cron_empty_title: "Nessun processo cron registrato",
@@ -1472,6 +1551,34 @@ var it = {
1472
1551
  studio_storage_folder_exists: "La cartella «{{name}}» esiste già",
1473
1552
  studio_storage_folder_created: "Cartella «{{name}}» creata",
1474
1553
  studio_storage_create_folder_failed: "Impossibile creare la cartella",
1554
+ studio_branches_empty: "Ancora nessun branch. Creane uno per lavorare su una copia isolata del database.",
1555
+ studio_branches_create_action: "Crea branch",
1556
+ studio_branches_empty_detail: "Crea un branch per iniziare",
1557
+ studio_branches_select_prompt: "Seleziona un branch per vederne i dettagli",
1558
+ studio_branches_list_from: "da {{parent}} · {{when}}",
1559
+ studio_branches_created_from: "Creato da",
1560
+ studio_branches_branch_name: "Nome del branch",
1561
+ studio_branches_source_database: "Database di origine",
1562
+ studio_branches_created: "Creato",
1563
+ studio_branches_size: "Dimensione",
1564
+ studio_branches_usage_title: "Come usare questo branch",
1565
+ studio_branches_usage_switch: "Punta questo checkout su di esso. Ogni comando successivo lo usa:",
1566
+ studio_branches_usage_off: "Torna al database principale con:",
1567
+ studio_branches_usage_isolated: "Le modifiche fatte su questo branch non toccano il database principale.",
1568
+ studio_branches_connection_details: "Dettagli di connessione",
1569
+ studio_branches_row_database: "Database:",
1570
+ studio_branches_row_connect: "Connettiti con:",
1571
+ studio_branches_row_branched_from: "Derivato da:",
1572
+ studio_branches_row_created_at: "Creato il:",
1573
+ studio_branches_create_title: "Crea nuovo branch",
1574
+ studio_branches_create_body: "Crea una copia isolata del database. Il branch sarà un clone completo del database di origine in questo momento.",
1575
+ studio_branches_name_placeholder: "es. feature-auth, staging, preview-pr-42",
1576
+ studio_branches_source_main: "Predefinito (database principale)",
1577
+ studio_branches_creating: "Creazione…",
1578
+ studio_branches_delete_title: "Elimina branch",
1579
+ studio_branches_delete_body: "Vuoi davvero eliminare definitivamente il branch “{{name}}”? Questa azione non può essere annullata e tutti i dati di questo branch andranno persi.",
1580
+ studio_branches_created_snackbar: "Branch “{{name}}” creato",
1581
+ studio_branches_deleted_snackbar: "Branch “{{name}}” eliminato",
1475
1582
  insights_period_last_days: "Ultimi {{count}} giorni",
1476
1583
  insights_period_last_days_one: "Ultimo giorno",
1477
1584
  insights_previous_period_value: "{{count}} giorni precedenti: {{value}}",
@@ -1498,4 +1605,4 @@ var it = {
1498
1605
  //#endregion
1499
1606
  export { it };
1500
1607
 
1501
- //# sourceMappingURL=it-DPvaMOt6.js.map
1608
+ //# sourceMappingURL=it-DoEtz-OK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"it-DoEtz-OK.js","names":[],"sources":["../src/locales/it.ts"],"sourcesContent":["import { RebaseTranslations } from \"@rebasepro/cms-types\";\n\nexport const it: RebaseTranslations = {\n // ─── Form actions ────────────────────────────────────────────\n save: \"Salva\",\n create: \"Crea\",\n create_copy: \"Crea copia\",\n save_and_close: \"Salva e chiudi\",\n create_copy_and_close: \"Crea copia e chiudi\",\n create_and_close: \"Crea e chiudi\",\n discard: \"Scarta\",\n clear: \"Cancella\",\n cancel: \"Annulla\",\n\n // ─── Entity actions ──────────────────────────────────────────\n edit: \"Modifica\",\n copy: \"Copia\",\n delete: \"Elimina\",\n delete_not_allowed: \"Hai selezionato almeno un'entità che non puoi eliminare\",\n edit_entity: \"Modifica\",\n back_to_detail: \"Torna ai dettagli\",\n\n // ─── Delete dialog ───────────────────────────────────────────\n delete_confirmation_title: \"Eliminare?\",\n delete_confirmation_body: \"Questo eliminerà l'entità. Sei sicuro?\",\n delete_multiple_confirmation_body: \"Questo eliminerà le entità selezionate. Sei sicuro?\",\n\n // ─── Unsaved-changes dialog ───────────────────────────────────\n unsaved_changes_title: \"Modifiche non salvate\",\n unsaved_changes_body: \"Hai modifiche non salvate. Vuoi scartarle?\",\n discard_changes: \"Scarta le modifiche\",\n keep_editing: \"Continua a modificare\",\n clear_form: \"Svuotare il modulo?\",\n discard_changes_confirmation: \"Tutte le modifiche non salvate andranno perse. Questa azione non può essere annullata.\",\n clear_form_confirmation: \"Tutti i valori inseriti verranno cancellati. Questa azione non può essere annullata.\",\n\n // ─── Collection table / toolbar ──────────────────────────────\n search: \"Cerca\",\n find_by_id: \"Cerca per ID\",\n find_entity_by_id: \"Cerca entità per ID\",\n filter: \"Filtra\",\n filters: \"Filtri\",\n records_in_view: \"Record in questa vista\",\n clear_filter: \"Cancella filtro\",\n clear_filter_sort: \"Cancella filtro/ordinamento\",\n clear_sort: \"Cancella ordinamento\",\n sort: \"Ordina\",\n sort_by: \"Ordina per\",\n sort_then_by: \"Poi per\",\n sort_ascending: \"Ordina in modo crescente\",\n sort_descending: \"Ordina in modo decrescente\",\n sort_remove: \"Rimuovi ordinamento\",\n sort_move_up: \"Rendi questa chiave più importante\",\n sort_move_down: \"Rendi questa chiave meno importante\",\n sort_remove_key: \"Rimuovi questa chiave di ordinamento\",\n sort_key_position: \"Chiave di ordinamento {{position}}\",\n sort_shift_click_hint: \"Maiusc+clic per aggiungere una colonna sotto l'ordinamento attuale\",\n save_entity_before_subcollections: \"Salva questo record prima di aggiungere record collegati.\",\n clear_all: \"Cancella tutto\",\n no_items: \"Nessun elemento\",\n no_entries_found: \"Nessuna voce trovata\",\n all_entries_loaded: \"Tutte le {{count}} voci caricate\",\n error_loading_data_message: \"Errore nel caricamento dei dati: {{message}}\",\n clear_search: \"Cancella ricerca\",\n open_time_picker: \"Apri selettore orario\",\n relative_just_now: \"proprio ora\",\n relative_in_a_moment: \"tra un attimo\",\n relative_minutes_ago: \"{{count}} min fa\",\n relative_in_minutes: \"tra {{count}} min\",\n relative_hours_ago: \"{{count}} h fa\",\n relative_in_hours: \"tra {{count}} h\",\n relative_days_ago: \"{{count}} g fa\",\n relative_in_days: \"tra {{count}} g\",\n create_your_first_entry: \"Crea la tua prima voce\",\n no_results_filter_sort: \"Nessun risultato con il filtro/ordinamento applicato\",\n no_results_filter: \"Nessun risultato con i filtri applicati\",\n no_results_search: \"Nessun risultato trovato per \\\"{{search}}\\\"\",\n add: \"Aggiungi\",\n remove: \"Rimuovi\",\n multiple_entities: \"Entità multiple\",\n unsaved_changes: \"Hai modifiche non salvate in {{collectionName}}.\",\n so_empty: \"Così vuoto...\",\n no_results: \"Nessun risultato con il filtro/ordinamento applicato\",\n refresh_data: \"Aggiorna i dati\",\n dark_mode: \"Scuro\",\n light_mode: \"Chiaro\",\n system_mode: \"Sistema\",\n join_newsletter: \"Iscriviti alla newsletter, niente spam\",\n ok: \"Ok\",\n save_collection_config: \"Salva struttura della collezione\",\n search_for_more_icons: \"Cerca altre icone…\",\n ai_modified: \"Modificato dall'IA\",\n size_label: \"Dimensioni\",\n group_by: \"Raggruppa per\",\n initialize_kanban_order: \"Inizializza ordine Kanban\",\n copy_id: \"Copia ID\",\n add_specific: \"Aggiungi {{name}}\",\n add_named: \"Aggiungi \\\"{{name}}\\\"\",\n select_specific: \"Seleziona {{name}}\",\n select_from: \"Seleziona da {{name}}\",\n done: \"Fatto\",\n log_out: \"Esci\",\n column_cannot_be_edited: \"Questa colonna non può essere modificata direttamente\",\n close: \"Chiudi\",\n hide_list: \"Nascondi elenco\",\n show_list: \"Mostra elenco\",\n unsaved_local_changes: \"Modifiche locali non salvate\",\n unsaved_local_changes_description: \"Questo documento è stato modificato localmente e ha modifiche non salvate. Queste modifiche locali andranno perse se non le applichi.\",\n preview_changes: \"Anteprima modifiche\",\n apply_changes: \"Applica modifiche\",\n discard_local_changes: \"Scarta modifiche locali\",\n preview_local_changes: \"Anteprima modifiche locali\",\n preview_local_changes_description: \"Queste sono le modifiche locali che verranno applicate al modulo.\",\n type: \"Tipo\",\n string: \"stringa\",\n number: \"numero\",\n boolean: \"booleano\",\n date: \"data\",\n map: \"mappa\",\n array: \"array\",\n arrays_of_arrays_not_supported: \"Array di array non sono supportati.\",\n data_type_not_supported: \"Tipo di dati {{dataType}} non ancora supportato\",\n passkey_error_unsupported: \"Il tuo dispositivo o browser non supporta le passkey.\",\n\n // ─── Entity form feedback ─────────────────────────────────────\n saved_correctly: \"Salvato correttamente\",\n error_before_saving: \"Errore nella preparazione dei dati\",\n error_after_saving: \"Errore nel processo post-salvataggio\",\n error_saving_entity: \"Errore durante il salvataggio dell'entità\",\n error_record_changed_elsewhere: \"Questo record è stato modificato da quando l'hai aperto. Le tue modifiche sono state mantenute: controlla i campi segnati come aggiornati altrove, poi salva di nuovo.\",\n entity_does_not_exist: \"Questa entità non esiste nel database\",\n form_modified: \"Questo modulo è stato modificato\",\n form_in_sync: \"Il modulo attuale è sincronizzato con il database\",\n fix_errors_before_saving: \"Correggi gli errori evidenziati prima di salvare\",\n form_predating_rule_violations: \"Alcuni campi che non hai modificato non rispettano le regole attuali. Non impediscono il salvataggio:\",\n\n admin: \"Admin\",\n home: \"Home\",\n this_form_has_errors: \"Questo modulo contiene errori\",\n error_loading_navigation: \"Errore durante il caricamento della navigazione\",\n error_loading_auth: \"Errore durante il caricamento dell'autenticazione\",\n this_form_has_been_modified: \"Questo modulo è stato modificato\",\n current_form_in_sync: \"Il modulo corrente è sincronizzato con il database\",\n open_in_console: \"Apri nella console\",\n collection_does_not_exist: \"La collezione specificata non esiste. Controlla la console\",\n unexpected_value: \"Valore inaspettato\",\n unexpected_value_click_to_edit: \"Valore inaspettato. Fai clic per modificare\",\n unexpected_reference_value: \"Valore di riferimento inaspettato. Fai clic per modificare\",\n copy_url_to_clipboard: \"Copia url negli appunti\",\n open_image_in_new_tab: \"Apri immagine in una nuova scheda\",\n reference_not_set: \"Riferimento non impostato\",\n reference_does_not_exist: \"Il riferimento non esiste\",\n entity_not_found: \"Entità non trovata\",\n entity_not_found_body: \"Questo record non esiste, oppure è nascosto per te dalla sicurezza a livello di riga.\",\n collection_not_found: \"Collezione non trovata\",\n collection_not_found_body: \"Non c'è nulla di registrato per \\\"{{path}}\\\".\",\n collection_not_found_hint: \"L'URL indica una collezione che il pannello non conosce. Potrebbe essere stata rinominata o rimossa dall'array delle collezioni, oppure lo slug non corrisponde al percorso.\",\n back_to_collection: \"Torna a {{name}}\",\n file_not_found: \"File non trovato\",\n unsaved_changes_in_entity: \"Hai modifiche non salvate in questa entità.\",\n delete_this_role: \"Elimina questo ruolo\",\n no_roles_yet: \"Non hai ancora ruoli.\",\n create_default_roles: \"Crea ruoli predefiniti\",\n delete_role_confirmation: \"Sei sicuro di voler eliminare questo ruolo?\",\n delete_this_user: \"Elimina questo utente\",\n no_users_yet: \"Non ci sono ancora utenti\",\n add_logged_user_as_admin: \"Aggiungi l'utente registrato come amministratore\",\n add_current_user_as_admin: \"Aggiungi l'utente corrente come amministratore\",\n create_default_roles_and_add_admin: \"Crea i ruoli predefiniti e aggiungi l'utente corrente come amministratore\",\n delete_user_confirmation: \"Sei sicuro di voler eliminare questo utente?\",\n create_your_users_and_roles: \"Crea i tuoi utenti e ruoli\",\n no_users_or_roles_defined: \"Non hai definito né utenti né ruoli. Puoi creare ruoli predefiniti e aggiungere l'utente corrente come amministratore.\",\n save_before_changing_schema: \"Devi salvare il documento prima di modificare lo schema\",\n edit_schema_for_this_form: \"Modifica lo schema per questo modulo\",\n no_permissions_to_edit_collection: \"Non hai i permessi per modificare questa collezione\",\n browser_does_not_support_audio: \"Il tuo browser non supporta l'elemento audio.\",\n user_not_found: \"Utente non trovato: {{value}}\",\n\n // ─── Collection view actions ──────────────────────────────────\n delete_selected: \"Elimina selezionato\",\n cannot_delete_selected: \"Hai selezionato almeno un'entità che non puoi eliminare\",\n\n // ─── Array / field containers ─────────────────────────────────\n add_entry: \"Aggiungi\",\n add_on_top: \"Aggiungi in alto\",\n add_below: \"Aggiungi in basso\",\n add_to_field: \"Aggiungi a {{fieldName}}\",\n value: \"Valore\",\n key: \"Chiave\",\n drag_drop_multiple: \"Trascina qui alcuni file oppure fai clic per selezionarli. Trascina per riordinare.\",\n drag_drop_single: \"Trascina qui un file oppure fai clic per selezionarne uno\",\n\n // ─── Navigation / scaffold ────────────────────────────────────\n open_menu: \"Apri menù\",\n close_drawer: \"Chiudi cassetto\",\n navigation_drawer: \"Cassetto di navigazione\",\n collapse: \"Comprimi\",\n expand: \"Espandi\",\n change_language: \"Cambia lingua\",\n toggle_theme: \"Cambia tema\",\n user_menu: \"Menu utente\",\n resize_sidebar: \"Ridimensiona la barra laterale\",\n resize_editor: \"Ridimensiona l'editor\",\n resize_list: \"Ridimensiona l'elenco\",\n panel_mode: \"Modalità del pannello\",\n\n // ─── Error states ─────────────────────────────────────────────\n error: \"Errore\",\n error_loading_data: \"Impossibile caricare i dati\",\n error_check_server_logs: \"Consulta i log del server per i dettagli.\",\n error_technical_details: \"Dettagli tecnici\",\n error_uploading_file: \"Errore durante il caricamento del file\",\n error_deleting: \"Errore durante l'eliminazione\",\n error_before_delete: \"Errore prima dell'eliminazione\",\n error_updating_asset: \"Errore durante l'aggiornamento dell'asset\",\n error_deleting_asset: \"Errore durante l'eliminazione dell'asset\",\n error_firestore_index: \"Per questa query è richiesto un indice Firestore.\",\n realtime_connection_lost_title: \"Aggiornamenti in tempo reale in pausa\",\n realtime_connection_lost_body: \"La connessione al server si è interrotta, quindi ciò che vedi potrebbe non essere aggiornato. Si aggiornerà non appena la connessione tornerà.\",\n rls_simulate_access: \"Simula accesso\",\n rls_simulate_access_description: \"Guarda ogni collezione come la vedrebbe un ruolo, un utente o una chiave di servizio: le righe e i campi nascosti dalla sicurezza a livello di riga vengono esclusi.\",\n rls_simulate_tab_role: \"Ruolo\",\n rls_simulate_tab_user: \"Utente\",\n rls_simulate_tab_api_key: \"Chiave API\",\n rls_simulate_user_id_optional: \"Come id utente (facoltativo)\",\n rls_simulate_apply: \"Simula\",\n rls_simulate_stop: \"Interrompi simulazione\",\n rls_simulate_search_users: \"Cerca utenti\",\n rls_simulate_no_users: \"Nessun utente trovato.\",\n rls_simulate_no_api_keys: \"Nessuna chiave di servizio attiva.\",\n rls_simulate_options_error: \"Impossibile caricare cosa si può simulare: {{message}}\",\n rls_simulate_users_error: \"Impossibile caricare gli utenti: {{message}}\",\n rls_simulation_viewing_as_role: \"Vista come ruolo {{role}}\",\n rls_simulation_viewing_as_role_user: \"Vista come {{user}} con il ruolo {{role}}\",\n rls_simulation_viewing_as_user: \"Vista come utente {{user}}\",\n rls_simulation_viewing_as_api_key: \"Vista come chiave API {{name}} ({{prefix}}…)\",\n rls_simulation_hidden_collections: \"{{count}} collezioni nascoste\",\n rls_simulation_hidden_collections_one: \"1 collezione nascosta\",\n rls_simulation_masked_columns: \"{{count}} colonne mascherate dalla RLS\",\n rls_simulation_masked_columns_one: \"1 colonna mascherata dalla RLS\",\n rls_simulation_counting: \"Calcolo di ciò che questa identità può leggere…\",\n rls_simulation_count_failed: \"Impossibile contare ciò che questa identità può leggere: {{message}}\",\n rls_simulation_note: \"Le viste dei dati mostrano solo le righe e i campi che questa identità può leggere. La modifica è disattivata durante la simulazione: interrompi la simulazione per apportare modifiche. Gli aggiornamenti in tempo reale sono in pausa.\",\n create_index: \"Crea indice\",\n value_is_not_reference: \"Il valore non è un riferimento.\",\n click_to_edit: \"Fai clic per modificare\",\n data_is_not_array_of_references: \"I dati non sono un array di riferimenti\",\n\n // ─── Misc ─────────────────────────────────────────────────────\n loading: \"Caricamento in corso\",\n local_changes_applied: \"Modifiche locali applicate al modulo\",\n local_changes_discarded: \"Modifiche locali scartate\",\n are_you_sure_leave: \"Sei sicuro di voler uscire da questa pagina?\",\n see_console_details: \"Vedi la console per maggiori dettagli.\",\n drop_here_create_group: \"Rilascia qui per creare un nuovo gruppo\",\n filter_for_null_values: \"Filtra per valori nulli\",\n value_updated_elsewhere: \"Questo valore è stato aggiornato altrove\",\n entity_deleted_elsewhere: \"Questo record è stato eliminato altrove. Quello che vedi qui non è stato salvato; salvalo come nuovo record per conservarlo.\",\n save_as_new: \"Salva come nuovo\",\n add_property: \"Aggiungi proprietà\",\n edit_name: \"Modifica {{name}}\",\n this_entity_not_exist: \"Questa entità non esiste nel database\",\n internal_error: \"ERRORE interno\",\n\n // ─── Rename group dialog ──────────────────────────────────────\n rename_group: \"Rinomina gruppo\",\n group_name_label: \"Nome gruppo\",\n group_name_empty_error: \"Il nome del gruppo non può essere vuoto.\",\n group_name_exists_error: \"Questo nome del gruppo esiste già.\",\n\n // ─── Search ───────────────────────────────────────────────────\n search_collections: \"Cerca collezioni\",\n\n // ─── Navigation groups ────────────────────────────────────────\n views_group: \"Viste\",\n\n // ─── Entity Edit View ─────────────────────────────────────────\n youd_need_to_save_before_additional_collections: \"Salva questo record prima di aggiungere record collegati.\",\n\n // ─── Not Found Page ───────────────────────────────────────────\n page_not_found: \"Pagina non trovata\",\n page_not_found_body: \"Questa pagina non esiste o potresti non avere i permessi per accedervi\",\n back_to_home: \"Torna alla home\",\n\n // ─── Collection Editor ─────────────────────────────────────────\n default_collection_view: \"Vista collezione predefinita\",\n table_view: \"Tabella\",\n cards_view: \"Schede (card)\",\n kanban_view: \"Kanban\",\n choose_how_entities_displayed_default: \"Scegli come debbano essere visualizzate le entità di default\",\n\n document_view: \"Vista documento\",\n side_panel: \"Pannello laterale\",\n full_screen: \"Schermo intero\",\n should_documents_opened_full_screen: \"I documenti dovrebbero essere aperti a schermo intero o in una finestra di dialogo laterale integrata\",\n\n select_custom_view: \"Seleziona vista personalizzata\",\n no_custom_views_defined: \"Nessuna vista personalizzata definita. Definisci le viste personalizzate nelle impostazioni di personalizzazione prima di utilizzare questa finestra.\",\n\n select_custom_action: \"Seleziona azione personalizzata\",\n no_custom_actions_defined: \"Nessuna azione personalizzata definita. Definisci le azioni personalizzate nelle impostazioni di personalizzazione prima di utilizzare questa finestra.\",\n\n no_collections_found: \"Nessuna collezione trovata\",\n start_building_collections: \"Inizia facilmente a costruire collezioni in Rebase. Mapale comodamente ai dati del tuo database esistente, importali da file o usa i nostri modelli.\",\n create_first_collection: \"Crea la tua prima collezione\",\n define_collections_programmatically: \"Puoi anche definire le collezioni a livello di codice.\",\n edit_collection: \"Modifica collezione\",\n no_permissions_edit_collection: \"Non disponi dei permessi per modificare questa collezione\",\n no_permissions_create_collection: \"Non disponi dei permessi per creare collezioni\",\n create_collection: \"Crea collezione\",\n update_collection: \"Aggiorna collezione\",\n\n new_collection: \"Nuova collezione\",\n add_new_collection: \"Aggiungi nuova collezione\",\n collection_with_name: \"Collezione {{name}}\",\n change_icon: \"Cambia icona\",\n is_subcollection_of: \"Questa è una sottocollezione di\",\n name: \"Nome\",\n collection_name_description: \"Il nome di questa collezione, solitamente un nome al plurale (es. Prodotti)\",\n path: \"Percorso\",\n relative_path_to_parent: \"Percorso relativo al genitore (non è necessario includere il percorso genitore)\",\n path_in_database: \"Il percorso in cui questa collezione è archiviata nel database\",\n singular_name: \"Nome singolare\",\n singular_name_description: \"Facoltativamente definisci un nome singolare per le tue entità\",\n description: \"Descrizione\",\n description_of_collection: \"Descrizione della collezione, puoi utilizzare il markdown\",\n collection_id: \"ID della collezione\",\n collection_id_description: \"Questo ID identifica in modo univoco questa collezione. Spesso coincide con il percorso.\",\n collection_group: \"Gruppo di collezioni\",\n collection_group_description: \"Un gruppo di collezioni include tutte le collezioni con lo stesso percorso. Ciò consente di interrogare più collezioni simultaneamente.\",\n advanced_settings: \"Impostazioni avanzate\",\n doc_history_global: \"Revisioni della cronologia dei documenti abilitate se abilitate a livello globale\",\n doc_history_enabled: \"Revisioni della cronologia dei documenti ABILITATE\",\n doc_history_not_enabled: \"Revisioni della cronologia dei documenti NON abilitate\",\n doc_history_description: \"Se abilitata questa opzione, ogni documento in questa collezione avrà una cronologia delle modifiche per scopi di auditing. I dati vengono salvati in una sottocollezione del documento denominata __history.\",\n document_id_generation: \"Generazione ID documento\",\n code_defined: \"Definito dal codice\",\n users_must_define_id: \"Gli utenti devono definire un ID\",\n users_can_define_id: \"Gli utenti possono definire un ID, ma non è obbligatorio\",\n doc_id_auto_generated: \"L'ID del documento viene generato automaticamente\",\n config_doc_id_generation: \"Configura il modo in cui vengono generati gli ID dei documenti per le nuove entità.\",\n enable_text_search: \"Abilita la ricerca testuale in questa collezione\",\n text_search_description: \"Attiva la ricerca testuale per questa collezione. Se non è specificato un delegato di ricerca testuale, si utilizzerà la ricerca locale integrata. Si sconsiglia l'uso con collezioni grandi, essendo soggetto a problemi di prestazioni e costi.\",\n database_id: \"ID del Database\",\n default_text: \"(predefinito)\",\n\n custom_actions: \"Azioni personalizzate\",\n more_info: \"Ulteriori info\",\n define_custom_actions_cli: \"Definisci le tue azioni personalizzate ed eseguine l'upload tramite l'interfaccia a riga di comando (CLI).\",\n action_defined_in_code: \"Questa azione è definita dal codice con la chiave\",\n add_custom_entity_action: \"Aggiungi azione di entità personalizzata\",\n remove_this_action: \"Rimuovi questa azione?\",\n remove_action_warning: \"Questa operazione non eliminerà dati, ma solo l'azione dal pannello di amministrazione\",\n\n subcollections_of: \"Sottocollezioni di\",\n add_subcollection: \"Aggiungi sottocollezione\",\n custom_views: \"Viste personalizzate\",\n define_custom_views_cli: \"Definisci le tue viste personalizzate e caricale tramite l'interfaccia a riga di comando (CLI).\",\n view_defined_in_code: \"Questa vista è definita nel codice dalla chiave\",\n add_custom_entity_view: \"Aggiungi vista ad entità personalizzata\",\n delete_this_subcollection: \"Vuoi eliminare questa sottocollezione?\",\n remove_collection_warning: \"Attenzione: questo rimuoverà solo la collezione configurata nel pannello di amministrazione, senza eliminare i dati effettivi.\",\n remove_this_view: \"Desideri rimuovere questa vista?\",\n remove_view_warning: \"Questa azione rimuoverà solo la visualizzazione dal pannello di amministrazione; i dati rimarranno intatti.\",\n\n no_collection_selected: \"Nessuna collezione selezionata\",\n code_for_collection: \"Codice per\",\n use_config_define_json: \"Utilizza questa configurazione per definire la collezione in formato JSON.\",\n customise_collection_code: \"Se desideri personalizzare ulteriormente tramite codice la collezione, puoi aggiungere questo frammento di codice nel tuo pannello di amministrazione.\",\n copied: \"Copiato\",\n\n property_cant_be_edited: \"Non è possibile modificare questa proprietà\",\n property_not_editable_description: \"Potresti non disporre dei permessi per modificarla o potrebbe essere definita nel codice e non modificabile.\",\n delete_this_property: \"Desideri eliminare questa proprietà?\",\n delete_property_warning: \"Questo non cancellerà i dati associati, modificherà semplicemente la configurazione della collezione.\",\n error_must_specify_id: \"È d'obbligo specificare un id per questo campo\",\n error_id_format: \"L'id può contenere solo lettere, numeri e underscore (_) e non deve iniziare con un numero\",\n error_id_already_exists: \"Esiste già un altro campo utilizzando questo ID\",\n error_must_specify_title: \"Specifica un titolo obbligatorio per questo campo\",\n custom_or_other: \"Personalizzato/Altro\",\n select_property_widget: \"Scegli un widget per la proprietà\",\n error_changing_data_type: \"Il widget selezionato adotta un formato di dati diverso rispetto a quello iniziale. Questa modifica potrebbe causare errori sui dati già presenti.\",\n required: \"Richiesto\",\n\n enum_form_dialog: \"Finestra di dialogo modulo Enum\",\n imported_data_preview: \"Anteprima dei dati importati\",\n entities_with_same_id_overwritten: \"Le entità con lo stesso id verranno sovrascritte\",\n collection_editor: \"Editor della collezione\",\n properties_in_this_group: \"Proprietà di questo gruppo\",\n data_property_mapping: \"Mappatura dei dati alle proprietà\",\n property_edit_view: \"Vista di modifica delle proprietà\",\n all_of_these: \"Tutti questi\",\n any_of_these: \"Alcuni di questi\",\n\n only_admins_edit_roles: \"Solo gli amministratori possono modificare i ruoli\",\n error_user_not_found: \"Utente non trovato\",\n all_roles: \"Tutti i ruoli\",\n role: \"Ruolo\",\n name_of_this_role: \"Nome di questo ruolo\",\n id_of_this_role: \"ID di questo ruolo\",\n create_entities: \"Crea entità\",\n read_entities: \"Leggi entità\",\n update_entities: \"Aggiorna entità\",\n delete_entities: \"Elimina entità\",\n all_collections: \"Tutte le collezioni\",\n create_entities_in_collections: \"Crea entità nelle collezioni\",\n access_all_data_in_every_collection: \"Accedi a tutti i dati in ogni collezione\",\n update_data_in_any_collection: \"Aggiorna i dati in qualsiasi collezione\",\n delete_data_in_any_collection: \"Elimina i dati in qualsiasi collezione\",\n allow_all_permissions_in_this_collections: \"Consenti tutti i permessi in queste collezioni\",\n all: \"Tutto\",\n customise_permissions_description: \"Puoi personalizzare i permessi che gli utenti associati a questo ruolo possono eseguire nelle entità di ciascuna collezione\",\n create_collections: \"Crea collezioni\",\n yes: \"Sì\",\n no: \"No\",\n can_user_create_collections: \"L'utente può creare collezioni\",\n edit_collections: \"Modifica collezioni\",\n only_own_collections: \"Solo le proprie collezioni\",\n own: \"Propri\",\n can_user_edit_collections: \"L'utente può modificare le collezioni\",\n delete_collections: \"Elimina collezioni\",\n can_user_delete_collections: \"L'utente può eliminare le collezioni\",\n error_saving_role: \"Si è verificato un errore durante il salvataggio del ruolo\",\n create_role: \"Crea ruolo\",\n update: \"Aggiorna\",\n\n only_admins_change_roles: \"Solo gli amministratori possono modificare i ruoli\",\n must_be_at_least_one_admin: \"Deve esserci almeno un amministratore\",\n logged_user_not_found: \"Utente connesso non trovato\",\n user: \"Utente\",\n user_id: \"ID utente\",\n name_of_this_user: \"Nome dell'utente\",\n email_of_this_user: \"Email dell'utente\",\n roles: \"Ruoli\",\n create_user: \"Crea utente\",\n\n users: \"Utenti\",\n add_user: \"Aggiungi utente\",\n add_role: \"Aggiungi ruolo\",\n is_admin: \"È amministratore\",\n default_permissions: \"Permessi predefiniti\",\n created_on: \"Creato il\",\n email: \"Email\",\n id: \"ID\",\n read: \"Lettura\",\n\n column_in_file: \"Colonna nel file\",\n map_to_property: \"Mappa alla proprietà\",\n default_values: \"Valori predefiniti\",\n default_values_description: \"Non tutte le righe del file importato contengono dati per ogni colonna. Assegna valori predefiniti che Rebase utilizzerà per le colonne mancanti.\",\n property: \"Proprietà\",\n default_value: \"Valore predefinito\",\n autogenerate_id: \"Genera automaticamente ID\",\n id_column_description: \"Imposta la colonna che verrà utilizzata come ID dell'entità\",\n do_not_set_value: \"Non impostare il valore\",\n set_value_to_true: \"Imposta il valore su Vero\",\n set_value_to_false: \"Imposta il valore su Falso\",\n drag_and_drop_file: \"Trascina e rilascia un file CSV, Excel o JSON qui, oppure fai clic per caricare\",\n error_saving_data: \"Errore durante il salvataggio dei dati\",\n retry: \"Riprova\",\n saving_data: \"Salvataggio dei dati in corso...\",\n entities_saved: \"entità salvate\",\n do_not_close_tab: \"Non chiudere questa scheda durante l'importazione dei dati\",\n import: \"Importa\",\n import_data: \"Importa dati\",\n upload_file_description: \"Carica il tuo file CSV, Excel o foglio di calcolo per importare i dati\",\n back: \"Indietro\",\n next: \"Avanti\",\n save_data: \"Salva dati\",\n use_column_as_id: \"Usa questa colonna come ID dell'entità\",\n do_not_import_property: \"Non importare questa proprietà\",\n import_problems_title: \"Valori che non si possono importare: {{count}}\",\n import_problems_description: \"Queste celle non si possono convertire nel tipo del campo a cui sono associate, quindi resteranno vuote. Torna indietro per associare la colonna a un campo di testo, oppure correggi il file e caricalo di nuovo.\",\n import_problems_column: \"{{column}} → {{property}} ({{type}}): {{count}} non importati\",\n import_problems_example: \"Riga {{row}}: «{{value}}», {{reason}}\",\n import_problems_more: \"…e altri {{count}}\",\n import_problem_not_a_number: \"non è un numero\",\n import_problem_number_leading_zero: \"come numero perderebbe lo zero iniziale\",\n import_problem_number_too_precise: \"ha più cifre di quante un numero ne conservi esattamente\",\n import_problem_not_a_boolean: \"né sì né no\",\n import_problem_not_a_date: \"non è una data\",\n import_problem_ambiguous_date: \"potrebbe essere giorno/mese o mese/giorno\",\n import_problem_not_a_vector: \"non è un elenco di numeri\",\n import_problem_not_a_map: \"non è una mappa (era atteso il JSON di un oggetto)\",\n import_problem_not_a_geopoint: \"non è un geopunto (era atteso {\\\"latitude\\\": …, \\\"longitude\\\": …})\",\n entities_will_be_overwritten: \"Le entità esistenti con lo stesso ID verranno sovrascritte\",\n data_imported_successfully: \"Dati importati con successo\",\n export: \"Esporta\",\n export_data: \"Esporta dati\",\n download_table_csv: \"Scarica la tabella come file CSV\",\n csv: \"CSV\",\n json: \"JSON\",\n dates_as_timestamps: \"Date come timestamp\",\n dates_as_strings: \"Date come stringhe\",\n flatten_arrays: \"Appiattisci gli array\",\n download: \"Scarica\",\n large_number_of_documents: \"Questa collezione contiene un numero elevato di documenti ({{count}})\",\n too_many_documents_to_export: \"Questa collezione contiene più documenti ({{count}}) di quanti il browser possa esportarne in un solo file (limite {{limit}}). Filtrala prima di esportare.\",\n include_undefined_values: \"Includi valori non definiti\",\n submit: \"Invia\",\n\n no_filterable_properties: \"Nessuna proprietà filtrabile disponibile\",\n apply_filters: \"Applica filtri\",\n\n // ─── Filter Presets ──────────────────────────────────────────\n filter_presets: \"Preimpostazioni\",\n filter_preset_apply: \"Applica preimpostazione\",\n filter_preset_active: \"Attivo: {{label}}\",\n\n list: \"Elenco\",\n table_view_mode: \"Tabella\",\n cards: \"Schede\",\n board: \"Bacheca\",\n initialize_kanban_order_desc: \"Verranno assegnati valori di ordine sequenziali a tutti gli elementi che ne sono privi. Gli elementi manterranno l'ordine corrente all'interno di ciascuna colonna.\",\n kanban_view_not_available: \"Vista Kanban non disponibile\",\n kanban_view_requires_enum: \"La vista Kanban richiede una proprietà stringa con valori enumerati per raggruppare le entità nelle colonne. Aggiungi una proprietà enum allo schema della tua collezione per utilizzare questa vista.\",\n no_enum_values_configured: \"Nessun valore enumerativo configurato per \\\"{{property}}\\\"\",\n items_need_backfill: \"Alcuni elementi non hanno un ordine definito. Fai clic su 'Inizializza' per impostare l'ordine.\",\n kanban_order_not_configured: \"L'ordinamento drag-and-drop non è configurato. Imposta una proprietà di ordinamento nelle impostazioni della collezione per mantenere le posizioni delle schede.\",\n initialize: \"Inizializza\",\n confirm_multiple_delete: \"Conferma eliminazione multipla\",\n delete_entity_confirm_title: \"Eliminare '{{entityName}}'?\",\n add_existing: \"Aggiungi esistente\",\n unlink_entity_confirm_title: \"Rimuovere questo/a {{entityName}} da questo record?\",\n unlink_entity_confirm_body: \"Resta in {{collectionName}} e disponibile per altri record.\",\n confirm_multiple_unlink: \"rimuoverli da questo record?\",\n remove_from_record: \"Rimuovi da questo record\",\n removed_from_record: \"Rimosso da questo record\",\n no_filter: \"Nessun filtro\",\n is_true: \"è vero\",\n is_false: \"è falso\",\n error_uploading_file_size: \"Errore nel caricamento: il file supera {{maxSize}} byte\",\n error_uploading_file_type: \"Errore nel caricamento: tipo di file non supportato\",\n drag_drop_files: \"Trascina qui i file, oppure clicca per modificarli\",\n drag_drop_file: \"Trascina qui un file, oppure clicca per modificarlo\",\n multiple_deleted: \"Eliminazioni multiple\",\n some_entities_deleted: \"Alcune entità sono state eliminate, ma non tutte\",\n error_deleting_entities: \"Errore durante l'eliminazione delle entità\",\n delete_rows_failed: \"{{failed}} su {{total}} non eliminati. {{reason}}\",\n deleted: \"eliminata\",\n selection_options: \"Opzioni di selezione\",\n selection_menu_all_loaded: \"Tutto in questa pagina\",\n selection_menu_all_matching: \"Tutti i {{total}} {{collection}}\",\n selection_menu_none: \"Nessuno\",\n selection_select_all_loaded: \"Seleziona le righe caricate\",\n selection_deselect_all: \"Deseleziona tutto\",\n selection_reading_rows: \"Lettura delle righe… {{loaded}} di {{total}}\",\n selection_reading_rows_unknown: \"Lettura delle righe… {{loaded}} finora\",\n selection_deleting_progress: \"Eliminati {{completed}} di {{total}}\",\n confirm_delete_selection: \"Eliminare {{total}} {{collection}}?\",\n confirm_delete_selection_unknown: \"Eliminare tutte le righe che corrispondono al filtro attuale?\",\n confirm_delete_selection_body: \"L’operazione non può essere annullata. Ogni riga viene eliminata singolarmente, quindi potrebbe richiedere del tempo.\",\n\n export_selection_count: \"Scarica le {{total}} righe selezionate in formato {{format}}\",\n export_selection_all_matching: \"Scarica tutti i {{collection}} che corrispondono al filtro attuale\",\n\n select_reference: \"Seleziona riferimento\",\n select_references: \"Seleziona riferimenti\",\n account_settings: \"Impostazioni account\",\n profile: \"Profile\",\n security: \"Sicurezza\",\n sessions: \"Sessions\",\n change_password: \"Cambia password\",\n current_password: \"Password attuale\",\n new_password: \"Nuova password\",\n confirm_password: \"Conferma la nuova password\",\n password_changed: \"Password modificata. I tuoi altri dispositivi sono stati disconnessi.\",\n passwords_dont_match: \"Le password non coincidono\",\n password_too_short: \"La password deve contenere almeno 8 caratteri\",\n password_change_not_available: \"La modifica della password non è disponibile per gli account che usano provider di accesso esterni.\",\n changing_password: \"Modifica in corso...\",\n display_name: \"Nome visualizzato\",\n photo_url: \"URL della foto\",\n save_profile: \"Salva profilo\",\n saving: \"Saving...\",\n no_active_sessions: \"Nessuna sessione attiva trovata.\",\n revoking: \"Revoking...\",\n revoke_all_sessions: \"Revoca tutte le sessioni\",\n unknown_device: \"Dispositivo sconosciuto\",\n unknown_address: \"Sconosciuto\",\n session_details: \"IP: {{ip}} • Creata: {{created}}\",\n revoke_session: \"Revoca sessione\",\n current: \"Current\",\n role_id: \"ID del ruolo\",\n role_name: \"Nome del ruolo\",\n add_reference: \"Aggiungi riferimento\",\n add_reference_to: \"Aggiungi riferimento a {{name}}\",\n\n /** RolesView — table & permissions */\n role_deleted_successfully: \"Ruolo eliminato con successo\",\n error_deleting_role: \"Errore durante l'eliminazione del ruolo\",\n collection_permissions: \"Permessi della collezione\",\n collection: \"Collection\",\n no_collections_configured: \"Nessuna collezione configurata\",\n no_security_rules_defined: \"Nessuna regola di sicurezza definita: tutte le operazioni sono senza restrizioni\",\n no_rules: \"nessuna regola\",\n\n /** UsersView — snackbar */\n bootstrap_admin_success: \"Ora sei amministratore! Aggiornamento in corso...\",\n failed_to_bootstrap_admin: \"Impossibile creare l'amministratore iniziale\",\n user_deleted_successfully: \"Utente eliminato con successo\",\n error_deleting_user: \"Errore durante l'eliminazione dell'utente\",\n user_created_successfully: \"Utente creato con successo\",\n invitation_sent: \"È stata inviata un'email di invito a {{email}}. Il link consente di impostare la password.\",\n invitation_sent_title: \"Invito inviato\",\n temporary_password: \"Password temporanea\",\n temporary_password_description: \"L'email non è configurata. Condividi questa password temporanea con l'utente in modo sicuro. Non verrà mostrata di nuovo.\",\n temporary_password_email_failed_description: \"Non è stato possibile consegnare l'email. Condividi questa password temporanea con l'utente in modo sicuro. Non verrà mostrata di nuovo.\",\n copy_password: \"Copia password\",\n password_copied: \"Password copiata negli appunti\",\n\n /** UsersView — pagination & search */\n search_users: \"Cerca utenti\",\n created: \"Creato\",\n actions: \"Azioni\",\n no_users_found: \"Nessun utente trovato\",\n reset_password: \"Reimposta password\",\n reset_password_success: \"Password reimpostata con successo\",\n reset_password_confirmation: \"Vuoi davvero reimpostare la password di questo utente?\",\n reset_password_send_email: \"Invia un'email di reimpostazione della password\",\n reset_password_set_manually: \"Imposta una password manualmente\",\n reset_password_set_manually_description: \"La password viene aggiornata subito e non viene inviata alcuna email. Condividila con l'utente in modo sicuro.\",\n\n /** Permission-denied empty states */\n no_permission_to_view_users: \"Non hai i permessi per visualizzare gli utenti\",\n no_permission_to_view_roles: \"Non hai i permessi per visualizzare i ruoli\",\n no_permission_description: \"Contatta un amministratore se hai bisogno di accedere a questa sezione.\",\n error_resetting_password: \"Errore durante la reimpostazione della password\",\n\n /** Editor table-bubble */\n add_row_before: \"Inserisci riga prima\",\n add_row_after: \"Inserisci riga dopo\",\n delete_row: \"Elimina riga\",\n add_column_before: \"Inserisci colonna prima\",\n add_column_after: \"Inserisci colonna dopo\",\n delete_column: \"Elimina colonna\",\n delete_table: \"Elimina tabella\",\n\n /** Editor image-bubble */\n alt_text: \"Testo alternativo\",\n title: \"Title\",\n\n /** MapFieldBinding */\n a_property_of_this_map_has_error: \"Una proprietà di questa mappa contiene un errore\",\n\n /** AI Collection Generator Popover */\n generate_collection_with_ai: \"Genera collezione con AI\",\n modify_collection_with_ai: \"Modifica collezione con AI\",\n describe_collection_to_create: \"Descrivi la collezione che vuoi creare.\",\n describe_changes_to_make: \"Descrivi le modifiche che vuoi apportare a questa collezione.\",\n ai_placeholder_create: \"es. Crea una collezione di prodotti con nome, prezzo, descrizione e categoria...\",\n ai_placeholder_modify: \"es. Aggiungi un campo immagine in miniatura con archiviazione, rendi il prezzo obbligatorio...\",\n ai_assist: \"Assistente AI\",\n generating: \"Generazione in corso...\",\n\n /** Recently extracted strings for collection editor */\n this_is_subcollection_of: \"Questa è una sottocollezione di\",\n use_existing_paths_database: \"Utilizza i percorsi esistenti nel database\",\n describe_collection_ai: \"Descrivi la collezione per generarla con l'IA\",\n generate_with_ai: \"Genera con IA\",\n create_from_json_config: \"Crea da configurazione JSON\",\n paste_json_config: \"Incolla la configurazione JSON\",\n create_collection_from_file_formats: \"Crea collezione da file (CSV, Excel, JSON)\",\n select_template: \"Seleziona un modello\",\n products: \"Prodotti\",\n collection_products_subtitle: \"Gestisci i tuoi prodotti con prezzi, inventario e immagini\",\n collection_users_subtitle: \"Gestisci gli utenti registrati con i loro profili e ruoli\",\n blog_posts: \"Articoli del blog\",\n collection_blog_posts_subtitle: \"Crea e gestisci gli articoli del tuo blog\",\n pages: \"Pagine\",\n collection_pages_subtitle: \"Gestisci le pagine statiche del tuo sito\",\n continue_from_scratch: \"Continua da zero\",\n\n /** Admin views config */\n admin_users: \"Utenti del pannello di amministrazione\",\n roles_menu: \"Ruoli\",\n project_settings: \"Impostazioni del progetto\",\n\n by_signing_in_you_agree_to_our: \"Accedendo accetti i nostri\",\n terms_and_conditions: \"Termini e Condizioni\",\n and_our: \"e la nostra\",\n privacy_policy: \"Informativa sulla privacy\",\n email_password: \"Email/password\",\n sign_in_with_google: \"Accedi con Google\",\n\n // --- Auth error messages ---\n auth_user_not_found: \"Utente non trovato\",\n auth_wrong_password: \"Password errata\",\n auth_user_disabled: \"Account disabilitato\",\n auth_account_exists_with_different_credential: \"Esiste già un account con questo indirizzo email. Accedi come hai fatto l'ultima volta.\",\n auth_account_exists_sign_in_with_password: \"Esiste già un account con questo indirizzo email. Accedi con email e password.\",\n auth_email_already_in_use: \"Questo indirizzo email è già in uso\",\n auth_google_permissions_required: \"Sono necessarie le autorizzazioni di Google\",\n auth_invalid_email_password: \"Email o password non valide\",\n auth_enter_email_first: \"Inserisci prima l'indirizzo email\",\n auth_password_reset_sent: \"Email di reimpostazione della password inviata\",\n auth_sign_in_account: \"Accedi al tuo account\",\n auth_create_new_account: \"Crea un nuovo account\",\n auth_password: \"Password\",\n auth_reset_password: \"Reimposta password\",\n auth_new_user: \"Nuovo utente\",\n auth_have_account: \"Hai già un account?\",\n auth_sign_in: \"Accedi\",\n auth_sign_up: \"Registrati\",\n auth_new_password_title: \"Imposta una nuova password\",\n auth_new_password_subtitle: \"Scegli la password con cui accederai d'ora in poi.\",\n auth_password_requirements: \"La password deve avere almeno 8 caratteri, con maiuscole, minuscole e un numero\",\n auth_set_password: \"Imposta password\",\n auth_password_changed_title: \"Password modificata\",\n auth_password_changed_body: \"Accedi con la tua nuova password.\",\n auth_continue_to_sign_in: \"Continua all'accesso\",\n auth_link_invalid_or_expired: \"Questo link non è valido o è scaduto. Richiedine uno nuovo dalla schermata di accesso.\",\n auth_password_reset_unavailable: \"Il ripristino della password non è disponibile su questo backend.\",\n auth_verifying_email: \"Conferma del tuo indirizzo email in corso…\",\n auth_email_verified_title: \"Email confermata\",\n auth_email_verified_body: \"Il tuo indirizzo email è confermato. Ora puoi accedere.\",\n auth_email_verification_failed_title: \"Email non confermata\",\n auth_email_verification_unavailable: \"La verifica dell'email non è disponibile su questo backend.\",\n auth_verify_email_proof_title: \"Conferma che è il tuo account\",\n auth_verify_email_proof_body: \"Questo account ha una password. Inseriscila per conservarla e accedere. Se non ne hai mai impostata una, qualcun altro potrebbe aver registrato il tuo indirizzo: confermalo senza password e la sua verrà rimossa.\",\n auth_verify_email_password_label: \"La password che hai scelto\",\n auth_verify_email_with_password: \"Conferma e accedi\",\n auth_verify_email_without_password: \"Non ho impostato una password\",\n auth_verify_email_wrong_password: \"Questa non è la password di questo account.\",\n auth_email_verified_password_removed_body: \"Il tuo indirizzo email è confermato. Su questo account era stata impostata una password prima che l'indirizzo fosse confermato, quindi è stata rimossa. Accedi con un link o impostane una nuova con \\\"Password dimenticata\\\".\",\n auth_confirm_email_sent_title: \"Controlla la tua casella di posta\",\n auth_confirm_email_sent_body: \"Abbiamo inviato un link al tuo indirizzo email. Seguilo per confermare l'indirizzo, poi accedi.\",\n auth_email_not_confirmed: \"Conferma prima il tuo indirizzo email. Ti abbiamo inviato un nuovo link.\",\n auth_mfa_title: \"Verifica in due passaggi\",\n auth_mfa_subtitle: \"Inserisci il codice della tua app di autenticazione o uno dei tuoi codici di recupero.\",\n auth_mfa_factor_label: \"Verifica con\",\n auth_mfa_factor_totp: \"App di autenticazione\",\n auth_mfa_code_label: \"Codice di verifica\",\n auth_mfa_verify: \"Verifica\",\n auth_mfa_code_invalid: \"Questo codice non è corretto. Prova il codice attuale della tua app di autenticazione o un codice di recupero.\",\n auth_mfa_challenge_exhausted: \"Troppi codici errati. Inserisci un nuovo codice dalla tua app di autenticazione per riprovare.\",\n auth_mfa_expired: \"Questo accesso è scaduto. Accedi di nuovo per continuare.\",\n auth_mfa_sign_in_again: \"Accedi di nuovo\",\n email_address: \"Indirizzo email\",\n email_change_description: \"Inviamo un link al nuovo indirizzo. Il tuo account passa a usarlo quando il link viene aperto.\",\n email_change_button: \"Cambia email\",\n email_change_pending: \"Abbiamo inviato un link a {{email}}. Il tuo indirizzo email cambia quando viene aperto.\",\n email_change_taken: \"Un altro account usa già questo indirizzo.\",\n email_change_undeliverable: \"Nessuna email può raggiungere questo indirizzo.\",\n email_change_unchanged: \"Questo è già il tuo indirizzo email.\",\n email_change_needs_second_factor: \"Accedi di nuovo con il tuo secondo fattore prima di cambiare il tuo indirizzo email.\",\n auth_confirming_email_change: \"Modifica del tuo indirizzo email in corso…\",\n auth_email_change_confirmed_title: \"Indirizzo email modificato\",\n auth_email_change_confirmed_body: \"Il tuo account ora usa {{email}}.\",\n auth_email_change_providers_removed: \"L'accesso con {{providers}} è stato rimosso, perché era collegato al tuo vecchio indirizzo.\",\n auth_email_change_failed_title: \"Indirizzo email non modificato\",\n auth_email_change_continue: \"Continua\",\n auth_email_change_unavailable: \"La modifica dell'indirizzo email non è disponibile su questo backend.\",\n auth_signing_in_with_link: \"Accesso in corso…\",\n auth_magic_link_failed_title: \"Link di accesso non accettato\",\n auth_magic_link_unavailable: \"I link di accesso non sono disponibili su questo backend.\",\n reset_mfa_title: \"Reimposta la verifica in due passaggi\",\n reset_mfa_description: \"Rimuove le app di autenticazione e i codici di recupero di questo utente e lo disconnette ovunque. Potrà accedere solo con la password e configurare di nuovo la verifica in due passaggi.\",\n reset_mfa_confirm: \"Reimposta\",\n reset_mfa_success: \"Verifica in due passaggi reimpostata\",\n account_access_title: \"Accesso all'account\",\n account_access_action: \"Disattiva o attiva l'account\",\n account_disabled_label: \"Account disattivato\",\n account_disabled_description: \"Un account disattivato non può accedere, e tutte le sue sessioni e i suoi token smettono subito di funzionare. I suoi dati restano; riattivalo per ripristinare l'accesso.\",\n account_disabled_success: \"Account disattivato\",\n account_enabled_success: \"Account attivato\",\n\n\n auto_setup_collections_button: \"Configura le collezioni automaticamente\",\n auto_setup_collections_title: \"Configurazione automatica delle collezioni\",\n auto_setup_collections_desc: \"Configura le collezioni automaticamente in base ai dati Firestore esistenti. Lascia che Rebase configuri il pannello di amministrazione perfetto per te.\",\n this_can_take_a_minute: \"Potrebbe richiedere qualche minuto\",\n no_collections_found_to_setup: \"Nessuna collezione trovata da configurare\",\n collections_have_been_setup: \"Le collezioni sono state configurate\",\n error_setting_up_collections: \"Errore durante la configurazione delle collezioni\",\n\n // --- Home Suggestions ---\n\n admin_panel_ready_bring_data: \"Il tuo pannello è pronto. Inizia aggiungendo i tuoi dati.\",\n admin_panel_ready_get_started: \"Il tuo pannello è pronto. Ecco come iniziare.\",\n auto_detect_collections: \"Rileva automaticamente le collezioni\",\n auto_detect_collections_desc: \"Rebase analizzerà i tuoi dati Firestore e configurerà automaticamente le collezioni per te\",\n create_a_collection: \"Crea una collezione\",\n create_collection_desc: \"Definisci manualmente la struttura della tua collezione\",\n read_the_docs: \"Leggi la documentazione\",\n read_the_docs_desc: \"Scopri come usare Rebase al meglio\",\n explore_docs: \"Esplora la documentazione\",\n want_to_customize_with_code: \"Vuoi personalizzare con il codice? Esegui\",\n to_scaffold_a_local_project: \"per creare un progetto locale\",\n\n // ─── Collection Editor — Validation ──────────────────────────\n validation: \"Validazione\",\n unique: \"Unico\",\n required_message: \"Messaggio campo obbligatorio\",\n required_tooltip: \"Non potrai salvare questa entità se questo valore non è impostato\",\n unique_tooltip: \"Non possono esistere più entità con lo stesso valore\",\n lowercase: \"Minuscolo\",\n uppercase: \"Maiuscolo\",\n trim: \"Rimuovi spazi\",\n exact_length: \"Lunghezza esatta\",\n min_length: \"Lunghezza min.\",\n max_length: \"Lunghezza max.\",\n varchar_narrowing_warning: \"Salvando, questa colonna {{columnType}} si riduce a {{max}} caratteri. rebase db push chiede conferma prima di ridurre una colonna, e la modifica fallisce finché un valore salvato è più lungo.\",\n matches_regex: \"Corrisponde a regex\",\n not_valid_regexp: \"Espressione regolare non valida\",\n regex_helper: \"es. /^\\\\d+$/ solo per cifre\",\n min_value: \"Valore min.\",\n max_value: \"Valore max.\",\n less_than: \"Minore di\",\n more_than: \"Maggiore di\",\n positive_value: \"Valore positivo\",\n negative_value: \"Valore negativo\",\n integer_value: \"Valore intero\",\n\n // ─── Collection Editor — Property Edit ───────────────────────\n invalid_regular_expression: \"Espressione regolare non valida\",\n must_specify_target_collection: \"Devi specificare una collezione di destinazione per il campo\",\n need_specify_repeat_field: \"Devi specificare un campo di ripetizione\",\n need_specify_block_properties: \"Devi specificare le proprietà di questo blocco\",\n incomplete_condition: \"Condizione incompleta - seleziona un campo\",\n field_name: \"Nome del campo\",\n\n // ─── Collection Editor — Display & Config ────────────────────\n kanban_column_property: \"Proprietà colonna Kanban\",\n select_a_property: \"Seleziona una proprietà\",\n kanban_property_not_found: \"La proprietà \\\"{{property}}\\\" non esiste o non è una proprietà string con enum. Seleziona una proprietà valida o cancella la selezione.\",\n no_enum_string_properties: \"Nessuna proprietà string con enum trovata. Aggiungi una proprietà string con enumValues per usare la vista Kanban.\",\n kanban_column_description: \"Seleziona una proprietà string con valori enum per raggruppare le entità in colonne\",\n create_property: \"+ Crea proprietà \\\"{{property}}\\\"\",\n order_property: \"Proprietà di ordinamento\",\n order_property_not_found: \"La proprietà \\\"{{property}}\\\" non esiste o non è una proprietà numerica. Seleziona una proprietà valida o cancella la selezione.\",\n no_number_properties: \"Nessuna proprietà numerica trovata. Aggiungi una proprietà numerica per abilitare l'ordinamento.\",\n order_property_description: \"Seleziona una proprietà numerica per mantenere l'ordine degli elementi\",\n display_settings: \"Impostazioni di visualizzazione\",\n default_row_size: \"Dimensione riga predefinita\",\n side_dialog_width: \"Larghezza del dialogo laterale\",\n side_dialog_width_description: \"Definisci opzionalmente la larghezza (in pixel) del dialogo laterale delle entità. Il valore predefinito è 768px\",\n inline_editing_enabled: \"I dati possono essere modificati direttamente nella vista tabella\",\n inline_editing_disabled: \"I dati possono essere modificati solo nella vista modulo\",\n inline_editing_description: \"Consenti la modifica dei dati direttamente nella vista tabella, senza aprire la vista modulo.\",\n include_json_view: \"Includi vista JSON\",\n no_json_view: \"Non includere vista JSON\",\n json_view_description: \"Includi la rappresentazione JSON del documento.\",\n not_found_suffix: \"non trovato\",\n\n // ─── Editor ─────────────────────────────────────────────────\n editor_text: \"Testo\",\n editor_text_description: \"Inizia a digitare con testo semplice.\",\n editor_heading_1: \"Intestazione 1\",\n editor_heading_1_description: \"Intestazione di sezione grande.\",\n editor_heading_2: \"Intestazione 2\",\n editor_heading_2_description: \"Intestazione di sezione media.\",\n editor_heading_3: \"Intestazione 3\",\n editor_heading_3_description: \"Intestazione di sezione piccola.\",\n editor_todo_list: \"Lista di cose da fare\",\n editor_todo_list_description: \"Tieni traccia delle attività con una lista di cose da fare.\",\n editor_bullet_list: \"Elenco puntato\",\n editor_bullet_list_description: \"Crea un semplice elenco puntato.\",\n editor_numbered_list: \"Elenco numerato\",\n editor_numbered_list_description: \"Crea un elenco con numerazione.\",\n editor_quote: \"Citazione\",\n editor_quote_description: \"Cattura una citazione.\",\n editor_code: \"Codice\",\n editor_code_description: \"Cattura un frammento di codice.\",\n editor_image: \"Immagine\",\n editor_image_description: \"Carica un'immagine dal tuo computer.\",\n editor_multiple: \"Multiplo\",\n editor_link: \"Link\",\n editor_save: \"Salva\",\n editor_cancel: \"Annulla\",\n editor_remove_link: \"Rimuovi link\",\n editor_paste_or_type_link: \"Incolla o digita il link\",\n editor_invalid_url: \"Non è un link: prova un indirizzo completo come example.com\",\n editor_open_in_new_window: \"Apri in una nuova finestra\",\n editor_bold: \"Grassetto\",\n editor_italic: \"Corsivo\",\n editor_underline: \"Sottolineato\",\n editor_strikethrough: \"Barrato\",\n editor_autocomplete: \"Completamento automatico\",\n editor_autocomplete_description: \"Aggiungi testo basato sul contesto.\",\n\n // ─── Text Search Dialog ─────────────────────────────────────\n text_search_dialog_title: \"Abilita ricerca testuale\",\n text_search_local_not_recommended: \"La ricerca testuale locale non è consigliata per collezioni di grandi dimensioni.\",\n text_search_local_fetch_warning: \"Tieni presente che abilitando la ricerca testuale locale sarà necessario scaricare tutti i documenti dalla collezione e memorizzarli nel browser. Questo può essere inefficiente per collezioni grandi e può comportare costi aggiuntivi.\",\n text_search_external_suggestion: \"Per collezioni più grandi, ti consigliamo di utilizzare un motore di ricerca esterno come Algolia o Elastic Search e di assegnare un delegato di ricerca alla tua configurazione.\",\n text_search_local_description: \"La ricerca testuale locale è il modo più semplice per abilitare la ricerca testuale nella tua collezione. Carica tutti i documenti della collezione nel browser ed esegue la ricerca localmente. È l'opzione consigliata per le collezioni piccole.\",\n text_search_own_implementation: \"Hai implementato il tuo controller di ricerca testuale. Puoi abilitare la ricerca testuale per la tua collezione.\",\n text_search_enable_for_collection: \"Abilita per questa collezione\",\n text_search_enable_for_project: \"Abilita per il progetto\",\n text_search_enabled_snackbar: \"Ricerca testuale locale abilitata\",\n\n settings_heading: \"Impostazioni\",\n settings_project_name: \"Nome del progetto\",\n settings_default_language: \"Lingua predefinita\",\n settings_default_language_caption: \"Seleziona la lingua di base per questo progetto. Gli utenti possono modificare questa preferenza nelle impostazioni personali.\",\n settings_enable_local_text_search: \"Abilita la ricerca testuale locale\",\n settings_local_text_search_caption: \"Abilita la ricerca testuale locale per tutte le collezioni. Questo ti permetterà di cercare campi di testo nelle collezioni utilizzando la barra di ricerca di Rebase. Tieni presente che questa funzionalità può comportare un numero maggiore di letture, poiché verranno indicizzati tutti i campi di testo delle tue collezioni.\",\n settings_doc_history_all_collections: \"Cronologia documenti abilitata per tutte le collezioni\",\n settings_doc_history_caption: \"Quando attivato, tutte le collezioni avranno la cronologia abilitata per impostazione predefinita. Puoi modificare questa impostazione per ogni singola collezione. La cronologia verrà salvata nella sottocollezione __history di ogni documento.\",\n settings_theme: \"Tema\",\n settings_primary_color: \"Colore primario\",\n settings_secondary_color: \"Colore secondario\",\n settings_sample_theme_components: \"Componenti di esempio del tema\",\n settings_drag_drop_logo: \"Trascina e rilascia il tuo logo qui\",\n settings_security_rules: \"Regole di sicurezza\",\n settings_security_rules_description: \"Rebase utilizza le regole di sicurezza di Firebase per limitare l'accesso ai dati. Quando si crea un nuovo utente tramite Rebase, l'attributo personalizzato rebaseUser viene aggiunto all'utente nel progetto client. Aggiungendo le seguenti regole di sicurezza al tuo progetto, ti assicuri che gli utenti Rebase possano accedere ai dati tramite Rebase.\",\n settings_security_rules_add_domain: \"Ricorda di aggiungere il dominio {{domain}} ai domini consentiti del tuo provider\",\n settings_security_rules_caption: \"Queste regole limitano l'accesso ai dati solo agli utenti Rebase, ma non applicano i permessi a livello di database. I permessi vengono applicati nel frontend, il che funziona bene per la maggior parte dei progetti. Se hai bisogno di applicare i permessi a livello di database, puoi modificare queste regole di sicurezza. I ruoli assegnati a un utente vengono impostati come attributi personalizzati nel token di autenticazione Firebase, quindi puoi utilizzarli nelle tue regole di sicurezza.\",\n\n // ─── Studio: SQL Editor ─────────────────────────────────────\n studio_sql_executing_query: \"ESECUZIONE DELLA QUERY...\",\n studio_sql_query_error: \"Errore nella query\",\n studio_sql_run_query_placeholder: \"Esegui una query per vedere i risultati\",\n studio_sql_visual_execution_plan: \"Piano di esecuzione visuale\",\n studio_sql_success: \"SUCCESS\",\n studio_sql_no_results: \"La query è stata eseguita correttamente ma non ha restituito risultati.\",\n studio_sql_rows: \"Rows:\",\n studio_sql_time: \"Time:\",\n studio_sql_copy_markdown: \"Copia come Markdown\",\n studio_sql_export_json: \"Esporta JSON\",\n studio_sql_export_json_typed: \"Esporta JSON tipizzato\",\n studio_sql_export_csv: \"Esporta CSV\",\n studio_sql_format_sql: \"Formatta SQL\",\n studio_sql_explain: \"Explain\",\n studio_sql_limit_1000: \"Limit 1000\",\n studio_sql_remove_from_favorites: \"Rimuovi dai preferiti\",\n studio_sql_add_to_favorites: \"Aggiungi ai preferiti\",\n studio_sql_save: \"Save\",\n studio_sql_run: \"Run\",\n studio_sql_cancel_run: \"Annulla esecuzione\",\n studio_sql_run_cancelled: \"Esecuzione annullata.\",\n studio_sql_database: \"Database\",\n studio_sql_role: \"Role\",\n studio_sql_admin: \"(Admin)\",\n studio_sql_select_db: \"Scegli il database\",\n studio_sql_query_results: \"Risultati della query\",\n studio_sql_save_snippet: \"Salva frammento SQL\",\n studio_sql_snippet_name: \"Nome del frammento\",\n studio_sql_snippet_name_placeholder: \"es. Ottieni tutti gli utenti\",\n studio_sql_snippet_saved_local: \"Verrà salvato nella memoria locale del browser.\",\n studio_sql_cancel: \"Cancel\",\n studio_sql_dangerous_operation: \"Rilevata un'operazione pericolosa\",\n studio_sql_dangerous_operation_body: \"La query che stai per eseguire contiene operazioni potenzialmente distruttive (DELETE, DROP, TRUNCATE o UPDATE senza WHERE). Vuoi davvero continuare?\",\n studio_sql_snippet_saved: \"Frammento «{{name}}» salvato.\",\n studio_sql_markdown_copied: \"Risultati copiati come Markdown!\",\n studio_sql_markdown_copy_failed: \"Impossibile copiare il Markdown negli appunti.\",\n studio_sql_row_updated: \"Riga aggiornata con successo.\",\n studio_sql_cannot_edit_missing_query: \"Impossibile modificare le righe: manca la query sottostante.\",\n studio_sql_edit_unreadable_query: \"La console non è riuscita a leggere questa query, quindi non può sapere da quale riga viene una cella. Le celle di questo risultato non si possono modificare.\",\n studio_sql_edit_not_a_select: \"Qui si possono modificare solo le righe di un singolo SELECT.\",\n studio_sql_edit_duplicate_column: \"Il risultato ha più di una colonna di nome \\\"{{column}}\\\". Dai a ciascuna un alias proprio per modificarla.\",\n studio_sql_edit_computed_column: \"\\\"{{column}}\\\" non è letta da una colonna di tabella (è calcolata, un letterale o un aggregato), quindi non c'è dove riscriverla.\",\n studio_sql_edit_not_a_table: \"\\\"{{column}}\\\" viene da {{table}}, che non è una tabella. Qui si possono modificare solo righe di una tabella.\",\n studio_sql_edit_inherited_table: \"Altre tabelle ereditano da {{table}}, quindi la sua chiave primaria può corrispondere a una riga in ciascuna di esse. Modifica la riga nella tabella che la contiene.\",\n studio_sql_edit_no_primary_key: \"{{table}} non ha una chiave primaria, quindi una sua riga non si può ritrovare per aggiornarla.\",\n studio_sql_edit_key_missing: \"Per modificare le colonne di {{table}}, seleziona la sua chiave primaria ({{columns}}) con un nome che nessun'altra colonna del risultato abbia.\",\n studio_sql_edit_table_read_twice: \"La query legge {{table}} più di una volta, quindi la chiave di una riga e questa cella possono venire da righe diverse.\",\n studio_sql_missing_pk: \"Alla riga mancano le colonne della chiave primaria: {{columns}}. Impossibile aggiornarla in sicurezza.\",\n studio_sql_cannot_edit_other_connection: \"Queste righe sono state lette da un altro database o con un altro ruolo. Esegui di nuovo la query per modificarle.\",\n studio_sql_update_failed: \"Aggiornamento non riuscito: {{message}}\",\n studio_sql_update_no_row: \"Nessuna riga è stata aggiornata: la riga è stata modificata o eliminata dopo la lettura, oppure il ruolo selezionato non può aggiornarla. Esegui di nuovo la query per vedere cosa è memorizzato.\",\n studio_sql_ran_as_other_role: \"Queste righe sono state lette come {{ranAs}}, non come {{role}}: su questo server il cambio di ruolo è disattivato (DISABLE_DB_ROLE_SWITCHING), quindi ogni istruzione viene eseguita come proprietario della connessione.\",\n studio_sql_result_truncated: \"Sono mostrate le prime {{shown}} di {{total}} righe: la console conserva al massimo 10.000 righe, o 32 MB di valori, di un risultato. Restringi la query, o scorrila a pagine con LIMIT e OFFSET, per vedere il resto. Copia ed esportazione includono solo le righe mostrate.\",\n studio_sql_download_full_csv: \"Scarica il risultato completo come CSV\",\n studio_sql_downloading_full_csv: \"Download in corso…\",\n studio_sql_download_full_failed: \"Impossibile scaricare il risultato completo: {{message}}\",\n studio_sql_role_switching_disabled: \"Il cambio di ruolo è disattivato su questo server: ogni istruzione viene eseguita come {{role}}, qualunque ruolo sia scelto qui.\",\n studio_sql_execution_not_supported: \"L'origine dati attuale non supporta l'esecuzione di SQL.\",\n studio_sql_error_executing: \"Si è verificato un errore durante l'esecuzione della query.\",\n studio_sql_error_explaining: \"Si è verificato un errore durante l'analisi della query.\",\n studio_sql_explain_single_statement: \"Explain funziona su una sola istruzione alla volta. Seleziona l'istruzione da spiegare e riprova.\",\n studio_sql_save_first_to_favorite: \"Salva il frammento prima di aggiungerlo ai preferiti.\",\n studio_sql_collections_label: \"Collections:\",\n studio_sql_admin_collections_tooltip: \"Tables in this query that are mapped as admin collections\",\n studio_sql_edit_entity: \"Edit {{name}} #{{id}}\",\n studio_sql_sql_not_supported: \"Questa origine dati non supporta l'esecuzione di SQL\",\n studio_sql_fetch_error: \"Impossibile recuperare le opzioni di connessione: {{message}}\",\n studio_sql_unexpected_format: \"Formato dei dati inatteso: {{type}}\",\n studio_sql_no_tables: \"Nessuna tabella trovata in questo database.\",\n studio_sql_schema_fetch_error: \"Impossibile recuperare lo schema: {{message}}\",\n\n // ─── Studio: SQL Editor Sidebar ──────────────────────────────\n studio_sql_sidebar_snippets: \"Snippets\",\n studio_sql_sidebar_history: \"History\",\n studio_sql_sidebar_schema: \"Schema\",\n studio_sql_sidebar_no_snippets: \"Nessun frammento salvato\",\n studio_sql_sidebar_save_snippet_hint: \"Salva una query per ritrovarla qui.\",\n studio_sql_sidebar_no_history: \"Nessuna cronologia\",\n studio_sql_sidebar_history_hint: \"Le query eseguite appariranno qui.\",\n studio_sql_sidebar_delete_snippet: \"Elimina frammento\",\n studio_sql_close_tab: \"Chiudi questa scheda di query\",\n studio_sql_new_tab: \"Nuova scheda di query\",\n\n // ─── Studio: Schema Browser ──────────────────────────────────\n studio_schema_tables: \"Tables\",\n studio_schema_loading: \"Caricamento dello schema...\",\n studio_schema_no_tables: \"Nessuna tabella trovata\",\n studio_schema_retry: \"Retry\",\n studio_schema_primary_key: \"Chiave primaria\",\n studio_schema_select_all: \"SELECT * FROM\",\n studio_schema_insert_into: \"INSERT INTO\",\n studio_schema_update: \"UPDATE\",\n studio_schema_delete_from: \"DELETE FROM\",\n studio_schema_columns: \"{{count}} colonne\",\n\n // ─── Studio: RLS Editor ──────────────────────────────────────\n studio_rls_title: \"Sicurezza a livello di riga\",\n studio_rls_description: \"Gestisci i criteri RLS delle tue tabelle\",\n studio_rls_enabled: \"RLS attiva\",\n studio_rls_disabled: \"RLS disattivata\",\n studio_rls_no_rls: \"Senza RLS\",\n studio_rls_enable_rls: \"Attiva RLS\",\n studio_rls_disable_rls: \"Disattiva RLS\",\n studio_rls_create_policy: \"Crea criterio\",\n studio_rls_policies: \"Policies\",\n studio_rls_no_policies: \"Nessun criterio definito\",\n studio_rls_no_policies_desc: \"Questa tabella non ha criteri RLS. L'accesso a tutte le righe dipende dallo stato della RLS.\",\n studio_rls_add_first_policy: \"Aggiungi il tuo primo criterio\",\n studio_rls_force_rls: \"Forza RLS\",\n studio_rls_force_rls_desc: \"Se attivo, i criteri RLS si applicano anche al proprietario della tabella.\",\n studio_rls_enable_force_rls: \"Attiva RLS forzata\",\n studio_rls_disable_force_rls: \"Disattiva RLS forzata\",\n studio_rls_edit: \"Edit\",\n studio_rls_edit_generated: \"{{policy}} è generata da Rebase per ogni collection, quindi non c'è una tua regola da modificare. Aggiungi invece una policy tua.\",\n studio_rls_edit_not_declared: \"{{policy}} esiste solo nel database, quindi nel tuo codice non c'è una regola da modificare. Importala prima nel codice.\",\n studio_rls_edit_several_operations: \"{{policy}} è una delle policy in cui viene compilata una singola regola, una per operazione. Modifica quella regola nel file sorgente della collection.\",\n studio_rls_delete: \"Delete\",\n studio_rls_confirm_delete_title: \"Elimina criterio\",\n studio_rls_confirm_delete_body: \"Vuoi davvero eliminare questo criterio? L'operazione non può essere annullata.\",\n studio_rls_confirm_enable_title: \"Attiva la sicurezza a livello di riga\",\n studio_rls_confirm_enable_body: \"Attivando la RLS l'accesso alle righe di questa tabella sarà limitato dai tuoi criteri. Assicurati di avere criteri adeguati.\",\n studio_rls_confirm_disable_title: \"Disattiva la sicurezza a livello di riga\",\n studio_rls_confirm_disable_body: \"Disattivando la RLS tutte le righe saranno accessibili a tutti i ruoli. Vuoi davvero continuare?\",\n studio_rls_select_table: \"Seleziona una tabella\",\n studio_rls_no_tables: \"Nessuna tabella disponibile\",\n studio_rls_error: \"Errore nel caricamento dei criteri\",\n studio_rls_retry: \"Retry\",\n studio_rls_loading: \"Caricamento dei criteri...\",\n\n // ─── Studio: Policy Editor ───────────────────────────────────\n studio_policy_edit: \"Modifica criterio\",\n studio_policy_create: \"Crea un nuovo criterio\",\n studio_policy_defining_rules: \"Definizione delle regole di accesso per\",\n studio_policy_cancel: \"Cancel\",\n studio_policy_save: \"Salva criterio\",\n studio_policy_template: \"Parti da un modello (facoltativo)\",\n studio_policy_select_template: \"Seleziona un modello...\",\n studio_policy_name: \"Nome del criterio\",\n studio_policy_name_placeholder: \"Assegna al criterio un nome descrittivo\",\n studio_policy_behavior: \"Comportamento del criterio\",\n studio_policy_permissive: \"Permissive\",\n studio_policy_permissive_desc: \"Combinata con «OR»\",\n studio_policy_restrictive: \"Restrictive\",\n studio_policy_restrictive_desc: \"Combinata con «AND»\",\n studio_policy_command: \"Comando del criterio\",\n studio_policy_target_roles: \"Ruoli destinatari\",\n studio_policy_roles_placeholder: \"Seleziona i ruoli (predefinito: public)\",\n studio_policy_using_expr: \"Espressione USING\",\n studio_policy_using_expr_desc: \"Si applica alle righe esistenti (SELECT, UPDATE, DELETE)\",\n studio_policy_check_expr: \"Espressione WITH CHECK\",\n studio_policy_check_expr_desc: \"Si applica alle righe nuove o modificate (INSERT, UPDATE)\",\n studio_policy_help_title: \"Guida alla sicurezza a livello di riga (RLS)\",\n studio_policy_help_intro: \"La sicurezza a livello di riga (RLS) consente di limitare le righe che un utente può leggere o modificare in base al suo stato di autenticazione o ai suoi ruoli.\",\n studio_policy_help_step1_title: \"1. Seleziona un modello\",\n studio_policy_help_step1_desc: \"Se non hai mai usato la RLS, il modo più semplice è partire da un modello predefinito nell'elenco. Configurerà automaticamente il criterio per casi comuni come «gli utenti possono aggiornare le proprie righe».\",\n studio_policy_help_step2_title: \"2. Ruoli destinatari\",\n studio_policy_help_step2_desc: \"Scegli i ruoli del database a cui si applica la policy. Ogni richiesta API gira con lo stesso ruolo, con o senza accesso, quindi chi è il chiamante va nell'espressione USING:\",\n studio_policy_help_role_public: \"Tutti i ruoli, quindi ogni richiesta. È ciò a cui puntano i modelli e le policy di Rebase stesso.\",\n studio_policy_help_role_rebase_user: \"Il ruolo con cui girano le richieste API. Si distingue da public solo per le connessioni aperte direttamente con un altro ruolo.\",\n studio_policy_help_roles_not_users: \"Utenti autenticati, visitatori anonimi e amministratori qui non sono ruoli del database. Scegli public e verifica rebase.uid() o rebase.roles() nell'espressione, come fanno i modelli.\",\n studio_policy_help_step3_title: \"3. Espressione USING\",\n studio_policy_help_step3_desc: \"Una condizione SQL che deve risultare vera perché le righe esistenti siano visibili o modificabili (SELECT, UPDATE, DELETE).\",\n studio_policy_help_step3_example: \"Garantisce che gli utenti vedano solo le righe di cui sono proprietari.\",\n studio_policy_help_step4_title: \"4. Espressione WITH CHECK\",\n studio_policy_help_step4_desc: \"Una condizione SQL che deve risultare vera perché le righe nuove o modificate vengano salvate (INSERT, UPDATE).\",\n studio_policy_help_step4_example: \"Di solito coincide con l'espressione USING quando gli utenti possono inserire o modificare solo i propri dati.\",\n studio_policy_help_example: \"Esempio:\",\n studio_policy_help_auth_vars_title: \"Variabili di autenticazione di Rebase\",\n studio_policy_help_auth_vars_desc: \"Rebase mette a disposizione funzioni native che puoi usare nelle tue espressioni:\",\n studio_policy_help_auth_uid: \"Restituisce l'ID dell'utente corrente come testo. Esempio:\",\n studio_policy_help_auth_jwt: \"Restituisce l'intero payload del JWT come JSONB, così puoi verificare claim personalizzati. Esempio:\",\n studio_policy_help_auth_roles: \"Restituisce gli ID dei ruoli dell'utente come stringa separata da virgole. Da usare preferibilmente con:\",\n studio_policy_help_docs_cta: \"Per saperne di più sui criteri di Postgres, consulta la documentazione ufficiale.\",\n studio_policy_help_read_docs: \"Leggi la documentazione\",\n studio_policy_help_got_it: \"Ho capito!\",\n\n // ─── Studio: UI Actions ──────────────────────────────────────\n studio_add_kanban_column: \"Aggiungi colonna\",\n studio_add_kanban_column_title: \"Aggiungi colonna Kanban\",\n studio_add_kanban_column_name: \"Nome della colonna\",\n studio_add_kanban_column_name_placeholder: \"Nome della nuova colonna\",\n studio_add_kanban_column_add: \"Add\",\n studio_add_kanban_column_cancel: \"Cancel\",\n studio_collection_view_sql: \"Editor SQL\",\n studio_collection_view_admin: \"Vista di amministrazione\",\n studio_editor_collection_tooltip: \"Modifica lo schema della collezione\",\n studio_editor_collection_no_permission: \"Non hai il permesso di modificare questa collezione\",\n studio_editor_collection_start_tooltip: \"Copia il percorso o modifica lo schema\",\n studio_editor_collection_start_no_permission: \"Non hai il permesso di modificare questa collezione\",\n studio_editor_collection_start_copied: \"Copied!\",\n studio_editor_entity_tooltip: \"Modifica lo schema dell'entità\",\n studio_editor_entity_no_permission: \"Non hai il permesso di modificare questa entità\",\n studio_home_edit_collection: \"Modifica collezione\",\n studio_home_delete_collection: \"Elimina collezione\",\n studio_home_confirm_delete_title: \"Eliminare la collezione?\",\n studio_home_confirm_delete_body: \"Vuoi davvero eliminare la collezione «{{name}}»? L'operazione non può essere annullata.\",\n studio_kanban_setup: \"Configurazione Kanban\",\n studio_missing_reference: \"Riferimento mancante: {{path}}\",\n studio_missing_reference_create: \"Create\",\n studio_new_collection: \"Nuova collezione\",\n studio_new_collection_card: \"Nuova collezione\",\n studio_new_collection_no_permission: \"Non hai i permessi per creare collezioni\",\n studio_property_add_column: \"Aggiungi una nuova proprietà\",\n studio_property_add_column_no_permission: \"Non hai il permesso di aggiungere nuove proprietà\",\n studio_add_kanban_column_desc: \"Aggiunge una nuova opzione alla proprietà «{{property}}». Verrà creata una nuova colonna nella board Kanban.\",\n studio_add_kanban_column_adding: \"Adding...\",\n studio_add_kanban_column_exists: \"Sulla bacheca c’è già una colonna \\\"{{label}}\\\".\",\n studio_add_kanban_column_not_enum: \"\\\"{{property}}\\\" non è una proprietà con opzioni, quindi non si può aggiungere una colonna.\",\n studio_collection_view_edit: \"Edit\",\n studio_editor_collection_disabled: \"La modifica delle collezioni è disattivata\",\n studio_editor_collection_edit: \"Modifica collezione\",\n studio_editor_entity_save_first: \"Devi salvare il documento prima di modificare lo schema\",\n studio_editor_entity_edit_schema: \"Modifica lo schema di questo modulo\",\n studio_editor_collection_start_save_filter: \"Salva filtro e ordinamento predefiniti\",\n studio_editor_collection_start_clear_filter: \"Cancella filtro e ordinamento predefiniti\",\n studio_editor_collection_start_reset_filter: \"Ripristina filtro e ordinamento predefiniti\",\n studio_editor_collection_start_saved: \"Configurazione predefinita salvata\",\n studio_home_duplicate_collection: \"Duplicate\",\n studio_home_delete: \"Delete\",\n studio_home_confirm_delete_no_data: \"Elimina il file della collezione e la sua voce in index.ts, e ne fa il commit. La tabella e le sue righe restano nel database. Rifiutato finché un'altra collezione fa riferimento a questa.\",\n studio_home_collection_deleted: \"Collezione eliminata\",\n studio_kanban_configure: \"Configura Kanban\",\n studio_missing_reference_error: \"Nessuna collezione per il percorso: {{path}}\",\n studio_new_collection_add: \"Aggiungi nuova collezione\",\n studio_tool_schema: \"Collezioni\",\n studio_js_collections_tab: \"Collezioni\",\n studio_tool_schema_description: \"Definisci e gestisci il modello dati e gli schemi delle collezioni\",\n studio_collections_editor_empty: \"Ancora nessuna collezione.\",\n studio_collections_editor_pick: \"Seleziona una collezione o creane una nuova per iniziare a modificarla.\",\n studio_collections_editor_read_only: \"Le collezioni non si possono modificare su questo server.\",\n studio_collections_editor_unsaved: \"Questa collezione ha modifiche non salvate.\",\n\n // ─── Schema change dialog ────────────────────────────────\n schema_change_title_review: \"Rivedi la modifica dello schema\",\n schema_change_title_applied: \"Modifica dello schema applicata\",\n schema_change_title_committed: \"Commit della modifica dello schema eseguito\",\n schema_change_verdict_safe_title: \"Pronto da applicare\",\n schema_change_verdict_safe_body: \"Ogni modifica qui si può fare sul database in esecuzione.\",\n schema_change_verdict_diverges_title: \"Questo lascerebbe il database non allineato\",\n schema_change_verdict_diverges_body: \"La modifica si può scrivere, ma il database non finirà per corrispondervi. I dettagli qui sotto dicono quale parte, e cosa la renderebbe applicabile.\",\n schema_change_verdict_migration_title: \"Serve una migrazione\",\n schema_change_verdict_migration_body: \"Una parte non si può fare affatto su un database in esecuzione: elimina o riscrive qualcosa, e questo va in una migrazione che qualcuno ha letto.\",\n schema_change_commit_only_title: \"Pronto per il commit\",\n schema_change_commit_only_body: \"Ora non viene eseguito nulla sul database. Ogni modifica qui sotto dice cosa fa e quando ha effetto.\",\n schema_change_commit_only_body_no_changes: \"Questo cambia ciò che il tuo progetto dichiara. Sul database non viene eseguito nulla: non c'è nessuna modifica dello schema da fare.\",\n schema_change_chip_safe: \"sicuro\",\n schema_change_chip_diverges: \"diverge\",\n schema_change_chip_migration: \"richiede migrazione\",\n schema_change_follow_up_one: \"Una cosa da fare dopo\",\n schema_change_follow_up: \"Da fare dopo\",\n schema_change_withheld_one: \"Un vincolo non verrà applicato\",\n schema_change_withheld_many: \"{{count}} vincoli non verranno applicati\",\n schema_change_db_not_changed: \"Il database non è stato modificato\",\n schema_change_db_maybe_changed: \"Il database potrebbe essere stato modificato in parte\",\n schema_change_statements_partial: \"Sono state eseguite {{ran}} istruzioni su {{total}}, poi una è fallita\",\n schema_change_commit_holds: \"Il commit è comunque su {{branch}}, quindi ciò che non è stato eseguito verrà applicato al prossimo avvio.\",\n schema_change_committed: \"Commit eseguito\",\n schema_change_committed_on: \"{{sha}} su {{branch}}\",\n schema_change_plan_failed: \"Non è stato possibile pianificare la modifica\",\n schema_change_planning: \"Sto calcolando cosa farebbe questa modifica…\",\n schema_change_source_only_changes: \"Niente qui cambia la forma dei tuoi dati. Cambia solo il sorgente della collezione, e ne viene fatto il commit.\",\n schema_change_source_only_title: \"Modifica solo il sorgente: fai il commit della collezione, lascia il database\",\n schema_change_preview_only: \"Puoi vedere l'anteprima di questa modifica, ma non applicarla\",\n schema_change_statements: \"Istruzioni che verranno eseguite\",\n schema_change_files: \"File di cui verrà fatto il commit\",\n schema_change_message: \"Messaggio del commit\",\n schema_change_edit_source_only: \"Modifica solo il sorgente\",\n schema_change_committing: \"Commit in corso…\",\n schema_change_applying: \"Applicazione in corso…\",\n schema_change_commit: \"Esegui il commit\",\n schema_change_commit_and_apply: \"Esegui il commit e applica\",\n\n // ─── API explorer ────────────────────────────────────────\n studio_api_explorer_spec_refused_title: \"Questa sessione non può leggere la specifica dell'API\",\n studio_api_explorer_spec_failed_title: \"Impossibile caricare la specifica dell'API\",\n studio_api_explorer_spec_refused_body: \"L'accesso della console all'API di questo progetto è stato rifiutato. Di solito significa che la sessione è scaduta (accedi di nuovo) o che l'accesso della console è stato disattivato per questo progetto nelle Impostazioni.\",\n studio_api_explorer_spec_failed_body: \"Il progetto ha risposto, ma non con una specifica che questo explorer possa leggere. La sua API non è interessata; solo questa pagina.\",\n\n // ─── Property field labels ──────────────────────────────────\n db_column_type: \"Tipo di colonna del database\",\n primary_key_unique_id: \"Chiave primaria / ID univoco\",\n spread_children_as_columns: \"Espandi i figli come colonne\",\n mode: \"Modalità\",\n timezone: \"Fuso orario\",\n target_collection: \"Collezione di destinazione\",\n\n // ─── Column type and primary key selects ─────────────────\n column_type_default: \"Predefinito ({{type}})\",\n column_type_uuid_forced: \"uuid (imposto dalla chiave primaria)\",\n column_type_varchar: \"varchar (lunghezza variabile)\",\n column_type_text: \"text (illimitato)\",\n column_type_char: \"char (lunghezza fissa)\",\n column_type_timestamp: \"timestamp (con fuso orario)\",\n column_type_caption_string: \"Facoltativo: un tipo di colonna del database diverso per questo campo di testo.\",\n column_type_caption_number: \"Facoltativo: un tipo di colonna del database diverso per questo campo numerico.\",\n column_type_caption_date: \"Facoltativo: un tipo di colonna del database diverso per questo campo data.\",\n primary_key_manual: \"Sì (inserimento manuale)\",\n primary_key_generated_string: \"Sì (UUID/stringa generata automaticamente)\",\n primary_key_identity: \"Sì (autoincremento/identity)\",\n primary_key_increment: \"Sì (incremento)\",\n primary_key_strategy: \"Sì ({{strategy}})\",\n primary_key_caption: \"Imposta come chiave primaria e configura la strategia di generazione degli ID.\",\n\n // ─── Storage property ───────────────────────────────────────\n storage_file_name: \"Nome del file\",\n storage_path: \"Percorso di archiviazione\",\n storage_max_size: \"Dimensione massima (in byte)\",\n storage_resize_mode: \"Modalità di ridimensionamento\",\n storage_output_format: \"Formato di output\",\n storage_max_width: \"Larghezza massima (px)\",\n storage_max_height: \"Altezza massima (px)\",\n storage_quality: \"Qualità (0-100)\",\n storage_file_upload_config: \"Configurazione caricamento file\",\n storage_image_resize_config: \"Configurazione ridimensionamento immagine\",\n storage_all_file_types: \"Tutti i tipi di file consentiti\",\n storage_allowed_file_types: \"Tipi di file consentiti\",\n storage_include_bucket_url: \"Includi URL del bucket (s3://...) nel valore salvato\",\n storage_save_url: \"Salva URL invece del percorso di archiviazione\",\n\n // ─── DateTime property ──────────────────────────────────────\n datetime_automatic_value: \"Valore automatico\",\n\n // ─── Date property selects ───────────────────────────────\n datetime_mode_date_time: \"Data/ora\",\n datetime_mode_date: \"Data\",\n datetime_auto_value_none: \"Nessuno\",\n datetime_auto_value_on_create: \"Alla creazione\",\n datetime_auto_value_on_update: \"A ogni aggiornamento\",\n datetime_auto_value_caption: \"Aggiorna questo campo automaticamente quando il record viene creato o aggiornato\",\n datetime_timezone_local: \"Fuso orario locale\",\n datetime_timezone_caption: \"Fuso orario per mostrare e inserire le date. I valori vengono sempre salvati in UTC.\",\n\n // ─── Markdown property ──────────────────────────────────────\n markdown_paste_behavior: \"Comportamento incolla\",\n\n // ─── Entity identity bar and inspector ──────────────────────\n entity_saved: \"Salvato\",\n more_actions: \"Altre azioni\",\n record_history: \"Cronologia\",\n inspect_record: \"Ispeziona record\",\n inspect: \"Ispeziona\",\n close_inspector: \"Chiudi l'ispettore\",\n open_in_live_site: \"Apri nel sito pubblicato\",\n\n // ─── Revision history ───────────────────────────────────────\n history_revert: \"Torna a questa versione\",\n history_revert_title: \"Ripristinare i dati a questa versione?\",\n history_reverted: \"Ripristinata la versione selezionata\",\n history_revert_error: \"Errore durante il ripristino del record\",\n history_revert_dirty: \"Salva o annulla le modifiche prima di ripristinare\",\n history_empty: \"Nessuna cronologia disponibile\",\n history_empty_description: \"Quando salvi un record viene creata una nuova versione e conservata nella cronologia.\",\n history_new_entity: \"La cronologia è disponibile solo per i record esistenti\",\n history_no_more: \"Nessun'altra cronologia\",\n\n // ─── Studio: tools, groups and empty states ─────────────────\n // The admin's own three groups, read by `useNavigationGroupLabel` the same\n // way as the Studio ones below — the group *name* is an identifier the\n // ordering and the icons key off, and only the heading is translated.\n studio_group_views: \"Viste\",\n studio_group_admin: \"Amministrazione\",\n studio_group_settings: \"Impostazioni\",\n studio_group_database: \"Database\",\n studio_group_compute: \"Elaborazione\",\n studio_group_storage: \"Archiviazione\",\n studio_group_api: \"API\",\n studio_group_access_control: \"Controllo accessi\",\n studio_tool_sql: \"Console SQL\",\n studio_tool_sql_description: \"Esegui query SQL\",\n studio_tool_js: \"Console JS\",\n studio_tool_js_description: \"Esegui JavaScript\",\n studio_tool_rls: \"Criteri RLS\",\n studio_tool_rls_description: \"Sicurezza a livello di riga\",\n studio_tool_storage: \"Archiviazione\",\n studio_tool_storage_description: \"Gestisci i file di archiviazione\",\n studio_tool_cron: \"Processi cron\",\n studio_tool_cron_description: \"Gestisci le attività pianificate\",\n studio_tool_schema_visualizer: \"Visualizzatore di schema\",\n studio_tool_schema_visualizer_description: \"Diagramma delle entità delle tue collection\",\n studio_tool_branches: \"Rami\",\n studio_tool_branches_description: \"Crea e gestisci i rami del database\",\n studio_tool_backups: \"Backup\",\n studio_tool_backups_description: \"Scarica i backup del database\",\n studio_tool_api: \"Esploratore API\",\n studio_tool_api_description: \"Documentazione API interattiva e test\",\n studio_tool_logs: \"Esploratore dei log\",\n studio_tool_logs_description: \"Log di sistema e delle query in tempo reale\",\n studio_tool_api_keys: \"Chiavi API\",\n studio_tool_api_keys_description: \"Crea e gestisci chiavi API con ambito\",\n studio_backups_denied_title: \"Non puoi elencare i backup di questo progetto\",\n studio_backups_denied_hint: \"Il progetto non ha nulla che non va. Elencare i backup richiede una connessione da amministratore, e l'account connesso è stato rifiutato.\",\n studio_backups_read_failed: \"Non è stato possibile leggere i backup di questo progetto\",\n studio_backups_downloading: \"Download in corso…\",\n studio_backups_roles_file: \"File dei ruoli\",\n studio_backups_roles_file_hint: \"Il .globals.sql salvato con questo backup. Ricrea i ruoli del database a cui fanno riferimento i permessi e la sicurezza a livello di riga del dump, e `rebase db restore` lo legge accanto al .dump, quindi tieni insieme i due file.\",\n studio_backups_no_roles_file: \"Nessun file dei ruoli\",\n studio_backups_no_roles_file_hint: \"Con questo backup non è stato salvato nessun .globals.sql. Ripristinarlo in un nuovo Postgres si ferma al primo permesso concesso a un ruolo del database che lì non esiste.\",\n studio_backups_empty: \"Ancora nessun backup.\",\n studio_backups_empty_hint: \"Creane uno con `rebase db backup`, oppure pianificali con un file cron che esporta createBackupCron.\",\n studio_backups_last_run_failed: \"L'ultimo backup pianificato non è riuscito ({{when}})\",\n studio_backups_last_run_ok: \"Ultimo backup pianificato: {{when}}\",\n studio_backups_never_ran: \"Il backup pianificato non è ancora stato eseguito\",\n studio_backups_next_run: \"Prossima esecuzione: {{when}}\",\n studio_backups_schedule_paused: \"I backup pianificati sono in pausa. Riprendi il processo {{job}} in Processi cron.\",\n studio_backups_schedule_off_in_code: \"I backup pianificati sono disattivati: il processo {{job}} è dichiarato disattivato nel suo file cron. Con il file cron di backup documentato, impostare BACKUP_SCHEDULE li attiva.\",\n studio_backups_manual_run_ok: \"Ultima esecuzione manuale: {{when}}\",\n studio_backups_manual_run_failed: \"L'ultima esecuzione manuale non è riuscita ({{when}})\",\n studio_backups_history_unreadable: \"Non è stato possibile leggere la cronologia delle esecuzioni del backup pianificato, quindi non si sa se è stato eseguito. Il motivo è nel log del server.\",\n studio_backups_job_refused: \"I backup pianificati non vengono mai eseguiti: lo scheduler ha rifiutato il processo {{job}}. Correggilo nel suo file cron.\",\n studio_backups_local_disk_of_this_process: \"Questi sono i backup sul disco di questo processo del server. I backup pianificati vengono eseguiti in un altro processo e scrivono sul suo disco, quindi compaiono qui solo se i due condividono questa directory. Una destinazione s3:// o gs:// si legge allo stesso modo da ogni processo.\",\n studio_backups_unavailable_title: \"Backup non disponibili\",\n studio_backups_unavailable_body: \"Questo backend non espone l'API dei backup.\",\n studio_cron_denied_title: \"Non puoi elencare i processi cron di questo progetto\",\n studio_cron_denied_hint: \"Il progetto non ha nulla che non va. L'API cron è riservata agli amministratori, e l'account connesso è stato rifiutato.\",\n studio_cron_read_failed: \"Non è stato possibile leggere i processi cron di questo progetto\",\n studio_cron_logs_read_failed: \"Non è stato possibile leggere le esecuzioni di questo processo\",\n studio_cron_logs_denied_title: \"Non puoi leggere le esecuzioni di questo processo\",\n studio_cron_run_succeeded: \"Esecuzione di {{job}} riuscita\",\n studio_cron_last_error: \"Ultimo errore\",\n studio_cron_no_executions: \"Ancora nessuna esecuzione\",\n studio_cron_manual_run: \"manuale\",\n studio_cron_job_enabled: \"Job attivato\",\n studio_cron_job_paused: \"Job in pausa\",\n studio_cron_refresh: \"Aggiorna\",\n studio_cron_select_job: \"Seleziona un job cron per vederne i dettagli\",\n studio_cron_pause_job: \"Metti in pausa il job\",\n studio_cron_enable_job: \"Attiva il job\",\n studio_cron_run_now: \"Esegui ora\",\n studio_cron_schedule: \"Pianificazione\",\n studio_cron_last_run: \"Ultima esecuzione\",\n studio_cron_next_run: \"Prossima esecuzione\",\n studio_cron_paused: \"In pausa\",\n studio_cron_duration: \"Durata\",\n studio_cron_status: \"Stato\",\n studio_cron_total_runs: \"Esecuzioni totali\",\n studio_cron_failures: \"Errori\",\n studio_cron_execution_history: \"Cronologia delle esecuzioni\",\n studio_cron_refresh_logs: \"Aggiorna le esecuzioni\",\n studio_cron_run_failed: \"Esecuzione di {{job}} non riuscita: {{error}}\",\n studio_cron_job_refused: \"Il processo {{job}} non è pianificato: lo scheduler lo ha rifiutato\",\n studio_cron_files_failed: \"{{count}} file cron non sono stati caricati e non sono pianificati. Il motivo è nel log del server.\",\n studio_cron_files_failed_one: \"{{count}} file cron non è stato caricato e non è pianificato. Il motivo è nel log del server.\",\n studio_api_keys_denied_title: \"Non puoi elencare le chiavi API di questo progetto\",\n studio_api_keys_denied_hint: \"Il progetto non ha nulla che non va. Elencare le chiavi di servizio richiede l'ambito keys:read, che l'account connesso non possiede.\",\n studio_api_keys_read_failed: \"Non è stato possibile leggere le chiavi API di questo progetto\",\n studio_api_keys_empty_title: \"Ancora nessuna chiave API\",\n studio_api_keys_empty_hint: \"Crea una chiave per abilitare l'autenticazione tra servizi\",\n studio_api_keys_revoke: \"Revoca\",\n studio_api_keys_select_hint: \"Seleziona una chiave API per vederne i dettagli\",\n studio_api_keys_revoke_confirmation: \"Conferma della revoca\",\n studio_api_keys_name_label: \"Nome:\",\n studio_api_keys_access_label: \"Accesso:\",\n studio_api_keys_admin_granted: \"Ruolo di amministratore concesso\",\n studio_api_keys_admin_granted_hint: \"la sicurezza a livello di riga non la limita: può leggere, modificare ed eliminare ogni riga raggiunta dai suoi ambiti, e supera i controlli da amministratore nelle funzioni e nell'archiviazione\",\n studio_api_keys_done: \"Fatto\",\n studio_api_keys_status_active: \"Attiva\",\n studio_api_keys_status_expired: \"Scaduta\",\n studio_api_keys_status_revoked: \"Revocata\",\n studio_api_keys_inactive_heading: \"Revocate / Scadute\",\n studio_api_keys_stat_status: \"Stato\",\n studio_api_keys_stat_last_used: \"Ultimo utilizzo\",\n studio_api_keys_stat_expires: \"Scade\",\n studio_api_keys_never: \"Mai\",\n studio_api_keys_stat_rate_limit: \"Limite di richieste\",\n studio_api_keys_rate_limit_default: \"Predefinito (1000/15 min)\",\n studio_api_keys_stat_created_by: \"Creata da\",\n studio_api_keys_copy_failed: \"Copia non riuscita\",\n studio_api_keys_tab_service: \"Chiavi di servizio\",\n studio_api_keys_tab_personal: \"Le mie chiavi\",\n studio_api_keys_refresh: \"Aggiorna\",\n studio_api_keys_new: \"Nuova\",\n studio_api_keys_personal_empty_title: \"Non hai chiavi personali\",\n studio_api_keys_personal_empty_hint: \"Una chiave personale agisce come il tuo account, per script e strumenti che esegui tu stesso\",\n studio_api_keys_personal_read_failed: \"Non è stato possibile leggere le tue chiavi API\",\n studio_api_keys_personal_denied_title: \"Questa sessione non può avere chiavi personali\",\n studio_api_keys_personal_denied_hint: \"Una chiave personale agisce come un account connesso. Le chiavi API, la chiave di servizio e le sessioni ospite non hanno un account per cui agire.\",\n studio_api_keys_personal_off_title: \"Le chiavi personali sono disattivate\",\n studio_api_keys_personal_off_body: \"Una chiave personale agisce come il tuo account e non ha mai più di te. Per permettere agli account di crearle, imposta questo nel blocco auth della collection degli utenti:\",\n studio_api_keys_kind_service: \"Servizio\",\n studio_api_keys_kind_personal: \"Personale\",\n studio_api_keys_stat_kind: \"Tipo\",\n studio_api_keys_stat_owner: \"Proprietario\",\n studio_api_keys_rate_limit_value: \"{{limit}}/15 min\",\n studio_api_keys_scopes: \"Ambiti\",\n studio_api_keys_no_scopes: \"Questa chiave non ha ambiti\",\n studio_api_keys_scopes_count: \"{{count}} ambiti\",\n studio_api_keys_plane_data: \"Dati\",\n studio_api_keys_plane_data_hint: \"Righe, file e funzioni; quali righe lo decide sempre la sicurezza a livello di riga\",\n studio_api_keys_plane_admin: \"Amministrazione\",\n studio_api_keys_plane_admin_hint: \"Utenti, schema, database, backup, cron e log\",\n studio_api_keys_plane_app: \"App\",\n studio_api_keys_plane_app_hint: \"Dichiarati da questa app in auth.scopes\",\n studio_api_keys_target_all_collection: \"Tutte le collection\",\n studio_api_keys_target_all_bucket: \"Tutte le sorgenti di archiviazione\",\n studio_api_keys_target_all_function: \"Tutte le funzioni\",\n studio_api_keys_target_all_other: \"Qualsiasi {{kind}}\",\n studio_api_keys_target_some: \"Solo quelli che scelgo\",\n studio_api_keys_target_mode: \"Destinazioni\",\n studio_api_keys_target_pick: \"Scegli…\",\n studio_api_keys_target_typed_placeholder: \"Id {{kind}}, separati da virgole\",\n studio_api_keys_target_missing: \"Scegli almeno una destinazione per «{{scope}}», oppure passa a tutte.\",\n studio_api_keys_bucket_default: \"Bucket predefinito\",\n studio_api_keys_roles: \"Ruoli RLS\",\n studio_api_keys_roles_rows_hint: \"Quali righe la chiave può leggere, modificare ed eliminare\",\n studio_api_keys_roles_service_only: \"Viene eseguita solo come service. La sicurezza a livello di riga non le concede nulla, a meno che un criterio non nomini quel ruolo.\",\n studio_api_keys_roles_service_plus: \"Viene eseguita come service più questi ruoli; si applica ogni criterio di sicurezza a livello di riga che ne nomini uno.\",\n studio_api_keys_admin_bypasses_rls: \"Viene eseguita come admin: la sicurezza a livello di riga non la limita, quindi può leggere, modificare ed eliminare ogni riga raggiunta dai suoi ambiti, e supera i controlli da amministratore nelle funzioni personalizzate e nell'archiviazione. I suoi ambiti decidono comunque quali endpoint può chiamare.\",\n studio_api_keys_admin_chip_tooltip: \"Viene eseguita con il ruolo admin: la sicurezza a livello di riga non limita le sue letture, scritture ed eliminazioni\",\n studio_api_keys_personal_roles: \"Viene eseguita come il suo proprietario, con i ruoli che questi ha a ogni utilizzo. Non mantiene mai un ambito che il proprietario ha perso.\",\n studio_api_keys_revoke_title: \"Revocare «{{name}}»?\",\n studio_api_keys_revoke_body: \"Le richieste autenticate con questa chiave smettono subito di funzionare. L'operazione non può essere annullata.\",\n studio_api_keys_revoked: \"Chiave API revocata\",\n studio_api_keys_created_title: \"Chiave API creata\",\n studio_api_keys_copy_now: \"Copia ora la chiave: non verrà più mostrata\",\n studio_api_keys_copy_now_hint: \"È l'unica volta in cui la chiave completa viene mostrata. Conservala in un luogo sicuro.\",\n studio_api_keys_copied: \"Chiave API copiata negli appunti\",\n studio_api_keys_create_title: \"Crea chiave di servizio\",\n studio_api_keys_create_personal_title: \"Crea chiave personale\",\n studio_api_keys_create_intro: \"Una credenziale per script, job cron e agenti. Agisce come identità di servizio del progetto, non come una persona, e raggiunge solo gli ambiti che concedi qui.\",\n studio_api_keys_create_personal_intro: \"Una credenziale per script e strumenti che esegui tu stesso. Agisce come il tuo account e non può mai fare più di te.\",\n studio_api_keys_field_name: \"Nome\",\n studio_api_keys_field_name_placeholder: \"es. Pipeline di analisi\",\n studio_api_keys_section_scopes_hint: \"Quali endpoint può chiamare la chiave\",\n studio_api_keys_scopes_read_failed: \"Non è stato possibile leggere gli ambiti offerti da questo backend\",\n studio_api_keys_scopes_offered_note: \"Sono offerti solo gli ambiti che il tuo account possiede. La gestione delle chiavi (keys:read, keys:write) non può mai stare su una chiave.\",\n studio_api_keys_roles_explainer: \"Gli ambiti decidono quali endpoint la chiave può chiamare; i ruoli decidono quali righe può leggere, modificare ed eliminare. Ogni chiave di servizio viene eseguita come service, più i ruoli che aggiungi qui. Lascia vuoto a meno che un criterio di sicurezza a livello di riga non nomini un ruolo di cui la chiave ha bisogno.\",\n studio_api_keys_roles_other: \"Altri ruoli\",\n studio_api_keys_roles_other_placeholder: \"Nomi di ruolo separati da virgole\",\n studio_api_keys_roles_unavailable: \"Non è stato possibile elencare i ruoli del progetto; scrivi i nomi dei ruoli.\",\n studio_api_keys_roles_admin_warning: \"Con admin, la sicurezza a livello di riga non limita la chiave: può leggere, modificare ed eliminare ogni riga raggiunta dai suoi ambiti, e supera i controlli da amministratore nelle funzioni personalizzate e nell'archiviazione. I suoi ambiti decidono comunque quali endpoint può chiamare.\",\n studio_api_keys_section_limits: \"Limiti\",\n studio_api_keys_expiry_7d: \"Tra 7 giorni\",\n studio_api_keys_expiry_30d: \"Tra 30 giorni\",\n studio_api_keys_expiry_90d: \"Tra 90 giorni\",\n studio_api_keys_expiry_1y: \"Tra 1 anno\",\n studio_api_keys_rate_limit_unit: \"ogni 15 min\",\n studio_api_keys_rate_limit_hint: \"Lascia vuoto per il valore predefinito del server: 1000 richieste per finestra di 15 minuti.\",\n studio_api_keys_rate_limit_scope: \"Il limite conta le richieste di dati, file e funzioni della chiave via HTTP, socket in tempo reale e MCP. Le operazioni di amministrazione non sono limitate.\",\n studio_api_keys_summary_title: \"Questa chiave potrà\",\n studio_api_keys_summary_empty: \"Ancora niente: scegli almeno un ambito.\",\n studio_api_keys_summary_roles: \"La sicurezza a livello di riga la tratta come {{roles}}\",\n studio_api_keys_block_name: \"Prima dai un nome alla chiave\",\n studio_api_keys_block_scopes: \"Scegli almeno un ambito\",\n studio_api_keys_block_targets: \"Completa la scelta delle destinazioni\",\n studio_api_keys_creating: \"Creazione…\",\n studio_api_keys_create: \"Crea chiave\",\n studio_api_keys_unsupported: \"Questo client non può creare chiavi API.\",\n studio_api_keys_error_invalid_scopes: \"Alcuni ambiti non sono validi\",\n studio_api_keys_error_scope_exceeds_creator: \"Una chiave non può avere più del tuo account\",\n studio_api_keys_error_role_exceeds_creator: \"Una chiave non può essere eseguita con un ruolo che non hai\",\n studio_api_keys_error_unknown_scope_target: \"Una destinazione non esiste su questo backend\",\n studio_api_keys_error_key_management_scope: \"La gestione delle chiavi non può stare su una chiave\",\n studio_api_keys_error_generic: \"La chiave non è stata creata\",\n studio_scope_data_read_label: \"Leggere i dati\",\n studio_scope_data_read_description: \"Leggere righe dalle collection, attraverso la sicurezza a livello di riga di chi chiama.\",\n studio_scope_data_write_label: \"Creare e aggiornare dati\",\n studio_scope_data_write_description: \"Creare e aggiornare righe nelle collection, attraverso la sicurezza a livello di riga di chi chiama.\",\n studio_scope_data_delete_label: \"Eliminare dati\",\n studio_scope_data_delete_description: \"Eliminare righe dalle collection, attraverso la sicurezza a livello di riga di chi chiama.\",\n studio_scope_storage_read_label: \"Leggere file\",\n studio_scope_storage_read_description: \"Elencare e scaricare i file archiviati.\",\n studio_scope_storage_write_label: \"Caricare file\",\n studio_scope_storage_write_description: \"Caricare file e creare cartelle.\",\n studio_scope_storage_delete_label: \"Eliminare file\",\n studio_scope_storage_delete_description: \"Eliminare i file archiviati.\",\n studio_scope_functions_invoke_label: \"Chiamare funzioni\",\n studio_scope_functions_invoke_description: \"Chiamare le funzioni personalizzate del backend. Una funzione può fare tutto ciò che fa il suo codice.\",\n studio_scope_users_read_label: \"Vedere gli utenti\",\n studio_scope_users_read_description: \"Elencare gli account utente e i loro ruoli.\",\n studio_scope_users_write_label: \"Gestire gli utenti\",\n studio_scope_users_write_description: \"Creare, modificare ed eliminare account, reimpostare password e secondi fattori, e assegnare ruoli fino a quelli del titolare.\",\n studio_scope_schema_read_label: \"Vedere lo schema\",\n studio_scope_schema_read_description: \"Leggere lo schema delle collection, pianificare modifiche allo schema ed eseguire l'audit RLS.\",\n studio_scope_schema_write_label: \"Modificare lo schema\",\n studio_scope_schema_write_description: \"Applicare modifiche allo schema: modifica i file delle collection e altera il database.\",\n studio_scope_database_read_label: \"Ispezionare il database\",\n studio_scope_database_read_description: \"Elencare database, tabelle, ruoli Postgres e branch.\",\n studio_scope_database_write_label: \"Eseguire SQL\",\n studio_scope_database_write_description: \"Eseguire SQL come proprietario del database, al di fuori della sicurezza a livello di riga, e creare o eliminare branch.\",\n studio_scope_backups_read_label: \"Scaricare i backup\",\n studio_scope_backups_read_description: \"Elencare e scaricare i backup del database — ogni riga, al di fuori della sicurezza a livello di riga.\",\n studio_scope_cron_read_label: \"Vedere i job cron\",\n studio_scope_cron_read_description: \"Elencare i job cron e leggerne lo storico delle esecuzioni.\",\n studio_scope_cron_write_label: \"Eseguire i job cron\",\n studio_scope_cron_write_description: \"Avviare i job cron e attivarli o disattivarli.\",\n studio_scope_logs_read_label: \"Leggere i log del server\",\n studio_scope_logs_read_description: \"Leggere i log delle richieste e dell'applicazione del server.\",\n studio_scope_keys_read_label: \"Vedere le chiavi di servizio\",\n studio_scope_keys_read_description: \"Elencare le chiavi di servizio del progetto. Mai concedibile a una chiave.\",\n studio_scope_keys_write_label: \"Gestire le chiavi di servizio\",\n studio_scope_keys_write_description: \"Creare, modificare e revocare le chiavi di servizio del progetto. Mai concedibile a una chiave.\",\n studio_branches_denied_title: \"Non puoi elencare i rami di questo progetto\",\n studio_branches_denied_hint: \"Il progetto non ha nulla che non va. I rami passano dalla connessione da amministratore, e l'account connesso è stato rifiutato.\",\n studio_branches_read_failed: \"Non è stato possibile leggere i rami di questo progetto\",\n studio_schema_no_collections: \"Nessuna collection dichiarata\",\n studio_schema_no_collections_body: \"Non c'è ancora nulla da disegnare. Aggiungi una collection in config/collections/, oppure apri «Modifica collection» per aggiungerne una qui.\",\n studio_schema_introspect_hint: \"Su un database che ha già delle tabelle, rebase schema introspect scrive i file di collection al posto tuo.\",\n studio_schema_visualizer_source: \"Disegnato dalle tue collection: tabelle, colonne, tipi e relazioni come le dichiarano. Solo gli indicatori RLS sono letti dal database.\",\n studio_schema_laying_out: \"Disposizione del diagramma…\",\n studio_schema_neighbourhood: \"{{shown}} tabelle su {{total}}: {{table}} e le tabelle intorno. Scegline un'altra nell'elenco per spostarti.\",\n studio_schema_neighbourhood_depth_1: \"A 1 relazione\",\n studio_schema_neighbourhood_depth_2: \"A 2 relazioni\",\n\n\n // ─── Studio: RLS editor confirmations ───────────────────────\n studio_rls_enable_confirm_title: \"Attivare la sicurezza a livello di riga?\",\n studio_rls_enable_confirm_body: \"Finché un criterio non lo consente, nessuna riga di {{table}} è leggibile. Postgres nega per impostazione predefinita.\",\n studio_rls_disable_confirm_title: \"Disattivare la sicurezza a livello di riga?\",\n studio_rls_disable_confirm_body: \"Tutti i criteri su {{table}} smettono di essere applicati. Chi raggiunge la tabella può leggere e scrivere ogni riga.\",\n studio_rls_drop_policy_title: \"Eliminare questo criterio?\",\n studio_rls_drop_policy_body: \"{{policy}} viene rimosso da {{table}} nel database. Nel codice non viene scritto nulla, quindi un deploy può ripristinarlo.\",\n studio_rls_unapplied: \"Non applicato\",\n studio_rls_unapplied_tooltip: \"Dichiarato nel codice, non ancora nel database. Rebase lo applica al prossimo avvio del server o al prossimo `rebase db push`; se dopo manca ancora, il log del server dice perché.\",\n studio_rls_drift: \"Diverso dal codice\",\n studio_rls_drift_tooltip: \"Nel database {{fields}} sono diversi da ciò che il progetto dichiara per questa policy. La versione dichiarata torna al prossimo avvio del server o al prossimo `rebase db push`.\",\n studio_rls_reapplied_on_start: \"Rebase gestisce le policy di {{table}}. A ogni avvio del server, e a ogni `rebase db push`, riattiva la Row Level Security su questa tabella e ricrea ogni policy che il progetto dichiara per essa. Una modifica fatta qui a una di quelle policy, o all'interruttore RLS, dura fino ad allora. Una policy che aggiungi con un nome tuo resta.\",\n studio_rls_disable_reapplied: \"Rebase gestisce {{table}}, quindi la Row Level Security viene riattivata al prossimo avvio del server o al prossimo `rebase db push`.\",\n studio_rls_nothing_changed: \"Non è cambiato nulla, quindi non è stato salvato nulla.\",\n\n\n // ─── Studio: empty states that name a remedy ────────────────\n studio_branches_unavailable_title: \"Il branching del database non è disponibile\",\n studio_branches_unavailable_body: \"Il branching richiede un backend Postgres con una connessione da amministratore. Imposta ADMIN_CONNECTION_STRING nell'ambiente del backend.\",\n studio_branch_diff_tab_schema: \"Schema e policy RLS\",\n studio_branch_diff_tab_data: \"Modifiche ai dati\",\n studio_branch_diff_tab_details: \"Dettagli\",\n studio_branch_diff_merge: \"Unisci in {{target}}\",\n studio_branch_diff_failed: \"Impossibile confrontare questo branch\",\n studio_branch_diff_denied_title: \"Non puoi esaminare questo branch\",\n studio_branch_diff_denied_hint: \"Esaminare un branch richiede lo scope database:write: il suo diff mostra righe di entrambi i database, lette fuori dalla sicurezza a livello di riga.\",\n studio_branch_diff_unreadable: \"Il server ha risposto con qualcosa che non è un diff di branch.\",\n studio_branch_diff_no_api: \"Questo pannello non ha un indirizzo di backend da cui leggere il diff del branch.\",\n studio_branch_diff_fork_unknown: \"Non è stato possibile leggere il momento in cui è stato creato questo branch, quindi ogni riga diversa conta come modifica del branch. Un'unione annullerebbe anche ciò che {{target}} ha cambiato da allora.\",\n studio_branch_diff_schema_empty: \"Nessuna modifica a schema o policy rispetto a {{target}}.\",\n studio_branch_diff_schema_not_merged: \"Le modifiche a schema e policy sono mostrate per la revisione. Un'unione non le applica mai: appartengono alle tue collection e alle loro migrazioni.\",\n studio_branch_diff_object_table: \"Tabella\",\n studio_branch_diff_object_column: \"Colonna\",\n studio_branch_diff_object_policy: \"Policy di accesso\",\n studio_branch_diff_object_rls: \"Sicurezza a livello di riga\",\n studio_branch_diff_object_constraint: \"Vincolo\",\n studio_branch_diff_object_index: \"Indice\",\n studio_branch_diff_object_trigger: \"Trigger\",\n studio_branch_diff_object_enum: \"Tipo enum\",\n studio_branch_diff_object_view: \"Vista\",\n studio_branch_diff_object_function: \"Funzione\",\n studio_branch_diff_change_added: \"Aggiunto\",\n studio_branch_diff_change_dropped: \"Eliminato\",\n studio_branch_diff_change_altered: \"Modificato\",\n studio_branch_diff_data_empty: \"Il branch non ha modificato righe rispetto a {{target}}.\",\n studio_branch_diff_row_inserted: \"Inserita\",\n studio_branch_diff_row_updated: \"Aggiornata\",\n studio_branch_diff_row_deleted: \"Eliminata\",\n studio_branch_diff_row_conflict: \"Conflitto\",\n studio_branch_diff_conflicts: \"{{count}} conflitti\",\n studio_branch_diff_target_changes: \"{{count}} righe sono cambiate solo in {{target}} dalla creazione del branch. Un'unione le mantiene.\",\n studio_branch_diff_target_changes_referencing: \"{{count}} righe sono cambiate solo su {{target}} dalla creazione del branch. {{reached}} di esse fanno riferimento a righe che il branch ha eliminato: un merge le mantiene, a meno che il branch non vinca quel conflitto.\",\n studio_branch_diff_referenced_by: \"Righe che {{target}} ha scritto dalla creazione del branch fanno ancora riferimento a righe che il branch ha eliminato qui: {{tables}}. Ognuna conta come un conflitto.\",\n studio_branch_diff_row_counts: \"Righe: {{targetCount}} in {{target}}, {{branchCount}} nel branch.\",\n studio_branch_diff_column_change: \"Modifica\",\n studio_branch_diff_column_key: \"Chiave primaria\",\n studio_branch_diff_column_values: \"Valori\",\n studio_branch_diff_samples_shown: \"Mostrate {{shown}} di {{total}} righe modificate.\",\n studio_branch_diff_merge_title: \"Unisci {{branch}} in {{target}}\",\n studio_branch_diff_merge_writes: \"Questo scrive le righe del branch in {{target}}: {{inserted}} inserite, {{updated}} aggiornate e {{deleted}} eliminate.\",\n studio_branch_diff_merge_target_kept: \"Nulla di ciò che {{target}} ha cambiato dalla creazione del branch viene toccato.\",\n studio_branch_diff_merge_target_kept_count: \"Le {{count}} righe che {{target}} ha cambiato dalla creazione del branch restano come sono.\",\n studio_branch_diff_merge_schema_skipped: \"Le {{count}} modifiche a schema e policy non vengono unite. Applicale con le tue migrazioni (rebase db push).\",\n studio_branch_diff_merge_conflicts: \"{{count}} righe sono cambiate da entrambe le parti. Quale versione prevale?\",\n studio_branch_diff_merge_referenced_conflicts: \"Alcune sono righe che il branch ha eliminato e a cui fanno ancora riferimento {{count}} righe scritte da {{target}} nel frattempo: {{tables}}. Mantenere la versione di {{target}} mantiene quelle righe e le righe che le referenziano.\",\n studio_branch_diff_merge_referenced_reached: \"Se vince il branch, vengono eliminate righe a cui fanno ancora riferimento {{count}} righe scritte da {{target}} nel frattempo, e le chiavi esterne raggiungono quelle righe: {{tables}}. Le altre righe che {{target}} ha cambiato restano come sono.\",\n studio_branch_diff_conflict_abort: \"Nessuna: non unire nulla\",\n studio_branch_diff_conflict_branch: \"Quella del branch ({{branch}})\",\n studio_branch_diff_conflict_target: \"Quella di {{target}}: lasciarla com'è\",\n studio_branch_diff_merge_blocked: \"{{count}} tabelle con righe modificate non possono essere unite:\",\n studio_branch_diff_merge_skip_blocked: \"Unisci le altre tabelle e lascia queste come sono\",\n studio_branch_diff_merge_atomic: \"Tutto viene scritto in un'unica transazione, oppure niente. Se uno dei due database è cambiato da quando è stato letto questo diff, non viene scritto nulla e il diff si ricarica.\",\n studio_branch_diff_merge_confirm: \"Unisci\",\n studio_branch_diff_merged: \"{{count}} righe unite in {{target}}\",\n studio_backups_not_configured_title: \"I backup non sono configurati\",\n studio_backups_not_configured_body: \"Imposta BACKUP_DESTINATION su un percorso locale o su un URL s3:// o gs://, poi crea un backup con `rebase db backup` o un cron pianificato.\",\n studio_cron_empty_title: \"Nessun processo cron registrato\",\n studio_cron_empty_body: \"Aggiungi un file in backend/crons/ che esporti di default una CronJobDefinition.\",\n studio_read_the_docs: \"Leggi la documentazione\",\n\n\n // ─── Studio: storage browser ────────────────────────────────\n studio_storage_root: \"Radice\",\n studio_storage_root_folder: \"radice\",\n studio_storage_loading: \"Caricamento…\",\n studio_storage_denied_title: \"Le regole di archiviazione di questo progetto hanno rifiutato questo elenco\",\n studio_storage_denied_hint: \"Il progetto non ha nulla che non va. Il suo hook storageAuthorize decide chi può leggere quali chiavi, e ha rifiutato questo percorso per l'account connesso: di solito perché un elenco deve indicare un prefisso che la regola riconosce anziché la radice del bucket.\",\n studio_storage_read_failed: \"Non è stato possibile leggere l'archiviazione di questo progetto\",\n studio_storage_empty: \"Questa cartella è vuota\",\n studio_storage_new_folder: \"Nuova cartella\",\n studio_storage_upload_files: \"Carica file\",\n studio_storage_upload: \"Carica\",\n studio_storage_upload_count: \"Carica ({{count}})\",\n studio_storage_uploading: \"Caricamento dei file…\",\n studio_storage_upload_failed: \"Caricamento non riuscito\",\n studio_storage_upload_dialog_title: \"Carica file\",\n studio_storage_upload_to: \"in\",\n studio_storage_drop_or_browse: \"Trascina qui i file o fai clic per sfogliare\",\n studio_storage_any_file_type: \"Sono supportati tutti i tipi di file\",\n studio_storage_selected_files: \"File selezionati ({{count}})\",\n studio_storage_drop_to_upload: \"Rilascia i file per caricarli\",\n studio_storage_files_uploaded: \"{{count}} file caricati correttamente\",\n studio_storage_files_uploaded_one: \"{{count}} file caricato correttamente\",\n studio_storage_cancel: \"Annulla\",\n studio_storage_create: \"Crea\",\n studio_storage_download: \"Scarica\",\n studio_storage_delete: \"Elimina\",\n studio_storage_deselect: \"Deseleziona\",\n studio_storage_refresh: \"Aggiorna\",\n studio_storage_go_up: \"Livello superiore\",\n studio_storage_grid_view: \"Vista griglia\",\n studio_storage_list_view: \"Vista elenco\",\n studio_storage_default_source: \"Predefinito\",\n studio_storage_name: \"Nome\",\n studio_storage_type: \"Tipo\",\n studio_storage_type_unknown: \"Sconosciuto\",\n studio_storage_size: \"Dimensione\",\n studio_storage_extension: \"Estensione\",\n studio_storage_path: \"Percorso\",\n studio_storage_url: \"URL\",\n studio_storage_copy_url: \"Copia URL\",\n studio_storage_url_copied: \"Copiato!\",\n studio_storage_url_temporary: \"Link temporaneo: chiunque lo abbia può aprire questo file per al massimo {{minutes}} min. Scarica e Copia URL ne generano uno nuovo.\",\n studio_storage_url_public: \"Link pubblico: chiunque può aprire questo file e il link non scade.\",\n studio_storage_folder: \"Cartella\",\n studio_storage_folders: \"Cartelle\",\n studio_storage_files_heading: \"File ({{count}})\",\n studio_storage_file_count: \"{{count}} file\",\n studio_storage_file_count_one: \"1 file\",\n studio_storage_folder_count: \"{{count}} cartelle\",\n studio_storage_folder_count_one: \"{{count}} cartella\",\n studio_storage_selected_count: \"{{count}} selezionati\",\n studio_storage_selected_count_one: \"{{count}} selezionato\",\n studio_storage_items_selected: \"{{count}} elementi selezionati\",\n studio_storage_items_selected_one: \"{{count}} elemento selezionato\",\n studio_storage_selected_label: \"Selezionato:\",\n studio_storage_no_preview: \"Anteprima non disponibile\",\n studio_storage_file_info: \"Informazioni sul file\",\n studio_storage_delete_file_title: \"Elimina file\",\n studio_storage_delete_file_question: \"Eliminare il file?\",\n studio_storage_delete_file_body: \"Vuoi davvero eliminare «{{name}}»? Questa azione non può essere annullata.\",\n studio_storage_delete_confirmation_title: \"Conferma eliminazione\",\n studio_storage_delete_question: \"Eliminare?\",\n studio_storage_delete_items_question: \"Eliminare {{count}} elementi?\",\n studio_storage_delete_items_question_one: \"Eliminare {{count}} elemento?\",\n studio_storage_delete_folder_question: \"Eliminare la cartella «{{name}}»?\",\n studio_storage_delete_selection_body: \"Tutti i file e le cartelle selezionati verranno eliminati definitivamente, compreso il loro contenuto. Questa azione non può essere annullata.\",\n studio_storage_delete_folder_body: \"La cartella e tutto il suo contenuto verranno eliminati definitivamente. Questa azione non può essere annullata.\",\n studio_storage_file_deleted: \"«{{name}}» eliminato\",\n studio_storage_folder_deleted: \"Cartella «{{name}}» eliminata\",\n studio_storage_items_deleted: \"{{count}} elementi eliminati\",\n studio_storage_items_deleted_one: \"{{count}} elemento eliminato\",\n studio_storage_delete_incomplete: \"{{count}} elementi sono ancora presenti dopo l'eliminazione: {{names}}\",\n studio_storage_delete_incomplete_one: \"«{{names}}» è ancora presente dopo l'eliminazione\",\n studio_storage_replace_title: \"Sostituisci file\",\n studio_storage_replace_question: \"Sostituire {{count}} file?\",\n studio_storage_replace_question_one: \"Sostituire {{count}} file?\",\n studio_storage_replace_body: \"{{names}} sono già in questa cartella. Il caricamento li sostituisce e i file attuali vanno persi.\",\n studio_storage_replace_body_one: \"«{{names}}» è già in questa cartella. Il caricamento lo sostituisce e il file attuale va perso.\",\n studio_storage_replace: \"Sostituisci\",\n studio_storage_new_folder_title: \"Nuova cartella\",\n studio_storage_folder_name: \"Nome della cartella\",\n studio_storage_folder_name_placeholder: \"Inserisci il nome della cartella\",\n studio_storage_created_in: \"Verrà creata in\",\n studio_storage_folder_name_has_slash: \"Il nome della cartella non può contenere barre\",\n studio_storage_folder_exists: \"La cartella «{{name}}» esiste già\",\n studio_storage_folder_created: \"Cartella «{{name}}» creata\",\n studio_storage_create_folder_failed: \"Impossibile creare la cartella\",\n\n // ─── Studio: Branches pane ───────────────────────────────────\n studio_branches_empty: \"Ancora nessun branch. Creane uno per lavorare su una copia isolata del database.\",\n studio_branches_create_action: \"Crea branch\",\n studio_branches_empty_detail: \"Crea un branch per iniziare\",\n studio_branches_select_prompt: \"Seleziona un branch per vederne i dettagli\",\n studio_branches_list_from: \"da {{parent}} · {{when}}\",\n studio_branches_created_from: \"Creato da\",\n studio_branches_branch_name: \"Nome del branch\",\n studio_branches_source_database: \"Database di origine\",\n studio_branches_created: \"Creato\",\n studio_branches_size: \"Dimensione\",\n studio_branches_usage_title: \"Come usare questo branch\",\n studio_branches_usage_switch: \"Punta questo checkout su di esso. Ogni comando successivo lo usa:\",\n studio_branches_usage_off: \"Torna al database principale con:\",\n studio_branches_usage_isolated: \"Le modifiche fatte su questo branch non toccano il database principale.\",\n studio_branches_connection_details: \"Dettagli di connessione\",\n studio_branches_row_database: \"Database:\",\n studio_branches_row_connect: \"Connettiti con:\",\n studio_branches_row_branched_from: \"Derivato da:\",\n studio_branches_row_created_at: \"Creato il:\",\n studio_branches_create_title: \"Crea nuovo branch\",\n studio_branches_create_body: \"Crea una copia isolata del database. Il branch sarà un clone completo del database di origine in questo momento.\",\n studio_branches_name_placeholder: \"es. feature-auth, staging, preview-pr-42\",\n studio_branches_source_main: \"Predefinito (database principale)\",\n studio_branches_creating: \"Creazione…\",\n studio_branches_delete_title: \"Elimina branch\",\n studio_branches_delete_body: \"Vuoi davvero eliminare definitivamente il branch “{{name}}”? Questa azione non può essere annullata e tutti i dati di questo branch andranno persi.\",\n studio_branches_created_snackbar: \"Branch “{{name}}” creato\",\n studio_branches_deleted_snackbar: \"Branch “{{name}}” eliminato\",\n\n // ─── Insights plugin ─────────────────────────────────────────\n insights_period_last_days: \"Ultimi {{count}} giorni\",\n insights_period_last_days_one: \"Ultimo giorno\",\n insights_previous_period_value: \"{{count}} giorni precedenti: {{value}}\",\n insights_previous_period_value_one: \"Giorno precedente: {{value}}\",\n insights_change_up: \"Aumento: {{change}}\",\n insights_change_down: \"Calo: {{change}}\",\n insights_change_none: \"Nessuna variazione\",\n\n // ─── Icon button names ───────────────────────────────────────\n add_to_favourites: \"Aggiungi ai preferiti\",\n remove_from_favourites: \"Rimuovi dai preferiti\",\n change_value_type: \"Cambia tipo\",\n refresh: \"Aggiorna\",\n create_branch: \"Crea branch\",\n new_tab: \"Nuova scheda\",\n close_tab: \"Chiudi scheda\",\n help: \"Aiuto\",\n copy_table_name: \"Copia nome tabella\",\n copy_column_name: \"Copia nome colonna\",\n generate_sql_templates: \"Genera modelli SQL\",\n select_row: \"Seleziona {{id}}\",\n relation_open_record: \"Apri {{label}}\",\n select: \"Seleziona\",\n open_view: \"Apri vista\"\n};\n"],"mappings":";AAEA,IAAa,KAAyB;CAElC,MAAM;CACN,QAAQ;CACR,aAAa;CACb,gBAAgB;CAChB,uBAAuB;CACvB,kBAAkB;CAClB,SAAS;CACT,OAAO;CACP,QAAQ;CAGR,MAAM;CACN,MAAM;CACN,QAAQ;CACR,oBAAoB;CACpB,aAAa;CACb,gBAAgB;CAGhB,2BAA2B;CAC3B,0BAA0B;CAC1B,mCAAmC;CAGnC,uBAAuB;CACvB,sBAAsB;CACtB,iBAAiB;CACjB,cAAc;CACd,YAAY;CACZ,8BAA8B;CAC9B,yBAAyB;CAGzB,QAAQ;CACR,YAAY;CACZ,mBAAmB;CACnB,QAAQ;CACR,SAAS;CACT,iBAAiB;CACjB,cAAc;CACd,mBAAmB;CACnB,YAAY;CACZ,MAAM;CACN,SAAS;CACT,cAAc;CACd,gBAAgB;CAChB,iBAAiB;CACjB,aAAa;CACb,cAAc;CACd,gBAAgB;CAChB,iBAAiB;CACjB,mBAAmB;CACnB,uBAAuB;CACvB,mCAAmC;CACnC,WAAW;CACX,UAAU;CACV,kBAAkB;CAClB,oBAAoB;CACpB,4BAA4B;CAC5B,cAAc;CACd,kBAAkB;CAClB,mBAAmB;CACnB,sBAAsB;CACtB,sBAAsB;CACtB,qBAAqB;CACrB,oBAAoB;CACpB,mBAAmB;CACnB,mBAAmB;CACnB,kBAAkB;CAClB,yBAAyB;CACzB,wBAAwB;CACxB,mBAAmB;CACnB,mBAAmB;CACnB,KAAK;CACL,QAAQ;CACR,mBAAmB;CACnB,iBAAiB;CACjB,UAAU;CACV,YAAY;CACZ,cAAc;CACd,WAAW;CACX,YAAY;CACZ,aAAa;CACb,iBAAiB;CACjB,IAAI;CACJ,wBAAwB;CACxB,uBAAuB;CACvB,aAAa;CACb,YAAY;CACZ,UAAU;CACV,yBAAyB;CACzB,SAAS;CACT,cAAc;CACd,WAAW;CACX,iBAAiB;CACjB,aAAa;CACb,MAAM;CACN,SAAS;CACT,yBAAyB;CACzB,OAAO;CACP,WAAW;CACX,WAAW;CACX,uBAAuB;CACvB,mCAAmC;CACnC,iBAAiB;CACjB,eAAe;CACf,uBAAuB;CACvB,uBAAuB;CACvB,mCAAmC;CACnC,MAAM;CACN,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,MAAM;CACN,KAAK;CACL,OAAO;CACP,gCAAgC;CAChC,yBAAyB;CACzB,2BAA2B;CAG3B,iBAAiB;CACjB,qBAAqB;CACrB,oBAAoB;CACpB,qBAAqB;CACrB,gCAAgC;CAChC,uBAAuB;CACvB,eAAe;CACf,cAAc;CACd,0BAA0B;CAC1B,gCAAgC;CAEhC,OAAO;CACP,MAAM;CACN,sBAAsB;CACtB,0BAA0B;CAC1B,oBAAoB;CACpB,6BAA6B;CAC7B,sBAAsB;CACtB,iBAAiB;CACjB,2BAA2B;CAC3B,kBAAkB;CAClB,gCAAgC;CAChC,4BAA4B;CAC5B,uBAAuB;CACvB,uBAAuB;CACvB,mBAAmB;CACnB,0BAA0B;CAC1B,kBAAkB;CAClB,uBAAuB;CACvB,sBAAsB;CACtB,2BAA2B;CAC3B,2BAA2B;CAC3B,oBAAoB;CACpB,gBAAgB;CAChB,2BAA2B;CAC3B,kBAAkB;CAClB,cAAc;CACd,sBAAsB;CACtB,0BAA0B;CAC1B,kBAAkB;CAClB,cAAc;CACd,0BAA0B;CAC1B,2BAA2B;CAC3B,oCAAoC;CACpC,0BAA0B;CAC1B,6BAA6B;CAC7B,2BAA2B;CAC3B,6BAA6B;CAC7B,2BAA2B;CAC3B,mCAAmC;CACnC,gCAAgC;CAChC,gBAAgB;CAGhB,iBAAiB;CACjB,wBAAwB;CAGxB,WAAW;CACX,YAAY;CACZ,WAAW;CACX,cAAc;CACd,OAAO;CACP,KAAK;CACL,oBAAoB;CACpB,kBAAkB;CAGlB,WAAW;CACX,cAAc;CACd,mBAAmB;CACnB,UAAU;CACV,QAAQ;CACR,iBAAiB;CACjB,cAAc;CACd,WAAW;CACX,gBAAgB;CAChB,eAAe;CACf,aAAa;CACb,YAAY;CAGZ,OAAO;CACP,oBAAoB;CACpB,yBAAyB;CACzB,yBAAyB;CACzB,sBAAsB;CACtB,gBAAgB;CAChB,qBAAqB;CACrB,sBAAsB;CACtB,sBAAsB;CACtB,uBAAuB;CACvB,gCAAgC;CAChC,+BAA+B;CAC/B,qBAAqB;CACrB,iCAAiC;CACjC,uBAAuB;CACvB,uBAAuB;CACvB,0BAA0B;CAC1B,+BAA+B;CAC/B,oBAAoB;CACpB,mBAAmB;CACnB,2BAA2B;CAC3B,uBAAuB;CACvB,0BAA0B;CAC1B,4BAA4B;CAC5B,0BAA0B;CAC1B,gCAAgC;CAChC,qCAAqC;CACrC,gCAAgC;CAChC,mCAAmC;CACnC,mCAAmC;CACnC,uCAAuC;CACvC,+BAA+B;CAC/B,mCAAmC;CACnC,yBAAyB;CACzB,6BAA6B;CAC7B,qBAAqB;CACrB,cAAc;CACd,wBAAwB;CACxB,eAAe;CACf,iCAAiC;CAGjC,SAAS;CACT,uBAAuB;CACvB,yBAAyB;CACzB,oBAAoB;CACpB,qBAAqB;CACrB,wBAAwB;CACxB,wBAAwB;CACxB,yBAAyB;CACzB,0BAA0B;CAC1B,aAAa;CACb,cAAc;CACd,WAAW;CACX,uBAAuB;CACvB,gBAAgB;CAGhB,cAAc;CACd,kBAAkB;CAClB,wBAAwB;CACxB,yBAAyB;CAGzB,oBAAoB;CAGpB,aAAa;CAGb,iDAAiD;CAGjD,gBAAgB;CAChB,qBAAqB;CACrB,cAAc;CAGd,yBAAyB;CACzB,YAAY;CACZ,YAAY;CACZ,aAAa;CACb,uCAAuC;CAEvC,eAAe;CACf,YAAY;CACZ,aAAa;CACb,qCAAqC;CAErC,oBAAoB;CACpB,yBAAyB;CAEzB,sBAAsB;CACtB,2BAA2B;CAE3B,sBAAsB;CACtB,4BAA4B;CAC5B,yBAAyB;CACzB,qCAAqC;CACrC,iBAAiB;CACjB,gCAAgC;CAChC,kCAAkC;CAClC,mBAAmB;CACnB,mBAAmB;CAEnB,gBAAgB;CAChB,oBAAoB;CACpB,sBAAsB;CACtB,aAAa;CACb,qBAAqB;CACrB,MAAM;CACN,6BAA6B;CAC7B,MAAM;CACN,yBAAyB;CACzB,kBAAkB;CAClB,eAAe;CACf,2BAA2B;CAC3B,aAAa;CACb,2BAA2B;CAC3B,eAAe;CACf,2BAA2B;CAC3B,kBAAkB;CAClB,8BAA8B;CAC9B,mBAAmB;CACnB,oBAAoB;CACpB,qBAAqB;CACrB,yBAAyB;CACzB,yBAAyB;CACzB,wBAAwB;CACxB,cAAc;CACd,sBAAsB;CACtB,qBAAqB;CACrB,uBAAuB;CACvB,0BAA0B;CAC1B,oBAAoB;CACpB,yBAAyB;CACzB,aAAa;CACb,cAAc;CAEd,gBAAgB;CAChB,WAAW;CACX,2BAA2B;CAC3B,wBAAwB;CACxB,0BAA0B;CAC1B,oBAAoB;CACpB,uBAAuB;CAEvB,mBAAmB;CACnB,mBAAmB;CACnB,cAAc;CACd,yBAAyB;CACzB,sBAAsB;CACtB,wBAAwB;CACxB,2BAA2B;CAC3B,2BAA2B;CAC3B,kBAAkB;CAClB,qBAAqB;CAErB,wBAAwB;CACxB,qBAAqB;CACrB,wBAAwB;CACxB,2BAA2B;CAC3B,QAAQ;CAER,yBAAyB;CACzB,mCAAmC;CACnC,sBAAsB;CACtB,yBAAyB;CACzB,uBAAuB;CACvB,iBAAiB;CACjB,yBAAyB;CACzB,0BAA0B;CAC1B,iBAAiB;CACjB,wBAAwB;CACxB,0BAA0B;CAC1B,UAAU;CAEV,kBAAkB;CAClB,uBAAuB;CACvB,mCAAmC;CACnC,mBAAmB;CACnB,0BAA0B;CAC1B,uBAAuB;CACvB,oBAAoB;CACpB,cAAc;CACd,cAAc;CAEd,wBAAwB;CACxB,sBAAsB;CACtB,WAAW;CACX,MAAM;CACN,mBAAmB;CACnB,iBAAiB;CACjB,iBAAiB;CACjB,eAAe;CACf,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;CACjB,gCAAgC;CAChC,qCAAqC;CACrC,+BAA+B;CAC/B,+BAA+B;CAC/B,2CAA2C;CAC3C,KAAK;CACL,mCAAmC;CACnC,oBAAoB;CACpB,KAAK;CACL,IAAI;CACJ,6BAA6B;CAC7B,kBAAkB;CAClB,sBAAsB;CACtB,KAAK;CACL,2BAA2B;CAC3B,oBAAoB;CACpB,6BAA6B;CAC7B,mBAAmB;CACnB,aAAa;CACb,QAAQ;CAER,0BAA0B;CAC1B,4BAA4B;CAC5B,uBAAuB;CACvB,MAAM;CACN,SAAS;CACT,mBAAmB;CACnB,oBAAoB;CACpB,OAAO;CACP,aAAa;CAEb,OAAO;CACP,UAAU;CACV,UAAU;CACV,UAAU;CACV,qBAAqB;CACrB,YAAY;CACZ,OAAO;CACP,IAAI;CACJ,MAAM;CAEN,gBAAgB;CAChB,iBAAiB;CACjB,gBAAgB;CAChB,4BAA4B;CAC5B,UAAU;CACV,eAAe;CACf,iBAAiB;CACjB,uBAAuB;CACvB,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB,oBAAoB;CACpB,mBAAmB;CACnB,OAAO;CACP,aAAa;CACb,gBAAgB;CAChB,kBAAkB;CAClB,QAAQ;CACR,aAAa;CACb,yBAAyB;CACzB,MAAM;CACN,MAAM;CACN,WAAW;CACX,kBAAkB;CAClB,wBAAwB;CACxB,uBAAuB;CACvB,6BAA6B;CAC7B,wBAAwB;CACxB,yBAAyB;CACzB,sBAAsB;CACtB,6BAA6B;CAC7B,oCAAoC;CACpC,mCAAmC;CACnC,8BAA8B;CAC9B,2BAA2B;CAC3B,+BAA+B;CAC/B,6BAA6B;CAC7B,0BAA0B;CAC1B,+BAA+B;CAC/B,8BAA8B;CAC9B,4BAA4B;CAC5B,QAAQ;CACR,aAAa;CACb,oBAAoB;CACpB,KAAK;CACL,MAAM;CACN,qBAAqB;CACrB,kBAAkB;CAClB,gBAAgB;CAChB,UAAU;CACV,2BAA2B;CAC3B,8BAA8B;CAC9B,0BAA0B;CAC1B,QAAQ;CAER,0BAA0B;CAC1B,eAAe;CAGf,gBAAgB;CAChB,qBAAqB;CACrB,sBAAsB;CAEtB,MAAM;CACN,iBAAiB;CACjB,OAAO;CACP,OAAO;CACP,8BAA8B;CAC9B,2BAA2B;CAC3B,2BAA2B;CAC3B,2BAA2B;CAC3B,qBAAqB;CACrB,6BAA6B;CAC7B,YAAY;CACZ,yBAAyB;CACzB,6BAA6B;CAC7B,cAAc;CACd,6BAA6B;CAC7B,4BAA4B;CAC5B,yBAAyB;CACzB,oBAAoB;CACpB,qBAAqB;CACrB,WAAW;CACX,SAAS;CACT,UAAU;CACV,2BAA2B;CAC3B,2BAA2B;CAC3B,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,uBAAuB;CACvB,yBAAyB;CACzB,oBAAoB;CACpB,SAAS;CACT,mBAAmB;CACnB,2BAA2B;CAC3B,6BAA6B;CAC7B,qBAAqB;CACrB,6BAA6B;CAC7B,wBAAwB;CACxB,wBAAwB;CACxB,gCAAgC;CAChC,6BAA6B;CAC7B,0BAA0B;CAC1B,kCAAkC;CAClC,+BAA+B;CAE/B,wBAAwB;CACxB,+BAA+B;CAE/B,kBAAkB;CAClB,mBAAmB;CACnB,kBAAkB;CAClB,SAAS;CACT,UAAU;CACV,UAAU;CACV,iBAAiB;CACjB,kBAAkB;CAClB,cAAc;CACd,kBAAkB;CAClB,kBAAkB;CAClB,sBAAsB;CACtB,oBAAoB;CACpB,+BAA+B;CAC/B,mBAAmB;CACnB,cAAc;CACd,WAAW;CACX,cAAc;CACd,QAAQ;CACR,oBAAoB;CACpB,UAAU;CACV,qBAAqB;CACrB,gBAAgB;CAChB,iBAAiB;CACjB,iBAAiB;CACjB,gBAAgB;CAChB,SAAS;CACT,SAAS;CACT,WAAW;CACX,eAAe;CACf,kBAAkB;;CAGlB,2BAA2B;CAC3B,qBAAqB;CACrB,wBAAwB;CACxB,YAAY;CACZ,2BAA2B;CAC3B,2BAA2B;CAC3B,UAAU;;CAGV,yBAAyB;CACzB,2BAA2B;CAC3B,2BAA2B;CAC3B,qBAAqB;CACrB,2BAA2B;CAC3B,iBAAiB;CACjB,uBAAuB;CACvB,oBAAoB;CACpB,gCAAgC;CAChC,6CAA6C;CAC7C,eAAe;CACf,iBAAiB;;CAGjB,cAAc;CACd,SAAS;CACT,SAAS;CACT,gBAAgB;CAChB,gBAAgB;CAChB,wBAAwB;CACxB,6BAA6B;CAC7B,2BAA2B;CAC3B,6BAA6B;CAC7B,yCAAyC;;CAGzC,6BAA6B;CAC7B,6BAA6B;CAC7B,2BAA2B;CAC3B,0BAA0B;;CAG1B,gBAAgB;CAChB,eAAe;CACf,YAAY;CACZ,mBAAmB;CACnB,kBAAkB;CAClB,eAAe;CACf,cAAc;;CAGd,UAAU;CACV,OAAO;;CAGP,kCAAkC;;CAGlC,6BAA6B;CAC7B,2BAA2B;CAC3B,+BAA+B;CAC/B,0BAA0B;CAC1B,uBAAuB;CACvB,uBAAuB;CACvB,WAAW;CACX,YAAY;;CAGZ,0BAA0B;CAC1B,6BAA6B;CAC7B,wBAAwB;CACxB,kBAAkB;CAClB,yBAAyB;CACzB,mBAAmB;CACnB,qCAAqC;CACrC,iBAAiB;CACjB,UAAU;CACV,8BAA8B;CAC9B,2BAA2B;CAC3B,YAAY;CACZ,gCAAgC;CAChC,OAAO;CACP,2BAA2B;CAC3B,uBAAuB;;CAGvB,aAAa;CACb,YAAY;CACZ,kBAAkB;CAElB,gCAAgC;CAChC,sBAAsB;CACtB,SAAS;CACT,gBAAgB;CAChB,gBAAgB;CAChB,qBAAqB;CAGrB,qBAAqB;CACrB,qBAAqB;CACrB,oBAAoB;CACpB,+CAA+C;CAC/C,2CAA2C;CAC3C,2BAA2B;CAC3B,kCAAkC;CAClC,6BAA6B;CAC7B,wBAAwB;CACxB,0BAA0B;CAC1B,sBAAsB;CACtB,yBAAyB;CACzB,eAAe;CACf,qBAAqB;CACrB,eAAe;CACf,mBAAmB;CACnB,cAAc;CACd,cAAc;CACd,yBAAyB;CACzB,4BAA4B;CAC5B,4BAA4B;CAC5B,mBAAmB;CACnB,6BAA6B;CAC7B,4BAA4B;CAC5B,0BAA0B;CAC1B,8BAA8B;CAC9B,iCAAiC;CACjC,sBAAsB;CACtB,2BAA2B;CAC3B,0BAA0B;CAC1B,sCAAsC;CACtC,qCAAqC;CACrC,+BAA+B;CAC/B,8BAA8B;CAC9B,kCAAkC;CAClC,iCAAiC;CACjC,oCAAoC;CACpC,kCAAkC;CAClC,2CAA2C;CAC3C,+BAA+B;CAC/B,8BAA8B;CAC9B,0BAA0B;CAC1B,gBAAgB;CAChB,mBAAmB;CACnB,uBAAuB;CACvB,sBAAsB;CACtB,qBAAqB;CACrB,iBAAiB;CACjB,uBAAuB;CACvB,8BAA8B;CAC9B,kBAAkB;CAClB,wBAAwB;CACxB,eAAe;CACf,0BAA0B;CAC1B,qBAAqB;CACrB,sBAAsB;CACtB,oBAAoB;CACpB,4BAA4B;CAC5B,wBAAwB;CACxB,kCAAkC;CAClC,8BAA8B;CAC9B,mCAAmC;CACnC,kCAAkC;CAClC,qCAAqC;CACrC,gCAAgC;CAChC,4BAA4B;CAC5B,+BAA+B;CAC/B,2BAA2B;CAC3B,8BAA8B;CAC9B,6BAA6B;CAC7B,iBAAiB;CACjB,uBAAuB;CACvB,mBAAmB;CACnB,mBAAmB;CACnB,sBAAsB;CACtB,uBAAuB;CACvB,wBAAwB;CACxB,8BAA8B;CAC9B,0BAA0B;CAC1B,yBAAyB;CAGzB,+BAA+B;CAC/B,8BAA8B;CAC9B,6BAA6B;CAC7B,wBAAwB;CACxB,+BAA+B;CAC/B,6BAA6B;CAC7B,8BAA8B;CAI9B,8BAA8B;CAC9B,+BAA+B;CAC/B,yBAAyB;CACzB,8BAA8B;CAC9B,qBAAqB;CACrB,wBAAwB;CACxB,eAAe;CACf,oBAAoB;CACpB,cAAc;CACd,6BAA6B;CAC7B,6BAA6B;CAG7B,YAAY;CACZ,QAAQ;CACR,kBAAkB;CAClB,kBAAkB;CAClB,gBAAgB;CAChB,WAAW;CACX,WAAW;CACX,MAAM;CACN,cAAc;CACd,YAAY;CACZ,YAAY;CACZ,2BAA2B;CAC3B,eAAe;CACf,kBAAkB;CAClB,cAAc;CACd,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,gBAAgB;CAChB,gBAAgB;CAChB,eAAe;CAGf,4BAA4B;CAC5B,gCAAgC;CAChC,2BAA2B;CAC3B,+BAA+B;CAC/B,sBAAsB;CACtB,YAAY;CAGZ,wBAAwB;CACxB,mBAAmB;CACnB,2BAA2B;CAC3B,2BAA2B;CAC3B,2BAA2B;CAC3B,iBAAiB;CACjB,gBAAgB;CAChB,0BAA0B;CAC1B,sBAAsB;CACtB,4BAA4B;CAC5B,kBAAkB;CAClB,kBAAkB;CAClB,mBAAmB;CACnB,+BAA+B;CAC/B,wBAAwB;CACxB,yBAAyB;CACzB,4BAA4B;CAC5B,mBAAmB;CACnB,cAAc;CACd,uBAAuB;CACvB,kBAAkB;CAGlB,aAAa;CACb,yBAAyB;CACzB,kBAAkB;CAClB,8BAA8B;CAC9B,kBAAkB;CAClB,8BAA8B;CAC9B,kBAAkB;CAClB,8BAA8B;CAC9B,kBAAkB;CAClB,8BAA8B;CAC9B,oBAAoB;CACpB,gCAAgC;CAChC,sBAAsB;CACtB,kCAAkC;CAClC,cAAc;CACd,0BAA0B;CAC1B,aAAa;CACb,yBAAyB;CACzB,cAAc;CACd,0BAA0B;CAC1B,iBAAiB;CACjB,aAAa;CACb,aAAa;CACb,eAAe;CACf,oBAAoB;CACpB,2BAA2B;CAC3B,oBAAoB;CACpB,2BAA2B;CAC3B,aAAa;CACb,eAAe;CACf,kBAAkB;CAClB,sBAAsB;CACtB,qBAAqB;CACrB,iCAAiC;CAGjC,0BAA0B;CAC1B,mCAAmC;CACnC,iCAAiC;CACjC,iCAAiC;CACjC,+BAA+B;CAC/B,gCAAgC;CAChC,mCAAmC;CACnC,gCAAgC;CAChC,8BAA8B;CAE9B,kBAAkB;CAClB,uBAAuB;CACvB,2BAA2B;CAC3B,mCAAmC;CACnC,mCAAmC;CACnC,oCAAoC;CACpC,sCAAsC;CACtC,8BAA8B;CAC9B,gBAAgB;CAChB,wBAAwB;CACxB,0BAA0B;CAC1B,kCAAkC;CAClC,yBAAyB;CACzB,yBAAyB;CACzB,qCAAqC;CACrC,oCAAoC;CACpC,iCAAiC;CAGjC,4BAA4B;CAC5B,wBAAwB;CACxB,kCAAkC;CAClC,kCAAkC;CAClC,oBAAoB;CACpB,uBAAuB;CACvB,iBAAiB;CACjB,iBAAiB;CACjB,0BAA0B;CAC1B,wBAAwB;CACxB,8BAA8B;CAC9B,uBAAuB;CACvB,uBAAuB;CACvB,oBAAoB;CACpB,uBAAuB;CACvB,kCAAkC;CAClC,6BAA6B;CAC7B,iBAAiB;CACjB,gBAAgB;CAChB,uBAAuB;CACvB,0BAA0B;CAC1B,qBAAqB;CACrB,iBAAiB;CACjB,kBAAkB;CAClB,sBAAsB;CACtB,0BAA0B;CAC1B,yBAAyB;CACzB,yBAAyB;CACzB,qCAAqC;CACrC,gCAAgC;CAChC,mBAAmB;CACnB,gCAAgC;CAChC,qCAAqC;CACrC,0BAA0B;CAC1B,4BAA4B;CAC5B,iCAAiC;CACjC,wBAAwB;CACxB,sCAAsC;CACtC,kCAAkC;CAClC,8BAA8B;CAC9B,kCAAkC;CAClC,iCAAiC;CACjC,6BAA6B;CAC7B,iCAAiC;CACjC,gCAAgC;CAChC,6BAA6B;CAC7B,kCAAkC;CAClC,uBAAuB;CACvB,yCAAyC;CACzC,0BAA0B;CAC1B,0BAA0B;CAC1B,8BAA8B;CAC9B,6BAA6B;CAC7B,8BAA8B;CAC9B,iCAAiC;CACjC,iCAAiC;CACjC,oCAAoC;CACpC,oCAAoC;CACpC,4BAA4B;CAC5B,6BAA6B;CAC7B,qCAAqC;CACrC,mCAAmC;CACnC,8BAA8B;CAC9B,sCAAsC;CACtC,wBAAwB;CACxB,8BAA8B;CAC9B,wBAAwB;CACxB,8BAA8B;CAC9B,sBAAsB;CACtB,+BAA+B;CAG/B,6BAA6B;CAC7B,4BAA4B;CAC5B,2BAA2B;CAC3B,gCAAgC;CAChC,sCAAsC;CACtC,+BAA+B;CAC/B,iCAAiC;CACjC,mCAAmC;CACnC,sBAAsB;CACtB,oBAAoB;CAGpB,sBAAsB;CACtB,uBAAuB;CACvB,yBAAyB;CACzB,qBAAqB;CACrB,2BAA2B;CAC3B,0BAA0B;CAC1B,2BAA2B;CAC3B,sBAAsB;CACtB,2BAA2B;CAC3B,uBAAuB;CAGvB,kBAAkB;CAClB,wBAAwB;CACxB,oBAAoB;CACpB,qBAAqB;CACrB,mBAAmB;CACnB,uBAAuB;CACvB,wBAAwB;CACxB,0BAA0B;CAC1B,qBAAqB;CACrB,wBAAwB;CACxB,6BAA6B;CAC7B,6BAA6B;CAC7B,sBAAsB;CACtB,2BAA2B;CAC3B,6BAA6B;CAC7B,8BAA8B;CAC9B,iBAAiB;CACjB,2BAA2B;CAC3B,8BAA8B;CAC9B,oCAAoC;CACpC,mBAAmB;CACnB,iCAAiC;CACjC,gCAAgC;CAChC,iCAAiC;CACjC,gCAAgC;CAChC,kCAAkC;CAClC,iCAAiC;CACjC,yBAAyB;CACzB,sBAAsB;CACtB,kBAAkB;CAClB,kBAAkB;CAClB,oBAAoB;CAGpB,oBAAoB;CACpB,sBAAsB;CACtB,8BAA8B;CAC9B,sBAAsB;CACtB,oBAAoB;CACpB,wBAAwB;CACxB,+BAA+B;CAC/B,oBAAoB;CACpB,gCAAgC;CAChC,wBAAwB;CACxB,0BAA0B;CAC1B,+BAA+B;CAC/B,2BAA2B;CAC3B,gCAAgC;CAChC,uBAAuB;CACvB,4BAA4B;CAC5B,iCAAiC;CACjC,0BAA0B;CAC1B,+BAA+B;CAC/B,0BAA0B;CAC1B,+BAA+B;CAC/B,0BAA0B;CAC1B,0BAA0B;CAC1B,gCAAgC;CAChC,+BAA+B;CAC/B,gCAAgC;CAChC,+BAA+B;CAC/B,gCAAgC;CAChC,qCAAqC;CACrC,oCAAoC;CACpC,gCAAgC;CAChC,+BAA+B;CAC/B,kCAAkC;CAClC,gCAAgC;CAChC,+BAA+B;CAC/B,kCAAkC;CAClC,4BAA4B;CAC5B,oCAAoC;CACpC,mCAAmC;CACnC,6BAA6B;CAC7B,6BAA6B;CAC7B,+BAA+B;CAC/B,6BAA6B;CAC7B,8BAA8B;CAC9B,2BAA2B;CAG3B,0BAA0B;CAC1B,gCAAgC;CAChC,+BAA+B;CAC/B,2CAA2C;CAC3C,8BAA8B;CAC9B,iCAAiC;CACjC,4BAA4B;CAC5B,8BAA8B;CAC9B,kCAAkC;CAClC,wCAAwC;CACxC,wCAAwC;CACxC,8CAA8C;CAC9C,uCAAuC;CACvC,8BAA8B;CAC9B,oCAAoC;CACpC,6BAA6B;CAC7B,+BAA+B;CAC/B,kCAAkC;CAClC,iCAAiC;CACjC,qBAAqB;CACrB,0BAA0B;CAC1B,iCAAiC;CACjC,uBAAuB;CACvB,4BAA4B;CAC5B,qCAAqC;CACrC,4BAA4B;CAC5B,0CAA0C;CAC1C,+BAA+B;CAC/B,iCAAiC;CACjC,iCAAiC;CACjC,mCAAmC;CACnC,6BAA6B;CAC7B,mCAAmC;CACnC,+BAA+B;CAC/B,iCAAiC;CACjC,kCAAkC;CAClC,4CAA4C;CAC5C,6CAA6C;CAC7C,6CAA6C;CAC7C,sCAAsC;CACtC,kCAAkC;CAClC,oBAAoB;CACpB,oCAAoC;CACpC,gCAAgC;CAChC,yBAAyB;CACzB,gCAAgC;CAChC,2BAA2B;CAC3B,oBAAoB;CACpB,2BAA2B;CAC3B,gCAAgC;CAChC,iCAAiC;CACjC,gCAAgC;CAChC,qCAAqC;CACrC,mCAAmC;CAGnC,4BAA4B;CAC5B,6BAA6B;CAC7B,+BAA+B;CAC/B,kCAAkC;CAClC,iCAAiC;CACjC,sCAAsC;CACtC,qCAAqC;CACrC,uCAAuC;CACvC,sCAAsC;CACtC,iCAAiC;CACjC,gCAAgC;CAChC,2CAA2C;CAC3C,yBAAyB;CACzB,6BAA6B;CAC7B,8BAA8B;CAC9B,6BAA6B;CAC7B,yBAAyB;CACzB,4BAA4B;CAC5B,6BAA6B;CAC7B,8BAA8B;CAC9B,gCAAgC;CAChC,kCAAkC;CAClC,4BAA4B;CAC5B,yBAAyB;CACzB,4BAA4B;CAC5B,2BAA2B;CAC3B,wBAAwB;CACxB,mCAAmC;CACnC,iCAAiC;CACjC,4BAA4B;CAC5B,0BAA0B;CAC1B,qBAAqB;CACrB,uBAAuB;CACvB,gCAAgC;CAChC,0BAA0B;CAC1B,wBAAwB;CACxB,sBAAsB;CACtB,gCAAgC;CAGhC,wCAAwC;CACxC,uCAAuC;CACvC,uCAAuC;CACvC,sCAAsC;CAGtC,gBAAgB;CAChB,uBAAuB;CACvB,4BAA4B;CAC5B,MAAM;CACN,UAAU;CACV,mBAAmB;CAGnB,qBAAqB;CACrB,yBAAyB;CACzB,qBAAqB;CACrB,kBAAkB;CAClB,kBAAkB;CAClB,uBAAuB;CACvB,4BAA4B;CAC5B,4BAA4B;CAC5B,0BAA0B;CAC1B,oBAAoB;CACpB,8BAA8B;CAC9B,sBAAsB;CACtB,uBAAuB;CACvB,sBAAsB;CACtB,qBAAqB;CAGrB,mBAAmB;CACnB,cAAc;CACd,kBAAkB;CAClB,qBAAqB;CACrB,uBAAuB;CACvB,mBAAmB;CACnB,oBAAoB;CACpB,iBAAiB;CACjB,4BAA4B;CAC5B,6BAA6B;CAC7B,wBAAwB;CACxB,4BAA4B;CAC5B,4BAA4B;CAC5B,kBAAkB;CAGlB,0BAA0B;CAG1B,yBAAyB;CACzB,oBAAoB;CACpB,0BAA0B;CAC1B,+BAA+B;CAC/B,+BAA+B;CAC/B,6BAA6B;CAC7B,yBAAyB;CACzB,2BAA2B;CAG3B,yBAAyB;CAGzB,cAAc;CACd,cAAc;CACd,gBAAgB;CAChB,gBAAgB;CAChB,SAAS;CACT,iBAAiB;CACjB,mBAAmB;CAGnB,gBAAgB;CAChB,sBAAsB;CACtB,kBAAkB;CAClB,sBAAsB;CACtB,sBAAsB;CACtB,eAAe;CACf,2BAA2B;CAC3B,oBAAoB;CACpB,iBAAiB;CAMjB,oBAAoB;CACpB,oBAAoB;CACpB,uBAAuB;CACvB,uBAAuB;CACvB,sBAAsB;CACtB,sBAAsB;CACtB,kBAAkB;CAClB,6BAA6B;CAC7B,iBAAiB;CACjB,6BAA6B;CAC7B,gBAAgB;CAChB,4BAA4B;CAC5B,iBAAiB;CACjB,6BAA6B;CAC7B,qBAAqB;CACrB,iCAAiC;CACjC,kBAAkB;CAClB,8BAA8B;CAC9B,+BAA+B;CAC/B,2CAA2C;CAC3C,sBAAsB;CACtB,kCAAkC;CAClC,qBAAqB;CACrB,iCAAiC;CACjC,iBAAiB;CACjB,6BAA6B;CAC7B,kBAAkB;CAClB,8BAA8B;CAC9B,sBAAsB;CACtB,kCAAkC;CAClC,6BAA6B;CAC7B,4BAA4B;CAC5B,4BAA4B;CAC5B,4BAA4B;CAC5B,2BAA2B;CAC3B,gCAAgC;CAChC,8BAA8B;CAC9B,mCAAmC;CACnC,sBAAsB;CACtB,2BAA2B;CAC3B,gCAAgC;CAChC,4BAA4B;CAC5B,0BAA0B;CAC1B,yBAAyB;CACzB,gCAAgC;CAChC,qCAAqC;CACrC,8BAA8B;CAC9B,kCAAkC;CAClC,mCAAmC;CACnC,4BAA4B;CAC5B,2CAA2C;CAC3C,kCAAkC;CAClC,iCAAiC;CACjC,0BAA0B;CAC1B,yBAAyB;CACzB,yBAAyB;CACzB,8BAA8B;CAC9B,+BAA+B;CAC/B,2BAA2B;CAC3B,wBAAwB;CACxB,2BAA2B;CAC3B,wBAAwB;CACxB,yBAAyB;CACzB,wBAAwB;CACxB,qBAAqB;CACrB,wBAAwB;CACxB,uBAAuB;CACvB,wBAAwB;CACxB,qBAAqB;CACrB,sBAAsB;CACtB,sBAAsB;CACtB,sBAAsB;CACtB,oBAAoB;CACpB,sBAAsB;CACtB,oBAAoB;CACpB,wBAAwB;CACxB,sBAAsB;CACtB,+BAA+B;CAC/B,0BAA0B;CAC1B,wBAAwB;CACxB,yBAAyB;CACzB,0BAA0B;CAC1B,8BAA8B;CAC9B,8BAA8B;CAC9B,6BAA6B;CAC7B,6BAA6B;CAC7B,6BAA6B;CAC7B,4BAA4B;CAC5B,wBAAwB;CACxB,6BAA6B;CAC7B,qCAAqC;CACrC,4BAA4B;CAC5B,8BAA8B;CAC9B,+BAA+B;CAC/B,oCAAoC;CACpC,sBAAsB;CACtB,+BAA+B;CAC/B,gCAAgC;CAChC,gCAAgC;CAChC,kCAAkC;CAClC,6BAA6B;CAC7B,gCAAgC;CAChC,8BAA8B;CAC9B,uBAAuB;CACvB,iCAAiC;CACjC,oCAAoC;CACpC,iCAAiC;CACjC,6BAA6B;CAC7B,6BAA6B;CAC7B,8BAA8B;CAC9B,yBAAyB;CACzB,qBAAqB;CACrB,sCAAsC;CACtC,qCAAqC;CACrC,sCAAsC;CACtC,uCAAuC;CACvC,sCAAsC;CACtC,oCAAoC;CACpC,mCAAmC;CACnC,8BAA8B;CAC9B,+BAA+B;CAC/B,2BAA2B;CAC3B,4BAA4B;CAC5B,kCAAkC;CAClC,wBAAwB;CACxB,2BAA2B;CAC3B,8BAA8B;CAC9B,4BAA4B;CAC5B,iCAAiC;CACjC,6BAA6B;CAC7B,kCAAkC;CAClC,2BAA2B;CAC3B,gCAAgC;CAChC,uCAAuC;CACvC,mCAAmC;CACnC,qCAAqC;CACrC,kCAAkC;CAClC,6BAA6B;CAC7B,6BAA6B;CAC7B,6BAA6B;CAC7B,0CAA0C;CAC1C,gCAAgC;CAChC,gCAAgC;CAChC,uBAAuB;CACvB,iCAAiC;CACjC,oCAAoC;CACpC,oCAAoC;CACpC,oCAAoC;CACpC,oCAAoC;CACpC,gCAAgC;CAChC,8BAA8B;CAC9B,6BAA6B;CAC7B,yBAAyB;CACzB,+BAA+B;CAC/B,0BAA0B;CAC1B,+BAA+B;CAC/B,wBAAwB;CACxB,8BAA8B;CAC9B,uCAAuC;CACvC,8BAA8B;CAC9B,uCAAuC;CACvC,4BAA4B;CAC5B,wCAAwC;CACxC,qCAAqC;CACrC,oCAAoC;CACpC,qCAAqC;CACrC,iCAAiC;CACjC,6BAA6B;CAC7B,yCAAyC;CACzC,mCAAmC;CACnC,qCAAqC;CACrC,gCAAgC;CAChC,2BAA2B;CAC3B,4BAA4B;CAC5B,4BAA4B;CAC5B,2BAA2B;CAC3B,iCAAiC;CACjC,iCAAiC;CACjC,kCAAkC;CAClC,+BAA+B;CAC/B,+BAA+B;CAC/B,+BAA+B;CAC/B,4BAA4B;CAC5B,8BAA8B;CAC9B,+BAA+B;CAC/B,0BAA0B;CAC1B,wBAAwB;CACxB,6BAA6B;CAC7B,sCAAsC;CACtC,6CAA6C;CAC7C,4CAA4C;CAC5C,4CAA4C;CAC5C,4CAA4C;CAC5C,+BAA+B;CAC/B,8BAA8B;CAC9B,oCAAoC;CACpC,+BAA+B;CAC/B,qCAAqC;CACrC,gCAAgC;CAChC,sCAAsC;CACtC,iCAAiC;CACjC,uCAAuC;CACvC,kCAAkC;CAClC,wCAAwC;CACxC,mCAAmC;CACnC,yCAAyC;CACzC,qCAAqC;CACrC,2CAA2C;CAC3C,+BAA+B;CAC/B,qCAAqC;CACrC,gCAAgC;CAChC,sCAAsC;CACtC,gCAAgC;CAChC,sCAAsC;CACtC,iCAAiC;CACjC,uCAAuC;CACvC,kCAAkC;CAClC,wCAAwC;CACxC,mCAAmC;CACnC,yCAAyC;CACzC,iCAAiC;CACjC,uCAAuC;CACvC,8BAA8B;CAC9B,oCAAoC;CACpC,+BAA+B;CAC/B,qCAAqC;CACrC,8BAA8B;CAC9B,oCAAoC;CACpC,8BAA8B;CAC9B,oCAAoC;CACpC,+BAA+B;CAC/B,qCAAqC;CACrC,8BAA8B;CAC9B,6BAA6B;CAC7B,6BAA6B;CAC7B,8BAA8B;CAC9B,mCAAmC;CACnC,+BAA+B;CAC/B,iCAAiC;CACjC,0BAA0B;CAC1B,6BAA6B;CAC7B,qCAAqC;CACrC,qCAAqC;CAIrC,iCAAiC;CACjC,gCAAgC;CAChC,kCAAkC;CAClC,iCAAiC;CACjC,8BAA8B;CAC9B,6BAA6B;CAC7B,sBAAsB;CACtB,8BAA8B;CAC9B,kBAAkB;CAClB,0BAA0B;CAC1B,+BAA+B;CAC/B,8BAA8B;CAC9B,4BAA4B;CAI5B,mCAAmC;CACnC,kCAAkC;CAClC,+BAA+B;CAC/B,6BAA6B;CAC7B,gCAAgC;CAChC,0BAA0B;CAC1B,2BAA2B;CAC3B,iCAAiC;CACjC,gCAAgC;CAChC,+BAA+B;CAC/B,2BAA2B;CAC3B,iCAAiC;CACjC,iCAAiC;CACjC,sCAAsC;CACtC,iCAAiC;CACjC,kCAAkC;CAClC,kCAAkC;CAClC,+BAA+B;CAC/B,sCAAsC;CACtC,iCAAiC;CACjC,mCAAmC;CACnC,gCAAgC;CAChC,gCAAgC;CAChC,oCAAoC;CACpC,iCAAiC;CACjC,mCAAmC;CACnC,mCAAmC;CACnC,+BAA+B;CAC/B,iCAAiC;CACjC,gCAAgC;CAChC,gCAAgC;CAChC,iCAAiC;CACjC,8BAA8B;CAC9B,mCAAmC;CACnC,+CAA+C;CAC/C,kCAAkC;CAClC,+BAA+B;CAC/B,kCAAkC;CAClC,+BAA+B;CAC/B,kCAAkC;CAClC,kCAAkC;CAClC,gCAAgC;CAChC,iCAAiC;CACjC,sCAAsC;CACtC,4CAA4C;CAC5C,yCAAyC;CACzC,oCAAoC;CACpC,+CAA+C;CAC/C,6CAA6C;CAC7C,mCAAmC;CACnC,oCAAoC;CACpC,oCAAoC;CACpC,kCAAkC;CAClC,uCAAuC;CACvC,iCAAiC;CACjC,kCAAkC;CAClC,2BAA2B;CAC3B,qCAAqC;CACrC,oCAAoC;CACpC,yBAAyB;CACzB,wBAAwB;CACxB,sBAAsB;CAItB,qBAAqB;CACrB,4BAA4B;CAC5B,wBAAwB;CACxB,6BAA6B;CAC7B,4BAA4B;CAC5B,4BAA4B;CAC5B,sBAAsB;CACtB,2BAA2B;CAC3B,6BAA6B;CAC7B,uBAAuB;CACvB,6BAA6B;CAC7B,0BAA0B;CAC1B,8BAA8B;CAC9B,oCAAoC;CACpC,0BAA0B;CAC1B,+BAA+B;CAC/B,8BAA8B;CAC9B,+BAA+B;CAC/B,+BAA+B;CAC/B,+BAA+B;CAC/B,mCAAmC;CACnC,uBAAuB;CACvB,uBAAuB;CACvB,yBAAyB;CACzB,uBAAuB;CACvB,yBAAyB;CACzB,wBAAwB;CACxB,sBAAsB;CACtB,0BAA0B;CAC1B,0BAA0B;CAC1B,+BAA+B;CAC/B,qBAAqB;CACrB,qBAAqB;CACrB,6BAA6B;CAC7B,qBAAqB;CACrB,0BAA0B;CAC1B,qBAAqB;CACrB,oBAAoB;CACpB,yBAAyB;CACzB,2BAA2B;CAC3B,8BAA8B;CAC9B,2BAA2B;CAC3B,uBAAuB;CACvB,wBAAwB;CACxB,8BAA8B;CAC9B,2BAA2B;CAC3B,+BAA+B;CAC/B,6BAA6B;CAC7B,iCAAiC;CACjC,+BAA+B;CAC/B,mCAAmC;CACnC,+BAA+B;CAC/B,mCAAmC;CACnC,+BAA+B;CAC/B,2BAA2B;CAC3B,0BAA0B;CAC1B,kCAAkC;CAClC,qCAAqC;CACrC,iCAAiC;CACjC,0CAA0C;CAC1C,gCAAgC;CAChC,sCAAsC;CACtC,0CAA0C;CAC1C,uCAAuC;CACvC,sCAAsC;CACtC,mCAAmC;CACnC,6BAA6B;CAC7B,+BAA+B;CAC/B,8BAA8B;CAC9B,kCAAkC;CAClC,kCAAkC;CAClC,sCAAsC;CACtC,8BAA8B;CAC9B,iCAAiC;CACjC,qCAAqC;CACrC,6BAA6B;CAC7B,iCAAiC;CACjC,wBAAwB;CACxB,iCAAiC;CACjC,4BAA4B;CAC5B,wCAAwC;CACxC,2BAA2B;CAC3B,sCAAsC;CACtC,8BAA8B;CAC9B,+BAA+B;CAC/B,qCAAqC;CAGrC,uBAAuB;CACvB,+BAA+B;CAC/B,8BAA8B;CAC9B,+BAA+B;CAC/B,2BAA2B;CAC3B,8BAA8B;CAC9B,6BAA6B;CAC7B,iCAAiC;CACjC,yBAAyB;CACzB,sBAAsB;CACtB,6BAA6B;CAC7B,8BAA8B;CAC9B,2BAA2B;CAC3B,gCAAgC;CAChC,oCAAoC;CACpC,8BAA8B;CAC9B,6BAA6B;CAC7B,mCAAmC;CACnC,gCAAgC;CAChC,8BAA8B;CAC9B,6BAA6B;CAC7B,kCAAkC;CAClC,6BAA6B;CAC7B,0BAA0B;CAC1B,8BAA8B;CAC9B,6BAA6B;CAC7B,kCAAkC;CAClC,kCAAkC;CAGlC,2BAA2B;CAC3B,+BAA+B;CAC/B,gCAAgC;CAChC,oCAAoC;CACpC,oBAAoB;CACpB,sBAAsB;CACtB,sBAAsB;CAGtB,mBAAmB;CACnB,wBAAwB;CACxB,mBAAmB;CACnB,SAAS;CACT,eAAe;CACf,SAAS;CACT,WAAW;CACX,MAAM;CACN,iBAAiB;CACjB,kBAAkB;CAClB,wBAAwB;CACxB,YAAY;CACZ,sBAAsB;CACtB,QAAQ;CACR,WAAW;AACf"}