Specifiche tecniche della scheda di sviluppo Smart TV Box Dual-OS Linux e Android
1. Perché l'architettura Dual-OS è importante nello sviluppo di Smart TV Box
L'architettura tradizionale dello Smart TV Box è costruita attorno a un unico sistema operativo, solitamente Android o Linux. Questo approccio funziona per molte applicazioni di streaming consumer, ma può diventare restrittivo quando i produttori sviluppano prodotti per operatori IPTV, fornitori di telecomunicazioni, integratori di segnaletica digitale e applicazioni multimediali industriali.
Una scheda di sviluppo con doppio sistema operativo fornisce un'alternativa supportando sia Android che Linux su una piattaforma hardware condivisa.
I due sistemi soddisfano requisiti applicativi diversi:
| Requisito dell'applicazione | Ambiente Android | Ambiente Linux |
|---|---|---|
| Streaming multimediale | Forte ecosistema applicativo | Applicazioni multimediali leggere |
| Applicazioni IPTV | App IPTV basate su Android | Middleware IPTV personalizzato |
| Segnaletica digitale | Applicazioni di segnaletica Android | Piattaforme di segnaletica incorporata |
| Gestione remota dei dispositivi | Framework di gestione Android | Servizi di gestione basati su Linux |
| Controllo a livello hardware | HAL Android e servizi di sistema | Accesso diretto al driver e al livello di sistema |
| Sviluppo di applicazioni personalizzate | Java, Kotlin, NDK | C, C++, Python e altri linguaggi supportati |
| Integrazione industriale | Interfacce delle applicazioni Android | Linux incorporato e servizi personalizzati |
Ad esempio, un operatore di telecomunicazioni potrebbe richiedere Android per l'interfaccia IPTV rivolta al cliente mentre utilizza Linux per una gestione di rete specializzata o un ambiente di controllo hardware.
Un produttore di display commerciale potrebbe preferire Android per la compatibilità delle applicazioni ma richiedere Linux per un'applicazione di controllo integrata leggera.
Il vantaggio principale è la flessibilità della piattaforma hardware. Invece di sviluppare due prodotti completamente separati, un produttore OEM può potenzialmente riutilizzare la stessa piattaforma di processore, architettura di memoria, interfacce di connettività e design PCBA.
Tuttavia, il supporto del doppio sistema operativo non significa automaticamente che Android e Linux funzionino contemporaneamente. L'effettiva implementazione dipende dall'architettura di boot.
Dual Boot e funzionamento simultaneo del sistema operativo
Esistono due approcci fondamentalmente diversi.
Architettura dual-boot
La scheda di sviluppo memorizza entrambi i sistemi operativi in partizioni firmware separate. Un bootloader seleziona il sistema operativo durante l'avvio.
I componenti tipici includono:
-
Boot ROM e bootloader secondario
-
U-Boot o un bootloader specifico per il SoC
-
Partizioni di avvio e sistema Android
-
Kernel Linux e file system root
-
Configurazioni dell'albero dei dispositivi
-
Partizioni di ripristino e aggiornamento del firmware
Questa architettura è generalmente più semplice per i prodotti Smart TV Box che richiedono ambienti operativi diversi per scenari di distribuzione diversi.
Architettura simultanea o virtualizzata
Entrambi gli ambienti operativi operano contemporaneamente tramite virtualizzazione, containerizzazione o un'architettura hypervisor specializzata.
Questo approccio introduce requisiti aggiuntivi:
-
Isolamento della memoria e allocazione delle risorse
-
Pianificazione della CPU
-
Supporto per la virtualizzazione dell'hardware
-
Condivisione GPU e risorse multimediali
-
Gestione accessi periferici
-
Comunicazione tra processi
Non tutti i SoC TV Box supportano le funzionalità di virtualizzazione richieste. Anche l'accelerazione GPU, la decodifica video e l'accesso all'hardware potrebbero richiedere una notevole ingegneria aggiuntiva.
Per la maggior parte dei progetti OEM commerciali di Smart TV Box, il dual boot è il punto di partenza più pratico a meno che l'applicazione non richieda esplicitamente il funzionamento simultaneo.
2. Scheda di sviluppo Smart TV Box: specifiche tecniche hardware
Una piattaforma affidabile con doppio sistema operativo Linux e Android inizia dall'architettura hardware. Il processore, la memoria, lo storage, la connettività e la progettazione dell'alimentazione devono supportare entrambi gli ambienti software.
Il seguente quadro delle specifiche rappresenta i principali parametri tecnici che gli acquirenti dovrebbero valutare quando selezionano una scheda di sviluppo Smart TV Box con doppio sistema operativo. Le specifiche effettive dipendono dalla configurazione SoC e PCBA selezionata.
2.1 Processore e architettura SoC
Il SoC determina le prestazioni complessive del sistema, le capacità multimediali, la compatibilità delle periferiche e il supporto software.
Per le applicazioni Smart TV Box, il processore deve essere valutato rispetto a diversi parametri:
-
Architettura della CPU e configurazione core
-
Prestazioni GPU e supporto API grafiche
-
Decodifica e codifica video hardware
-
Larghezza di banda della memoria
-
Disponibilità NPU per applicazioni AI
-
Disponibilità BSP Linux e Android
-
Manutenzione a lungo termine del kernel e dei driver
Un processore ARM quad-core o octa-core può essere sufficiente per le applicazioni IPTV convenzionali. Le applicazioni più impegnative, tra cui l'elaborazione multimediale 4K, il rendering avanzato dell'interfaccia utente, la segnaletica digitale assistita dall'intelligenza artificiale e l'edge computing, richiedono un processore più potente.
Le seguenti famiglie di SoC rappresentano potenziali piattaforme hardware per diversi requisiti di sviluppo:
| Piattaforma SoC | Architettura | Potenziale applicazione |
|---|---|---|
| Serie Amlogic S905X | Piattaforme basate su ARM Cortex-A55, a seconda della generazione | Smart TV Box 4K e IPTV |
| Allwinner H616/H618/H626 | ARM Cortex-A53/A55, a seconda del modello | Terminali multimediali entry-level |
| Rockchip RK3566 | Cortex-A55 quad-core | Applicazioni multimediali e industriali embedded |
| Rockchip RK3588 | 4×Cortex-A76 + 4×Cortex-A55 | Multimedia avanzata e edge computing AI |
Queste piattaforme non dovrebbero essere trattate come intercambiabili. La maturità del BSP Linux, il supporto della versione Android, i driver multimediali e la compatibilità delle periferiche devono essere controllati individualmente.
Ad esempio, un progetto che richiede la riproduzione 4K a 60 Hz dovrebbe verificare le effettive capacità di decodifica hardware del SoC, i formati video supportati, la configurazione dell'uscita HDMI e l'integrazione del decodificatore software.
SZTomato può supportare la valutazione hardware OEM/ODM e la personalizzazione PCBA per allineare la selezione del processore con l'applicazione prevista, anziché scegliere semplicemente un chipset in base alle specifiche della CPU.
2.2 Configurazione della memoria e dell'archiviazione
L'allocazione della memoria è particolarmente importante in uno Smart TV Box con doppio sistema operativo perché Android e Linux hanno requisiti di risorse diversi.
Android in genere richiede più memoria per il framework applicativo, i servizi in background, l'interfaccia utente del sistema e le applicazioni multimediali.
Linux può funzionare con un ingombro ridotto se configurato come sistema embedded dedicato, sebbene i requisiti di memoria aumentino con interfacce grafiche, middleware e servizi multimediali.
Le configurazioni di sviluppo tipiche includono:
| Componente hardware | Opzioni di configurazione | Considerazione ingegneristica |
|---|---|---|
| RAM | 2GB/4GB/8GB | Dipende dalle applicazioni Android e dal carico di lavoro Linux |
| eMMC | 8GB/16GB/32GB/64GB | Deve ospitare entrambi gli ambienti firmware |
| SPI NOR Flash | Opzionale | Bootloader e spazio di ripristino |
| TF/MicroSD | Opzionale | Sviluppo, test e ripristino |
| NAND Flash | Dipendente dalla piattaforma | Richiede controller compatibile e supporto software |
Per uno Smart TV Box commerciale con doppio sistema operativo, 4 GB di RAM e 32 GB di eMMC possono essere un punto di partenza ragionevole per la valutazione, ma non sono requisiti minimi universali.
Il partizionamento dello storage richiede particolare attenzione.
Un tipico layout di archiviazione con doppio sistema operativo può includere:
-
Partizione del bootloader
-
Partizione di configurazione di avvio
-
Partizione di avvio Android
-
Sistema Android e partizioni del fornitore
-
Partizione del kernel Linux
-
File system radice di Linux
-
Partizione dati condivisa
-
Partizioni di ripristino e aggiornamento OTA
Il progetto finale della partizione deve tenere conto del bootloader del SoC, dei requisiti del file system, delle dimensioni del firmware e della futura strategia di aggiornamento.
Un layout della partizione mal progettato può creare problemi durante gli aggiornamenti del firmware, soprattutto quando un pacchetto OTA tenta di sostituire le immagini di sistema preservando i dati dell'utente.
2.3 Connettività e interfacce multimediali
Una scheda di sviluppo Smart TV Box destinata alla distribuzione commerciale dovrebbe fornire le interfacce richieste dalla sua applicazione di destinazione.
Le interfacce hardware comuni includono:
| Interfaccia | Funzione |
|---|---|
| HDMI 2.0/2.1 | Uscita audio e video digitale, a seconda del supporto SoC |
| USB 2.0/USB 3.0 | Connettività periferica e storage esterno |
| GigabitEthernet | Connettività di rete cablata stabile |
| Wi-Fi 5 / Wi-Fi 6 | Accesso alla rete senza fili |
| Bluetooth | Controllo remoto e comunicazione periferica |
| MIPI DSI | Integrazione display incorporata |
| MIPI CSI | Collegamento della fotocamera e del sensore di immagine |
| UART | Debug e comunicazione seriale |
| I2C/SPI | Comunicazione periferiche e sensori |
| GPIO | Controllo hardware e integrazione industriale |
| IR | Telecomando a infrarossi |
Non tutte le schede di sviluppo supportano tutte le interfacce. La disponibilità dipende dal multiplexing dei pin del SoC, dal routing del PCB, dalla selezione dei componenti e dai driver del firmware.
Per i prodotti multimediali, l'implementazione HDMI merita un'attenzione particolare.
Il team di ingegneri dovrebbe verificare:
-
Risoluzione dell'uscita HDMI e frequenza di aggiornamento
-
Gestione EDID
-
Versione HDCP e requisiti di licenza
-
Compatibilità passthrough audio
-
Funzionalità CEC ove richiesto
-
Rilevamento hot-plug
-
Visualizza la compatibilità tra diversi modelli televisivi
L'HDCP è particolarmente importante per le applicazioni di streaming commerciali. Il supporto di un connettore HDMI non stabilisce automaticamente la conformità ai requisiti di riproduzione dei contenuti protetti. L'implementazione, la licenza e la certificazione HDCP richieste devono essere affrontate separatamente.
3. Architettura software Linux e Android: kernel, bootloader e firmware
La compatibilità hardware è solo una parte dello sviluppo di Smart TV Box con doppio sistema operativo. Il lavoro di ingegneria più difficile spesso avviene nel livello di integrazione del software.
Android e Linux possono condividere lo stesso processore e hardware periferico, ma non necessariamente condividono la stessa configurazione del kernel, driver di dispositivo, servizi di sistema o framework multimediali.
3.1 Bootloader e configurazione del kernel
Il bootloader determina il modo in cui la scheda di sviluppo inizializza il proprio hardware e carica il sistema operativo selezionato.
Una tipica sequenza di avvio è:
-
SoC Boot ROM inizializza il processo di avvio iniziale.
-
Il bootloader secondario carica e configura i componenti della piattaforma.
-
Bootloader identifica il sistema operativo selezionato.
-
Viene caricata l'immagine del kernel corrispondente.
-
Le informazioni sull'albero dei dispositivi vengono passate al kernel.
-
Il sistema operativo inizializza i driver e i servizi di sistema.
U-Boot è comunemente utilizzato in Linux incorporato e in vari ambienti di sviluppo ARM. I flussi di avvio Android possono inoltre coinvolgere componenti di avvio specifici del SoC e formati di immagine di avvio Android.
L'implementazione esatta dipende dal fornitore del chipset.
Una considerazione importante è la compatibilità dell'albero dei dispositivi.
L'albero dei dispositivi descrive la configurazione hardware del kernel Linux, tra cui:
-
Regioni della CPU e della memoria
-
Assegnazioni GPIO
-
Controller Ethernet
-
Interfacce Wi-Fi e Bluetooth
-
Controller USB
-
Interfacce HDMI e display
-
Codec audio
-
Circuiti integrati di gestione dell'alimentazione
-
Periferiche I2C e SPI
Una modifica dell'hardware senza la corrispondente struttura dei dispositivi e aggiornamenti dei driver può causare guasti imprevisti.
Ad esempio, la modifica del modulo Wi-Fi potrebbe richiedere modifiche alla struttura del dispositivo, alla configurazione del kernel, al processo di caricamento del firmware e all'integrazione del driver wireless.
Le funzionalità di modifica hardware PCBA di SZTomato possono essere combinate con l'ingegneria del firmware per mantenere la coerenza tra il design della scheda fisica e la configurazione software.
3.2 Kernel Linux e ottimizzazione del sistema Android
Sebbene Android sia basato sul kernel Linux, un'immagine firmware Android e una distribuzione Linux incorporata convenzionale non sono ambienti software equivalenti.
Android include componenti di sistema aggiuntivi come:
-
Runtime Android (ARTE)
-
Quadro Android
-
Livello di astrazione hardware (HAL)
-
Servizi del sistema Android
-
Gestione delle applicazioni
-
Meccanismi di autorizzazione e sicurezza
Le distribuzioni Linux integrate generalmente forniscono uno stack software più configurabile.
A seconda dell'applicazione, gli sviluppatori possono utilizzare Buildroot, Yocto Project, Debian, Ubuntu o un'altra distribuzione Linux compatibile.
Per lo sviluppo di Smart TV Box con doppio sistema operativo, i team di ingegneri dovrebbero occuparsi delle seguenti aree:
Compatibilità del kernel
La versione del kernel selezionata deve essere compatibile con SoC BSP, driver GPU, driver codec multimediale e dispositivi periferici.
Accelerazione GPU
La grafica Android generalmente utilizza lo stack grafico supportato dalla piattaforma, mentre gli ambienti grafici Linux possono richiedere EGL, OpenGL ES, DRM/KMS o altre interfacce compatibili.
La disponibilità dell'accelerazione hardware deve essere verificata per entrambi i sistemi operativi.
Integrazione del framework multimediale
Android utilizza comunemente MediaCodec e servizi multimediali della piattaforma.
Le applicazioni Linux possono utilizzare GStreamer, FFmpeg, V4L2 o framework multimediali specifici del fornitore.
La decodifica video hardware deve essere testata in modo indipendente su ciascun sistema operativo.
Gestione dell'energia
Il ridimensionamento della frequenza della CPU, la sospensione/ripresa, la protezione termica e il consumo energetico richiedono una configurazione coordinata.
Un dispositivo che funziona bene durante i test di laboratorio può diventare instabile durante il funzionamento commerciale continuo se la gestione termica e energetica non è adeguatamente ottimizzata.
3.3 Personalizzazione del firmware e gestione degli aggiornamenti OTA
La manutenzione del firmware è una considerazione importante per i produttori di Smart TV Box che servono operatori IPTV, fornitori di telecomunicazioni e clienti aziendali.
Una piattaforma con doppio sistema operativo richiede una strategia di aggiornamento che protegga entrambi gli ambienti operativi.
Un’architettura OTA pratica dovrebbe considerare:
-
Pacchetti firmware Android e Linux indipendenti
-
Identificazione della versione del firmware
-
Verifica dell'integrità del pacchetto
-
Convalida della firma digitale
-
Procedure di recupero
-
Gestione degli errori di aggiornamento
-
Meccanismi di rollback
-
Distribuzione e monitoraggio remoti
Per i prodotti basati su Android, il meccanismo di aggiornamento può utilizzare aggiornamenti di sistema A/B laddove supportato dalla piattaforma.
Per Linux, il produttore può implementare un meccanismo di aggiornamento basato su immagini con una partizione di sistema inattiva, un rollback controllato dal bootloader o un altro progetto di ripristino adatto.
Il punto importante è che una soluzione OTA deve essere progettata attorno al bootloader e all'architettura delle partizioni effettivi. La semplice aggiunta di un'applicazione di aggiornamento non crea un sistema di manutenzione del firmware affidabile.
SZTomato supporta lo sviluppo di firmware personalizzato, inclusa la configurazione del sistema, firmware UI/UX personalizzato, comportamento di avvio, integrazione delle applicazioni e adattamento a livello di firmware.
Per progetti che coinvolgono piattaforme IPTV di terze parti o sistemi di gestione aziendale, l'integrazione SDK/API può connettere lo Smart TV Box alle infrastrutture esistenti di gestione delle applicazioni e dei dispositivi.
4. Personalizzazione OEM/ODM: dalla scheda di sviluppo allo Smart TV Box commerciale
Una scheda di sviluppo è un punto di partenza, non un prodotto commerciale finito.
Prima della produzione di massa, i produttori devono convertire il progetto di riferimento in una piattaforma hardware e software stabile che soddisfi i requisiti applicativi, ambientali e di implementazione del cliente.
È qui che l'ingegneria OEM/ODM diventa importante.
4.1 Personalizzazione PCBA e adattamento hardware
Una scheda di riferimento standard potrebbe non soddisfare i requisiti di uno specifico operatore IPTV o di un progetto multimediale industriale.
I requisiti di personalizzazione comuni includono:
-
Modifica delle configurazioni RAM o eMMC
-
Aggiunta o rimozione di interfacce USB
-
Modifica delle specifiche Ethernet
-
Integrazione di un modulo Wi-Fi o Bluetooth personalizzato
-
Aggiunta di interfacce UART, GPIO, I2C o SPI
-
Personalizzazione dei circuiti di uscita HDMI
-
Aggiunta di interfacce di comunicazione industriale
-
Modifica delle dimensioni del PCB e delle posizioni dei connettori
-
Ottimizzazione dei circuiti di alimentazione e protezione
Le modifiche PCBA devono essere valutate insieme alle assegnazioni dei pin del SoC, al consumo energetico, all'integrità del segnale, alle caratteristiche termiche e al supporto del firmware.
Ad esempio, aggiungere un'ulteriore interfaccia USB non è semplicemente questione di installare un connettore. Il progetto deve verificare la disponibilità del controller, il routing del PCB, l'erogazione dell'alimentazione, la protezione ESD e il supporto dei driver del sistema operativo.
SZTomato fornisce modifiche hardware a livello PCBA e ingegneria OEM/ODM per supportare questi requisiti specifici del progetto.
4.2 Progettazione termica per il funzionamento commerciale continuo
Uno Smart TV Box utilizzato in un ambiente industriale o commerciale può funzionare per periodi prolungati senza interruzioni.
La decodifica video continua, la comunicazione di rete, l'elaborazione delle applicazioni e i carichi di lavoro AI possono aumentare la temperatura del SoC.
La progettazione termica dovrebbe considerare:
-
Consumo energetico del SoC
-
Distribuzione del rame su PCB
-
Configurazione del diffusore di calore
-
Conduttività del cuscinetto termico
-
Materiale della custodia
-
Flusso d'aria interno
-
Temperatura operativa ambiente
-
Carichi di lavoro CPU e GPU sostenuti
Una soluzione di raffreddamento progettata per l'uso occasionale nell'intrattenimento domestico potrebbe non essere sufficiente per un lettore di segnaletica digitale chiuso o un terminale multimediale industriale.
SZTomato supporta soluzioni di raffreddamento specializzate per uso industriale, comprese strutture termiche personalizzate e adattamenti a livello di armadio.
La validazione termica dovrebbe includere test del carico di lavoro sostenuti piuttosto che basarsi esclusivamente su brevi corse di benchmark.
4.3 UI/UX, SDK e integrazione delle applicazioni
Clienti diversi spesso richiedono esperienze software diverse, anche quando la piattaforma hardware sottostante è identica.
Un operatore IPTV potrebbe aver bisogno di un launcher brandizzato, di funzioni di controllo remoto personalizzate e dell'integrazione con la sua piattaforma di gestione degli abbonati.
Un integratore di segnaletica digitale può richiedere la riproduzione programmata, la distribuzione remota dei contenuti, il monitoraggio dello schermo e il reporting sullo stato del dispositivo.
Un cliente industriale potrebbe aver bisogno di un'interfaccia leggera con accesso diretto a funzioni hardware selezionate.
Questi requisiti possono essere affrontati attraverso:
Firmware UI/UX personalizzato
-
Animazione di avvio con marchio e schermata di avvio
-
Lanciatore personalizzato
-
Preinstallazione dell'applicazione
-
Accesso utente limitato
-
Mappatura personalizzata del telecomando
-
Configurazione della lingua e della regione
Integrazione SDK/API
-
Integrazione del middleware IPTV
-
Gestione dei dispositivi nel cloud
-
Configurazione remota
-
Interfacce di comunicazione dell'applicazione
-
API di controllo hardware
-
Integrazione di servizi di terze parti
Personalizzazione dell'applicazione Linux
-
Sviluppo di servizi embedded
-
Processi in background personalizzati
-
Gestione della rete
-
Comunicazione periferica
-
Avvio e ripristino automatizzati
Lo scopo della personalizzazione OEM/ODM non è semplicemente quello di modificare l'aspetto del prodotto. Si tratta di creare una piattaforma hardware e software che si adatti all'effettivo ambiente di distribuzione del cliente.
4.4 Sviluppo e validazione della produzione
Prima della produzione di massa, uno Smart TV Box con doppio sistema operativo dovrebbe superare un processo di convalida strutturato.
| Categoria di prova | Convalida consigliata |
|---|---|
| Test di avvio | Affidabilità all'avvio di Android e Linux |
| Cambio del sistema operativo | Selezione di avvio e comportamento di riavvio |
| Multimedia | Decodifica 4K, uscita audio e compatibilità HDMI |
| Rete | Stabilità Ethernet, Wi-Fi e Bluetooth |
| Periferica | USB, UART, GPIO e altre interfacce richieste |
| Termico | Test continui del carico di lavoro e della temperatura |
| OTA | Aggiornamento, ripristino e rollback del firmware |
| Sicurezza | Avvio sicuro, integrità del firmware e controllo degli accessi |
| Affidabilità | Funzionamento di lunga durata e test di riavvio ripetuti |
Per i prodotti commerciali, i test dovrebbero utilizzare la build effettiva del firmware, la revisione finale del PCBA, l'enclosure di produzione e la configurazione periferica prevista.
Una dimostrazione riuscita della scheda di sviluppo non garantisce la disponibilità alla produzione. Revisioni hardware, sostituzioni di componenti, modifiche al firmware e tolleranze di produzione possono influire sulle prestazioni finali.
Conclusione: sviluppa uno Smart TV Box con doppio sistema operativo in base ai tuoi reali requisiti applicativi
Offerte di architettura dual-OS Linux e Android Scatola TV intelligente produce una base flessibile per sistemi IPTV, dispositivi multimediali commerciali, lettori di segnaletica digitale e applicazioni embedded specializzate.
Tuttavia, un'implementazione di successo richiede un'ingegneria coordinata tra selezione del SoC, progettazione PCBA, configurazione del bootloader, ottimizzazione del kernel, allocazione della memoria, driver multimediali e manutenzione del firmware.
Per gli acquirenti B2B, la valutazione più importante non è se un fornitore possa fornire una scheda in grado di avviare entrambi i sistemi operativi. Dipende se il fornitore è in grado di fornire una soluzione hardware-software completa e manutenibile per l'implementazione prevista.
SZTomato, fondata nel 2011, si concentra sulla produzione di Smart TV Box e hardware multimediale incorporato, con funzionalità OEM/ODM che coprono:
-
Modifica hardware PCBA e adattamento della piattaforma
-
Personalizzazione del firmware Linux e Android
-
Integrazione SDK/API
-
Sviluppo UI/UX personalizzato
-
Soluzioni specializzate di raffreddamento industriale
-
Test di compatibilità hardware e software
-
Ingegneria della produzione e supporto tecnico a lungo termine
Che tu stia sviluppando un terminale IPTV, un dispositivo di streaming commerciale o una piattaforma multimediale industriale personalizzata, SZTomato può aiutarti a valutare l'architettura hardware e sviluppare una soluzione in linea con i requisiti del tuo progetto.
Contatta SZTomato per discutere del tuo doppio sistema operativo Linux e Android Scatola TV intelligente progetto di sviluppo. Condividi il tuo SoC preferito, la configurazione della memoria, i requisiti del sistema operativo, le interfacce periferiche e le specifiche dell'applicazione con il nostro team di ingegneri per iniziare a valutare una soluzione OEM/ODM.






