mimmi20/browser-detector

View on GitHub
src/Header/SecChUaModel.php

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
<?php
/**
 * This file is part of the browser-detector package.
 *
 * Copyright (c) 2012-2024, Thomas Mueller <mimmi20@live.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

declare(strict_types = 1);

namespace BrowserDetector\Header;

use function in_array;
use function mb_strtolower;
use function trim;

final class SecChUaModel implements HeaderInterface
{
    use HeaderTrait;

    /** @throws void */
    public function hasDeviceCode(): bool
    {
        $value = trim($this->value, '"');
        $code  = mb_strtolower($value);

        return !in_array($code, ['', 'model', ': '], true);
    }

    /** @throws void */
    public function getDeviceCode(): string | null
    {
        $value = trim($this->value, '"');
        $code  = mb_strtolower($value);

        return match ($code) {
            // LG
            'lm-g710' => 'lg=lg lm-g710',
            'lm-g910' => 'lg=lg lm-g910',
            'lm-g900' => 'lg=lg lm-g900',
            'lm-g850' => 'lg=lg lm-g850',
            'lm-q630' => 'lg=lg lm-q630',
            'lg-m700' => 'lg=lg m700',
            'lm-v405' => 'lg=lg lm-v405',
            'lg-h870' => 'lg=lg h870',
            'lg-h850' => 'lg=lg h850',
            'lm-k410' => 'lg=lg lm-k410',
            'lg-m200' => 'lg=lg m200',
            'lm-q617.fgn' => 'lg=lg lm-q617.fgn',
            'lm-k420' => 'lg=lg lm-k420',
            'lm-x210' => 'lg=lg lm-x210',
            // Acer
            'a100' => 'acer=acer a100',
            'a1-734' => 'acer=acer a1-734',
            'a3-a40' => 'acer=acer a3-a40',
            'b1-7a0' => 'acer=acer b1-7a0',
            'b1-860a' => 'acer=acer b1-860a',
            'b3-a32' => 'acer=acer b3-a32',
            'b3-a40' => 'acer=acer b3-a40',
            // AllCall
            'atom' => 'allcall=allcall atom',
            // Amazon
            'kfkawi' => 'amazon=amazon kfkawi',
            'kfgiwi' => 'amazon=amazon kfgiwi',
            'kffowi' => 'amazon=amazon kffowi',
            'kfmuwi' => 'amazon=amazon kfmuwi',
            'kfdowi' => 'amazon=amazon kfdowi',
            'kftrwi' => 'amazon=amazon kftrwi',
            'kftrpwi' => 'amazon=amazon kftrpwi',
            'kfrapwi' => 'amazon=amazon kfrapwi',
            'kfonwi' => 'amazon=amazon kfonwi',
            'kfmawi' => 'amazon=amazon kfmawi',
            'kfsuwi' => 'amazon=amazon kfsuwi',
            'aftmm' => 'amazon=amazon aftmm',
            'aftsss' => 'amazon=amazon aftsss',
            'kftbwi' => 'amazon=amazon kftbwi',
            'kfauwi' => 'amazon=amazon kfauwi',
            'kfsawi' => 'amazon=amazon kfsawi',
            'kfquwi' => 'amazon=amazon kfquwi',
            'aftt' => 'amazon=amazon aftt',
            // Asus
            'p024' => 'asus=asus p024',
            'asus_x00dd' => 'asus=asus x00dd',
            'asus_i005da' => 'asus=asus i005da',
            'asus_i003d' => 'asus=asus i003d',
            'asus_i003dd' => 'asus=asus i003dd',
            'asus_i006d' => 'asus=asus i006d',
            'zc554kl' => 'asus=asus x00id',
            'asus_z008d' => 'asus=asus z008d',
            // Google
            'nexus 7' => 'google=google nexus 7',
            'pixel 3' => 'google=google pixel 3',
            'pixel 3a' => 'google=google pixel 3a',
            'pixel 4' => 'google=google pixel 4',
            'pixel 4 xl' => 'google=google pixel 4 xl',
            'pixel 4a (5g)' => 'google=google pixel 4a 5g',
            'pixel 5' => 'google=google pixel 5',
            'pixel 6' => 'google=google pixel 6',
            'pixel 6a' => 'google=google pixel 6a',
            'pixel 6 pro' => 'google=google pixel 6 pro',
            'pixel 7' => 'google=google pixel 7',
            'pixel 7a' => 'google=google pixel 7a',
            'pixel 7 pro' => 'google=google pixel 7 pro',
            'pixel 8' => 'google=google pixel 8',
            'kukui' => 'google=google kukui',
            'nexus 5' => 'google=google nexus 5',
            'pixel 4a' => 'google=google pixel 4a',
            // OnePlus
            'ac2003' => 'oneplus=oneplus ac2003',
            'in2023' => 'oneplus=oneplus in2023',
            'ne2213' => 'oneplus=oneplus ne2213',
            'le2113' => 'oneplus=oneplus le2113',
            'le2115' => 'oneplus=oneplus le2115',
            'in2013' => 'oneplus=oneplus in2013',
            'hd1903' => 'oneplus=oneplus hd1903',
            'kb2003' => 'oneplus=oneplus kb2003',
            'be2013' => 'oneplus=oneplus be2013',
            'le2123' => 'oneplus=oneplus le2123',
            'le2125' => 'oneplus=oneplus le2125',
            'le2120' => 'oneplus=oneplus le2120',
            'gm1913' => 'oneplus=oneplus gm1913',
            'be2029' => 'oneplus=oneplus be2029',
            'cph2399' => 'oneplus=oneplus cph2399',
            'dn2103' => 'oneplus=oneplus dn2103',
            'eb2103' => 'oneplus=oneplus eb2103',
            'cph2415' => 'oneplus=oneplus cph2415',
            'in2015' => 'oneplus=oneplus in2015',
            'cph2409' => 'oneplus=oneplus cph2409',
            'oneplus a6003' => 'oneplus=oneplus a6003',
            'oneplus a3003' => 'oneplus=oneplus a3003',
            'oneplus a5010' => 'oneplus=oneplus a5010',
            // Oppo
            'cph2065' => 'oppo=oppo cph2065',
            'cph2211' => 'oppo=oppo cph2211',
            'cph2271' => 'oppo=oppo cph2271',
            'cph2339' => 'oppo=oppo cph2339',
            'cph2385' => 'oppo=oppo cph2385',
            'cph2195' => 'oppo=oppo cph2195',
            'cph2251' => 'oppo=oppo cph2251',
            'cph2197' => 'oppo=oppo cph2197',
            'cph2145' => 'oppo=oppo cph2145',
            'cph2135' => 'oppo=oppo cph2135',
            'cph2269' => 'oppo=oppo cph2269',
            'cph2173' => 'oppo=oppo cph2173',
            'cph2179' => 'oppo=oppo cph2179',
            'cph2219' => 'oppo=oppo cph2219',
            'cph2333' => 'oppo=oppo cph2333',
            'cph2305' => 'oppo=oppo cph2305',
            'cph2247' => 'oppo=oppo cph2247',
            'cph2375' => 'oppo=oppo cph2375',
            'cph2307' => 'oppo=oppo cph2307',
            'cph2161' => 'oppo=oppo cph2161',
            'cph2207' => 'oppo=oppo cph2207',
            'cph2091' => 'oppo=oppo cph2091',
            'cph2371' => 'oppo=oppo cph2371',
            'cph1907' => 'oppo=oppo cph1907',
            'cph2185' => 'oppo=oppo cph2185',
            'cph2343' => 'oppo=oppo cph2343',
            'cph2273' => 'oppo=oppo cph2273',
            'cph2127' => 'oppo=oppo cph2127',
            'opd2202' => 'oppo=oppo opd2202',
            'cph2005' => 'oppo=oppo cph2005',
            // Xiaomi
            'redmi note 9 pro' => 'xiaomi=xiaomi redmi note 9 pro',
            'redmi note 8 pro' => 'xiaomi=xiaomi redmi note 8 pro',
            'mi 9 se' => 'xiaomi=xiaomi mi 9 se',
            'm2103k19g' => 'xiaomi=xiaomi m2103k19g',
            'm2103k19c' => 'xiaomi=xiaomi m2103k19c',
            'm2102k1g' => 'xiaomi=xiaomi m2102k1g',
            'm2102k1c' => 'xiaomi=xiaomi m2102k1c',
            'm2102k1ac' => 'xiaomi=xiaomi m2102k1ac',
            'm2101k9ai' => 'xiaomi=xiaomi m2101k9ai',
            'm2101k9ag' => 'xiaomi=xiaomi m2101k9ag',
            'm2101k9g' => 'xiaomi=xiaomi m2101k9g',
            'm2101k9c' => 'xiaomi=xiaomi m2101k9c',
            'm2101k9r' => 'xiaomi=xiaomi m2101k9r',
            'm2101k6g' => 'xiaomi=xiaomi m2101k6g',
            'm2101k6r' => 'xiaomi=xiaomi m2101k6r',
            'm2101k6p' => 'xiaomi=xiaomi m2101k6p',
            'm2011k2g' => 'xiaomi=xiaomi m2011k2g',
            'm2011k2c' => 'xiaomi=xiaomi m2011k2c',
            'm2101k7bny' => 'xiaomi=xiaomi m2101k7bny',
            'm2101k7bg' => 'xiaomi=xiaomi m2101k7bg',
            'm2101k7bi' => 'xiaomi=xiaomi m2101k7bi',
            'm2101k7bl' => 'xiaomi=xiaomi m2101k7bl',
            'm2010j19sy' => 'xiaomi=xiaomi m2010j19sy',
            'm2010j19sg' => 'xiaomi=xiaomi m2010j19sg',
            'm2101k7ag' => 'xiaomi=xiaomi m2101k7ag',
            'm2101k7ai' => 'xiaomi=xiaomi m2101k7ai',
            'm2007j22g' => 'xiaomi=xiaomi m2007j22g',
            'm2012k11ag' => 'xiaomi=xiaomi m2012k11ag',
            'm2102j20si' => 'xiaomi=xiaomi m2102j20si',
            'm2102j20sg' => 'xiaomi=xiaomi m2102j20sg',
            'm1908c3jgg' => 'xiaomi=xiaomi m1908c3jgg',
            '220333qny' => 'xiaomi=xiaomi 220333qny',
            '2201123g' => 'xiaomi=xiaomi 2201123g',
            '2201123c' => 'xiaomi=xiaomi 2201123c',
            '2201117ty' => 'xiaomi=xiaomi 2201117ty',
            '2201117tl' => 'xiaomi=xiaomi 2201117tl',
            '2201117ti' => 'xiaomi=xiaomi 2201117ti',
            '2201117tg' => 'xiaomi=xiaomi 2201117tg',
            '21121119sc' => 'xiaomi=xiaomi 21121119sc',
            '21091116ac' => 'xiaomi=xiaomi 21091116ac',
            '21081111rg' => 'xiaomi=xiaomi 21081111rg',
            '2201116sg' => 'xiaomi=xiaomi 2201116sg',
            '2109119dg' => 'xiaomi=xiaomi 2109119dg',
            '2107113sg' => 'xiaomi=xiaomi 2107113sg',
            '2201117sy' => 'xiaomi=xiaomi 2201117sy',
            '21061119dg' => 'xiaomi=xiaomi 21061119dg',
            '21061119ag' => 'xiaomi=xiaomi 21061119ag',
            'm2003j15sc' => 'xiaomi=xiaomi m2003j15sc',
            '2210132g' => 'xiaomi=xiaomi 2210132g',
            '22081212ug' => 'xiaomi=xiaomi 22081212ug',
            'm2010j19cg' => 'xiaomi=xiaomi m2010j19cg',
            '21051182g' => 'xiaomi=xiaomi 21051182g',
            '22011119uy' => 'xiaomi=xiaomi 22011119uy',
            '220733sg' => 'xiaomi=xiaomi 220733sg',
            'mi note 10 lite' => 'xiaomi=xiaomi mi note 10 lite',
            'mi note 10 pro' => 'xiaomi=xiaomi mi note 10 pro',
            '22101316ug' => 'xiaomi=xiaomi 22101316ug',
            '23028rn4dg' => 'xiaomi=xiaomi 23028rn4dg',
            '23021raa2y' => 'xiaomi=xiaomi 23021raa2y',
            '22126rn91y' => 'xiaomi=xiaomi 22126rn91y',
            '2211133g' => 'xiaomi=xiaomi 2211133g',
            '2112123ag' => 'xiaomi=xiaomi 2112123ag',
            '21091116ug' => 'xiaomi=xiaomi 21091116ug',
            'poco f2 pro' => 'xiaomi=xiaomi pocophone f2 pro',
            'm2002j9g' => 'xiaomi=xiaomi m2002j9g',
            '2209116ag' => 'xiaomi=xiaomi 2209116ag',
            'm2004j19c' => 'xiaomi=xiaomi m2004j19c',
            'm2012k11g' => 'xiaomi=xiaomi m2012k11g',
            'm2007j17g' => 'xiaomi=xiaomi m2007j17g',
            'm2006c3mng' => 'xiaomi=xiaomi m2006c3mng',
            '2201117pg' => 'xiaomi=xiaomi 2201117pg',
            '22071212ag' => 'xiaomi=xiaomi 22071212ag',
            '2201116pg' => 'xiaomi=xiaomi 2201116pg',
            '2203129g' => 'xiaomi=xiaomi 2203129g',
            '21051182c' => 'xiaomi=xiaomi 21051182c',
            '22111317pg' => 'xiaomi=xiaomi 22111317pg',
            'm2103k19pg' => 'xiaomi=xiaomi m2103k19pg',
            'mi 10 pro' => 'xiaomi=xiaomi mi 10 pro 5g',
            '21121210g' => 'xiaomi=xiaomi 21121210g',
            '22101320g' => 'xiaomi=xiaomi 22101320g',
            '220233l2g' => 'xiaomi=xiaomi 220233l2g',
            'm2007j3sg' => 'xiaomi=xiaomi m2007j3sg',
            'mi note 2' => 'xiaomi=xiaomi mi note 2',
            'redmi note 8t' => 'xiaomi=xiaomi redmi note 8t',
            '2405crpfdc' => 'xiaomi=xiaomi 2405crpfdc',
            'redmi note 9s' => 'xiaomi=xiaomi redmi note 9s',
            'mi a2 lite' => 'xiaomi=xiaomi mi a2 lite',
            'redmi 5a' => 'xiaomi=xiaomi redmi 5a',
            'm2007j20cg' => 'xiaomi=xiaomi m2007j20cg',
            'redmi 6' => 'xiaomi=xiaomi redmi 6',
            'mi note 10' => 'xiaomi=xiaomi mi note 10',
            'mi 10' => 'xiaomi=xiaomi mi 10',
            'pocophone f1' => 'xiaomi=xiaomi pocophone f1',
            'redmi 7' => 'xiaomi=xiaomi redmi 7',
            'm2007j3sy' => 'xiaomi=xiaomi m2007j3sy',
            'redmi 8' => 'xiaomi=xiaomi redmi 8',
            'mi 9t pro' => 'xiaomi=xiaomi mi 9t pro',
            'mi 9' => 'xiaomi=xiaomi mi 9',
            'm2006c3lg' => 'xiaomi=xiaomi m2006c3lg',
            // ZTE
            'zte a2121e' => 'zte=zte a2121e',
            'zte blade 10 vita' => 'zte=zte blade 10 vita',
            'zte blade a3 2020' => 'zte=zte blade a3 2020',
            'zte 8045' => 'zte=zte 8045',
            'zte a2322g' => 'zte=zte a2322g',
            'zte a7030' => 'zte=zte a7030',
            'zte a7020' => 'zte=zte a7020',
            'zte blade a5 2020' => 'zte=zte blade a5 2020',
            'zte 8030' => 'zte=zte 8030',
            'zte blade a0620' => 'zte=zte blade a0620',
            // Samsung
            'sm-a405fn' => 'samsung=samsung sm-a405fn',
            'sm-a415f' => 'samsung=samsung sm-a415f',
            'sm-a505fn' => 'samsung=samsung sm-a505fn',
            'sm-a515f' => 'samsung=samsung sm-a515f',
            'sm-g960f' => 'samsung=samsung sm-g960f',
            'sm-g965f' => 'samsung=samsung sm-g965f',
            'sm-s901b' => 'samsung=samsung sm-s901b',
            'sm-s901u' => 'samsung=samsung sm-s901u',
            'sm-s901u1' => 'samsung=samsung sm-s901u1',
            'sm-s918b' => 'samsung=samsung sm-s918b',
            'sm-s908b' => 'samsung=samsung sm-s908b',
            'sm-s908u' => 'samsung=samsung sm-s908u',
            'sm-s908u1' => 'samsung=samsung sm-s908u1',
            'sm-g780g' => 'samsung=samsung sm-g780g',
            'sm-a536b' => 'samsung=samsung sm-a536b',
            'sm-a528b' => 'samsung=samsung sm-a528b',
            'sm-a135f' => 'samsung=samsung sm-a135f',
            'sm-t510' => 'samsung=samsung sm-t510',
            'sm-t970' => 'samsung=samsung sm-t970',
            'sm-t580' => 'samsung=samsung sm-t580',
            'sm-t550' => 'samsung=samsung sm-t550',
            'sm-t813' => 'samsung=samsung sm-t813',
            'sm-a336b' => 'samsung=samsung sm-a336b',
            'sm-a336e' => 'samsung=samsung sm-a336e',
            'sm-a127f' => 'samsung=samsung sm-a127f',
            'sm-g525f' => 'samsung=samsung sm-g525f',
            'sm-a226br' => 'samsung=samsung sm-a226br',
            'sm-a226b' => 'samsung=samsung sm-a226b',
            'sm-a546b' => 'samsung=samsung sm-a546b',
            'sm-t220' => 'samsung=samsung sm-t220',
            'sm-t225' => 'samsung=samsung sm-t225',
            'sm-t225n' => 'samsung=samsung sm-t225n',
            'sm-a326b' => 'samsung=samsung sm-a326b',
            'sm-a326u' => 'samsung=samsung sm-a326u',
            'sm-a725f' => 'samsung=samsung sm-a725f',
            'sm-g990b' => 'samsung=samsung sm-g990b',
            'sm-g990b2' => 'samsung=samsung sm-g990b2',
            'sm-g990e' => 'samsung=samsung sm-g990e',
            'sm-a125f' => 'samsung=samsung sm-a125f',
            'sm-p619' => 'samsung=samsung sm-p619',
            'sm-p613' => 'samsung=samsung sm-p613',
            'sm-a136b' => 'samsung=samsung sm-a136b',
            'sm-g736b' => 'samsung=samsung sm-g736b',
            'sm-f711b' => 'samsung=samsung sm-f711b',
            'sm-f711u' => 'samsung=samsung sm-f711u',
            'sm-a225f' => 'samsung=samsung sm-a225f',
            'sm-a137f' => 'samsung=samsung sm-a137f',
            'sm-a146p' => 'samsung=samsung sm-a146p',
            'sm-a236b' => 'samsung=samsung sm-a236b',
            'sm-a525f' => 'samsung=samsung sm-a525f',
            'sm-f731b' => 'samsung=samsung sm-f731b',
            'sm-f926b' => 'samsung=samsung sm-f926b',
            'sm-s906b' => 'samsung=samsung sm-s906b',
            'sm-s911b' => 'samsung=samsung sm-s911b',
            'sm-s916b' => 'samsung=samsung sm-s916b',
            'sm-x706b' => 'samsung=samsung sm-x706b',
            'sm-x700' => 'samsung=samsung sm-x700',
            'sm-x200' => 'samsung=samsung sm-x200',
            'sm-x205' => 'samsung=samsung sm-x205',
            'sm-t976b' => 'samsung=samsung sm-t976b',
            'sm-t870' => 'samsung=samsung sm-t870',
            'sm-t875' => 'samsung=samsung sm-t875',
            'sm-t575' => 'samsung=samsung sm-t575',
            'sm-m325fv' => 'samsung=samsung sm-m325fv',
            'sm-m325f' => 'samsung=samsung sm-m325f',
            'sm-m236b' => 'samsung=samsung sm-m236b',
            'sm-g985f' => 'samsung=samsung sm-g985f',
            'sm-g770f' => 'samsung=samsung sm-g770f',
            'sm-f721b' => 'samsung=samsung sm-f721b',
            'sm-a526b' => 'samsung=samsung sm-a526b',
            'sm-a526u' => 'samsung=samsung sm-a526u',
            'sm-a235f' => 'samsung=samsung sm-a235f',
            'sm-a047f' => 'samsung=samsung sm-a047f',
            'sm-a325f' => 'samsung=samsung sm-a325f',
            'sm-m536b' => 'samsung=samsung sm-m536b',
            'sm-m526br' => 'samsung=samsung sm-m526br',
            'sm-m127f' => 'samsung=samsung sm-m127f',
            'sm-f936b' => 'samsung=samsung sm-f936b',
            'sm-a145r' => 'samsung=samsung sm-a145r',
            'sm-a145p' => 'samsung=samsung sm-a145p',
            'sm-a045f' => 'samsung=samsung sm-a045f',
            'sm-a037g' => 'samsung=samsung sm-a037g',
            'sm-a037f' => 'samsung=samsung sm-a037f',
            'sm-a426b' => 'samsung=samsung sm-a426b',
            'sm-a042f' => 'samsung=samsung sm-a042f',
            'sm-a025g' => 'samsung=samsung sm-a025g',
            'sm-a025f' => 'samsung=samsung sm-a025f',
            'sm-m135f' => 'samsung=samsung sm-m135f',
            'sm-a035f' => 'samsung=samsung sm-a035f',
            'sm-a035m' => 'samsung=samsung sm-a035m',
            'sm-a035g' => 'samsung=samsung sm-a035g',
            'sm-m225fv' => 'samsung=samsung sm-m225fv',
            'sm-a022g' => 'samsung=samsung sm-a022g',
            'sm-a022f' => 'samsung=samsung sm-a022f',
            'sm-m336b' => 'samsung=samsung sm-m336b',
            'sm-m336bu' => 'samsung=samsung sm-m336bu',
            'sm-m115f' => 'samsung=samsung sm-m115f',
            'sm-t595' => 'samsung=samsung sm-t595',
            'sm-t830' => 'samsung=samsung sm-t830',
            'sm-t835' => 'samsung=samsung sm-t835',
            'sm-t733' => 'samsung=samsung sm-t733',
            'sm-t736b' => 'samsung=samsung sm-t736b',
            'sm-x900' => 'samsung=samsung sm-x900',
            'sm-x906b' => 'samsung=samsung sm-x906b',
            'sm-g975f' => 'samsung=samsung sm-g975f',
            'sm-a217f' => 'samsung=samsung sm-a217f',
            'sm-g988b' => 'samsung=samsung sm-g988b',
            'sm-a105fn' => 'samsung=samsung sm-a105fn',
            'sm-g920f' => 'samsung=samsung sm-g920f',
            'sm-a750fn' => 'samsung=samsung sm-a750fn',
            'sm-n960f' => 'samsung=samsung sm-n960f',
            'sm-g781b' => 'samsung=samsung sm-g781b',
            'sm-g955f' => 'samsung=samsung sm-g955f',
            'sm-a715f' => 'samsung=samsung sm-a715f',
            'sm-p610' => 'samsung=samsung sm-p610',
            'sm-g998b' => 'samsung=samsung sm-g998b',
            'sm-g973u1' => 'samsung=samsung sm-g973u1',
            'sm-j415fn' => 'samsung=samsung sm-j415fn',
            'sm-t585' => 'samsung=samsung sm-t585',
            'sm-t725' => 'samsung=samsung sm-t725',
            'sm-a202f' => 'samsung=samsung sm-a202f',
            'sm-a320fl' => 'samsung=samsung sm-a320fl',
            'sm-t590' => 'samsung=samsung sm-t590',
            'sm-t720' => 'samsung=samsung sm-t720',
            'sm-m315f' => 'samsung=samsung sm-m315f',
            'sm-g973f' => 'samsung=samsung sm-g973f',
            'sm-t719' => 'samsung=samsung sm-t719',
            'sm-g980f' => 'samsung=samsung sm-g980f',
            'sm-t860' => 'samsung=samsung sm-t860',
            'sm-a600fn' => 'samsung=samsung sm-a600fn',
            'sm-a346b' => 'samsung=samsung sm-a346b',
            'sm-a520f' => 'samsung=samsung sm-a520f',
            'sm-g935f' => 'samsung=samsung sm-g935f',
            'sm-g991b' => 'samsung=samsung sm-g991b',
            'sm-g981b' => 'samsung=samsung sm-g981b',
            'scg22' => 'samsung=samsung scg22',
            'sm-g900f' => 'samsung=samsung sm-g900f',
            'sm-a605fn' => 'samsung=samsung sm-a605fn',
            'sm-t805' => 'samsung=samsung sm-t805',
            'sm-s921b' => 'samsung=samsung sm-s921b',
            'sm-g781v' => 'samsung=samsung sm-g781v',
            'sm-t500' => 'samsung=samsung sm-t500',
            'sm-n770f' => 'samsung=samsung sm-n770f',
            'sm-t865' => 'samsung=samsung sm-t865',
            'sm-a920f' => 'samsung=samsung sm-a920f',
            'sm-s928b' => 'samsung=samsung sm-s928b',
            'sm-g970f' => 'samsung=samsung sm-g970f',
            'sm-j600fn' => 'samsung=samsung sm-j600fn',
            'sm-n950f' => 'samsung=samsung sm-n950f',
            'sm-g780f' => 'samsung=samsung sm-g780f',
            'sm-g950f' => 'samsung=samsung sm-g950f',
            'sm-n986b' => 'samsung=samsung sm-n986b',
            'sm-p600' => 'samsung=samsung sm-p600',
            'sm-j330f' => 'samsung=samsung sm-j330f',
            'sm-a310f' => 'samsung=samsung sm-a310f',
            'sm-a315f' => 'samsung=samsung sm-a315f',
            'sm-g930f' => 'samsung=samsung sm-g930f',
            'sm-f7110' => 'samsung=samsung sm-f7110',
            'sm-n9005' => 'samsung=samsung sm-n9005',
            'sm-j510fn' => 'samsung=samsung sm-j510fn',
            'sm-g903f' => 'samsung=samsung sm-g903f',
            'sm-a315g' => 'samsung=samsung sm-a315g',
            'sm-n975f' => 'samsung=samsung sm-n975f',
            'sm-a805f' => 'samsung=samsung sm-a805f',
            'sm-t535' => 'samsung=samsung sm-t535',
            'sm-t555' => 'samsung=samsung sm-t555',
            'sm-g996b' => 'samsung=samsung sm-g996b',
            'sm-a510f' => 'samsung=samsung sm-a510f',
            'sm-j530f' => 'samsung=samsung sm-j530f',
            'sm-a705fn' => 'samsung=samsung sm-a705fn',
            'sm-n980f' => 'samsung=samsung sm-n980f',
            'sm-n970f' => 'samsung=samsung sm-n970f',
            'sm-g986b' => 'samsung=samsung sm-g986b',
            'sm-g928f' => 'samsung=samsung sm-g928f',
            'sm-a107f' => 'samsung=samsung sm-a107f',
            'sm-j730f' => 'samsung=samsung sm-j730f',
            'sm-t515' => 'samsung=samsung sm-t515',
            'sm-g998n' => 'samsung=samsung sm-g998n',
            'sm-g925f' => 'samsung=samsung sm-g925f',
            'sm-j610fn' => 'samsung=samsung sm-j610fn',
            'sm-p615' => 'samsung=samsung sm-p615',
            'sm-t819' => 'samsung=samsung sm-t819',
            'sm-m215f' => 'samsung=samsung sm-m215f',
            'gt-i9515' => 'samsung=samsung gt-i9515',
            'sm-g398fn' => 'samsung=samsung sm-g398fn',
            'sm-t815' => 'samsung=samsung sm-t815',
            'sm-a207f' => 'samsung=samsung sm-a207f',
            // Huawei
            'mar-lx1b' => 'huawei=huawei mar-lx1b',
            'lya-l09' => 'huawei=huawei lya-l09',
            'vog-l29' => 'huawei=huawei vog-l29',
            'nen-lx1' => 'huawei=huawei nen-lx1',
            'ppa-lx1' => 'huawei=huawei ppa-lx1',
            'jad-lx9' => 'huawei=huawei jad-lx9',
            'rea-nx9' => 'huawei=huawei rea-nx9',
            'ntn-lx1' => 'huawei=huawei ntn-lx1',
            'lge-nx9' => 'huawei=huawei lge-nx9',
            'dby-w09' => 'huawei=huawei dby-w09',
            'nam-lx9' => 'huawei=huawei nam-lx9',
            'stk-lx1' => 'huawei=huawei stk-lx1',
            'ppa-lx2' => 'huawei=huawei ppa-lx2',
            'agr-w09' => 'huawei=huawei agr-w09',
            'ags3k-w09' => 'huawei=huawei ags3k-w09',
            'nth-nx9' => 'huawei=huawei nth-nx9',
            'noh-an01' => 'huawei=huawei noh-an01',
            'hlk-l41' => 'huawei=huawei hlk-l41',
            'bah3-w59' => 'huawei=huawei bah3-w59',
            'bah3-w09' => 'huawei=huawei bah3-w09',
            'bah3-l09' => 'huawei=huawei bah3-l09',
            'hry-lx1t' => 'huawei=huawei hry-lx1t',
            'hry-lx1' => 'huawei=huawei hry-lx1',
            'jsn-l21' => 'huawei=huawei jsn-l21',
            'jkm-lx2' => 'huawei=huawei jkm-lx2',
            'stk-l21' => 'huawei=huawei stk-l21',
            'sne-lx1' => 'huawei=huawei sne-lx1',
            'ine-lx1' => 'huawei=huawei ine-lx1',
            'ine-lx1r' => 'huawei=huawei ine-lx1r',
            'fne-nx9' => 'huawei=huawei fne-nx9',
            'pgt-n19' => 'huawei=huawei pgt-n19',
            'yal-l41' => 'huawei=huawei yal-l41',
            'rvl-al09' => 'huawei=huawei rvl-al09',
            'ags2-w09' => 'huawei=huawei ags2-w09',
            'els-nx9' => 'huawei=huawei els-nx9',
            'ane-lx1' => 'huawei=huawei ane-lx1',
            'jat-l41' => 'huawei=huawei jat-l41',
            'jny-lx1' => 'huawei=huawei jny-lx1',
            'evr-l29' => 'huawei=huawei evr-l29',
            'bah-l09' => 'huawei=huawei bah-l09',
            'art-l29' => 'huawei=huawei art-l29',
            'bah2-w19' => 'huawei=huawei bah2-w19',
            'ags2-l09' => 'huawei=huawei ags2-l09',
            'yal-l21' => 'huawei=huawei yal-l21',
            'rne-l21' => 'huawei=huawei rne-l21',
            'pot-lx1' => 'huawei=huawei pot-lx1',
            'sht-al09' => 'huawei=huawei sht-al09',
            'bah-w09' => 'huawei=huawei bah-w09',
            'ele-l29' => 'huawei=huawei ele-l29',
            'fig-lx1' => 'huawei=huawei fig-lx1',
            'mar-lx1a' => 'huawei=huawei mar-lx1a',
            'bla-l09' => 'huawei=huawei bla-l09',
            'cmr-al09' => 'huawei=huawei cmr-al09',
            'eml-l29' => 'huawei=huawei eml-l29',
            'mrd-lx1' => 'huawei=huawei mrd-lx1',
            'clt-l29' => 'huawei=huawei clt-l29',
            'huawei scl-l21' => 'huawei=huawei scl-l21',
            'lya-l29' => 'huawei=huawei lya-l29',
            'amn-lx9' => 'huawei=huawei amn-lx9',
            'pra-lx1' => 'huawei=huawei pra-lx1',
            'atu-l21' => 'huawei=huawei atu-l21',
            'was-lx1a' => 'huawei=huawei was-lx1a',
            'ags-w09' => 'huawei=huawei ags-w09',
            'bnd-l21' => 'huawei=huawei bnd-l21',
            'huawei can-l11' => 'huawei=huawei can-l11',
            'cor-l29' => 'huawei=huawei cor-l29',
            'vtr-l09' => 'huawei=huawei vtr-l09',
            'bkl-l09' => 'huawei=huawei bkl-l09',
            'aum-l29' => 'huawei=huawei aum-l29',
            'pot-lx1t' => 'huawei=huawei pot-lx1t',
            'pot-lx1a' => 'huawei=huawei pot-lx1a',
            'eml-l09' => 'huawei=huawei eml-l09',
            'cmr-w09' => 'huawei=huawei cmr-w09',
            'bla-l29' => 'huawei=huawei bla-l29',
            'evr-n29' => 'huawei=huawei evr-n29',
            'stf-l09' => 'huawei=huawei stf-l09',
            'hma-l29' => 'huawei=huawei hma-l29',
            'dub-lx1' => 'huawei=huawei dub-lx1',
            'huawei m2-a01w' => 'huawei=huawei m2-a01w',
            'dig-l21hn' => 'huawei=huawei dig-l21hn',
            'huawei vns-l31' => 'huawei=huawei vns-l31',
            // Lenovo
            'lenovo tb-x304f' => 'lenovo=lenovo tb-x304f',
            'lenovo yt-j706f' => 'lenovo=lenovo yt-j706f',
            'x1030x' => 'lenovo=lenovo x1030x',
            'lenovo tb-x306x' => 'lenovo=lenovo tb-x306x',
            'lenovo tb-x306xa' => 'lenovo=lenovo tb-x306xa',
            'lenovo tb-j616f' => 'lenovo=lenovo tb-j616f',
            'lenovo tb-j616x' => 'lenovo=lenovo tb-j616x',
            'lenovo tb-x606f' => 'lenovo=lenovo tb-x606f',
            'lenovo tb-8705f' => 'lenovo=lenovo tb-8705f',
            'lenovo tb-8505x' => 'lenovo=lenovo tb-8505x',
            'lenovo tb-x605f' => 'lenovo=lenovo tb-x605f',
            'lenovo tb-8504x' => 'lenovo=lenovo tb-8504x',
            'lenovo yt3-x50f' => 'lenovo=lenovo yt3-x50f',
            'lenovo tb-x705f' => 'lenovo=lenovo tb-x705f',
            'lenovo tb-8505fs' => 'lenovo=lenovo tb-8505fs',
            'lenovo yt-x705f' => 'lenovo=lenovo yt-x705f',
            // Nokia
            'nokia g50' => 'nokia=nokia g50',
            'nokia g20' => 'nokia=nokia g20',
            'nokia x10' => 'nokia=nokia x10',
            'nokia x20' => 'nokia=nokia x20',
            'nokia g22' => 'nokia=nokia g22',
            'nokia c12' => 'nokia=nokia c12',
            'nokia 2.3' => 'nokia=nokia 2.3',
            'nokia 5.4' => 'nokia=nokia 5.4',
            'nokia 8.3 5g' => 'nokia=nokia 8.3 5g',
            'nokia g11' => 'nokia=nokia g11',
            'nokia 8.1' => 'nokia=nokia 8.1',
            'nokia 5.1' => 'nokia=nokia 5.1',
            'nokia 7.1' => 'nokia=nokia 7.1',
            'nokia 7.2' => 'nokia=nokia 7.2',
            'nokia 4.2' => 'nokia=nokia 4.2',
            'nokia 6.1' => 'nokia=nokia 6.1',
            'nokia 6.2' => 'nokia=nokia 6.2',
            // Microsoft
            'surface duo' => 'microsoft=microsoft surface duo',
            'xbox' => 'microsoft=microsoft xbox one',
            // realme
            'rmx3085' => 'realme=realme rmx3085',
            'rmx3231' => 'realme=realme rmx3231',
            'rmx3393' => 'realme=realme rmx3393',
            'rmx3370' => 'realme=realme rmx3370',
            'rmx3241' => 'realme=realme rmx3241',
            'rmx3501' => 'realme=realme rmx3501',
            'rmx3151' => 'realme=realme rmx3151',
            'rmx3263' => 'realme=realme rmx3263',
            'rmx3201' => 'realme=realme rmx3201',
            'rmx2202' => 'realme=realme rmx2202',
            'rmx2155' => 'realme=realme rmx2155',
            'rmx3081' => 'realme=realme rmx3081',
            'rmx2193' => 'realme=realme rmx2193',
            'rmx3311' => 'realme=realme rmx3311',
            'rmx3521' => 'realme=realme rmx3521',
            'rmx3269' => 'realme=realme rmx3269',
            'rmx3363' => 'realme=realme rmx3363',
            'rmx3511' => 'realme=realme rmx3511',
            'rmx3301' => 'realme=realme rmx3301',
            'rmx3242' => 'realme=realme rmx3242',
            'rmx3563' => 'realme=realme rmx3563',
            'rmx3623' => 'realme=realme rmx3623',
            'rmx1931' => 'realme=realme rmx1931',
            // Motorola
            'moto g200 5g' => 'motorola=motorola moto g200 5g',
            'motorola razr 5g' => 'motorola=motorola razr 5g',
            'moto g42' => 'motorola=motorola moto g42',
            'moto g(60)' => 'motorola=motorola moto g60',
            'moto g(50)' => 'motorola=motorola moto g50',
            'moto g(30)' => 'motorola=motorola moto g30',
            'moto g pro' => 'motorola=motorola moto g pro',
            'moto e32(s)' => 'motorola=motorola moto e32s',
            'moto e30' => 'motorola=motorola moto e30',
            'moto e20' => 'motorola=motorola moto e20',
            'moto e40' => 'motorola=motorola moto e40',
            'moto g(8) plus' => 'motorola=motorola moto g8 plus',
            'motorola one macro' => 'motorola=motorola one macro',
            'motorola defy' => 'motorola=motorola defy 2021',
            'moto g 5g' => 'motorola=motorola moto g 5g',
            'motorola edge 20' => 'motorola=motorola edge 20 2021',
            'motorola edge 20 lite' => 'motorola=motorola edge 20 lite',
            'motorola edge 20 pro' => 'motorola=motorola edge 20 pro',
            'motorola edge 30 neo' => 'motorola=motorola edge 30 neo',
            'motorola edge 30' => 'motorola=motorola edge 30',
            'motorola edge 30 ultra' => 'motorola=motorola edge 30 ultra',
            'moto g(20)' => 'motorola=motorola moto g20',
            'motorola one' => 'motorola=motorola one',
            'motorola one vision' => 'motorola=motorola one vision',
            'moto g(8) power' => 'motorola=motorola moto g8 power',
            'moto g (4)' => 'motorola=motorola moto g4',
            'moto g(6)' => 'motorola=motorola moto g6',
            'moto g(6) play' => 'motorola=motorola moto g6 play',
            'moto g(9) plus' => 'motorola=motorola moto g9 plus',
            'moto g(7) play' => 'motorola=motorola moto g7 play',
            'moto g(9) play' => 'motorola=motorola moto g9 play',
            'moto g (5s)' => 'motorola=motorola xt1793',
            'moto g (5)' => 'motorola=motorola moto g5',
            // Sony
            'xq-cc54' => 'sony=sony xq-cc54',
            'xq-bq52' => 'sony=sony xq-bq52',
            'xq-be52' => 'sony=sony xq-be52',
            'h8266' => 'sony=sony h8266',
            'xq-bc52' => 'sony=sony xq-bc52',
            'xq-au52' => 'sony=sony xq-au52',
            'i4312' => 'sony=sony i4312',
            'f5321' => 'sony=sony f5321',
            'j9210' => 'sony=sony j9210',
            'h3113' => 'sony=sony h3113',
            'f3311' => 'sony=sony f3311',
            'g8341' => 'sony=sony g8341',
            'xq-at51' => 'sony=sony xq-at51',
            'xq-as52' => 'sony=sony xq-as52',
            'f5121' => 'sony=sony f5121',
            'e5823' => 'sony=sony e5823',
            // Vivo
            'v2109' => 'vivo=vivo v2109',
            'vivo 1716' => 'vivo=vivo 1716',
            'vivo 1920' => 'vivo=vivo 1920',
            // Fairphone
            'fp4' => 'fairphone=fairphone fp4',
            'fp3' => 'fairphone=fairphone fp3',
            // Oukitel
            'wp16' => 'oukitel=oukitel wp16',
            'wp18' => 'oukitel=oukitel wp18',
            'c17 pro' => 'oukitel=oukitel c17 pro',
            'c21 pro' => 'oukitel=oukitel c21 pro',
            // Ulefone
            'note 6p' => 'ulefone=ulefone note 6p',
            'armor 11t 5g' => 'ulefone=ulefone armor 11t 5g',
            'armor x5' => 'ulefone=ulefone armor x5',
            'armor_6e' => 'ulefone=ulefone armor 6e',
            // Doogee
            'n40pro' => 'doogee=doogee n40 pro',
            's88pro' => 'doogee=doogee s88 pro',
            's59pro' => 'doogee=doogee s59 pro',
            's97pro' => 'doogee=doogee s97 pro',
            'x30' => 'doogee=doogee x30',
            's96pro' => 'doogee=doogee s96 pro',
            'x93' => 'doogee=doogee x93',
            // shiftphones
            'shift6mq' => 'shift-phones=shift-phones shift6mq',
            // Cubot/Hafury
            'gt20' => 'cubot=cubot gt20',
            'cubot king kong' => 'cubot=cubot king kong',
            // Aoyodkg
            'aoyodkg_a38' => 'aoyodkg=aoyodkg a38',
            // gigaset
            'e940-2795-00' => 'gigaset=gigaset e940-2795-00',
            'e940-2796-00' => 'gigaset=gigaset e940-2796-00',
            'gs185' => 'gigaset=gigaset gs185',
            'gx290' => 'gigaset=gigaset gx290',
            // wiko
            'w-v750bn-eea' => 'wiko=wiko w-v750bn-eea',
            'w-v680-eea' => 'wiko=wiko w-v680-eea',
            'w-v730-eea' => 'wiko=wiko w-v730-eea',
            'w-v720-eea' => 'wiko=wiko w-v720-eea',
            // razer
            'phone 2' => 'razer=razer phone 2',
            // Alcatel
            '5024d_eea' => 'alcatel=alcatel 5024d_eea',
            '6025d_eea' => 'alcatel=alcatel 6025d_eea',
            // HTC
            'htc desire 19+' => 'htc=htc desire 19 plus',
            'htc u11' => 'htc=htc u11',
            'htc 10' => 'htc=htc 10',
            // teclast
            'p30s_eea' => 'teclast=teclast p30s_eea',
            // alldocube
            'iplay_40' => 'alldocube=alldocube iplay 40',
            // dgtec
            'dg101hstb' => 'dgtec=dgtec dg101hstb',
            // coopers
            'cp20_gold' => 'coopers=coopers cocp20gold',
            // blackview
            'bv6800pro' => 'blackview=blackview bv6800 pro',
            'bv4900pro' => 'blackview=blackview bv4900 pro',
            // medion
            'b5532' => 'medion=medion b5532',
            // caterpillar
            's60' => 'caterpillar=caterpillar s60',
            // blackberry
            'stv100-4' => 'rim=blackberry stv100-4',
            // leeco
            'le x820' => 'leeco=leeco le x820',
            // wortmann
            'terra_pad_1006' => 'wortmann=wortmann terra pad 1006',
            // infinix
            's5 pro' => 'infinix=infinix s5 pro',
            // cyrus
            'cs24' => 'cyrus=cyrus cs24',
            default => null,
        };
    }
}