1############### 2# Device Detector - The Universal Device Detection library for parsing User Agents 3# 4# @link https://matomo.org 5# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later 6############### 7 8# Ace or ACE France (www.acemobile.fr) 9Ace: 10 regex: '(?:BUZZ [12]|BUZZ 2|CLEVER 1|URBAN 1(?: Pro)?)(?:[);/ ]|$)' 11 device: 'smartphone' 12 models: 13 - regex: 'BUZZ ([12]) Lite' 14 model: 'Buzz $1 Lite' 15 - regex: 'BUZZ ([12]) Plus' 16 model: 'Buzz $1 Plus' 17 - regex: 'BUZZ ([12])' 18 model: 'Buzz $1' 19 - regex: 'CLEVER 1' 20 model: 'Clever 1' 21 - regex: 'URBAN 1 Pro' 22 model: 'Urban 1 Pro' 23 - regex: 'URBAN 1' 24 model: 'Urban 1' 25 26'Tunisie Telecom': 27 regex: 'StarTrail TT(?:[);/ ]|$)' 28 device: 'smartphone' 29 model: 'StarTrail by TT' 30 31# SFR 32SFR: 33 regex: 'StarShine|StarTrail|STARADDICT|StarText|StarNaute|StarXtrem|StarTab' 34 device: 'smartphone' 35 models: 36 - regex: 'StarXtrem II(?:[);/ ]|$)' 37 model: 'StarXtrem 2' 38 - regex: 'StarXtrem ?([3-6])(?:[);/ ]|$)' 39 model: 'StarXtrem $1' 40 - regex: 'StarXtrem(?:[);/ ]|$)' 41 model: 'StarXtrem' # ZTE 42 - regex: 'StarTrail III(?:[);/ ]|$)' 43 model: 'StarTrail 3' 44 - regex: 'StarTrail II(?:[);/ ]|$)' 45 model: 'StarTrail 2' # Huawei Ascend Y200 46 - regex: 'StarTrail[ _]?([1-9])[ _]([34])G(?:[);/ ]|$)' # ZTE 47 model: 'StarTrail $1 $2G' 48 - regex: 'StarTrail[ _]?([1-9])(?:[);/ ]|$)' 49 model: 'StarTrail $1' 50 - regex: 'StarTrail(?:[);/ ]|$)' 51 model: 'StarTrail' # ZTE 52 53 - regex: 'StarShine II(?:[);/ ]|$)' 54 model: 'StarShine 2' # ZTE 55 - regex: 'StarShine(?:[);/ ]|$)' 56 model: 'StarShine' # Huawei U8180 57 - regex: 'STARADDICT 4(?:[);/ ]|$)' 58 model: 'Staraddict 4' 59 - regex: 'STARADDICT III(?:[);/ ]|$)' 60 model: 'Staraddict 3' # Coolpad 8861U 61 - regex: 'STARADDICT II Plus(?:[);/ ]|$)' 62 model: 'Staraddict 2 Plus' # ZTE Grand X 63 - regex: 'STARADDICT II(?:[);/ ]|$)' 64 model: 'Staraddict 2' # Alcatel One Touch 995 65 - regex: 'STARADDICT(?:[);/ ]|$)' 66 model: 'Staraddict' # ZTE 67 - regex: 'StarText II(?:[);/ ]|$)' 68 model: 'StarText 2' # ZTE 69 - regex: 'StarText(?:[);/ ]|$)' 70 model: 'StarText' # ZTE 71 - regex: 'StarNaute II(?:[);/ ]|$)' 72 model: 'StarNaute 2' # ZTE 73 - regex: 'STARNAUTE ?4(?:[);/ ]|$)' 74 model: 'StarNaute 4' 75 - regex: 'StarNaute(?:[);/ ]|$)' 76 model: 'StarNaute' # ZTE Amigo 77 - regex: 'StarTab' 78 model: 'StarTab' 79 device: 'tablet' 80 81 - regex: '((?:StarShine|StarTrail|STARADDICT|StarText|StarNaute|StarXtrem)[^;/]*) Build' 82 model: '$1' 83 84# Adronix 85Adronix: 86 regex: 'Adronix[ _](MT[0-9]+)(?:[);/ ]|$)' 87 device: 'tablet' 88 model: '$1' 89 90# HTC (htc.com) 91HTC: 92 regex: 'HTC|Sprint (?:APA|ATP)|ADR(?!910L)[a-z0-9]+|NexusHD2|Amaze[ _]4G(?:[);/ ]|$)|(Desire|Sensation|Evo ?3D|IncredibleS|Wildfire|Butterfly)[ _]?([^;/)]+)(?: Build|\))|(Amaze[ _]4G|(?<!BLU LIFE |ZOPO )One ?[XELSV\+]+)(?:[);/ ]|$)|SPV E6[05]0|(One M8|One Mini 2|X525a|PG86100|PC36100|XV6975|PJ83100|2PYB2|2PS64|2PZC5|0PJA10|0PJA2|HTV33|0PM92|0PCV1|601HT|0PAJ5|HTL2[23]|HTV3[12]|2PQ93|X2-HT|EXODUS 1|ISW13HT|710C)(?:[);/ ]|$)' 93 device: 'smartphone' 94 models: 95 # explicit smartphone models 96 - regex: '2PZF1(?:[);/ ]|$)' 97 model: 'U Ultra' 98 - regex: 'HTC[_ ](?:U-2u|U Play|2PZM3)(?:[);/ ]|$)' 99 model: 'U Play' 100 - regex: '(?:U11 plus|(?:HTC_)?2Q4D[12]00)(?:[);/ ]|$)' 101 model: 'U11 Plus' 102 - regex: 'HTC (?:U12\+|2Q55[13]00)(?:[);/ ]|$)' 103 model: 'U12 Plus' 104 - regex: 'U(1[12]) life(?:[);/ ]|$)' 105 model: 'U$1 Life' 106 - regex: '(?:U11 Eyes|2Q4R100)(?:[);/ ]|$)' 107 model: 'U11 Eyes' 108 - regex: 'XV6975(?:[);/ ]|$)' 109 model: 'Imagio' 110 - regex: 'PG86100(?:[);/ ]|$)' 111 model: 'Evo 3G' 112 - regex: 'PC36100(?:[);/ ]|$)' 113 model: 'Evo 4G' 114 - regex: '(?:HTC[_ ])?(?:HTV33|601HT|2PZC100|2PZC5|U-3[uw])(?:[);/ ]|$)' 115 model: 'U11' 116 - regex: '(?:801e|802[wdt])' 117 model: 'One' 118 - regex: 'PJ83100(?:[);/ ]|$)' 119 model: 'One X' 120 - regex: '(?:HTC)?One ?Mini ?2(?:[);/ ]|$)' 121 model: 'One Mini 2' 122 - regex: 'X2-HT(?:[);/ ]|$)' 123 model: 'One X2' 124 - regex: 'HTC 2PXH3(?:[);/ ]|$)' 125 model: 'One X10' 126 - regex: 'ISW13HT(?:[);/ ]|$)' 127 model: 'J' 128 - regex: 'HTL22(?:[);/ ]|$)' 129 model: 'J One' 130 - regex: 'HTL23(?:[);/ ]|$)' 131 model: 'J Butterfly' 132 - regex: 'HTCButterflys901s(?:[);/ ]|$)' 133 model: 'Butterfly S' 134 - regex: 'One M9_Prime Camera Edition' 135 model: 'One M9 Prime Camera Edition' 136 - regex: '(?:HTC[_ ])?(?:M9pw|One M9 ?PLUS)(?:[);/ ]|$)' 137 model: 'One M9 Plus' 138 - regex: '(?:HTC[_ ]M9u|0PJA2|0PJA10|HTC One M9|HTC6535LVW)(?:[);/ ]|$)' 139 model: 'One M9' 140 - regex: 'One[ _](X9|[EM]8) dual sim(?:[);/ ]|$)' 141 model: 'One $1 Dual SIM' 142 - regex: 'Desire[ _](.+) dual sim(?:[);/ ]|$)' 143 model: 'Desire $1 Dual SIM' 144 - regex: 'HTC(?:6500LVW|PN071)(?:[);/ ]|$)' 145 model: 'One M7' 146 - regex: '(?:One M8|HTC6525LVW|HTC[_ ]M8[xd]|HTC[_ ]0P6B)(?:[);/ ]|$)' 147 model: 'One M8' 148 - regex: '0PAJ5(?:[);/ ]|$)' 149 model: 'One E8' 150 - regex: 'HTC[_ ]E9x(?:[);/ ]|$)' 151 model: 'One E9' 152 - regex: 'HTC[_ ]E9pw(?:[);/ ]|$)' 153 model: 'One E9 Plus' 154 - regex: 'HTC_S9u(?:[);/ ]|$)' 155 model: 'One S9' 156 - regex: 'HTC6515LVW(?:[);/ ]|$)' 157 model: 'One Remix' 158 - regex: 'X525a(?:[);/ ]|$)' 159 model: 'One X+' 160 - regex: '(?:2PQ9(?:3|10)|HTC[_ ]A9u)(?:[);/ ]|$)' 161 model: 'One A9' 162 - regex: 'ADR6300' 163 model: 'Droid Incredible' 164 - regex: 'HTC6435LVW' 165 model: 'Droid DNA' 166 - regex: 'ADR6400L' 167 model: 'ThunderBolt' 168 - regex: 'ADR6410LRA' 169 model: 'Droid Incredible 3' 170 - regex: 'SPV E600' 171 model: 'Excalibur' 172 - regex: 'SPV E650' 173 model: 'Vox' 174 - regex: '2PYB2' 175 model: 'Bolt' 176 - regex: '2PS64|HTC6545LVW' 177 model: '10' 178 - regex: '(710C)(?:[);/ ]|$)' 179 model: 'Desire $1' 180 - regex: '0PM92(?:[);/ ]|$)' 181 model: 'Desire 626S' 182 - regex: '0PCV1(?:[);/ ]|$)' 183 model: 'Desire 510' 184 - regex: 'HTC ?D160LVW(?:[);/ ]|$)' 185 model: 'Desire 530' 186 - regex: 'HTC[_ ]D310n(?:[);/ ]|$)' 187 model: 'Desire 310' 188 - regex: '608t(?:[);/ ]|$)' 189 model: 'Desire 608t' 190 - regex: 'HTC_(?:0P9O2|D610x)(?:[);/ ]|$)' 191 model: 'Desire 610' 192 - regex: 'HTC[_ ]?(0P4E[12])(?:[);/ ]|$)' 193 model: 'Desire 601' 194 - regex: 'HTC_?D620h(?:[);/ ]|$)' 195 model: 'Desire 620' 196 - regex: 'HTC[_ ]?(?:D626ph|D200LVWPP)(?:[);/ ]|$)' 197 model: 'Desire 626' 198 - regex: 'HTC_?(?:0P9C2|D816[xd]?)(?:[);/ ]|$)' 199 model: 'Desire 816' 200 - regex: 'HTC_?D526h(?:[);/ ]|$)' 201 model: 'Desire 526' 202 - regex: 'EXODUS 1(?:[);/ ]|$)' 203 model: 'Exodus 1' 204 - regex: 'HTC 2Q7A100(?:[);/ ]|$)' 205 model: 'U19e' 206 - regex: 'HTC_D10i(?:[);/ ]|$)' 207 model: 'Desire 10 Pro' 208 - regex: 'HTC[ _]10[ _]evo(?:[);/ ]|$)' 209 model: '10 Evo' 210 - regex: 'HTC Desire (.+) pro(?:[);/ ]|$)' 211 model: 'Desire $1 Pro' 212 - regex: 'Desire 10 lifestyle(?:[);/ ]|$)' 213 model: 'Desire 10 Life Style' 214 215 - regex: 'NexusHD2' # custom rom for hd2 216 model: 'HD2' 217 - regex: 'HTC[ _-]P715a' 218 device: 'tablet' 219 model: 'P715a' 220 - regex: 'HTC[ _-]Flyer Build' 221 device: 'tablet' 222 model: 'Flyer' 223 - regex: 'HTC[ _-]Flyer[ _\-]([\w]{1,5})' 224 device: 'tablet' 225 model: 'Flyer $1' 226 - regex: 'HTC(?:[ _-])?(?:One[ _\-]max|6600LVW)(?:[);/ ]|$)' 227 device: 'phablet' 228 model: 'One Max' 229 - regex: 'HTC[ _]([^/;]+) [0-9]+(?:\.[0-9]+)+ Build' 230 model: '$1' 231 - regex: 'HTC[ _]([^/;]+) Build' 232 model: '$1' 233 - regex: 'HTC[ _]([a-z0-9]+[ _\-]?(?:[a-z0-9_+\-])*)' 234 model: '$1' 235 - regex: 'USCCHTC(\d+)' 236 model: '$1' 237 - regex: 'Sprint (ATP.*) Build' 238 device: 'tablet' 239 model: '$1 (Sprint)' 240 - regex: 'Sprint (APA.*) Build' 241 model: '$1 (Sprint)' 242 - regex: '(?:HTC-)?HTC(?:[\-/ ])?([a-z0-9\-_]+)' 243 model: '$1' 244 - regex: 'HTC;(?: )?([a-z0-9 ]+)' 245 model: '$1' 246 - regex: '(Desire|Sensation|Evo ?3D|IncredibleS|Wildfire|Butterfly)[ _]?([^;/)]+)(?: Build|\))' 247 model: '$1 $2' 248 - regex: '(Amaze[ _]4G|One ?[XELSV\+]*) Build' 249 model: '$1' 250 - regex: '(ADR[^;/]+) Build' 251 model: '$1' 252 - regex: '(ADR[a-z0-9]+)' 253 model: '$1' 254 - regex: 'HTV32(?:[);/ ]|$)' 255 model: '10' 256 - regex: 'HTV31(?:[);/ ]|$)' 257 model: 'J Butterfly' 258 259# microsoft 260Microsoft: 261 regex: 'KIN\.(One|Two)|RM-(?:1010|1031|106[57]|107[23467]|1089|109[02]|1096|1099|1109|111[348]|1127|1141|115[24]|994)|Microsoft; Lumia|Lumia (?:1530|1320|950|850|650|640|550|535|435)|Corporation/Surface' 262 device: 'smartphone' 263 models: 264 - regex: 'KIN\.(One|Two)' 265 device: 'feature phone' 266 model: 'Kin $1' 267 268 - regex: 'RM-1099|Lumia 430' 269 model: 'Lumia 430' 270 - regex: 'RM-1114|Lumia 435' 271 model: 'Lumia 435' 272 - regex: 'RM-1031|Lumia 532' 273 model: 'Lumia 532' 274 - regex: 'Lumia 535 Dual SIM' 275 model: 'Lumia 535 Dual SIM' 276 - regex: 'RM-109[02]|RM-1089|Lumia 535' 277 model: 'Lumia 535' 278 - regex: 'RM-1141|Lumia 540' 279 model: 'Lumia 540' 280 - regex: 'RM-1127|Lumia 550' 281 model: 'Lumia 550' 282 - regex: 'RM-1010' 283 model: 'Lumia 638' 284 - regex: 'Lumia 640 XL LTE' 285 model: 'Lumia 640 XL LTE' 286 device: 'phablet' 287 - regex: 'RM-106[57]|RM-1096|Lumia 640 XL' 288 model: 'Lumia 640 XL' 289 device: 'phablet' 290 - regex: 'Lumia 640 LTE Dual SIM' 291 model: 'Lumia 640 LTE Dual SIM' 292 - regex: 'Lumia 640 LTE' 293 model: 'Lumia 640 LTE' 294 - regex: 'Lumia 640 Dual SIM' 295 model: 'Lumia 640 Dual SIM' 296 - regex: 'RM-1109|RM-1113|RM-107[23467]|Lumia 640' 297 model: 'Lumia 640' 298 - regex: 'RM-1154|Lumia 650' 299 model: 'Lumia 650' 300 - regex: 'RM-1152' 301 model: 'Lumia 650 SS' 302 - regex: 'Lumia 850' 303 model: 'Lumia 850' 304 - regex: 'Lumia 950 XL Dual SIM' 305 model: 'Lumia 950 XL Dual SIM' 306 device: 'phablet' 307 - regex: 'Lumia 950 XL' 308 model: 'Lumia 950 XL' 309 device: 'phablet' 310 - regex: 'Lumia 950 Dual SIM' 311 model: 'Lumia 950 Dual SIM' 312 - regex: 'Lumia 950|RM-1118' 313 model: 'Lumia 950' 314 - regex: 'RM-994|Lumia 1320' 315 model: 'Lumia 1320' 316 - regex: 'Lumia 1530' 317 model: 'Lumia 1530' 318 - regex: 'Surface Book 3' 319 device: 'desktop' 320 model: 'Surface Book 3' 321 - regex: 'Surface Pro( [34])?' 322 device: 'desktop' 323 model: 'Surface Pro$1' 324 325 - regex: 'Microsoft; Lumia ([^;/)]+)(?:[;/)]|$)' 326 model: 'Lumia $1' 327 328# NOKIA (www.nokia.com) 329Nokia: 330 regex: 'Nokia(?!Browser|Webview|; GT-I8750)|Lumia|Maemo RX|portalmmm/2\.0 N7|portalmmm/2\.0 NK|nok[0-9]+|Symbian.*\s([a-z0-9]+)$|RX-51 N900|TA-[0-9]{4}|ARM; 909' 331 device: 'smartphone' 332 models: 333 # Nokia branded phones by HMD Global 334 - regex: 'TA-10(07|23|29|35)' 335 model: '2' 336 - regex: 'TA-10(20|28|32|38)' 337 model: '3' 338 - regex: 'TA-10(24|27|44|53)' 339 model: '5' 340 - regex: 'TA-10(00|03|21|25|33|39|54)' 341 model: '6' 342 - regex: 'TA-1041' 343 model: '7' 344 - regex: 'TA-10(04|12|52)' 345 model: '8' 346 - regex: 'Nokia 8 Sirocco' 347 model: '8 Sirocco' 348 - regex: 'Nokia 7 plus' 349 model: '7 plus' 350 - regex: 'Nokia 6\.1 Plus' 351 model: '6.1 Plus' 352 - regex: 'Nokia 5\.1 Plus' 353 model: '5.1 Plus' 354 - regex: 'Nokia 3\.1 Plus' 355 model: '3.1 Plus' 356 - regex: 'Nokia 1 Plus' 357 model: '1 Plus' 358 - regex: 'Nokia 2 V(?:[);/ ]|$)' 359 model: '2 V Tella' 360 361 # Nokia phones 362 - regex: 'Nokia ?X2DS' 363 model: 'X2 Dual' 364 - regex: 'RX-51 N900' 365 model: 'N900' 366 - regex: '(?: )?(Nokia500|nokiaasha500(?:dualsim)?)(?: Build|[_);/])' 367 model: 'Asha 500' 368 - regex: 'Nokia5130c(?:-2)?' 369 model: '5130 XpressMusic' 370 - regex: 'Nokia5230' 371 model: 'Nuron' 372 - regex: 'Nokia5233' 373 model: '5233' 374 - regex: 'Nokia5800d-1' 375 model: '5800 XpressMusic' 376 - regex: 'Nokia6210Navigator' 377 model: 'Navigator' 378 - regex: 'Nokia8800e?' 379 model: 'Sapphire Arte' 380 - regex: 'NOKIA-RH-17' 381 model: '2280' 382 - regex: 'NOKIA-RH-27' 383 model: '6225' 384 - regex: 'NOKIA-RH-34' 385 model: '6585' 386 - regex: 'NOKIA-RH-48' 387 model: '3105' 388 - regex: 'NOKIA-RM-11' 389 model: '3205' 390 - regex: 'Nokia808 PureView' 391 model: '808 PureView' 392 - regex: 'Nokia ?([0-9]{4})c(?:-)?' 393 model: '$1 Classic' 394 - regex: 'Nokia ?([0-9]{4})s(?:-)?' 395 model: '$1 Slide' 396 - regex: 'Nokia ?([0-9]{4})' 397 model: '$1' 398 - regex: '(?: )?Nokia([235][0-9]{2})(?: Build|[_);/])' 399 model: 'Asha $1' 400 - regex: 'Nokia([CEX]-?[0-9]{1,2}i?)-[0-9]{1,2}u?(?: Build|[_);/])' 401 model: '$1' 402 403 - regex: 'Nokia;? 520T' 404 model: 'Lumia 520T' 405 - regex: 'RM-91[45]' 406 model: 'Lumia 520' 407 - regex: 'RM-997|Nokia 526' 408 model: 'Lumia 526' 409 - regex: 'RM-846' 410 model: 'Lumia 620' 411 - regex: 'RM-97[68]' 412 model: 'Lumia 630' 413 - regex: 'RM-97[45]' 414 model: 'Lumia 635' 415 - regex: 'RM-1027' 416 model: 'Lumia 636' 417 - regex: 'NOKIA;? 710' 418 model: 'Lumia 710' 419 - regex: 'Nokia;? 720T' 420 model: 'Lumia 720T' 421 - regex: 'RM-885' 422 model: 'Lumia 720' 423 - regex: 'Lumia 730' 424 model: 'Lumia 730' 425 - regex: 'RM-103[89]' 426 model: 'Lumia 735' 427 - regex: 'Nokia;? 800C' 428 model: 'Lumia 800C' 429 - regex: 'Nokia;? 800' 430 model: 'Lumia 800' 431 - regex: 'Nokia 820' 432 model: 'Lumia 820' 433 - regex: 'RM-984' 434 model: 'Lumia 830' 435 - regex: 'Nokia;? 900' 436 model: 'Lumia 900' 437 - regex: '(RM-82[12]|Nokia;? 920)(?: Build|[_);/])' 438 model: 'Lumia 920' 439 - regex: '(RM-89[23]|RM-910|Nokia;? 925)(?: Build|[a_);/])' 440 model: 'Lumia 925' 441 - regex: 'Lumia 929' 442 model: 'Lumia Icon' 443 - regex: 'RM-1045' 444 model: 'Lumia 930' 445 - regex: '(ARM; 909|NOKIA;? 909|NOKIA; id300)(?: Build|[_);/])' 446 model: 'Lumia 1020' 447 - regex: 'NOKIA;? 1520\.1' 448 model: 'Lumia 1520.1' 449 450 - regex: 'Nokia ([A-Za-z0-9\. ]+)(?: Build|\))' 451 model: '$1' 452 453 - regex: 'Nokia(N[0-9]+)' 454 model: '$1' 455 - regex: 'Nokia-([a-z0-9]+)' 456 model: 'N$1' 457 - regex: 'NOKIA; (?!Qt;)([a-z0-9\- ]+)' 458 model: '$1' 459 - regex: 'NOKIA[ _]?([a-z0-9\-]+)' 460 model: '$1' 461 - regex: 'NOKIA/([a-z0-9 ]+)' 462 model: '$1' 463 - regex: '(Lumia [a-z0-9\-]+ XL)' 464 device: 'phablet' 465 model: '$1' 466 - regex: '(Lumia [a-z0-9\-]+)' 467 model: '$1' 468 - regex: 'Maemo RX-51 ([a-z0-9]+)' 469 model: '$1' 470 - regex: 'Maemo RX-34' 471 model: 'N800' 472 - regex: 'NokiaInternal|Nokia-WAP-Toolkit|Nokia-MIT-Browser|Nokia Mobile|Nokia Browser|Nokia/Series' 473 model: '' 474 - regex: 'portalmmm/2\.0 (N7[37]|NK[a-z0-9]+)' 475 model: '$1' 476 - regex: 'nok([0-9]+)' 477 model: '$1' 478 - regex: 'Symbian.*\s([a-z0-9]+)$' 479 device: 'feature phone' 480 model: '$1' 481 482# CnM 483CnM: 484 regex: 'CnM' 485 device: 'tablet' 486 models: 487 - regex: 'CnM[ \-](?:Touchpad|TP)[ \-]([0-9\.]+)' 488 model: 'Touchpad $1' 489 490# RIM/BlackBerry 491RIM: 492 regex: 'BB10;|BlackBerry|rim[0-9]+|PlayBook|STV100-[1234]|STH100-[12]|BBA100-[12]|BBB100-[1234567]|BBD100-[126]|BB[EF]100-[123456789]|BB[CGH]100-1' 493 device: 'smartphone' 494 models: 495 - regex: 'BBA100-[12]' 496 model: 'BlackBerry DTEK60' 497 - regex: 'BBB100-[1234567]' 498 model: 'KEYone' 499 - regex: 'BBC100-1' 500 model: 'Aurora' 501 - regex: 'BBD100-[126]' 502 model: 'Motion' 503 - regex: 'BBE100-[123456789]' 504 model: 'KEY2 LE' 505 - regex: 'BBF100-[1234567]' 506 model: 'KEY2' 507 - regex: 'BBF100-8' 508 model: 'KEY2 Silver' 509 - regex: 'BBF100-9' 510 model: 'KEY2 Black' 511 - regex: 'BBG100-1' 512 model: 'Evolve' 513 - regex: 'BBH100-1' 514 model: 'Evolve X' 515 - regex: '(?:BlackBerry )?(9000|9790)' 516 model: 'Bold $1' 517 - regex: 'STV100-[1234]' 518 model: 'BlackBerry Priv' 519 - regex: 'STH100-[12]' 520 model: 'BlackBerry DTEK50' 521 - regex: 'BB10; ([a-z0-9\- ]+)\)' 522 model: 'BlackBerry $1' 523 - regex: 'PlayBook.+RIM Tablet OS' 524 model: 'BlackBerry Playbook' 525 device: 'tablet' 526 - regex: 'BlackBerry(?: )?([a-z0-9]+)' 527 model: 'BlackBerry $1' 528 - regex: 'rim([0-9]+)' 529 model: 'BlackBerry $1' 530 - regex: '9300' 531 model: 'Curve 3G 9300' 532 - regex: '(8520|8530|9220|9320|9360)' 533 model: 'Curve $1' 534 - regex: '9630' 535 model: 'Tour 9630' 536 - regex: '9720' 537 model: '9720' 538 - regex: '(9800|9860)' 539 model: 'Torch $1' 540 - regex: 'BlackBerry' 541 model: 'BlackBerry' 542 543# CHIA (www.ghia.com.mx) 544CHIA: 545 regex: '(SVEGLIO[ _][QH]1|TREO_TAB8G|GTA7WF|GTKIDS7[BVR]|VENUS7)(?:[);/ ]|$)' 546 device: 'smartphone' 547 models: 548 - regex: 'SVEGLIO[ _]([QH]1)' 549 model: 'Sveglio $1' 550 - regex: 'TREO_TAB8G' 551 device: 'tablet' 552 model: 'TREO TAB8G' 553 - regex: 'GTA7WF' 554 device: 'tablet' 555 model: 'A7 ROJA' 556 - regex: 'GTKIDS7[BVR]' 557 device: 'tablet' 558 model: 'GT KIDS 7' 559 - regex: 'VENUS7' 560 device: 'tablet' 561 model: 'VENUS 7' 562 563# PALM 564Palm: 565 regex: '(?:Pre|Pixi)/(\d+)\.(\d+)|Palm|Treo|Xiino|PVG100(?:E_RU)?(?:[);/ ]|$)' 566 device: 'smartphone' 567 models: 568 - regex: '((?:Pre|Pixi))/(\d+\.\d+)' 569 model: '$1 $2' 570 - regex: 'Palm(?:[ \-])?((?!OS|Source|scape)[a-z0-9]+)' 571 model: '$1' 572 - regex: 'Treo([a-z0-9]+)' 573 model: 'Treo $1' 574 - regex: 'Tungsten' 575 model: 'Tungsten' 576 - regex: 'PVG100' 577 model: 'Pepito' 578 - regex: 'Xiino|Palmscape' # Browser for Palm OS only 579 model: '' 580 581# HP or Hewlett-Packard 582HP: 583 regex: 'Hewlett-Packard|HP/HP|HP Chromebook|HP EliteBook 820|TouchPad/\d+\.\d+|hp-tablet|HP ?iPAQ|webOS.*P160U|HP (?:Pro )?Slate|HP [78]|HP 10 Plus|Compaq [7|8]|HP; [^;/)]+' 584 device: 'smartphone' 585 models: 586 - regex: 'HP Slate 6 Voice Tab' 587 model: 'Slate 6 VoiceTab' 588 device: 'phablet' 589 590 - regex: 'HP 10 Plus' 591 model: '10 Plus' 592 device: 'tablet' 593 594 - regex: 'HP ([78][^)/;]*)(?: Build|\))' 595 model: 'Slate $1' 596 device: 'tablet' 597 598 - regex: 'Compaq ([78][^/;]*) Build' 599 model: 'Compaq $1' 600 device: 'tablet' 601 - regex: 'HP Pro Slate 8' 602 model: 'Pro Slate 8' 603 device: 'tablet' 604 - regex: 'HP Slate ?(.+) Build' 605 model: 'Slate $1' 606 device: 'tablet' 607 - regex: 'HP Slate ?([0-9]+)' 608 model: 'Slate $1' 609 device: 'tablet' 610 - regex: 'TouchPad/(\d+\.\d+)|hp-tablet' 611 model: 'TouchPad' 612 device: 'tablet' 613 - regex: 'HP; ([^;/)]+)' 614 model: '$1' 615 - regex: 'HP ?iPAQ ?([a-z0-9]+)' 616 model: 'iPAQ $1' 617 - regex: 'webOS.*(P160U)' 618 model: 'Veer' 619 620 - regex: 'HP ProBook (6560b)' 621 device: 'desktop' 622 model: 'ProBook $1' 623 - regex: 'Chromebook (11 G5|x360 11 G1 EE|13 G1)' 624 device: 'desktop' 625 model: 'Chromebook $1' 626 - regex: 'HP EliteBook 820 G2' 627 device: 'desktop' 628 model: 'EliteBook 820 G2' 629 - regex: 'Z240 Tower Workstation' 630 device: 'desktop' 631 model: 'Z240 Tower Workstation' 632 633# TiPhone 634TiPhone: 635 regex: 'TiPhone ?([a-z0-9]+)' 636 device: 'smartphone' 637 model: '$1' 638 639# Apple 640Apple: 641 regex: '(?:iTunes-)?Apple[ _]?TV|Apple/|(?:Apple-|iTunes-)?(?<!like )(?:iPad|iPhone)|iPh[0-9],[0-9]|CFNetwork|HomePod|Watch ?OS|Watch1,[12]|MDCR_Mac|ICRU_iP(?:ad|hone)|Mac OS X,|macOS,' 642 models: 643 - regex: 'HomePod' 644 device: 'smart speaker' 645 model: 'HomePod' 646 647 # specific wearable devices 648 - regex: 'Watch1,1' 649 device: 'wearable' 650 model: 'Watch 38mm' 651 - regex: 'Watch1,2' 652 device: 'wearable' 653 model: 'Watch 42mm' 654 - regex: 'Watch2,6' 655 device: 'wearable' 656 model: 'Watch Series 1 38mm' 657 - regex: 'Watch2,7' 658 device: 'wearable' 659 model: 'Watch Series 1 42mm' 660 - regex: 'Watch2,3' 661 device: 'wearable' 662 model: 'Watch Series 2 38mm' 663 - regex: 'Watch2,4' 664 device: 'wearable' 665 model: 'Watch Series 2 42mm' 666 - regex: 'Watch3,[13]' 667 device: 'wearable' 668 model: 'Watch Series 3 38mm' 669 - regex: 'Watch3,[24]' 670 device: 'wearable' 671 model: 'Watch Series 3 42mm' 672 - regex: 'Watch5,(?:9|11)' 673 device: 'wearable' 674 model: 'Watch SE 40mm' 675 - regex: 'Watch5,1[02]' 676 device: 'wearable' 677 model: 'Watch SE 44mm' 678 - regex: 'Watch([456]),[13]' 679 device: 'wearable' 680 model: 'Watch Series $1 40mm' 681 - regex: 'Watch([456]),[24]' 682 device: 'wearable' 683 model: 'Watch Series $1 44mm' 684 - regex: 'Watch6,[68]' 685 device: 'wearable' 686 model: 'Watch Series 7 41mm' 687 - regex: 'Watch6,[79]' 688 device: 'wearable' 689 model: 'Watch Series 7 45mm' 690 691 # specific desktop devices 692 - regex: '(?:.+_)?MacBook7(?:%2C|,)1' 693 device: 'desktop' 694 model: 'MacBook 13" (2010)' 695 - regex: '(?:.+_)?MacPro5(?:%2C|,)1' 696 device: 'desktop' 697 model: 'Mac Pro (2010-2012)' 698 - regex: '(?:.+_)?iMac12(?:%2C|,)1' 699 device: 'desktop' 700 model: 'iMac 21.5" (2011)' 701 - regex: '(?:.+_)?iMac17(?:%2C|,)1' 702 device: 'desktop' 703 model: 'iMac 27" (2015)' 704 - regex: '(?:.+_)?iMac18(?:%2C|,)[12]' 705 device: 'desktop' 706 model: 'iMac 21.5" (2017)' 707 - regex: '(?:.+_)?iMac18(?:%2C|,)3' 708 device: 'desktop' 709 model: 'iMac 27" (2017)' 710 - regex: '(?:.+_)?iMacPro1(?:%2C|,)1' 711 device: 'desktop' 712 model: 'iMac Pro 27" (2017)' 713 - regex: '(?:.+_)?iMac19(?:%2C|,)2' 714 device: 'desktop' 715 model: 'iMac 21.5" (2019)' 716 - regex: '(?:.+_)?iMac19(?:%2C|,)1' 717 device: 'desktop' 718 model: 'iMac 27" (2019)' 719 - regex: '(?:.+_)?iMac20(?:%2C|,)[12]' 720 device: 'desktop' 721 model: 'iMac 27" (2020)' 722 - regex: '(?:.+_)?iMac21(?:%2C|,)[12]' 723 device: 'desktop' 724 model: 'iMac 24" (2021)' 725 - regex: '(?:.+_)?iMac14(?:%2C|,)2' 726 device: 'desktop' 727 model: 'iMac 27" (2013)' 728 - regex: '(?:.+_)?iMac14(?:%2C|,)4' 729 device: 'desktop' 730 model: 'iMac 21.5" (2014)' 731 - regex: '(?:.+_)?iMac14(?:%2C|,)1' 732 device: 'desktop' 733 model: 'iMac 21.5" (2013)' 734 - regex: '(?:.+_)?MacBook6(?:%2C|,)1' 735 device: 'desktop' 736 model: 'MacBook 13" (2009)' 737 - regex: '(?:.+_)?MacBook8(?:%2C|,)1' 738 device: 'desktop' 739 model: 'MacBook 12" (2015)' 740 - regex: '(?:.+_)?MacBook9(?:%2C|,)1' 741 device: 'desktop' 742 model: 'MacBook 12" (2016)' 743 - regex: '(?:.+_)?iMac10(?:%2C|,)1' 744 device: 'desktop' 745 model: 'iMac (2009)' 746 747 - regex: '(?:.+_)?MacBookAir2(?:%2C|,)1' 748 device: 'desktop' 749 model: 'MacBook Air (2009)' 750 - regex: '(?:.+_)?MacBookAir3(?:%2C|,)1' 751 device: 'desktop' 752 model: 'MacBook Air 11" (2010)' 753 - regex: '(?:.+_)?MacBookAir3(?:%2C|,)2' 754 device: 'desktop' 755 model: 'MacBook Air 13" (2010)' 756 - regex: '(?:.+_)?MacBookAir4(?:%2C|,)1' 757 device: 'desktop' 758 model: 'MacBook Air 11" (2011)' 759 - regex: '(?:.+_)?MacBookAir4(?:%2C|,)2' 760 device: 'desktop' 761 model: 'MacBook Air 13" (2011)' 762 - regex: '(?:.+_)?MacBookAir5(?:%2C|,)1' 763 device: 'desktop' 764 model: 'MacBook Air 11" (2012)' 765 - regex: '(?:.+_)?MacBookAir5(?:%2C|,)2' 766 device: 'desktop' 767 model: 'MacBook Air 13" (2012)' 768 - regex: '(?:.+_)?MacBookAir6(?:%2C|,)1' 769 device: 'desktop' 770 model: 'MacBook Air 11" (2013-2014)' 771 - regex: '(?:.+_)?MacBookAir6(?:%2C|,)2' 772 device: 'desktop' 773 model: 'MacBook Air 13" (2013-2014)' 774 - regex: '(?:.+_)?MacBookAir7(?:%2C|,)1' 775 device: 'desktop' 776 model: 'MacBook Air 11" (2015)' 777 - regex: '(?:.+_)?MacBookAir7(?:%2C|,)2' 778 device: 'desktop' 779 model: 'MacBook Air 13" (2015-2017)' 780 - regex: '(?:.+_)?MacBookAir8(?:%2C|,)1' 781 device: 'desktop' 782 model: 'MacBook Air 13" (2018)' 783 - regex: '(?:.+_)?MacBookAir8(?:%2C|,)2' 784 device: 'desktop' 785 model: 'MacBook Air 13" (2019)' 786 - regex: '(?:.+_)?MacBookAir9(?:%2C|,)1' 787 device: 'desktop' 788 model: 'MacBook Air 13" (2020)' 789 - regex: '(?:.+_)?MacBookAir10(?:%2C|,)1' 790 device: 'desktop' 791 model: 'MacBook Air 13" (2020)' 792 - regex: '(?:.+_)?MacBookPro1(?:%2C|,)1' 793 device: 'desktop' 794 model: 'MacBook Pro 15" (2006)' 795 - regex: '(?:.+_)?MacBookPro1(?:%2C|,)2' 796 device: 'desktop' 797 model: 'MacBook Pro 17" (2006)' 798 - regex: '(?:.+_)?MacBookPro2(?:%2C|,)1' 799 device: 'desktop' 800 model: 'MacBook Pro 17" (2007)' 801 - regex: '(?:.+_)?MacBookPro2(?:%2C|,)2' 802 device: 'desktop' 803 model: 'MacBook Pro 15" (2007)' 804 - regex: '(?:.+_)?MacBookPro[34](?:%2C|,)1' 805 device: 'desktop' 806 model: 'MacBook Pro (2008)' 807 - regex: '(?:.+_)?MacBookPro5(?:%2C|,)1' 808 device: 'desktop' 809 model: 'MacBook Pro 15" (2008)' 810 - regex: '(?:.+_)?MacBookPro5(?:%2C|,)2' 811 device: 'desktop' 812 model: 'MacBook Pro 17" (2009)' 813 - regex: '(?:.+_)?MacBookPro5(?:%2C|,)[34]' 814 device: 'desktop' 815 model: 'MacBook Pro 15" (2009)' 816 - regex: '(?:.+_)?MacBookPro5(?:%2C|,)5' 817 device: 'desktop' 818 model: 'MacBook Pro 13" (2009)' 819 - regex: '(?:.+_)?MacBookPro6(?:%2C|,)1' 820 device: 'desktop' 821 model: 'MacBook Pro 17" (2010)' 822 - regex: '(?:.+_)?MacBookPro6(?:%2C|,)2' 823 device: 'desktop' 824 model: 'MacBook Pro 15" (2010)' 825 - regex: '(?:.+_)?MacBookPro7(?:%2C|,)1' 826 device: 'desktop' 827 model: 'MacBook Pro 13" (2010)' 828 - regex: '(?:.+_)?MacBookPro8(?:%2C|,)1' 829 device: 'desktop' 830 model: 'MacBook Pro 13" (2011)' 831 - regex: '(?:.+_)?MacBookPro8(?:%2C|,)2' 832 device: 'desktop' 833 model: 'MacBook Pro 15" (2011)' 834 - regex: '(?:.+_)?MacBookPro8(?:%2C|,)3' 835 device: 'desktop' 836 model: 'MacBook Pro 17" (2011)' 837 - regex: '(?:.+_)?MacBookPro9(?:%2C|,)1' 838 device: 'desktop' 839 model: 'MacBook Pro 15" (2012)' 840 - regex: '(?:.+_)?MacBookPro9(?:%2C|,)2' 841 device: 'desktop' 842 model: 'MacBook Pro 13" (2012)' 843 - regex: '(?:.+_)?MacBookPro10(?:%2C|,)1' 844 device: 'desktop' 845 model: 'MacBook Pro 15" (2012-2013)' 846 - regex: '(?:.+_)?MacBookPro10(?:%2C|,)2' 847 device: 'desktop' 848 model: 'MacBook Pro 13" (2012-2013)' 849 - regex: '(?:.+_)?MacBookPro11(?:%2C|,)1' 850 device: 'desktop' 851 model: 'MacBook Pro 13" (2013-2014)' 852 - regex: '(?:.+_)?MacBookPro11(?:%2C|,)[23]' 853 device: 'desktop' 854 model: 'MacBook Pro 15" (2013-2014)' 855 - regex: '(?:.+_)?MacBookPro11(?:%2C|,)[45]' 856 device: 'desktop' 857 model: 'MacBook Pro 15" (2015)' 858 - regex: '(?:.+_)?MacBookPro12(?:%2C|,)1' 859 device: 'desktop' 860 model: 'MacBook Pro 13" (2015)' 861 - regex: '(?:.+_)?MacBookPro13(?:%2C|,)[12]' 862 device: 'desktop' 863 model: 'MacBook Pro 13" (2016)' 864 - regex: '(?:.+_)?MacBookPro13(?:%2C|,)3' 865 device: 'desktop' 866 model: 'MacBook Pro 15" (2016)' 867 - regex: '(?:.+_)?MacBookPro14(?:%2C|,)[12]' 868 device: 'desktop' 869 model: 'MacBook Pro 13" (2017)' 870 - regex: '(?:.+_)?MacBookPro14(?:%2C|,)3' 871 device: 'desktop' 872 model: 'MacBook Pro 15" (2017)' 873 - regex: '(?:.+_)?MacBookPro15(?:%2C|,)1' 874 device: 'desktop' 875 model: 'MacBook Pro 15" (2018-2019)' 876 - regex: '(?:.+_)?MacBookPro15(?:%2C|,)2' 877 device: 'desktop' 878 model: 'MacBook Pro 13" (2018-2019)' 879 - regex: '(?:.+_)?MacBookPro15(?:%2C|,)3' 880 device: 'desktop' 881 model: 'MacBook Pro 15" (2019)' 882 - regex: '(?:.+_)?MacBookPro15(?:%2C|,)4' 883 device: 'desktop' 884 model: 'MacBook Pro 13" (2019)' 885 - regex: '(?:.+_)?MacBookPro16(?:%2C|,)[14]' 886 device: 'desktop' 887 model: 'MacBook Pro 16" (2019)' 888 - regex: '(?:.+_)?MacBookPro16(?:%2C|,)[23]' 889 device: 'desktop' 890 model: 'MacBook Pro 13" (2020)' 891 - regex: '(?:.+_)?MacBookPro17(?:%2C|,)1' 892 device: 'desktop' 893 model: 'MacBook Pro 13" (2020)' 894 - regex: '(?:.+_)?MacBookPro18(?:%2C|,)[12]' 895 device: 'desktop' 896 model: 'MacBook Pro 16" (2021)' 897 - regex: '(?:.+_)?MacBookPro18(?:%2C|,)[34]' 898 device: 'desktop' 899 model: 'MacBook Pro 14" (2021)' 900 - regex: '(?:.+_)?Macmini8(?:%2C|,)1' 901 device: 'desktop' 902 model: 'Mac Mini (2018)' 903 - regex: '(?:.+_)?Macmini9(?:%2C|,)1' 904 device: 'desktop' 905 model: 'Mac Mini (2020)' 906 - regex: '(?:.+_)?Macmini7(?:%2C|,)1' 907 device: 'desktop' 908 model: 'Mac Mini (2014)' 909 910 # specific smartphone devices 911 - regex: '(?:Apple-|.+_)?iPh(?:one)?1[C,_]1' 912 model: 'iPhone' 913 device: 'smartphone' 914 - regex: '(?:Apple-|.+_)?iPh(?:one)?1[C,_]2' 915 model: 'iPhone 3G' 916 device: 'smartphone' 917 - regex: '(?:Apple-|.+_)?iPh(?:one)?2[C,_]1| 3GS\)$' 918 model: 'iPhone 3GS' 919 device: 'smartphone' 920 - regex: '(?:Apple-|.+_)?iPh(?:one)?3[C,_][123]' 921 model: 'iPhone 4' 922 device: 'smartphone' 923 - regex: '(?:Apple-|.+_)?iPh(?:one)?4[C,_]1|1C2%254enohPi| 4S\)$' 924 model: 'iPhone 4S' 925 device: 'smartphone' 926 - regex: '(?:Apple-|.+_)?iPh(?:one)?5[C,_][12]| 5\)$' 927 model: 'iPhone 5' 928 device: 'smartphone' 929 - regex: '(?:Apple-|.+_)?iPh(?:one)?5[C,_][34]' 930 model: 'iPhone 5C' 931 device: 'smartphone' 932 - regex: '(?:Apple-|.+_)?iPh(?:one)?6[C,_][12]| 5S\)$' 933 model: 'iPhone 5S' 934 device: 'smartphone' 935 - regex: '(?:Apple-|.+_)?iPh(?:one)?7[C,_]1|1C2%257enohPi| 6PLUS\)$' 936 model: 'iPhone 6 Plus' 937 device: 'phablet' 938 - regex: '(?:Apple-|.+_)?iPh(?:one)?7[C,_]2| 6\)$' 939 model: 'iPhone 6' 940 device: 'smartphone' 941 - regex: '(?:Apple-|.+_)?iPh(?:one)?8[C,_]2| 6SPLUS\)$' 942 model: 'iPhone 6s Plus' 943 device: 'phablet' 944 - regex: '(?:Apple-|.+_)?iPh(?:one)?8[C,_]1|iPhone[ /]6s| 6S\)$' 945 model: 'iPhone 6s' 946 device: 'smartphone' 947 - regex: '(?:Apple-|.+_)?iPh(?:one)?8[C,_]4| SE\)$' 948 model: 'iPhone SE' 949 device: 'smartphone' 950 - regex: '(?:Apple-|.+_)?iPh(?:one)?9[C,_][13]|iphone7 | 7\)$' 951 model: 'iPhone 7' 952 device: 'smartphone' 953 - regex: '(?:Apple-|.+_)?iPh(?:one)?9[C,_][24]| 7PLUS\)$' 954 model: 'iPhone 7 Plus' 955 device: 'phablet' 956 - regex: '(?:Apple-|.+_)?iPh(?:one)?10[C,_][14]| 8\)$' 957 model: 'iPhone 8' 958 device: 'smartphone' 959 - regex: '(?:Apple-|.+_)?iPh(?:one)?10[C,_][25]| 8PLUS\)$' 960 model: 'iPhone 8 Plus' 961 device: 'phablet' 962 - regex: '(?:Apple-|.+_)?iPh(?:one)?10[C,_][36]|iPhone X| X\)$' 963 model: 'iPhone X' 964 device: 'phablet' 965 - regex: '(?:Apple-|.+_)?iPh(?:one)?11[C,_][2]| XS\)$' 966 model: 'iPhone XS' 967 device: 'smartphone' 968 - regex: '(?:Apple-|.+_)?iPh(?:one)?11[C,_][46]|iPhoneXSMax| XSMAX\)$' 969 model: 'iPhone XS Max' 970 device: 'phablet' 971 - regex: '(?:Apple-|.+_)?iPh(?:one)?11[C,_][8]| XR\)$' 972 model: 'iPhone XR' 973 device: 'smartphone' 974 - regex: '(?:Apple-|.+_)?iPh(?:one)?12[C,_][1]| 11\)$' 975 model: 'iPhone 11' 976 device: 'smartphone' 977 - regex: '(?:Apple-|.+_)?iPh(?:one)?12[C,_][3]| 11PRO\)$' 978 model: 'iPhone 11 Pro' 979 device: 'phablet' 980 - regex: '(?:Apple-|.+_)?iPh(?:one)?12[C,_][5]| 11PROMAX\)$' 981 model: 'iPhone 11 Pro Max' 982 device: 'phablet' 983 - regex: '(?:Apple-|.+_)?iPh(?:one)?12[C,_][8]' 984 model: 'iPhone SE (2020)' 985 device: 'phablet' 986 - regex: '(?:Apple-|.+_)?iPh(?:one)?13[C,_][1]' 987 model: 'iPhone 12 Mini' 988 device: 'smartphone' 989 - regex: '(?:Apple-|.+_)?iPh(?:one)?13[C,_][2]' 990 model: 'iPhone 12' 991 device: 'phablet' 992 - regex: '(?:Apple-|.+_)?iPh(?:one)?13[C,_][3]' 993 model: 'iPhone 12 Pro' 994 device: 'phablet' 995 - regex: '(?:Apple-|.+_)?iPh(?:one)?13[C,_][4]' 996 model: 'iPhone 12 Pro Max' 997 device: 'phablet' 998 - regex: '(?:Apple-|.+_)?iPh(?:one)?14[C,_][2]' 999 model: 'iPhone 13 Pro' 1000 device: 'phablet' 1001 - regex: '(?:Apple-|.+_)?iPh(?:one)?14[C,_][3]' 1002 model: 'iPhone 13 Pro Max' 1003 device: 'phablet' 1004 - regex: '(?:Apple-|.+_)?iPh(?:one)?14[C,_][4]' 1005 model: 'iPhone 13 Mini' 1006 device: 'smartphone' 1007 - regex: '(?:Apple-|.+_)?iPh(?:one)?14[C,_][5]' 1008 model: 'iPhone 13' 1009 device: 'phablet' 1010 1011 # specific tablet devices 1012 - regex: '(?:Apple-|.+_)?iPad1[C,_]1' 1013 model: 'iPad' 1014 device: 'tablet' 1015 - regex: '(?:Apple-|.+_)?iPad2[C,_][1234]' 1016 model: 'iPad 2' 1017 device: 'tablet' 1018 - regex: '(?:Apple-|.+_)?iPad2[C,_][567]' 1019 model: 'iPad Mini' 1020 device: 'tablet' 1021 - regex: '(?:Apple-|.+_)?iPad3[C,_][123]' 1022 model: 'iPad 3' 1023 device: 'tablet' 1024 - regex: '(?:Apple-|.+_)?iPad3[C,_][456]' 1025 model: 'iPad 4' 1026 device: 'tablet' 1027 - regex: '(?:Apple-|.+_)?iPad4[C,_][123]' 1028 model: 'iPad Air' 1029 device: 'tablet' 1030 - regex: '(?:Apple-|.+_)?iPad4[C,_][456]' 1031 model: 'iPad Mini 2' 1032 device: 'tablet' 1033 - regex: '(?:Apple-|.+_)?iPad4[C,_][789]' 1034 model: 'iPad Mini 3' 1035 device: 'tablet' 1036 - regex: '(?:Apple-|.+_)?iPad5[C,_][12]' 1037 model: 'iPad Mini 4' 1038 device: 'tablet' 1039 - regex: '(?:Apple-|.+_)?iPad5[C,_][34]' 1040 model: 'iPad Air 2' 1041 device: 'tablet' 1042 - regex: '(?:Apple-|.+_)?iPad6[C,_][34]' 1043 model: 'iPad Pro 9.7' 1044 device: 'tablet' 1045 - regex: '(?:Apple-|.+_)?iPad6[C,_][78]' 1046 model: 'iPad Pro 12.9' 1047 device: 'tablet' 1048 - regex: '(?:Apple-|.+_)?iPad6[C,_](?:11|12)' 1049 model: 'iPad 5 9.7' 1050 device: 'tablet' 1051 - regex: '(?:Apple-|.+_)?iPad7[C,_][12](?:[);/ ]|$)' 1052 model: 'iPad Pro 2 12.9' 1053 device: 'tablet' 1054 - regex: '(?:Apple-|.+_)?iPad7[C,_][34](?:[);/ ]|$)' 1055 model: 'iPad Pro 10.5' 1056 device: 'tablet' 1057 - regex: '(?:Apple-|.+_)?iPad7[C,_][56](?:[);/ ]|$)' 1058 model: 'iPad 6 9.7' 1059 device: 'tablet' 1060 - regex: '(?:Apple-|.+_)?iPad7[C,_](?:11|12)(?:[);/ ]|$)' 1061 model: 'iPad 7 10.2' 1062 device: 'tablet' 1063 - regex: '(?:Apple-|.+_)?iPad8[C,_](?:9|10)' 1064 model: 'iPad Pro 2 11"' 1065 device: 'tablet' 1066 - regex: '(?:Apple-|.+_)?iPad13[C,_]4' 1067 model: 'iPad Pro 3 11" WiFi' 1068 device: 'tablet' 1069 - regex: '(?:Apple-|.+_)?iPad13[C,_][5-7]' 1070 model: 'iPad Pro 3 11"' 1071 device: 'tablet' 1072 - regex: '(?:Apple-|.+_)?iPad8[C,_]1[12]' 1073 model: 'iPad Pro 4 12.9"' 1074 device: 'tablet' 1075 - regex: '(?:Apple-|.+_)?iPad8[C,_][1-4]' 1076 model: 'iPad Pro 3 11.0' 1077 device: 'tablet' 1078 - regex: '(?:Apple-|.+_)?iPad8[C,_][5-8]' 1079 model: 'iPad Pro 3 12.9' 1080 device: 'tablet' 1081 - regex: '(?:Apple-|.+_)?iPad11[C,_][12]' 1082 model: 'iPad Mini 5' 1083 device: 'tablet' 1084 - regex: '(?:Apple-|.+_)?iPad11[C,_][34]' 1085 model: 'iPad Air 3' 1086 device: 'tablet' 1087 - regex: '(?:Apple-|.+_)?iPad11[C,_][67]' 1088 model: 'iPad 8 10.2"' 1089 device: 'tablet' 1090 - regex: '(?:Apple-|.+_)?iPad12[C,_]1' 1091 model: 'iPad 9 10.2" WiFi' 1092 device: 'tablet' 1093 - regex: '(?:Apple-|.+_)?iPad12[C,_]2' 1094 model: 'iPad 9 10.2"' 1095 device: 'tablet' 1096 - regex: '(?:Apple-|.+_)?iPad13[C,_]8' 1097 model: 'iPad Pro 5 12.9" WiFi' 1098 device: 'tablet' 1099 - regex: '(?:Apple-|.+_)?iPad13[C,_](?:9|10|11)' 1100 model: 'iPad Pro 5 12.9"' 1101 device: 'tablet' 1102 - regex: '(?:Apple-|.+_)?iPad13[C,_]1' 1103 model: 'iPad Air 4 WiFi' 1104 device: 'tablet' 1105 - regex: '(?:Apple-|.+_)?iPad13[C,_]2' 1106 model: 'iPad Air 4' 1107 device: 'tablet' 1108 - regex: '(?:Apple-|.+_)?iPad14[C,_]1' 1109 model: 'iPad Mini 6 WiFi' 1110 device: 'tablet' 1111 - regex: '(?:Apple-|.+_)?iPad14[C,_]2' 1112 model: 'iPad Mini 6' 1113 device: 'tablet' 1114 1115 - regex: 'Apple-?TV2[C,_]1' 1116 model: 'Apple TV 2' 1117 device: 'tv' 1118 - regex: 'Apple-?TV3[C,_][12]' 1119 model: 'Apple TV 3' 1120 device: 'tv' 1121 - regex: 'Apple-?TV5[C,_]3' 1122 model: 'Apple TV 4' 1123 device: 'tv' 1124 - regex: 'Apple-?TV6[C,_]2' 1125 model: 'Apple TV 4K' 1126 device: 'tv' 1127 1128 - regex: '(?:iTunes-)?Apple[ _]?TV' 1129 model: 'Apple TV' 1130 device: 'tv' 1131 - regex: 'HomePod' 1132 model: 'HomePod' 1133 device: 'smart speaker' 1134 - regex: 'iTunes-iPad/[0-9]+(?:\.[0-9]+)* \(([^;]+);' 1135 model: 'iPad $1' 1136 device: 'tablet' 1137 - regex: '(?:Apple-|.+_)?iPad' 1138 model: 'iPad' 1139 device: 'tablet' 1140 - regex: 'iTunes-iPhone/[0-9]+(?:\.[0-9]+)* \(([^;]+);' 1141 model: 'iPhone $1' 1142 device: 'smartphone' 1143 - regex: '(?:Apple-)?iPhone ?(3GS?|4S?|5[CS]?|6(:? Plus)?)?' 1144 model: 'iPhone $1' 1145 device: 'smartphone' 1146 1147# micromax 1148MicroMax: 1149 regex: '(?:MicroMax[ \-\_]?[a-z0-9]+|Q327)|4560MMX|P70221|(?:YU(?:5040|5530)|AQ5001(?: Canvas Power)?|N8216|N8301)(?:[);/ ]|$)' 1150 device: 'smartphone' 1151 models: 1152 - regex: 'AQ5001 Canvas Power' 1153 model: 'Canvas Power' 1154 - regex: 'AQ5001' 1155 model: 'Canvas Juice 2' 1156 - regex: 'Q465(?:[);/ ]|$)' 1157 model: 'Canvas Juice 4' 1158 - regex: 'E451(?:[);/ ]|$)' 1159 model: 'Canvas Pulse' 1160 - regex: '4560MMX(?:[);/ ]|$)' 1161 model: '4560MMX' 1162 - regex: 'E481(?:[);/ ]|$)' 1163 model: 'Canvas 5' 1164 - regex: 'Q462(?:[);/ ]|$)' 1165 model: 'Canvas 5 Lite' 1166 - regex: 'P70221(?:[);/ ]|$)' 1167 model: 'Canvas Tab' 1168 device: 'tablet' 1169 - regex: 'Q(3[25]7)(?:[);/ ]|$)' 1170 model: 'Bolt Q$1' 1171 - regex: 'Q417' 1172 model: 'Canvas Mega' 1173 - regex: 'Q402\+' 1174 model: 'Bolt Pace' 1175 - regex: 'YU5040(?:[);/ ]|$)' 1176 model: 'YU Yureka YU5040' 1177 - regex: 'YU5530(?:[);/ ]|$)' 1178 model: 'YU Yureka S YU5530' 1179 - regex: 'Q424' 1180 model: 'Bolt Selfie' 1181 - regex: 'Q402 ?Plus' 1182 model: 'Bharat 2 Plus' 1183 - regex: 'Q426' 1184 model: 'Canvas Mega 2' 1185 - regex: 'N8216' 1186 model: 'Infinity N11' 1187 - regex: 'N8301' 1188 model: 'Infinity N12' 1189 - regex: 'Q440Plus(?:[);/ ]|$)' 1190 model: 'Q440 Plus' 1191 - regex: 'Micromax[_ ]Q353P(?:[);/ ]|$)' 1192 model: 'Q353 Plus' 1193 - regex: 'Q452(?:[);/ ]|$)' 1194 model: 'Spark 4G Prime' 1195 - regex: 'Q4601(?:[);/ ]|$)' 1196 model: 'Selfie 2 Note' 1197 - regex: 'Q421(?:[);/ ]|$)' 1198 model: 'Canvas Magnus HD' 1199 - regex: 'E313(?:[);/ ]|$)' 1200 model: 'Canvas Xpress 2' 1201 - regex: 'Micromax C1A(?:[);/ ]|$)' 1202 model: 'Canvas 1 (2018)' 1203 - regex: 'C2APLS(?:[);/ ]|$)' 1204 model: 'Canvas 2 Plus' 1205 - regex: 'Bharat (\d)(?:[);/ ]|$)' 1206 model: 'Bharat $1' 1207 1208 - regex: 'MicroMax(?:[ \-\_])?(X291|X246|X252|X458|X312)' 1209 model: '$1' 1210 device: 'feature phone' 1211 1212 - regex: 'MicroMax(?:[ \-\_])?(P[a-z0-9]+)' 1213 model: '$1' 1214 device: 'tablet' 1215 - regex: 'MicroMax(?:[ \-\_])?([a-z0-9]+)' 1216 model: '$1' 1217 1218# 3Q 12193Q: 1220 regex: 'AC0731B|AC1024C|AC7803C|BC9710AM|EL72B|LC0720C|LC0723B|LC0725B|LC0804B|LC0808B|LC0809B|LC0810C|LC0816C|LC0901D|LC1016C|MT0724B|MT0729[BD]|MT0811B|OC1020A|RC0709B|RC0710B|RC0718C|RC0719H|RC0721B|RC0722C|RC0726B|RC0734H|RC0743H|RC0817C|RC1018C|RC1019G|RC1025F|RC1301C|RC780[24]F|RC9711B|RC9712C|RC9716B|RC9717B|RC9724C|RC9726C|RC9727F|RC9730C|RC9731C|TS0807B|TS1013B|VM0711A|VM1017A|RC0813C|QS9719D|QS9718C|QS9715F|QS1023H|QS0815C|QS0730C|QS0728C|QS0717D|QS0716D|QS0715C|MT7801C|TS9708B|AC0732C|MT0739D|MT0812E|(?:3Q_)?ER71B' 1221 device: 'tablet' 1222 models: 1223 - regex: 'MT0724B|LC0901D|LC0816C|LC0810C|LC0809B|LC0808B|LC0804B|LC0725B|LC0723B' 1224 model: 'Qoo! P-Pad' 1225 - regex: 'VM1017A|TS1013B|TS0807B|RC9731C|RC9730C|RC9727F|RC9726C|RC9724C|RC9717B|RC9716B|RC9712C|RC9711B|RC1301C|RC1025F|RC1019G|RC1018C|RC0817C|RC0813C|RC0743H|RC0734H|RC0726B|RC0722C|RC0721B|RC0719H|RC0718C|RC0710B|RC0709B|QS9715F|QS1023H|QS0815C|QS0730C|QS0728C|QS0717D|QS0716D|QS0715C|MT0811B|MT0739D|MT0729[BD]|LC1016C|LC0720C|BC9710AM|AC1024C|AC0731B' 1226 model: 'Qoo! Q-Pad' 1227 - regex: 'MT7801C|QS9718C|QS9719D|VM0711A|OC1020A' 1228 model: 'Qoo! Surf' 1229 - regex: 'TS9708B' 1230 model: 'Surf TS1009B' 1231 - regex: 'AC7803C|AC0732C' 1232 model: 'Qoo! Lite' 1233 - regex: 'MT0812E|RC7802F' 1234 model: 'Qoo! Meta' 1235 - regex: 'EL72B|(?:3Q_)?ER71B' 1236 model: 'Qoo! Q-Book' 1237 - regex: '(RC7804F)' 1238 model: 'Qoo! Glaze' 1239 1240# 4Good 12414Good: 1242 regex: '4Good[ _]|S450m [43]G|S555m 4G|S501m 3G|T700i_3G|People (?:G503|G410|GT300)|Light (?:A10[34]|B100)' 1243 device: 'smartphone' 1244 models: 1245 - regex: '(T700i|T100m)[_ ]?3G' 1246 model: '$1 3G' 1247 device: 'tablet' 1248 - regex: 'People (GT300|AT100)' 1249 model: 'People $1' 1250 device: 'tablet' 1251 - regex: 'S555m[_ ]4G' 1252 model: 'People' 1253 - regex: '(S(?:450m|501m)[_ ][43]G|Light (?:A10[34]|B100)|People (?:G503|G410))' 1254 model: '$1' 1255 - regex: '4Good[ _]([^);/]+)(?: Build|[);])' 1256 model: '$1' 1257 1258# Acteck 1259Acteck: 1260 regex: 'BLECK' 1261 device: 'tablet' 1262 model: 'Bleck' 1263 1264# Alba 1265Alba: 1266 regex: 'Alba ?(?:57|4|10 TABLET|(?:[78]|10)(?:Nou|Pie))(?:[);/ ]|$)' 1267 device: 'smartphone' 1268 models: 1269 - regex: 'Alba 57' 1270 model: '5.7' 1271 - regex: 'Alba (4)' 1272 model: '$1' 1273 - regex: '10 TABLET' 1274 device: 'tablet' 1275 model: '10 Tablet' 1276 - regex: 'Alba((?:[78]|10)(?:Nou|Pie))' 1277 device: 'tablet' 1278 model: '$1' 1279 1280# AllCall 1281AllCall: 1282 regex: 'AllCall_|Heat[34]|Rio_X(?:[);/ ]|$)|Hot ?[125][^;/]+ Build' 1283 device: 'smartphone' 1284 models: 1285 - regex: 'AllCall_(Alpha|Atom|Bro|Madrid)' 1286 model: '$1' 1287 - regex: 'AllCall_S1_X' 1288 model: 'S1 X' 1289 - regex: 'AllCall_S1' 1290 model: 'S1' 1291 - regex: 'AllCall_RIO_S' 1292 model: 'Rio S' 1293 - regex: 'AllCall_RIO_PRO' 1294 model: 'Rio Pro' 1295 - regex: 'AllCall_RIO' 1296 model: 'Rio' 1297 - regex: 'Heat([34])' 1298 model: 'Heat $1' 1299 - regex: 'Rio_X(?:[);/ ]|$)' 1300 model: 'Rio X' 1301 - regex: 'Hot ?([125][^;/]+) Build' 1302 model: 'Hot $1' 1303 1304# Bravis 1305Bravis: 1306 regex: 'Bravis[ _]|A501 Bright|A552 JOY Max|A504 Trace|A505 JOY Plus|A503 Joy|NB(?:106M|10[1-8]|751|7[145]|8[57]1|76)|NP101|NB961|NP 104 3G|B501|N1-570 Space|Atlas A551|A511 Harmony|A512 Harmony Pro|A510_Jeans_4G|A509_Jeans|N1_550_Cruiser' 1307 device: 'smartphone' 1308 models: 1309 - regex: 'A501 BRIGHT' 1310 model: 'A501 Bright' 1311 - regex: 'Bravis[_ ]X500' 1312 model: 'Trace Pro' 1313 - regex: 'Bravis[_ ]A506' 1314 model: 'Crystal' 1315 - regex: 'Bravis[_ ]A553' 1316 model: 'Discovery' 1317 - regex: 'BRAVIS[ _]TAU' 1318 model: 'Tau' 1319 - regex: 'BRAVIS[ _]DELTA' 1320 model: 'Delta' 1321 - regex: 'BRAVIS[ _]TREND' 1322 model: 'Trend' 1323 - regex: 'B501' 1324 model: 'Easy' 1325 - regex: 'N1-570' 1326 model: 'Space' 1327 - regex: 'BRAVIS[ ]A554' 1328 model: 'A554 Grand' 1329 - regex: 'BRAVIS[ ]S500' 1330 model: 'S500 Diamond' 1331 - regex: 'A505 JOY Plus' 1332 model: 'A505 Joy Plus' 1333 - regex: 'A552 JOY Max' 1334 model: 'A552 Joy Max' 1335 - regex: 'Atlas A551' 1336 model: 'A551 Atlas' 1337 - regex: 'A503 Joy' 1338 model: 'A503 Joy' 1339 - regex: 'A504 Trace' 1340 model: 'A504 Trace' 1341 - regex: 'A512 Harmony Pro' 1342 model: 'A512 Harmony Pro' 1343 - regex: 'A511 Harmony' 1344 model: 'A511 Harmony' 1345 - regex: 'A510_Jeans_4G' 1346 model: 'A510 Jeans 4G' 1347 - regex: 'A509_Jeans' 1348 model: 'A509 Jeans' 1349 - regex: 'BRAVIS NEO' 1350 model: 'A401 Neo' 1351 - regex: 'N1_550_Cruiser' 1352 model: 'N1-550 Cruiser' 1353 - regex: 'BRAVIS OMEGA' 1354 model: 'Omega' 1355 - regex: 'BRAVIS BIZ' 1356 model: 'Biz' 1357 - regex: 'BRAVIS POWER' 1358 model: 'Power' 1359 - regex: 'BRAVIS[ _]SPARK' 1360 model: 'Spark' 1361 1362 - regex: 'BRAVIS[ _]SLIM[ _]3G' 1363 model: 'Slim 3G' 1364 device: 'tablet' 1365 - regex: 'NP 104 3G' 1366 model: 'NP104 3G' 1367 device: 'tablet' 1368 - regex: 'BRAVIS NP 103' 1369 model: 'NP103' 1370 device: 'tablet' 1371 - regex: 'BRAVIS NP 844' 1372 model: 'NP844' 1373 device: 'tablet' 1374 1375 - regex: 'Bravis[_ ]([^;\)]+) Build' 1376 model: '$1' 1377 - regex: '(NB(?:106M|10[1-8]|75[134]|7[145]|8[57]1|76)|NP101|NB961)' 1378 model: '$1' 1379 device: 'tablet' 1380 1381 1382# Acer (acer.com) 1383Acer: 1384 regex: 'acer|(?<!Satellite |ZTE BLADE |ImSmart |ERGO |X-Style Tab )a(?:101|110|2[10]0|211|50[10]|51[10]|70[10])(?:[);/ ]|$)|Android.*V3[67]0(?:[);/ ]|$)|Android.*Z1[23456]0 Build|Android.*Z5\d{2} Build|Android.*T0[234678] Build|Android.*S55(?! Nova)(?:[);/ ]|$)|(?:A1-(713(HD)?|7[23]4|830|841|840(?:FHD)?|81[01])|A3-A[1234][01]|B1-(7[1235-8][01](HD)?|7[23]3|7A0|8[1235]0|A71|860A)|TPA60W|B3-(A[125]0|A3[02]|A40FHD)|E39)(?:[);/ ]|$)|S5[12]0 Build|(DA[0-9]+HQ?L|Aspire (?:V5-121|XC-704G|V5-573G|4349)|Chromebook 14 \(CB3-431\)|Predator G9-793|GT-810|B1-870|B3-A4[02]|B3-A50FHD|ET-108-11A)(?:[);/ ]|$)' 1385 device: 'smartphone' 1386 models: 1387 # smart displays 1388 - regex: 'DA220HQL(?:[);/ ]|$)' 1389 model: 'DA220HQL' 1390 device: 'smart display' 1391 - regex: 'DA241HL(?:[);/ ]|$)' 1392 model: 'DA241HL' 1393 device: 'smart display' 1394 - regex: '(DA[0-9]+HQ?L)(?:[);/ ]|$)' 1395 model: '$1' 1396 device: 'smart display' 1397 1398 # explicit tablet models 1399 - regex: 'A1-81[01]' 1400 model: 'Iconia A' 1401 device: 'tablet' 1402 - regex: 'ET-108-11A' 1403 model: 'Enduro T1' 1404 device: 'tablet' 1405 - regex: 'ET-108-11A' 1406 model: 'Enduro T1' 1407 device: 'tablet' 1408 - regex: 'TPA60W' 1409 model: 'TPA60W' 1410 device: 'tablet' 1411 - regex: 'A1-84(1|0(?:FHD)?)' 1412 model: 'Iconia Tab 8' 1413 device: 'tablet' 1414 - regex: 'A1-713(HD)?' 1415 model: 'Iconia Tab 7' 1416 device: 'tablet' 1417 - regex: 'A1-830' 1418 model: 'Iconia A1' 1419 device: 'tablet' 1420 - regex: 'A1-7[23]4' 1421 model: 'Iconia Talk S' 1422 device: 'tablet' 1423 - regex: 'A3-A[12][01]' 1424 model: 'Iconia A3' 1425 device: 'tablet' 1426 - regex: 'A3-A[34]0' 1427 model: 'Iconia Tab 10' 1428 device: 'tablet' 1429 - regex: 'B1-7(?:[5678]0|30HD|A0)' 1430 model: 'Iconia One 7' 1431 device: 'tablet' 1432 - regex: 'B1-7[123][01]|B1-A71' 1433 model: 'Iconia B1' 1434 device: 'tablet' 1435 - regex: 'B1-7[23]3' 1436 model: 'Iconia Talk 7' 1437 device: 'tablet' 1438 - regex: 'B1-8[123567]0' 1439 model: 'Iconia One 8' 1440 device: 'tablet' 1441 - regex: 'B3-A([125]0|3[02]|[45]0FHD|4[02])' 1442 model: 'Iconia One 10' 1443 device: 'tablet' 1444 - regex: 'A101' 1445 model: 'Vangogh' 1446 device: 'tablet' 1447 - regex: 'A200' 1448 model: 'Picasso E' 1449 device: 'tablet' 1450 - regex: 'A50[01]' 1451 model: 'Picasso' 1452 device: 'tablet' 1453 - regex: 'Acer One 7' 1454 model: 'One 7' 1455 device: 'tablet' 1456 - regex: 'GT-810' 1457 model: 'Predator 8' 1458 device: 'tablet' 1459 1460 # explicit smartphone models 1461 - regex: 'E39(?:[);/ ]|$)' 1462 model: 'Liquid E700' 1463 - regex: 'E310(?:[);/ ]|$)' 1464 model: 'Liquid Mini' 1465 - regex: 'E320(?:-orange)?(?:[);/ ]|$)' 1466 model: 'Liquid Express' 1467 - regex: 'E310(?:[);/ ]|$)' 1468 model: 'beTouch E210' 1469 - regex: 'Android.*V360(?:[);/ ]|$)' 1470 model: 'Liquid E1 Duo' 1471 - regex: 'Android.*V370(?:[);/ ]|$)' 1472 model: 'Liquid E2 Duo' 1473 - regex: 'S510(?:[);/ ]|$)' 1474 model: 'Liquid S1' 1475 - regex: 'S520(?:[);/ ]|$)' 1476 model: 'Liquid S2' 1477 - regex: '(?:Acer_)?P400(?:[);/ ]|$)' 1478 model: 'neoTouch P400' 1479 - regex: '(?:Acer_)?P300(?:[);/ ]|$)' 1480 model: 'neoTouch P300' 1481 - regex: '(?:Acer_)?S200(?:[);/ ]|$)' 1482 model: 'neoTouch S200' 1483 - regex: '(?:Acer_)?E100(?:[);/ ]|$)' 1484 model: 'beTouch E100' 1485 - regex: 'Android.*Z1([234])0(?:[);/ ]|$)' 1486 model: 'Liquid Z$1' 1487 - regex: 'Android.*Z110(?:[);/ ]|$)' 1488 model: 'Liquid Z110' 1489 - regex: 'Android.*Z150(?:[);/ ]|$)' 1490 model: 'Liquid Z5 Duo' 1491 - regex: 'Android.*Z160(?:[);/ ]|$)' 1492 model: 'Liquid Z4 Duo' 1493 - regex: 'Android.*Z(5\d{2})(?:[);/ ]|$)' 1494 model: 'Liquid Z$1' 1495 - regex: 'Android.*S57(?:[);/ ]|$)' 1496 model: 'Liquid Jade Z' 1497 - regex: 'Android.*T02(?:[);/ ]|$)' 1498 model: 'Liquid Z530' 1499 - regex: 'Android.*T03(?:[);/ ]|$)' 1500 model: 'Liquid Z630' 1501 - regex: 'Android.*T04(?:[);/ ]|$)' 1502 model: 'Liquid Z630S' 1503 - regex: 'Android.*T06(?:[);/ ]|$)' 1504 model: 'Liquid Zest' 1505 - regex: 'Android.*T07(?:[);/ ]|$)' 1506 model: 'Liquid Zest 4G' 1507 - regex: 'Android.*T08(?:[);/ ]|$)' 1508 model: 'Liquid Zest Plus' 1509 - regex: 'TM01(?:[);/ ]|$)' 1510 model: 'Liquid M330' 1511 - regex: 'M220(?:[);/ ]|$)' 1512 model: 'Liquid M220' 1513 - regex: 'AcerTD600' 1514 model: 'TD600' 1515 - regex: 'Android.*S55(?:[);/ ]|$)' 1516 model: 'Liquid Jade' 1517 1518 # desktop models 1519 - regex: '(?:Acer )?(Chromebook R1[13])' 1520 model: '$1' 1521 device: 'desktop' 1522 - regex: '(?:Acer )?(Chromebook 14)' 1523 model: '$1' 1524 device: 'desktop' 1525 - regex: '(Aspire (?:V5-121|XC-704G|V5-573G|A515-51G|4349))' 1526 model: '$1' 1527 device: 'desktop' 1528 - regex: '(Predator G9-793|Aspire E5-511)' 1529 model: '$1' 1530 device: 'desktop' 1531 1532 - regex: 'Acer; ?([^;\(\)/]+)' 1533 model: '$1' 1534 - regex: 'Acer(?! ?inc)[ _\-]?([^;\(\)/]+)[();/ ]' 1535 model: '$1' 1536 - regex: 'acer[\-_]([a-z0-9]+)' 1537 model: '$1' 1538 - regex: 'a(101|110|2[10]0|211|50[10]|51[10]|70[10])(?:[);/ ]|$)' 1539 model: 'Iconia Tab A$1' 1540 device: 'tablet' 1541 1542# Advan 1543Advan: 1544 regex: '(?:ADVAN (?:M4|S40)|i7U|S45E|S50H|I7D|i55[KD]|i4U|S7D|S4Z|i5[KE]|S5E[ _]NXT|S5J\+|S4\+)(?:[);/ ]|$)|[ ](?:50(?:[46]1|59)|600[24])(?: Build|\) AppleWebKit)|(?:E1C_3G)(?:[);/ ]|$)' 1545 device: 'smartphone' 1546 models: 1547 - regex: 'ADVAN M4' 1548 model: 'M4' 1549 - regex: 'ADVAN S40' 1550 model: 'S40' 1551 - regex: 'i7U' 1552 model: 'I Lite i7U' 1553 - regex: 'S5E[ _]NXT' 1554 model: 'S5E NXT' 1555 - regex: 'i(55[KD]|5[KE])' 1556 model: 'I$1' 1557 - regex: 'i4U' 1558 model: 'I4U' 1559 - regex: ' 6004(?: Build|\) AppleWebKit)' 1560 model: 'G2 Pro' 1561 - regex: ' 6002(?: Build|\) AppleWebKit)' 1562 model: 'G3 Pro' 1563 - regex: '(S45E|50[46]1|5059|S50H|I7D|S7D|S4Z|S5J\+|S4\+)(?:[);/ ]|$)' 1564 model: '$1' 1565 - regex: 'E1C_3G' 1566 device: 'tablet' 1567 model: 'E1C 3G' 1568 1569# Advance (advanceperu.com) 1570Advance: 1571 regex: 'Hollogram|(?:HL(?:4936|6246|[56]575|5[67]67)|IntroTr3544|Pr(?:61(?:4[56]|50)|60[27]0|5[69]50)|Tr3845)(?:[);/ ]|$)' 1572 device: 'smartphone' 1573 models: 1574 # explicit table models 1575 - regex: 'IntroTr3544|Tr3845' 1576 model: 'Intro' 1577 device: 'tablet' 1578 - regex: 'Pr(61(?:4[56]|50)|60[27]0|5[69]50)' 1579 model: 'Prime PR$1' 1580 device: 'tablet' 1581 # explicit smartphone models 1582 - regex: 'HL(4936|6246|[56]575|5[67]67)' 1583 model: 'Hollogram HL$1' 1584 - regex: 'Hollogram ([^;/)]+)(?: Build|[;)])' 1585 model: 'Hollogram $1' 1586 1587# AGM (agm.tel) 1588AGM: 1589 regex: 'AGM ([^/;)]+)(?: Build|[;)])' 1590 device: 'smartphone' 1591 models: 1592 - regex: 'AGM A9(?:[);/ ]|$)' 1593 model: 'A9' 1594 - regex: 'AGM ([^/;)]+)(?: Build|[;)])' 1595 model: '$1' 1596 1597# Airness 1598Airness: 1599 regex: 'AIRNESS-([\w]+)' 1600 device: 'feature phone' 1601 model: '$1' 1602 1603# Aiwa 1604Aiwa: 1605 regex: '(?:AW790|M300(?! 4G)|AWM(?:533|50[19]|561)|AW500)(?:[);/ ]|$)' 1606 device: 'smartphone' 1607 models: 1608 - regex: 'AW790(?:[);/ ]|$)' 1609 model: 'AW790' 1610 - regex: 'AW500(?:[);/ ]|$)' 1611 model: 'AW500' 1612 - regex: 'AWM(533|50[19]|561)(?:[);/ ]|$)' 1613 model: 'AWM$1' 1614 - regex: 'M300(?:[);/ ]|$)' 1615 model: 'M300' 1616 device: 'phablet' 1617 1618# Akai 1619Akai: 1620 regex: 'AKAI,|Akai[ _-]|Eco[ _]E2|Glory[ _](?:G[1235]|L[123]|O[125])|TAB-[79]8[03]0Q?|X6 METAL|AKTB-703MZ' 1621 device: 'smartphone' 1622 models: 1623 - regex: 'TAB-([79]8[03]0Q?)' 1624 device: 'tablet' 1625 model: 'TAB $1' 1626 - regex: 'AKTB-703MZ' 1627 device: 'tablet' 1628 model: 'AKTB-703MZ' 1629 1630 - regex: 'X6 METAL' 1631 model: 'iLike' 1632 - regex: 'Glory[ _](G[1235]|L[123]|O[125])' 1633 model: 'Glory $1' 1634 - regex: 'Eco[ _]E2' 1635 model: 'Eco E2' 1636 - regex: 'Akai[ _-]([^;/)]+)(?: Build|[;)])' 1637 model: '$1' 1638 1639 - regex: 'AKAI,(AK3219NF)' 1640 device: 'tv' 1641 model: '$1' 1642 - regex: 'Si2157LG32' 1643 device: 'tv' 1644 model: 'Si2157LG32' 1645 1646# Arian 1647Arian Space: 1648 regex: 'Arian Space' 1649 device: 'tablet' 1650 models: 1651 - regex: '100 ST1004PG' 1652 model: '100' 1653 - regex: '80 SS8003PG' 1654 model: '80' 1655 - regex: '71 ST7002PG' 1656 model: '71' 1657 - regex: '70 ST7001RW' 1658 model: '70' 1659 1660# Alcatel (alcatelmobile.com) 1661Alcatel: 1662 regex: 'Alcatel|Alc(?!or )[a-z0-9]+|One[ _]?Touch|idol3|TIMXL|(?:(?:4003[AJ]|4009[ADEFIKMSX]|4013[DEJKMX]|4014[ADEKMX]|4015[ADNTX]|4016[ADX]|4017[ADEFSX]|4018[ADEFMX]|4024[EDX]|4027[ADNX]|4028[AEJS]|4032[ADEX]|4034[ADEFGXTL]|4035[ADXY]|4045[ADEXL]|4047[ADFGNX]|4049[DEGMX]|4060[SW]|A466BG|A621BL|4114E|4087U|5001[ADJTU]|5002[ABDEFHS]|5003[ADGU]|5006D|5007[AU]|5008[ADUYT]|5009[AD]|5010[DEGSUX]|5011A|5012[DFG]|5015[ADEX]|5016[AXJ]|5017[ABDEOX]|5019D|5022[EDX]|5023[EF]|5024[ADJF]|5025[DEG]|5026[ADJ]|5027B|5028[AYD]|5029[EYDA]|5030[UFDE]|5032W|5033[AEFXDJGMOTXYQS]|5034D|5036D|5038[ADEX]|5039[DY]|5041[CD]|5042[ADEFGWXT]|5044[ADGIKOPSTY]|5045[ADFGIJTXY]|5046[ADGIJSTUY]|5047[DIUY]|5048[AYUI]|5049[EGSWZ]|5050[ASXY]|5051[ADEJMTWX]|5052[ADY]|5053[ADKY]|5054[ADNSTWX]|5056[ADEGIJMNTUWX]|5057M|5058[AIY]|5059[ADJXYZIST]|5060[ADJ]|5061[KU]|5065[ADNWX]|5070D|5080[ADFQUX]|5085[ABCDGHIJNOQY]|5086[ADY]|5090[AIY]|5095[IKY]|5098[OS]|5099[ADYUI]|5116J|5145A|6016[ADEX]|6025H|6036[AXY]|6037[BKY]|6039[AHJKYS]|6042D|6043[AD]|6044D|6045[BFIKOYX]|6050[AFY]|6055[ABDHIKPUYZ]|6058[ADX]|6060[SXC]|6062W|6070K|7040[ADEFKRT]|7041[DX]|7042A|7043[AEKY]|7044[AX]|7045Y|7048[ASWX]|7053D|7055A|7070X|7071[ADX]|8030Y|8050[DEGX]|8063|8088[XQM]|9001[DIX]|900[25]X|9003[AX]|9024O|9013X|9026X|9007[ATX]|9008[ADIJNTUX]|9009G|9010X|9013A|9020A|9022X|9027[QFTWX]|9029Z|9032[XZ]|9203A|A(?:464BG|570BL|50[13]DL|57[17]VL|574BL)|6056H|I213|I216[AX]|(?<!\.)80(?:82|6[78])|A576CC)(?:_(?:EEA|RU))?|P3[36]0X)(?:[);/ ]|$)' 1663 device: 'smartphone' 1664 models: 1665 - regex: '4087U' 1666 model: '1SE Light' 1667 - regex: '5022[EDX]|5070D' 1668 model: 'One Touch Pop Star' 1669 - regex: '6044D' 1670 model: 'One Touch Pop Up' 1671 - regex: '4015[ATX]|4016A' 1672 model: 'One Touch Pop C1' 1673 - regex: '4015[DN]|4016[DX]' 1674 model: 'One Touch Pop C1 Dual SIM' 1675 - regex: '4032[AX]' 1676 model: 'One Touch Pop C2' 1677 - regex: '4032[DE]' 1678 model: 'One Touch Pop C2 Dual SIM' 1679 - regex: '5036D' 1680 model: 'One Touch Pop C5 Dual SIM' 1681 - regex: '7040[AFK]|7041X|7042A' 1682 model: 'One Touch Pop C7' 1683 - regex: '7040[DE]|7041D' 1684 model: 'One Touch Pop C7 Dual SIM' 1685 - regex: '4018[ADEFMX]' 1686 model: 'One Touch Pop D1' 1687 - regex: '4035[ADXY]' 1688 model: 'One Touch Pop D3' 1689 - regex: '5038[ADEX]' 1690 model: 'One Touch Pop D5' 1691 - regex: '4045[AXL]' 1692 model: 'One Touch Pop 2 4"' 1693 - regex: '4045[DE]' 1694 model: 'One Touch Pop 2 4" Dual SIM' 1695 - regex: '5042[AFGWX]' 1696 model: 'One Touch Pop 2 4.5"' 1697 - regex: '5042[DE]' 1698 model: 'One Touch Pop 2 4.5" Dual SIM' 1699 - regex: '7043[AY]|7044[AX]' 1700 model: 'One Touch Pop 2 5"' 1701 - regex: '7043[EK]' 1702 model: 'One Touch Pop 2 5" Dual SIM' 1703 - regex: '50[16]5X' 1704 model: 'One Touch Pop 3' 1705 - regex: '5015[AE]|5016[AJ]|5065[ADWX]|5116J' 1706 model: 'One Touch Pop 3 5"' 1707 - regex: '5025[DEG]|5054[ADSTX]' 1708 model: 'One Touch Pop 3 5.5"' 1709 - regex: '5015D' 1710 model: 'One Touch Pop 3 Dual SIM' 1711 - regex: '5051[AEJMTWX]' 1712 model: 'One Touch Pop 4' 1713 - regex: '5051D' 1714 model: 'One Touch Pop 4 Dual SIM' 1715 - regex: '5095[IKY]' 1716 model: 'One Touch Pop 4S' 1717 - regex: '5056[ADEGJMTUX]' 1718 model: 'One Touch Pop 4+' 1719 - regex: '7070X' 1720 model: 'One Touch Pop 4 6"' 1721 - regex: '5057M' 1722 model: 'One Touch Pop Mirage' 1723 - regex: '5050[ASXY]' 1724 model: 'One Touch Pop S3' 1725 - regex: '7045Y' 1726 model: 'One Touch Pop S7' 1727 - regex: '6037[BKY]' 1728 model: 'One Touch Idol 2' 1729 - regex: '5042T' 1730 model: 'One Touch Astro' 1731 - regex: '5027B' 1732 model: 'One Touch Dawn' 1733 - regex: '5024[ADF]|5028Y|6025H' 1734 model: '1S' 1735 - regex: '7071[ADX]' 1736 model: 'A7 XL' 1737 - regex: '5002[ABDEHS]' 1738 model: '1B (2020)' 1739 - regex: '4034T' 1740 model: '1E' 1741 - regex: '5002F' 1742 model: '1A (2020)' 1743 - regex: '5034D|6056H' 1744 model: '3L' 1745 - regex: 'A576CC' 1746 model: 'Kora A576CC' 1747 - regex: '7040[RT]' 1748 model: 'One Touch Fierce 2' 1749 - regex: '5056[NW]' 1750 model: 'One Touch Fierce 4' 1751 - regex: '5054N' 1752 model: 'One Touch Fierce XL' 1753 - regex: '6042D' 1754 model: 'One Touch Flash' 1755 - regex: '6016[AX]' 1756 model: 'One Touch Idol 2 mini' 1757 - regex: '6016[DE]' 1758 model: 'One Touch Idol 2 mini Dual SIM' 1759 - regex: '6036[AXY]' 1760 model: 'One Touch Idol 2 mini S' 1761 - regex: '6050[AFY]' 1762 model: 'One Touch Idol 2S' 1763 - regex: '6039[AHJKYS]|idol3' 1764 model: 'One Touch Idol 3' 1765 - regex: '6045[BFIKOYX]' 1766 model: 'One Touch Idol 3 5.5"' 1767 - regex: '6055[ABDHIKPUYZ]' 1768 model: 'One Touch Idol 4' 1769 - regex: '6070K' 1770 model: 'One Touch Idol 4S' 1771 - regex: '6058[ADX]' 1772 model: 'One Touch Idol 5' 1773 - regex: '6060[SX]' 1774 model: 'One Touch Idol 5S' 1775 - regex: '(?:Alcatel_)?6060C' 1776 model: 'One Touch Idol 5' 1777 - regex: '6043[AD]' 1778 model: 'One Touch Idol X+' 1779 - regex: '8030Y' 1780 model: 'One Touch Hero 2' 1781 - regex: '7055A' 1782 model: 'One Touch Hero 2C' 1783 - regex: '7053D' 1784 model: 'One Touch X1' 1785 - regex: '5065N' 1786 model: 'TRU' 1787 - regex: 'A574BL' 1788 model: 'Raven' 1789 - regex: 'A577VL' 1790 model: 'Zip' 1791 - regex: 'A466BG' 1792 model: 'Pixi Unite' 1793 - regex: '5056I' 1794 model: 'One Touch Optus X Smart' 1795 - regex: 'A570BL' 1796 model: 'One Touch Pixi Avion LTE' 1797 - regex: 'A571VL' 1798 model: 'One Touch Pixi Avion 4G LTE' 1799 - regex: '4024[DEX]' 1800 model: 'One Touch Pixi First' 1801 - regex: 'A464BG' 1802 model: 'One Touch Pixi Glitz' 1803 - regex: 'A621BL' 1804 model: 'One Touch Pixi Glory' 1805 - regex: '4014D' 1806 model: 'One Touch Pixi 2' 1807 - regex: '4009[AFIKMSX]' 1808 model: 'One Touch Pixi 3 3.5"' 1809 - regex: '4009[DE]' 1810 model: 'One Touch Pixi 3 3.5" Dual SIM' 1811 - regex: '4003[AJ]|4013[DEJKMX]|4014[AEKMX]|4114E' 1812 model: 'One Touch Pixi 3 4"' 1813 - regex: '4027[ADNX]|4028[AEJS]|5019D' 1814 model: 'One Touch Pixi 3 4.5"' 1815 - regex: '5017[ABDEOX]' 1816 model: 'One Touch Pixi 3 4.5" 4G' 1817 - regex: '9002X' 1818 model: 'One Touch Pixi 3 7"' 1819 device: 'phablet' 1820 - regex: '9007A' 1821 model: 'One Touch Pixi 3 7"' 1822 device: 'tablet' 1823 - regex: '9007[TX]' 1824 model: 'One Touch Pixi 3 7" 4G' 1825 device: 'tablet' 1826 - regex: '(?:9009G|9013A)' 1827 model: '1T' 1828 device: 'tablet' 1829 - regex: '(?!<\.)8082(?:_(?:EEA|RU))?(?:[);/ ]|$)' 1830 model: '1T 10' 1831 device: 'tablet' 1832 - regex: '(?:(?!<\.)806[78]|9013X)(?:_(?:EEA|RU))?(?:[);/ ]|$)' 1833 model: '1T 7.0"' 1834 device: 'tablet' 1835 - regex: '9022X' 1836 model: 'One Touch Pixi 3 8"' 1837 device: 'phablet' 1838 - regex: '9010X' 1839 model: 'One Touch Pixi 3 10"' 1840 device: 'tablet' 1841 - regex: '4017[ADEFSX]' 1842 model: 'One Touch Pixi 4 3.5"' 1843 - regex: '4034[ADEFGXL]' 1844 model: 'One Touch Pixi 4 4"' 1845 - regex: '4060[SW]' 1846 model: 'One Touch Pixi 4 4.5"' 1847 - regex: '5023[EF]' 1848 model: 'One Touch Pixi 4 Plus Power' 1849 - regex: '5010[DEGSUX]' 1850 model: 'One Touch Pixi 4 5" 3G' 1851 - regex: '5041D' 1852 model: 'One Touch Pixi 4 5.0"' 1853 - regex: '5012[DFG]' 1854 model: 'One Touch Pixi 4 5.5" 3G' 1855 - regex: '5045[ADFGIJTXY]|5145A' 1856 model: 'One Touch Pixi 4 5" 4G' 1857 - regex: '5098O' 1858 model: 'One Touch Pixi Theatre' 1859 - regex: 'A501DL' 1860 model: 'A1' 1861 - regex: 'A503DL' 1862 model: 'A1X' 1863 - regex: '(?:Alcatel_)?5004R' 1864 model: 'Axel' 1865 - regex: '5046[ADIJTUY]' 1866 model: 'A3' 1867 - regex: '5011A|5049[EG]' 1868 model: 'A3 Plus' 1869 - regex: '9008[ADIJNTUX]' 1870 model: 'A3 XL' 1871 - regex: '9203A' 1872 model: 'A3 7" 3G' 1873 device: 'tablet' 1874 - regex: '(?:9027[QFTWX]|9032X)' 1875 model: '3T 8.0"' 1876 device: 'tablet' 1877 - regex: '9026X' 1878 model: 'A3 10"' 1879 device: 'tablet' 1880 - regex: '5085[BQ]' 1881 model: 'A5' 1882 - regex: '5085[ADHIJY]' 1883 model: 'A5 LED' 1884 - regex: '5085N' 1885 model: 'A5 Max LED' 1886 - regex: '5090[AIY]' 1887 model: 'A7' 1888 - regex: '5046[GS]' 1889 model: 'A30' 1890 - regex: '5049S' 1891 model: 'A30 Plus' 1892 - regex: '5049Z' 1893 model: 'A30 Fierce' 1894 - regex: '5085[GO]' 1895 model: 'A50' 1896 - regex: '5048[AYUI]' 1897 model: '3X (2019)' 1898 - regex: '5049W' 1899 model: 'Revvl' 1900 - regex: '8050[GX]' 1901 model: 'One Touch Pixi 4 6" 3G' 1902 - regex: '8050[ED]' 1903 model: 'One Touch Pixi 4 6" 3G Dual SIM' 1904 - regex: '5098S|9001[DIX]' 1905 model: 'One Touch Pixi 4 6" 4G' 1906 - regex: '9003[AX]' 1907 model: 'One Touch Pixi 4 7" 3G' 1908 device: 'tablet' 1909 - regex: '8063' 1910 model: 'One Touch Pixi 4 7" WiFi' 1911 device: 'tablet' 1912 - regex: '9024O' 1913 model: 'One Touch Pixi 5' 1914 device: 'tablet' 1915 - regex: 'I216[AX]' 1916 model: 'One Touch Pixi 7' 1917 device: 'tablet' 1918 - regex: 'I213' 1919 model: 'One Touch Pixi 7' 1920 device: 'tablet' 1921 - regex: '9005X' 1922 model: 'One Touch Pixi 8' 1923 device: 'tablet' 1924 - regex: 'P320X' 1925 model: 'One Touch POP 8' 1926 device: 'tablet' 1927 - regex: 'P310X' 1928 model: 'One Touch POP 7' 1929 device: 'tablet' 1930 - regex: 'P330X' 1931 model: 'One Touch POP 7S' 1932 device: 'tablet' 1933 - regex: '9020A' 1934 model: 'One Touch Trek HD' 1935 device: 'tablet' 1936 - regex: '7048[ASWX]' 1937 model: 'One Touch Go Play' 1938 - regex: '(?:Alcatel-)?OT-802' 1939 model: 'Wave' 1940 - regex: 'ALCATEL_ONE_TOUCH_768T' 1941 model: 'Island' 1942 - regex: '(?:TRIBE_)?3075A' 1943 model: 'One Touch Tribe' 1944 - regex: 'ALCATEL_one_touch_585' 1945 model: 'One Touch 585' 1946 - regex: 'ALCATEL_ONE_TOUCH_838' 1947 model: 'One Touch 838' 1948 - regex: 'ALCATEL_one_touch_813d' 1949 model: 'One Touch 813D' 1950 - regex: 'ALCATEL_one_touch_813' 1951 model: 'One Touch 813' 1952 - regex: 'OT871A' 1953 model: 'One Touch 871A' 1954 - regex: 'P360X' 1955 model: 'One Touch Pop 10' 1956 - regex: '(?:Alcatel[ _])?One[ _]?Touch[ _]((?:T[0-9]+|TAB[^/;]+|EVO[78](?:HD)?)) Build' 1957 device: 'tablet' 1958 model: 'One Touch $1' 1959 - regex: '(?:Alcatel[ _])?One[ _]?Touch([^/;]*) Build' 1960 model: 'One Touch$1' 1961 - regex: '(?:Alcatel[ _])?One[ _]?Touch([^/;\)]*)\)' 1962 model: 'One Touch$1' 1963 - regex: '5080[ADFQUX]' 1964 model: 'Shine Lite' 1965 - regex: 'TIMXL' 1966 model: 'TIM XL' 1967 - regex: '5085C' 1968 model: 'PulseMix' 1969 - regex: '4049[DEGMX]' 1970 model: 'U3' 1971 - regex: '5044[ADIKOPTY]' 1972 model: 'U5' 1973 - regex: '4047[DFXN]' 1974 model: 'U5 3G' 1975 - regex: '5047[DIUY]' 1976 model: 'U5 HD' 1977 - regex: '4047G' 1978 model: 'U5 Lite' 1979 - regex: '4047A' 1980 model: 'U5 Plus' 1981 - regex: '4044[CV]' 1982 model: 'Quick Flip' 1983 - regex: '4044O' 1984 model: 'Cingular Flip 2' 1985 - regex: '(?:Alcatel)?4044[MNT]' 1986 model: 'Go Flip' 1987 - regex: '5044[GS]' 1988 model: 'U50' 1989 - regex: '5033[ADXJEFGMOTXYQS]' 1990 model: '1' 1991 - regex: '5009[AD]' 1992 model: '1C' 1993 - regex: '5008[ADUYT]' 1994 model: '1X (2019)' 1995 - regex: '5007[AU]' 1996 model: '1V (2020)' 1997 - regex: '5003[ADGU]' 1998 model: '1C (2019)' 1999 - regex: '5006D' 2000 model: '3C (2019)' 2001 - regex: '5024J' 2002 model: '1S' 2003 - regex: '5028[AD]' 2004 model: '1S (2020)' 2005 - regex: '5030E' 2006 model: '1SP (2020)' 2007 - regex: '5030[DUF]' 2008 model: '1SE (2020)' 2009 - regex: '5001[ADJTU]' 2010 model: '1V' 2011 - regex: '5059[ADJXYZIT]' 2012 model: '1X' 2013 - regex: '5059S' 2014 model: 'Avalon V' 2015 - regex: '5060[ADJ]' 2016 model: '5V' 2017 device: 'phablet' 2018 - regex: '5052[ADY]|5053[ADKY]' 2019 model: '3' 2020 - regex: '5029E' 2021 model: '3 (2020)' 2022 - regex: '5029[DYA]' 2023 model: '3L (2020)' 2024 - regex: '5032W|5099[ADYUI]' 2025 model: '3V' 2026 - regex: '5026[ADJ]' 2027 model: '3C' 2028 - regex: '5039[DY]' 2029 model: '3L' 2030 device: 'phablet' 2031 - regex: '5058[AIY]' 2032 model: '3X' 2033 - regex: '5061[KU]' 2034 model: '3X (2020)' 2035 - regex: '5086[ADY]' 2036 model: '5' 2037 - regex: '6062W' 2038 model: '7' 2039 - regex: '8088[XQM]' 2040 model: '3T 10' 2041 device: 'tablet' 2042 - regex: '9029Z' 2043 model: 'Joy Tab' 2044 device: 'tablet' 2045 - regex: '9032Z' 2046 model: 'Joy Tab 2' 2047 device: 'tablet' 2048 - regex: 'Alcatel UP' 2049 model: '' 2050 - regex: '(?:ALCATEL_)?A383G' 2051 model: 'Big Easy Plus' 2052 - regex: '5041C' 2053 model: 'TETRA' 2054 - regex: 'ALCATEL([^/;]+) Build' 2055 model: '$1' 2056 - regex: 'ALCATEL[ \-]?([^/;\)]+)' 2057 model: '$1' 2058 - regex: 'ALCATEL_([^/;\)]+)' 2059 model: '$1' 2060 - regex: 'Alc([a-z0-9]+)' 2061 model: '$1' 2062 2063# Allview (allviewmobile.com) 2064Allview: 2065 regex: 'Allview|A4You|H1003_LTE_PRO|A5_(?:Easy(?:_TM)?|Ready(?:_TM)?|Quad|Quad_Plus_TM)|A[5-9]_Lite|A5Smiley|A6_Duo|A10_Lite_2019|A10_(?:Plus|Max)|AX2_Frenzy|AX4Nano|AX5NanoQ|C6_Duo|E[23]_Living|E3_(?:Jump|Sign)|E4_Lite|M9_Connect|P(?:43_Easy|[5689]_Energy|6_Energy_Lite|[68]_Energy_Mini(?:_TM)?|(41|[458])_eMagic(?:_TM)?|[589](?:_)?Life(?:_TM)?|[567]_Lite(?:_TM)?|6_plus|[45678]_Pro|7_Seon|10_Life|10_Max|10_Style|7_Xtreme|6_Qmax|4_Quad)|V(?:[134]_Viper|1_Viper_I|2_Viper_(?:E|I|S|X|X_plus|Xe))|X4_Soul_Vision|X(?:[1-46]_Soul_Xtreme|[1-5]_Soul|3_Soul_Lite|[2-6]_Soul_Mini(?:_TM)?|4_Soul_Mini_S(?:_TM)?|[2-5]_Soul_Style(?:_TM)?|2_Soul_Style_Plus|2_Twin)|Viva_(?:H801|100[13]G|(?:H100[12]|H701|H802)_LTE|C701|i701G)' 2066 device: 'smartphone' 2067 models: 2068 - regex: 'A4You' 2069 model: 'A4 You' 2070 - regex: 'AX2_Frenzy' 2071 model: 'AX2 Frenzy' 2072 device: 'tablet' 2073 - regex: 'AX4Nano' 2074 model: 'AX4 Nano' 2075 - regex: 'AX5NanoQ' 2076 model: 'AX5 Nano Q' 2077 device: 'tablet' 2078 - regex: 'C6_Duo' 2079 model: 'C6 Duo' 2080 - regex: 'E([23])_Living' 2081 model: 'E$1 Living' 2082 - regex: 'E3_Jump' 2083 model: 'E3 Jump' 2084 - regex: 'E3_Sign' 2085 model: 'E3 Sign' 2086 - regex: 'E4_Lite' 2087 model: 'E4 Lite' 2088 - regex: 'M9_Connect' 2089 model: 'M9 Connect' 2090 - regex: 'P43_Easy' 2091 model: 'P43 Easy' 2092 - regex: 'P(41|[458])_eMagic(?:_TM)?' 2093 model: 'P$1 eMagic' 2094 - regex: 'P([567])_Lite(?:_TM)?' 2095 model: 'P$1 Lite' 2096 - regex: 'P6_plus' 2097 model: 'P6 Plus' 2098 - regex: 'P6_Qmax' 2099 model: 'P6 Qmax' 2100 - regex: 'P([45678])_Pro' 2101 model: 'P$1 Pro' 2102 - regex: 'P4_Quad' 2103 model: 'P4 Quad' 2104 - regex: 'P9_Energy_Lite_2017' 2105 model: 'P9 Energy Lite (2017)' 2106 - regex: 'P9_Energy_S' 2107 model: 'P9 Energy S' 2108 - regex: 'P([69])_Energy_Lite' 2109 model: 'P$1 Energy Lite' 2110 - regex: 'P8_Energy_PRO' 2111 model: 'P8 Energy Pro' 2112 - regex: 'P([689])_Energy_mini(?:_TM)?' 2113 model: 'P$1 Energy Mini' 2114 - regex: 'P([5689])_Energy' 2115 model: 'P$1 Energy' 2116 - regex: 'P7_Seon' 2117 model: 'P7 Seon' 2118 - regex: 'P7_Xtreme' 2119 model: 'P7 Xtreme' 2120 - regex: 'P([589])(?:_)?Life(?:_TM)?' 2121 model: 'P$1 Life' 2122 - regex: 'P10_Life' 2123 model: 'P10 Life' 2124 - regex: 'P10_Max' 2125 model: 'P10 Max' 2126 - regex: 'P10_Style' 2127 model: 'P10 Style' 2128 - regex: 'V([12])_Viper_I4G(?:_TM)?' 2129 model: 'V$1 Viper I 4G' 2130 - regex: 'V1_Viper_I' 2131 model: 'V1 Viper I' 2132 - regex: 'V([134])_Viper' 2133 model: 'V$1 Viper' 2134 - regex: 'V2_Viper_X_plus' 2135 model: 'V2 Viper X Plus' 2136 - regex: 'V2_Viper_(E|I|S|X(?:e)?)' 2137 model: 'V2 Viper $1' 2138 - regex: 'X4_Soul_Vision' 2139 model: 'X4 Soul Vision' 2140 - regex: 'X([1246])_Soul_Xtreme' 2141 model: 'X$1 Soul Xtreme' 2142 - regex: 'X4_Soul_Infinity_(L|N|S|Z)' 2143 model: 'X4 Soul Infinity $1' 2144 - regex: 'X([34])_Soul_Lite' 2145 model: 'X$1 Soul Lite' 2146 - regex: 'X4_Soul_Mini_S(?:_TM)?' 2147 model: 'X4 Soul Mini S' 2148 - regex: 'X([23456])_Soul_Mini(?:_TM)?' 2149 model: 'X$1 Soul Mini' 2150 - regex: 'X3_Soul_PLUS' 2151 model: 'X3 Soul Plus' 2152 - regex: 'X([35])_Soul_Pro' 2153 model: 'X$1 Soul Pro' 2154 - regex: 'X2_Soul_Style_Plus' 2155 model: 'X2 Soul Style Plus' 2156 - regex: 'X([2345])_Soul_Style(?:_TM)?' 2157 model: 'X$1 Soul Style' 2158 - regex: 'X([12345])_Soul' 2159 model: 'X$1 Soul' 2160 - regex: 'X2_Twin' 2161 model: 'X2 Twin' 2162 - regex: 'A5_Easy(?:_TM)?' 2163 model: 'A5 Easy' 2164 - regex: 'A([56789])_Lite' 2165 model: 'A$1 Lite' 2166 - regex: 'A5_Ready(?:_TM)?' 2167 model: 'A5 Ready' 2168 - regex: 'A5Smiley' 2169 model: 'A5 Smiley' 2170 - regex: 'A5_Quad_Plus_TM' 2171 model: 'A5 Quad Plus' 2172 - regex: 'A5_Quad' 2173 model: 'A5 Quad' 2174 - regex: 'A6_Duo' 2175 model: 'A6 Duo' 2176 - regex: 'A10_Lite_2019' 2177 model: 'A10 Lite (2019)' 2178 - regex: 'A10_Plus' 2179 model: 'A10 Plus' 2180 - regex: 'A10_Max' 2181 model: 'A10 Max' 2182 - regex: 'Impera S' 2183 model: 'Impera S' 2184 - regex: 'ALLVIEW P4i' 2185 model: 'AllDro P4' 2186 - regex: 'Allview_P2' 2187 model: 'AllDro' 2188 2189 # explicit tablet models 2190 - regex: 'AllviewCityPlus' 2191 device: 'tablet' 2192 model: 'City Plus' 2193 - regex: 'AllviewCity' 2194 device: 'tablet' 2195 model: 'City' 2196 - regex: 'AllviewAX2Frenzy' 2197 device: 'tablet' 2198 model: 'AX2 Frenzy' 2199 - regex: 'Allview2SpeedDuo' 2200 device: 'tablet' 2201 model: 'Alldro 2 Speed Duo' 2202 - regex: 'Allview3SpeedQuad' 2203 device: 'tablet' 2204 model: 'Alldro 3 Speed Quad' 2205 - regex: 'H1003_LTE_PRO' 2206 device: 'tablet' 2207 model: 'Viva H1003 LTE Pro' 2208 - regex: 'Viva_(H801|100[13]G|(?:H802|H100[12]|H701)_LTE|C701|i701G)' 2209 device: 'tablet' 2210 model: 'Viva $1' 2211 - regex: 'ALLVIEW ?SPEEDI' 2212 device: 'tablet' 2213 model: 'Speed I' 2214 - regex: 'ALLVIEW ?SPEED' 2215 device: 'tablet' 2216 model: 'Speed' 2217 - regex: 'ALLVIEWSPEED' 2218 device: 'tablet' 2219 model: 'Speed' 2220 - regex: 'AX4Nano' 2221 device: 'tablet' 2222 model: 'AX4 Nano' 2223 - regex: 'ALLVIEW_TX1_Quasar' 2224 device: 'tablet' 2225 model: 'TX1 Quasar' 2226 2227 - regex: 'Allview[ _-]([^;/]+) Build' 2228 model: '$1' 2229 - regex: 'Allview[ _-]([^;/]+)(?:[;/)]|$)' 2230 model: '$1' 2231 2232# Allwinner 2233Allwinner: 2234 regex: '(?:QUAD-CORE (?:A64 p3|A33 y3|T3 K2001M|T3 k2001o)|ZY-07B|UltraOcta-T8|OCTA-CORE T8|OCTOPUS-CORE T8|QuadCore-R16)(?:[);/ ]|$)' 2235 device: 'tablet' 2236 models: 2237 - regex: 'QUAD-CORE A64 p3' 2238 model: 'A64 QUAD-CORE p3' 2239 - regex: 'QUAD-CORE A33 y3' 2240 model: 'A33 QUAD-CORE y3' 2241 - regex: 'ZY-07B' 2242 model: 'ZY-07B' 2243 - regex: 'UltraOcta-T8' 2244 device: 'car browser' 2245 model: 'Ultra Octa T8' 2246 - regex: 'QUAD-CORE T3 K2001M' 2247 device: 'car browser' 2248 model: 'QUAD-CORE T3 K2001M' 2249 - regex: 'QUAD-CORE T3 K2001o' 2250 device: 'car browser' 2251 model: 'QUAD-CORE T3 K2001O' 2252 - regex: 'OCTA-CORE T8' 2253 device: 'car browser' 2254 model: 'OCTA-CORE T8' 2255 - regex: 'OCTOPUS-CORE T8' 2256 device: 'car browser' 2257 model: 'OCTOPUS-CORE T8' 2258 - regex: 'QuadCore-R16' 2259 device: 'car browser' 2260 model: 'QUAD-CORE R16' 2261 2262# altron 2263altron: 2264 regex: '(AL-555|GI-626|OB[_-](?:421|728|627))(?:[);/ ]|$)' 2265 device: 'smartphone' 2266 models: 2267 - regex: 'AL-555' 2268 model: 'AL-555' 2269 - regex: 'OB[_-](421|728|627)' 2270 model: 'OB-$1' 2271 - regex: 'GI-626' 2272 device: 'phablet' 2273 model: 'GI-626' 2274 2275# AMGOO 2276AMGOO: 2277 regex: 'AM(350|355|40[257]|41[025]|450|50[89]|52[037]|51[58]|53[05])(?:[);/ ]|$)' 2278 device: 'smartphone' 2279 models: 2280 - regex: 'AM350' 2281 model: 'Jack Pro' 2282 - regex: 'AM(355|407)' 2283 model: 'Tigo' 2284 - regex: 'AM402' 2285 model: 'Pronto' 2286 - regex: 'AM410' 2287 model: 'Unico' 2288 - regex: 'AM450' 2289 model: 'Swift' 2290 - regex: 'AM508' 2291 model: 'Fuego' 2292 - regex: 'AM509' 2293 model: 'Uno' 2294 - regex: 'AM515' 2295 model: 'D1' 2296 - regex: 'AM518' 2297 model: 'C1' 2298 - regex: 'AM520' 2299 model: 'Pro' 2300 - regex: 'AM523' 2301 model: 'Plus' 2302 - regex: 'AM527' 2303 model: 'Geo' 2304 - regex: 'AM530' 2305 model: 'A1' 2306 - regex: 'AM535' 2307 model: 'P1' 2308 - regex: 'AM([0-9]{3})' 2309 model: 'AM$1' 2310 2311# Amoi or ami (amimobile.tech) 2312Amoi: 2313 regex: 'Amoi|(?:A862W|Clever[ -]?(?:Gem S52|Gleam S45|Pad P7|Wave S50|Touch S46|JOY S40|Lite S41))(?:[);/ ]|$)' 2314 device: 'smartphone' 2315 models: 2316 # explicit smartphone tablets 2317 - regex: 'Clever Pad P7' 2318 model: 'Clever Pad P7' 2319 # explicit smartphone models 2320 - regex: 'A862W' 2321 model: 'A862W' 2322 - regex: 'CLEVER JOY S40' 2323 model: 'Clever Joy S40' 2324 - regex: 'Clever[ -]?(Gleam S45|Gem S52|Wave S50|Touch S46|Lite S41)' 2325 model: 'Clever $1' 2326 # explicit feature models 2327 - regex: 'Amoi[-_ /](CA6)' 2328 device: 'feature phone' 2329 model: '$1' 2330 2331 - regex: 'Amoi[-_ /]([a-z0-9]+)' 2332 model: '$1' 2333 - regex: 'Amoisonic-([a-z0-9]+)' 2334 model: '$1' 2335 2336# Ainol 2337Ainol: 2338 regex: 'Numy|novo[0-9]|Novo 10 Hero|AX10PRO|NUMY3GAX9|NOVO10 Spark|Aurora-II' 2339 device: 'tablet' 2340 models: 2341 - regex: 'Numy 3G AX1' 2342 model: 'Novo 7 Numy AX1 3G' 2343 - regex: 'Numy[_ ]?3G[_ ]?Sword' 2344 model: 'Numy 3G Sword' 2345 - regex: 'NOVO10 Spark' 2346 model: 'Novo 10 Spark' 2347 - regex: 'AX10PRO' 2348 model: 'Numy AX10 Pro' 2349 - regex: 'Numy_3G_AX3' 2350 model: 'Numy AX3 Sword' 2351 - regex: 'Numy3GTalos' 2352 model: 'Numy 3G Talos' 2353 - regex: 'Numy_3G_BW1' 2354 model: 'Numy 3G Talos 2' 2355 - regex: 'NUMY3GAX9(?:[);/ ]|$)' 2356 model: 'Numy 3G AX9' 2357 - regex: 'Numy3G_AX10(?:[);/ ]|$)' 2358 model: 'Numy 3G AX10' 2359 - regex: '(Novo 10 Hero QuadCore)' 2360 model: '$1' 2361 - regex: 'Aurora-II' 2362 model: 'Novo 7 Aurora II' 2363 - regex: 'Novo7Fire' 2364 model: 'Novo 7 Fire' 2365 - regex: 'Novo7 ?Flame(?:[);/ ]|$)' 2366 model: 'Novo 7 Flame' 2367 - regex: 'NOVO7(?:[);/ ]|$)' 2368 model: 'Novo 7' 2369 - regex: 'Numy[ _]([^;/]+) Build' 2370 model: 'Numy $1' 2371 - regex: 'Novo([0-9]+)[ \-]([^;/]+) Build' 2372 model: 'Novo $1 $2' 2373 2374 2375# Archos (www.archos.com) 2376Archos: 2377 regex: '(?:YL-)?Archos|(?:A50TI|AC101BHE|AC50BHE)(?:[);/ ]|$)' 2378 device: 'smartphone' 2379 models: 2380 - regex: 'Archos (Oxygen (?:63|57|68XL))(?:[);/ ]|$)' 2381 model: '$1' 2382 - regex: 'A50TI(?:[);/ ]|$)' 2383 model: '50 Titanium 4G' 2384 - regex: 'Archos ?5(?:[);/ ]|$)' 2385 device: 'tablet' 2386 model: '5' 2387 - regex: 'AC101BHE(?:[);/ ]|$)' 2388 device: 'tablet' 2389 model: '101B Helium 4G' 2390 - regex: 'AC50BHE(?:[);/ ]|$)' 2391 model: '50B Helium 4G' 2392 - regex: 'Archos 80 Oxygen(?:[);/ ]|$)' 2393 device: 'tablet' 2394 model: '80 Oxygen' 2395 - regex: '(?:YL-)?Archos ([^/;]*(?:PAD)[^/;]*) Build' 2396 device: 'tablet' 2397 model: '$1' 2398 - regex: 'Archos ((?:[789]|10)[0-9]?[a-z]* ?(?:G9|G10|Helium|Titanium|Cobalt|Platinum|Xenon|Carbon|Neon|XS|IT)[^/);]*)(?: Build|[;)])' 2399 device: 'tablet' 2400 model: '$1' 2401 - regex: '(?:YL-)?Archos ([^/);]+)(?: Build|[;)])' 2402 model: '$1' 2403 2404# Axxion 2405Axxion: 2406 regex: 'Axxion ATAB-[0-9]+(?:[);/ ]|$)' 2407 device: 'tablet' 2408 models: 2409 - regex: 'Axxion ATAB-([0-9]+)(?:[);/ ]|$)' 2410 model: 'ATAB-$1' 2411 2412# Meu 2413MEU: 2414 regex: 'MEU ([a-z0-9]+) Build' 2415 device: 'smartphone' 2416 model: '$1' 2417 2418# Arnova 2419Arnova: 2420 regex: 'arnova|ARCHM901|AN7CG2|AN7G2(DTE|I)?|AN7[BCDFH]?G3|A80KSC|AN8G2|AN8[BC]?G3|AN9G2I?|AN9G3|A101[BC]|AN10G2|AN10BG2(DT|I)?|AN10BG3(DT)?|AN10[CD]G3' 2421 device: 'tablet' 2422 models: 2423 # explicit tablet models 2424 - regex: 'ARCHM901' 2425 model: 'M901' 2426 - regex: 'AN7CG2' 2427 model: '7c G2' 2428 - regex: 'AN7G2I|AN7G2|AN7G2DTE' 2429 model: '7 G2' 2430 - regex: 'AN7G3' 2431 model: '7 G3' 2432 - regex: 'AN7BG3' 2433 model: '7b G3' 2434 - regex: 'AN7CG3' 2435 model: '7c G3' 2436 - regex: 'AN7DG3-CP' 2437 model: 'Childpad' 2438 - regex: 'AN7DG3' 2439 model: '7d G3' 2440 - regex: 'AN7FG3' 2441 model: '7f G3' 2442 - regex: 'AN7HG3' 2443 model: '7h G3' 2444 - regex: 'A80KSC' 2445 model: '8' 2446 - regex: 'AN8G2' 2447 model: '8 G2' 2448 - regex: 'AN8G3' 2449 model: '8 G3' 2450 - regex: 'AN8BG3' 2451 model: '8b G3' 2452 - regex: 'AN8CG3' 2453 model: '8c G3' 2454 - regex: 'AN9G2I' 2455 model: '9i G2' 2456 - regex: 'AN9G2' 2457 model: '9 G2' 2458 - regex: 'AN9G3' 2459 model: '9 G3' 2460 - regex: 'A101B2|A101C|AN10G2' 2461 model: '10 G2' 2462 - regex: 'A101B' 2463 model: '10' 2464 - regex: 'AN10BG2|AN10BG2DT|AN10BG2I' 2465 model: '10b G2' 2466 - regex: 'AN10BG3|AN10BG3DT|AN10BG3-LZ' 2467 model: '10b G3' 2468 - regex: 'AN10CG3' 2469 model: '10c G3' 2470 - regex: 'AN10DG3' 2471 model: '10d G3' 2472 - regex: 'ARNOVA 90G3' 2473 model: '90 G3' 2474 - regex: 'ARNOVA 90 G4' 2475 model: '90 G4' 2476 - regex: 'ARNOVA 97G4' 2477 model: '97 G4' 2478 - regex: 'ARNOVA 101 G4' 2479 model: '101 G4' 2480 2481 - regex: 'Arnova ([^/;]*) Build' 2482 model: '$1' 2483 2484# ARRIS 2485ARRIS: 2486 regex: 'ARRIS' 2487 device: 'tv' 2488 models: 2489 - regex: 'ARRIS[,;] ([^),;/]+)' 2490 model: '$1' 2491 2492# Ask 2493Ask: 2494 regex: 'ASK[ _]' 2495 device: 'smartphone' 2496 models: 2497 - regex: 'ASK[ _]791SP[ _]3G' 2498 model: '791SP 3G' 2499 device: 'tablet' 2500 - regex: 'ASK[_ ]([^/;]*) Build' 2501 model: '$1' 2502 2503# ANS 2504ANS: 2505 regex: 'ANS/|UL40 Build' 2506 device: 'smartphone' 2507 models: 2508 - regex: 'UL40 Build' 2509 model: 'UL40' 2510 - regex: 'ANS/L51' 2511 model: 'L51' 2512 2513# AOC (https://www.aoc.com/) 2514AOC: 2515 regex: 'AOC,' 2516 device: 'tv' 2517 models: 2518 - regex: '(LE(?:32|43)S5970(?:s)?-20|LE55U7970-30|LE43S5977-20|U60856)' 2519 model: '$1' 2520 2521# Assistant 2522Assistant: 2523 regex: '(AS[-_](?:50[123]|543[1-6]|44[12]1|541[12]|54[23]1|6431|[46]01L)|AP-(?:109|115G|721N|753G|7[25]7G|10[68]|107G|110N|941|719))[;/)_ ]' 2524 device: 'smartphone' 2525 models: 2526 - regex: 'AS[-_]401L(?:[);/ ]|$)' 2527 model: 'Asper' 2528 - regex: 'AS-5432(?:[);/ ]|$)' 2529 model: 'Agio' 2530 - regex: 'AS[-_](?:5434|501)(?:[);/ ]|$)' 2531 model: 'Club' 2532 - regex: 'AS_601L(?:[);/ ]|$)' 2533 model: 'AS-601L' 2534 - regex: 'AS-5433 Secret(?:[);/ ]|$)' 2535 model: 'Secret' 2536 - regex: 'AS-5433(?:[);/ ]|$)' 2537 model: 'Max Secret' 2538 - regex: 'AS-5421(?:[);/ ]|$)' 2539 model: 'Surf' 2540 - regex: 'AS-44[12]1(?:[);/ ]|$)' 2541 model: 'Unami' 2542 - regex: 'AS-5431(?:[);/ ]|$)' 2543 model: 'Prima' 2544 - regex: 'AS-502(?:[);/ ]|$)' 2545 model: 'Shot' 2546 - regex: 'AS-503(?:[);/ ]|$)' 2547 model: 'Target' 2548 - regex: 'AS-5435(?:[);/ ]|$)' 2549 model: 'Shine' 2550 - regex: 'AS-5436[ _]' 2551 model: 'Grid' 2552 - regex: 'AS-6431(?:[);/ ]|$)' 2553 model: 'Rider' 2554 - regex: 'AS-5411[_ ]' 2555 model: 'Max Ritm' 2556 - regex: 'AS-5412 Max(?:[);/ ]|$)' 2557 model: 'AS-5412 Max' 2558 - regex: 'AP-721N(?:[);/ ]|$)' 2559 model: 'AP-721N Force' 2560 device: 'tablet' 2561 - regex: 'AP-941(?:[);/ ]|$)' 2562 model: 'AP-941' 2563 device: 'tablet' 2564 - regex: 'AP-108(?:[);/ ]|$)' 2565 model: 'Cetus' 2566 device: 'tablet' 2567 - regex: 'AP-106(?:[);/ ]|$)' 2568 model: 'AP-106 Force' 2569 device: 'tablet' 2570 - regex: '(AP-(?:109|115G|7[25]7G|753G|107G|110N|719))(?:[);/ ]|$)' 2571 device: 'tablet' 2572 model: '$1' 2573 2574# Ark (Ark Electronic Technology) 2575Ark: 2576 regex: '(ARK[_ -])?Benefit[_ -]([^/;]*)(?: Build|\))|Impulse[ _]P[12]|(?:EDGE A5HD|Elf_S8|ICON (R40\+|R45)|Wizard_[12]|UKOZI U5)(?:[);/ ]|$)' 2577 device: 'smartphone' 2578 models: 2579 - regex: '(?:ARK[_ -])?Benefit[_ -]([^/;]*)(?: Build|\))' 2580 model: 'Benefit $1' 2581 - regex: 'Impulse[ _]P1\+' 2582 model: 'Impulse P1 Plus' 2583 - regex: 'Impulse[ _](P[12])' 2584 model: 'Impulse $1' 2585 - regex: 'EDGE (A5HD)' 2586 model: 'Edge $1' 2587 - regex: 'ICON (R40\+|R45)' 2588 model: 'Icon $1' 2589 - regex: 'Wizard_([12])' 2590 model: 'Wizard $1' 2591 - regex: 'Elf_S8(?:[);/ ]|$)' 2592 model: 'Elf S8' 2593 - regex: 'UKOZI U5(?:[);/ ]|$)' 2594 model: 'Ukozi U5' 2595 2596# Garmin-Asus 2597Garmin-Asus: 2598 regex: 'Garmin-Asus|Garminfone' 2599 device: 'smartphone' 2600 models: 2601 - regex: 'Garminfone[ \-_]([^;/]*)Build' 2602 model: 'Garminfone $1' 2603 - regex: 'Garmin-Asus[ \-_]([^;/]+)Build' 2604 model: '$1' 2605 - regex: 'Garmin-Asus[ \-_]([^;/]+)[\)/]' 2606 model: '$1' 2607 2608# Asus 2609Asus: 2610 regex: 'Asus|Transformer|ZenFone Max|MeMOPad 10|TF300T|Slider SL101|PadFone|ME302(?:C|KL)|ME301T|ME371MG|ME17(?:1|2V|3X)|(?:K0[01][0-9a-z]|(?:P(?:00[18ACIL]|01[MTVWYZ]|01MA|01T_1|02[13478])(?: Build|\))|X015D|X018D|X003|X00[7ABT]D|Z00D|Z00[MTY]D|Z01[7FGHKMR]D)|K01[579N]|AST21)(?:[);/ ]|$)|G55[023]KL|ZB(631|602|633|55[135]|50[01])KL|ZC(55[134]|520|600)KL|ZA550KL|ZE(5[02]0|620|55[2345])KL|ZD55[23]KL|ZS6(?:61|7[0213])KS|ZS(6[0236]0|55[10])KL|ZS590KS|ZB(500KG|601KL)|MeMo Pad FHD 10 LTE|Z00[SV]D|P01Y_S|Zenfone 5Z' 2611 device: 'smartphone' 2612 models: 2613 # explicit tablet models 2614 - regex: 'ME171(?:[);/ ]|$)' 2615 model: 'Eee Pad MeMO 171' 2616 device: 'tablet' 2617 - regex: 'ASUS Z906(?:[);/ ]|$)' 2618 model: 'Z906 10.1"' 2619 device: 'tablet' 2620 - regex: 'ME172V' 2621 model: 'MeMO Pad' 2622 device: 'tablet' 2623 - regex: 'ME302C(?:[);/ ]|$)' 2624 model: 'MeMO Pad FHD 10' 2625 device: 'tablet' 2626 - regex: '(ME302KL|MeMOPad 10FHD LTE|MeMo Pad FHD 10 LTE)(?:[);/ ]|$)' 2627 model: 'MeMO Pad FHD 10 LTE' 2628 device: 'tablet' 2629 - regex: 'ME301T(?:[);/ ]|$)' 2630 model: 'MeMO Pad Smart 10' 2631 device: 'tablet' 2632 - regex: 'Z101 Prime(?:[);/ ]|$)' 2633 model: 'Z101 Prime' 2634 device: 'tablet' 2635 - regex: 'Z101(?:[);/ ]|$)' 2636 model: 'Z101' 2637 device: 'tablet' 2638 - regex: 'X Pad 10 LTE(?:[);/ ]|$)' 2639 model: 'X Pad 10 LTE' 2640 device: 'tablet' 2641 - regex: '(?:K01[3A7]|K007|K00R)(?:[);/ ]|$)|MeMO Pad 7' 2642 model: 'MeMO Pad 7' 2643 device: 'tablet' 2644 - regex: 'K01E(?:[);/ ]|$)' 2645 model: 'MeMO Pad 10 ME103K' 2646 device: 'tablet' 2647 - regex: 'K00U|ME173X(?:[);/ ]|$)' 2648 model: 'MeMO Pad HD 7' 2649 device: 'tablet' 2650 - regex: '(?:K01[15]|K00L|AST21)(?:[);/ ]|$)' 2651 model: 'MeMO Pad 8' 2652 device: 'tablet' 2653 - regex: 'K014(?:[);/ ]|$)' 2654 model: 'MeMO Pad 8.9' 2655 device: 'tablet' 2656 - regex: 'K00S(?:[);/ ]|$)' 2657 model: 'MeMO Pad HD 7 Dual SIM' 2658 device: 'tablet' 2659 - regex: 'K00F(?:[);/ ]|$)' 2660 model: 'MeMO Pad 10' 2661 device: 'tablet' 2662 - regex: 'K00C(?:[);/ ]|$)' 2663 model: 'Transformer Pad TF701T' 2664 device: 'tablet' 2665 - regex: 'K010(?:[);/ ]|$)' 2666 model: 'Transformer Pad TF103C' 2667 device: 'tablet' 2668 - regex: 'K018(?:[);/ ]|$)' 2669 model: 'Transformer Pad TF103CG' 2670 device: 'tablet' 2671 - regex: 'TF300T(?:[);/ ]|$)' 2672 model: 'Transformer Pad TF300T' 2673 device: 'tablet' 2674 - regex: 'K01B(?:[);/ ]|$)' 2675 model: 'Transformer Pad TF303K' 2676 device: 'tablet' 2677 - regex: 'Slider SL101' 2678 model: 'Eee Pad Slider SL101' 2679 device: 'tablet' 2680 - regex: 'P01[YZ](?:_S)?' 2681 model: 'ZenPad C 7.0' 2682 device: 'tablet' 2683 - regex: 'P008 Build' 2684 model: 'ZenPad Z8' 2685 device: 'tablet' 2686 - regex: 'P001' 2687 model: 'ZenPad Z10' 2688 device: 'tablet' 2689 - regex: '(?:ASUS_)?P00J' 2690 model: 'ZenPad Z8s' 2691 device: 'tablet' 2692 - regex: 'P01[VW]' 2693 model: 'ZenPad 7.0' 2694 device: 'tablet' 2695 - regex: '(?:P024|P00A)(?:[);/ ]|$)' 2696 model: 'ZenPad 8.0' 2697 device: 'tablet' 2698 - regex: 'P01MA?(?:[);/ ]|$)' 2699 model: 'ZenPad S 8.0' 2700 device: 'tablet' 2701 - regex: 'ASUS_(w706)(?:[);/ ]|$)' 2702 model: '$1' 2703 device: 'tablet' 2704 - regex: 'P027' 2705 model: 'ZenPad 3S 10' 2706 device: 'tablet' 2707 - regex: '(?:ASUS_)?P00I' 2708 model: 'ZenPad 3S 10 LTE' 2709 device: 'tablet' 2710 - regex: '(?:ASUS_)?P00C|P02[138]|P00L|P01T_1' 2711 model: 'ZenPad 10' 2712 device: 'tablet' 2713 - regex: 'ASUS Tablet P1801-T' 2714 model: 'Transformer AiO P1801 18.4"' 2715 device: 'tablet' 2716 - regex: 'ASUS TAB A8' 2717 model: 'TAB A8' 2718 device: 'tablet' 2719 2720 # explicit phablet models 2721 - regex: 'ME371MG(?:[);/ ]|$)' 2722 model: 'Fonepad' 2723 device: 'phablet' 2724 - regex: 'K00G(?:[);/ ]|$)' 2725 model: 'Fonepad Note 6' 2726 device: 'phablet' 2727 - regex: '(?:K01[2N9]|K00E)(?:[);/ ]|$)' 2728 model: 'Fonepad 7' 2729 device: 'phablet' 2730 - regex: 'K00Z(?:[);/ ]|$)' 2731 model: 'Fonepad 7 Dual SIM' 2732 device: 'phablet' 2733 - regex: 'K016(?:[);/ ]|$)' 2734 model: 'Fonepad 8' 2735 device: 'phablet' 2736 2737 # explicit smartphone models 2738 - regex: '(?:ASUS_)?T00N' 2739 model: 'PadFone S' 2740 - regex: '(?:ASUS_)?T00[CE]' 2741 model: 'PadFone Mini' 2742 - regex: '(?:ASUS[-_])?T00T' 2743 model: 'PadFone X Mini' 2744 - regex: 'PadFone T008' 2745 model: 'PadFone E' 2746 - regex: 'PadFone T004' 2747 model: 'PadFone Infinity' 2748 - regex: '(?:ASUS_)?A002(A)?' 2749 model: 'ZenFone AR' 2750 - regex: '(?:ASUS_)?(?:I006D|ZS590KS)' 2751 model: 'ZenFone 8' 2752 - regex: '(?:ASUS_)?(?:I004D|ZS672KS)' 2753 model: 'ZenFone 8 Flip' 2754 - regex: '(?:ASUS_)?A006' 2755 model: 'ZenFone V' 2756 - regex: '(?:ASUS_)?A009' 2757 model: 'ZenFone V Live' 2758 - regex: '(?:ASUS_)?Z007' 2759 model: 'ZenFone C' 2760 - regex: '(?:ASUS_)?(X00P[SD]|ZB555KL)' 2761 model: 'ZenFone Max M1' 2762 - regex: '(?:ASUS_)?(?:ZB60[12]KL)|ZenFone Max Pro M1' 2763 model: 'ZenFone Max Pro M1' 2764 - regex: '(?:ASUS_)?(X01([AB]D)|ZB633KL)(?:[);/ ]|$)' 2765 model: 'ZenFone Max M2' 2766 - regex: '(?:ASUS_)?(?:Z00[AD]|Z008D|Z008|Z00AD[AB]?|ZE551ML)' 2767 model: 'ZenFone 2' 2768 - regex: '(?:ASUS_)?(?:ZenFone 2E)' 2769 model: 'ZenFone 2E' 2770 - regex: '(?:ASUS_)?(?:A007|Z00YD|ZA550KL|ZB553KL|ZB501KL)(?:[);/ ]|$)' 2771 model: 'ZenFone Live' 2772 - regex: '(?:ASUS_)?(?:X00RD|G552KL)' 2773 model: 'ZenFone Live L1' 2774 - regex: 'G553KL' 2775 model: 'ZenFone Lite L1' 2776 - regex: '(?:ASUS_)?(?:Z00[ERLMTW]D|Z011D|ZE500KL)' 2777 model: 'ZenFone 2 Laser' 2778 - regex: '(?:ASUS_)?(?:T00[IQ1]|Z01KD)' 2779 model: 'ZenFone 4' 2780 - regex: '(?:ASUS_)?(?:T00[JF]|X00QD|X00QSA|ZE620KL)' 2781 model: 'ZenFone 5' 2782 - regex: '(?:ASUS_)?T00P' 2783 model: 'ZenFone 5 LTE' 2784 - regex: '(?:ASUS_)?(?:T00K|X017DA|X017D|ZC600KL)' 2785 model: 'ZenFone 5 Lite' 2786 - regex: '(?:ASUS_)?(?:Z01RD|ZS620KL)|Zenfone 5Z' 2787 model: 'ZenFone 5Z' 2788 - regex: '(?:ASUS_)?(?:T00G|Z002|ZS630KL|I01WD[X]?)' 2789 model: 'ZenFone 6' 2790 - regex: '(?:ASUS_)?ZS671KS' 2791 model: 'ZenFone 7 Pro' 2792 - regex: '(?:ASUS_)?(?:ZS670KS|I002D)(?:[);/ ]|$)' 2793 model: 'ZenFone 7' 2794 - regex: '(?:ASUS_)?Z010D' 2795 model: 'ZenFone Max' 2796 - regex: '(?:ASUS_)?X018D' 2797 model: 'ZenFone Max Plus M1' 2798 - regex: '(?:ASUS_)?X00TD?' 2799 model: 'ZenFone Max Pro M1' 2800 - regex: '(?:ASUS_)?(?:X01BDA|ZB631KL|Zenfone Max Pro M2)' 2801 model: 'ZenFone Max Pro M2' 2802 - regex: '(?:ASUS_)?X014D' 2803 model: 'ZenFone Go Plus' 2804 - regex: '(?:ASUS_)?(L001|X00[7AB]D|X009[DB][DA]|X009D|Z00[SV]D|ZB500K[LG]|ZB551KL)' 2805 model: 'ZenFone Go' 2806 - regex: '(?:ASUS_)?X013D' 2807 model: 'ZenFone Go Life' 2808 - regex: '(?:ASUS_)?G550KL' 2809 model: 'ZenFone Go TV' 2810 - regex: '(?:ASUS_)?Z00[SV]D' #ZC500TG 2811 model: 'ZenFone Go' 2812 - regex: '(?:ASUS_)?(X00[23])' 2813 model: 'ZenFone Pegasus' 2814 - regex: '(?:ASUS_)?X005' 2815 model: 'ZenFone Pegasus 5000' 2816 - regex: '(?:ASUS_)?X550' 2817 model: 'ZenFone Pegasus 2 Plus' 2818 - regex: '(?:ASUS_)?(X00GD)' 2819 model: 'ZenFone Pegasus 3S Max' 2820 - regex: '(?:ASUS_)?(?:X00D[DS]|X008D)|ZC553KL' 2821 model: 'ZenFone 3 Max' 2822 - regex: '(?:ASUS_)?(X008)' 2823 model: 'ZenFone 3 Pegasus' 2824 - regex: '(?:ASUS_)?(ZE553KL|Z01HDA?)' 2825 model: 'ZenFone 3 Zoom' 2826 - regex: '(?:ASUS_)?ZS550KL' 2827 model: 'ZenFone 3 Deluxe' 2828 - regex: '(?:ASUS_)?Z00UD' 2829 model: 'ZenFone Selfie' 2830 - regex: '(?:ASUS_)?(Z016[DS]|Z01FD)' 2831 model: 'ZenFone 3 Deluxe' 2832 - regex: '(?:ASUS_)?Z(?:017DA|E520KL|E552KL|017D|012(?:DC?|S))' 2833 model: 'ZenFone 3' 2834 - regex: '(?:ASUS_)?Z01B[DS]|ZC551KL' 2835 model: 'ZenFone 3 Laser' 2836 - regex: '(?:ASUS_)?A001' 2837 model: 'ZenFone 3 Ultra' 2838 - regex: '(?:ASUS_)?(?:ZD552KL|Z01MDA?)(?:[);/ ]|$)' 2839 model: 'ZenFone 4 Selfie Pro' 2840 - regex: '(?:ASUS_)?(?:X00LDA|ZD553KL)' 2841 model: 'ZenFone 4 Selfie' 2842 - regex: '(?:ASUS_)?(?:X00LD|Z01KS|Z01KDA|ZE554KL)' 2843 model: 'ZenFone 4' 2844 - regex: '(?:ASUS_)?X00(?:[HIK]D|IS)|ZC554KL|ZC520KL' 2845 model: 'ZenFone 4 Max' 2846 - regex: '(?:ASUS_)?X015D' 2847 model: 'ZenFone 4 Max Plus' 2848 - regex: '(?:ASUS_)?(:?Z01G[DS]|ZS551KL)' 2849 model: 'ZenFone 4 Pro' 2850 - regex: '(?:ASUS_)?Z00XS' 2851 model: 'ZenFone Zoom' 2852 - regex: '(?:ASUS_)?(?:Z01QD|ZS600KL)' 2853 model: 'ROG Phone' 2854 - regex: '(?:ASUS_)?(?:I001D[ABCE]?|ZS660KL)' 2855 model: 'ROG Phone 2' 2856 - regex: '(?:ASUS_)?(?:I003DD?|ZS661KS)' 2857 model: 'ROG Phone 3' 2858 - regex: '(?:ASUS_)?(?:I005D[AC]?|ZS673KS)' 2859 model: 'ROG Phone 5' 2860 2861 # desktop detections 2862 - regex: 'ZN220IC' 2863 device: 'desktop' 2864 model: 'Zen AiO ZN220IC' 2865 2866 # watch detections 2867 - regex: '(?:ASUS_)?ZenWatch( 2)?' 2868 device: 'wearable' 2869 model: 'ZenWatch$1' 2870 2871 # general detections 2872 - regex: 'Asus(?:-|;)?([a-z0-9]+)' 2873 model: '$1' 2874 - regex: '(PadFone(?: [^;/]+)?) Build' 2875 model: '$1' 2876 - regex: '(PadFone(?: [a-z0-9]+)?)' 2877 model: '$1' 2878 - regex: '(?:Asus|Transformer) ((?:Pad |Prime )?TF[0-9a-z]+)' 2879 device: 'tablet' 2880 model: 'Transformer $1' 2881 - regex: 'Chromebook Flip (C10[01]PA|C302)' 2882 device: 'desktop' 2883 model: 'Chromebook Flip $1' 2884 2885# Audiovox 2886Audiovox: 2887 regex: 'Audiovox|CDM|UTS(?:TARCOM)?\-|audio(?!book)[a-z0-9\-]+' 2888 device: 'smartphone' 2889 models: 2890 - regex: 'Audiovox[_\-]([a-z0-9\-]+)' 2891 model: '$1' 2892 - regex: 'CDM(?:-)?([a-z0-9]+)' 2893 model: 'CDM-$1' 2894 - regex: 'UTS(?:TARCOM)?-([a-z0-9\-]+)' 2895 model: 'CDM-$1' 2896 - regex: 'audio([a-z0-9\-]+)' 2897 model: 'CDM-$1' 2898 2899# AVH 2900AVH: 2901 regex: 'Excer[ _]' 2902 device: 'tablet' 2903 models: 2904 - regex: 'Excer[ _]G5.([36])' 2905 model: 'Excer G5.$1' 2906 - regex: 'Excer[ _]G5' 2907 model: 'Excer G5' 2908 - regex: 'Excer[ _]10[ _]PRO' 2909 model: 'Excer 10 Pro' 2910 - regex: 'Excer[ _]8' 2911 model: 'Excer 8' 2912 2913# Avvio 2914Avvio: 2915 regex: 'Avvio[ _]?([a-z0-9\-]+)|(?:CHIVAS_55|Colombia_2018|Mint_M353)(?:[);/ ]|$)' 2916 device: 'smartphone' 2917 models: 2918 - regex: 'CHIVAS_55' 2919 model: 'Chivas 55' 2920 - regex: 'Mint_M353' 2921 model: 'Mint M353' 2922 - regex: 'Colombia_2018' 2923 model: 'Colombia (2018)' 2924 - regex: 'Avvio[ _]PAD' 2925 model: 'PAD' 2926 device: 'tablet' 2927 - regex: 'Avvio[ _]?([a-z0-9\-]+)' 2928 model: '$1' 2929 2930# Azumi Mobile (azumi-mobile.com) 2931Azumi Mobile: 2932 regex: 'Azumi[_ -]|(?:SPEED55|A50_Style_Plus)(?:[);/ ]|$)' 2933 device: 'smartphone' 2934 models: 2935 - regex: 'Azumi[_ -]([^/;]+) Build' 2936 model: '$1' 2937 - regex: 'Azumi[_ -]([a-z0-9_]+)' 2938 model: '$1' 2939 - regex: 'SPEED55' 2940 model: 'Speed 5.5"' 2941 - regex: 'A50_Style_Plus' 2942 model: 'A50 Style Plus' 2943 2944#Barnes & Noble 2945'Barnes & Noble': 2946 regex: 'Nook|BN[TR]V[0-9]+' 2947 device: 'tablet' 2948 models: 2949 - regex: 'Nook([a-z0-9]+)' 2950 model: 'Nook $1' 2951 - regex: 'Nook[ _]([^/;]+)[ _]Build' 2952 model: 'Nook $1' 2953 - regex: '(BN[TR]V[0-9]+)' 2954 model: 'Nook $1' 2955 2956# BGH 2957BGH: 2958 regex: '(?!Positivo )BGH ([^/;\)]+)(?: Build|\))' 2959 device: 'smartphone' 2960 models: 2961 - regex: 'Y([17]00|2[01]0|1010)' 2962 device: 'tablet' 2963 model: 'Y$1' 2964 - regex: 'BGH (\+Simple|Mini)' 2965 device: 'tablet' 2966 model: '$1' 2967 - regex: 'Y710 KIDS' 2968 device: 'tablet' 2969 model: 'Y710 Kids' 2970 - regex: 'JOY X2' 2971 model: 'Joy X2' 2972 - regex: 'BGH ([^/;\)]+)(?: Build|\))' 2973 model: '$1' 2974 2975# Bitel 2976Bitel: 2977 regex: 'Bitel[ _-]([^/;]+) Build|(?:B(?:840[5-9]|841[0456]|850[2346]|860[146]|9401|950[1-5])|S8402L?|S8501L?)(?:[);/ ]|$)' 2978 device: 'smartphone' 2979 models: 2980 - regex: '(B(?:840[5789]|841[0456]|850[2346]|860[146]|9401|950[12345])|S8402L?|S8501L?)' 2981 model: '$1' 2982 - regex: 'Bitel[ _-]([^/;]+) Build' 2983 model: '$1' 2984 2985# Blu 2986Blu: 2987 regex: 'BLU[ _]|(?:blu|Dash)[ _]([^/;)]+)(?: Build|[;)])|(?:Studio[ _](5.0K|5.5|View XL|Mega|C 8\+8|[CGM][ _]HD|[CGX]|SELFIE|Selfie LTE|Touch|M5 Plus|J[1258]|X8 HD)|Advance (4.0 ?[LM]|5.[02](?: HD)?|A4|L[45])|ENERGY (DIAMOND|XL)|Energy X 2|LIFE XL|B110DL|Dash (?:X[2L]|L3)|PURE (?:X[LR]|MINI|View)|Life One X2|G90(?: PRO)?|GRAND (?:M3|Max|5.5 HD|XL LTE|Mini)|R1 (?:HD|PLUS)|R2 (?:LTE|Plus)|Tank Xtreme [45].0|Tank Xtreme Pro|Touchbook M7 Pro|DASH X PLUS|C[456] 2019|BOLD N1|B130DL|Vivo (?:5 Mini|One Plus|5R|XL[234]| Plus|8L|XI[+]?|GO)|C5L 2020|C6 2020)(?:[);/ ]|$)' 2988 device: 'smartphone' 2989 models: 2990 - regex: 'Advance (4.0 ?[LM]|4.0|5.[02](?: HD)?|A4|L[54])' 2991 model: 'Advance $1' 2992 - regex: '(?:BLU[_ ])?Studio[ _](5.0 C|5.5|C 5\+5 LTE|View XL|Mega|C 8\+8|[CG][ _]HD|C|G|Touch|M HD|M5 Plus|J[1258]|X8 HD|X5|XL|X)(?:[);/ ]|$)' 2993 model: 'Studio $1' 2994 - regex: '(?:BLU[_ ])?Studio[ _]5.0 ?K(?:[);/ ]|$)' 2995 model: 'Studio 5.0 K' 2996 - regex: 'STUDIO SELFIE LTE' 2997 model: 'Studio Selfie LTE' 2998 - regex: 'STUDIO ONE' 2999 model: 'Studio One' 3000 - regex: 'STUDIO SELFIE ([23]|LTE)' 3001 model: 'Studio Selfie $1' 3002 - regex: 'STUDIO SELFIE' 3003 model: 'Studio Selfie' 3004 - regex: '(?:BLU[_ ])?NEO_ENERGY_MINI' 3005 model: 'Neo Energy Mini' 3006 - regex: 'ENERGY DIAMOND' 3007 model: 'Energy Diamond' 3008 - regex: 'ENERGY XL' 3009 model: 'Energy XL' 3010 - regex: 'Energy X 2' 3011 model: 'Energy X 2' 3012 - regex: 'ENERGY X PLUS 2' 3013 model: 'Energy X Plus 2' 3014 - regex: 'ENERGY X PLUS' 3015 model: 'Energy X Plus' 3016 - regex: 'LIFE XL' 3017 model: 'Life XL' 3018 - regex: 'DASH[ _]X[ _]PLUS[ _]LTE' 3019 model: 'Dash X Plus LTE' 3020 - regex: 'DASH X PLUS' 3021 model: 'Dash X Plus' 3022 - regex: 'DASH 4.5' 3023 model: 'Dash 4.5' 3024 - regex: 'Dash XL' 3025 model: 'Dash XL' 3026 - regex: 'PURE (X[LR]|View)' 3027 model: 'Pure $1' 3028 - regex: 'PURE MINI' 3029 model: 'Pure Mini' 3030 - regex: 'BOLD N1' 3031 model: 'Bold N1' 3032 - regex: 'Life One X2 Mini' 3033 model: 'Life One X2 Mini' 3034 - regex: 'LIFE ONE (X2?)' 3035 model: 'Life One $1' 3036 - regex: 'LIFE ONE' 3037 model: 'Life One' 3038 - regex: 'LIFE MARK' 3039 model: 'Life Mark' 3040 - regex: 'NEO X PLUS' 3041 model: 'Neo X Plus' 3042 - regex: 'NEO (XL|X)' 3043 model: 'Neo $1' 3044 - regex: 'G90 PRO' 3045 model: 'G90 Pro' 3046 - regex: 'G90' 3047 model: 'G90' 3048 - regex: 'GRAND 5.5 HD' 3049 model: 'Grand 5.5 HD' 3050 - regex: 'Grand X LTE' 3051 model: 'Grand X LTE' 3052 - regex: 'Grand XL LTE' 3053 model: 'Grand XL LTE' 3054 - regex: 'Grand Max' 3055 model: 'Grand Max' 3056 - regex: 'Grand Mini' 3057 model: 'Grand Mini' 3058 - regex: 'Grand M3' 3059 model: 'Grand M3' 3060 - regex: 'B110DL' 3061 model: 'View Mega' 3062 - regex: 'B130DL' 3063 model: 'View 2' 3064 - regex: 'R1 HD' 3065 model: 'R1 HD' 3066 - regex: 'R2 LTE' 3067 model: 'R2 LTE' 3068 - regex: 'R([12]) PLUS' 3069 model: 'R$1 Plus' 3070 - regex: 'C([456]) 20(19|20)' 3071 model: 'C$1 (20$2)' 3072 - regex: 'Tank Xtreme ([45]).0' 3073 model: 'Tank Xtreme $1.0"' 3074 - regex: 'Tank Xtreme Pro' 3075 model: 'Tank Xtreme Pro' 3076 - regex: 'VIVO AIR LTE' 3077 model: 'Vivo Air LTE' 3078 - regex: 'Touchbook G7' 3079 model: 'Touchbook G7' 3080 - regex: 'C5L 2020' 3081 model: 'C5L (2020)' 3082 - regex: '(?:BLU[_ ])?VIVO[ _]SELFIE' 3083 model: 'Vivo Selfie' 3084 - regex: '(?:BLU[_ ])?Vivo 5 Mini' 3085 model: 'Vivo 5 Mini' 3086 - regex: 'Vivo One Plus 2019' 3087 model: 'Vivo One Plus (2019)' 3088 - regex: '(?:BLU[_ ])?Vivo (One|XL3|XI)(?: Plus|[+])' 3089 model: 'Vivo $1 Plus' 3090 - regex: '(?:BLU[_ ])?Vivo (5R|XI|XL[234]|8L)' 3091 model: 'Vivo $1' 3092 - regex: '(?:BLU[_ ])?VIVO GO' 3093 model: 'Vivo Go' 3094 3095 - regex: 'Touchbook M7 Pro' 3096 model: 'Touchbook M7 Pro' 3097 device: 'tablet' 3098 - regex: 'STUDIO 7.0 II' 3099 model: 'Studio 7.0" II' 3100 device: 'tablet' 3101 3102 - regex: 'DASH (L[45] LTE|5.0|L[45]X|L3|X2|[LMX])(?:[);/ ]|$)' 3103 model: 'Dash $1' 3104 3105 - regex: 'DASH[ _]([^)/;]+)(?: Build|\))' 3106 model: 'Dash $1' 3107 3108 - regex: 'blu[ _]([^/;]+)( Build|[);])' 3109 model: '$1' 3110 3111# Bluegood 3112Bluegood: 3113 regex: 'BLUEGOOD' 3114 device: 'smartphone' 3115 models: 3116 - regex: 'V6' 3117 model: 'V6' 3118 3119# Blackview 3120Blackview: 3121 regex: 'Blackview|(BV([24-9]000|[46]900|(5[1589]|9[15689])00|6[1368]00)(?:[ _](?:PRO))?|(P10000(?:[ _](?:PRO))?)|omega[ _]pro|Alife[ _][PS]1|Heatwave|DM550|BV9700Pro|(?<!Lenovo[_ ])A[68]0(?:Pro)?\))|(?:A[86]0Plus|A80S|BL6000Pro|R6 Lite|P2Lite|A8 MAX)(?:[);/ ]|$)' 3122 device: 'smartphone' 3123 models: 3124 - regex: 'A60Pro\)' 3125 model: 'A60 Pro' 3126 - regex: 'A60\)' 3127 model: 'A60' 3128 - regex: 'A80Pro(?:[);/ ]|$)' 3129 model: 'A80 Pro' 3130 - regex: 'A8 MAX(?:[);/ ]|$)' 3131 model: 'A8 Max' 3132 - regex: 'A80S(?:[);/ ]|$)' 3133 model: 'A80S' 3134 - regex: '(A[86]0|BV[59]500)Plus(?:[);/ ]|$)' 3135 model: '$1 Plus' 3136 - regex: '(BV6000S)' 3137 model: '$1' 3138 - regex: '(P2|R6) ?Lite' 3139 model: '$1 Lite' 3140 - regex: 'BV9000Pro-F' 3141 model: 'BV9000 Pro F' 3142 - regex: '(BL6000|BV(?:[0-9]+))Pro' 3143 model: '$1 Pro' 3144 - regex: 'Blackview (A[78]|E7S)' 3145 model: '$1' 3146 - regex: '(BV6[13]00)(?:[);/ ]|$)' 3147 model: '$1' 3148 device: 'phablet' 3149 - regex: '(BV([24-9]000|6[69]00|4900|9600E|(5[1589]|9[15689])00)(?:[ _](?:PRO))?)' 3150 model: '$1' 3151 - regex: '(P10000(?:[ _](?:PRO))?)' 3152 model: '$1' 3153 - regex: 'omega[ _]pro' 3154 model: 'Omega Pro' 3155 - regex: '(Alife[ _][PS]1|DM550|Heatwave)' 3156 model: '$1' 3157 3158# Bluboo (bluboo.tel) 3159Bluboo: 3160 regex: 'Bluboo|Maya Build|(?:(?<!IQM )Picasso(?: 4G)?|Xfire2?)(?:[);/ ]|$)' 3161 device: 'smartphone' 3162 models: 3163 - regex: 'Maya Build' 3164 model: 'Maya' 3165 - regex: 'Xfire2' 3166 model: 'Xfire 2' 3167 - regex: 'Picasso(?: 4G)?' 3168 model: 'Picasso 4G' 3169 - regex: 'Xfire' 3170 model: 'Xfire' 3171 - regex: '(?:Bluboo[_ ])?S8[_ ]plus' 3172 model: 'S8 Plus' 3173 - regex: 'Bluboo[ _-]?([^;/)]+) Build' 3174 model: '$1' 3175 - regex: 'Bluboo[ _-]?([^;/)]+)' 3176 model: '$1' 3177 3178# Black Fox or BlackFox 3179'Black Fox': 3180 regex: 'BMM[ _-]?(?:44[123]D|441[WB]|44[12]S|431D|533D|54[12]S|541[ABW]|54[123]D|543S|531[ABD]|532 S)(?:[);/ ]|$)' 3181 device: 'smartphone' 3182 models: 3183 - regex: 'BMM443D' 3184 model: 'B7 Fox+' 3185 - regex: 'BMM441S' 3186 model: 'B8 Fox' 3187 - regex: 'BMM442S|BMM441B' 3188 model: 'B8 Fox+' 3189 - regex: 'BMM441W' 3190 model: 'B8M' 3191 - regex: 'BMM442D' 3192 model: 'B7' 3193 - regex: 'BMM531D' 3194 model: 'B6' 3195 - regex: 'BMM531A' 3196 model: 'B5' 3197 - regex: 'BMM541A' 3198 model: 'B5+' 3199 - regex: 'BMM543[DS]' 3200 model: 'B4' 3201 - regex: 'BMM441D' 3202 model: 'B4 Mini' 3203 - regex: 'BMM541B' 3204 model: 'B4 Mini NFC' 3205 - regex: 'BMM531B' 3206 model: 'B4 Mini (2019)' 3207 - regex: 'BMM542D' 3208 model: 'B3+' 3209 - regex: 'BMM541D' 3210 model: 'B3' 3211 - regex: 'BMM541W' 3212 model: 'B7R Fox' 3213 - regex: 'BMM 532 S' 3214 model: 'BMM 532S' 3215 - regex: 'BMM[ _-]?(533D|431D|54[12]S)(?:[);/ ]|$)' 3216 model: 'BMM $1' 3217 3218# bogo 3219bogo: 3220 regex: 'BO-(FRSP4|LFSPBS5|LFSP4|LFSPSL4|LFSPBS5|LFSPSL6QCI)' 3221 device: 'smartphone' 3222 models: 3223 - regex: 'BO-LFSP4' 3224 model: 'LifeStyle 4DC' 3225 - regex: 'BO-LFSPSL4' 3226 model: 'LifeStyle 4SL' 3227 - regex: 'BO-LFSPBS5' 3228 model: 'LifeStyle 5BS' 3229 - regex: 'BO-LFSPSL6QCI' 3230 model: 'LifeStyle 6QC' 3231 - regex: 'BO-(FRSP4)' 3232 model: '$1' 3233 3234# Boway 3235Boway: 3236 regex: '(?:sprd-)?(BOWAY)' 3237 device: 'smartphone' 3238 models: 3239 - regex: 'BOWAY[ _-]([^/;]+)[ _]Build' 3240 model: '$1' 3241 - regex: '([^/;]+) Build/BOWAY' 3242 model: '$1' 3243 - regex: '.*BOWAY[ _-]([^/;]+)/' 3244 model: '$1' 3245 3246# Brondi 3247Brondi: 3248 regex: 'Brondi[ _]|(?:CENTURION|GLADIATOR| GLORY|LUXURY|SENSUELLE|VICTORY)(?:[ _-]?[2-6])?(?:[);/ ]|$)|Surfing Tab|501 SZ' 3249 device: 'smartphone' 3250 models: 3251 - regex: '(?:Brondi[ _])?(620 SZ|730_4G_HD|501 SZ)(?:[);/ ]|$)' 3252 model: '$1' 3253 - regex: 'CENTURION(?:[ _-]?([2-6]))?(?:[);/ ]|$)' 3254 model: 'CENTURION $1' 3255 - regex: 'GLADIATOR(?:[ _-]?([2-6]))?(?:[);/ ]|$)' 3256 model: 'GLADIATOR $1' 3257 - regex: 'GLORY(?:[ _-]?([2-6]))?(?:[);/ ]|$)' 3258 model: 'GLORY $1' 3259 - regex: 'LUXURY(?:[ _-]?([2-6]))?(?:[);/ ]|$)' 3260 model: 'LUXURY $1' 3261 - regex: 'SENSUELLE(?:[ _-]?([2-6]))?(?:[);/ ]|$)' 3262 model: 'SENSUELLE $1' 3263 - regex: 'VICTORY(?:[ _-]?([2-6]))?(?:[);/ ]|$)' 3264 model: 'VICTORY $1' 3265 3266 - regex: 'Surfing Tab ([^;/]+) Build' 3267 model: 'SURFING TAB $1' 3268 device: 'tablet' 3269 - regex: 'Surfing Tab ([^;/)]+)[;/)]' 3270 model: 'SURFING TAB $1' 3271 device: 'tablet' 3272 3273# VGO TEL (vgotel.com) 3274VGO TEL: 3275 regex: 'VGOTEL|(?:Venture V(?:[278]|12)|VentureV10|Ocean[_ ][689]|Ocean9L)(?:[);/ ]|$)' 3276 device: 'smartphone' 3277 models: 3278 - regex: 'Venture ?V([278]|1[02])(?:[);/ ]|$)' 3279 model: 'Venture V$1' 3280 - regex: 'Ocean[_ ]?([689]|9L)(?:[);/ ]|$)' 3281 model: 'Ocean $1' 3282 3283# Vivo (vivo.com.cn, vivo.com) 3284Vivo: 3285 regex: '((?:VIV-|BBG-)?(?<!FBCR/|NOA )vivo(?!(?:Browser)| 4G_r))|(?:V1730(D[AT]|GA)|V18(18CA|01A0|13B[AT]|18T|09[AT]|1[346][AT]|[13]8[AT]|14A|24[B]?A|2[19][AT]|3[12][AT]|36[AT])|V1731CA|V1732[AT]|V1818CT|V19[01]1[AT]|V1932[AT]|V191[3469][AT]|V192[1348]A|V193[04]A|V194[15]A|V1938CT|V1955A|V1938T|V1730EA|V19[26]2A|V196[35]A|V198[16]A|V1936A[L]?|V19[59]0A|V200[125]A|V2006|1819|V201[12]A|V2085A|V202[0345]C?A|V202[235-9]|V205[479]A|V203[0235-8]|V2031[E]?A?|V203[46]A|V204[013]|V204[6789]A|V20(6[158]|99|5[56]|66[B]?|7[23]|80)A|V2046|X50 Pro\+|I1927|I2012|V206[15689]|V205[08]|V2043_21|V213[346]A|V214[13]A|I1928|V21[12]1A|V2106A|V2109|V2123A|V2026_21|V210[25]|V2110)(?:[);/ ]|$)' 3286 device: 'smartphone' 3287 models: 3288 - regex: 'V1824[B]?A(?:[);/ ]|$)' 3289 model: 'iQOO' 3290 - regex: 'V1955A(?:[);/ ]|$)' 3291 model: 'iQOO 3' 3292 - regex: 'I192[78](?:[);/ ]|$)' 3293 model: 'iQOO 3 5G' 3294 - regex: 'V2049A(?:[);/ ]|$)' 3295 model: 'iQOO 7' 3296 - regex: 'I2012(?:[);/ ]|$)' 3297 model: 'iQOO 7 5G' 3298 - regex: 'V1922A(?:[);/ ]|$)' 3299 model: 'iQOO Pro' # 2019 3300 - regex: 'V1916A(?:[);/ ]|$)' 3301 model: 'iQOO Pro 5G' 3302 - regex: 'V1914A(?:[);/ ]|$)' 3303 model: 'iQOO Neo' 3304 - regex: 'V1981A(?:[);/ ]|$)' 3305 model: 'iQOO Neo 3' 3306 - regex: 'V1936A[L]?(?:[);/ ]|$)' 3307 model: 'iQOO Neo 855' 3308 - regex: 'V2055A(?:[);/ ]|$)' 3309 model: 'iQOO Neo 5' 3310 - regex: 'V1986A(?:[);/ ]|$)' 3311 model: 'iQOO Z1' 3312 - regex: 'V2012A(?:[);/ ]|$)' 3313 model: 'iQOO Z1x' 3314 - regex: 'V2073A(?:[);/ ]|$)' 3315 model: 'iQOO Z3' 3316 - regex: 'V1919A(?:[);/ ]|$)' 3317 model: 'iQOO Z5x' 3318 - regex: 'V2023A(?:[);/ ]|$)' 3319 model: 'iQOO U1' 3320 - regex: 'V2065A(?:[);/ ]|$)' 3321 model: 'iQOO U1x' 3322 - regex: 'V2061A(?:[);/ ]|$)' 3323 model: 'iQOO U3' 3324 - regex: 'V2143A(?:[);/ ]|$)' 3325 model: 'iQOO U3x' 3326 - regex: 'V2106A(?:[);/ ]|$)' 3327 model: 'iQOO U3x 5G' 3328 - regex: 'V2024A(?:[);/ ]|$)' 3329 model: 'iQOO 5' 3330 - regex: 'V2025A(?:[);/ ]|$)' 3331 model: 'iQOO 5 Pro' 3332 - regex: 'V2136A(?:[);/ ]|$)' 3333 model: 'iQOO 8' 3334 - regex: 'V2141A(?:[);/ ]|$)' 3335 model: 'iQOO 8 Pro' 3336 - regex: '(?:V2025)(?:[);/ ]|$)' 3337 model: 'V20' 3338 - regex: '(?:V2066)(?:[);/ ]|$)' 3339 model: 'V21' 3340 - regex: '(?:V2050)(?:[);/ ]|$)' 3341 model: 'V21 5G' 3342 - regex: 'V2061(?:[);/ ]|$)' 3343 model: 'V21e' 3344 - regex: 'V2040(?:[);/ ]|$)' 3345 model: 'V20 (2021)' 3346 - regex: 'Vivo 1921(?:[);/ ]|$)' 3347 model: 'U20' 3348 - regex: 'Vivo 1916(?:[);/ ]|$)' 3349 model: 'U10' 3350 - regex: 'vivo 1805(?:[);/ ]|$)' 3351 model: 'Nex' 3352 - regex: '(?:vivo 1912|V1923A)(?:[);/ ]|$)' 3353 model: 'Nex 3' 3354 - regex: 'V1924A(?:[);/ ]|$)' 3355 model: 'Nex 3 5G' 3356 - regex: 'V1950A(?:[);/ ]|$)' 3357 model: 'Nex 3S' 3358 - regex: 'vivo NEX S(?:[);/ ]|$)' 3359 model: 'Nex S' 3360 - regex: 'vivo NEX A(?:[);/ ]|$)' 3361 model: 'Nex A' 3362 - regex: 'vivo NEX(?:[);/ ]|$)' 3363 model: 'Nex' 3364 - regex: '(?:V1821[AT]|vivo 1813)(?:[);/ ]|$)' 3365 model: 'Nex Dual Display' 3366 - regex: 'Vivo ONE(?:[);/ ]|$)' 3367 model: 'One' 3368 - regex: 'V1831[AT](?:[);/ ]|$)' 3369 model: 'S1' 3370 - regex: 'V1832[AT](?:[);/ ]|$)' 3371 model: 'S1 Pro' 3372 - regex: 'V2121A(?:[);/ ]|$)' 3373 model: 'S10' 3374 - regex: 'V1932[AT](?:[);/ ]|$)' 3375 model: 'S5' 3376 - regex: 'V1962A(?:[);/ ]|$)' 3377 model: 'S6 5G' 3378 - regex: 'V2020C?A(?:[);/ ]|$)' 3379 model: 'S7' 3380 - regex: 'V2031EA(?:[);/ ]|$)' 3381 model: 'S7e' 3382 - regex: 'V2080A(?:[);/ ]|$)' 3383 model: 'S7t' 3384 - regex: 'V2072A(?:[);/ ]|$)' 3385 model: 'S9 (2021)' 3386 - regex: 'V2048A(?:[);/ ]|$)' 3387 model: 'S9e' 3388 - regex: 'V1941A(?:[);/ ]|$)' 3389 model: 'U3' 3390 - regex: 'V1928A(?:[);/ ]|$)' 3391 model: 'U3X' 3392 - regex: 'vivo 1804(?:[);/ ]|$)' 3393 model: 'V11 Pro' 3394 - regex: 'vivo 1806(?:[);/ ]|$)' 3395 model: 'V11i' 3396 - regex: '1819(?:[);/ ]|$)' 3397 model: 'V15' 3398 - regex: 'vivo 1818(?:[);/ ]|$)' 3399 model: 'V15 Pro' 3400 - regex: 'vivo 19(?:10|09)(?:[);/ ]|$)' 3401 model: 'V17 Pro' 3402 - regex: 'vivo 1907(?:_19)?(?:[);/ ]|$)' 3403 model: 'V17 Neo' 3404 - regex: 'vivo 19(?:20|19)(?:[);/ ]|$)' 3405 model: 'V17' 3406 - regex: 'vivo 1933(?:[);/ ]|$)' 3407 model: 'V19' 3408 - regex: 'V2022(?:[);/ ]|$)' 3409 model: 'V20 SE' 3410 - regex: 'vivo 2018(?:[);/ ]|$)' 3411 model: 'V20 Pro' 3412 - regex: '(?:VIV-|BBG-)?vivo[ _]1601(?:[);/ ]|$)' 3413 model: 'V5' 3414 - regex: 'vivo 1609(?:[);/ ]|$)' 3415 model: 'V5 Lite' 3416 - regex: 'vivo 1611(?:[);/ ]|$)' 3417 model: 'V5 Plus' 3418 - regex: 'vivo (1713|1612)(?:[);/ ]|$)' 3419 model: 'V5s' 3420 - regex: 'vivo 1718(?:[);/ ]|$)' 3421 model: 'V7' 3422 - regex: 'vivo (?:1716|1850)(?:[);/ ]|$)' 3423 model: 'V7 Plus' 3424 - regex: 'vivo 1723(?:[);/ ]|$)' 3425 model: 'V9' 3426 - regex: 'vivo 1727(?:[);/ ]|$)' 3427 model: 'V9 Youth' 3428 - regex: 'vivo 1851(?:[);/ ]|$)' 3429 model: 'V9 Pro' 3430 - regex: 'vivo V3Max(?: [AL])?(?:[);/ ]|$)' 3431 model: 'V3 Max' 3432 - regex: 'vivo X9s Plus(?:[);/ ]|$)' 3433 model: 'X9s Plus' 3434 - regex: 'vivo X9s(?: [AL])?(?:[);/ ]|$)' 3435 model: 'X9s' 3436 - regex: 'vivo X5Pro(?:[);/ ]|$)' 3437 model: 'X5 Pro' 3438 - regex: 'vivo 1721(?:[);/ ]|$)' 3439 model: 'X20' 3440 - regex: '(?:X20Plus(?: a)?|vivo 1720)(?:[);/ ]|$)' 3441 model: 'X20 Plus' 3442 - regex: 'vivo X21i(?: A)?(?:[);/ ]|$)' 3443 model: 'X21i' 3444 - regex: 'vivo X21UD(?: A)?(?:[);/ ]|$)' 3445 model: 'X21 UD' 3446 - regex: 'vivo (?:1725|X21A?)(?:[);/ ]|$)' 3447 model: 'X21' 3448 - regex: 'V1814[AT](?:[);/ ]|$)' 3449 model: 'X21S' 3450 - regex: 'V1809[AT](?:[);/ ]|$)' 3451 model: 'X23' 3452 - regex: 'V1816[AT](?:[);/ ]|$)' 3453 model: 'X23' 3454 - regex: 'V18(38|29)[AT](?:[);/ ]|$)' 3455 model: 'X27' 3456 - regex: 'V1836[AT](?:[);/ ]|$)' 3457 model: 'X27 Pro' 3458 - regex: 'V1938CT(?:[);/ ]|$)' 3459 model: 'X30' 3460 - regex: 'V1938T(?:[);/ ]|$)' 3461 model: 'X30 Pro' 3462 - regex: '(?:V2001A|vivo 2004)(?:[);/ ]|$)' 3463 model: 'X50' 3464 - regex: 'vivo 2005(?:[);/ ]|$)' 3465 model: 'X50 5G' 3466 - regex: 'vivo 1937(?:[);/ ]|$)' 3467 model: 'X50 Lite' 3468 - regex: '(?:V2005A|vivo 2006)(?:[);/ ]|$)' 3469 model: 'X50 Pro' 3470 - regex: '(?:V2011A|X50 Pro\+)(?:[);/ ]|$)' 3471 model: 'X50 Pro Plus' 3472 - regex: 'V20(?:46|59)A(?:[);/ ]|$)' 3473 model: 'X60' 3474 - regex: 'V2085A(?:[);/ ]|$)' 3475 model: 'X60t' 3476 - regex: '(?:V2047A|V2046)(?:[);/ ]|$)' 3477 model: 'X60 Pro' 3478 - regex: 'V2056A(?:[);/ ]|$)' 3479 model: 'X60 Pro Plus' 3480 - regex: '(?:V2134A|V2105)(?:[);/ ]|$)' 3481 model: 'X70 Pro' 3482 - regex: 'V2133A(?:[);/ ]|$)' 3483 model: 'X70' 3484 - regex: 'X([0-9])Plus(?: A)?(?:[);/ ]|$)' 3485 model: 'X$1 Plus' 3486 - regex: 'vivo Xplay6(?:[);/ ]|$)' 3487 model: 'X Play 6' 3488 - regex: 'vivo 2015(?:_21)?(?:[);/ ]|$)' 3489 model: 'Y1s' 3490 - regex: 'vivo 1902(?:[);/ ]|$)' 3491 model: 'Y17' 3492 - regex: 'vivo 1906(?:_20)?(?:[);/ ]|$)' 3493 model: 'Y11' 3494 - regex: 'vivo 19(?:04|40)(?:[);/ ]|$)' 3495 model: 'Y12' 3496 - regex: 'V2102(?:[);/ ]|$)' 3497 model: 'Y12a' 3498 - regex: 'vivo 2007(?:[);/ ]|$)' 3499 model: 'Y12i' 3500 - regex: 'vivo 1901(?:[);/ ]|$)' 3501 model: 'Y15' 3502 - regex: 'vivo 1915(?:[);/ ]|$)' 3503 model: 'Y19' 3504 - regex: 'V202[79](?:[);/ ]|$)' 3505 model: 'Y20' 3506 - regex: 'vivo 1613(?:[);/ ]|$)' 3507 model: 'Y25' 3508 - regex: 'V2043_21(?:[);/ ]|$)' 3509 model: 'Y20 (2021)' 3510 - regex: 'V2037(?:[);/ ]|$)' 3511 model: 'Y20G' 3512 - regex: 'V2065(?:[);/ ]|$)' 3513 model: 'Y20G (2021)' 3514 - regex: 'V2028(?:[);/ ]|$)' 3515 model: 'Y11s' 3516 - regex: 'V2038(?:[);/ ]|$)' 3517 model: 'Y20s' 3518 - regex: 'V2043(?:[);/ ]|$)' 3519 model: 'Y20 (2021)' 3520 - regex: 'V2041(?:[);/ ]|$)' 3521 model: 'Y72 5G' 3522 - regex: 'V2032(?:[);/ ]|$)' 3523 model: 'Y20i' 3524 - regex: 'V2110(?:[);/ ]|$)' 3525 model: 'Y21s' 3526 - regex: 'V2023(?:[);/ ]|$)' 3527 model: 'V20 SE' 3528 - regex: 'V1901[AT](?:[);/ ]|$)' 3529 model: 'Y3' 3530 - regex: 'V1930A(?:[);/ ]|$)' 3531 model: 'Y3 Standard' 3532 - regex: '(?:vivo 1938|V203[46]A)(?:[);/ ]|$)' 3533 model: 'Y30' 3534 - regex: 'V2099A(?:[);/ ]|$)' 3535 model: 'Y30 (2021)' 3536 - regex: 'V2066[B]?A(?:[);/ ]|$)' 3537 model: 'Y30g' 3538 - regex: 'V2036(?:[);/ ]|$)' 3539 model: 'Y31' 3540 - regex: 'V2068A?(?:[);/ ]|$)' 3541 model: 'Y31s' 3542 - regex: 'V2109(?:[);/ ]|$)' 3543 model: 'Y33s' 3544 - regex: 'V1934A(?:[);/ ]|$)' 3545 model: 'Y5s' 3546 - regex: '(?:V1965A|vivo 1935)(?:[);/ ]|$)' 3547 model: 'Y50' 3548 - regex: 'V203[05](?:[);/ ]|$)' 3549 model: 'Y51' 3550 - regex: 'vivo 1707(?:[);/ ]|$)' 3551 model: 'Y51 (2015)' 3552 - regex: 'V2031(?:[);/ ]|$)' 3553 model: 'Y51s' 3554 - regex: 'V2054A(?:[);/ ]|$)' 3555 model: 'Y31s' 3556 - regex: 'V2057A(?:[);/ ]|$)' 3557 model: 'Y52s' 3558 - regex: 'vivo 1606(?:[);/ ]|$)' 3559 model: 'Y53i' 3560 - regex: 'vivo 1606a(?:[);/ ]|$)' 3561 model: 'Y53' 3562 - regex: '(?:V2058|V2111A|V2123A)(?:[);/ ]|$)' 3563 model: 'Y53s' 3564 - regex: 'vivo 1603(?:[);/ ]|$)' 3565 model: 'Y55l' 3566 - regex: 'vivo 1610(?:[);/ ]|$)' 3567 model: 'Y55s' 3568 - regex: 'vivo 1719(?:[);/ ]|$)' 3569 model: 'Y65' 3570 - regex: 'vivo (?:1714|Y69A?)(?:[);/ ]|$)' 3571 model: 'Y69' 3572 - regex: 'V2002A(?:[);/ ]|$)' 3573 model: 'Y70s' 3574 - regex: 'V2006(?:[);/ ]|$)' 3575 model: 'Y60s' 3576 - regex: 'vivo (?:1724|Y71A?)(?:[);/ ]|$)' 3577 model: 'Y71' 3578 - regex: 'vivo 1801i?(?:[);/ ]|$)' 3579 model: 'Y71i' 3580 - regex: 'V1731CA(?:[);/ ]|$)' 3581 model: 'Y73' 3582 - regex: 'V2031A(?:[);/ ]|$)' 3583 model: 'Y73s' 3584 - regex: 'V1913[AT](?:[);/ ]|$)' 3585 model: 'Y7s' 3586 - regex: 'vivo 180([38]|8i)(?:[);/ ]|$)' 3587 model: 'Y81' 3588 - regex: 'vivo 1812(?:_19)?(?:[);/ ]|$)' 3589 model: 'Y81i' 3590 - regex: 'V1732[AT](?:[);/ ]|$)' 3591 model: 'Y81s' 3592 - regex: 'vivo (?:Y83A?|1802)(?:[);/ ]|$)' 3593 model: 'Y83' 3594 - regex: 'vivo 1726(?:[);/ ]|$)' 3595 model: 'Y83 Pro' 3596 - regex: 'V1730EA(?:[);/ ]|$)' 3597 model: 'Y89' 3598 - regex: 'vivo (?:1823|1908)(?:_19)?(?:[);/ ]|$)' 3599 model: 'Y90' 3600 - regex: 'vivo 181[17](?:[);/ ]|$)' 3601 model: 'Y91' 3602 - regex: 'vivo 1820(?:_19)?(?:[);/ ]|$)' 3603 model: 'Y91i' 3604 - regex: 'V1945A(?:[);/ ]|$)' 3605 model: 'Y9s' 3606 - regex: '(?:V2026|V2033)(?:[);/ ]|$)' 3607 model: 'Y12s' 3608 - regex: '(?:V2069|V2026_21)(?:[);/ ]|$)' 3609 model: 'Y12s (2021)' 3610 - regex: 'vivo 18(16|20)(?:[);/ ]|$)' 3611 model: 'Y91i' 3612 - regex: '(V1818[AT]|vivo 181[45])(?:[);/ ]|$)' 3613 model: 'Y93' 3614 - regex: 'V1818C[AT](?:[);/ ]|$)' 3615 model: 'Y93s' 3616 - regex: 'vivo 1807(?:[);/ ]|$)' 3617 model: 'Y95' 3618 - regex: 'V1813[AT](?:[);/ ]|$)' 3619 model: 'Y97' 3620 - regex: 'V1801A0(?:[);/ ]|$)' 3621 model: 'Z1' 3622 - regex: 'vivo (?:1918|1951)(?:[);/ ]|$)' 3623 model: 'Z1 Pro' 3624 - regex: 'V1730D[AT](?:[);/ ]|$)' 3625 model: 'Z1i' 3626 - regex: 'vivo 1917(?:[);/ ]|$)' 3627 model: 'Z1x' 3628 - regex: 'V1813B[AT](?:[);/ ]|$)' 3629 model: 'Z3' 3630 - regex: '(?:vivo Z3x|V1730GA)(?:[);/ ]|$)' 3631 model: 'Z3x' 3632 - regex: 'V1921A(?:[);/ ]|$)' 3633 model: 'Z5' 3634 - regex: 'V1911A(?:[);/ ]|$)' 3635 model: 'Z5x' 3636 - regex: 'V1990A(?:[);/ ]|$)' 3637 model: 'Z5x (2020)' 3638 - regex: 'V1963A(?:[);/ ]|$)' 3639 model: 'Z6' 3640 - regex: 'vivo Y75s(?:[);/ ]|$)' 3641 model: 'Y75s' 3642 - regex: 'vivo X710L?(?:[);/ ]|$)' 3643 model: 'X Shot' 3644 - regex: 'X6SPlus(?: [AD])?(?:[);/ ]|$)' 3645 model: 'X6S Plus' 3646 - regex: 'vivo X6S(?: A)?(?:[);/ ]|$)' 3647 model: 'X6S' 3648 - regex: 'vivo X([5679]|20)[ALD]?(?:[);/ ]|$)' 3649 model: 'X$1' 3650 - regex: 'vivo X5Pro(?: L)?(?:[);/ ]|$)' 3651 model: 'X5 Pro' 3652 - regex: 'vivo Y66i(?: A)?(?:[);/ ]|$)' 3653 model: 'Y66i' 3654 - regex: 'vivo Y(\d{2})[AL]?(?:[);/ ]|$)' 3655 model: 'Y$1' 3656 - regex: 'vivo Xplay(\d)S(?:[);/ ]|$)' 3657 model: 'X Play $1S' 3658 - regex: 'vivo Xplay(\d)[AL]?(?:[);/ ]|$)' 3659 model: 'X Play $1' 3660 - regex: '(?:VIV-|BBG-)?vivo[ _]([^/;]+) Build' 3661 model: '$1' 3662 - regex: '(?:VIV-|BBG-)?vivo[ _]([^);/]+)(?:[);/]|$)' 3663 model: '$1' 3664 3665# Vinsoc 3666Vinsoc: 3667 regex: '(XA Pro) Build' 3668 device: 'smartphone' 3669 model: '$1' 3670 3671# Bird 3672Bird: 3673 regex: 'BIRD[\-. _]([^;/]+)' 3674 device: 'feature phone' 3675 models: 3676 - regex: 'BIRD[\-. _]([^;/]+) Build' 3677 model: '$1' 3678 - regex: 'BIRD[\-. _]([^;/]+)' 3679 model: '$1' 3680 3681# Becker 3682Becker: 3683 regex: 'Becker-([a-z0-9]+)' 3684 device: 'feature phone' 3685 model: '$1' 3686 3687# Beeline 3688Beeline: 3689 regex: 'Beeline|A239s(?:[);/]|$)' 3690 device: 'smartphone' 3691 models: 3692 - regex: 'Beeline[_ ]Pro[_ ]([2436])' 3693 model: 'Pro $1' 3694 - regex: 'Tab (Fast(?: 2)?|Pro)' 3695 model: 'Tab $1' 3696 device: 'tablet' 3697 - regex: 'Tab ([0-9])' 3698 model: 'Tab $1' 3699 device: 'tablet' 3700 - regex: 'Tab' 3701 model: 'Tab' 3702 device: 'tablet' 3703 - regex: 'E([67]00)' 3704 model: 'E$1' 3705 - regex: '(?:Beeline[_ ])?Smart[ _]?([0-9])' 3706 model: 'Smart $1' 3707 - regex: 'Smart Dual' 3708 model: 'Smart Dual' 3709 - regex: '(?:Beeline[_ ])?Fast[_ ]2(?:[);/ ]|$)' 3710 model: 'Fast 2' 3711 - regex: 'Fast(?:[);/ ]|$)' 3712 model: 'Fast' 3713 - regex: 'A239s(?:[);/ ]|$)' 3714 model: 'Smart 8 A239s' 3715 3716# Beetel 3717Beetel: 3718 regex: 'Beetel ([a-z0-9]+)' 3719 device: 'feature phone' 3720 model: '$1' 3721 3722# BenQ-Siemens 3723BenQ-Siemens: 3724 regex: 'BENQ-SIEMENS - ([a-z0-9]+)' 3725 device: 'feature phone' 3726 model: '$1' 3727 3728# BenQ 3729BenQ: 3730 regex: 'BENQ(?:[ \-])?([a-z0-9]+)|(?:F52_09|F5_15)(?:[);/ ]|$)' 3731 device: 'feature phone' 3732 models: 3733 - regex: 'F(52|5)_(?:15|09)(?:[);/ ]|$)' 3734 model: 'F$1' 3735 - regex: 'BENQ(?:[ \-])?([a-z0-9]+)' 3736 model: '$1' 3737 3738# Blaupunkt (blaupunkt.com) 3739Blaupunkt: 3740 regex: 'Blaupunkt|Soundphone S2|Atlantis[_ ](?:1001A|1010A|A10\.G40[23])|SLplus02|Discovery[_ ](?:A10_302|111C|1000C|1001A?)|Endeavour[_ ](?:785|101[GLM]|1000|1001|101[03]|1100)|Polaris[_ ]803|BP_6010' 3741 device: 'tablet' 3742 models: 3743 - regex: 'Discovery[_ ]111C' 3744 model: 'Discovery 111C' 3745 - regex: 'Discovery[_ ]A10_302' 3746 model: 'Discovery A10.302' 3747 - regex: 'Discovery[_ ]1000C' 3748 model: 'Discovery 1000C' 3749 - regex: 'Discovery[_ ]1001A' 3750 model: 'Discovery 1001A' 3751 - regex: 'Discovery[_ ]1001' 3752 model: 'Discovery 1001' 3753 - regex: 'Soundphone S2' 3754 model: 'Soundphone S2' 3755 - regex: 'Endeavour[_ ](101[GLM]|785|100[01]|101[03]|1100)' 3756 model: 'Endeavour $1' 3757 - regex: 'Polaris[_ ](803)' 3758 model: 'Polaris $1' 3759 - regex: 'Atlantis[_ ](1001A|1010A|A10\.G40[23])' 3760 model: 'Atlantis $1' 3761 - regex: 'SLplus02' 3762 model: 'SL Plus 02' 3763 - regex: '(BP_6010)' 3764 model: '$1' 3765 - regex: 'Blaupunkt[_ ](SL[_ ]0[124]|SM[_ ]0[12])' 3766 device: 'smartphone' 3767 model: '$1' 3768 - regex: '(4K Android TV)' 3769 device: 'tv' 3770 model: '$1' 3771 3772# Bmobile 3773Bmobile: 3774 regex: 'Bmobile[_ ]|(?:FUN 4 2018|AX-?(?:[1-9][0-9]{2,3}[eEO+]?|7OO))(?:[);/ ]|$)' 3775 device: 'smartphone' 3776 models: 3777 - regex: 'AX-?([1-9][0-9]{2,3}[eEO+]?)' 3778 model: 'AX$1' 3779 - regex: 'AX7OO' 3780 model: 'AX700' 3781 - regex: 'FUN 4 2018' 3782 model: 'Fun 4 (2018)' 3783 - regex: 'Bmobile[_ ]([^/;]+) Build' 3784 model: '$1' 3785 - regex: 'Bmobile[_ ]([a-z0-9]+)' 3786 model: '$1' 3787 3788# bq 3789bq: 3790 regex: 'Aquaris|bq [^/;]+ Build|BQS[-_]([0-9]{4})|(BQ(ru)?[_ -][0-9]{3,4})|BQ5059|BQ1008G|BQru_BQru-' 3791 device: 'smartphone' 3792 models: 3793 - regex: 'BQ(?:ru)?-(?:5209L|5044)(?:[);/ ]|$)' 3794 model: 'Strike LTE' 3795 - regex: 'BQ(?:ru)?-(?:6035L)(?:[);/ ]|$)' 3796 model: 'Strike Power Max' 3797 - regex: 'BQ(?:ru)?-(?:5535L)(?:[);/ ]|$)' 3798 model: 'Strike Power Plus' 3799 - regex: 'BQ(S|ru)?-(?:5070|6040L)(?:[);/ ]|$)' 3800 model: 'Magic' 3801 - regex: 'BQ(S|ru)?-(?:6424L)(?:[);/ ]|$)' 3802 model: 'Magic O' 3803 - regex: 'BQ(?:S|ru)?-(?:5730L)(?:[);/ ]|$)' 3804 model: 'Magic C' 3805 - regex: 'BQ(?:S|ru)?-(?:5731L)(?:[);/ ]|$)' 3806 model: 'Magic S' 3807 - regex: 'BQ(?:S|ru)?-5745L(?:[);/ ]|$)' 3808 model: 'Clever' 3809 - regex: 'BQ(?:S|ru)?-5533G(?:[);/ ]|$)' 3810 model: 'Fresh' 3811 - regex: 'BQ(?:S|ru)?-5031G(?:[);/ ]|$)' 3812 model: 'Fun' 3813 - regex: 'BQ(?:S|ru)?-(?:5732L)(?:[);/ ]|$)' 3814 model: 'Aurora SE' 3815 - regex: 'BQ(?:S|ru)?-6430L(?:[);/ ]|$)' 3816 model: 'Aurora' 3817 - regex: 'BQ(?:S|ru)?-6630L(?:[);/ ]|$)' 3818 model: 'Magic L' 3819 - regex: 'BQ-9011[G]?(?:[);/ ]|$)' 3820 model: 'Vision' 3821 device: 'tablet' 3822 - regex: 'BQ-8068L(?:[);/ ]|$)' 3823 model: 'Hornet Plus Pro' 3824 - regex: 'BQ-8067L' 3825 model: 'Hornet Plus' 3826 device: 'tablet' 3827 - regex: 'BQ-8052G' 3828 model: 'BQ-8052G' 3829 device: 'tablet' 3830 - regex: 'BQ-8041L' 3831 model: 'Art' 3832 device: 'tablet' 3833 - regex: 'BQ-7084G' 3834 model: 'Simple' 3835 device: 'tablet' 3836 - regex: 'BQ-7061G' 3837 model: 'Andros' 3838 device: 'tablet' 3839 - regex: 'BQ(ru)?-(7082)' 3840 model: 'Armor' 3841 device: 'tablet' 3842 - regex: 'BQ-7051G' 3843 model: 'Elba' 3844 device: 'tablet' 3845 - regex: 'BQ-7036L' 3846 model: 'Hornet' 3847 device: 'tablet' 3848 - regex: 'BQ-7022(G)?' 3849 model: 'Canion' 3850 device: 'tablet' 3851 - regex: 'BQ-7021G' 3852 model: 'Hit' 3853 device: 'tablet' 3854 - regex: 'BQ-7010G' 3855 model: 'Max' 3856 device: 'tablet' 3857 - regex: 'BQ-7006G' 3858 model: 'Union' 3859 device: 'tablet' 3860 - regex: 'BQ-7003' 3861 model: 'Jamaica' 3862 device: 'tablet' 3863 - regex: 'BQ-6200L|BQ-6000L' 3864 model: 'Aurora' 3865 - regex: 'BQ-6631G' 3866 model: 'Surf' 3867 - regex: 'BQ-6022G' 3868 model: 'Aura' 3869 - regex: 'BQ(ru)?[ -]6015L' 3870 model: 'Universe' 3871 - regex: 'BQ(?:S|ru)?-(?:5525|6030G|6010G)' 3872 model: 'Practic' 3873 - regex: 'BQ-6001L|BQ-6050' 3874 model: 'Jumbo' 3875 - regex: 'BQ-5707G(?:[);/ ]|$)' 3876 model: 'Next Music' 3877 - regex: 'BQ-5702(?:[);/ ]|$)' 3878 model: 'Spring' 3879 - regex: 'BQ-5700L(?:[);/ ]|$)' 3880 model: 'Space X' 3881 - regex: 'BQ-(?:5591|551[89]G)(?:[);/ ]|$)' 3882 model: 'Jeans' 3883 - regex: 'BQ-5522' 3884 model: 'Next' 3885 - regex: 'BQ-5520L(?:[);/ ]|$)' 3886 model: 'Silk' 3887 - regex: 'BQ-5519L(?:[);/ ]|$)' 3888 model: 'Fast Plus' 3889 - regex: 'BQ-5540L(?:[);/ ]|$)' 3890 model: 'Fast Pro' 3891 - regex: 'BQ-5517L(?:[);/ ]|$)' 3892 model: 'Twin Pro' 3893 - regex: 'BQ-5516L(?:[);/ ]|$)' 3894 model: 'Twin' 3895 - regex: 'BQS-5515(?:[);/ ]|$)' 3896 model: 'Wide' 3897 - regex: 'BQ-5515[L]?(?:[);/ ]|$)' 3898 model: 'Fast' 3899 - regex: 'BQ-(?:5512L|5528L)(?:[);/ ]|$)' 3900 model: 'Strike Forward' 3901 - regex: 'BQ-5511L(?:[);/ ]|$)' 3902 model: 'Bliss' 3903 - regex: 'BQS[_ ]5505(?:[);/ ]|$)' 3904 model: 'Amsterdam' 3905 - regex: 'BQ(?:ru)?-5510(?:[);/ ]|$)' 3906 model: 'Strike Power Max 4G' 3907 - regex: 'BQ(?:ru)?-(?:5521|5594)(?:[);/ ]|$)' 3908 model: 'Strike Power Max' 3909 - regex: 'BQ-5508L(?:[);/ ]|$)' 3910 model: 'Next LTE' 3911 - regex: 'BQ-5507L(?:[);/ ]|$)' 3912 model: 'Iron Max' 3913 - regex: 'BQ(?:ru)?-5504(?:[);/ ]|$)' 3914 model: 'Strike Selfie Max' 3915 - regex: 'BQ(?:ru)?-5503(?:[);/ ]|$)' 3916 model: 'Nice 2' 3917 - regex: 'BQ(?:ru)?-6045L(?:[);/ ]|$)' 3918 model: 'Nice' 3919 - regex: 'BQ(?:ru)?-4030G(?:[);/ ]|$)' 3920 model: 'Nice Mini' 3921 - regex: 'BQS-5502(?:[);/ ]|$)' 3922 model: 'Hammer' 3923 - regex: 'BQS-5501(?:[);/ ]|$)' 3924 model: 'Kawasaki' 3925 - regex: 'BQS-5500(?:[);/ ]|$)' 3926 model: 'Vancouver' 3927 - regex: 'BQ-5500L(?:[);/ ]|$)' 3928 model: 'Advance' 3929 - regex: 'BQ-5302G(?:[);/ ]|$)' 3930 model: 'Velvet 2' 3931 - regex: 'BQ-5301(?:[);/ ]|$)' 3932 model: 'Strike View' 3933 - regex: 'BQ-5300G(?:[);/ ]|$)' 3934 model: 'Velvet View' 3935 - regex: 'BQ(ru|S)?-(?:5211|5020)(?:[);/ ]|$)' 3936 model: 'Strike' 3937 - regex: 'BQ-5206L(?:[);/ ]|$)' 3938 model: 'Balance' 3939 - regex: 'BQ(?:ru|S)?-(?:5204|5050)(?:[);/ ]|$)' 3940 model: 'Strike Selfie' 3941 - regex: 'BQ(?:ru)?-5203(?:[);/ ]|$)' 3942 model: 'Vision' 3943 - regex: 'BQ(?:ru)?-5202(?:[);/ ]|$)' 3944 model: 'Space Lite' 3945 - regex: 'BQ(?:ru)?-5201(?:[);/ ]|$)' 3946 model: 'Space' 3947 - regex: 'BQ-5082(?:[);/ ]|$)' 3948 model: 'Sense 2' 3949 - regex: 'BQ-5045L(?:[);/ ]|$)' 3950 model: 'Wallet' 3951 - regex: 'BQ-5047L(?:[);/ ]|$)' 3952 model: 'Like' 3953 - regex: 'BQ-5071(?:[);/ ]|$)' 3954 model: 'Belief' 3955 - regex: 'BQ[S]?-(?:5065|5340)(?:[);/ ]|$)' 3956 model: 'Choice' 3957 - regex: 'BQ(?:S|ru)?-5046L(?:[);/ ]|$)' 3958 model: 'Choice LTE' 3959 - regex: 'BQ(?:ru)?-?(?:5059|5514G)(?:[);/ ]|$)' 3960 model: 'Strike Power' 3961 - regex: '(?:BQru_)?BQ(?:ru)?-5058(?:[);/ ]|$)' 3962 model: 'Strike Power Easy' 3963 - regex: 'BQ(?:ru)?-5057(?:[);/ ]|$)' 3964 model: 'Strike 2' 3965 - regex: 'BQ[S]?-(?:5056|5030)(?:[);/ ]|$)' 3966 model: 'Fresh' 3967 - regex: 'BQ-6042l(?:[);/ ]|$)' 3968 model: 'Magic E' 3969 - regex: 'BQS-5055(?:[);/ ]|$)' 3970 model: 'Turbo Plus' 3971 - regex: 'BQ(?:ru)?-5054(?:[);/ ]|$)' 3972 model: 'Crystal' 3973 - regex: 'BQ-5052(?:[);/ ]|$)' 3974 model: 'Sense' 3975 - regex: 'BQ-6051G(?:[);/ ]|$)' 3976 model: 'Soul' 3977 - regex: 'BQ[S]?-5045(?:[);/ ]|$)' 3978 model: 'Fast' 3979 - regex: 'BQ(?:ru)?-(?:5037|5514L)(?:[);/ ]|$)' 3980 model: 'Strike Power 4G' 3981 - regex: 'BQ(?:ru)?-5035(?:[);/ ]|$)' 3982 model: 'Velvet' 3983 - regex: 'BQ(?:ru)?-5033(?:[);/ ]|$)' 3984 model: 'Shark' 3985 - regex: 'BQ-5541L(?:[);/ ]|$)' 3986 model: 'Shark Rush' 3987 - regex: 'BQ-5032(?:[);/ ]|$)' 3988 model: 'Element' 3989 - regex: 'BQS-5025(?:[);/ ]|$)' 3990 model: 'High Way' 3991 - regex: 'BQ(?:ru)?-5022(?:[);/ ]|$)' 3992 model: 'Bond' 3993 - regex: 'BQ-5015L(?:[);/ ]|$)' 3994 model: 'First' 3995 - regex: 'BQ-5016G(?:[);/ ]|$)' 3996 model: 'Choice' 3997 - regex: 'BQ-5012L(?:[);/ ]|$)' 3998 model: 'Rich' 3999 - regex: 'BQ-5521L(?:[);/ ]|$)' 4000 model: 'Rich Max' 4001 - regex: 'BQS-5011(?:[);/ ]|$)' 4002 model: 'Monte Carlo' 4003 - regex: 'BQ-5010G(?:[);/ ]|$)' 4004 model: 'Spot' 4005 - regex: 'BQ-5000G(?:[);/ ]|$)' 4006 model: 'Velvet Easy' 4007 - regex: 'BQS-5010(?:[);/ ]|$)' 4008 model: 'Prague' 4009 - regex: 'BQ-5009L(?:[);/ ]|$)' 4010 model: 'Trend' 4011 - regex: 'BQS-500[59](?:[);/ ]|$)' 4012 model: 'Sydney' 4013 - regex: 'BQ-5008L(?:[);/ ]|$)' 4014 model: 'Brave' 4015 - regex: 'BQ-5007L(?:[);/ ]|$)' 4016 model: 'Iron' 4017 - regex: 'BQS-5006(?:[);/ ]|$)' 4018 model: 'Los Angeles' 4019 - regex: 'BQ-(?:5005L|5530L)(?:[);/ ]|$)' 4020 model: 'Intense' 4021 - regex: 'BQS-5004(?:[);/ ]|$)' 4022 model: 'Paris' 4023 - regex: 'BQ-5003L(?:[);/ ]|$)' 4024 model: 'Shark Pro' 4025 - regex: 'BQ-5002G(?:[);/ ]|$)' 4026 model: 'Fun' 4027 - regex: 'BQS-5002(?:[);/ ]|$)' 4028 model: 'Colombo' 4029 - regex: 'BQS-5003(?:[);/ ]|$)' 4030 model: 'Colombo II' 4031 - regex: 'BQ-5001L(?:[);/ ]|$)' 4032 model: 'Contact' 4033 - regex: 'BQS-5001(?:[);/ ]|$)' 4034 model: 'Milan' 4035 - regex: 'BQ(?:ru|S)?-5000(?:[);/ ]|$)' 4036 model: 'Tokyo' 4037 - regex: 'BQS-4800(?:[);/ ]|$)' 4038 model: 'Blade' 4039 - regex: 'BQS-4707(?:[);/ ]|$)' 4040 model: 'Montreal' 4041 - regex: 'BQS-4702(?:[);/ ]|$)' 4042 model: 'Оsaka' 4043 - regex: 'BQS-4701(?:[);/ ]|$)' 4044 model: 'Venice' 4045 - regex: 'BQ-(?:4585|5011G)(?:[);/ ]|$)' 4046 model: 'Fox View' 4047 - regex: 'BQ(?:ru)?-4583(?:[);/ ]|$)' 4048 model: 'Fox Power' 4049 - regex: 'BQS-4570(?:[);/ ]|$)' 4050 model: 'Drive' 4051 - regex: 'BQS-4560(?:[);/ ]|$)' 4052 model: 'Golf' 4053 - regex: 'BQS-4555(?:[);/ ]|$)' 4054 model: 'Turbo' 4055 - regex: 'BQS-4550(?:[);/ ]|$)' 4056 model: 'Richmond' 4057 - regex: 'BQ(?:ru)?-(?:4526|5004G)(?:[);/ ]|$)' 4058 model: 'Fox' 4059 - regex: 'BQS-4525(?:[);/ ]|$)' 4060 model: 'Vienna' 4061 - regex: 'BQS-4516(?:[);/ ]|$)' 4062 model: 'Singapore' 4063 - regex: 'BQS-4515(?:[);/ ]|$)' 4064 model: 'Moscow' 4065 - regex: 'BQS-4510(?:[);/ ]|$)' 4066 model: 'Florence' 4067 - regex: 'BQS-4505(?:[);/ ]|$)' 4068 model: 'Santiago' 4069 - regex: 'BQS-4503(?:[);/ ]|$)' 4070 model: 'Dubai' 4071 - regex: 'BQS-4502(?:[);/ ]|$)' 4072 model: 'Kingston' 4073 - regex: 'BQS-4501 Bristol' 4074 model: 'Bristol' 4075 - regex: 'BQ-4501G(?:[);/ ]|$)' 4076 model: 'Fox Easy' 4077 - regex: 'BQ(?:ru)?-4500(?:[);/ ]|$)' 4078 model: 'Fox LTE' 4079 - regex: 'BQ-4077(?:[);/ ]|$)' 4080 model: 'Shark Mini' 4081 - regex: 'BQ(?:ru)?-4072(?:[);/ ]|$)' 4082 model: 'Strike Mini' 4083 - regex: 'BQ(?:ru)?[- ]402[68](?:[);/ ]|$)' 4084 model: 'Up!' 4085 - regex: 'BQS-4010(?:[);/ ]|$)' 4086 model: 'Aspen' 4087 - regex: 'BQS-4009(?:[);/ ]|$)' 4088 model: 'Orleans' 4089 - regex: 'BQS-4008(?:[);/ ]|$)' 4090 model: 'Shanghai' 4091 - regex: 'BQS-4007(?:[);/ ]|$)' 4092 model: 'Valencia' 4093 - regex: 'BQS-4005(?:[);/ ]|$)' 4094 model: 'Seoul' 4095 - regex: 'BQS-4004(?:[);/ ]|$)' 4096 model: 'Dusseldorf' 4097 - regex: 'BQS-4003(?:[);/ ]|$)' 4098 model: 'Verona' 4099 - regex: 'BQ-4001G(?:[);/ ]|$)' 4100 model: 'Cool' 4101 - regex: 'BQS-4001(?:[);/ ]|$)' 4102 model: 'Oxford' 4103 - regex: 'BQS-3510(?:[);/ ]|$)' 4104 model: 'Aspen Mini' 4105 - regex: 'BQS-3503(?:[);/ ]|$)' 4106 model: 'Bombay' 4107 - regex: 'BQ-1085L(?:[);/ ]|$)' 4108 model: 'Hornet Max Pro' 4109 device: 'tablet' 4110 - regex: 'BQ-1084L(?:[);/ ]|$)' 4111 model: 'Hornet Max' 4112 device: 'tablet' 4113 - regex: 'BQ-1083G(?:[);/ ]|$)' 4114 model: 'Armor Pro Plus' 4115 device: 'tablet' 4116 - regex: 'BQ-1082G(?:[);/ ]|$)' 4117 model: 'Armor Pro' 4118 device: 'tablet' 4119 - regex: 'BQ-1077L(?:[);/ ]|$)' 4120 model: 'Armor Pro LTE' 4121 device: 'tablet' 4122 - regex: 'BQ(?:ru)?-1057L(?:[);/ ]|$)' 4123 model: 'Passion' 4124 device: 'tablet' 4125 - regex: 'BQ-1051G(?:[);/ ]|$)' 4126 model: 'Corsika' 4127 device: 'tablet' 4128 - regex: 'BQ-1050G(?:[);/ ]|$)' 4129 model: 'Hawaii' 4130 device: 'tablet' 4131 - regex: 'BQ[-]?1008G(?:[);/ ]|$)' 4132 model: 'Grace' 4133 device: 'tablet' 4134 - regex: 'Aquaris M8' 4135 model: 'Aquaris M8' 4136 device: 'tablet' 4137 - regex: 'Aquaris_([AM])4.5' 4138 model: 'Aquaris $14.5' 4139 - regex: 'BQ(?:ru)?[_ -](?:5590|5740G)(?:[);/ ]|$)' 4140 model: 'Spring' 4141 - regex: 'BQ[S]?-(?:6016L|5520)(?:[);/ ]|$)' 4142 model: 'Mercury' 4143 - regex: 'BQ(?:S|ru)?-(?:5701L|5060)(?:[);/ ]|$)' 4144 model: 'Slim' 4145 - regex: '(BQ-7850|BQ-700[12]G|BQ-8002G|BQ-905[12]G|BQ-9702G|BQ-7056G)' 4146 model: '$1' 4147 device: 'tablet' 4148 - regex: 'BQ-8006G(?:[);/ ]|$)' 4149 model: 'Java' 4150 device: 'tablet' 4151 - regex: 'BQ-7062G(?:[);/ ]|$)' 4152 model: 'Fiji' 4153 device: 'tablet' 4154 - regex: 'BQ(?:ru)?-1081G(?:[);/ ]|$)' 4155 model: 'Grace 3G' 4156 device: 'tablet' 4157 - regex: 'BQ-7802G(?:[);/ ]|$)' 4158 model: 'Luzon' 4159 device: 'tablet' 4160 - regex: 'BQ-7008G(?:[);/ ]|$)' 4161 model: 'Clarion' 4162 device: 'tablet' 4163 - regex: 'BQ-7064G(?:[);/ ]|$)' 4164 model: 'Fusion' 4165 device: 'tablet' 4166 - regex: 'BQ-7050G(?:[);/ ]|$)' 4167 model: 'Malta' 4168 device: 'tablet' 4169 - regex: 'BQ-7000G(?:[);/ ]|$)' 4170 model: 'Сharm' 4171 device: 'tablet' 4172 - regex: 'BQ-7040G(?:[);/ ]|$)' 4173 model: 'Сharm Plus' 4174 device: 'tablet' 4175 - regex: 'BQ-7038G(?:[);/ ]|$)' 4176 model: 'Light Plus' 4177 device: 'tablet' 4178 - regex: 'BQ-7005G(?:[);/ ]|$)' 4179 model: 'Maui' 4180 device: 'tablet' 4181 - regex: 'BQ-7098G(?:[);/ ]|$)' 4182 model: 'Armor Power' 4183 device: 'tablet' 4184 - regex: 'BQ-1007(?:[);/ ]|$)' 4185 model: 'Necker' 4186 device: 'tablet' 4187 - regex: 'BQ-1045[G]?(?:[);/ ]|$)' 4188 model: 'Orion' 4189 device: 'tablet' 4190 - regex: 'BQ-(?:1054L|1020L)(?:[);/ ]|$)' 4191 model: 'Nexion' 4192 device: 'tablet' 4193 - regex: 'BQ-7083G(?:[);/ ]|$)' 4194 model: 'Light' 4195 device: 'tablet' 4196 - regex: 'BQ-8077L(?:[);/ ]|$)' 4197 model: 'Exion Plus' 4198 device: 'tablet' 4199 - regex: 'BQ(?:ru)?-7083(?:[);/ ]|$)' 4200 model: '7083' 4201 device: 'tablet' 4202 - regex: 'BQ(?:ru)?-1056L(?:[);/ ]|$)' 4203 model: '1056L' 4204 device: 'tablet' 4205 - regex: 'BQ(?:ru)?-1022l(?:[);/ ]|$)' 4206 model: 'Armor Pro LTE+' 4207 device: 'tablet' 4208 - regex: 'BQ(?:ru)?-1024L(?:[);/ ]|$)' 4209 model: 'Exion Pro' 4210 device: 'tablet' 4211 - regex: 'BQ(?:ru)?-7055L(?:[);/ ]|$)' 4212 model: 'Exion One' 4213 device: 'tablet' 4214 - regex: 'BQ(?:ru)?-7055L(?:[);/ ]|$)' 4215 model: 'Exion One' 4216 device: 'tablet' 4217 - regex: 'BQ(?:ru)?-7081(?:[);/ ]|$)' 4218 model: 'Charm' 4219 device: 'tablet' 4220 - regex: '(?:bq )?(Aquaris[^/;]*) Build' 4221 model: '$1' 4222 - regex: 'Aquaris (VS|E(4.5|[56])|M(5|10)|U2 Lite|U2|U (Lite|Plus)|V Plus|X5 Plus|X2? Pro|X[25]|[CMUVX])' 4223 model: 'Aquaris $1' 4224 - regex: 'bq ([^/;]+) Build' 4225 model: '$1' 4226 device: 'tablet' 4227 4228# Bush 4229Bush: 4230 regex: 'Bush[ _-]|Bush10Nou' 4231 device: 'smartphone' 4232 models: 4233 - regex: 'Bush10Nou' 4234 device: 'tablet' 4235 model: '10Nou' 4236 - regex: 'BUSH ([^;/)]+)Tablet(?: Build|[);])' 4237 model: '$1Tablet' 4238 device: 'tablet' 4239 - regex: 'BUSH ([^;/)]+)(?: Build|[);])' 4240 model: '$1' 4241 4242# CAGI 4243CAGI: 4244 regex: 'CAGI-' 4245 device: 'smartphone' 4246 models: 4247 - regex: 'CAGI-OMEGA' 4248 model: 'Omega' 4249 - regex: 'CAGI-([a-z0-9_\-]+)' 4250 model: '$1' 4251 4252# Capitel 4253Capitel: 4254 regex: 'Capitel-([a-z0-9]+)' 4255 device: 'feature phone' 4256 model: '$1' 4257 4258# Captiva 4259Captiva: 4260 regex: 'Captiva[ _-]([^;/)]+)(?: Build|\))' 4261 device: 'tablet' 4262 model: 'Pad $1' 4263 4264# Casio 4265Casio: 4266 regex: '(C811|C7[57]1)(?: 4G)?(?:[);/ ]|$)' 4267 device: 'smartphone' 4268 models: 4269 - regex: 'C751(?:[);/ ]|$)' 4270 model: "G'zOne Ravine" 4271 - regex: 'C771(?:[);/ ]|$)' 4272 model: "G'zOne Commando" 4273 - regex: 'C811 4G(?:[);/ ]|$)' 4274 model: "G'zOne Commando 4G LTE" 4275 4276# Casper (casper.com.tr) 4277Casper: 4278 regex: 'CASPER[_ ]|VIA[- _](X20|T7D|A[34]|E3|F[123]|G[34]|M4|[LS]8|S7|P[23]|V8C|A[13]_Plus(?:_64)?|A1(?:_1)?|S[13]0|S|T17_M|T1[07]|T7|T7-3G|T8B|T8D-3G|S1[78])(?:[);/ ]|$)' 4279 device: 'smartphone' 4280 models: 4281 - regex: '(?:CASPER[_ ])?VIA_A1_Plus(?:_64)?' 4282 model: 'VIA A1 Plus' 4283 - regex: '(?:CASPER[_ ])?VIA[_ ](X20|G1_Plus|A3_Plus|G[13]|E1|[AE]2|M[123]|V[35689]|V10|G3|V6X|A[34]|E3|F[123]|G4|M4|P[23]|S|V8C|A1(?:_1)?)(?:[);/ ]|$)' 4284 model: 'VIA $1' 4285 - regex: 'CASPER_VIA_E1c' 4286 model: 'VIA E1C' 4287 - regex: 'CASPER_L10_4.5G' 4288 model: 'L10 4.5G' 4289 device: 'tablet' 4290 - regex: 'CASPER_(S[23]8)(?:[);/ ]|$)' 4291 model: '$1' 4292 device: 'tablet' 4293 - regex: 'VIA[- _](T7|T8D)-3G' 4294 model: 'VIA $1 3G' 4295 device: 'tablet' 4296 - regex: 'VIA[- _](T7D|S[13]0|[LS]8|S7|T17_M|T1[07]|T7|T8B|S1[78])(?:[);/ ]|$)' 4297 model: 'VIA $1' 4298 device: 'tablet' 4299 4300# Cat (Caterpillar, Catphones) 4301Cat: 4302 regex: 'Cat ?(tablet|stargate|nova)|(?:B15Q|CAT B35|CAT-B100|S62 Pro)(?:[);/ ]|$)' 4303 device: 'tablet' 4304 models: 4305 - regex: 'B15Q' 4306 model: 'B15Q' 4307 device: 'smartphone' 4308 - regex: 'CAT B35' 4309 model: 'B35' 4310 device: 'smartphone' 4311 - regex: 'S62 Pro' 4312 model: 'S62 Pro' 4313 device: 'smartphone' 4314 - regex: 'Cat ?(?:tablet)? ?((?:Galactica|Nova|StarGate|PHOENIX)[^/;]*) Build' 4315 model: '$1' 4316 - regex: 'Cat ?tablet' 4317 model: 'Nova' 4318 4319 - regex: 'CAT-(B100)' 4320 device: 'feature phone' 4321 model: '$1' 4322 4323# Carrefour 4324Carrefour: 4325 regex: 'CT(?:10[0123]0|7[12]0|820|735_16GB)(?:W|FR)?(?:[);/ ]|$)' 4326 device: 'tablet' 4327 models: 4328 - regex: 'CT820' 4329 model: 'Touch Tablet Neo2' 4330 - regex: 'CT(10[0123]0(?:W|FR)?)' 4331 model: 'CT$1' 4332 - regex: 'CT(7[12]0(?:W|FR)?|735)' 4333 model: 'CT$1' 4334 4335# Celkon 4336Celkon: 4337 regex: 'Celkon|Android 7.+ UNIQ(?: Build|[);])|(?:Millennia Hero|2GBStar|2GBXpress|CliQ2|Campus Prime)(?:[);/ ]|$)' 4338 device: 'smartphone' 4339 models: 4340 - regex: 'Celkon[ _*](C[78]20)' 4341 model: '$1' 4342 device: 'tablet' 4343 - regex: 'Celkon[_ ]4G_TAB-8' 4344 model: '4G Tab 8' 4345 device: 'tablet' 4346 - regex: 'Millennia Hero' 4347 model: 'Millennia Hero' 4348 - regex: '2GBStar' 4349 model: '2GB Star' 4350 - regex: '2GBXpress' 4351 model: '2GB Xpress' 4352 - regex: 'CliQ2(?:[);/ ]|$)' 4353 model: 'CliQ 2' 4354 - regex: 'Android 7.+ UniQ(?: Build|[);])' 4355 model: 'UniQ' 4356 - regex: '(Campus Prime)(?:[);/ ]|$)' 4357 model: '$1' 4358 - regex: 'Celkon[ _*](CT[^;/]+) Build' 4359 model: '$1' 4360 device: 'tablet' 4361 - regex: 'Celkon[ _*]([^;/]+) Build' 4362 model: '$1' 4363 - regex: 'Celkon[\. _*]([^;/\)]+)[\)/]' 4364 model: '$1' 4365 4366# Cellution 4367Cellution: 4368 regex: 'Cosmas|CT_Cosmas_V' 4369 device: 'smartphone' 4370 models: 4371 - regex: 'Cosmas' 4372 model: 'Cosmas' 4373 - regex: 'CT_Cosmas_V' 4374 model: 'Cosmas V' 4375 4376# Changhong 4377Changhong: 4378 regex: 'Changhong' 4379 device: 'smartphone' 4380 models: 4381 - regex: 'Changhong[ ]?(X1-K|X6|R8|Z9S?|Z1S|S18)(?:[);/ ]|$)' 4382 model: '$1' 4383 4384 - regex: 'ChangHong Android TV' 4385 device: 'tv' 4386 model: '' 4387 - regex: '(?:Opera TV.+)Changhong-([^);/]+)' 4388 device: 'tv' 4389 model: '$1' 4390 4391# Cherry Mobile (cherrymobile.com) 4392'Cherry Mobile': 4393 regex: 'Cherry|Superion S1 DTV|Flare([ _])?(2X|4|A[123]|J[123568]|P[13]|S[4-8]|X2|Y[367]|S Play|HD|LITE|XL|X_V2|Y3s|Tab)(?:[ _](?:Pro|Plus|Max|LTE))?|Fusion Bolt|Omega[_ ](?:Icon 2|Icon Lite 2|lite[_ ][43][Cs]?|HD [45]|HD_Duo)|Spin Max 2|Selfie_Two|Flare_5' 4394 device: 'smartphone' 4395 models: 4396 - regex: '(Flare2X)' 4397 model: '$1' 4398 - regex: 'Flare[_ ]HD[_ ]([345])' 4399 model: 'Flare HD $1' 4400 - regex: 'Flare_HD_MAX' 4401 model: 'Flare HD Max' 4402 - regex: 'FLARE LITE' 4403 model: 'Flare Lite' 4404 - regex: 'Flare S Play' 4405 model: 'Flare S Play' 4406 - regex: 'Flare[_ ]J([26])S' 4407 model: 'Flare J$1s' 4408 - regex: 'Flare_(J2|S7)_Prime' 4409 model: 'Flare $1 Prime' 4410 - regex: 'Flare_S7_Deluxe' 4411 model: 'Flare S7 Deluxe' 4412 - regex: 'Flare_S7_Power' 4413 model: 'Flare S7 Power' 4414 - regex: 'Cherry[_ ]X740' 4415 model: 'Flare A5' 4416 - regex: 'Flare[_ ]Y([367])[_ ]Pro' 4417 model: 'Flare Y$1 Pro' 4418 - regex: 'Flare XL Plus' 4419 model: 'Flare XL Plus' 4420 - regex: 'Flare[ _]X[_ ]V2' 4421 model: 'Flare X V2' 4422 - regex: 'Flare[ _](A2|J[23]|P1|S[467])[ _]Lite' 4423 model: 'Flare $1 Lite' 4424 - regex: 'Flare[ _](J[12]|S[57]|Y3|J6|P1)[ _]mini' 4425 model: 'Flare $1 Mini' 4426 - regex: 'Flare[_ ]?(S[567]|J[63])[_ ]?Plus' 4427 model: 'Flare $1 Plus' 4428 - regex: 'Flare_J2_2018' 4429 model: 'Flare J2 (2018)' 4430 - regex: 'Flare S4 Max LTE' 4431 model: 'Flare S4 Max LTE' 4432 - regex: 'Flare[_ ](S[47]|J2)[_ ]Max' 4433 model: 'Flare $1 Max' 4434 - regex: 'FlareS5LiteDTV' 4435 model: 'Flare S5 Lite DTV' 4436 - regex: 'Flare[_ ]J2[_ ]DTV' 4437 model: 'Flare S2 DTV' 4438 - regex: 'Flare[_ ]Lite[_ ]3S' 4439 model: 'Flare Lite S3' 4440 - regex: 'FLARE S6 POWER' 4441 model: 'Flare S6 Power' 4442 - regex: 'Flare(?:[ _])?(A[123]|J8 LTE|J[13568]|P[13]|S[4-8]|X2|Y3s|Y7_LTE|Y[673]|[45])' 4443 model: 'Flare $1' 4444 - regex: 'OMEGA HD ([45])' 4445 model: 'Omega HD $1' 4446 - regex: 'Omega_HD_Duo' 4447 model: 'Omega HD Duo' 4448 - regex: 'Omega Icon Lite 2' 4449 model: 'Omega Icon Lite 2' 4450 - regex: 'Omega Icon 2' 4451 model: 'Omega Icon 2' 4452 - regex: 'Omega[_ ]Lite[_ ](3[Cs]|4)' 4453 model: 'Omega Lite $1' 4454 - regex: 'Spin Max 2' 4455 model: 'Spin Max 2' 4456 - regex: 'Selfie_Two' 4457 model: 'Selfie Two' 4458 - regex: '(Fusion Bolt|Flare Tab Pro|Flare Tab|Superion S1 DTV)' 4459 model: '$1' 4460 device: 'tablet' 4461 4462 - regex: 'Cherry(?:[ _]?Mobile)?[ _]?([^/;]+)(?: Build|[);])' 4463 model: '$1' 4464 4465# China Mobile 4466'China Mobile': 4467 regex: '(M812C|1501_M02|9930i|A1303|A309W|M651CY) Build' 4468 device: 'smartphone' 4469 models: 4470 - regex: 'M651CY' 4471 model: 'A3' 4472 - regex: '(M812C|1501_M02|9930i|A1303|A309W)' 4473 model: '$1' 4474 4475# Comio 4476Comio: 4477 regex: 'Comio|CT701G PLUS|CT701W|GT100' 4478 device: 'smartphone' 4479 models: 4480 - regex: 'GT100' 4481 model: 'GT100' 4482 device: 'tablet' 4483 - regex: 'CT701W' 4484 model: 'CT701W' 4485 device: 'tablet' 4486 - regex: 'CT701G PLUS' 4487 model: 'CT701G Plus' 4488 device: 'tablet' 4489 4490 - regex: 'Comio[ _-]?([^;/)]+)(?: Build|[);])' 4491 model: '$1' 4492 4493# Compal 4494Compal: 4495 regex: 'Compal-[a-z0-9]+' 4496 device: 'feature phone' 4497 model: '$1' 4498 4499# Artel 4500Artel: 4501 regex: 'Artel[_ ]|\w+_ARTEL_\w+|GAP YOQ(?:[);/ ]|$)' 4502 device: 'smartphone' 4503 models: 4504 - regex: 'GAP YOQ(?:[);/ ]|$)' 4505 model: 'Gap Yo Q' 4506 - regex: 'Artel[_ ](Quadro(?: Pro)?|Tesla|Air|Tomchi|Premium|U3_4G|Z5|Sentinel (?:X 8G|X D5|X)|T10)' 4507 model: '$1' 4508 - regex: 'Artel[_ ]Komi3' 4509 model: 'Komi 3' 4510 - regex: 'Artel[_ ]Q21_PRO' 4511 model: 'Q21 Pro' 4512 - regex: 'Artel[_ ](Star|Nova|Connect|Choice|Style)' 4513 model: '$1' 4514 device: 'tablet' 4515 4516 - regex: '(?:\w+_)?ARTEL_([FVM]5|X[45])_\w+' 4517 device: 'feature phone' 4518 model: '$1' 4519 4520# ComTrade Tesla 4521ComTrade Tesla: 4522 regex: 'Tesla(?!Group/LUMUS)|Impulse 7.85 3G|Impulse 10.1 OCTA|Smartphone_6.1|SP(?:6.2|6.2_Lite)|TTL(?:713G|8)' 4523 device: 'smartphone' 4524 models: 4525 - regex: 'TeslaEvo5.0' 4526 model: 'Evo 5.0' 4527 - regex: '(Gravity 9.7 SHD)' 4528 model: '$1' 4529 device: 'tablet' 4530 - regex: '(Impulse 7.85 3G)' 4531 model: '$1' 4532 device: 'tablet' 4533 - regex: 'Impulse 10.1 OCTA' 4534 model: 'Impulse 10.1" OCTA' 4535 device: 'tablet' 4536 - regex: 'Tesla_SP([^/;]+)L Build' 4537 model: 'Smartphone $1 Lite' 4538 - regex: 'Smartphone_6.1' 4539 model: 'Smartphone 6.1' 4540 - regex: 'SP6.2_Lite' 4541 model: 'Smartphone 6.2 Lite' 4542 - regex: 'Tesla_SP([^/;]+) Build' 4543 model: 'Smartphone $1' 4544 - regex: 'SP([^/;]+) Build' 4545 model: 'Smartphone $1' 4546 - regex: 'Smartphone ([36])' 4547 model: 'Smartphone $1' 4548 - regex: 'Tesla_Tablet_785' 4549 model: '7.85"' 4550 device: 'tablet' 4551 - regex: 'TTH7' 4552 model: 'H7' 4553 device: 'tablet' 4554 - regex: 'TTL7 Build' 4555 model: 'L7' 4556 device: 'tablet' 4557 - regex: 'Tesla_Tablet_L7_3G' 4558 model: 'L7 3G' 4559 device: 'tablet' 4560 - regex: '(L7.1)' 4561 model: '$1' 4562 device: 'tablet' 4563 - regex: 'TTL713G' 4564 model: 'L7.1 3G' 4565 device: 'tablet' 4566 - regex: '(L7 Quad) Build' 4567 model: '$1' 4568 device: 'tablet' 4569 - regex: '(L7 Quad Lite)' 4570 model: '$1' 4571 device: 'tablet' 4572 - regex: 'TTL8 Build' 4573 model: 'L8' 4574 device: 'tablet' 4575 - regex: '(L8.1)' 4576 model: '$1' 4577 device: 'tablet' 4578 - regex: 'TESLA_TABLET_M7' 4579 model: 'M7' 4580 device: 'tablet' 4581 - regex: 'Tesla_Tablet_M8' 4582 model: 'M8' 4583 device: 'tablet' 4584 4585# ConCorde 4586ConCorde: 4587 regex: 'ConCorde ([^/;]+) Build|Concorde_Raptor_Z55(?:[);/ ]|$)' 4588 device: 'smartphone' 4589 models: 4590 - regex: 'Concorde_(Raptor_Z55)(?:[);/ ]|$)' 4591 model: '$1' 4592 - regex: 'ConCorde Tab ?([^/;]+) Build' 4593 model: 'Tab $1' 4594 device: 'tablet' 4595 - regex: 'ConCorde ReadMan ?([^/;]+) Build' 4596 model: 'ReadMan $1' 4597 device: 'tablet' 4598 - regex: 'ConCorde ([^/;]+) Build' 4599 model: '$1' 4600 4601# Condor (www.condor.dz) 4602Condor: 4603 regex: 'Allure (?:M[13]|X)|Griffe T[2356789]|TFX712G|TRA-901G|TGW[-]?(710G|709)|(?:PGN\-?[456][012][0-9]|PHS\-601|PHQ519|PHQ52[056]|TB105L|TB717G|PKT\-301|Plume (?:H1|L[1-468]|P8|P6 PRO LTE))(?:[);/ ]|$)|CTAB[^/;]+ Build' 4604 device: 'smartphone' 4605 models: 4606 - regex: 'CTAB([^/;]+) Build' 4607 device: 'tablet' 4608 model: 'CTAB $1' 4609 - regex: '(TGW)-?(710G|709)(?:[);/ ]|$)' 4610 device: 'tablet' 4611 model: '$1 $2' 4612 - regex: '(TFX712G|TB105L|TB717G)(?:[);/ ]|$)' 4613 device: 'tablet' 4614 model: '$1' 4615 - regex: '(TRA)-(901G)(?:[);/ ]|$)' 4616 device: 'tablet' 4617 model: '$1 $2' 4618 4619 - regex: 'PHS\-601' 4620 model: 'C8' 4621 - regex: 'PGN\-?403' 4622 model: 'C4+ Noir' 4623 - regex: 'PGN\-?404' 4624 model: 'C7 Mini' 4625 - regex: 'PGN\-?409' 4626 model: 'Plume P4' 4627 - regex: 'PKT\-?301' 4628 model: 'C2' 4629 - regex: 'PGN\-?504' 4630 model: 'C5' 4631 - regex: 'PGN\-?505' 4632 model: 'C8S' 4633 - regex: 'PGN\-?506' 4634 model: 'C7' 4635 - regex: '(Allure (?:M[13]|X))' 4636 model: '$1' 4637 - regex: 'PGN\-?507' 4638 model: 'Allure A9' 4639 - regex: 'PGN\-?508' 4640 model: 'C6+' 4641 - regex: 'PGN\-?509' 4642 model: 'C6 Pro' 4643 - regex: 'PGN\-?511' 4644 model: 'Allure A9 Plus' 4645 - regex: 'PGN\-?513' 4646 model: 'Griffe G4' 4647 - regex: 'PHQ519' 4648 model: 'Griffe G4S' 4649 - regex: 'PHQ520' 4650 model: 'Griffe G5' 4651 - regex: 'PHQ525' 4652 model: 'Griffe G6' 4653 - regex: 'PHQ526' 4654 model: 'Griffe G6 Pro' 4655 - regex: 'PGN\-?514' 4656 model: 'Plume P7' 4657 - regex: 'PGN\-?515' 4658 model: 'Plume P4 Pro' 4659 - regex: 'PGN\-?516' 4660 model: 'Plume P5' 4661 - regex: 'PGN\-?51[78]' 4662 model: 'Plume P6' 4663 - regex: 'PGN\-?521' 4664 model: 'Griffe G4 Plus' 4665 - regex: 'Griffe T3 ?pro' 4666 model: 'Griffe T3 Pro' 4667 - regex: 'Griffe T([0-9]) Plus' 4668 model: 'Griffe T$1 Plus' 4669 - regex: 'Griffe T([0-9])' 4670 model: 'Griffe T$1' 4671 - regex: 'PGN\-?522' 4672 model: 'P6 Plus' 4673 - regex: 'PGN\-?523' 4674 model: 'P7 Plus' 4675 - regex: 'PGN\-?527' 4676 model: 'Plume P4 Plus' 4677 - regex: 'PGN\-?528|PLUME P6 PRO LTE' 4678 model: 'Plume P6 Pro LTE' 4679 - regex: 'PGN\-?605' 4680 model: 'Plume P8' 4681 - regex: 'PGN\-?606' 4682 model: 'Allure A55' 4683 - regex: 'PGN\-?607' 4684 model: 'Allure A100' 4685 - regex: 'PGN\-?608' 4686 model: 'Allure A55 Slim' 4687 - regex: 'PGN\-?609' 4688 model: 'Allure A100 Lite' 4689 - regex: 'PGN\-?610' 4690 model: 'Plume P8 Lite' 4691 - regex: 'PGN\-?611' 4692 model: 'Allure A8' 4693 - regex: 'PGN\-?612' 4694 model: 'Allure A8 Plus' 4695 - regex: 'PGN\-?613' 4696 model: 'Allure A55 Plus' 4697 - regex: 'Plume H1' 4698 model: 'Plume H1' 4699 - regex: 'Plume L([2468]) Pro' 4700 model: 'Plume L$1 Pro' 4701 - regex: 'Plume L3 Plus' 4702 model: 'Plume L3 Plus' 4703 - regex: 'Plume L3 Smart' 4704 model: 'Plume L3 Smart' 4705 - regex: 'Plume L([1-4])' 4706 model: 'Plume L$1' 4707 - regex: 'Plume P8 Pro' 4708 model: 'Plume P8 Pro' 4709 4710 - regex: 'PGN\-?([0-9]{3})' 4711 model: 'PGN-$1' 4712 4713# Coolpad (coolpad.us) 4714Coolpad: 4715 regex: '(?:YL-)?Coolpad|(?:Cool_9S|1824-S0|8190Q|1831-A0|8676-[AM]01|CP8298_I00|CP3648AT?|CP8676_I0[23]|REVVLPLUS C3701A|VCR-[AI]0|C105-(?:8|E0)|C106-[789]|C107-9| C106|MTS-T0|cp3705A[S]?|ORL-C0|DLS-E0|1826-I01|8298-(?:M02|A01)|5560S|CP3320AS2|CP3706AS|CP3669AS|C103)(?:[);/ ]|$)|(8295|5860S) Build' 4716 device: 'smartphone' 4717 models: 4718 - regex: 'VCR-[AI]0' 4719 model: 'Cool Play 6' 4720 - regex: '1831-A0(?:[);/ ]|$)' 4721 model: 'Cool Play C7' 4722 - regex: 'REVVLPLUS C3701A' 4723 model: 'REVVL Plus' 4724 device: 'phablet' 4725 - regex: '8190Q(?:[);/ ]|$)' 4726 model: '8190Q' 4727 - regex: 'DLS-E0(?:[);/ ]|$)' 4728 model: 'N5' 4729 - regex: '1824-S0(?:[);/ ]|$)' 4730 model: 'N5C' 4731 - regex: 'CP3705A[S]?(?:[);/ ]|$)' 4732 model: 'Legacy' 4733 - regex: 'CP3648AT?(?:[);/ ]|$)' 4734 model: 'Legacy S' 4735 - regex: 'CP3320AS2?(?:[);/ ]|$)' 4736 model: 'Legacy S SR' 4737 - regex: 'CP3706AS(?:[);/ ]|$)' 4738 model: 'Legacy Brisa' 4739 - regex: 'CP3669AS(?:[);/ ]|$)' 4740 model: 'Suva' 4741 - regex: 'MTS-T0(?:[);/ ]|$)' 4742 model: 'N2M' 4743 - regex: '(?:C106-[789]|R116|C10[36])(?:[);/ ]|$)' 4744 model: 'Cool 1' 4745 - regex: 'C107-9(?:[);/ ]|$)' 4746 model: '1C' 4747 - regex: 'C105-(?:E0|8)(?:[);/ ]|$)' 4748 model: 'Cool S1' 4749 - regex: '1826-I01(?:[);/ ]|$)' 4750 model: 'Cool 5' 4751 - regex: 'ORL-C0(?:[);/ ]|$)' 4752 model: 'Cool 9' 4753 - regex: 'Cool_9S(?:[);/ ]|$)' 4754 model: 'Cool 9S' 4755 - regex: '5560S(?:[);/ ]|$)' 4756 model: 'Arise' 4757 - regex: '(5860S|8295) Build' 4758 model: '$1' 4759 - regex: 'E501' 4760 model: 'Modena' 4761 - regex: 'E502' 4762 model: 'Modena 2' 4763 - regex: 'CP8676_I02(?:[);/ ]|$)' 4764 model: 'Note 3' 4765 - regex: 'CP8676_I03(?:[);/ ]|$)' 4766 model: 'Note 3 Plus' 4767 - regex: 'CP8298_I00(?:[);/ ]|$)' 4768 model: 'Note 3 Lite' 4769 - regex: '(8676-[AM]01|8298-(?:M02|A01))(?:[);/ ]|$)' 4770 model: '$1' 4771 - regex: '(?:YL-)?Coolpad[ _\-]?([^/;]+) Build' 4772 model: '$1' 4773 - regex: '(?:YL-)?Coolpad[ _\-]?([a-z0-9\-]+)' 4774 model: '$1' 4775 4776# Clarmin (clarmin.com) 4777Clarmin: 4778 regex: 'Clarmin' 4779 device: 'smartphone' 4780 models: 4781 - regex: 'Clarmin[_ ](B[65]|C1)' 4782 model: '$1' 4783 4784# CORN (corn-mobile.com) 4785CORN: 4786 regex: 'CORN ' 4787 device: 'smartphone' 4788 models: 4789 - regex: 'CORN R20' 4790 model: 'R20' 4791 4792# Cosmote (https://www.telekom.ro/) 4793Cosmote: 4794 regex: 'Cosmote' 4795 device: 'smartphone' 4796 models: 4797 - regex: 'Cosmote_My_mini_Tab' # Allview My Mini Tab 4798 device: 'tablet' 4799 model: 'My Mini Tab' 4800 4801# Cricket 4802Cricket: 4803 regex: 'Cricket-([a-z0-9]+)|(?:U325AC|U705AC|V350C)(?:[);/ ]|$)' 4804 device: 'smartphone' 4805 models: 4806 - regex: 'U325AC' 4807 model: 'Icon 2' 4808 - regex: 'U705AC' 4809 model: 'Ovation' 4810 - regex: 'V350C' 4811 model: 'Influence' 4812 - regex: 'Cricket-([a-z0-9]+)' 4813 device: 'feature phone' 4814 model: '$1' 4815 4816# Crius 4817'Crius Mea': 4818 regex: '(Q7A\+?)(?:[);/ ]|$)' 4819 device: 'tablet' 4820 model: '$1' 4821 4822# Crosscall 4823Crosscall: 4824 regex: 'Crosscall|ODYSSEY_Plus|Odyssey S1|Trekker-[MSX][1234]|Action-X3|Core-X[34]' 4825 device: 'smartphone' 4826 models: 4827 - regex: 'Action-X3' 4828 model: 'Action-X3' 4829 - regex: 'Core-X([34])' 4830 model: 'Core-X$1' 4831 - regex: 'Crosscall ([^;/]+) Build' 4832 model: '$1' 4833 - regex: 'ODYSSEY_Plus' 4834 model: 'ODYSSEY+' 4835 - regex: 'Odyssey S1' 4836 model: 'ODYSSEY S1' 4837 - regex: 'Trekker-([MSX][1234](?: Core)?)' 4838 model: 'Trekker-$1' 4839 4840# AllDocube (alldocube.com) 4841AllDocube: 4842 regex: '(?:T1001XS?|T1006S?|iPlay_[234]0|U1006H?|iPlay8|iPlay30|iPlay_40H|iPlay20S)(?:[);/ ]|$)' 4843 device: 'tablet' 4844 models: 4845 - regex: 'T1001XS(?:[);/ ]|$)' 4846 model: 'M5XS' 4847 - regex: 'T1006S(?:[);/ ]|$)' 4848 model: 'M5S' 4849 - regex: 'T1006(?:[);/ ]|$)' 4850 model: 'M5' 4851 - regex: 'T1001X(?:[);/ ]|$)' 4852 model: 'M5X' 4853 - regex: 'U1006H?(?:[);/ ]|$)' 4854 model: 'iPlay 10 Pro 10.1"' 4855 - regex: 'iPlay_?([234]0|8|40H|20s)(?:[);/ ]|$)' 4856 model: 'iPlay $1' 4857 4858# Cube (short name Alldocube) 4859Cube: 4860 regex: '(<!myPhone ?)Cube|(U[0-9]+GT|K8GT)|(?:T8-PLUSM?S?|T8PLUSML|I1-TF[BD]?|I1-TC|i15-TG|i1002S|Iwork10 Flagship|iwork10 Pro)(?:[);/ ]|$)' 4861 device: 'tablet' 4862 models: 4863 - regex: 'U27GT' 4864 model: 'Talk 8' 4865 - regex: '(?:T8-PLUSM?S?|T8PLUSML)(?:[);/ ]|$)' 4866 model: 'T8 Ultimate' 4867 - regex: 'U55GT' 4868 model: 'Talk 79' 4869 - regex: 'U65GT' 4870 model: 'Talk 9X' 4871 - regex: 'I1-TF[BD]?(?:[);/ ]|$)' 4872 model: 'iWork 8 Air' 4873 - regex: 'I1-TC(?:[);/ ]|$)' 4874 model: 'iWork 8 Ultimate' 4875 - regex: 'i15-TG(?:[);/ ]|$)' 4876 model: 'iWork 10 Ultimate' 4877 - regex: '(?:i1002S|iwork10 Pro)(?:[);/ ]|$)' 4878 model: 'iWork 10 Pro' 4879 - regex: 'Iwork10 Flagship(?:[);/ ]|$)' 4880 model: 'iWork 10 Flagship' 4881 4882 - regex: '(U[0-9]+GT[^;/]*) Build' 4883 model: '$1' 4884 - regex: '(U[0-9]+GT(?:[0-9]|[\-_][a-z]+)?)' 4885 model: '$1' 4886 - regex: '(K8GT)' 4887 model: '$1' 4888 4889# Oculus (https://www.oculus.com/) 4890Oculus: 4891 regex: '(?:Pacific|Quest).+OculusBrowser|Standalone HMD' 4892 device: 'wearable' 4893 models: 4894 - regex: 'Pacific' 4895 model: 'Go' 4896 - regex: '(?:Quest 2|Standalone HMD)' 4897 model: 'Quest 2' 4898 - regex: 'Quest' 4899 model: 'Quest' 4900 4901# CUBOT 4902CUBOT: 4903 regex: 'CUBOT|(?<!QUMO )QUEST(?!(?:[0-9]|\s[0-9]))(?: LITE)?|(?:NOTE 20 PRO|RAINBOW 2|KING_KONG_3|KINGKONG 7|KINGKONG 5 Pro|ZORRO 001|KINGKONG[_ ]MINI2?|KING KONG CS|R15_PRO|S550 Pro| CHEETAH| X19|X19 S)(?:[);/ ]|$)' 4904 device: 'smartphone' 4905 models: 4906 - regex: 'CHEETAH( 2)?' 4907 model: 'Cheetah$1' 4908 - regex: 'RAINBOW 2' 4909 model: 'Rainbow 2' 4910 - regex: 'RAINBOW' 4911 model: 'Rainbow' 4912 - regex: 'DINOSAUR' 4913 model: 'Dinosaur' 4914 - regex: 'KINGKONG MINI2' 4915 model: 'King Kong Mini 2' 4916 - regex: 'KINGKONG_MINI' 4917 model: 'King Kong Mini' 4918 - regex: 'KING[_ ]?KONG[_ ]([37])' 4919 model: 'King Kong $1' 4920 - regex: 'KINGKONG 5 Pro' 4921 model: 'King Kong 5 Pro' 4922 - regex: 'KING KONG CS' 4923 model: 'King Kong CS' 4924 - regex: 'KING KONG' 4925 model: 'King Kong' 4926 - regex: 'QUEST LITE' 4927 model: 'Quest Lite' 4928 - regex: 'QUEST' 4929 model: 'Quest' 4930 - regex: 'ZORRO 001' 4931 model: 'Zorro 001' 4932 - regex: 'CUBOT[ _]Echo' 4933 model: 'Echo' 4934 - regex: 'CUBOT[ _]MANITO' 4935 model: 'Manito' 4936 - regex: 'CUBOT[ _]MAGIC' 4937 model: 'Magic' 4938 - regex: 'CUBOT[ _]MAX' 4939 model: 'Max' 4940 - regex: 'NOTE Plus' 4941 model: 'Note Plus' 4942 - regex: 'NOTE 20 PRO' 4943 model: 'Note 20 Pro' 4944 - regex: '(R15|S550|J3)[_ ]PRO' 4945 model: '$1 Pro' 4946 - regex: 'CUBOT[_ ]NOTE[_ ]S' 4947 model: 'Note S' 4948 - regex: 'CUBOT_NOVA' 4949 model: 'Nova' 4950 - regex: 'CUBOT_POWER' 4951 model: 'Power' 4952 - regex: 'CUBOT_X18_Plus' 4953 model: 'X18 Plus' 4954 - regex: 'CUBOT[ _](A5|C6W|H3|J3|P7|P20|[RXJ]9|R11|X18)(?:[);/ ]|$)' 4955 model: '$1' 4956 - regex: ' (X19 S|X19)(?:[);/ ]|$)' 4957 model: '$1' 4958 - regex: 'CUBOT ([^;/]+) Build' 4959 model: '$1' 4960 - regex: '([^;/]+) Build/CUBOT' 4961 model: '$1' 4962 4963# Clout 4964Clout: 4965 regex: 'Hind[ _]5\.1|X417[ _]Amaze|X418[ _]Zest|X421[ _]Nova|X422[ ]Exotic|X425[ _]Shavit|X428[ _]Astute' 4966 device: 'smartphone' 4967 models: 4968 - regex: 'Hind[ _]5\.1' 4969 model: 'Hind 5.1' 4970 - regex: 'X417[ _]Amaze' 4971 model: 'X417 Amaze' 4972 - regex: 'X418[ _]Zest' 4973 model: 'X418 Zest' 4974 - regex: 'X421[ _]Nova' 4975 model: 'X421 Nova' 4976 - regex: 'X422[ _]Exotic' 4977 model: 'X422 Exotic' 4978 - regex: 'X425[ _]Shavit' 4979 model: 'X425 Shavit' 4980 - regex: 'X428[ _]Astute' 4981 model: 'X428 Astute' 4982 4983# Concord 4984Concord: 4985 regex: 'Concord[ _-]|(?:Flyfix 6|C-721|Plus-7_C777|Plus_M19_C779|Plus-9_C778)(?:[);/ ]|$)' 4986 device: 'smartphone' 4987 models: 4988 - regex: 'M10' 4989 model: 'M10' 4990 - regex: 'Flyfix 6' 4991 model: 'Flyfix 6' 4992 - regex: 'C-721' 4993 model: 'Flyfix Q' 4994 device: 'tablet' 4995 - regex: 'Plus[-_]([79]|M19)_(C77[789])(?:[);/ ]|$)' 4996 model: 'Plus-$1 $2' 4997 device: 'tablet' 4998 4999# Crescent 5000Crescent: 5001 regex: 'WING 5|WING9|Venus[ _][14]' 5002 device: 'smartphone' 5003 models: 5004 - regex: 'WING 5' 5005 model: 'Wing 5' 5006 - regex: 'WING9' 5007 model: 'Wing 9' 5008 - regex: 'Venus[ _]([14])' 5009 model: 'Venus $1' 5010 5011# Cyrus 5012Cyrus: 5013 regex: 'Cyrus[ _-]|CyrusApel' 5014 device: 'smartphone' 5015 models: 5016 - regex: 'Cyrus[ _-]?([^;/)]+) Build' 5017 model: '$1' 5018 - regex: 'Cyrus[ _-]?([^;/)]+)(?:[);/ ]|$)' 5019 model: '$1' 5020 5021# Datang 5022Datang: 5023 regex: 'DATANG' 5024 device: 'smartphone' 5025 models: 5026 - regex: '(?:DATANG[ _-])+([^;/]+) Build' 5027 model: '$1' 5028 - regex: '(?:DATANG[ _-])+([^;/)]+)(?:[;/)]|$)' 5029 model: '$1' 5030 5031# Datsun 5032Datsun: 5033 regex: 'DATSUN' 5034 device: 'smartphone' 5035 models: 5036 - regex: 'DATSUN_D5500' 5037 model: 'D5500' 5038 - regex: 'Datsun_D5001' 5039 model: 'D5001' 5040 5041# Danew 5042Danew: 5043 regex: 'Dslide ?([^;/]+) Build|Konnect_?(?:402|50[246]|60[127])|GEODROID_A5|Dslide ?(?:714|101[45]|1013QC)' 5044 device: 'smartphone' 5045 models: 5046 - regex: 'Konnect_?(402|50[246]|60[127])' 5047 model: 'Konnect $1' 5048 - regex: 'Dslide ?([^;/]+) Build' 5049 device: 'tablet' 5050 model: 'DSlide $1' 5051 - regex: 'GEODROID_A5' 5052 device: 'tablet' 5053 model: 'Geodroid A5' 5054 - regex: 'Dslide ?(714|1013QC|101[45])' 5055 device: 'tablet' 5056 model: 'Dslide $1' 5057 5058# Denver Electronics (denver-electronics.com) 5059Denver: 5060 regex: '(?:TA[CDQ]-[0-9]+)|P(?:.+)TAQ-(?:[0-9]+)|SDQ[_-](?:550[24]4L|52001G|50002G|57004L)' 5061 device: 'tablet' 5062 models: 5063 - regex: 'P(?:.+)TAQ-(10213GMK2|10172MK3|10242MK2|70242MK2|[0-9]+)(?:[);/ ]|$)' 5064 model: 'TAQ-$1' 5065 - regex: '(TA[CDQ]-[0-9]+)' 5066 model: '$1' 5067 - regex: 'SDQ[_-](550[24]4L|52001G|50002G|57004L)' 5068 device: 'smartphone' 5069 model: 'SDQ-$1' 5070 5071# Dell 5072Dell: 5073 regex: 'Dell[^a-z]|Venue|XCD35' 5074 device: 'smartphone' 5075 models: 5076 - regex: 'XCD35' 5077 model: 'XCD35' 5078 - regex: 'Venue ((?:10|[78]) [0-9]{4}|[78] HSPA\+)' 5079 model: 'Venue $1' 5080 device: 'tablet' 5081 - regex: '(?:Dell )?Venue(?: Build|[);])' 5082 model: 'Venue' 5083 - regex: 'Dell; Venue Pro' 5084 model: 'Venue Pro' 5085 5086 - regex: '(OptiPlex (?:3050|7010))' 5087 device: 'desktop' 5088 model: '$1' 5089 5090 - regex: '(?:Dell )?(Streak|Venue) ?([^/;]*) Build' 5091 model: '$1 $2' 5092 device: 'tablet' 5093 - regex: '(?:Dell Inc./)?(XPS 13 9360|Latitude 7480)(?:[);/ ]|$)' 5094 device: 'desktop' 5095 model: '$1' 5096 - regex: 'Dell; ((?:Streak|Venue)[^;/\)]*)' 5097 model: '$1' 5098 device: 'tablet' 5099 - regex: 'Dell; ([^;/\)]+)' 5100 model: '$1' 5101 - regex: 'Dell[ _\-]([^/;]+) Build' 5102 model: '$1' 5103 5104# Desay 5105Desay: 5106 regex: 'Desay' 5107 device: 'smartphone' 5108 models: 5109 - regex: 'Desay[ _-]?([^;/)]+) Build' 5110 model: '$1' 5111 - regex: 'Desay[ _-]?([^;/)]+)(?:[);/ ]|$)' 5112 model: '$1' 5113 5114# DEXP (dexp.club) 5115DEXP: 5116 regex: 'DEXP|(?:Ursus|Ixion)[ _]([^;/)]+)|H135[ _]Build|Larus_TV1|Ixion(?:ML4.7|ES250)|M150Storm|(?:SENIOR|F4[38]D8000K|VA(?:[12]10|170)|ML450|MS[56]50|BL(?:[123]50|160|155)|BS(?:155|160|[1256]50)|(?<!ILIUM )S(?:3[78]0|2[89]0|670)|AL(?:[12]40|[23]50)|AS(?:155|[123]60)| (?:N280i|P310|P380i?|R1[18]0|Q110|E1[78]0|E210|B(?:450|340|35[05])|M445|T155|U43F8000Q|A(?:1[456]0|340|355)|GS15[035]|GL[23]55|G25[05]|G15[05]|ES750|XL150|Z[1-4]55|H170|H310|P510|L2[17]0)|Z250|A440|N180i|N380i|(?<!VOX )G450)(?:[);/ ]|$)' 5117 device: 'smartphone' 5118 models: 5119 - regex: 'Ixion[_ ]([^;/]+)(?: Build|\))' 5120 model: 'Ixion $1' 5121 - regex: '(ML450|MS[56]50|ES750|XL150)(?:[);/ ]|$)' 5122 model: 'Ixion $1' 5123 - regex: 'IxionES250(?:[);/ ]|$)' 5124 model: 'Ixion ES250 Rage' 5125 - regex: 'IxionML4.7(?:[);/ ]|$)' 5126 model: 'Ixion ML 4.7"' 5127 - regex: 'M150Storm(?:[);/ ]|$)' 5128 model: 'Ixion M150 Storm' 5129 - regex: 'M445(?:[);/ ]|$)' 5130 model: 'Ixion M445 Onyx 2' 5131 - regex: 'AL250(?:[);/ ]|$)' 5132 model: '4.5" AL250' 5133 - regex: 'AL350(?:[);/ ]|$)' 5134 model: '5.0" AL350' 5135 - regex: 'AS155(?:[);/ ]|$)' 5136 model: '5.45" AS155' 5137 - regex: 'AS260(?:[);/ ]|$)' 5138 model: '5.85" AS260' 5139 device: 'phablet' 5140 - regex: 'AS360(?:[);/ ]|$)' 5141 model: '6.22" AS360' 5142 device: 'phablet' 5143 5144 - regex: 'Ursus[ _]([^;/)]+)(?: Build|[);])' 5145 model: 'Ursus $1' 5146 device: 'tablet' 5147 - regex: '(VA[21]10|VA170|E210|R1[18]0|Q110|N280i|P380i?|P[35]10|S2[89]0|S3[78]0|S670|H170|H310|L2[17]0|N180i|N380i|E1[78]0)(?:[);/ ]|$)' 5148 model: 'Ursus $1' 5149 device: 'tablet' 5150 5151 - regex: ' (A440|A355|B450|B340|B35[05]|BL155|BL160|A160|A340|T155|Z[1-4]55|G25[05]|Z250|G450)(?:[);/ ]|$)' 5152 model: '$1' 5153 - regex: 'SENIOR(?:[);/ ]|$)' 5154 model: 'Senior' 5155 5156 - regex: 'Larus_TV1' 5157 device: 'feature phone' 5158 model: 'Larus_TV1' 5159 5160 - regex: 'H135[ _]Build' 5161 model: 'Atlas' 5162 device: 'desktop' 5163 - regex: '(BL[123]50|BS155|BS160|BS[1256]50|AL[12]40|A1[45]0|GS15[035]|AS160|GL[23]55|G15[05])(?:[);/ ]|$)' 5164 model: '$1' 5165 - regex: 'DEXP[ _]([^;/]+) Build' 5166 model: '$1' 5167 - regex: 'DEXP[ _]([^);/]+)(?:[);/ ]|$)' 5168 model: '$1' 5169 5170 - regex: '(F4[38]D8000K|U43F8000Q)(?:[);/ ]|$)' 5171 device: 'tv' 5172 model: '$1' 5173 5174# Dbtel 5175Dbtel: 5176 regex: 'DBTEL(?:[\-/])?([a-z0-9]+)' 5177 device: 'feature phone' 5178 model: '$1' 5179 5180# Dialog 5181Dialog: 5182 regex: 'Dialog ?([^;/]+)(?: Build|[;)])' 5183 device: 'smartphone' 5184 model: '$1' 5185 5186# Dicam 5187Dicam: 5188 regex: 'DICAM-([a-z0-9]+)' 5189 device: 'feature phone' 5190 model: '$1' 5191 5192# Digi 5193Digi: 5194 regex: '(?<!FBCR/)Digi[ _]([^);/]+)(?:[);/ ]|$)' 5195 device: 'smartphone' 5196 model: '$1' 5197 5198# Digicel 5199Digicel: 5200 regex: 'DIGICEL' 5201 device: 'smartphone' 5202 models: 5203 - regex: 'DL810' 5204 model: 'DL810' 5205 - regex: 'DIGICEL ([^/;]+) Build' 5206 model: '$1' 5207 5208# Digiland 5209Digiland: 5210 regex: '(?:DL721-RB|DL(?:1023|1036|9002|[78]006|1008M)|Compumax Blue)(?:[);/ ]|$)' 5211 device: 'tablet' 5212 models: 5213 - regex: 'DL1008M' 5214 model: 'DL1008M' 5215 - regex: 'DL(1023|1036|9002|[78]006|721-RB)' 5216 model: 'DL$1' 5217 - regex: '(Compumax Blue)' 5218 model: '$1' 5219 5220# Digma 5221Digma: 5222 regex: 'Digma[_ ]([^;/]+) Build|HIT HT707[10]MG|CITI (?:7 E401 4G|8 E400 4G|ATL 4G|Kids|Octa [178]0|1902 3G|10 E402|Z530 3G)|(CITI[_ ](?:[A-Z0-9]+)[_ ][34]G)[ _][TC][ST](?:[0-9]{4}[PM][LG])|HIT 4G|HT7074ML|IDX5|(iDx10|iDx7)|MVM900H(?:WZ|C)|MVM908HCZ|(iDxD8 3G|iDxD10 3G|iDrQ10 3G|iDxD[45]|iDxQ5|iD[nx]D7(?:[_ ]3G)?)|PS604M|PT452E|Linx.+ [34]G L[TS][0-9]{4}[PM][GL]|Linx PS474S|PS1043MG|HT7071MG|HT5035PG|HT4039PG|NS6902QL|NS9797MG|TS7854M|TS1012E 3G|TT1004PG|TT702[045]MG|TT1002MG|TT7026MW|VRL42|((?:Optima|Platina|Plane)[ _](?:[EM])?(?:[0-9\.ST]+|Prime)(?:[ _][43]G)?)|(VOX[ _](?:[0-9\.A-Z]+)[_ ][43]G)' 5223 device: 'smartphone' 5224 models: 5225 - regex: 'HIT(?: 3G)? HT707[10]MG' 5226 model: 'HIT 3G' 5227 device: 'tablet' 5228 - regex: 'iDx5' 5229 model: 'iDx5' 5230 - regex: 'HT5035PG' 5231 model: 'HIT Q500 3G' 5232 - regex: 'HT4039PG' 5233 model: 'HIT Q401 3G' 5234 - regex: '(VOX[ _](?:[0-9\.A-Z]+)[_ ][43]G)' 5235 model: '$1' 5236 - regex: 'PS604M' 5237 model: 'Linx 6.0' 5238 - regex: 'LT4049PG' 5239 model: 'Linx Atom 3G' 5240 - regex: 'LT5048MG' 5241 model: 'Linx Joy 3G' 5242 - regex: 'LT5052ML' 5243 model: 'Linx Base 4G' 5244 - regex: 'LT4047MG' 5245 model: 'Linx Alfa 3G' 5246 - regex: 'LS4050MG' 5247 model: 'Linx X1 3G' 5248 - regex: 'LS4051MG' 5249 model: 'Linx X1 Pro 3G' 5250 - regex: 'LT4054MG' 5251 model: 'Linx Argo 3G' 5252 - regex: 'LS5041PL' 5253 model: 'Linx Trix 4G' 5254 - regex: 'LS5040PL' 5255 model: 'Linx Rage 4G' 5256 - regex: 'LS5053ML' 5257 model: 'Linx Pay 4G' 5258 - regex: 'Linx ([A-Z][0-9]{3}) 3G (?:LT4028PG|LS4019PG|LT4001PG|LT5001PG|LT4038PG|LT5037MG|LT4030PG)' 5259 model: 'Linx $1 3G' 5260 - regex: '(Linx PS474S)' 5261 model: '$1' 5262 - regex: 'PT452E' 5263 model: 'Linx 4.5' 5264 - regex: 'CITI ATL 4G CS5029ML' 5265 model: 'CITI ATL 4G' 5266 - regex: '(CITI Z530 3G)' 5267 model: '$1' 5268 - regex: '(CITI [A-Z0-9]+ [34]G) C[ST](?:606[32]ML|4024PG|5009PL|5021ML|502[56]PL)' 5269 model: '$1' 5270 5271 - regex: 'TS7854M' 5272 model: 'Plane 8.1" 3G' 5273 device: 'tablet' 5274 - regex: 'PS1043MG' 5275 model: 'Plane 10.3" 3G' 5276 device: 'tablet' 5277 - regex: 'TS1012E 3G' 5278 model: 'Plane 10.1" 3G' 5279 device: 'tablet' 5280 - regex: 'MVM900H(?:WZ|C)' 5281 model: 'iDx8' 5282 device: 'tablet' 5283 - regex: 'MVM908HCZ' 5284 model: 'iDx9' 5285 device: 'tablet' 5286 - regex: '(iD(?:xD10|rQ10|xD7)[_ ]3G)' 5287 model: '$1' 5288 device: 'tablet' 5289 - regex: '(iDx10|iDx7)' 5290 model: '$1' 5291 - regex: '(iDxD[45]|iDxQ5)' 5292 model: '$1' 5293 - regex: 'HIT 4G HT7074ML' 5294 model: 'HIT 4G' 5295 device: 'tablet' 5296 - regex: 'CITI[_ ](1902 3G|Kids|8527_4G|Octa [178]0|10 E402 4G|8 E400 4G|7 E401 4G)' 5297 model: 'CITI $1' 5298 device: 'tablet' 5299 - regex: '(CITI[ _](?:[A-Z0-9]+)[ _][34]G)[ _][TC][ST](?:106[24]ML|111[46]ML|1115MG|1117PG|1207MG|1210MG|3001ML|500[67]PG|7052PG|706[567]MG|7097MG|720[48]MG|820[69]MG|11[459]4MG|1195MG|1196ML|3001ML|8152ML|1050PL|709[68]PL|7113PL|7193MG|7216MG|8205PG|7203MG|8143MG|7153MG|7141MG|7140ML)' 5300 model: '$1' 5301 device: 'tablet' 5302 - regex: 'iDxD8 3G' 5303 model: 'D-Plane2 8' 5304 device: 'tablet' 5305 - regex: '(iDnD7)' 5306 model: '$1' 5307 device: 'tablet' 5308 - regex: 'NS6902QL' 5309 model: 'Platina 7.2 4G' 5310 device: 'tablet' 5311 - regex: 'NS9797MG' 5312 model: 'Platina 7.2 3G' 5313 device: 'tablet' 5314 - regex: 'TT1004PG' 5315 model: 'Optima 10.4" 3G' 5316 device: 'tablet' 5317 - regex: 'TT1002MG' 5318 model: 'Optima D 10.4" 3G' 5319 device: 'tablet' 5320 - regex: 'TT7025MG' 5321 model: 'Optima 7.5" 3G' 5322 device: 'tablet' 5323 - regex: 'TT7026MW' 5324 model: 'Optima 7.6" 3G' 5325 device: 'tablet' 5326 - regex: 'TT7020MG' 5327 model: 'Optima 7.3" 3G' 5328 device: 'tablet' 5329 - regex: 'TT7024MG' 5330 model: 'Optima 7.4" 3G' 5331 device: 'tablet' 5332 - regex: 'Optima ([0-9]+ X70[0-9]+) 4G' 5333 model: 'Optima $1 4G' 5334 device: 'tablet' 5335 - regex: 'Optima ([0-9]+ A500S) 3G' 5336 model: 'Optima $1 3G' 5337 device: 'tablet' 5338 - regex: '((?:Optima|Platina|Plane)[ _](?:[EM])?(?:[0-9\.STNMEV]+|Prime)(?:[ _][43]G)?)' 5339 model: '$1' 5340 device: 'tablet' 5341 - regex: 'Digma[_ ]([^;/]+) Build' 5342 model: '$1' 5343 device: 'tablet' 5344 # VR headset 5345 - regex: 'VRL42(?:[);/ ]|$)' 5346 device: 'wearable' 5347 model: 'VR L42' 5348 5349# DoCoMo 5350DoCoMo: 5351 regex: 'DoCoMo|\;FOMA|KGT/1\.0' 5352 device: 'feature phone' 5353 models: 5354 - regex: 'DoCoMo/.+MST.+(SH2101V)' 5355 model: '$1' 5356 - regex: 'DoCoMo/[12]\.0[/ ]([a-z0-9]+)' 5357 model: '$1' 5358 - regex: '([a-z0-9]+)(?:_W)?\;FOMA' 5359 model: '$1' 5360 - regex: 'KGT/1\.0 ([a-z0-9]+)' 5361 model: '$1' 5362 5363# Doogee 5364Doogee: 5365 regex: 'DOOGEE[/ _-]|Valencia2_Y100(?:_?(?:pro|plus))?|Y100_Plus|X5max(?:[_ ]PRO)?|Shoot_[12]|x5_doogee|(KISSME|BIGBOY|COLLO[23]?|DAGGER|DISCOVERY2?|FIND|HOTWIND|LATTE|MAX|MINT|MOON|PIXELS|RAINBOX|TURBO|VALENCIA|VOYAGER2?|TITANS2?)[ -_](DG[0-9]+C?)(?:[);/ ]|$)|(?:BL12000|BL5500[_ ]Lite|X9 Mini|LEO_DG280|Y9Plus|Y8 Plus|Hitman_DG850|S(?:[568]8|9[0567]|59|40|86)Pro|X9[56]Pro|S[478]0Lite|S88Plus|BL[579]000|N[24]0Pro|(?<!Lenovo )S90C|Ibiza_F2|S55_Lite|S60Lite|Iron-bone DG750|X10S|X60L|MIX2|Y6 Max|Y6_Piano(?:_black)?)(?:[);/ ]|$)' 5366 device: 'smartphone' 5367 models: 5368 - regex: '(?:Valencia2_)?Y100_Plus(?:[);/ ]|$)' 5369 model: 'Valencia2 Y100 Plus' 5370 - regex: 'Valencia2_Y100pro' 5371 model: 'Valencia2 Y100 Pro' 5372 - regex: 'Valencia2_Y100(?:[);/ ]|$)' 5373 model: 'Valencia2 Y100' 5374 - regex: 'LEO_(DG280)' 5375 model: 'Leo $1' 5376 - regex: 'Iron-bone (DG750)' 5377 model: 'Iron Bone $1' 5378 - regex: '(BL[579]000|S90C|X10S|X60L)(?:[);/ ]|$)' 5379 model: '$1' 5380 - regex: 'X(9[56])Pro(?:[);/ ]|$)' 5381 model: 'X$1 Pro' 5382 - regex: 'N([24]0)Pro(?:[);/ ]|$)' 5383 model: 'N$1 Pro' 5384 - regex: 'BL12000 PRO' 5385 model: 'BL12000 Pro' 5386 - regex: 'BL5500[_ ]Lite' 5387 model: 'BL5500 Lite' 5388 - regex: 'BL12000' 5389 model: 'BL12000' 5390 - regex: 'S([568]8|9[0567]|59|40|86)Pro' 5391 model: 'S$1 Pro' 5392 - regex: 'S(88)Plus' 5393 model: 'S$1 Plus' 5394 - regex: 'S([4-8]0|55)[_ ]?Lite' 5395 model: 'S$1 Lite' 5396 - regex: 'KISSME-DG580' 5397 model: 'Kissme DG580' 5398 - regex: 'Hitman_DG850' 5399 model: 'Hitman DG580' 5400 - regex: 'X9 Mini' 5401 model: 'X9 Mini' 5402 - regex: 'x5_doogee' 5403 model: 'X5' 5404 - regex: 'Shoot_([12])' 5405 model: 'Shoot $1' 5406 - regex: 'Ibiza_F2' 5407 model: 'Ibiza F2' 5408 - regex: 'Y6_Piano_black' 5409 model: 'Y6 Piano Black' 5410 - regex: 'Y6_Piano' 5411 model: 'Y6 Piano' 5412 - regex: 'Y6 Max 3D' 5413 model: 'Y6 Max 3D' 5414 - regex: 'Y6 Max' 5415 model: 'Y6 Max' 5416 5417 - regex: '(X5max(?:[_ ]PRO)?)' 5418 model: '$1' 5419 - regex: '(?:DOOGEE[ _-])?(BIGBOY|COLLO[23]?|DAGGER|DISCOVERY2?|FIND|HOTWIND|LATTE|MAX|MINT|MOON|PIXELS|RAINBOX|TURBO|VALENCIA|Valencia2_Y100pro|VOYAGER2?|TITANS2?)[ -_](DG[0-9]+C?)(?:[);/ ]|$)' 5420 model: '$1 $2' 5421 - regex: 'DOOGEE[ _-]([^);/]+) Build' 5422 model: '$1' 5423 - regex: 'DOOGEE[ _-]([^);/]+)(?:[);/ ]|$)' 5424 model: '$1' 5425 - regex: 'Y([89]) ?Plus(?:[);/ ]|$)' 5426 model: 'Y$1 Plus' 5427 - regex: 'MIX2(?:[);/ ]|$)' 5428 model: 'Mix 2' 5429 5430# Doov 5431Doov: 5432 regex: '(?:Doov-)?Doov[ _]' 5433 device: 'smartphone' 5434 models: 5435 - regex: '(?:Doov-)?Doov[ _]([^;/]+) Build' 5436 model: '$1' 5437 - regex: '(?:Doov-)?Doov[ _]([^);/]+)(?:[);/ ]|$)' 5438 model: '$1' 5439 5440# Dopod 5441Dopod: 5442 regex: 'Dopod(?: )?([a-z0-9]+)' 5443 device: 'feature phone' 5444 model: '$1' 5445 5446# Doro 5447Doro: 5448 regex: 'Doro' 5449 device: 'smartphone' 5450 models: 5451 - regex: 'Doro[ _-]?([^;/)]+) Build' 5452 model: '$1' 5453 - regex: 'Doro[ _-]([0-9a-z]+)' 5454 model: '$1' 5455 5456# Dune HD 5457'Dune HD': 5458 regex: 'DuneHD|SOLO 4K(?:[);/ ]|$)' 5459 device: 'tv' 5460 models: 5461 - regex: 'SOLO 4K(?:[);/ ]|$)' 5462 model: 'Solo 4k' 5463 - regex: 'DuneHD/\d.\d \([a-z]+__([a-z0-9_-]+);' 5464 model: '$1' 5465 - regex: 'DuneHD/\d.\d \(([a-z0-9_-]+);' 5466 model: '$1' 5467 5468# DNS 5469DNS: 5470 regex: '(?:DNS|AirTab)[ _\-]([^;/)]+)|(?:S4505M|S4004M|SD01M)(?:[);/ ]|$)' 5471 device: 'smartphone' 5472 models: 5473 - regex: '(?:DNS[_ ])?(S4505M|S4004M|SD01M|S4502|S4003|S4003)(?:[);/ ]|$)' 5474 model: '$1' 5475 - regex: 'S-4003(?:[);/ ]|$)' 5476 model: 'S4003' 5477 - regex: 'AirTab[ _\-]([^;/]+)(?: Build|[);])' 5478 model: 'AirTab $1' 5479 device: 'tablet' 5480 - regex: 'DNS[ _\-]([^;/]+)(?: Build|[);])' 5481 model: '$1' 5482 5483# E-Boda (e-boda.ro) 5484E-Boda: 5485 regex: 'E-Boda|Eclipse_(?:G400M|G500)|Revo R77 GPS' 5486 device: 'smartphone' 5487 models: 5488 - regex: 'E-Boda ((?:Revo|Izzycomm|Essential|Intelligence|Supreme)[^/;]+) Build' 5489 device: 'tablet' 5490 model: '$1' 5491 - regex: 'Revo R77 GPS' 5492 device: 'tablet' 5493 model: 'Revo R77 GPS' 5494 - regex: 'Eclipse_(G400M|G500)' 5495 model: 'Eclipse $1' 5496 - regex: 'E-Boda ([^/;]+) Build' 5497 model: '$1' 5498 5499# Easypix 5500Easypix: 5501 regex: 'EasyPad|EasyPhone' 5502 device: 'smartphone' 5503 models: 5504 - regex: '(EasyPhone[^/;]+) Build' 5505 model: '$1' 5506 - regex: 'EasyPad ([^/;)]+)(?: Build|[;)])' 5507 model: 'EasyPad $1' 5508 device: 'tablet' 5509 5510# Ebest 5511EBEST: 5512 regex: 'EBEST' 5513 device: 'smartphone' 5514 models: 5515 - regex: 'EBEST[ _-]?([^;/)]+) Build' 5516 model: '$1' 5517 - regex: 'EBEST[ _-]?([^;/)]+)(?:[);/ ]|$)' 5518 model: '$1' 5519 5520# Echo Mobiles 5521Echo Mobiles: 5522 regex: 'ECHO[ _](HOLI|HORIZON|MAX|MOSS|NOTE|POWER|SMART|DUNE|JAVA|FUSION)|HORIZON_M|Stellar 3G|FEELING' 5523 device: 'smartphone' 5524 models: 5525 - regex: 'ECHO_HORIZON_LITE' 5526 model: 'HORIZON Lite' 5527 - regex: '(HORIZON_M|FEELING)(?:[);/ ]|$)' 5528 model: '$1' 5529 - regex: 'STELLAR 3G' 5530 model: 'STELLAR 3G' 5531 - regex: 'ECHO_SMART_4G' 5532 model: 'SMART 4G' 5533 - regex: 'ECHO[ _](HOLI|MAX|MOSS|NOTE|POWER|SMART|DUNE|JAVA|FUSION)' 5534 model: '$1' 5535 5536# ECS 5537ECS: 5538 regex: '(?:TA10CA3|TM105A?|TR10[CR]S1)(?:[);/ ]|$)' 5539 device: 'tablet' 5540 models: 5541 - regex: 'TA10CA3(?:[);/ ]|$)' 5542 model: 'TA10CA3' 5543 - regex: '(TR10[CR]S1)(?:[);/ ]|$)' 5544 model: '$1' 5545 - regex: 'TM105A(?:[);/ ]|$)' 5546 model: 'TM105A' 5547 - regex: 'TM105(?:[);/ ]|$)' 5548 model: 'TM105' 5549 5550# EE 5551EE: 5552 regex: '(?:Harrier|Hawk|Rook)[_ ]from[_ ]EE' 5553 device: 'smartphone' 5554 models: 5555 - regex: 'Rook[_ ]from[_ ]EE' 5556 model: 'Rock' 5557 - regex: '(Harrier|Hawk)[_ ]from[_ ]EE' 5558 model: '$1' 5559 5560# EKT 5561EKT: 5562 regex: 'EK-(?:5040|5336|5540|5937|6020|8680|MII|T7020)' 5563 device: 'tablet' 5564 models: 5565 - regex: 'EK-(MII|T7020)' 5566 model: 'EK-$1' 5567 - regex: 'EK-(5040|5336|5540|5937|6020|8680)' 5568 device: 'smartphone' 5569 model: 'EK-$1' 5570 5571# Eks Mobility 5572Eks Mobility: 5573 regex: 'S5LS|X4UPlus' 5574 device: 'smartphone' 5575 models: 5576 - regex: 'S5LS' 5577 model: 'S5LS' 5578 - regex: 'X4UPlus' 5579 model: 'X4U Plus' 5580 5581# Elephone 5582Elephone: 5583 regex: 'Elephone|Vowney(?: Lite)?|P6000(?!_Plus)( ?Pro| ?Plus|\+| ?02| 5.0 01)?|Soldier|(?:P8_3D|P8_Max)(?:[);/ ]|$)' 5584 device: 'smartphone' 5585 models: 5586 - regex: 'Elephone Trunk(?:[);/ ]|$)' 5587 model: 'Trunk' 5588 - regex: 'Vowney Lite(?:[);/ ]|$)' 5589 model: 'Vowney Lite' 5590 - regex: 'Vowney(?:[);/ ]|$)' 5591 model: 'Vowney' 5592 - regex: 'P6000(\+| ?Plus)(?:[);/ ]|$)' 5593 model: 'P6000 Plus' 5594 - regex: 'P6000 02(?:[);/ ]|$)' 5595 model: 'P6000 02' 5596 - regex: 'P6000 5.0 01(?:[);/ ]|$)' 5597 model: 'P6000 01' 5598 - regex: 'P6000 ?Pro(?:[);/ ]|$)' 5599 model: 'P6000 Pro' 5600 - regex: 'Soldier(?:[);/ ]|$)' 5601 model: 'Soldier' 5602 - regex: '(P8_3D|P8_Max)(?:[);/ ]|$)' 5603 model: '$1' 5604 - regex: '(?:Elephone[ _])?(P[768]000|S2)(?:[);/ ]|$)' 5605 model: '$1' 5606 - regex: 'Elephone[ _\-]([^/;]+)(?: Build|[;)])' 5607 model: '$1' 5608 5609# Element 5610Element: 5611 regex: 'AFTRS' 5612 model: 'Element 4K (2017)' 5613 device: 'tv' 5614 5615# Elenberg 5616Elenberg: 5617 regex: '(TAB(?:101|728)[ _]3G|TAB7(?:[03]8|16|40|3[30]))(?:[);/ ]|$)' 5618 device: 'tablet' 5619 model: '$1' 5620 5621 5622# Ericy 5623Ericy: 5624 regex: 'Ericy-([a-z0-9]+)' 5625 device: 'feature phone' 5626 model: '$1' 5627 5628# Essential 5629Essential: 5630 regex: 'PH-1[ )]' 5631 device: 'smartphone' 5632 models: 5633 - regex: 'PH-1[ )]' 5634 model: 'PH-1' 5635 5636# E-tel 5637E-tel: 5638 regex: 'E-tel_i250' 5639 device: 'smartphone' 5640 models: 5641 - regex: 'E-tel[_ ]i250' 5642 model: 'i250' 5643 5644# Evercoss 5645Evercoss: 5646 regex: 'EVERCOSS[ _]|(A75A\*|U50A_PLUS|M50 STAR|A75 MAX)(?:[);/ ]|$)' 5647 device: 'smartphone' 5648 models: 5649 - regex: 'A75A\*(?:[);/ ]|$)' 5650 model: 'A75A Star' 5651 - regex: 'A75 MAX*(?:[);/ ]|$)' 5652 model: 'A75 Max' 5653 - regex: 'U50A_PLUS(?:[);/ ]|$)' 5654 model: 'U50A Plus' 5655 - regex: 'M50 STAR(?:[);/ ]|$)' 5656 model: 'M50 Star' 5657 - regex: 'EVERCOSS[ _](A7[BRLZ]|A65|A74A|A5Z)(?:[);/ ]|$)' 5658 model: '$1' 5659 5660# Eurostar 5661Eurostar: 5662 regex: '(ET7002C-H12|Onyx-[13]S)(?:[);/ ]|$)' 5663 device: 'smartphone' 5664 models: 5665 - regex: 'Onyx-([13]S)(?:[);/ ]|$)' 5666 model: 'Onyx $1' 5667 - regex: 'ET7002C-H12(?:[);/ ]|$)' 5668 model: 'ePad 4S' 5669 device: 'tablet' 5670 5671# Eton 5672Eton: 5673 regex: 'Eton' 5674 device: 'smartphone' 5675 models: 5676 - regex: 'Eton[ _-]?([^;/)]+) Build' 5677 model: '$1' 5678 - regex: 'Eton[ _-]?([^;/)]+)(?:[);/ ]|$)' 5679 model: '$1' 5680 5681# Essentielb 5682Essentielb: 5683 regex: '(?:Wooze[_ ]?(?:I55?|I45|X?L)|HEYOU(?:[135]|30))(?:[);/ ]|$)' 5684 device: 'smartphone' 5685 models: 5686 - regex: 'HEYOU([135]|30)(?:[);/ ]|$)' 5687 model: 'HEYou $1' 5688 - regex: 'Wooze[_ ]?((?:I55?|I45|X?L))(?:[);/ ]|$)' 5689 model: 'Wooze $1' 5690 5691# Facebook 5692Facebook: 5693 regex: 'PortalTV' 5694 device: 'tv' 5695 model: 'Portal TV' 5696 5697# Rikomagic 5698Rikomagic: 5699 regex: 'MK(80[28][^/;]*) Build' 5700 device: 'tv' 5701 model: 'MK$1' 5702 5703# Rinno 5704Rinno: 5705 regex: 'Rinno (R(?:400|505))' 5706 device: 'smartphone' 5707 model: '$1' 5708 5709# Riviera (www.riviera.com.ec) 5710Riviera: 5711 regex: 'RIVIERA[ _]' 5712 device: 'smartphone' 5713 models: 5714 - regex: 'RIVIERA[ _](F23|U963)' 5715 model: '$1' 5716 5717# Senseit 5718Senseit: 5719 regex: 'SENSEIT[ _]?([^;/)]+)( Build|\))' 5720 device: 'smartphone' 5721 model: '$1' 5722 5723# SunWind (sunwind.ru.com) 5724SUNWIND: 5725 regex: 'SUNWIND[_ ]|SKY 9 A102 3G SS9236PG(?:[);/ ]|$)' 5726 device: 'tablet' 5727 models: 5728 - regex: 'SKY 9 A102 3G SS9236PG' 5729 model: 'Sky 9 A102 3G' 5730 - regex: 'SKY 7 E200 3G ST7230MG' 5731 model: 'Sky 7 E200 3G' 5732 5733# Sony & Sony Ericsson (combined as they are mixed up) 5734Sony: 5735 regex: 'Sony(?: ?Ericsson)?|SGP|Xperia|(?:[4-9]0[12])SO|C1[569]0[45]|C2[01]0[45]|C230[45]|C530[236]|C550[23]|C6[56]0[236]|C6616|C68(?:0[26]|[34]3)|C69(?:0[236]|16|43)|D(?:200[45]|21(?:0[45]|14)|22(?:0[236]|12|43)|230[2356]|240[36]|2502|2533|510[236]|530[36]|5316|5322|5503|58[03]3|65(?:0[23]|43|63)|66[03458]3|66[14]6|6708)|E(?:20[0345]3|2006|210[45]|2115|2124|230[36]|2312|23[356]3|530[36]|53[3456]3|5506|55[356]3|56[46305][36]|58[02]3|6508|65[35]3|66[0358]3|68[358]3)|F(?:311[12356]|331[13]|321[12356]|5[13]21|5122|813[12]|833[12])|G(?:2299|312[135]|311[26]|322[136]|3212|331[123]|3412|3416|342[136]|823[12]|834[123]|8[14]4[12]|8188)|H(?:3113|3123|3133|3213|3223|3311|3321|4113|4133|4213|4233|4311|4331|4413|4433|4493|8116|8166|82[1679]6|83[12]4|8416|9436|9493)|I(?:3[12]23|3213|[34]113|[34]312|4193|42[19]3|4332)|J(?:3173|3273|81[17]0|82[17]0|91[15]0|92[16]0)|(?:WT|LT|SO|ST|SK|MK)[0-9]+[a-z]+[0-9]*(?: Build|\))|X?L39H|XM50[ht]|XQ-[A-Z]{2}[0-9]{2}|W960|portalmmm/2\.0 K|S3[69]h|SOG0[1-4]|SOL2[2-6]|SOT31|SOV3[1-9]|SOV4[0-3]|X10[ia]v?|E1[05][ai]v?|MT[0-9]{2}[a-z]? Build|SO-0(?:[12]C|[2-5]D|[234]E|[1-5]F|[1-5]G|[1-4]H|[1-4]J|[1-5]K|1M|[1-3]L)|R800[aix]|LiveWithWalkman|BRAVIA|SGP771|E3 Dual|A[01]01SO|A102SO|SO-[45]1[AB]|SO-52[AB]|A002SO|NW-(A100|Z1000)Series|NSZ-GS7' 5736 device: 'smartphone' 5737 models: 5738 # SONY ERICSSON: explicit smartphone models 5739 - regex: '(?:Sony(?:Ericsson)?)?E10[ai]v?' 5740 model: 'Xperia X10 mini' 5741 brand: 'Sony Ericsson' 5742 - regex: '(?:Sony(?:Ericsson)?)?U20' 5743 model: 'Xperia X10 mini pro' 5744 brand: 'Sony Ericsson' 5745 - regex: '(?:Sony(?:Ericsson)?)?E15[ai]v?' 5746 model: 'Xperia X8' 5747 brand: 'Sony Ericsson' 5748 - regex: '(?:Sony(?:Ericsson)?)?(LT15[ai]?v?|SO-01C)' 5749 model: 'Xperia arc' 5750 brand: 'Sony Ericsson' 5751 - regex: '(?:Sony(?:Ericsson)?)?LT18[ai]v?' 5752 model: 'Xperia arc S' 5753 brand: 'Sony Ericsson' 5754 - regex: '(?:Sony(?:Ericsson)?)?MT11' 5755 model: 'Xperia neo V' 5756 brand: 'Sony Ericsson' 5757 - regex: '(?:Sony(?:Ericsson)?)?MT15' 5758 model: 'Xperia neo' 5759 brand: 'Sony Ericsson' 5760 - regex: '(?:Sony(?:Ericsson)?)?MT27' 5761 model: 'Xperia Sola' 5762 brand: 'Sony Ericsson' 5763 - regex: '(?:Sony(?:Ericsson)?)?MK16[ai]' 5764 model: 'Xperia pro' 5765 brand: 'Sony Ericsson' 5766 - regex: '(?:Sony(?:Ericsson)?)?ST15[ai]' 5767 model: 'Xperia mini' 5768 brand: 'Sony Ericsson' 5769 - regex: '(?:Sony(?:Ericsson)?)?ST17[ai]' 5770 model: 'Xperia active' 5771 brand: 'Sony Ericsson' 5772 - regex: '(?:Sony(?:Ericsson)?)?SO-02L' 5773 model: 'Xperia Ace' 5774 brand: 'Sony Ericsson' 5775 - regex: '(?:Sony(?:Ericsson)?)?ST18[ai]' 5776 model: 'Xperia ray' 5777 brand: 'Sony Ericsson' 5778 - regex: '(?:Sony(?:Ericsson)?)?SK17[ai]?' 5779 model: 'Xperia mini pro' 5780 brand: 'Sony Ericsson' 5781 - regex: '(?:Sony(?:Ericsson)?)?X10[ai]v?' 5782 model: 'Xperia X10' 5783 brand: 'Sony Ericsson' 5784 - regex: '(?:Sony(?:Ericsson)?)M1' 5785 model: 'Aspen' 5786 brand: 'Sony Ericsson' 5787 - regex: '(?:Sony(?:Ericsson)?)?R800' 5788 model: 'Xperia PLAY' 5789 brand: 'Sony Ericsson' 5790 - regex: '(?:Sony(?:Ericsson)?)?WT19|LiveWithWalkman' 5791 model: 'Live with Walkman' 5792 brand: 'Sony Ericsson' 5793 5794 # SONY ERICSSON: explicit feature phone models 5795 - regex: '(?:Sony(?:Ericsson)?)?CK13i' 5796 model: 'txt' 5797 brand: 'Sony Ericsson' 5798 device: 'feature phone' 5799 - regex: '(?:Sony(?:Ericsson)?)?CK15[ai]' 5800 model: 'txt pro' 5801 brand: 'Sony Ericsson' 5802 device: 'feature phone' 5803 - regex: '(?:Sony(?:Ericsson)?)?F100i' 5804 model: 'Jalou' 5805 brand: 'Sony Ericsson' 5806 device: 'feature phone' 5807 - regex: '(?:Sony(?:Ericsson)?)?J105' 5808 model: 'Naite' 5809 brand: 'Sony Ericsson' 5810 device: 'feature phone' 5811 - regex: '(?:Sony(?:Ericsson)?)?J108' 5812 model: 'Cedar' 5813 brand: 'Sony Ericsson' 5814 device: 'feature phone' 5815 - regex: '(?:Sony(?:Ericsson)?)?J10' 5816 model: 'Elm' 5817 brand: 'Sony Ericsson' 5818 device: 'feature phone' 5819 - regex: '(?:Sony(?:Ericsson)?)?J20' 5820 model: 'Hazel' 5821 brand: 'Sony Ericsson' 5822 device: 'feature phone' 5823 - regex: '(?:Sony(?:Ericsson)?)?U10' 5824 model: 'Aino' 5825 brand: 'Sony Ericsson' 5826 device: 'feature phone' 5827 - regex: '(?:Sony(?:Ericsson)?)?U100' 5828 model: 'Yari' 5829 brand: 'Sony Ericsson' 5830 device: 'feature phone' 5831 - regex: '(?:Sony(?:Ericsson)?)?U1' 5832 model: 'Satio' 5833 brand: 'Sony Ericsson' 5834 device: 'feature phone' 5835 - regex: '(?:Sony(?:Ericsson)?)?U5' 5836 model: 'Vivaz' 5837 brand: 'Sony Ericsson' 5838 device: 'feature phone' 5839 - regex: '(?:Sony(?:Ericsson)?)?U8' 5840 model: 'Vivaz pro' 5841 brand: 'Sony Ericsson' 5842 device: 'feature phone' 5843 - regex: '(?:Sony(?:Ericsson)?)?W20' 5844 model: 'Zylo' 5845 brand: 'Sony Ericsson' 5846 device: 'feature phone' 5847 - regex: '(?:Sony(?:Ericsson)?)?W100' 5848 model: 'Spiro' 5849 brand: 'Sony Ericsson' 5850 device: 'feature phone' 5851 - regex: '(?:Sony(?:Ericsson)?)?W150' 5852 model: 'Yendo' 5853 brand: 'Sony Ericsson' 5854 device: 'feature phone' 5855 - regex: '(?:Sony(?:Ericsson)?)?W960' 5856 model: 'W960' 5857 brand: 'Sony Ericsson' 5858 device: 'feature phone' 5859 - regex: '(?:Sony(?:Ericsson)?)?WT13' 5860 model: 'Mix Walkman' 5861 brand: 'Sony Ericsson' 5862 device: 'feature phone' 5863 5864 # SONY: explicit smartphone models 5865 - regex: 'SO-04F' 5866 model: 'Xperia A2' 5867 - regex: 'SO-02D' 5868 model: 'Xperia NX' 5869 - regex: 'G2299' 5870 model: 'Xperia R1 Plus' 5871 - regex: 'SO-04G' 5872 model: 'Xperia A4' 5873 - regex: '(?:Sony(?:Ericsson)?)?I(?:4113|31[12]3)' 5874 model: 'Xperia 10' 5875 - regex: '(?:Sony(?:Ericsson)?)?J3173(?:[);/ ]|$)' 5876 model: 'Xperia Ace' 5877 - regex: 'SO-41B(?:[);/ ]|$)' 5878 model: 'Xperia Ace II' 5879 - regex: '(?:A001SO|XQ-AU42|XQ-AU51|XQ-A[TU]52|SO-41A|SOV43)(?:[);/ ]|$)' 5880 model: 'Xperia 10 II' 5881 - regex: '(?:A10[12]SO|SO-52B|SOG04|XQ-BT52)(?:[);/ ]|$)' 5882 model: 'Xperia 10 III' 5883 - regex: 'XQ-BT44(?:[);/ ]|$)' 5884 model: 'Xperia 10 III Lite' 5885 - regex: '(?:Sony(?:Ericsson)?)?I(?:42[19]3|32[12]3)' 5886 model: 'Xperia 10 Plus' 5887 - regex: '(?:Sony(?:Ericsson)?)?I4193' 5888 model: 'Xperia 10 Dual' 5889 - regex: '(?:Sony(?:Ericsson)?)?(?:J(?:9110|81[17]0)|SOV40|SO-03L|802SO)' 5890 model: 'Xperia 1' 5891 - regex: '(?:Sony(?:Ericsson)?)?(?:J9150)' 5892 model: 'Xperia 1 Professional Edition' 5893 - regex: '(?:Sony(?:Ericsson)?)?(?:SOG01|SO-51A|XQ-AT42|XQ-AT51|SO51Aa|XQ-AT72)(?:[);/ ]|$)' 5894 model: 'Xperia 1 II' 5895 - regex: '(?:Sony(?:Ericsson)?)?(?:SO-51B|SOG03|XQ-BC[57]2)(?:[);/ ]|$)' 5896 model: 'Xperia 1 III' 5897 - regex: '(?:Sony(?:Ericsson)?)?LT22i|Xperia P' 5898 model: 'Xperia P' 5899 - regex: '(?:Sony(?:Ericsson)?)?LT25i|Xperia V' 5900 model: 'Xperia V' 5901 - regex: '(?:Sony(?:Ericsson)?)?J92[16]0' 5902 model: 'Xperia 5 Dual' 5903 - regex: '(?:Sony(?:Ericsson)?)?(?:J82[17]0|SO-01M|SOV41|901SO)' 5904 model: 'Xperia 5' 5905 - regex: '(?:Sony(?:Ericsson)?)?(?:SOG02|A002SO|XQ-AS[4567]2|SO-52A)' 5906 model: 'Xperia 5 II' 5907 - regex: '(?:Sony(?:Ericsson)?)?(?:SOV42|902SO)' 5908 model: 'Xperia 8' 5909 - regex: '(?:Sony(?:Ericsson)?)?J3273' 5910 model: 'Xperia 8 Lite' 5911 - regex: '(?:Sony(?:Ericsson)?)?LT26ii' 5912 model: 'Xperia SL' 5913 - regex: '(?:Sony(?:Ericsson)?)?LT26i|Xperia S(?:[);/ ]|$)' 5914 model: 'Xperia S' 5915 - regex: '(?:Sony(?:Ericsson)?)?SO-02C' 5916 model: 'Xperia arco' 5917 - regex: '(?:Sony(?:Ericsson)?)?SO-03D' 5918 model: 'Xperia arco HD' 5919 - regex: '(?:Sony(?:Ericsson)?)?LT26w' 5920 model: 'Xperia arco S' 5921 - regex: '(?:Sony(?:Ericsson)?)?LT28[aih]' 5922 model: 'Xperia ion' 5923 - regex: '(?:Sony(?:Ericsson)?)?LT29i|Xperia TX(?:[);/ ]|$)' 5924 model: 'Xperia TX' 5925 - regex: '(?:Sony(?:Ericsson)?)?LT30a' 5926 model: 'Xperia T LTE' 5927 - regex: '(?:Sony(?:Ericsson)?)?LT30p' 5928 model: 'Xperia T' 5929 - regex: '(?:Sony(?:Ericsson)?)?ST21[ia]2' 5930 model: 'Xperia tipo dual' 5931 - regex: '(?:Sony(?:Ericsson)?)?ST21[ia]' 5932 model: 'Xperia tipo' 5933 - regex: '(?:Sony(?:Ericsson)?)?ST23[ia]' 5934 model: 'Xperia miro' 5935 - regex: '(?:Sony(?:Ericsson)?)?ST25[ia]' 5936 model: 'Xperia U' 5937 - regex: '(?:Sony(?:Ericsson)?)?SOL22' 5938 model: 'Xperia UL' 5939 - regex: '(?:Sony(?:Ericsson)?)?ST26[ia]' 5940 model: 'Xperia J' 5941 - regex: '(?:Sony(?:Ericsson)?)?ST27[ia]' 5942 model: 'Xperia go' 5943 - regex: '(?:Sony(?:Ericsson)?)?C150[45]' 5944 model: 'Xperia E' 5945 - regex: '(?:Sony(?:Ericsson)?)?C160[45]' 5946 model: 'Xperia E Dual' 5947 - regex: '(?:Sony(?:Ericsson)?)?(?:E210[45]|E2115|E2124)' 5948 model: 'Xperia E4' 5949 - regex: '(?:Sony(?:Ericsson)?)?E20[05]3|E2006' 5950 model: 'Xperia E4G' 5951 - regex: '(?:Sony(?:Ericsson)?)?C190[45]' 5952 model: 'Xperia M' 5953 - regex: '(?:Sony(?:Ericsson)?)?C200[45]' 5954 model: 'Xperia M Dual' 5955 - regex: '(?:Sony(?:Ericsson)?)?C210[45]|S36h' 5956 model: 'Xperia L' 5957 - regex: '(?:Sony(?:Ericsson)?)?C230[45]|S39h' 5958 model: 'Xperia C' 5959 - regex: '(?:Sony(?:Ericsson)?)?C530[236]|Xperia SP(?:[);/ ]|$)' 5960 model: 'Xperia SP' 5961 - regex: '(?:Sony(?:Ericsson)?)?C550[23]' 5962 model: 'Xperia ZR' 5963 - regex: '(?:Sony(?:Ericsson)?)?C650[236]|Xperia ZL(?:[);/ ]|$)' 5964 model: 'Xperia ZL' 5965 - regex: '(?:Sony(?:Ericsson)?)?SOL25(?:[);/ ]|$)' 5966 model: 'Xperia ZL2' 5967 - regex: '(?:Sony(?:Ericsson)?)?(?:C66(?:0[236]|16)|SO-02E)' 5968 model: 'Xperia Z' 5969 - regex: '(?:Sony(?:Ericsson)?)?(?:C68(?:0[26]|[34]3)|XL39H|SOL24)|Xperia Z Ultra(?:[);/ ]|$)' 5970 device: 'phablet' 5971 model: 'Xperia Z Ultra' 5972 - regex: 'Xperia Z(?:[);/ ]|$)' 5973 model: 'Xperia Z' 5974 - regex: '(?:Sony(?:Ericsson)?)?D200[45]' 5975 model: 'Xperia E1' 5976 - regex: '(?:Sony(?:Ericsson)?)?D21(?:0[45]|14)' 5977 model: 'Xperia E1 Dual' 5978 - regex: '(?:Sony(?:Ericsson)?)?D22(?:0[236]|43)' 5979 model: 'Xperia E3' 5980 - regex: '(?:Sony(?:Ericsson)?)?D2212|E3 Dual' 5981 model: 'Xperia E3 Dual' 5982 - regex: '(?:Sony(?:Ericsson)?)?E20[34]3' 5983 model: 'Xperia E4g Dual' 5984 - regex: 'H33[12]1' 5985 model: 'Xperia L2' 5986 - regex: 'H43[13]1' 5987 model: 'Xperia L2 Dual' 5988 - regex: 'I3312' 5989 model: 'Xperia L3' 5990 - regex: 'I43[13]2' 5991 model: 'Xperia L3 Dual' 5992 - regex: 'XQ-AD5[12]' 5993 model: 'Xperia L4' 5994 - regex: '(?:Sony(?:Ericsson)?)?D2302' 5995 model: 'Xperia M2 Dual' 5996 - regex: '(?:Sony(?:Ericsson)?)?D230[356]' 5997 model: 'Xperia M2' 5998 - regex: '(?:Sony(?:Ericsson)?)?D240[36]' 5999 model: 'Xperia M2 Aqua' 6000 - regex: '(?:Sony(?:Ericsson)?)?(?:E230[36]|E23[35]3)' 6001 model: 'Xperia M4 Aqua' 6002 - regex: '(?:Sony(?:Ericsson)?)?(?:E2312|E2363)' 6003 model: 'Xperia M4 Aqua Dual' 6004 - regex: '(?:Sony(?:Ericsson)?)?E56[05][36]' 6005 model: 'Xperia M5' 6006 - regex: '(?:Sony(?:Ericsson)?)?E56[436]3' 6007 model: 'Xperia M5 Dual' 6008 - regex: '(?:Sony(?:Ericsson)?)?D2502' 6009 model: 'Xperia C3 Dual' 6010 - regex: '(?:Sony(?:Ericsson)?)?D2533' 6011 model: 'Xperia C3' 6012 - regex: '(?:Sony(?:Ericsson)?)?E53[05]3|E5306' 6013 model: 'Xperia C4' 6014 - regex: '(?:Sony(?:Ericsson)?)?E53[0346]3' 6015 model: 'Xperia C4 Dual' 6016 - regex: '(?:Sony(?:Ericsson)?)?E5506|E5553' 6017 model: 'Xperia C5 Ultra' 6018 - regex: '(?:Sony(?:Ericsson)?)?E55[36]3' 6019 model: 'Xperia C5 Ultra Dual' 6020 - regex: '(?:Sony(?:Ericsson)?)?D510[236]' 6021 model: 'Xperia T3' 6022 - regex: '(?:Sony(?:Ericsson)?)?(?:D530[36]|D5316|XM50[ht])' 6023 model: 'Xperia T2 Ultra' 6024 device: 'phablet' 6025 - regex: '(?:Sony(?:Ericsson)?)?D5322' 6026 model: 'Xperia T2 Ultra Dual' 6027 device: 'phablet' 6028 - regex: '(?:Sony(?:Ericsson)?)?D5503|Xperia Z1 Compact' 6029 model: 'Xperia Z1 Compact' 6030 - regex: '(?:Sony(?:Ericsson)?)?(?:C69(?:0[236]|16|43)|SOL23|L39H|SO-0[12]F)|Xperia Z1(?:[);/ ]|$)' 6031 model: 'Xperia Z1' 6032 - regex: '(?:Sony(?:Ericsson)?)?(?:D58[03]3|SO-02G)|Xperia Z3 Compact(?:[);/ ]|$)' 6033 model: 'Xperia Z3 Compact' 6034 - regex: 'Xperia Z2 Tablet Wifi' 6035 model: 'Xperia Z2 Tablet WiFi' 6036 device: 'tablet' 6037 - regex: 'SGP561' 6038 model: 'Xperia Z2 Tablet' 6039 device: 'tablet' 6040 - regex: '(?:Sony(?:Ericsson)?)?(?:D65(?:0[23]|43)|SO-03F)|Xperia Z2(?:[);/ ]|$)' 6041 model: 'Xperia Z2' 6042 - regex: 'D6563' 6043 model: 'Xperia Z2a' 6044 - regex: '(?:Sony(?:Ericsson)?)?(?:D66[045]3|D66[14]6|SO-01G|SOL26|401SO)|Xperia Z3(?:[);/ ]|$)' 6045 model: 'Xperia Z3' 6046 - regex: '(?:Sony(?:Ericsson)?)?(?:D6633|D6683)' 6047 model: 'Xperia Z3 Dual' 6048 - regex: '(?:Sony(?:Ericsson)?)?(?:E65[35]3)' 6049 model: 'Xperia Z3+' 6050 - regex: '(?:Sony(?:Ericsson)?)?(?:D6708)' 6051 model: 'Xperia Z3v' 6052 - regex: 'SOV31|402SO|SO-03G' 6053 model: 'Xperia Z4' 6054 - regex: 'E6508' 6055 model: 'Xperia Z4v' 6056 - regex: 'SGP771|SOT31|SO-05G' 6057 model: 'Xperia Z4' 6058 device: 'tablet' 6059 - regex: '(?:Sony(?:Ericsson)?)?(?:E58[02]3|SO-02H)' 6060 model: 'Xperia Z5 Compact' 6061 - regex: '(?:Sony(?:Ericsson)?)?(?:E66[05]3|SOV32|501SO|SO-01H)' 6062 model: 'Xperia Z5' 6063 - regex: '(?:Sony(?:Ericsson)?)?E66[38]3' 6064 model: 'Xperia Z5 Dual' 6065 - regex: '(?:Sony(?:Ericsson)?)?(?:E68[58]3|SO-03H)' 6066 model: 'Xperia Z5 Premium' 6067 - regex: '(?:Sony(?:Ericsson)?)?E6833' 6068 model: 'Xperia Z5 Premium Dual' 6069 - regex: '(?:Sony(?:Ericsson)?)?F311[135]' 6070 model: 'Xperia XA' 6071 - regex: '(?:Sony(?:Ericsson)?)?F311[26]' 6072 model: 'Xperia XA Dual' 6073 - regex: '(?:Sony(?:Ericsson)?)?F321[135]' 6074 model: 'Xperia XA Ultra' 6075 - regex: '(?:Sony(?:Ericsson)?)?F321[26]' 6076 model: 'Xperia XA Ultra Dual' 6077 - regex: '(?:Sony(?:Ericsson)?)?F833[12]|SOV34|601SO|SO-01J' 6078 model: 'Xperia XZ' 6079 - regex: '(?:Sony(?:Ericsson)?)?(?:701SO|SOV36|G834[123]|SO-01K)' 6080 model: 'Xperia XZ1' 6081 - regex: '(?:Sony(?:Ericsson)?)?G8441|SO-02K' 6082 model: 'Xperia XZ1 Compact' 6083 - regex: '(?:Sony(?:Ericsson)?)?F331[13]' 6084 model: 'Xperia E5' 6085 - regex: '(?:Sony(?:Ericsson)?)?G312[135]|G311[26]' 6086 model: 'Xperia XA1' 6087 - regex: '(?:Sony(?:Ericsson)?)?G341[26]|G342[13]' 6088 model: 'Xperia XA1 Plus' 6089 - regex: '(?:Sony(?:Ericsson)?)?G3426' 6090 model: 'Xperia XA1 Plus Dual' 6091 - regex: '(?:Sony(?:Ericsson)?)?G322[136]|G3212' 6092 model: 'Xperia XA1 Ultra' 6093 - regex: '(?:Sony(?:Ericsson)?)?H31[123]3' 6094 model: 'Xperia XA2' 6095 - regex: '(?:Sony(?:Ericsson)?)?H41[13]3' 6096 model: 'Xperia XA2 Dual' 6097 - regex: 'H44[19]3' 6098 model: 'Xperia XA2 Plus Dual' 6099 - regex: 'H4433' 6100 model: 'H4433' 6101 - regex: '(?:Sony(?:Ericsson)?)?H(?:3213|3223|4213|4233)' 6102 model: 'Xperia XA2 Ultra' 6103 - regex: '(?:Sony(?:Ericsson)?)?G823[12]|SOV35|602SO|SO-03J' 6104 model: 'Xperia XZs' 6105 - regex: '(?:Sony(?:Ericsson)?)?(?:G814[12]|G8188|SO-04[JK])' 6106 model: 'Xperia XZ Premium' 6107 - regex: '(?:Sony(?:Ericsson)?)?(?:H83[12]4|H82[17]6|SOV37|SO-03K|H8296|702SO)' 6108 model: 'Xperia XZ2' 6109 - regex: 'H8266' 6110 model: 'Xperia XZ2 Dual' 6111 - regex: 'SO-05K' 6112 model: 'Xperia XZ2 Compact' 6113 - regex: '(?:H81[16]6|SOV38)(?:[);/ ]|$)' 6114 model: 'Xperia XZ2 Premium Dual' 6115 - regex: '(?:Sony(?:Ericsson)?)?(?:H(8416|9436|9493)|SO-01L|SOV39|801SO)' 6116 model: 'Xperia XZ3' 6117 - regex: '(?:Sony(?:Ericsson)?)?G331[13]' 6118 model: 'Xperia L1' 6119 - regex: '(?:Sony(?:Ericsson)?)?G3312' 6120 model: 'Xperia L1 Dual' 6121 - regex: '(?:Sony(?:Ericsson)?)?SO-04E' 6122 model: 'Xperia A' 6123 - regex: '(?:Sony(?:Ericsson)?)?SO-04D' 6124 model: 'Xperia GX' 6125 - regex: '(?:Sony(?:Ericsson)?)?SO-05D' 6126 model: 'Xperia SX' 6127 - regex: '(?:Sony(?:Ericsson)?)?F5121' 6128 model: 'Xperia X' 6129 - regex: '(?:Sony(?:Ericsson)?)?F5122' 6130 model: 'Xperia X Dual' 6131 - regex: '(?:Sony(?:Ericsson)?)?F5321|SO-02J' 6132 model: 'Xperia X Compact' 6133 - regex: '(?:Sony(?:Ericsson)?)?(?:F8131|502SO|SOV33|SO-04H)' 6134 model: 'Xperia X Performance' 6135 - regex: '(?:Sony(?:Ericsson)?)?F8132' 6136 model: 'Xperia X Performance Dual' 6137 6138 # SONY: explicit tablet models 6139 - regex: '(?:SGP(?:311|312|321)|(Sony)?SO-03E|Tablet Z LTE)(?:[);/ ]|$)' 6140 model: 'Xperia Tablet Z' 6141 device: 'tablet' 6142 - regex: 'SGP712(?:[);/ ]|$)' 6143 model: 'Xperia Tablet Z4' 6144 device: 'tablet' 6145 - regex: 'SGP(?:511|512|521)(?:[);/ ]|$)|SO-05F' 6146 model: 'Xperia Tablet Z2' 6147 device: 'tablet' 6148 - regex: 'SGP(?:6[124]1|612)(?:[);/ ]|$)' 6149 model: 'Xperia Tablet Z3 Compact' 6150 device: 'tablet' 6151 - regex: 'SGPT(?:12|121|122|123|13|131|132|133)(?:[);/ ]|$)' 6152 model: 'Xperia Tablet S' 6153 device: 'tablet' 6154 6155 # SONY: Bravia or TV Box 6156 - regex: '(?:BRAVIA )(2K GB ATV3|4K UR2|4K GB ATV3|4K GB|4K 2015|2015)(?:[);/ ]|$)' 6157 model: 'Bravia $1' 6158 device: 'tv' 6159 - regex: '(NSZ-GS7)(?:[);/ ]|$)' 6160 model: '$1' 6161 device: 'tv' 6162 6163 - regex: 'NW-A100Series' 6164 model: 'Walkman A100' 6165 device: 'portable media player' 6166 - regex: 'NW-Z1000Series' 6167 model: 'Walkman Z1000' 6168 device: 'portable media player' 6169 6170 # general detections 6171 - regex: 'SonyBDP|SonyDBV' 6172 model: 'Blu-ray Player' 6173 device: 'tv' 6174 - regex: '(?:Sony-)?(KDL?-?[0-9a-z]+)' 6175 model: '$1' 6176 device: 'tv' 6177 - regex: 'Opera TV Store.*(?:Sony-)([0-9a-z\-_]+)' 6178 model: '$1' 6179 device: 'tv' 6180 - regex: '((?:WT|SO|ST|SK|MK)[0-9]+[a-z]*[0-9]*)(?: Build|\))' 6181 model: '$1' 6182 brand: 'Sony Ericsson' 6183 - regex: '(MT[0-9]{2}[a-z]?)(?:[);/ ]|$)' 6184 model: '$1' 6185 brand: 'Sony Ericsson' 6186 - regex: 'portalmmm/2.0 K([a-z0-9]+)' 6187 model: 'K$1' 6188 brand: 'Sony Ericsson' 6189 - regex: 'SonyEricsson ?IS11S' 6190 model: 'arco IS11S' 6191 brand: 'Sony Ericsson' 6192 - regex: 'Sony ?Ericsson?([^/;]*) Build' 6193 model: '$1' 6194 brand: 'Sony Ericsson' 6195 - regex: 'SonyEricsson([CGJKPTWZ][0-9]+[a-z]+)/' 6196 model: '$1' 6197 brand: 'Sony Ericsson' 6198 device: 'feature phone' 6199 - regex: 'Sony ?Ericsson ?([a-z0-9\-]+)' 6200 model: '$1' 6201 brand: 'Sony Ericsson' 6202 - regex: 'Sony Corporation/([^/;]*)\)' 6203 model: '$1' 6204 device: 'desktop' 6205 6206 - regex: 'Sony (Tablet[^/;]*) Build' 6207 model: '$1' 6208 device: 'tablet' 6209 - regex: '(SGP[^/;]*) Build' 6210 model: '$1' 6211 device: 'tablet' 6212 - regex: 'Xperia ([^/;]*Tablet[^/;]*) Build' 6213 model: 'Xperia $1' 6214 device: 'tablet' 6215 - regex: 'Xperia ([^;/]+) Build' 6216 model: 'Xperia $1' 6217 - regex: '(XQ-[A-Z]{2}[0-9]{2})' 6218 model: '$1' 6219 - regex: 'Sony[ -]?([^/;]*) Build' 6220 model: '$1' 6221 - regex: 'Sony[ -]?([a-z0-9\-]+)' 6222 model: '$1' 6223 6224# Ergo 6225Ergo: 6226 regex: 'ERGO|(V550[_ ]Vision|B502 Basic|B504[_ ]Unit|A502[_ ]Aurum|A503[ _]Optima|Prime B400|A551 Sky 4G|A553 Power|A555 Universe|Force F500|GoTab GBT9|GoTab Gti8|F501_Magic|V551[ _]Aura|V540_Level|V570_BIG_BEN|B506[_ ]INTRO|A503-Optima|B505_Unit_4G)' 6227 device: 'smartphone' 6228 models: 6229 - regex: 'F501_Magic' 6230 model: 'F501 Magic' 6231 - regex: 'B502 Basic' 6232 model: 'B502 Basic' 6233 - regex: 'A503-Optima' 6234 model: 'A503 Optima' 6235 - regex: 'B506[_ ]INTRO' 6236 model: 'B506 Intro' 6237 - regex: 'V550[_ ]Vision' 6238 model: 'V550 Vision' 6239 - regex: 'B504[_ ]Unit' 6240 model: 'B504 Unit' 6241 - regex: 'B505_Unit_4G' 6242 model: 'B505 Unit 4G' 6243 - regex: 'V551[ _]Aura' 6244 model: 'V551 Aura' 6245 - regex: 'V540_Level' 6246 model: 'V540 Level' 6247 - regex: 'V570_BIG_BEN' 6248 model: 'V570 Big Ben' 6249 - regex: 'Ergo F502' 6250 model: 'F502 Platinum' 6251 - regex: '(ERGO_)?A500[ _]Best' 6252 model: 'A500 Best' 6253 - regex: '(ERGO_)?A550[ _]Maxx' 6254 model: 'A550 Maxx' 6255 - regex: 'Prime B400' 6256 model: 'Prime B400' 6257 - regex: 'A502[_ ]Aurum' 6258 model: 'A502 Aurum' 6259 - regex: 'A503[ _]Optima' 6260 model: 'A503 Optima' 6261 - regex: 'A551 Sky 4G' 6262 model: 'A551 Sky 4G' 6263 - regex: 'A553 Power' 6264 model: 'A553 Power' 6265 - regex: 'A555 Universe' 6266 model: 'A555 Universe' 6267 - regex: 'ERGO[_ ]A556' 6268 model: 'A556' 6269 - regex: 'ERGO[_ ]F500' 6270 model: 'F500' 6271 - regex: 'ERGO[_ ]F501' 6272 model: 'F501' 6273 - regex: 'B500 First' 6274 model: 'B500 First' 6275 - regex: 'Force F500' 6276 model: 'Force F500' 6277 - regex: 'GoTab GBT9' 6278 model: 'GoTab GBT9' 6279 device: 'tablet' 6280 - regex: 'GoTab Gti8' 6281 model: 'GoTab GTi8' 6282 device: 'tablet' 6283 - regex: 'ERGO[_ ]Tab[ _]Crystal[ _]Lite' 6284 model: 'Tab Crystal Lite' 6285 device: 'tablet' 6286 - regex: 'ERGO[_ ]Tab[ _]Hero[ _]II' 6287 model: 'Tab Hero II' 6288 device: 'tablet' 6289 - regex: 'ERGO[_ ](B700)' 6290 model: 'Tab $1' 6291 device: 'tablet' 6292 6293 - regex: 'ERGO SmartBox SX' 6294 model: 'SmartBox SX' 6295 device: 'tv' 6296 6297# Ericsson 6298Ericsson: 6299 regex: '(?:Ericsson(?:/ )?[a-z0-9]+)|(?:R380 2.0 WAP1.1)' 6300 device: 'feature phone' 6301 models: 6302 - regex: 'Ericsson(?:/ )?([a-z0-9]+)' 6303 model: '$1' 6304 - regex: 'R380 2.0 WAP1.1' 6305 model: 'R380' 6306 6307# Energizer (www.energizeyourdevice.com) 6308Energizer: 6309 regex: 'PowerMax|HARDCASEH550S|ENERGY[_ ]?(?:[45]00|400S|S[56]00|E12|E5[02]0S?)(?:[_ ](?:LTE|EU))?' 6310 device: 'smartphone' 6311 models: 6312 - regex: 'PowerMax(P[0-9]+S?)' 6313 model: 'Power Max $1' 6314 - regex: 'ENERGY[_ ]([45]00|E520)[_ ]LTE' 6315 model: 'Energy $1 LTE' 6316 - regex: 'ENERGY[_ ]400S' 6317 model: 'Energy 400S' 6318 - regex: 'ENERGY400' 6319 model: 'Energy 400' 6320 - regex: 'ENERGY[_ ]S([56]00)' 6321 model: 'Energy S$1' 6322 - regex: 'ENERGY[_ ]?(E500S|E500|E12)' 6323 model: 'Energy $1' 6324 - regex: 'HARDCASE(H550S)' 6325 model: 'Hard Case $1' 6326 6327# Energy Sistem 6328'Energy Sistem': 6329 regex: 'ENERGY[ _-]?([^;/]+) Build|Energy Phone Pro 3' 6330 device: 'smartphone' 6331 models: 6332 - regex: 'Energy Phone Pro 3' 6333 model: 'Energy Phone Pro 3' 6334 - regex: 'ENERGY[ _-]?([^;/]+) Build' 6335 device: 'tablet' 6336 model: '$1' 6337 6338# eTouch 6339eTouch: 6340 regex: 'eTouch ?([a-z0-9]+)' 6341 device: 'smartphone' 6342 model: '$1' 6343 6344# Etuline 6345Etuline: 6346 regex: '(ETL-S(?:3520|4521|5042|5084|6022)|ETL-T(?:752G|882G|9[78]0))(?:[);/ ]|$)' 6347 device: 'smartphone' 6348 models: 6349 - regex: '(ETL-S(?:[^/); ]+))' 6350 model: '$1' 6351 - regex: '(ETL-T(?:[^/); ]+))' 6352 device: 'tablet' 6353 model: '$1' 6354 6355# Storex 6356Storex: 6357 regex: "eZee[^a-z]*Tab ?([^;/]*) Build|STOREX LinkBox" 6358 device: 'tablet' 6359 models: 6360 - regex: "eZee[^a-z]*Tab ?([^;/]*) Build" 6361 model: "eZee'Tab$1" 6362 - regex: 'STOREX LinkBox' 6363 model: 'LinkBox' 6364 device: 'tv' 6365 6366# Evertek 6367Evertek: 6368 regex: '(Ever(?:Glory|Shine|Miracle|Mellow|Classic|Trendy|Fancy|Vivid|Slim|Glow|Magic|Smart|Star)[^/;]*) Build|E70[25]0HD|E805[01]HD|E9054HD|E8050HG|E7914HG' 6369 device: 'smartphone' 6370 models: 6371 - regex: '(E70[25]0HD|E805[01]HD|E9054HD|E8050HG|E7914HG)' 6372 device: 'tablet' 6373 model: 'Everpad $1' 6374 - regex: '(Ever(?:Glory|Shine|Miracle|Mellow|Classic|Trendy|Fancy|Vivid|Slim|Glow|Magic|Smart|Star)[^/;]*) Build' 6375 model: '$1' 6376 6377# Evolio 6378Evolio: 6379 regex: 'Evolio|M4MAGIC' 6380 device: 'smartphone' 6381 models: 6382 - regex: 'M4MAGIC' 6383 model: 'M4 Magic' 6384 - regex: 'Evolio_M5Pro' 6385 model: 'M5 Pro' 6386 - regex: 'Evolio[ _](M6|S4 Cobalt|S5|X10|Yuppi)' 6387 model: '$1' 6388 6389# Evolveo 6390Evolveo: 6391 regex: 'EVOLVEO|StrongPhone' 6392 device: 'smartphone' 6393 models: 6394 - regex: 'EVOLVEO MultiMedia Box M4' 6395 device: 'tv' 6396 model: 'MultiMedia Box M4' 6397 - regex: 'Smart TV ([^;/]*) Build' 6398 device: 'tv' 6399 model: 'Smart TV $1' 6400 - regex: 'EVOLVEO StrongPhone G([2478])' 6401 model: 'StrongPhone G$1' 6402 - regex: '(?:EVOLVEO[ _])?StrongPhone[ _]?Q([679])(_LTE)?' 6403 model: 'StrongPhone Q$1$2' 6404 - regex: 'EVOLVEO[ _]([^;/]*) Build' 6405 model: '$1' 6406 6407# Leotec 6408Leotec: 6409 regex: '(LESPH501[14]|LESPH5003B|SUPERNOVA (?:Qi16|Qi32|i3G96[X]?|iS3G)|PULSAR QI3G)(?:[);/ ]|$)' 6410 device: 'smartphone' 6411 models: 6412 - regex: 'LESPH5011' 6413 model: 'Argon e250' 6414 - regex: 'LESPH5003B' 6415 model: 'Argon A250B' 6416 - regex: 'LESPH5014' 6417 model: 'Krypton K150' 6418 - regex: 'SUPERNOVA (Qi16|Qi32|i3G96[X]?|iS3G)' 6419 device: 'tablet' 6420 model: 'Supernova $1' 6421 - regex: 'PULSAR (QI3G)' 6422 device: 'tablet' 6423 model: 'Pulsar $1' 6424 6425# EvroMedia 6426EvroMedia: 6427 regex: 'EVROMEDIA|Playpad[ _]|PLAY_PAD_PRO_XL|3G NOTE XL' 6428 device: 'tablet' 6429 models: 6430 - regex: 'Playpad 3G GOO' 6431 model: 'Play Pad 3G Goo' 6432 - regex: 'Play Pad 3G 2Goo' 6433 model: 'Play Pad 3G 2Goo' 6434 - regex: 'Play Pad PRO' 6435 model: 'Play Pad Pro' 6436 - regex: 'PLAY_PAD_PRO_XL' 6437 model: 'Play Pad Pro XL' 6438 - regex: 'PlayPad 3GTab XL' 6439 model: 'Play Pad 3G Tab XL' 6440 - regex: '3G NOTE XL' 6441 model: 'Play Pad 3G Note XL' 6442# EKO 6443EKO: 6444 regex: 'EKO' 6445 device: 'smartphone' 6446 models: 6447 - regex: 'EKO[ _-]?([^;/)]+) Build' 6448 model: '$1' 6449 - regex: 'EKO[ _-]?([^;/)]+)(?:[);/ ]|$)' 6450 model: '$1' 6451 6452# Extrem 6453Extrem: 6454 regex: 'Rock X9+|ROCK_X11' 6455 device: 'smartphone' 6456 models: 6457 - regex: 'Rock X9+' 6458 model: 'Rock X9+' 6459 - regex: 'ROCK_X11' 6460 model: 'Rock X11' 6461 6462# Ezze 6463Ezze: 6464 regex: 'EZZE-|EZ(?!Browser)[a-z0-9]+' 6465 device: 'feature phone' 6466 models: 6467 - regex: 'EZZE-([a-z0-9]+)' 6468 model: '$1' 6469 - regex: 'EZ([a-z0-9]+)' 6470 model: 'EZ$1' 6471 6472# Ezio 6473Ezio: 6474 regex: 'EZIO-([a-z0-9]+)' 6475 device: 'feature phone' 6476 model: '$1' 6477 6478# Forstar 6479Forstar: 6480 regex: 'Amosta ?3G5' 6481 device: 'smartphone' 6482 models: 6483 - regex: 'Amosta ?3G5' 6484 model: 'Amosta 3G5' 6485 6486# Foxconn 6487Foxconn: 6488 regex: 'InFocus M[0-9]+[a-z]?' 6489 device: 'smartphone' 6490 models: 6491 - regex: 'InFocus M([0-9]+[a-z]?)' 6492 model: 'InFocus M$1' 6493 6494# Fondi 6495Fondi: 6496 regex: 'Fondi[- _]([^;/)]+)|(T702|Q008B|Q010B|Q718B|Q902|T602B|T707G|T708B|T725B|T725B1|T907B)(?:\)| Build)' 6497 device: 'smartphone' 6498 models: 6499 - regex: '(T702|T602B)' 6500 model: '$1' 6501 - regex: '(Q008B|Q010B|Q718B|Q902|T707G|T708B|T725B|T725B1|T907B)' 6502 device: 'tablet' 6503 model: '$1' 6504 - regex: 'Fondi[- _]([^;/)]+)' 6505 model: '$1' 6506 6507# Fairphone (fairphone.com) 6508Fairphone: 6509 regex: ' (FP(?:1U?|[23]))(?:[);/ ]|$)' 6510 device: 'smartphone' 6511 model: '$1' 6512 6513# Famoco 6514Famoco: 6515 regex: '(FX[123]00)' 6516 device: 'smartphone' 6517 model: '$1' 6518 6519# FiGO (figoglobal.com) 6520FiGO: 6521 regex: 'ATRIUM II F55L2|TRIO F40LT|CENTRIC S50G|EPIC F50G|Gravity X55L|Orion M50L|ULTRA M50G|M405B|VIRTUE3|F55L Build' 6522 device: 'smartphone' 6523 models: 6524 - regex: 'ATRIUM II F55L2' 6525 model: 'Atrium II' 6526 - regex: '(F55L)' 6527 model: '$1' 6528 - regex: 'TRIO F40LT' 6529 model: 'Trio F40LT' 6530 - regex: 'EPIC F50G' 6531 model: 'Epic F50G' 6532 - regex: '(Gravity X55L|Orion M50L)' 6533 model: '$1' 6534 - regex: 'ULTRA M50G' 6535 model: 'Prime' 6536 - regex: 'M405B_8GB' 6537 model: 'Virtue II 8GB' 6538 - regex: 'M405B' 6539 model: 'Virtue II' 6540 - regex: 'VIRTUE3' 6541 model: 'Virtue III' 6542 - regex: 'CENTRIC S50G' 6543 model: 'Centric S50G' 6544 6545# FNB 6546FNB: 6547 regex: 'ConeXis (A[12]|X[12])|SP5045V' 6548 device: 'smartphone' 6549 models: 6550 - regex: 'SP5045V' 6551 model: 'SP5045V' 6552 - regex: 'ConeXis A1' 6553 model: 'ConeXis A1' 6554 - regex: 'ConeXis A2' 6555 model: 'ConeXis A2' 6556 - regex: 'ConeXis X1' 6557 model: 'ConeXis X1' 6558 - regex: 'ConeXis X2' 6559 model: 'ConeXis X2' 6560 6561# Fujitsu 6562Fujitsu: 6563 regex: '(?:F-01[FHJKLM]|F-02[EFGHLK]|F-03[DEFGKHL]|F-04[EGFHKJ]|F-05[DEFJG]|F-06[EF]|F-07[DE]|F-08D|F-09[DE]|F-10D|F-[45]1A|F-41B|F-[45]2A|F-11D|F-12C|M532|FARTM933KZ|901FJ|arrows(?:RX|M03|M0[45](?:-PREMIUM)?)|801FJ|FJL2[12]|RM02)(?:[);/ ]|$)' 6564 device: 'smartphone' 6565 models: 6566 - regex: 'F-51A(?:[);/ ]|$)' 6567 model: 'Arrows 5G F-51A' 6568 - regex: 'F-01F(?:[);/ ]|$)' 6569 model: 'Arrows NX F-01F' 6570 - regex: '(F-01[LM]|F-06F|F-03K|F-42A)(?:[);/ ]|$)' 6571 model: 'Easy Phone $1' 6572 - regex: 'F-03L(?:[);/ ]|$)' 6573 model: 'Arrows Phone F-03L' 6574 - regex: 'F-01J(?:[);/ ]|$)' 6575 model: 'Arrows NX F-01J' 6576 - regex: 'F-01K(?:[);/ ]|$)' 6577 model: 'Arrows NX F-01K' 6578 - regex: 'F-01H(?:[);/ ]|$)' 6579 model: 'Arrows Fit F-01H' 6580 - regex: 'F-02E(?:[);/ ]|$)' 6581 model: 'Arrows X F-02E' 6582 - regex: 'F-02G(?:[);/ ]|$)' 6583 model: 'Arrows NX F-02G' 6584 - regex: 'FJL21(?:[);/ ]|$)' 6585 model: 'Arrows EF FJL21' 6586 - regex: 'FJL22(?:[);/ ]|$)' 6587 model: 'Arrows Z FJL22' 6588 - regex: 'F-02H(?:[);/ ]|$)' 6589 model: 'Arrows NX F-02H' 6590 - regex: 'F-52A(?:[);/ ]|$)' 6591 model: 'Arrows NX9 F-52A' 6592 - regex: 'F-03D(?:[);/ ]|$)' 6593 model: 'Arrows Kiss F-03D' 6594 - regex: 'F-03E(?:[);/ ]|$)' 6595 model: 'Arrows Kiss F-03E' 6596 - regex: 'F-03F(?:[);/ ]|$)' 6597 model: 'Disney Mobile F-03F' 6598 - regex: 'F-03H(?:[);/ ]|$)' 6599 model: 'Arrows SV F-03H' 6600 - regex: '901FJ(?:[);/ ]|$)' 6601 model: 'Arrows J 901FJ' 6602 - regex: 'F-04E(?:[);/ ]|$)' 6603 model: 'Arrows V F-04E' 6604 - regex: 'F-04G(?:[);/ ]|$)' 6605 model: 'Arrows NX F-04G' 6606 - regex: 'F-05D(?:[);/ ]|$)' 6607 model: 'Arrows X LTE F-05D' 6608 - regex: 'F-05F(?:[);/ ]|$)' 6609 model: 'Arrows NX F-05F' 6610 - regex: 'F-05J(?:[);/ ]|$)' 6611 model: 'Arrows Be F-05J' 6612 - regex: 'F-05G(?:[);/ ]|$)' 6613 model: 'Arrows K-tai' 6614 - regex: 'F-04K(?:[);/ ]|$)' 6615 model: 'Arrows Be F-04K' 6616 - regex: 'F-02L(?:[);/ ]|$)' 6617 model: 'Arrows Be 3 F-02L' 6618 - regex: 'F-41A(?:[);/ ]|$)' 6619 model: 'Arrows Be 4 F-41A' 6620 - regex: 'F-41B(?:[);/ ]|$)' 6621 model: 'Arrows Be 4 Plus F-41B' 6622 - regex: 'F-06E(?:[);/ ]|$)' 6623 model: 'Arrows NX F-06E' 6624 - regex: 'F-07D(?:[);/ ]|$)' 6625 model: 'Arrows μ F-07D' 6626 - regex: '801FJ(?:[);/ ]|$)' 6627 model: 'Arrows U 801FJ' 6628 - regex: 'F-07E(?:[);/ ]|$)' 6629 model: 'Disney Mobile F-07E' 6630 - regex: 'F-08D(?:[);/ ]|$)' 6631 model: 'Disney Mobile F-08D' 6632 - regex: 'F-09D(?:[);/ ]|$)' 6633 model: 'ANTEPRIMA F-09D' 6634 - regex: 'F-09E(?:[);/ ]|$)' 6635 model: 'Raku-Raku Smartphone Premium F-09E' 6636 - regex: 'F-10D(?:[);/ ]|$)' 6637 model: 'Arrows X F-10D' 6638 - regex: 'F-11D(?:[);/ ]|$)' 6639 model: 'Arrows Me F-11D' 6640 - regex: 'F-12C(?:[);/ ]|$)' 6641 model: 'F-12C' 6642 - regex: '(F-04[JF])(?:[);/ ]|$)' 6643 model: '$1' 6644 - regex: 'arrowsM03(?:[);/ ]|$)' 6645 model: 'Arrows M03' 6646 - regex: 'RM02(?:[);/ ]|$)' 6647 model: 'Arrows RM02' 6648 - regex: 'arrowsRX(?:[);/ ]|$)' 6649 model: 'Arrows RX' 6650 - regex: 'arrowsM04-PREMIUM(?:[);/ ]|$)' 6651 model: 'Arrows M04 Premium' 6652 - regex: 'arrowsM(0[45])(?:[);/ ]|$)' 6653 model: 'Arrows M$1' 6654 6655 - regex: '(F-0[32]F|F-03G|F-04H|F-05E|F-02K)(?:[);/ ]|$)' 6656 model: 'Arrows Tab $1' 6657 device: 'tablet' 6658 - regex: 'FARTM933KZ' 6659 model: 'Arrows Tab M504/HA4' 6660 device: 'tablet' 6661 - regex: 'M532(?:[);/ ]|$)' 6662 model: 'Stylistic' 6663 device: 'tablet' 6664 6665# G-TiDE 6666G-TiDE: 6667 regex: 'G-TiDE' 6668 device: 'smartphone' 6669 models: 6670 - regex: 'Shining7' 6671 model: 'Shining 7' 6672 - regex: 'G-TiDE_(A1|S[34])' 6673 model: '$1' 6674 - regex: 'G-TiDE V6' 6675 model: 'V6' 6676 - regex: 'E(57|60|66|72|77)' 6677 model: '$1' 6678 6679# Gemini 6680Gemini: 6681 regex: '(GEM[0-9]+[a-z]*)' 6682 device: 'tablet' 6683 model: '$1' 6684 6685# General Mobile (www.generalmobile.com) 6686General Mobile: 6687 regex: 'GM 5 Plus|GM8 go|GM [68] d|GM 8|General Mobile 4G|GM 9 (?:Pro|Plus)|e-tab 20(?:[);/ ]|$)' 6688 device: 'smartphone' 6689 models: 6690 - regex: 'GM 5 Plus' 6691 model: 'GM 5 Plus' 6692 - regex: 'GM ([68]) d' 6693 model: 'GM $1D' 6694 - regex: 'GM 8' 6695 model: 'GM 8' 6696 - regex: 'GM8 go' 6697 model: 'GM 8 Go' 6698 - regex: 'GM 9 Pro' 6699 model: 'GM 9 Pro' 6700 - regex: 'GM 9 Plus' 6701 model: 'GM 9 Plus' 6702 - regex: 'General Mobile 4G Dual' 6703 model: '4G Dual' 6704 - regex: 'General Mobile 4G' 6705 model: '4G' 6706 - regex: 'e-tab 20(?:[);/ ]|$)' 6707 device: 'tablet' 6708 model: 'E-Tab 20' 6709 6710# Geotel 6711Geotel: 6712 regex: 'GEOTEL[ _]?' 6713 device: 'smartphone' 6714 models: 6715 - regex: 'G1' 6716 model: 'G1' 6717 - regex: 'GEOTEL[ _]?Note' 6718 model: 'Note' 6719 - regex: 'GEOTEL[ _]AMIGO' 6720 model: 'Amigo' 6721 6722# Ghia 6723Ghia: 6724 regex: 'GHIA|QS702|VECTOR10\.1' 6725 device: 'smartphone' 6726 models: 6727 - regex: 'QS702' 6728 model: 'QS702' 6729 - regex: 'GHIA_ZEUS_3G' 6730 model: 'Zeus 3G' 6731 - regex: 'GHIA_AXIS7' 6732 model: 'Axis 7' 6733 device: 'tablet' 6734 - regex: 'VECTOR10\.1' 6735 model: 'Vector 10.1"' 6736 device: 'tablet' 6737 6738# Gigabyte 6739Gigabyte: 6740 regex: 'GSmart[ _][a-z0-9 ]+(?: Build|\))|Gigabyte-[a-z0-9]+|Simba SX1|GSmart_Classic_Lite|(?<!Eagle )Classic[_ ](?:Joy|Pro)' 6741 device: 'smartphone' 6742 models: 6743 - regex: '(GSmart[ _][a-z0-9 ]+)(?: Build|[);])' 6744 model: '$1' 6745 - regex: 'Gigabyte-([a-z0-9]+)' 6746 model: '$1' 6747 - regex: '(Classic[ _](?:Joy|Pro)|GSmart_Classic_Lite)' 6748 model: '$1' 6749 - regex: 'Simba SX1' 6750 model: 'GSmart Simba SX1' 6751 6752# Gigaset 6753Gigaset: 6754 regex: 'Gigaset|(?: GS80|GS1[0189]0|GS1[89]5|GS2[89]0|GS5[357]-6|GS[23]70(?:_Plus)?)(?:[);/ ]|$)' 6755 device: 'smartphone' 6756 models: 6757 - regex: 'Gigaset QV(1030|830)' 6758 model: 'Gigaset QV$1' 6759 device: 'tablet' 6760 6761 - regex: 'G(S[23]70)[_ ]Plus(?:[);/ ]|$)' 6762 model: 'G$1 Plus' 6763 - regex: 'GS([23]70|1[0189]0|1[89]5|2[89]0|80)(?:[);/ ]|$)' 6764 model: 'GS$1' 6765 - regex: 'GS57-6' 6766 model: 'ME Pro' 6767 - regex: 'GS55-6' 6768 model: 'ME' 6769 - regex: 'GS53-6' 6770 model: 'ME Pure' 6771 6772 - regex: 'Gigaset ([^;/]+) Build' 6773 model: '$1' 6774 - regex: 'Gigaset ([^;/)]+)(?:[);/]|$)' 6775 model: '$1' 6776 6777# Ginzzu 6778Ginzzu: 6779 regex: 'GINZZU[_ ]|((?:RS(?:7[14]|81|9[67])D)|S5002|(?<!Wave Pro )S5021|S5230|S50[45]0|S51[24]0|RS(6[12]|9[45])D|S40[23]0|RS850[12]|RS9602)(?:[);/ ]|$)' 6780 device: 'smartphone' 6781 models: 6782 - regex: 'GINZZU[_ ]?(S40[17]0|S4710|ST60[14]0|ST6120)' 6783 model: '$1' 6784 - regex: 'GINZZU[_ ]?(GT-(?:1050|7105|70[1-4]0|7115|7210|[WX]831|X[78]70|7810|8[01]10|X853))' 6785 model: '$1' 6786 device: 'tablet' 6787 - regex: '(RS6[12]D) ULTIMATE' 6788 model: '$1 Ultimate' 6789 - regex: '(?:GINZZU[ _])?((?:RS(?:7[14]|81|9[14-7]|7)D)|S50[45]0|S5002|S5021|S5230|S51[24]0|S40[23]0|RS850[12]|RS9602|RS94D|R8 Dual)(?:[);/ ]|$)' 6790 model: '$1' 6791 6792# Gionee 6793Gionee: 6794 regex: '(?:GIO-)?GIONEE[ _-]?[a-z0-9]+|(?:Dream_D1|V188S?|GN[0-9]{3,4}[a-z]?)(?:[);/ ]|$)|F103(?: Pro)?(?: Build|\))|P5 mini Build|P7 Max Build|(M7 Power|F106L|F100A|F103S|F103 Pro|M6 mirror|20190620G)(?:[);/ ]|$)' 6795 device: 'smartphone' 6796 models: 6797 - regex: 'GN810(?:[);/ ]|$)' 6798 model: 'GN810' 6799 device: 'phablet' 6800 - regex: 'GN([0-9]{3,4}[a-z]?)(?:[);/ ]|$)' 6801 model: 'GN$1' 6802 - regex: '(F106L|F100A|V188S|V188|F103S)(?:[);/ ]|$)' 6803 model: '$1' 6804 - regex: 'M7 Power(?:[);/ ]|$)' 6805 model: 'M7 Power' 6806 - regex: '20190620G(?:[);/ ]|$)' 6807 model: 'M11' 6808 - regex: 'P5 mini Build' 6809 model: 'P5 mini' 6810 - regex: 'P7 Max Build' 6811 model: 'P7 Max' 6812 - regex: '(S11|F205) Lite(?:[);/ ]|$)' 6813 model: '$1 Lite' 6814 - regex: 'M6 mirror(?:[);/ ]|$)' 6815 model: 'M6 Mirror' 6816 - regex: 'F103( Pro)?( BUILD|\))' 6817 model: 'F103$1' 6818 - regex: '(?:(?:GIO-)?GIONEE[ _-])?Dream_D1(?:[);/ ]|$)' 6819 model: 'Dream D1' 6820 - regex: '(?:GIO-)?GIONEE[ _-]([a-z0-9_-]+).*Android' 6821 model: '$1' 6822 - regex: 'Android.*(?:GIO-)?GIONEE[ _-]([a-z0-9_-]+)' 6823 model: '$1' 6824 - regex: '(?:GIO-)?GIONEE[ _-]?([a-z0-9]+)' 6825 model: '$1' 6826 device: 'feature phone' 6827 6828# Grape 6829Grape: 6830 regex: '(?:Grape[ _])?GTM-5([^;/]+) Build' 6831 device: 'smartphone' 6832 model: 'GTM-5$1' 6833 6834# Vizio (vizio.com) 6835Vizio: 6836 regex: 'Vizio|(?:VAP430|VTAB1008|XR6[PM]10)(?:[);/ ]|$)' 6837 device: 'tv' 6838 models: 6839 - regex: 'VAP430' 6840 model: 'VAP430' 6841 - regex: '(VTAB1008|XR6[PM]10)' 6842 device: 'tablet' 6843 model: '$1' 6844 6845# GOCLEVER (goclever.com) 6846GOCLEVER: 6847 regex: 'GOCLEVER|QUANTUM_(?:[235]_)?[0-9]{3}|QUANTUM [0-9]{1}|QUANTUM 700N|Quantum2 500|QUANTUM_(1010N|1010M|900|II_500_N)|ARIES|INSIGNIA|ORION_|ELIPSO|LIBRA[ _]97' 6848 device: 'smartphone' 6849 models: 6850 - regex: 'QUANTUM_(1010N|1010M|900)' 6851 model: 'QUANTUM $1' 6852 device: 'tablet' 6853 - regex: 'INSIGNIA_(785_PRO|1010M|800M)' 6854 model: 'INSIGNIA $1' 6855 device: 'tablet' 6856 - regex: '(ORION|ARIES|ELIPSO)[_ ](71|101|102)' 6857 model: '$1 $2' 6858 device: 'tablet' 6859 - regex: 'TQ700N' 6860 model: 'QUANTUM 700N' 6861 device: 'tablet' 6862 - regex: 'QUANTUM_1010_Lite' 6863 model: 'Quantum 1010 Lite' 6864 device: 'tablet' 6865 - regex: 'QUANTUM_2_(1010|700|960)_Mobile' 6866 model: 'Quantum 2 $1 Mobile' 6867 device: 'tablet' 6868 - regex: 'QUANTUM_1010_Lite' 6869 model: 'Quantum 1010 Lite' 6870 device: 'tablet' 6871 - regex: 'QUANTUM_([235])_(5[05]0)_RUGGED' 6872 model: 'Quantum $1 $2 Rugged' 6873 - regex: 'QUANTUM_(\d+)_RUGGED_PRO' 6874 model: 'Quantum $1 Rugged Pro' 6875 - regex: 'QUANTUM[_ ]([235])_([45]00)[_ ]LITE' 6876 model: 'Quantum $1 $2 Lite' 6877 - regex: 'QUANTUM_II_500_N' 6878 model: 'Quantum 2 500 N' 6879 - regex: 'QUANTUM[_ ]([45]00)[_ ]LITE' 6880 model: 'Quantum $1 Lite' 6881 - regex: 'QUANTUM[ _]?([235])[ _]([^;/]+)(?: Build|[);])' 6882 model: 'Quantum $1 $2' 6883 - regex: '((?:QUANTUM|ARIES|INSIGNIA|ORION|ELIPSO)[ _-]?[^;/]+)(?: Build|\))' 6884 model: '$1' 6885 - regex: 'NETBOOK R103' 6886 device: 'desktop' 6887 model: 'Netbook R103' 6888 - regex: 'GOCLEVER[ _-]TAB[ _-]?([^;/]+) Build' 6889 model: 'TAB $1' 6890 device: 'tablet' 6891 - regex: 'GOCLEVER[ _-]?([^;/]+) Build' 6892 model: '$1' 6893 - regex: 'TAB ([^;/)]+) Build/GOCLEVER' 6894 model: 'TAB $1' 6895 device: 'tablet' 6896 - regex: '([^;/)]+) Build/GOCLEVER' 6897 model: '$1' 6898 - regex: 'GOCLEVER[ _-]?TAB[ _-]([^;/)]+)(?:[;/)]|$)' 6899 model: 'TAB $1' 6900 device: 'tablet' 6901 - regex: 'GOCLEVER[ _-]?([^;/)]+)(?:[;/)]|$)' 6902 model: '$1' 6903 - regex: 'LIBRA[ _]97' 6904 model: 'Libra 97' 6905 device: 'tablet' 6906 6907# GoMobile 6908GoMobile: 6909 regex: 'GO Onyx|GO[0-9]{3,4}' 6910 device: 'smartphone' 6911 models: 6912 - regex: 'GO Onyx' 6913 model: 'Go Onyx' 6914 - regex: 'GO([0-9]{3,4})' 6915 model: 'Go$1' 6916 6917# Explay 6918Explay: 6919 regex: 'Explay|[\w]+-EXPLAY-FIN|ActiveD[ _]|Atlant |Informer[ _][0-9]+|CinemaTV 3G|Surfer[ _][0-9\.]|sQuad[ _][0-9\.]|Onliner[1-4]|RioPlay|Leader|Pulsar|Infinityll|Joy_TV|Imperium[78]|Winner[78]|Indigo|Lagoon|Tornado(?! 348)(?:3G)?|Onyx(?!_[A-Z]{1,2})' 6920 device: 'tablet' 6921 models: 6922 - regex: 'ActiveD[ _]7.4[ _]3G' 6923 model: 'ActiveD 7.4 3G' 6924 - regex: 'Imperium([78])(?:[);/ ]|$)' 6925 model: 'Imperium $1 3G' 6926 - regex: 'ActiveD[ _]8.2[ _]3G' 6927 model: 'ActiveD 8.2 3G' 6928 - regex: 'CinemaTV[ _]3G' 6929 model: 'CinemaTV 3G' 6930 - regex: 'Infinityll' 6931 model: 'Infinity II' 6932 - regex: 'Informer[ _]([0-9]+(?:[ _]3G)?)' 6933 model: 'Informer $1' 6934 - regex: 'Surfer[ _]([0-9\.]+(?:[ _]3G)?)' 6935 model: 'Surfer $1' 6936 - regex: 'sQuad[ _]([0-9\.]+(?:[ _]3G)?)' 6937 model: 'sQuad $1' 6938 - regex: 'Onliner([1-4])' 6939 model: 'Onliner $1' 6940 - regex: 'Winner([78])' 6941 model: 'Winner $1' 6942 - regex: 'Atlant(?:[);/ ]|$)' 6943 device: 'smartphone' 6944 model: 'Atlant' 6945 - regex: 'Indigo(?:[);/ ]|$)' 6946 device: 'smartphone' 6947 model: 'Indigo' 6948 - regex: 'Pulsar(?:[);/ ]|$)' 6949 device: 'smartphone' 6950 model: 'Pulsar' 6951 - regex: 'Tornado(?:3G)?(?:[);/ ]|$)' 6952 device: 'smartphone' 6953 model: 'Tornado 3G' 6954 - regex: 'Onyx(?:[);/ ]|$)' 6955 device: 'smartphone' 6956 model: 'Onyx' 6957 - regex: 'Joy_TV(?:[);/ ]|$)' 6958 device: 'smartphone' 6959 model: 'JoyTV' 6960 - regex: '[\w]+-EXPLAY-FIN' 6961 device: 'feature phone' 6962 model: 'Fin' 6963 6964 - regex: 'Lagoon(?:[);/ ]|$)' 6965 model: 'Lagoon' 6966 - regex: 'Explay[ _-]([^;/]+)(?: Build|[;)])' 6967 model: '$1' 6968 - regex: 'RioPlay(?:[);/ ]|$)' 6969 device: 'smartphone' 6970 model: 'Rio Play' 6971 - regex: 'Leader' 6972 model: 'Leader' 6973 6974# Gol Mobile (gol-mobile.com) 6975Gol Mobile: 6976 regex: 'F10_PRIME' 6977 device: 'smartphone' 6978 models: 6979 - regex: 'F10_PRIME' 6980 model: 'F10 Prime' 6981 6982# Goly 6983Goly: 6984 regex: 'Goly[ _-]' 6985 device: 'smartphone' 6986 models: 6987 - regex: 'Goly[ _-]([^;/]+) Build' 6988 model: '$1' 6989 - regex: 'Goly[ _-]([^;/)]+)(?:[;/)]|$)' 6990 model: '$1' 6991 6992# Google 6993Google: 6994 regex: 'Nexus(?! 6P)|GoogleTV|Google Fiber|Glass(?<!Browser)|CrKey[^a-z0-9]|(?:Pixel|sailfish|taimen|blueline|Chromecast)(?: Build|[)])|Pixel (?:XL|C|[2-6]|[2-4] XL)|Google 2XL|G011A|AOSP on Manta' 6995 device: 'smartphone' 6996 models: 6997 - regex: 'Glass' 6998 model: 'Glass' 6999 - regex: 'Galaxy Nexus' 7000 model: 'Galaxy Nexus' 7001 - regex: '(Nexus (?:S|4|5X?|One))' 7002 model: '$1' 7003 - regex: '(Nexus (?:6P?))' 7004 device: 'phablet' 7005 model: '$1' 7006 - regex: '(Nexus (?:7|9|10))' 7007 device: 'tablet' 7008 model: '$1' 7009 - regex: 'AOSP on Manta' 7010 device: 'tablet' 7011 model: 'Nexus 10' 7012 # explicit tv models 7013 - regex: '(GFHD[12]00)' 7014 device: 'tv' 7015 model: 'Fiber $1' 7016 - regex: 'CrKey[^a-z0-9]' 7017 model: 'Chromecast' 7018 device: 'tv' 7019 - regex: 'Chromecast' 7020 model: 'Chromecast (2020)' 7021 device: 'tv' 7022 - regex: 'GoogleTV' 7023 device: 'tv' 7024 model: 'GoogleTV' 7025 # explicit smartphone models 7026 - regex: '(?:Pixel|sailfish)(?: Build|[)])' 7027 model: 'Pixel' 7028 - regex: 'Pixel XL' 7029 model: 'Pixel XL' 7030 - regex: 'blueline' 7031 model: 'Pixel 3' 7032 - regex: 'Pixel 3 XL' 7033 model: 'Pixel 3 XL' 7034 - regex: 'Pixel 2 XL|taimen' 7035 model: 'Pixel 2 XL' 7036 - regex: 'Pixel 3a XL' 7037 model: 'Pixel 3a XL' 7038 - regex: 'Pixel 3a' 7039 model: 'Pixel 3a' 7040 - regex: 'Pixel 4 XL' 7041 model: 'Pixel 4 XL' 7042 - regex: 'Pixel 4a \(5G\)' 7043 model: 'Pixel 4a (5G)' 7044 - regex: 'pixel ([45])a' 7045 model: 'Pixel $1a' 7046 - regex: 'G011A' 7047 model: 'Pixel 2' 7048 - regex: 'Google 2XL' 7049 model: 'Pixel 2 XL' 7050 - regex: 'Pixel 6 Pro' 7051 model: 'Pixel 6 Pro' 7052 - regex: 'pixel ([2-6])' 7053 model: 'Pixel $1' 7054 7055 - regex: 'Pixel C' 7056 device: 'tablet' 7057 model: 'Pixel C' 7058 - regex: 'Nexus Player' 7059 device: 'tv' 7060 model: 'Nexus Player' 7061 7062# Gradiente 7063Gradiente: 7064 regex: 'GRADIENTE' 7065 device: 'feature phone' 7066 models: 7067 - regex: 'GRADIENTE-([a-z0-9]+)' 7068 model: '$1' 7069 - regex: 'GRADIENTE ([a-z0-9\-]+)' 7070 model: '$1' 7071 7072# Grundig 7073Grundig: 7074 regex: 'GR?-TB[0-9]+[a-z]*|GRUNDIG|portalmmm/2\.0 G|AFTEU(?:011|014|FF014)' 7075 device: 'tv' 7076 models: 7077 - regex: '(GR?-TB[0-9]+[a-z]*)' 7078 device: 'tablet' 7079 model: '$1' 7080 - regex: 'GRUNDIG ([a-z0-9]+)' 7081 model: '$1' 7082 - regex: 'portalmmm/2\.0 G([a-z0-9]+)' 7083 model: 'G$1' 7084 - regex: 'AFTEU014' 7085 model: 'Vision 7 4K (2019)' 7086 - regex: 'AFTEUFF014' 7087 model: 'OLED 4K (2019)' 7088 - regex: 'AFTEU011' 7089 model: 'Vision 6 HD (2019)' 7090 7091# Hafury 7092Hafury: 7093 regex: 'HAFURY' 7094 device: 'smartphone' 7095 models: 7096 - regex: '(MIX|UMAX)' 7097 model: '$1' 7098 7099# Haier 7100Haier: 7101 regex: 'Haier|I6_Infinity|Titan[ _]T[135]|(?:HW-)?W(?:71[67]|757|86[07]|970)(?:[);/ ]|$)|S5 Silk|(?:HM-)?(N505|N700|G(?:152|303|353|552|70[01])?-FL|HM-(?:I559|N501|I560|G553|N701)-FL|G(?:303)?-W|I(?:557)?-FL)|(?:PAD[ _](?:D71|G781|d85))|A2_Lite_NFC|HL810G' 7102 device: 'smartphone' 7103 models: 7104 - regex: 'A2_Lite_NFC' 7105 model: 'Alpha A2 Lite NFC' 7106 - regex: 'HM-N505-FL' 7107 model: 'I8' 7108 - regex: 'S5 Silk' 7109 model: 'S5 Silk' 7110 - regex: 'HM-N700-FL' 7111 model: 'L7' 7112 - regex: 'HM-N701-FL' 7113 model: 'L8' 7114 - regex: 'HM-N501-FL' 7115 model: 'L56' 7116 - regex: 'HM-I559-FL' 7117 model: 'L55s' 7118 - regex: 'HM-I560-FL' 7119 model: 'G7s' 7120 - regex: 'HM-G553-FL' 7121 model: 'G51' 7122 - regex: '(?:HM-)?(G(?:152|353|552|70[01])|G(?:303)|I(?:557))' 7123 model: '$1' 7124 - regex: '(Titan[_ ]T[135]|I6_Infinity)' 7125 model: '$1' 7126 - regex: '(?:HW-)?W(71[67]|757|86[07]|970)(?:[);/ ]|$)' 7127 model: 'W$1' 7128 - regex: 'PAD[ -_](D71|G781|d85)' 7129 device: 'tablet' 7130 model: '$1' 7131 - regex: '(HL810G)' 7132 device: 'tablet' 7133 model: '$1' 7134 - regex: 'Haier[ _\-](H[WT]-[^/;]+) Build' 7135 model: '$1' 7136 - regex: 'Haier[ _\-](H[WT]-[a-z0-9_\-]+)' 7137 model: '$1' 7138 - regex: 'Haier[ _\-](sy[0-9]+)' 7139 model: '$1' 7140 - regex: 'Haier[ _\-]([a-z0-9\-]+)' 7141 model: '$1' 7142 device: 'feature phone' 7143 7144# HannSpree 7145HannSpree: 7146 regex: '(HSG[0-9]{4})|SN97T41W|SN1AT71W\(B\)|SN70T51A|SN70T31?|T7-QC' 7147 device: 'tablet' 7148 models: 7149 - regex: '(HSG[0-9]{4})' 7150 model: '$1' 7151 - regex: 'SN1AT71W\(B\)' 7152 model: 'SN1AT71W(B)' 7153 - regex: 'SN70T31' 7154 model: 'SN70T31' 7155 - regex: 'SN70T3' 7156 model: 'SN70T3' 7157 - regex: 'SN70T51A' 7158 model: 'SN70T51A' 7159 - regex: 'SN97T41W' 7160 model: 'SN97T41W' 7161 - regex: 'T7-QC' 7162 model: 'SNAT71BUE' 7163 7164# Hasee 7165Hasee: 7166 regex: 'Hasee' 7167 device: 'smartphone' 7168 models: 7169 - regex: 'Hasee ([^;/]+) Build' 7170 model: '$1' 7171 - regex: 'Hasee ([^;/)]+)(?:[);/ ]|$)' 7172 model: '$1' 7173 7174# Hisense () 7175Hisense: 7176 regex: '(?:HS-)?Hisense ([^;/]+) Build|Hisense [^);/]+|HISENSE; |HS-(?:G|U|EG?|I|L|T|X)[0-9]+[a-z0-9\-]*|HNR55[01]T|E270BSA|HWCD100E|HITV300C|M470BS[AE]|EG98|E2281|EG680|I46D1G|HAT4KDTV|HLTE([237]00T|200M|203T|202N|21[023567][TM]|22[67]T|22[13]E|230E|103E|310[TM]|31[16]T|500T|501N|510[TM]|7[23]0T)|KS907|U601S Pro' 7177 device: 'smartphone' 7178 models: 7179 # explicit tablet models 7180 - regex: 'E270BSA' 7181 device: 'tablet' 7182 model: 'Sero 7' 7183 - regex: 'M470BS[AE]' 7184 device: 'tablet' 7185 model: 'Sero 7 Pro' 7186 - regex: 'E2281' 7187 device: 'tablet' 7188 model: 'Sero 8' 7189 - regex: 'HLTE202N' 7190 model: 'A5' 7191 - regex: 'HLTE203T' 7192 model: 'A5 Pro CC' 7193 - regex: 'HLTE700T' 7194 model: 'A6' 7195 - regex: 'HLTE730T' 7196 model: 'A6L' 7197 - regex: 'HLTE221E' 7198 model: 'E Max' 7199 - regex: 'HLTE501N' 7200 model: 'V Plus' 7201 - regex: 'KS907' 7202 model: 'V3' 7203 - regex: 'HLTE223E' 7204 model: 'H30' 7205 - regex: 'I46D1G' 7206 model: 'Smartfren Andromax R' 7207 - regex: 'EG680' 7208 model: 'Smartfren Andromax Z' 7209 - regex: 'EG98' 7210 model: 'Smartfren Andromax U2' 7211 - regex: 'HLTE200T(?:[);/ ]|$)' 7212 model: 'F26' 7213 - regex: 'HLTE210T(?:[);/ ]|$)' 7214 model: 'F28' 7215 - regex: 'HLTE215T(?:[);/ ]|$)' 7216 model: 'F29' 7217 - regex: 'HLTE213T(?:[);/ ]|$)' 7218 model: 'King Kong 4' 7219 - regex: 'HLTE311T(?:[);/ ]|$)' 7220 model: 'King Kong 4 Pro' 7221 - regex: 'HLTE216[TM](?:[);/ ]|$)' 7222 model: 'King Kong 5' 7223 - regex: 'HLTE316T(?:[);/ ]|$)' 7224 model: 'King Kong 5 Pro' 7225 - regex: 'HLTE226T(?:[);/ ]|$)' 7226 model: 'King Kong 6' 7227 - regex: 'HLTE217T(?:[);/ ]|$)' 7228 model: 'F30S' 7229 - regex: 'HLTE227T(?:[);/ ]|$)' 7230 model: 'F40' 7231 - regex: 'HNR550T(?:[);/ ]|$)' 7232 model: 'F50' 7233 - regex: 'HNR551T(?:[);/ ]|$)' 7234 model: 'F50 Plus' 7235 - regex: 'HLTE310[TM](?:[);/ ]|$)' 7236 model: 'H18' 7237 - regex: 'HLTE510[TM](?:[);/ ]|$)' 7238 model: 'H20' 7239 - regex: 'HLTE103E' 7240 model: 'E20' 7241 - regex: 'HLTE500T(?:[);/ ]|$)' 7242 model: 'H11' 7243 - regex: '(?:HLTE230E|Infinity H40 Lite)(?:[);/ ]|$)' 7244 model: 'Infinity H40 Lite' 7245 - regex: 'HLTE720T(?:[);/ ]|$)' 7246 model: 'U30' 7247 device: 'phablet' 7248 - regex: 'HWCD100E(?:[);/ ]|$)' 7249 model: 'U40 Lite' 7250 - regex: '(HLTE300T|HLTE200M|HLTE212T)(?:[);/ ]|$)' 7251 model: '$1' 7252 - regex: 'HITV300C(?:[);/ ]|$)' 7253 model: 'E9' 7254 - regex: 'E260T\+(?:[);/ ]|$)' 7255 model: 'Nana' 7256 - regex: 'U601S Pro(?:[);/ ]|$)' 7257 model: 'U601S Pro' 7258 - regex: 'Infinity H50 ZOOM(?:[);/ ]|$)' 7259 model: 'Infinity H50 Zoom' 7260 - regex: '(HS-(?:G|U|EG?|I|L|T|X)[0-9]+[a-z0-9\-]*)' 7261 model: '$1' 7262 7263 - regex: '(HAT4KDTV)(?:[);/ ]|$)' 7264 device: 'tv' 7265 model: '$1' 7266 7267 - regex: '(?:HS-)?Hisense (U3) 2021(?: Build|[);])' 7268 model: 'U3 (2021)' 7269 - regex: '(?:HS-)?Hisense ([^;/)]+) Pro(?: Build|[);])' 7270 model: '$1 Pro' 7271 - regex: '(?:HS-)?Hisense ([^;/)]+) Plus(?: Build|[);])' 7272 model: '$1 Plus' 7273 - regex: '(?:HS-)?Hisense ([^;/)]+)(?: Build|[);])' 7274 model: '$1' 7275 - regex: '(?:HS-)?Hisense ([^/]+)/' 7276 model: '$1' 7277 7278# Hi-Level 7279Hi-Level: 7280 regex: 'HLV-T([a-z0-9]+)' 7281 device: 'tablet' 7282 model: 'HLV-T$1' 7283 7284# Hoffmann (hoffmann-electric.com) 7285Hoffmann: 7286 regex: '(HOFFMANN|Neo[_ ]A[1379]00|X-Go|X-Play|X-Pro|X_Ultra)(?:[);/ ]|$)' 7287 device: 'smartphone' 7288 models: 7289 - regex: 'Neo[_ ](A[1379]00)' 7290 model: 'Neo $1' 7291 - regex: 'HOFFMANN[ _]X[-_ ](Prime|Twist|Max)' 7292 model: 'X $1' 7293 - regex: 'X[-_](Play|Go|Pro|Ultra)' 7294 model: 'X $1' 7295 7296# Homtom 7297Homtom: 7298 regex: 'Homtom|(?:HT[0-9]{1,2}(?: ?Pro)?|HT3_Pro)(?:[);/ ]|$)' 7299 device: 'smartphone' 7300 models: 7301 - regex: '(?:Homtom[_ ])?HT ?([0-9]{1,2})[ _]?Pro(?:[);/ ]|$)' 7302 model: 'HT$1 Pro' 7303 - regex: '(?:Homtom[_ ])?HT ?([0-9]{1,2}?)(?:[);/ ]|$)' 7304 model: 'HT$1' 7305 - regex: 'Homtom ([^;/]+) Build' 7306 model: '$1' 7307# Hosin 7308Hosin: 7309 regex: 'HOSIN[ _-]' 7310 device: 'smartphone' 7311 models: 7312 - regex: 'HOSIN[ _-]([^;/]+) Build' 7313 model: '$1' 7314 - regex: 'HOSIN[ _-]([^;/]+)(?:[;/)]|$)' 7315 model: '$1' 7316 7317# Hoozo (hoozoelectronics.com) 7318Hoozo: 7319 regex: '(?:HOOZO[_ ](MT232|MT116|MT Pad 116 LTE|X1001)|HZ0010|HZ1012)(?:[);/ ]|$)' 7320 device: 'tablet' 7321 models: 7322 - regex: 'HOOZO[_ ](MT232|MT116|MT Pad 116 LTE|X1001)(?:[);/ ]|$)' 7323 model: '$1' 7324 - regex: '(HZ0010|HZ1012)(?:[);/ ]|$)' 7325 model: '$1' 7326 7327# Minix (minix.us) 7328Minix: 7329 regex: 'NEO-(?:X8-H|U9-H|X[57]-mini|X8H-PLUS|X88-?I|X7-216A|X5-116A|X[68]|U1|Z64)(?:[);/ ]|$)' 7330 device: 'tv' 7331 models: 7332 - regex: 'NEO-X8-H(?:[);/ ]|$)' 7333 model: 'NEO X8H' 7334 - regex: 'NEO-X([57])-mini(?:[);/ ]|$)' 7335 model: 'NEO X$1 Mini' 7336 - regex: 'NEO-X8H-PLUS(?:[);/ ]|$)' 7337 model: 'NEO X8H Plus' 7338 - regex: 'NEO-X88-?I(?:[);/ ]|$)' 7339 model: 'NEO X88i' 7340 - regex: 'NEO-X7-216A(?:[);/ ]|$)' 7341 model: 'NEO X7' 7342 - regex: 'NEO-X5-116A(?:[);/ ]|$)' 7343 model: 'NEO X5' 7344 - regex: 'NEO-X([68])(?:[);/ ]|$)' 7345 model: 'NEO X$1' 7346 - regex: 'NEO-U1(?:[);/ ]|$)' 7347 model: 'NEO U1' 7348 - regex: 'NEO-Z64(?:[);/ ]|$)' 7349 model: 'NEO Z64' 7350 - regex: 'NEO-U9-H(?:[);/ ]|$)' 7351 model: 'NEO U9H' 7352 7353# Huawei 7354Huawei: 7355 regex: '(HW-)?(?:Huawei(?!Browser)|MediaPad T1|Ideos|Honor[ _]?|(?:(?:AGS|AGS2|ALE|ALP|AMN|ANA|ANE|ARE|ARS|ASK|ATH|ATU|AUM|BAC|BAH[23]?|BG2|BGO|B[ZK]K|BKL|BL[ALN]|BND|BTV|CA[GMNZ]|CH[CM]|CHE[12]?|CLT|CMR|COL|COR|CPN|CRO|CRR|CUN|DIG|DLI|DRA|DUA|DUB|DUK|EDI|ELE|EML|EVA|EVR|FDR|FIG|FLA|FRD|FRL|GEM|GRA|HDN|HLK|HMA|Hol|HRY|HWI|H[36]0|INE|JAT|JEF|JDN|JDN2|JKM|JMM|JSN|KII|KIW|KNT|KOB|KSA|LDN|LEO|LIO|LLD|LND|LON|LRA|LUA|LY[AO]|MAR|MHA|MRD|MYA|NCE|NEM|NEO|NXT|PAR|PCT|PIC|PLE|PLK|POT|PPA|PRA|RIO|RNE|RVL|SCC|SCL|SCM|SEA|SHT|SLA|SNE|SPN|STF|STK|TAG|TIT|TNY|TRT|VCE|VEN|VIE|VKY|VNS|VOG|VRD|VTR|WAS|YAL|G(?:527|620S|621|630|735)|Y(?:221|330|550|6[23]5))-(?:[A-Z]{0,2}[0-9]{1,4}[A-Z]{0,3}?)|H1711|U(?:8230|8500|8661|8665|8667|8800|8818|8860|9200|9508))(?:[);/ ]|$))|hi6210sft|PE-(UL00|TL[12]0|TL00M)|T1-(A21[Lw]|A23L|701u|823L)|G7-(?:L01|TL00)|HW-01K|JNY-(LX[12]|AL10)|OXF-AN[01]0|TAS-(A[LN]00|L29|TL00)|WLZ-(AL10|AN00)|YOK-AN00|NIC-LX1A|MRX-(AL09|W09|W29)|CDY-(?:[AT]N00|AN[29][05]|NX9[AB]|TN90)|GLK-(?:[AT]L00|LX1U)|JER-(?:AN20|[AT]N10)|ELS-(?:[AT]N[10]0|NX9|N39|N04)|AKA-(AL10|L29)|MON-(W|AL)19|BMH-AN[12]0|AQM-([AT]L[01]0|LX1)|MOA-(AL[02]0|LX9N)|NTS-AL00|ART-(?:[AT]L00[xm]|L29N?|L28)|MED-(?:[AT]L00|LX9N?)|EBG-(?:AN[01]0|TN00)|ANA-(?:[AT]N00|NX9)|BZ[AK]-W00|BZT-(W09|AL[01]0)|HDL-(AL09|W09)|HWV3[123]|HW-02L|TEL-[AT]N(?:00a?|10)|KKG-AN00|MXW-[AT]N00|JKM-AL00[ab]|TAH-(?:N29|AN00)m|C8817D|T1-821W|d-01[JK]|d-02[HK]|KRJ-W09|HWT31|Y320-U10|Y541-U02|VAT-L19|70[14]HW|60[58]HW|NOH-(?:NX9|AN0[01])|TNNH-AN00|LIO-(?:[TA]L00|[LN]29|AN00)|KOB2-[LW]09|AGS3-(?:[WL]09|AL0[09]|W00[DE])|DNN-LX9|NEY-NX9|LON-AL00|HLK-L41|503HW|AGR-[LW]09|PPA-LX[12]|ANG-(?:AN00|LX1)|NOP-AN00|ALA-AN70|DVC-[AT]N20|302HW|Nexus 6P|DBY-W09|WKG-LX9|JSC-AN00|OCE-AN10|NZA-AL00|BRQ-A[LN]00|BZC-(?:AL|W)00|NEN-L(?:X1|22)|KOZ-AL[04]0|NTH-NX9' 7356 device: 'smartphone' 7357 models: 7358 - regex: 'POT-[TA]L00a(?:[);/ ]|$)' 7359 model: '9S' 7360 - regex: 'U9500(?:[);/ ]|$)' 7361 model: 'Ascend D1' 7362 - regex: 'Z100-UL00(?:[);/ ]|$)' 7363 model: 'Ascend D3' 7364 - regex: 'Y320-(?:U10|T00|U05)(?:[);/ ]|$)' 7365 model: 'Ascend Y320' 7366 - regex: 'Y330-U05(?:[);/ ]|$)' 7367 model: 'Ascend Y330' 7368 - regex: 'Y541-U02(?:[);/ ]|$)' 7369 model: 'Ascend Y5C' 7370 - regex: 'U8818(?:[);/ ]|$)' 7371 model: 'Ascend G300' 7372 - regex: 'G527-U081(?:[);/ ]|$)' 7373 model: 'Ascend G527' 7374 - regex: '(G620S-L0[13]|C8817D)(?:[);/ ]|$)' 7375 model: 'Ascend G620S' 7376 - regex: 'G630-U251(?:[);/ ]|$)' 7377 model: 'Ascend G630' 7378 - regex: 'G7-(?:L01|TL00)(?:[);/ ]|$)' 7379 model: 'Ascend G7' 7380 - regex: 'P7-L10(?:[);/ ]|$)' 7381 model: 'Ascend P7' 7382 - regex: 'G730-C00(?:[);/ ]|$)' 7383 model: 'Ascend G730' 7384 - regex: 'U9200(?:[);/ ]|$)' 7385 model: 'Ascend P1' 7386 - regex: 'H1711(?:[);/ ]|$)' 7387 model: 'Ascend XT2' 7388 - regex: 'Y221-U(?:[12]2|[0345]3)(?:[);/ ]|$)' 7389 model: 'Ascend Y221' 7390 - regex: 'Y550-L03(?:[);/ ]|$)' 7391 model: 'Ascend Y550' 7392 - regex: 'Y560-L01(?:[);/ ]|$)' 7393 model: 'Ascend Y560' 7394 - regex: 'ART-[AT]L00[xm](?:[);/ ]|$)' 7395 model: 'Enjoy 10' 7396 - regex: 'STK-[AT]L00(?:[);/ ]|$)' 7397 model: 'Enjoy 10 Plus' 7398 - regex: 'MED-[AT]L00(?:[);/ ]|$)' 7399 model: 'Enjoy 10E' 7400 - regex: 'AQM-[AT]L00(?:[);/ ]|$)' 7401 model: 'Enjoy 10S' 7402 - regex: 'TAG-[ACT]L00(?:[);/ ]|$)' 7403 model: 'Enjoy 5S' 7404 - regex: 'NCE-(AL[10]0|TL10)(?:[);/ ]|$)' 7405 model: 'Enjoy 6' 7406 - regex: 'DIG-(?:TL10|AL00)(?:[);/ ]|$)' 7407 model: 'Enjoy 6S' 7408 - regex: 'SLA-(?:AL00|TL10)(?:[);/ ]|$)' 7409 model: 'Enjoy 7' 7410 - regex: 'FIG-(?:[AT]L[10]0)(?:[);/ ]|$)' 7411 model: 'Enjoy 7S' 7412 - regex: '(?:TRT-AL00[A]?|TRT-TL10A)(?:[);/ ]|$)' 7413 model: 'Enjoy 7 Plus' 7414 - regex: 'LDN-(?:AL[12]0|TL[02]0)(?:[);/ ]|$)' 7415 model: 'Enjoy 8' 7416 - regex: 'FLA-AL10(?:[);/ ]|$)' 7417 model: 'Enjoy 8 Plus' 7418 - regex: 'ATU-[AT]L10(?:[);/ ]|$)' 7419 model: 'Enjoy 8e' 7420 - regex: 'MRD-[TA]L00(?:[);/ ]|$)' 7421 model: 'Enjoy 9e' 7422 - regex: 'DVC-[AT]N20(?:[);/ ]|$)' 7423 model: 'Enjoy 20 Pro' 7424 - regex: 'PPA-AL20(?:[);/ ]|$)' 7425 model: 'Enjoy 20 SE' 7426 - regex: 'U8665(?:[);/ ]|$)' 7427 model: 'Fusion 2' 7428 - regex: 'MED-LX9N?(?:[);/ ]|$)' 7429 model: 'Y6p' 7430 - regex: 'G735-L(?:03|12|23)(?:[);/ ]|$)' 7431 model: 'G Play' 7432 - regex: 'CHC-U(?:0[13]|23)(?:[);/ ]|$)' 7433 model: 'G Play Mini' 7434 - regex: '(?:Honor_|HW-)?G621-TL00M?(?:[);/ ]|$)' 7435 model: 'G621' 7436 - regex: 'DIG-L2[12](?:[);/ ]|$)' 7437 model: 'GR3 (2017)' 7438 - regex: 'KII-L21(?:[);/ ]|$)' 7439 model: 'GR5' 7440 - regex: 'BLL-L2[12](?:[);/ ]|$)' 7441 model: 'GR5 (2017)' 7442 - regex: 'RIO-L03(?:[);/ ]|$)' 7443 model: 'GX8' 7444 - regex: 'RIO-L01(?:[);/ ]|$)' 7445 model: 'G8' 7446 - regex: 'U8860(?:[);/ ]|$)' 7447 model: 'Honor' 7448 - regex: 'COL-(?:AL[01]0|TL[01]0|L29)(?:[);/ ]|$)' 7449 model: 'Honor 10' 7450 - regex: 'HRY-(?:[AT]L00[A]?|LX[12]|LX1MEB)(?:[);/ ]|$)' 7451 model: 'Honor 10 Lite' 7452 - regex: 'HRY-LX1T(?:[);/ ]|$)' 7453 model: 'Honor 10I' 7454 - regex: 'U9508(?:[);/ ]|$)' 7455 model: 'Honor 2' 7456 - regex: 'YAL-(?:L21|[AT]L00)(?:[);/ ]|$)' 7457 model: 'Honor 20' 7458 - regex: 'LRA-AL00(?:[);/ ]|$)' 7459 model: 'Honor 20 Lite' 7460 - regex: '(HRY-AL00T[a]?)(?:[);/ ]|$)' 7461 model: 'Honor 20I' 7462 - regex: 'YAL-(L41|AL10)(?:[);/ ]|$)' 7463 model: 'Honor 20 Pro' 7464 - regex: '(MAR-LX1H|YAL-AL50)(?:[);/ ]|$)' 7465 model: 'Honor 20S' 7466 - regex: 'BMH-(?:AN[12]0|TN10)(?:[);/ ]|$)' 7467 model: 'Honor 30' 7468 - regex: 'EBG-[AT]N00(?:[);/ ]|$)' 7469 model: 'Honor 30 Pro' 7470 - regex: 'EBG-AN10(?:[);/ ]|$)' 7471 model: 'Honor 30 Pro Plus' 7472 - regex: 'CDY-(?:AN9[05]|NX9A|TN90)(?:[);/ ]|$)' 7473 model: 'Honor 30S' 7474 - regex: 'LRA-LX1(?:[);/ ]|$)' 7475 model: 'Honor 30I' 7476 - regex: 'MXW-[AT]N00(?:[);/ ]|$)' 7477 model: 'Honor 30 Lite' 7478 - regex: '(?:Honor_|HW-)?H30-(?:C00|L01M?|L02|U10|T00|T10)(?:_TD)?(?:[);/ ]|$)' 7479 model: 'Honor 3C' 7480 - regex: 'Hol-U19(?:[);/ ]|$)' 7481 model: 'Honor 3C Lite' 7482 - regex: 'G750-T01(?:[);/ ]|$)' 7483 model: 'Honor 3X' 7484 - regex: '(?:Honor_|HW-)?SCL-(?:AL00|CL00|TL00H?)(?:_TD)?(?:[);/ ]|$)' 7485 model: 'Honor 4A' 7486 - regex: '(?:Honor_|HW-)?CHM-U01(?:_TD)?(?:[);/ ]|$)' 7487 model: 'Honor 4C' 7488 - regex: 'Honor 4c Pro(?:[);/ ]|$)' 7489 model: 'Honor 4C Pro' 7490 - regex: 'AQM-AL10(?:[);/ ]|$)' 7491 model: 'Honor 4T Pro' 7492 - regex: '(CHE2?-[UT]L00[HM]?|CHE1-CL[12]0|CHE2-L(?:1[12]|23)|Che1-L04|CHE-TL00)(?:[);/ ]|$)' 7493 model: 'Honor 4X' 7494 - regex: '(?:Honor_|HW-)?CUN-[AT]L00(?:[);/ ]|$)' 7495 model: 'Honor 5 Play' 7496 - regex: '(?:Honor_|HW-)?CAM-(?:AL00|TL00H|TL00)(?:_TD)?(?:[);/ ]|$)' 7497 model: 'Honor 5A' 7498 - regex: '(?:Honor_|HW-)?NEM-(?:AL10|L51|UL10|TL00)(?:[);/ ]|$)' 7499 model: 'Honor 5C' 7500 - regex: '(?:Honor_|HW-)?NEM-(?:L22|TL00H)(?:[);/ ]|$)' 7501 model: 'Honor 5C Dual SIM' 7502 - regex: '(?:Honor_|HW-)?KIW-(?:AL10|TL00H|[TC]L00|L2[1-4]|UL00)(?:_TD)?(?:[);/ ]|$)' 7503 model: 'Honor 5X' 7504 - regex: 'NTH-NX9(?:[);/ ]|$)' 7505 model: 'Honor 50 5G' 7506 - regex: '((?:Honor_|HW-)?H60-L(?:01|02|03|04|11|12)(?:_TD)?|HW-H60-J1)(?:[);/ ]|$)' 7507 model: 'Honor 6' 7508 - regex: 'MYA-TL10(?:[);/ ]|$)' 7509 model: 'Honor 6 Play' 7510 - regex: 'PE-(UL00|TL[12]0|TL00M)(?:[);/ ]|$)' 7511 model: 'Honor 6 Plus' 7512 - regex: '(?:HONOR[ _]?)?DLI-(?:AL10|L[24]2|TL20)(?:[);/ ]|$)' 7513 model: 'Honor 6A' 7514 - regex: 'DIG-L21HN(?:[);/ ]|$)' 7515 model: 'Honor 6C' 7516 - regex: 'JMM-L22(?:[);/ ]|$)' 7517 model: 'Honor 6C Pro' 7518 - regex: '(?:HONOR[ _]?)?BLN-(?:L2[124]|AL[1234]0|TL[01]0(?:[);/ ]|$))' 7519 model: 'Honor 6X' 7520 - regex: '(?:Honor[_]?|HW-)?PLK-(?:AL10|CL00|TL00|TL01H?|UL00|L01)(?:[);/ ]|$)' 7521 model: 'Honor 7' 7522 - regex: '(?:Honor_|HW-)?NEM-L21(?:[);/ ]|$)' 7523 model: 'Honor 7 Lite' 7524 - regex: 'AUM-(?:AL[20]0|L33[A]?|TL20)(?:[);/ ]|$)' 7525 model: 'Honor 7A' 7526 - regex: 'AUM-L29(?:[);/ ]|$)' 7527 model: 'Honor 7A Pro' 7528 - regex: '(?:Honor_|HW-)?(?:LND-(?:AL[34]0|L29|TL40)|AUM-L41)(?:[);/ ]|$)' 7529 model: 'Honor 7C' 7530 - regex: 'ATH-(?:[CAU]L00|TL00H)(?:[);/ ]|$)' 7531 model: 'Honor 7i' 7532 - regex: '(?:Honor_|HW-)?DUA-(?:L22|LX3)(?:[);/ ]|$)' 7533 model: 'Honor 7S' 7534 - regex: '(?:HONOR[ _]?)?BND-(?:AL[01]0|TL10|L2[14]|L31)(?:[);/ ]|$)' 7535 model: 'Honor 7X' 7536 - regex: '(?:FRD-(?:AL[01]0|L0[249]|L1[49]|DL00)|VAT-L19)(?:[);/ ]|$)' 7537 model: 'Honor 8' 7538 - regex: 'PRA-(?:AL00X|AL00|TL10)(?:[);/ ]|$)' 7539 model: 'Honor 8 Lite' 7540 - regex: 'DUK-(?:L09|TL30)(?:[);/ ]|$)' 7541 model: 'Honor 8 Pro' 7542 - regex: 'VEN-L22(?:[);/ ]|$)' 7543 model: 'Honor 8 Smart' 7544 - regex: 'JAT-L(29|X[13])(?:[);/ ]|$)' 7545 model: 'Honor 8A' 7546 - regex: 'JAT-L41(?:[);/ ]|$)' 7547 model: 'Honor 8A Pro' 7548 - regex: 'BKK-(?:AL[10]0|L21|L22|LX2|TL00)(?:[);/ ]|$)' 7549 model: 'Honor 8C' 7550 - regex: 'KSA-(LX[239]|AL00)(?:[);/ ]|$)' 7551 model: 'Honor 8S' 7552 - regex: 'JSN-L(?:2[123]|42)|JSN-[TA]L00[a]?(?:[);/ ]|$)' 7553 model: 'Honor 8X' 7554 - regex: 'ARE-(?:AL[10]0|L22(?:HN)?|TL00)(?:[);/ ]|$)' 7555 model: 'Honor 8X Max' 7556 - regex: 'STF-(?:AL[10]0|L09S?|TL10)(?:[);/ ]|$)' 7557 model: 'Honor 9' 7558 - regex: 'MOA-LX9N(?:[);/ ]|$)' 7559 model: 'Honor 9A' 7560 - regex: 'AKA-L29(?:[);/ ]|$)' 7561 model: 'Honor 9C' 7562 - regex: 'LLD-(?:AL[01]0|L[23]1|TL10)(?:[);/ ]|$)' 7563 model: 'Honor 9 Lite' 7564 - regex: 'LLD-AL[23]0(?:[);/ ]|$)' 7565 model: 'Honor 9i' 7566 - regex: 'DUA-LX9(?:[);/ ]|$)' 7567 model: 'Honor 9S' 7568 - regex: 'HLK-AL00a?(?:[);/ ]|$)' 7569 model: 'Honor 9X' 7570 - regex: 'HLK-(?:AL10|L4[12])(?:[);/ ]|$)' 7571 model: 'Honor 9X Pro' 7572 - regex: 'CAM-UL00(?:[);/ ]|$)' 7573 model: 'Honor Holly 3' 7574 - regex: 'NTS-AL00(?:[);/ ]|$)' 7575 model: 'Honor Magic' 7576 - regex: 'TNY-[AT]L00(?:[);/ ]|$)' 7577 model: 'Honor Magic 2' 7578 - regex: 'RVL-AL09(?:[);/ ]|$)' 7579 model: 'Honor Note 10' 7580 - regex: 'EDI-AL10(?:[);/ ]|$)' 7581 model: 'Honor Note 8' 7582 - regex: 'VKY-TL00(?:[);/ ]|$)' 7583 model: 'Honor P10 Plus' 7584 - regex: 'VOG-AL00(?:[);/ ]|$)' 7585 model: 'Honor P30 Pro' 7586 - regex: 'ANA-(?:[AT]N00)(?:[);/ ]|$)' 7587 model: 'Honor P40 5G' 7588 - regex: 'ANA-AL00(?:[);/ ]|$)' 7589 model: 'Honor P40 4G' 7590 - regex: 'ANA-NX9(?:[);/ ]|$)' 7591 model: 'Honor P40 Dual' 7592 - regex: 'COR-(?:AL[01]0|L29|TL10)(?:[);/ ]|$)' 7593 model: 'Honor Play' 7594 - regex: 'ASK-AL(00x|20)(?:[);/ ]|$)' 7595 model: 'Honor Play 3' 7596 - regex: 'KSA-AL10(?:[);/ ]|$)' 7597 model: 'Honor Play 3E' 7598 - regex: 'TNNH-AN00(?:[);/ ]|$)' 7599 model: 'Honor Play 4' 7600 - regex: 'CHM-[CUT]L00[HM]?(?:[);/ ]|$)' 7601 model: 'Honor Play 4C' 7602 - regex: 'AKA-AL10(?:[);/ ]|$)' 7603 model: 'Honor Play 4T' 7604 - regex: '(?:NZA-AL00?|KOZ-AL40)(?:[);/ ]|$)' 7605 model: 'Honor Play 5T' # Vitality Edition 7606 - regex: 'DUA-[TA]L00(?:[);/ ]|$)' 7607 model: 'Honor Play 7' 7608 - regex: 'KOZ-AL00(?:[);/ ]|$)' 7609 model: 'Honor Play 20' 7610 - regex: 'JAT-[AT]L00(?:[);/ ]|$)' 7611 model: 'Honor Play 8A' 7612 - regex: 'MOA-AL[02]0(?:[);/ ]|$)' 7613 model: 'Honor Play 9A' 7614 - regex: 'BKL-(?:AL00|AL20|AL30|L09|TL10)(?:[);/ ]|$)' 7615 model: 'Honor V10' 7616 - regex: 'PCT-[TA]L10(?:[);/ ]|$)' 7617 model: 'Honor V20' 7618 - regex: 'YOK-AN10(?:[);/ ]|$)' 7619 model: 'Honor V40' 7620 - regex: 'KNT-(?:AL[12]0|[TU]L10)(?:[);/ ]|$)' 7621 model: 'Honor V8' 7622 - regex: 'DUK-AL20(?:[);/ ]|$)' 7623 model: 'Honor V9' 7624 - regex: 'JMM-[AT]L[01]0(?:[);/ ]|$)' 7625 model: 'Honor V9 Play' 7626 - regex: 'BKL-L04(?:[);/ ]|$)' 7627 model: 'Honor View 10' 7628 - regex: 'PCT-L29(?:[);/ ]|$)' 7629 model: 'Honor View 20' 7630 - regex: 'OXF-AN00(?:[);/ ]|$)' 7631 model: 'Honor View 30' 7632 - regex: 'OXF-AN10(?:[);/ ]|$)' 7633 model: 'Honor View 30 Pro' 7634 - regex: '(?:Honor_|HW-)?SCL-L(0[1-4]|21|32)(?:_TD)?(?:[);/ ]|$)' 7635 model: 'Honor Y6' 7636 - regex: '(?:Honor_|HW-)?LYO-L21(?:[);/ ]|$)' 7637 model: 'Honor Y6 II Compact' 7638 - regex: 'TEL-(?:AN(?:00a?|10)|TN00)(?:[);/ ]|$)' 7639 model: 'Honor X10' 7640 - regex: 'KKG-AN00(?:[);/ ]|$)' 7641 model: 'Honor X10 Max' 7642 - regex: 'DNN-LX9(?:[);/ ]|$)' 7643 model: 'Honor X10 Lite' 7644 - regex: 'ALA-AN70(?:[);/ ]|$)' 7645 model: 'Honor V40 Lite' 7646 - regex: 'U8500(?:[);/ ]|$)' 7647 model: 'Ideos X2' 7648 - regex: 'U8510(?:[);/ ]|$)' 7649 model: 'Ideos X3' 7650 - regex: 'U8800(?:[);/ ]|$)' 7651 model: 'Ideos X5' 7652 - regex: 'MLA-AL10(?:[);/ ]|$)' 7653 model: 'Maimang 5' 7654 - regex: 'POT-AL10(?:[);/ ]|$)' 7655 model: 'Maimang 8' 7656 - regex: 'TAH-(?:N29|AN00)m(?:[);/ ]|$)' 7657 model: 'Mate XS' 7658 - regex: 'ALP-(?:[TA]L00|L[02]9)(?:[);/ ]|$)' 7659 model: 'Mate 10' 7660 - regex: 'RNE-(?:AL00|L(?:01|03|21|23))(?:[);/ ]|$)' 7661 model: 'Mate 10 Lite' 7662 - regex: 'BLA-(?:A09|L[02]9|[TA]L00)(?:[);/ ]|$)' 7663 model: 'Mate 10 Pro' 7664 - regex: 'HMA-(?:[AT]L00|L[02]9)(?:[);/ ]|$)' 7665 model: 'Mate 20' 7666 - regex: 'SNE-(?:AL00|LX[0-3])(?:[);/ ]|$)' 7667 model: 'Mate 20 Lite' 7668 - regex: 'LYA-(?:AL[01]0|L[02]9|L0C|TL00)(?:[);/ ]|$)' 7669 model: 'Mate 20 Pro' 7670 - regex: 'LYA-AL00P(?:[);/ ]|$)' 7671 model: 'Mate 20 RS' 7672 - regex: 'EVR-(?:[TA]L00|L29|N29|AN00)(?:[);/ ]|$)' 7673 model: 'Mate 20 X' 7674 - regex: 'TAS-([AT]L00|L29)(?:[);/ ]|$)' 7675 model: 'Mate 30' 7676 - regex: 'TAS-AN00(?:[);/ ]|$)' 7677 model: 'Mate 30 5G' 7678 - regex: 'LIO-AN00P(?:[);/ ]|$)' 7679 model: 'Mate 30 RS Porsche Design' 7680 - regex: 'SPN-AL00(?:[);/ ]|$)' 7681 model: 'Mate 30 Lite' 7682 - regex: 'LIO-(?:[TA]L00|L29|AN00)(?:[);/ ]|$)' 7683 model: 'Mate 30 Pro' 7684 - regex: 'LIO-N29(?:[);/ ]|$)' 7685 model: 'Mate 30 Pro 5G' 7686 - regex: 'NOH-(?:NX9|AN0[01])(?:[);/ ]|$)' 7687 model: 'Mate 40 Pro' 7688 - regex: 'NOP-AN00(?:[);/ ]|$)' 7689 model: 'Mate 40 Pro+' 7690 - regex: 'OCE-AN10(?:[);/ ]|$)' 7691 model: 'Mate 40' 7692 - regex: 'NXT-(?:AL10|L[02]9)(?:[);/ ]|$)' 7693 model: 'Mate 8' 7694 - regex: 'MHA-(?:L[02]9|[AT]L00)(?:[);/ ]|$)' 7695 model: 'Mate 9' 7696 - regex: 'BLL-L23(?:[);/ ]|$)' 7697 model: 'Mate 9 Lite' 7698 - regex: 'LON-(?:AL00(?:-PD)?|L29)(?:[);/ ]|$)' 7699 model: 'Mate 9 Pro' 7700 - regex: 'NEO-AL00(?:[);/ ]|$)' 7701 model: 'Mate RS' 7702 - regex: 'NEO-L29(?:[);/ ]|$)' 7703 model: 'Mate RS Porsche Design' 7704 - regex: 'CRR-(?:L09|UL00)(?:[);/ ]|$)' 7705 model: 'Mate S' 7706 - regex: 'BND-L34(?:[);/ ]|$)' 7707 model: 'Mate SE' 7708 - regex: '(CAZ-(?:AL[01]0|TL[12]0)|CAN-L[01][1-3])(?:[);/ ]|$)' 7709 model: 'Nova' 7710 - regex: '(?:608HW|PRA-LX[23])(?:[);/ ]|$)' 7711 model: 'Nova Lite' 7712 - regex: 'MLA-L11(?:[);/ ]|$)' 7713 model: 'Nova Plus' 7714 - regex: '(?:PIC-(?:[AT]L00|LX9)|HWV31)(?:[);/ ]|$)' 7715 model: 'Nova 2' 7716 - regex: '704HW(?:[);/ ]|$)' 7717 model: 'Nova 2 Lite' 7718 - regex: 'BAC-(?:L01|TL00)(?:[);/ ]|$)' 7719 model: 'Nova 2 Plus' 7720 - regex: 'BAC-(?:AL00|L2[12])(?:[);/ ]|$)' 7721 model: 'Nova 2 Plus Dual SIM' 7722 - regex: 'RNE-L[02]2(?:[);/ ]|$)' 7723 model: 'Nova 2I' 7724 - regex: 'HWI-[AT]L00(?:[);/ ]|$)' 7725 model: 'Nova 2S' 7726 - regex: 'PAR-(?:[AT]L00|LX[19]|LX1M|TL20)(?:[);/ ]|$)' 7727 model: 'Nova 3' 7728 - regex: 'ANE-AL00(?:[);/ ]|$)' 7729 model: 'Nova 3e' 7730 - regex: 'INE-(?:AL00|LX[12]r|LX[12]|TL00)(?:[);/ ]|$)' 7731 model: 'Nova 3i' 7732 - regex: 'VCE-(L22|[AT]L00)(?:[);/ ]|$)' 7733 model: 'Nova 4' 7734 - regex: 'MAR-AL00(?:[);/ ]|$)' 7735 model: 'Nova 4e' 7736 - regex: 'SEA-AL00(?:[);/ ]|$)' 7737 model: 'Nova 5' 7738 - regex: 'SEA-AL10(?:[);/ ]|$)' 7739 model: 'Nova 5 Pro' 7740 - regex: 'GLK-(?:[AT]L00|LX1U)(?:[);/ ]|$)' 7741 model: 'Nova 5i' 7742 - regex: 'SPN-TL00(?:[);/ ]|$)' 7743 model: 'Nova 5i Pro' 7744 - regex: 'WLZ-AL10(?:[);/ ]|$)' 7745 model: 'Nova 6' 7746 - regex: 'WLZ-AN00(?:[);/ ]|$)' 7747 model: 'Nova 6 5G' 7748 - regex: 'JNY-AL10(?:[);/ ]|$)' 7749 model: 'Nova 6 SE' 7750 - regex: 'JEF-(?:[AT]N00|AN20|NX9)(?:[);/ ]|$)' 7751 model: 'Nova 7 5G' 7752 - regex: 'JER-(?:[AT]N10|AN20)(?:[);/ ]|$)' 7753 model: 'Nova 7 Pro 5G' 7754 - regex: 'CDY-(?:[AT]N00|NX9B|AN20)(?:[);/ ]|$)' 7755 model: 'Nova 7 SE 5G' 7756 - regex: 'JNY-LX2(?:[);/ ]|$)' 7757 model: 'Nova 7i' 7758 - regex: 'ANG-LX1(?:[);/ ]|$)' 7759 model: 'Nova 8' 7760 - regex: 'NEN-L(?:X1|22)(?:[);/ ]|$)' 7761 model: 'Nova 8i' 7762 - regex: 'ANG-AN00(?:[);/ ]|$)' 7763 model: 'Nova 8 5G' 7764 - regex: 'JSC-AN00(?:[);/ ]|$)' 7765 model: 'Nova 8 SE 5G' 7766 - regex: 'BRQ-AL00(?:[);/ ]|$)' 7767 model: 'Nova 8 Pro 4G' 7768 - regex: 'BRQ-AN00(?:[);/ ]|$)' 7769 model: 'Nova 8 Pro 5G' 7770 - regex: 'DIG-L01(?:[);/ ]|$)' 7771 model: 'Nova Smart' 7772 - regex: 'WAS-AL00(?:[);/ ]|$)' 7773 model: 'Nova Youth' 7774 - regex: 'WKG-LX9(?:[);/ ]|$)' 7775 model: 'Nova Y60' 7776 - regex: 'FIG-L(?:A1|X[123])(?:[);/ ]|$)' 7777 model: 'P smart' 7778 - regex: 'POT-(?:LX(?:[13]|1T|2J|1AF)|AL00)(?:[);/ ]|$)' 7779 model: 'P smart (2019)' 7780 - regex: 'POT-LX1A(?:[);/ ]|$)' 7781 model: 'P smart (2020)' 7782 - regex: 'PPA-LX[12](?:[);/ ]|$)' 7783 model: 'P smart (2021)' 7784 - regex: 'STK-LX1(?:[);/ ]|$)' 7785 model: 'P smart Z' 7786 - regex: 'VTR-(?:L[02]9|AL00|TL00)(?:[);/ ]|$)' 7787 model: 'P10' 7788 - regex: 'WAS-(?:L(?:X1|X1A|X2|X2J|X3|03T)|TL10)(?:[);/ ]|$)' 7789 model: 'P10 Lite' 7790 - regex: 'VKY-(?:AL00|L09|L29)(?:[);/ ]|$)' 7791 model: 'P10 Plus' 7792 - regex: 'BAC-L[02]3(?:[);/ ]|$)' 7793 model: 'P10 Selfie' 7794 - regex: 'EML-(?:[TA]L00|L[02]9)(?:[);/ ]|$)' 7795 model: 'P20' 7796 - regex: '(?:ANE-(?:LX[123]|LX2J|TL00)|HWV32)(?:[);/ ]|$)' 7797 model: 'P20 Lite' 7798 - regex: '(?:CLT-(?:AL0[01]|TL0[01]|L(?:04|[02]9))|HW-01K)(?:[);/ ]|$)' 7799 model: 'P20 Pro' 7800 - regex: '(ELE-L(?:04|09|29)|ELE-[AT]L00)(?:[);/ ]|$)' 7801 model: 'P30' 7802 - regex: '(?:MAR-(?:LX(?:1[BM]|2B|[13]Am?|2J?|3BM)|TL00)|NIC-LX1A|HWV33)(?:[);/ ]|$)' 7803 model: 'P30 Lite' 7804 - regex: '(?:VOG-(?:L(?:04|09|29)|TL00|AL10)|HW-02L)(?:[);/ ]|$)' 7805 model: 'P30 Pro' 7806 - regex: 'ANA-LX4(?:[);/ ]|$)' 7807 model: 'P40' 7808 - regex: 'JNY-LX1(?:[);/ ]|$)' 7809 model: 'P40 Lite' 7810 - regex: 'ART-L29(?:[);/ ]|$)' 7811 model: 'P40 Lite E' 7812 - regex: 'ART-L29N(?:[);/ ]|$)' 7813 model: 'P40 Lite E NFC' 7814 - regex: '(?:ELS-(?:[AT]N00|NX9|N04)|NEY-NX9)(?:[);/ ]|$)' 7815 model: 'P40 Pro' 7816 - regex: 'ELS-(?:AN10|N39)(?:[);/ ]|$)' 7817 model: 'P40 Pro Plus' 7818 - regex: 'GRA-(?:L09|UL00)(?:[);/ ]|$)' 7819 model: 'P8' 7820 - regex: '(?:ALE-L(?:02|21|23)|ALE-[TUC]L00|503HW)(?:[);/ ]|$)' 7821 model: 'P8 Lite (2015)' 7822 - regex: '(?:PRA-L(?:A1|X[12])|hi6210sft)(?:[);/ ]|$)' 7823 model: 'P8 Lite (2017)' 7824 - regex: 'EVA-(?:AL[10]0|L[012]9|[TCD]L00)(?:[);/ ]|$)' 7825 model: 'P9' 7826 - regex: 'VNS-L(?:[23]1|[26]2|53|23)(?:[);/ ]|$)' 7827 model: 'P9 Lite' 7828 - regex: 'VNS-L52(?:[);/ ]|$)' 7829 model: 'P9 Lite Premium' 7830 - regex: 'SLA-L(?:02|03|22|23)(?:[);/ ]|$)' 7831 model: 'P9 Lite Mini' 7832 - regex: 'DIG-L(?:03|23)(?:[);/ ]|$)' 7833 model: 'P9 Lite Smart' 7834 - regex: 'VIE-(?:AL10|L[02]9)(?:[);/ ]|$)' 7835 model: 'P9 Plus' 7836 - regex: 'MLA-TL[01]0(?:[);/ ]|$)' 7837 model: 'G9 Plus' 7838 - regex: 'ATH-UL0[16](?:[);/ ]|$)' 7839 model: 'ShotX' 7840 - regex: 'U(8230|8661|8667)(?:[);/ ]|$)' 7841 model: 'U$1' 7842 - regex: 'ARS-([AT]L00|L22)(?:[);/ ]|$)' 7843 model: 'Y Max' 7844 - regex: 'CRO-(?:L[02]2|U00)(?:[);/ ]|$)' 7845 model: 'Y3 (2017)' 7846 - regex: 'CAG-L[02]2(?:[);/ ]|$)' 7847 model: 'Y3 (2018)' 7848 - regex: 'LUA-(U22|L2[12]|U03)(?:[);/ ]|$)' 7849 model: 'Y3II' 7850 - regex: 'MYA-(?:L(?:02|03|2[23])|U29)(?:[);/ ]|$)' 7851 model: 'Y5 (2017)' 7852 - regex: 'DRA-L(?:01|03|21|23|X3)(?:[);/ ]|$)' 7853 model: 'Y5 (2018)' 7854 - regex: 'AMN-LX[1239](?:[);/ ]|$)' 7855 model: 'Y5 (2019)' 7856 - regex: 'DRA-LX5(?:[);/ ]|$)' 7857 model: 'Y5 lite' 7858 - regex: 'DRA-LX9(?:[);/ ]|$)' 7859 model: 'Y5p' 7860 - regex: 'CRO-L[02]3(?:[);/ ]|$)' 7861 model: 'Y5 Lite (2017)' 7862 - regex: 'CAG-L[02]3(?:[);/ ]|$)' 7863 model: 'Y5 Lite (2018)' 7864 - regex: 'DRA-(?:LX2|[AT]L00)(?:[);/ ]|$)' 7865 model: 'Y5 Prime (2018)' 7866 - regex: 'MYA-L13(?:[);/ ]|$)' 7867 model: 'Y5 Pro (2017)' 7868 - regex: 'CUN-(?:L(?:0[123]|2[123]|33)|U29)(?:[);/ ]|$)' 7869 model: 'Y5II' 7870 - regex: '(?:SCC-U21|SCL-U31)(?:[);/ ]|$)' 7871 model: 'Y6' 7872 - regex: 'MYA-L11(?:[);/ ]|$)' 7873 model: 'Y6 (2016)' 7874 - regex: 'MYA-(L41|AL10)(?:[);/ ]|$)' 7875 model: 'Y6 (2017)' 7876 - regex: 'ATU-L(?:11|21|22|X3)(?:[);/ ]|$)' 7877 model: 'Y6 (2018)' 7878 - regex: 'MRD-L(?:X1[NF]?|X3)(?:[);/ ]|$)' 7879 model: 'Y6 (2019)' 7880 - regex: 'ATU-L(?:31|42)(?:[);/ ]|$)' 7881 model: 'Y6 Prime (2018)' 7882 - regex: 'TIT-(?:AL00|L01|U02)(?:[);/ ]|$)' 7883 model: 'Y6 Pro' 7884 - regex: 'MRD-LX2(?:[);/ ]|$)' 7885 model: 'Y6 Pro (2019)' 7886 - regex: 'Y625-U03(?:[);/ ]|$)' 7887 model: 'Y625' 7888 - regex: 'Y635-L0[123](?:[);/ ]|$)' 7889 model: 'Y635' 7890 - regex: 'Y635-L21(?:[);/ ]|$)' 7891 model: 'Y635 Dual SIM' 7892 - regex: 'CAM-L(?:03|21|23|32)(?:[);/ ]|$)' 7893 model: 'Y6II' 7894 - regex: 'TRT-LX[123](?:[);/ ]|$)' 7895 model: 'Y7 (2017)' 7896 - regex: 'LDN-L(?:01|X3)(?:[);/ ]|$)' 7897 model: 'Y7 (2018)' 7898 - regex: '(?:HUAWEI[ _]?)?DUB-(?:LX[13]|TL00)(?:[);/ ]|$)' 7899 model: 'Y7 (2019)' 7900 - regex: '(LDN-(?:AL00|L21)|TRT-TL10)(?:[);/ ]|$)' 7901 model: 'Y7 Prime' 7902 - regex: '(LDN-(?:LX2|TL10)|TRT-(?:L21A|L53))(?:[);/ ]|$)' 7903 model: 'Y7 Prime (2018)' 7904 - regex: 'DUB-(?:LX2|AL00)(?:[);/ ]|$)' 7905 model: 'Y7 Pro (2019)' 7906 - regex: 'DUB-AL00a(?:[);/ ]|$)' 7907 model: 'Enjoy 9' 7908 - regex: 'DUB-AL20(?:[);/ ]|$)' 7909 model: 'Y7 Pro (2019)' 7910 - regex: 'PPA-LX3(?:[);/ ]|$)' 7911 model: 'Y7a' 7912 - regex: 'ART-L28(?:[);/ ]|$)' 7913 model: 'Y7p' 7914 - regex: 'AQM-LX1(?:[);/ ]|$)' 7915 model: 'Y8p' 7916 - regex: 'FLA-(LX[123]|AL20|TL10)(?:[);/ ]|$)' 7917 model: 'Y9 (2018)' 7918 - regex: 'JKM-(?:[TA]L00[ab]?|LX[123])(?:[);/ ]|$)' 7919 model: 'Y9 (2019)' 7920 - regex: 'STK-(L2[12]|LX3)(?:[);/ ]|$)' 7921 model: 'Y9 Prime (2019)' 7922 - regex: 'FRL-L2[23](?:[);/ ]|$)' 7923 model: 'Y9a' 7924 - regex: '302HW(?:[);/ ]|$)' 7925 model: 'Stream S' 7926 - regex: 'NMO-L31(?:[);/ ]|$)' 7927 model: 'GT3' 7928 - regex: 'Nexus 6P(?:[);/ ]|$)' 7929 device: 'phablet' 7930 model: 'Nexus 6P' 7931 7932 - regex: 'HWT31(?:[);/ ]|$)' 7933 model: 'Qua Tab 02 10.1"' 7934 device: 'tablet' 7935 - regex: 'HDN-[LW]09(?:[);/ ]|$)' 7936 model: 'Honor Water Play 10.1' 7937 device: 'tablet' 7938 - regex: 'BAH3-(?:AL00|[LW]09)(?:[);/ ]|$)' 7939 model: 'MatePad 10.4"' 7940 device: 'tablet' 7941 - regex: 'BAH3-W59(?:[);/ ]|$)' 7942 model: 'MatePad 10.4" WiFi' 7943 device: 'tablet' 7944 - regex: 'BAH3-AN10(?:[);/ ]|$)' 7945 model: 'MatePad 10.4" 5G' 7946 device: 'tablet' 7947 - regex: 'BAH3-AN10(?:[);/ ]|$)' 7948 model: 'MatePad 10.4" 5G' 7949 device: 'tablet' 7950 - regex: 'DBY-W09(?:[);/ ]|$)' 7951 model: 'MatePad 11 WiFi' 7952 device: 'tablet' 7953 - regex: 'AGS3-(L09|AL00)(?:[);/ ]|$)' 7954 model: 'MatePad T10s' 7955 device: 'tablet' 7956 - regex: 'AGS3-W09(?:[);/ ]|$)' 7957 model: 'MatePad T10s WiFi' 7958 device: 'tablet' 7959 - regex: 'HDL-(?:W09|AL09)(?:[);/ ]|$)' 7960 model: 'Honor Water Play 8.0' 7961 device: 'tablet' 7962 - regex: 'JDN-(?:AL00|W09)(?:[);/ ]|$)' 7963 model: 'Honor Pad 2' 7964 device: 'tablet' 7965 - regex: 'KRJ-W09(?:[);/ ]|$)' 7966 model: 'Honor Pad V6' 7967 device: 'tablet' 7968 - regex: 'AGR-W09HN(?:[);/ ]|$)' 7969 device: 'tablet' 7970 model: 'Honor Pad X6' 7971 - regex: 'AGS3-AL09HN(?:[);/ ]|$)' 7972 device: 'tablet' 7973 model: 'Honor Pad 6 10.1"' 7974 - regex: 'AGS3-W09HN(?:[);/ ]|$)' 7975 device: 'tablet' 7976 model: 'Honor Pad 6 10.1" WiFi' 7977 - regex: 'MON-(W|AL)19(?:[);/ ]|$)' 7978 device: 'tablet' 7979 model: 'MatePad C5 8' 7980 - regex: 'BZA-W00(?:[);/ ]|$)' 7981 device: 'tablet' 7982 model: 'C3 9.6' 7983 - regex: 'BZC-AL00(?:[);/ ]|$)' 7984 device: 'tablet' 7985 model: 'C3 9.7" (2020)' 7986 - regex: 'BZC-W00(?:[);/ ]|$)' 7987 device: 'tablet' 7988 model: 'C3 9.7" (2020) WiFi' 7989 - regex: 'M2-801L(?:[);/ ]|$)' 7990 device: 'tablet' 7991 model: 'MediaPad M2 8.0"' 7992 - regex: 'MRX-(AL09|W09|W29)(?:[);/ ]|$)' 7993 device: 'tablet' 7994 model: 'MatePad Pro' 7995 - regex: 'CMR-(?:AL[01]9|W09)(?:[);/ ]|$)' 7996 device: 'tablet' 7997 model: 'MediaPad M5 10.8' 7998 - regex: 'CMR-W19(?:[);/ ]|$)' 7999 device: 'tablet' 8000 model: 'MediaPad M5 Pro 10.8' 8001 - regex: 'SCM-AL09(?:[);/ ]|$)' 8002 device: 'tablet' 8003 model: 'MediaPad M5 Pro' 8004 - regex: 'GEM-70[1-3]L(?:[);/ ]|$)' 8005 device: 'tablet' 8006 model: 'MediaPad X2' 8007 - regex: '(?:JDN2-(:?[WL]09|AL[50]0)|BAH2-(?:AL[01]0|L09|W[01]9))(?:[);/ ]|$)' 8008 device: 'tablet' 8009 model: 'MediaPad M5 Lite' #8.4 8010 - regex: 'SHT-(?:AL|W)09(?:[);/ ]|$)' 8011 device: 'tablet' 8012 model: 'MediaPad M5 8.4' 8013 - regex: 'VRD-(?:(AL|W)09|AL10|W10)(?:[);/ ]|$)' 8014 device: 'tablet' 8015 model: 'MediaPad M6 8.4' 8016 - regex: 'SCM-W09(?:[);/ ]|$)' 8017 device: 'tablet' 8018 model: 'MediaPad M6 10' 8019 - regex: 'BTV-W09(?:[);/ ]|$)' 8020 device: 'tablet' 8021 model: 'MediaPad M3 8' 8022 - regex: '(BAH-W09|CPN-(?:L|W)09|CPN-AL00|701HW)(?:[);/ ]|$)' 8023 device: 'tablet' 8024 model: 'MediaPad M3 Lite' 8025 - regex: 'BAH-(?:L09|AL00)(?:[);/ ]|$)' 8026 device: 'tablet' 8027 model: 'MediaPad M3 Lite 10' 8028 - regex: 'BTV-DL09' 8029 device: 'tablet' 8030 model: 'MediaPad M3' 8031 - regex: '(AGS2-AL00|JDN2-W09)HN(?:[);/ ]|$)' 8032 device: 'tablet' 8033 model: 'Honor Tab 5' 8034 - regex: 'AGS2-(?:[LW]09|W09HN|W19|L03)(?:[);/ ]|$)' 8035 device: 'tablet' 8036 model: 'MediaPad T5 10' 8037 - regex: 'KOB2-[LW]09(?:[);/ ]|$)' 8038 device: 'tablet' 8039 model: 'MediaPad T 8.0"' 8040 - regex: 'AGR-[LW]09(?:[);/ ]|$)' 8041 device: 'tablet' 8042 model: 'MediaPad T 10' 8043 - regex: 'AGS-(?:L0[39]|W09)(?:[);/ ]|$)' 8044 device: 'tablet' 8045 model: 'MediaPad T3 10' 8046 - regex: '(KOB-(?:L|W)09|BZK-[LW]00)(?:[);/ ]|$)' 8047 device: 'tablet' 8048 model: 'MediaPad T3 8' 8049 - regex: 'BG2-(?:U0[13]|W09)(?:[);/ ]|$)' 8050 device: 'tablet' 8051 model: 'MediaPad T3 7' 8052 - regex: 'BGO-L03(?:[);/ ]|$)' 8053 device: 'tablet' 8054 model: 'MediaPad T2 7.0' 8055 - regex: '(?:BGO-DL09|PLE-70[13]L)(?:[);/ ]|$)' 8056 device: 'tablet' 8057 model: 'MediaPad T2 7.0 Pro' 8058 - regex: 'JDN-L01(?:[);/ ]|$)' 8059 device: 'tablet' 8060 model: 'MediaPad T2 8.0 Pro' 8061 - regex: '(?:FDR-(A01[LW]|A03L)|605HW)(?:[);/ ]|$)' 8062 device: 'tablet' 8063 model: 'MediaPad T2 10.0" Pro' 8064 - regex: 'T1-(?:A21[LW]|A23L)(?:[);/ ]|$)' 8065 device: 'tablet' 8066 model: 'MediaPad T1 10' 8067 - regex: 'T1-701u(?:[);/ ]|$)' 8068 device: 'tablet' 8069 model: 'MediaPad T1 7' 8070 - regex: '(?:T1-82(?:3L|1W)|MediaPad T1 8.0)(?:[);/ ]|$)' 8071 device: 'tablet' 8072 model: 'MediaPad T1 8' 8073 - regex: 'AGS2-AL00(?:[);/ ]|$)' 8074 device: 'tablet' 8075 model: 'Enjoy Tablet 10.1' 8076 - regex: 'AGS3-W00[DE](?:[);/ ]|$)' 8077 device: 'tablet' 8078 model: 'Enjoy Tablet 2 10.1" WiFi' 8079 - regex: 'BZT-(W09|AL[01]0)(?:[);/ ]|$)' 8080 device: 'tablet' 8081 model: 'MediaPad C5 10.1' 8082 - regex: '(?:d-01J|d-02[HK])(?:[);/ ]|$)' 8083 device: 'tablet' 8084 model: 'D Tab Compact' 8085 - regex: '(d-01K)(?:[);/ ]|$)' 8086 device: 'tablet' 8087 model: 'dtab d-01K' 8088 8089 8090 # smart watch regex 8091 - regex: 'LEO-BX9(?:[);/ ]|$)' 8092 device: 'wearable' 8093 model: 'Smart Watch 2' 8094 8095 # common regex 8096 - regex: '(MediaPad[^/;]*) Build' 8097 device: 'tablet' 8098 model: '$1' 8099 - regex: 'Ideos([^;/]*) Build' 8100 model: 'Ideos$1' 8101 - regex: '(?:HUAWEI )?MT([0-9]+)' 8102 device: 'phablet' 8103 model: 'Ascend Mate $1' 8104 - regex: 'Huawei[ _\-]?([^/;]*) Build' 8105 model: '$1' 8106 - regex: '(?:HW-)?Huawei(?!Browser)(?:/1\.0/0?(?:Huawei))?[_\- /]?([a-z0-9\-_]+)' 8107 model: '$1' 8108 - regex: 'Huawei; ([a-z0-9 \-]+)' 8109 model: '$1' 8110 8111# Hyundai 8112Hyundai: 8113 regex: 'Hyundai|Ultra (?:Active|Air|Charm|Dream|Energy|Latitude|Link|Live|Shadow|Shine|Storm|Style|Sync|Trend|Vision|Wave)|Ultra_Vision_Plus|G(24027|2552[34])K|W25042L|HP554O|Seoul S8|L503F Plus|HT0701L16|HT0704K08|HT1004L16|HT1004LI16|Koral_8W2|Eternity[_ ]G25|HYMI 5S Plus' 8114 device: 'smartphone' 8115 models: 8116 - regex: 'Ultra[_ ]Vision[_ ]Plus' 8117 model: 'Ultra Vision Plus' 8118 - regex: 'Ultra (Active|Air|Charm|Dream|Energy Lite|Energy Plus|Energy|Latitude|Link|Live II|Live|Shadow|Shine|Storm|Style|Sync|Trend|Vision|Wave)' 8119 model: 'Ultra $1' 8120 - regex: 'Seoul S8' 8121 model: 'Seoul S8' 8122 - regex: 'G25523K' 8123 model: 'Eternity G23' 8124 - regex: 'Eternity[_ ]G25' 8125 model: 'Eternity G25' 8126 - regex: 'G25524K' 8127 model: 'Eternity G24' 8128 - regex: 'G24027K' 8129 model: 'Eternity G27' 8130 - regex: 'W25042L' 8131 model: 'Eternity W42' 8132 - regex: 'HP554O' 8133 model: 'HP554O' 8134 - regex: 'L503F Plus' 8135 model: 'L503F Plus' 8136 - regex: 'HYMI 5S Plus' 8137 model: 'Hymi 5S Plus' 8138 - regex: '(?:Hyundai_)?(Eternity_(?:G57L?|G60))' 8139 model: '$1' 8140 8141 # explicit tables models 8142 - regex: 'HT0701L16' 8143 model: 'Koral 7XL' 8144 device: 'tablet' 8145 - regex: 'HT1004LI16' 8146 model: 'Koral 10XL' 8147 device: 'tablet' 8148 - regex: 'Koral_8W2' 8149 model: 'Koral 8W2' 8150 device: 'tablet' 8151 - regex: 'HT1004L16' 8152 model: 'Koral 10XL' 8153 device: 'tablet' 8154 - regex: 'HT0704K08' 8155 model: 'Koral 7M4' 8156 device: 'tablet' 8157 - regex: 'Hyundai ([^;/]+) Build' 8158 model: '$1' 8159 device: 'tablet' 8160 - regex: 'Hyundai[ _\-]?([a-z0-9_-]+)' 8161 model: '$1' 8162 device: 'tablet' 8163 8164#i-Joy 8165'i-Joy': 8166 regex: 'i-Joy|i-Call|(?:Neon[79]|Sygnus|Deox|Elektra (?:M|L|XL|XXL))(?:[);/ ]|$)' 8167 device: 'smartphone' 8168 models: 8169 # explicit smartphone models 8170 - regex: 'Elektra M(?:[);/ ]|$)' 8171 model: 'Elektra M' 8172 - regex: 'Elektra L(?:[);/ ]|$)' 8173 model: 'Elektra L' 8174 - regex: 'Elektra XL(?:[);/ ]|$)' 8175 model: 'Elektra XL' 8176 - regex: 'Elektra XXL(?:[);/ ]|$)' 8177 model: 'Elektra XXL' 8178 device: 'phablet' 8179 8180 # explicit tablet models 8181 - regex: 'Neon([79])(?:[);/ ]|$)' 8182 model: 'Neon $1' 8183 device: 'tablet' 8184 - regex: 'Sygnus(?:[);/ ]|$)' 8185 model: 'Sygnus' 8186 device: 'tablet' 8187 - regex: 'Deox(?:[);/ ]|$)' 8188 model: 'Deox' 8189 device: 'tablet' 8190 8191 - regex: 'i-Call ([^;/]+) Build' 8192 model: 'i-Call $1' 8193 - regex: 'i-Joy ([^;/]+) Build' 8194 model: '$1' 8195 8196# iBall (iball.co.in) 8197iBall: 8198 regex: 'iBall[ _]([^;/)]+)[ _]Build|iBall_Slide|(?:Snap[_ ]4G2|6351-Q400i|iT-KSA0003|iT-KSA0012|iT-KSA0066|Avid|Twinkle_i5|Gorgeo[_ ]4GL|Brisk 4G2|Blaze_V4|Wondro 10|Q27 4G|Andi (?:Wink|5G Blink) 4G|Co-Mate)(?:[);/ ]|$)' 8199 device: 'tablet' 8200 models: 8201 - regex: 'Andi Wink 4G' 8202 device: 'smartphone' 8203 model: 'Andi Wink 4G' 8204 - regex: 'Andi 5G Blink 4G' 8205 device: 'smartphone' 8206 model: 'Andi 5G Blink 4G' 8207 - regex: '(Snap[_ ]4G2|Avid|Twinkle_i5|Gorgeo[_ ]4GL|Blaze_V4|Wondro 10|Q27 4G|Brisk 4G2|Co-Mate)(?:[);/ ]|$)' 8208 model: '$1' 8209 - regex: '6351-Q400i(?:[);/ ]|$)' 8210 model: 'Slide' 8211 - regex: 'iT-KSA0003(?:[);/ ]|$)' 8212 model: 'iTAB BizniZ' 8213 - regex: 'iT-KSA0066(?:[);/ ]|$)' 8214 model: 'iTAB BizniZ Mini' 8215 - regex: 'iT-KSA0012(?:[);/ ]|$)' 8216 model: 'iTAB Moviez Pro' 8217 - regex: 'iBall[ _]([^;/)]+)(?:[ _]Build|\))' 8218 model: '$1' 8219 8220# iRola 8221iRola: 8222 regex: 'iRola ([^/;]+) Build|(DX758|DX752|DX752|DX758[ _]?Pro) Build' 8223 device: 'tablet' 8224 models: 8225 - regex: 'DX758[ _]?Pro' 8226 model: 'DX758 Pro' 8227 - regex: '(DX758|DX752)' 8228 model: '$1' 8229 - regex: 'iRola ([^/;]+) Build' 8230 model: '$1' 8231 8232# iRulu 8233iRulu: 8234 regex: 'iRULU[ _-](X11|V[34]|U2|AL101)(?:[);/ ]|$)' 8235 device: 'tablet' 8236 models: 8237 - regex: 'iRULU[ _-](X11|V[34]|AL101)(?:[);/ ]|$)' 8238 model: '$1' 8239 - regex: 'iRULU[ _](U2)(?:[);/ ]|$)' 8240 device: 'smartphone' 8241 model: '$1' 8242 8243# Irbis 8244Irbis: 8245 regex: 'IRBIS|TZ(1(?:0[04]|42|5[01]|84|65|7[01345-89]|8[356]|9[12578])|200|49|55|72|22|7(?:0[127]|1[1-4679]|2[021567]|3[025-8]|4[257]|5[23457]|6[12]|72|7[17]|8[1]|9[147])|8(?:[34]1|5[3-8]|6[2-5]|7[12478]|8[1-5]|9[0127])|96[0-9])|TZ85|TZ13|TZ(?:one|art|HIT|81L)|(SP(?:0[56]|2[01]|4[1-36]|40[12]|45[345]|49[34]|50|51[0147]|531|54[12]|55[0124]|571))(?:[);/ ]|$)' 8246 device: 'tablet' 8247 models: 8248 - regex: '(TZ(?:[0-9]+)|TZ(?:one|art|HIT|81L))(?:[);/ ]|$)' 8249 model: '$1' 8250 - regex: '(SP[0-9]+)(?:[);/ ]|$)' 8251 device: 'smartphone' 8252 model: '$1' 8253 8254iBerry: 8255 regex: 'AUXUS ([^/;]+) Build' 8256 device: 'smartphone' 8257 models: 8258 - regex: 'AUXUS (Core[^/;]+) Build' 8259 device: 'tablet' 8260 model: '$1' 8261 - regex: 'AUXUS ([^/;]+) Build' 8262 model: '$1' 8263 8264# iHunt 8265iHunt: 8266 regex: 'iHunt|One_ Love_|TITAN_P11000_PRO|Like_(3|4U|3_Pro)|X300 Elite|S10_Tank_2019|S60_Discovery_2019|AlienXLite2020|Alien X Lite|Alien_X|S[23]0 Ultra ApeX 2021|S21 Ultra 4G 2021|Like 11 Panda Pro' 8267 device: 'smartphone' 8268 models: 8269 - regex: 'iHunt_Like' 8270 model: 'Like' 8271 - regex: 'S10_Tank_2019' 8272 model: 'S10 Tank (2019)' 8273 - regex: 'One_ Love_' 8274 model: 'One Love' 8275 - regex: 'TITAN_P11000_PRO' 8276 model: 'Titan P11000 Pro' 8277 - regex: 'Like_3_Pro' 8278 model: 'Like 3 Pro' 8279 - regex: 'Like_3' 8280 model: 'Like 3' 8281 - regex: 'Like_4U' 8282 model: 'Like 4U' 8283 - regex: 'X300 Elite' 8284 model: 'X300 Elite' 8285 - regex: 'S60_Discovery_2019' 8286 model: 'S60 Discovery (2019)' 8287 - regex: 'AlienXLite2020' 8288 model: 'Alien X Lite (2020)' 8289 - regex: 'Alien X Lite PRO' 8290 model: 'Alien X Lite Pro' 8291 - regex: 'Alien X Lite' 8292 model: 'Alien X Lite' 8293 - regex: 'Alien_X_ApeX' 8294 model: 'Alien X ApeX' 8295 - regex: 'Alien_X' 8296 model: 'Alien X' 8297 - regex: 'S([23]0) Ultra ApeX 2021' 8298 model: 'S$1 Ultra ApeX (2021)' 8299 - regex: 'S21 Ultra 4G 2021' 8300 model: 'S21 Ultra 4G (2021)' 8301 - regex: 'Like 11 Panda Pro 2022' 8302 model: 'Like 11 Panda Pro (2022)' 8303 8304# IconBIT 8305IconBIT: 8306 regex: 'IconBIT|NT-(3506M|0704S|0909T|1009T|10[01]1T|1017T|3601P/3602P|3603P|3702S|3805C|3905T|3701S|0701S|0805C|0902S|370[23]M)|XDS[789]4K|Omnicast UHD|Movie Smart 4K|Movie IPTV Quad|TOUCAN (?:NANO|Stick) 4K|NetTAB_Space_3G' 8307 device: 'tablet' 8308 models: 8309 - regex: 'NT-3506M' 8310 device: 'smartphone' 8311 model: 'NetTAB Mercury Quad FHD' 8312 - regex: 'NT-0704S' 8313 model: 'NetTAB Sky LE' 8314 - regex: 'NT-0909T' 8315 model: 'NetTAB Thor IZ' 8316 - regex: 'NT-1009T' 8317 model: 'NetTAB Thor quad II' 8318 - regex: 'NT-10[01]1T' 8319 model: 'NetTAB Thor LE' 8320 - regex: 'NT-1017T' 8321 model: 'NetTAB Thor 3G quad' 8322 - regex: 'NT-3601P/3602P' 8323 model: 'NetTAB Pocket 3G' 8324 - regex: 'NT-3603P' 8325 model: 'NetTAB Pocket 3G Slim' 8326 - regex: 'NT-3702S' 8327 model: 'NetTAB Sky HD 3G' 8328 - regex: 'NT-3805C' 8329 model: 'NetTAB Skat 3G quad' 8330 - regex: 'NT-3701S' 8331 model: 'NetTAB Sky 3G duo' 8332 - regex: 'NT-3905T' 8333 model: 'NetTAB Thor ZX 3G' 8334 - regex: 'NT-0701S' 8335 model: 'NetTAB Sky net' 8336 - regex: 'NT-0805C' 8337 model: 'NetTAB Skat MX' 8338 - regex: 'NT-0902S' 8339 model: 'NetTAB Space quad RX' 8340 - regex: 'NetTAB_Space_3G' 8341 model: 'NetTAB Space 3G' 8342 - regex: 'NT-3702M' 8343 model: 'NetTAB Matrix 3G duo' 8344 - regex: 'NT-3703M' 8345 model: 'NetTAB Matrix 3GT' 8346 - regex: 'MATRIX ULTRA' 8347 model: 'NetTAB Matrix Ultra' 8348 8349 - regex: 'TOUCAN NANO 4K' 8350 model: 'Toucan Nano 4K' 8351 device: 'tv' 8352 - regex: 'TOUCAN Stick 4K' 8353 model: 'Toucan Stick 4K' 8354 device: 'tv' 8355 - regex: '(?:iconBIT )?(Movie Smart 4K|Movie IPTV Quad|Movie Ultra HD 4K|XDS[789]4K|Omnicast UHD|Stick)' 8356 model: '$1' 8357 device: 'tv' 8358 8359# LYF 8360LYF: 8361 regex: '(LYF[ _])?LS-[456][0-9]{3}|LYF/[^/]+/' 8362 device: 'smartphone' 8363 models: 8364 - regex: 'LS-4004' 8365 model: 'Flame 2' 8366 - regex: 'LS-5501' 8367 model: 'Earth 1' 8368 - regex: 'LS-5021' 8369 model: 'Earth 2' 8370 - regex: 'LS-5505' 8371 model: 'Water F1' 8372 - regex: 'LS-4503' 8373 model: 'Flame LS-4503' 8374 - regex: 'LS-4001' 8375 model: 'Flame 3' 8376 - regex: 'LS-4003' 8377 model: 'Flame 4' 8378 - regex: 'LS-4002' 8379 model: 'Flame 5' 8380 - regex: 'LS-4005' 8381 model: 'Flame 6' 8382 - regex: '(LYF[ _])?LS-4006' 8383 model: 'Flame 7' 8384 - regex: 'LS-4008' 8385 model: 'Flame 7S' 8386 - regex: 'LS-450[58]' 8387 model: 'Flame 8' 8388 - regex: 'LS-5002' 8389 model: 'Water 1' 8390 - regex: 'LS-5005' 8391 model: 'Water 4' 8392 - regex: 'LS-5006' 8393 model: 'Water 6' 8394 - regex: 'LS-5008' 8395 model: 'Water 2' 8396 - regex: 'LS-5009' 8397 model: 'Wind 6' 8398 - regex: 'LS-5013' 8399 model: 'Wind 5' 8400 - regex: 'LS-5014' 8401 model: 'Wind 4' 8402 - regex: 'LS-5010' 8403 model: 'Wind 1' 8404 - regex: 'LS-5015' 8405 model: 'Water 8' 8406 - regex: 'LS-5016' 8407 model: 'Wind 7' 8408 - regex: 'LS-5504' 8409 model: 'Water 7' 8410 - regex: 'LS-5507' 8411 model: 'Water 7S' 8412 - regex: 'LS-5017' 8413 model: 'Water 11' 8414 - regex: 'LS-5018' 8415 model: 'Wind 4S' 8416 - regex: 'LS-5020' 8417 model: 'Water 10' 8418 - regex: 'LS-5201' 8419 model: 'Water F1S' 8420 - regex: 'LS-5502' 8421 model: 'Wind 3' 8422 - regex: 'LS-5503' 8423 model: 'Water 3' 8424 - regex: 'LS-5506' 8425 model: 'Water 9' 8426 - regex: 'LS-6001' 8427 model: 'Wind 2' 8428 8429 - regex: 'LYF/([^/]+)/' 8430 model: '$1' 8431 8432# Lumus 8433Lumus: 8434 regex: '(?:NEO(SR620|SC600)|INNOSR545|Lumus[_ ]Ion|AEONSR570)(?:[);/ ]|$)' 8435 device: 'smartphone' 8436 models: 8437 # explicit smartphone models 8438 - regex: 'NEO(SR620|SC600)(?:[);/ ]|$)' 8439 model: 'Neo $1' 8440 - regex: 'INNO(SR545)(?:[);/ ]|$)' 8441 model: 'INNO $1' 8442 - regex: 'Lumus[_ ]Ion(?:[);/ ]|$)' 8443 model: 'Ion' 8444 - regex: 'AEON(SR570)(?:[);/ ]|$)' 8445 model: 'AEON $1' 8446# M4tel 8447M4tel: 8448 regex: '(?:M4 SS[0-9]{4}(?:-R)?|M4_B[23]|M4_R2)(?:[);/ ]|$)' 8449 device: 'smartphone' 8450 models: 8451 - regex: 'SS1050' 8452 model: 'Joy' 8453 - regex: 'SS1060' 8454 model: 'Live' 8455 - regex: 'SS1070' 8456 model: 'Sense' 8457 - regex: 'SS1080' 8458 model: 'Max One' 8459 - regex: 'SS1090' 8460 model: 'Max Ultra' 8461 - regex: 'SS4020' 8462 model: 'Play' 8463 - regex: 'SS4040' 8464 model: 'In Touch' 8465 - regex: 'SS4045' 8466 model: 'Style' 8467 - regex: 'SS4345' 8468 model: 'Soul Mini' 8469 - regex: 'SS4350' 8470 model: 'Soul' 8471 - regex: 'SS4445' 8472 model: 'Style Access' 8473 - regex: 'SS4450' 8474 model: 'Share' 8475 - regex: 'SS4451' 8476 model: 'Believe' 8477 - regex: 'SS4452' 8478 model: 'Dream' 8479 - regex: 'SS4453-R' 8480 model: 'R1 Feel' 8481 - regex: 'SS4453' 8482 model: 'Inspiration' 8483 - regex: 'SS4455' 8484 model: 'Excite' 8485 - regex: 'SS4456' 8486 model: 'Evolution' 8487 - regex: 'SS4457-R' 8488 model: 'Ever' 8489 - regex: 'SS4457' 8490 model: 'Elegance' 8491 - regex: 'SS4458-R' 8492 model: 'Feel Plus' 8493 - regex: 'SS4458' 8494 model: 'Attitude' 8495 - regex: 'M4_B([23])' 8496 model: 'B$1' 8497 - regex: 'M4_R(2)' 8498 model: 'R$1' 8499 8500# IMO Mobile or In My Opinion Mobile 8501IMO Mobile: 8502 regex: 'IMO[ _]\w' 8503 device: 'smartphone' 8504 models: 8505 - regex: 'IMO[ _]Q([23]) Plus(?:[);/ ]|$)' 8506 model: 'Q$1 Plus' 8507 - regex: 'IMO[ _]Q2(?:[);/ ]|$)' 8508 model: 'Q2' 8509 - regex: 'IMO[ _]S2(?:[);/ ]|$)' 8510 model: 'S2' 8511 - regex: 'IMO[ _]FEEL A2(?:[);/ ]|$)' 8512 model: 'Feel A2' 8513 - regex: 'IMO[ _]S50(?:[);/ ]|$)' 8514 model: 'S50 Light' 8515 - regex: 'IMO[ _]S80(?:[);/ ]|$)' 8516 model: 'S80 Hero' 8517 - regex: 'IMO[ _]S89(?:[);/ ]|$)' 8518 model: 'S89 Miracle' 8519 - regex: 'IMO[ _]S88(?:[);/ ]|$)' 8520 model: 'S88 Discovery' 8521 - regex: 'IMO[ _]S99(?:[);/ ]|$)' 8522 model: 'S99 Ocean' 8523 - regex: 'IMO[ _]S98(?:[);/ ]|$)' 8524 model: 'S98 Champion' 8525 - regex: 'IMO[ _]S87(?:[);/ ]|$)' 8526 model: 'S87 Raptor' 8527 - regex: 'IMO[ _]S67(?:[);/ ]|$)' 8528 model: 'S67 Blast' 8529 - regex: 'IMO[ _]S78(?:[);/ ]|$)' 8530 model: 'S78 Glory' 8531 - regex: 'IMO[ _]Q8(?:[);/ ]|$)' 8532 model: 'Q8 Clarity' 8533 - regex: 'IMO[ _]Discovery II(?:[);/ ]|$)' 8534 model: 'Discovery II' 8535 - regex: 'IMO[ _]Q(?:[);/ ]|$)' 8536 model: 'Q' 8537 8538 - regex: 'IMO[ _](Y5|Z[67])(?:[);/ ]|$)' 8539 model: 'Tab $1' 8540 device: 'tablet' 8541 - regex: 'IMO TAB X9(?:[);/ ]|$)' 8542 model: 'Tab X9' 8543 device: 'tablet' 8544 8545# iLA or ILA Mobile 8546iLA: 8547 regex: 'iLA[-_ ](Silk|X)(?:[);/ ]|$)' 8548 device: 'smartphone' 8549 model: '$1' 8550 8551# iNew 8552iNew: 8553 regex: 'iNew|(?:V7A|V3 Plus|V3-?E|V3C|FIRE_Tab_6)(?:[);/ ]|$)' 8554 device: 'smartphone' 8555 models: 8556 - regex: 'V3C(?:[);/ ]|$)' 8557 model: 'V3C' 8558 - regex: 'V3-?E(?:[);/ ]|$)' 8559 model: 'V3-E' 8560 - regex: 'V3 Plus(?:[);/ ]|$)' 8561 model: 'V3 Plus' 8562 - regex: 'V7A(?:[);/ ]|$)' 8563 model: 'V7A' 8564 - regex: 'FIRE_Tab_6(?:[);/ ]|$)' 8565 device: 'tablet' 8566 model: 'Fire Tab 6' 8567 8568 - regex: 'iNew[ -_]([^;/]+) Build' 8569 model: '$1' 8570 8571# iPro 8572iPro: 8573 regex: '(?:Kylin[ _]5.[05]S?|KYLIN40|Jade[78]s|Amber[67]S?|Amber5S_Pro|Phonenix50S|Zafiro|I9355A)(?:[);/ ]|$)' 8574 device: 'smartphone' 8575 models: 8576 - regex: 'Kylin_5.0S' 8577 model: 'Kylin 5.0S' 8578 - regex: 'Kylin (5.[05])' 8579 model: 'Kylin $1' 8580 - regex: 'KYLIN40' 8581 model: 'Kylin 40' 8582 - regex: 'Jade([78])s' 8583 model: 'Jade $1s' 8584 - regex: 'Amber7S' 8585 model: 'Amber 7S' 8586 - regex: 'Amber5S_Pro' 8587 model: 'Amber 5S Pro' 8588 - regex: 'Amber6' 8589 model: 'Amber 6' 8590 - regex: 'Phonenix50S' 8591 model: 'Phonenix 50S' 8592 - regex: 'Zafiro' 8593 model: 'Zafiro' 8594 - regex: '(I9355A)' 8595 model: '$1' 8596 8597# Infinix (infinixmobility.com) 8598Infinix: 8599 regex: 'Infinix' 8600 device: 'smartphone' 8601 models: 8602 - regex: 'Infinix[ _-]X260' 8603 model: 'Buzz' 8604 - regex: 'Infinix[ _-]X502' 8605 model: 'Alpha Marvel' 8606 - regex: 'Infinix[ _-]X570' 8607 model: 'Alpha' 8608 8609 - regex: 'Infinix[ _-]X350' 8610 model: 'Surf Smart' 8611 - regex: 'Infinix[ _-]X351' 8612 model: 'Surf Smart 3G' 8613 - regex: 'Infinix[ _-]X352' 8614 model: 'Surf Smart 2' 8615 - regex: 'Infinix[ _-]X403' 8616 model: 'Surf Spice' 8617 - regex: 'Infinix[ _-]X503' 8618 model: 'Surf Bravo' 8619 - regex: 'Infinix[ _-]X511' 8620 model: 'Surf Noir' 8621 8622 - regex: 'Infinix[ _-]X400' 8623 model: 'Race' 8624 - regex: 'Infinix[ _-]X401' 8625 model: 'Race Lite' 8626 - regex: 'Infinix[ _-]X450' 8627 model: 'Race Bolt' 8628 - regex: 'Infinix[ _-]X451' 8629 model: 'Race Bolt Q' 8630 - regex: 'Infinix[ _-]X454' 8631 model: 'Race Bolt 2' 8632 - regex: 'Infinix[ _-]X500' 8633 model: 'Race Eagle' 8634 - regex: 'Infinix[ _-]X501' 8635 model: 'Race Jet' 8636 8637 - regex: 'Infinix[ _-]X506' 8638 model: 'Zero' 8639 - regex: 'Infinix[ _-]X509' 8640 model: 'Zero 2' 8641 - regex: 'Infinix[ _-]X552' 8642 model: 'Zero 3' 8643 - regex: 'Infinix[ _-]X555' 8644 model: 'Zero 4' 8645 - regex: 'Infinix[ _-]X(?:574|602)' 8646 model: 'Zero 4 Plus' 8647 - regex: 'Infinix[ _-]X603' 8648 model: 'Zero 5' 8649 - regex: 'Infinix[ _-]X603B' 8650 model: 'Zero 5 Pro' 8651 - regex: 'Infinix[ _-]X620' 8652 model: 'Zero 6' 8653 - regex: 'Infinix[ _-]X687B' 8654 device: 'phablet' 8655 model: 'Zero 8i' 8656 - regex: 'Infinix[ _-]X687' 8657 device: 'phablet' 8658 model: 'Zero 8' 8659 8660 - regex: 'Infinix[ _-]X507' 8661 model: 'Hot' 8662 - regex: 'Infinix[ _-]X510' 8663 model: 'Hot 2' 8664 - regex: 'Infinix[ _-]X55[34]' 8665 model: 'Hot 3' 8666 - regex: 'Infinix[ _-]X521' 8667 model: 'Hot S' 8668 - regex: 'Infinix[ _-]X522' 8669 model: 'Hot S2' 8670 - regex: 'Infinix[ _-]X557' 8671 model: 'Hot 4' 8672 - regex: 'Infinix[ _-]X556' 8673 model: 'Hot 4 Pro' 8674 - regex: 'Infinix[ _-]X559c' 8675 model: 'Hot 5' 8676 - regex: 'Infinix[ _-]X559' 8677 model: 'Hot 5 Lite' 8678 - regex: 'Infinix[ _-]X606[BC]?' 8679 model: 'Hot 6' 8680 - regex: 'Infinix[ _-]X608' 8681 model: 'Hot 6 Pro' 8682 - regex: 'Infinix[ _-]X624' 8683 model: 'Hot 7' 8684 - regex: 'Infinix[ _-]X625' 8685 model: 'Hot 7 Pro' 8686 - regex: 'Infinix[ _-]X650' 8687 model: 'Hot 8' 8688 - regex: 'Infinix[ _-]X655' 8689 model: 'Hot 9' 8690 - regex: 'Infinix[ _-]X680' 8691 model: 'Hot 9 Play' 8692 - regex: 'Infinix[ _-]X688' 8693 model: 'Hot 10 Play' 8694 - regex: 'Infinix[ _-]X682[BC]' 8695 model: 'Hot 10' 8696 - regex: 'Infinix[ _-]X689C' 8697 model: 'Hot 10T' 8698 - regex: 'Infinix X689D' 8699 model: 'Hot 10s NFC' 8700 - regex: 'Infinix X689' 8701 model: 'Hot 10s' 8702 - regex: 'Infinix[ _-](?:X659|PR652)' 8703 model: 'Hot 10i' 8704 - regex: 'Infinix[ _-]X573B?' 8705 model: 'Hot S3' 8706 - regex: 'Infinix[ _-]X6812' 8707 model: 'Hot 11S' 8708 8709 - regex: 'Infinix[ _-]X612' 8710 model: 'Smart HD (2021)' 8711 - regex: 'Infinix[ _-]X5010' 8712 model: 'Smart' 8713 - regex: 'Infinix[ _-]X5515F' 8714 model: 'Smart 2' 8715 - regex: 'Infinix[ _-]X609' 8716 model: 'Smart 2 HD' 8717 - regex: 'Infinix[ _-]X627' 8718 model: 'Smart 3 Plus' 8719 - regex: 'Infinix[ _-]X5514D' 8720 model: 'Smart 2 Pro' 8721 - regex: 'Infinix[ _-]X653' 8722 model: 'Smart 4' 8723 - regex: 'Infinix[ _-]X657' 8724 model: 'Smart 5' 8725 8726 - regex: 'Infinix[ _-]X652B' 8727 model: 'S5 Lite' 8728 - regex: 'Infinix[ _-]X626' 8729 model: 'S4' 8730 - regex: 'Infinix[ _-]X652' 8731 model: 'S5' 8732 - regex: 'Infinix[ _-]X660' 8733 model: 'S5 Pro' 8734 8735 - regex: 'Infinix[ _-]X551' 8736 model: 'Hot Note' 8737 device: 'phablet' 8738 - regex: 'Infinix[ _-]X600' 8739 model: 'Note 2' 8740 device: 'phablet' 8741 - regex: 'Infinix[ _-]X601' 8742 model: 'Note 3' 8743 device: 'phablet' 8744 - regex: 'Infinix[ _-]X572' 8745 model: 'Note 4' 8746 device: 'phablet' 8747 - regex: 'Infinix[ _-]X571' 8748 model: 'Note 4 Pro' 8749 device: 'phablet' 8750 - regex: 'Infinix[ _-]X604' 8751 model: 'Note 5' 8752 device: 'phablet' 8753 - regex: 'Infinix[ _-]X610' 8754 model: 'Note 6' 8755 device: 'phablet' 8756 - regex: 'Infinix[ _-]X690' 8757 model: 'Note 7' 8758 device: 'phablet' 8759 - regex: 'Infinix[ _-]X656' 8760 model: 'Note 7 Lite' 8761 device: 'phablet' 8762 - regex: 'Infinix[ _-]X692' 8763 model: 'Note 8' 8764 device: 'phablet' 8765 - regex: 'Infinix[ _-]X683' 8766 model: 'Note 8i' 8767 device: 'phablet' 8768 - regex: 'Infinix[ _-]X695' 8769 model: 'Note 10 Pro' 8770 device: 'phablet' 8771 - regex: 'Infinix[ _-]X693' 8772 model: 'Note 10' 8773 device: 'phablet' 8774 8775 - regex: 'Infinix HOT ([a-z]?[1-6])( (?:Lite|Plus|Pro))?' 8776 model: 'Hot $1$2' 8777 - regex: 'Infinix[ _-](X[78]00)' 8778 device: 'tablet' 8779 model: '$1' 8780 - regex: 'Infinix[ _-](X\d+)' 8781 model: '$1' 8782 - regex: 'Infinix[ _-]([a-z0-9_\-]+)' 8783 model: '$1' 8784 8785# InFocus 8786InFocus: 8787 regex: 'IF(900[1237]|902[19]|903[15])(?:[);/ ]|$)' 8788 device: 'smartphone' 8789 models: 8790 - regex: 'IF9001' 8791 model: 'Turbo 5' 8792 - regex: 'IF9007' 8793 model: 'A3' 8794 - regex: 'IF9021' 8795 model: 'Turbo 5 Plus' 8796 - regex: 'IF9035' 8797 model: 'A2' 8798 - regex: 'IF9002' 8799 model: 'M5s' 8800 - regex: 'IF9003' 8801 model: 'M6s' 8802 - regex: 'IF9031' 8803 model: 'Vision 3' 8804 - regex: 'IF9029' 8805 model: 'Vision 3 Pro' 8806 8807# InnJoo 8808InnJoo: 8809 regex: 'InnJoo|(?:Halo Plus|Halo X|Halo[ _]4(?:[ _]mini[ _]LTE)?|Halo2 3G|Fire2 Plus LTE)(?:[);/ ]|$)' 8810 device: 'smartphone' 8811 models: 8812 - regex: 'InnJoo[ _]X3(?:[);/ ]|$)' 8813 model: 'X3' 8814 - regex: 'Halo[ _]X[ _]LTE(?:[);/ ]|$)' 8815 model: 'Halo X LTE' 8816 - regex: 'InnJoo[ _]X(?:[);/ ]|$)' 8817 model: 'X' 8818 - regex: 'Halo Plus(?:[);/ ]|$)' 8819 model: 'Halo Plus' 8820 - regex: 'Halo[ _]4[ _]mini[ _]LTE(?:[);/ ]|$)' 8821 model: 'Halo 4 Mini LTE' 8822 - regex: 'Halo 4(?:[);/ ]|$)' 8823 model: 'Halo 4' 8824 - regex: 'Halo2 3G(?:[);/ ]|$)' 8825 model: 'Halo 2 3G' 8826 - regex: 'InnJoo[ _]Pro2(?:[);/ ]|$)' 8827 model: 'Pro 2' 8828 - regex: 'Innjoo ONE 3G(?:[);/ ]|$)' 8829 model: 'One 3G' 8830 - regex: 'Innjoo[ _]2[ _]LTE(?:[);/ ]|$)' 8831 model: '2 LTE' 8832 - regex: 'InnJoo[ _]([2-4])' 8833 model: '$1' 8834 - regex: 'Fire2 Plus LTE' 8835 model: 'Fire 2 Plus LTE' 8836 8837# Inkti 8838Inkti: 8839 regex: 'intki[ _]([^/;]*)[ _]Build' 8840 device: 'smartphone' 8841 model: '$1' 8842 8843# Innos 8844Innos: 8845 regex: 'Innos_?(D6000)(?:[);/ ]|$)' 8846 device: 'smartphone' 8847 model: '$1' 8848 8849 8850# Innostream 8851Innostream: 8852 regex: 'INNO([a-z0-9]+)' 8853 device: 'feature phone' 8854 model: 'INNO$1' 8855 8856# Insignia 8857Insignia: 8858 regex: 'NS-(P11A8100|P10A8100|P10A6100|P16AT08|P16AT10|P16AT785HD|P08A7100|P10A7100)(?:[);/ ]|$)|AFTEAMR311|AFTJMST12' 8859 device: 'tablet' 8860 models: 8861 - regex: 'NS-P11A8100' 8862 model: '11.6"' 8863 - regex: 'NS-(P10A6100|P16AT10)' 8864 model: 'Flex 10.1"' 8865 - regex: 'NS-P16AT08' 8866 model: 'Flex 8"' 8867 - regex: 'NS-P08A7100' 8868 model: '8"' 8869 - regex: 'NS-(P10A8100|P10A7100)' 8870 model: '10.1"' 8871 - regex: 'NS-P16AT785HD' 8872 model: 'Flex Elite 7.85"' 8873 - regex: 'AFTEAMR311' 8874 model: 'HD (2018)' 8875 device: 'tv' 8876 - regex: 'AFTJMST12' 8877 model: '4K (2018)' 8878 device: 'tv' 8879 8880# Inq 8881INQ: 8882 regex: 'INQ[/ ]' 8883 device: 'feature phone' 8884 models: 8885 - regex: 'INQ/([a-z0-9\-]+)' 8886 model: '$1' 8887 - regex: 'INQ ([^;/]+) Build' 8888 model: '$1' 8889 device: 'smartphone' 8890 8891# Intex 8892Intex: 8893 regex: 'Intex|(Aqua|Cloud[ _][XY][0-9]{1}|Cloud (?:Fame|Glory) 4G)|IM0318ND(?:[);/ ]|$)' 8894 device: 'smartphone' 8895 models: 8896 - regex: 'IM0318ND' 8897 model: 'Aqua Lions 3' 8898 - regex: 'AQUA[ _]LIONS[ _]T1[ _]LITE(?:[);/ ]|$)' 8899 model: 'Aqua Lions T1 Lite' 8900 - regex: 'AQUA[ _]LIONS[ _]([NT]1|[23]|E3)(?:[);/ ]|$)' 8901 model: 'Aqua Lions $1' 8902 - regex: 'AQUA (A4) PLUS(?:[);/ ]|$)' 8903 model: 'Aqua $1 Plus' 8904 - regex: 'AQUA[ _](A4|S[13])(?:[);/ ]|$)' 8905 model: 'Aqua $1' 8906 - regex: 'AQUA CRYSTAL\+(?:[);/ ]|$)' 8907 model: 'Aqua Crystal Plus' 8908 - regex: 'AQUA FulVU e5(?:[);/ ]|$)' 8909 model: 'Aqua Fulvu E5' 8910 - regex: 'AQUA JEWEL 2(?:[);/ ]|$)' 8911 model: 'Aqua Jewel 2' 8912 - regex: 'Intex[ _]([^/;]*)[ _]Build' 8913 model: '$1' 8914 - regex: '(Cloud (?:Fame|Glory) 4G)' 8915 model: '$1' 8916 - regex: '(Aqua|Cloud)[ _\.]([^/;\)]+)(?:[ _]Build|(?<!Build)/|\))' 8917 model: '$1 $2' 8918 - regex: 'Intex[ _]([a-z0-9_+\-]+)' 8919 model: '$1' 8920 8921# i-mate 8922i-mate: 8923 regex: 'i-mate ([a-z0-9]+)' 8924 device: 'feature phone' 8925 model: '$1' 8926 8927# i-mobile 8928i-mobile: 8929 regex: 'i-mobile ?[a-z0-9]+|i-Style|IQ ?(9\.1|5\.5|5\.6A?)' 8930 device: 'feature phone' 8931 models: 8932 - regex: 'i-mobile (i-note[^/;]*) Build' 8933 model: '$1' 8934 device: 'tablet' 8935 - regex: 'i-Style ?([^;/]+) Build' 8936 model: 'i-Style $1' 8937 device: 'smartphone' 8938 - regex: 'IQ ?(9\.1|5\.5|5\.6A?)' 8939 model: 'IQ $1' 8940 device: 'smartphone' 8941 - regex: 'i-mobile (IQ[^/;]*) Build' 8942 model: '$1' 8943 device: 'smartphone' 8944 - regex: 'i-mobile(?: )?([a-z0-9\- ]+) Build' 8945 model: '$1' 8946 - regex: 'i-mobile(?: )?([a-z0-9]+)' 8947 model: '$1' 8948 8949# ikomo 8950iKoMo: 8951 regex: 'iKoMo ([a-z0-9]+)' 8952 device: 'feature phone' 8953 model: '$1' 8954 8955# iOcean 8956iOcean: 8957 regex: 'iOCEAN|M6752|W180|X7[ _]?S|X8 mini' 8958 device: 'smartphone' 8959 models: 8960 - regex: 'X7S-T' 8961 model: 'X7S-T' 8962 - regex: 'X8 mini pro' 8963 model: 'X8 Mini Pro' 8964 - regex: 'X8 mini' 8965 model: 'X8 Mini' 8966 - regex: 'X7[ _]?S' 8967 model: 'X7S Elite' 8968 - regex: '(M6752|W180) Build' 8969 model: '$1' 8970 - regex: 'iOCEAN[ _\-]?([^/;]+) Build' 8971 model: '$1' 8972 - regex: 'iOCEAN[ _\-]?([^);/ ]+)' 8973 model: '$1' 8974 8975# iView (iviewus.com) 8976iView: 8977 regex: '(?:(?:733|730|766|930)TPC|769TPC(?:II)?|744TPC plus)(?:[);/ ]|$)' 8978 device: 'tablet' 8979 models: 8980 - regex: '744TPC plus' 8981 model: '744TPC Plus' 8982 - regex: '((?:733|730|766|930)TPC|769TPC(?:II)?)(?:[);/ ]|$)' 8983 model: '$1' 8984 8985# Impression 8986Impression: 8987 regex: '(?:Impression[ _\-]?([^/;]+)|A502|I10\-LE|ImPad[ _]?(.*)|ImSmart[ _]?(.*))(?:[);/ ]|$)' 8988 device: 'tablet' 8989 models: 8990 - regex: '(A502)' 8991 model: '$1' 8992 device: 'smartphone' 8993 - regex: 'ImSmart[ _]?([^/;)]+)(?: Build|\))' 8994 model: 'ImSmart $1' 8995 device: 'smartphone' 8996 - regex: 'ImPad[ _]?([^/;)]+)(?: Build|\))' 8997 model: 'ImPad $1' 8998 - regex: '(I10\-LE)' 8999 model: '$1' 9000 device: 'smartphone' 9001 - regex: 'Impression[ _\-]?([^/;)]+)(?: Build|\))' 9002 model: '$1' 9003 9004#iLife or i-life (lifedigital.com) 9005iLife: 9006 regex: '(ITELL[_ ](?:K3300|K3500N?|K4700)|WTAB_714|WTAB 805)(?:[);/ ]|$)' 9007 device: 'tablet' 9008 model: '$1' 9009 9010# iTel 9011iTel: 9012 regex: 'itel|iNote|GP10X2019(?:[);/ ]|$)' 9013 device: 'smartphone' 9014 models: 9015 - regex: 'W6502' 9016 device: 'phablet' 9017 model: 'S16' 9018 - regex: 'W5505' 9019 model: 'A36' 9020 - regex: 'W6002E?' 9021 model: 'S15' 9022 - regex: 'L5502' 9023 model: 'A44 Air' 9024 - regex: 'L5505' 9025 model: 'A47' 9026 - regex: 'W5006X' 9027 model: 'A17' 9028 - regex: 'L6006' 9029 model: 'A48' 9030 - regex: 'L6003P' 9031 model: 'A55 LTE' 9032 - regex: 'L6002P' 9033 model: 'S15 Pro' 9034 - regex: 'L5002' 9035 model: 'A22' 9036 - regex: 'L5503' 9037 model: 'A46' 9038 - regex: 'W6004P' 9039 model: 'A56 Pro' 9040 - regex: '[LW]6004' 9041 model: 'A56 LTE' 9042 - regex: 'W6001' 9043 model: 'P33 Plus' 9044 - regex: 'W6003' 9045 model: 'A55' 9046 - regex: 'L6005' 9047 model: 'Vision 1' 9048 - regex: 'L6501' 9049 model: 'Vision 1 Plus' 9050 - regex: 'L6502' 9051 model: 'Vision 1 Pro' 9052 - regex: 'GP10X2019' 9053 model: 'GP10X2019' 9054 - regex: 'iNote ([^/;]*)Build' 9055 model: 'iNote $1' 9056 - regex: 'iNote_([a-z0-9\-_]+)' 9057 model: 'iNote $1' 9058 - regex: 'itel-it(1410|1512|1520)(?:[);/ ]|$)' 9059 model: 'it$1' 9060 - regex: 'itel-it1553(?:[);/ ]|$)' 9061 model: 'Power Pro' 9062 - regex: 'itel[- ](A14|A16 Plus|A44 Power|A23S|A52 Lite)' 9063 model: '$1' 9064 9065 - regex: 'itel it1701' 9066 device: 'tablet' 9067 model: 'iNote Prime' 9068 - regex: 'itel it170([23])' 9069 device: 'tablet' 9070 model: 'iNote Prime $1' 9071 9072 - regex: 'iTel ([^/;]*)Build' 9073 model: '$1' 9074 - regex: 'iTel[_ ]([a-z0-9\-_]*)' 9075 model: '$1' 9076 9077# iZotron 9078iZotron: 9079 regex: '(Mi7_HERO_(?:BETA|TAB))(?:[);/ ]|$)' 9080 device: 'tablet' 9081 models: 9082 - regex: 'Mi7[_ ]HERO[_ ]BETA(?:[);/ ]|$)' 9083 model: 'MI7 Hero Beta' 9084 - regex: 'Mi7[_ ]HERO[_ ]TAB(?:[);/ ]|$)' 9085 model: 'MI7 Hero Tab' 9086 9087# JAY-Tech 9088JAY-Tech: 9089 regex: 'TPC-[A-Z0-9]+|TPCY-TX[TE][^);/ ]+' 9090 device: 'tablet' 9091 models: 9092 - regex: 'TPC-([A-Z0-9]+)' 9093 model: 'Tablet PC $1' 9094 - regex: '(TPCY-TX[TE][^);/ ]+)' 9095 model: '$1' 9096 9097# Jiayu 9098Jiayu: 9099 regex: 'JIAYU[ _-]|(?:JY-G4[\\_]G5|(?:JY-[a-z0-9]+)|JY_G4C)(?:[);/ ]|$)' 9100 device: 'smartphone' 9101 models: 9102 - regex: '(?:JIAYU G4_G5|JY-G4[\\_]G5)(?:[);/ ]|$)' 9103 model: 'G4/G5' 9104 - regex: 'JIAYU[ _-](G4[S]?|G2F|G3[S]?|S[23])(?:[);/ ]|$)' 9105 model: '$1' 9106 - regex: 'JY[-_]([a-z0-9]+|G4C)(?:[);/ ]|$)' 9107 model: 'JY-$1' 9108 9109# Jolla 9110Jolla: 9111 regex: 'Jolla' 9112 device: 'smartphone' 9113 model: '' 9114 9115# Juniper Systems (https://junipersys.com/) 9116'Juniper Systems': 9117 regex: 'Junipers/' 9118 device: 'smartphone' 9119 models: 9120 - regex: 'Cedar#CT8' 9121 device: 'tablet' 9122 model: 'CT8' 9123 9124# Just5 (www.just5.com) 9125Just5: 9126 regex: 'JUST5(-)?SPACER(s)?|COSMO[_ ](L707|L808)|BLASTER|FREEDOM[ _](C100|M303|X1)|Freedom' 9127 device: 'smartphone' 9128 models: 9129 - regex: 'COSMO[_ ](L707|L808)' 9130 model: 'Cosmo $1' 9131 - regex: 'FREEDOM[ _](C100|M303|X1)' 9132 model: 'Freedom $1' 9133 - regex: 'Freedom' 9134 model: 'Freedom' 9135 - regex: 'JUST5(-)?SPACER2s' 9136 model: 'Spacer 2S' 9137 - regex: 'JUST5(-)?SPACER2' 9138 model: 'Spacer 2' 9139 - regex: 'JUST5SPACER' 9140 model: 'Spacer' 9141 - regex: 'BLASTER 2' 9142 model: 'Blaster 2' 9143 - regex: 'BLASTER' 9144 model: 'Blaster' 9145 9146# Kalley (www.kalley.com.co) 9147Kalley: 9148 regex: 'KALLEY|(?:ELEMENT (?:MAX|Q)|ELEMENT_PRO_2|K-BOOK(?:8MG|73G))(?:[);/ ]|$)' 9149 device: 'smartphone' 9150 models: 9151 - regex: 'ELEMENT MAX' 9152 model: 'Element Max' 9153 - regex: 'ELEMENT Q' 9154 model: 'Element Q' 9155 - regex: 'ELEMENT_PRO_2' 9156 model: 'Element Pro 2' 9157 - regex: 'K-BOOK(8MG|73G)' 9158 device: 'tablet' 9159 model: 'K-BOOK$1' 9160 - regex: 'KALLEY,(55D1240)' 9161 device: 'tv' 9162 model: '$1' 9163 9164# Kaan 9165Kaan: 9166 regex: 'KAAN[ _](N[12]|A1)(?:[);/ ]|$)' 9167 device: 'smartphone' 9168 model: '$1' 9169 9170# Kazam 9171Kazam: 9172 regex: 'Kazam|(?:Trooper_X[0-9][0-9]|Tornado 348|TROOPER 4\.0)(?:[);/ ]|$)' 9173 device: 'smartphone' 9174 models: 9175 - regex: 'Tornado 348' 9176 model: 'Tornado 348' 9177 - regex: 'Thunder 450W' 9178 model: 'Thunder 450W' 9179 - regex: 'TROOPER 4\.0' 9180 model: 'Trooper X4.0' 9181 - regex: 'Trooper_X([0-9])([0-9])(?:[);/ ]|$)' 9182 model: 'Trooper X$1.$2' 9183 - regex: 'Kazam[; _]([^;/)]+)(?: Build|\))' 9184 model: '$1' 9185 9186# Kazuna (https://kazuna.co.jp/) 9187Kazuna: 9188 regex: 'KAZ-N20' 9189 device: 'smartphone' 9190 models: 9191 - regex: 'KAZ-N20' 9192 model: 'eTalk MYFLIX' 9193 9194# Keneksi 9195Keneksi: 9196 regex: 'KENEKSI|(?:Hemera|Teta Dual|Helios)(?:[);/ ]|$)' 9197 device: 'smartphone' 9198 models: 9199 - regex: '(Hemera|Teta Dual|Helios)(?:[);/ ]|$)' 9200 model: '$1' 9201 - regex: 'KENEKSI[ _-]liberty' 9202 model: 'Liberty' 9203 - regex: 'KENEKSI[ _-]FLASH' 9204 model: 'Flash' 9205 - regex: 'KENEKSI[ _-]SUN' 9206 model: 'Sun' 9207 - regex: 'KENEKSI[ _-]ZETA' 9208 model: 'Zeta' 9209 - regex: 'KENEKSI[ _-]SIGMA' 9210 model: 'Sigma' 9211 - regex: 'KENEKSI[ _-](Moon|Libra_Dual|Glass|Amber|Chance|Amulet|Choice|Crystal|Dream|Delta[_ ]Dual|Norma 2|Norma|Sky|Fire 2|Fire|Flame|Flora|Rock|Solo|Soul|Step|Smart|Star|Storm|Wind)' 9212 model: '$1' 9213 9214# Kempler & Strauss (www.kemplerusa.com) 9215'Kempler & Strauss': 9216 regex: 'Alumini_?3_?Plus|Alumini ?[23]|KEMPLER_(?:P1|TV|[X9]|8_PLUS)' 9217 device: 'smartphone' 9218 models: 9219 - regex: 'Alumini ?2' 9220 model: 'Alumini 2' 9221 - regex: 'Alumini_?3_?Plus' 9222 model: 'Alumini 3 Plus' 9223 - regex: 'Alumini3' 9224 model: 'Alumini 3' 9225 - regex: 'KEMPLER_P1' 9226 model: 'P1' 9227 - regex: 'KEMPLER_TV' 9228 model: 'TV' 9229 - regex: 'KEMPLER_X' 9230 model: 'X' 9231 - regex: 'KEMPLER_8_PLUS' 9232 model: '8 Plus' 9233 - regex: 'KEMPLER_9' 9234 model: '9' 9235 9236# Kiano 9237Kiano: 9238 regex: 'Kiano|Elegance_[45]_[015](?:_PRO)?|Elegance 6|CORE 10.1 DUAL 3G|Intelect ?(7|8|10)|Slim ?Tab ?\d+(?:[_ ]3GR?)?(?:[);/ ]|$)' 9239 device: 'smartphone' 9240 models: 9241 - regex: 'Slim ?Tab ?(\d+)(?:[_ ]3GR?)?' 9242 model: 'Slim Tab $1' 9243 device: 'tablet' 9244 - regex: 'CORE 10.1 DUAL 3G' 9245 model: 'CORE 10.1 DUAL 3G' 9246 device: 'tablet' 9247 - regex: 'Elegance_(5)_([51])_Pro' 9248 model: 'Elegance $1.$2" Pro' 9249 - regex: 'Elegance_([45])_([015])' 9250 model: 'Elegance $1.$2"' 9251 - regex: 'Elegance 6' 9252 model: 'Elegance 6 5.85"' 9253 - regex: '(Kiano)?(Intelect|Elegance) ?(7|8|10)?' 9254 model: '$2 $3' 9255 device: 'tablet' 9256 - regex: 'Kiano[ _]([^;/]+) Build' 9257 model: '$1' 9258 9259# Kingsun 9260Kingsun: 9261 regex: 'Kingsun[ _-]' 9262 device: 'smartphone' 9263 models: 9264 - regex: 'Kingsun[ _-]([^;/]+) Build' 9265 model: '$1' 9266 - regex: 'Kingsun[ -]((?!Build)[a-z0-9_-]+)' 9267 model: '$1' 9268 9269# Kocaso 9270Kocaso: 9271 regex: 'Kocaso|M(?:6200|729|7[357][026][hw]?|76[01236][bw]?|83[016]|8[567]0|1050s|106[012368]w?|1070|X736(?:-kit)?|X780)(?:[);/ ]|$)' 9272 device: 'tablet' 9273 models: 9274 - regex: 'M6200(?:[);/ ]|$)' 9275 model: 'M6200' 9276 - regex: 'M729(?:[);/ ]|$)' 9277 model: 'M729' 9278 - regex: 'M(7[357][026])[hw]?(?:[);/ ]|$)' 9279 model: 'M$1' 9280 - regex: 'M(76[01236])[bw]?(?:[);/ ]|$)' 9281 model: 'M$1' 9282 - regex: 'MX780(?:[);/ ]|$)' 9283 model: 'MX780' 9284 - regex: 'M(83[016])(?:[);/ ]|$)' 9285 model: 'M$1' 9286 - regex: 'M(8[567]0)(?:[);/ ]|$)' 9287 model: 'M$1' 9288 - regex: 'M851(?:[);/ ]|$)' 9289 model: 'M851' 9290 - regex: 'M1050S(?:[);/ ]|$)' 9291 model: 'M1050s' 9292 - regex: 'M(106[012368])W?(?:[);/ ]|$)' 9293 model: 'M$1' 9294 - regex: 'M1070(?:[);/ ]|$)' 9295 model: 'M1070' 9296 - regex: 'MX736(?:-kit)?(?:[);/ ]|$)' 9297 model: 'MX736' 9298 - regex: 'MX780(?:[);/ ]|$)' 9299 model: 'MX780' 9300 - regex: 'Kocaso[ _\-]?([^;/]+) Build' 9301 model: '$1' 9302 - regex: 'Kocaso[ _\-]?([a-z0-9_-]+)' 9303 model: '$1' 9304 9305# Kogan 9306Kogan: 9307 regex: 'Kogan' 9308 device: 'smartphone' 9309 models: 9310 - regex: 'Kogan[ _-]([^;/]+) Build' 9311 model: '$1' 9312 - regex: 'Kogan[ _-]([a-z0-9_-]+)' 9313 model: '$1' 9314 9315# Komu 9316Komu: 9317 regex: 'Komu[_ -]' 9318 device: 'smartphone' 9319 models: 9320 - regex: 'Komu[_ -]([^;/]+) Build' 9321 model: '$1' 9322 - regex: 'Komu[_ -]([a-z0-9_-]+)' 9323 model: '$1' 9324 9325# Koobee 9326Koobee: 9327 regex: 'Koobee' 9328 device: 'smartphone' 9329 models: 9330 - regex: 'Koobee[ _\-]?([^;/]+) Build' 9331 model: '$1' 9332 - regex: 'Koobee[ _\-]?([a-z0-9_-]+)' 9333 model: '$1' 9334 9335# Kumai 9336Kumai: 9337 regex: '(?:KM-)?Kumai' 9338 device: 'smartphone' 9339 models: 9340 - regex: '(?:KM-)?Kumai[ _\-]?([^;/]+) Build' 9341 model: '$1' 9342 - regex: '(?:KM-)?Kumai[ _\-]?([a-z0-9_-]+)' 9343 model: '$1' 9344 9345# KT-Tech 9346KT-Tech: 9347 regex: '(KM-[a-z0-9]+|EV-[a-z0-9]+)(?:[);/ ]|$)' 9348 device: 'smartphone' 9349 model: '$1' 9350 9351# kddi 9352KDDI: 9353 regex: 'kddi-([a-z0-9]+)' 9354 device: 'feature phone' 9355 model: '$1' 9356 9357# Kodak 9358Kodak: 9359 regex: 'KODAK|(?:IM5|KD50|Ektra|Smartway_T1)(?:[);/ ]|$)' 9360 device: 'smartphone' 9361 models: 9362 - regex: 'IM5' 9363 model: 'IM5' 9364 - regex: 'KD50' 9365 model: 'Seren KD50' 9366 - regex: 'Ektra(?:[);/ ]|$)' 9367 model: 'Ektra' 9368 - regex: '(?:KODAK[_ ])?SMARTWAY[_ ]([MTX]1|T3)' 9369 model: 'Smartway $1' 9370 - regex: 'Tablet (7|10)' 9371 device: 'tablet' 9372 model: 'Tablet $1' 9373 9374# KOPO 9375KOPO: 9376 regex: 'KOPO[ _-]' 9377 device: 'smartphone' 9378 models: 9379 - regex: 'KOPO[ _\-]?([^/;]+) Build' 9380 model: '$1' 9381 - regex: 'KOPO[ _\-]?([^);/ ]+)' 9382 model: '$1' 9383 9384# Koridy 9385Koridy: 9386 regex: 'KORIDY[ _-]([^/;]+) Build' 9387 device: 'smartphone' 9388 model: '$1' 9389 9390# KRONO 9391KRONO: 9392 regex: 'NET1100|NET_(?:TITAN|VOLT)' 9393 device: 'smartphone' 9394 models: 9395 - regex: 'NET1100' 9396 model: 'NET 1100' 9397 - regex: 'NET_(TITAN|VOLT)' 9398 model: 'NET $1' 9399 9400#k-touch 9401K-Touch: 9402 regex: 'K-?Touch[ _][a-z0-9]+|Pace 2 Lite(?:[);/ ]|$)' 9403 device: 'smartphone' 9404 models: 9405 - regex: 'Pace 2 Lite' 9406 model: 'Pace 2 Lite' 9407 - regex: 'K-?Touch[ _]([^/;]*)[ _]Build' 9408 model: '$1' 9409 - regex: 'K-?Touch[ _]([a-z0-9]+)' 9410 model: '$1' 9411 9412# Diva 9413Diva: 9414 regex: '(QC-(?:703GN|704GA|803GN|1013G|7BHD))(?:[);/ ]|$)' 9415 device: 'tablet' 9416 model: '$1' 9417 9418# kyocera (kyocera.co.jp, kyocera.com) 9419Kyocera: 9420 regex: 'Kyocera|KWC-|QC-[0-9]{4}|(?:QC6035|NP501KC|302KC|503KC|602KC|705KC|901KC|C51[27]0|C5155|C5215|C67[35]0|C6522N?|C6530N|C6740N?|C6743|E6[89]10|KYL2[13]|KYV3[1-9]|KYT3[123]|KYF3[123579]|KYF40|KYX31|KYG01|KYY2[1-4]|S2151|KC-S701|S[468]-KC|KYV40U?|KYV4[1-8]|KYV4[47]|KC-S301AE|X3-KC|E6560[CT]|E6782[L]?|E6790(?:TM)?|SZJ-JS201|[47]04KC|A001KC|WX10K|URBANO PROGRESSO|E7110)(?:[-_]u2?)?(?:[);/ ]|$)' 9421 device: 'smartphone' 9422 models: 9423 # explicit smartphone models 9424 - regex: 'C5120(?:[);/ ]|$)' 9425 model: 'Milano' 9426 - regex: 'S4-KC(?:[);/ ]|$)' 9427 model: 'One S4' 9428 - regex: 'S6-KC(?:[);/ ]|$)' 9429 model: 'One S6' 9430 - regex: 'S8-KC(?:[);/ ]|$)' 9431 model: 'One S8' 9432 - regex: 'C5155(?:[);/ ]|$)' 9433 model: 'Rise' 9434 - regex: '602KC(?:[);/ ]|$)' 9435 model: 'Digno G' 9436 - regex: '503KC(?:[);/ ]|$)' 9437 model: 'Digno E' 9438 - regex: '404KC(?:[);/ ]|$)' 9439 model: 'Digno C' 9440 - regex: '704KC(?:[);/ ]|$)' 9441 model: 'Digno J' 9442 - regex: '302KC(?:[);/ ]|$)' 9443 model: 'Digno T' 9444 - regex: 'NP501KC(?:[);/ ]|$)' 9445 model: 'Digno' 9446 - regex: 'WX10K(?:[);/ ]|$)' 9447 model: 'Digno Dual 2' 9448 - regex: 'KYV36(?:[);/ ]|$)' 9449 model: 'Digno Rafre' 9450 - regex: '901KC(?:[);/ ]|$)' 9451 model: 'Digno BX' 9452 - regex: 'KYV39(?:[);/ ]|$)' 9453 model: 'Miraie F' 9454 - regex: 'KYX31(?:[);/ ]|$)' 9455 model: 'Infobar XV' 9456 - regex: 'C5170(?:[);/ ]|$)' 9457 model: 'Hydro' 9458 - regex: 'C5215(?:[);/ ]|$)' 9459 model: 'Hydro EDGE' 9460 - regex: 'C6522N?' 9461 model: 'Hydro XTRM' 9462 - regex: 'C6730' 9463 model: 'Hydro ICON' 9464 - regex: 'C6750' 9465 model: 'Hydro ELITE' 9466 - regex: 'C6530N' 9467 model: 'Hydro LIFE' 9468 - regex: 'C6740(N)?' 9469 model: 'Hydro WAVE' 9470 - regex: 'C6743' 9471 model: 'Hydro Reach' 9472 - regex: 'E6560[CT]' 9473 model: 'DuraForce' 9474 - regex: '(?:KYOCERA-)?E68[12]0' 9475 model: 'DuraForce Pro' 9476 - regex: '(?:KYOCERA-)?E69[12]0' 9477 model: 'DuraForce Pro 2' 9478 - regex: 'E7110' 9479 model: 'DuraForce Ultra 5G' 9480 - regex: 'KC-S701' 9481 model: 'Torque' 9482 - regex: 'KYG01' 9483 model: 'Torque 5G' 9484 - regex: 'KYL21(?:[);/ ]|$)' 9485 model: 'Digno S' 9486 - regex: 'KYL23(?:[);/ ]|$)' 9487 model: 'Miraie' 9488 - regex: 'KYY24(?:[);/ ]|$)' 9489 model: 'Torque G01' 9490 - regex: 'KYF32(?:[);/ ]|$)' 9491 model: 'Easy Mobile Phone' 9492 - regex: 'KYF35(?:[);/ ]|$)' 9493 model: 'Marvera' 9494 - regex: 'KYF40(?:[);/ ]|$)' 9495 model: 'Mamorino 5' 9496 - regex: 'KYF3[179](?:[);/ ]|$)' 9497 model: 'Gratina 4G' 9498 - regex: 'KYV48(?:[);/ ]|$)' 9499 model: 'Gratina KYV48' 9500 - regex: 'KYF33(?:[);/ ]|$)' 9501 model: 'Torque X01' 9502 - regex: 'KYV35(?:[);/ ]|$)' 9503 model: 'Torque G02' 9504 - regex: 'KYV41(?:[);/ ]|$)' 9505 model: 'Torque G03' 9506 - regex: 'KYV46(?:[);/ ]|$)' 9507 model: 'Torque G04' 9508 - regex: 'KYV32?(?:[);/ ]|$)' 9509 model: 'Basio' 9510 - regex: 'KYV47(?:-u)?(?:[);/ ]|$)' 9511 model: 'Basio 4' 9512 - regex: 'KYV43(?:[);/ ]|$)' 9513 model: 'Basio 3' 9514 - regex: '705KC(?:[);/ ]|$)' 9515 model: 'Kantan Sumaho' 9516 - regex: 'KYV37(?:[);/ ]|$)' 9517 model: 'Qua Phone' 9518 - regex: 'KYV42(?:_u)?(?:[);/ ]|$)' 9519 model: 'Qua Phone QX' 9520 - regex: 'KYV44(?:_u2?)?(?:[);/ ]|$)' 9521 model: 'Qua Phone QZ' 9522 - regex: 'KYT33(?:[);/ ]|$)' 9523 model: 'Qua Tab QZ10' 9524 device: 'tablet' 9525 - regex: 'KYT32(?:[);/ ]|$)' 9526 model: 'Qua Tab QZ8' 9527 device: 'tablet' 9528 - regex: 'KYT31(?:[);/ ]|$)' 9529 model: 'Qua Tab 01' 9530 device: 'tablet' 9531 - regex: 'KYV40U?(?:[);/ ]|$)' 9532 model: 'Rafre' 9533 - regex: 'KYV33(?:[);/ ]|$)' 9534 model: 'Infobar A03' 9535 - regex: 'KYY21(?:[);/ ]|$)' 9536 model: 'Urbano L01' 9537 - regex: 'KYY22(?:[);/ ]|$)' 9538 model: 'Urbano L02' 9539 - regex: 'KYY23(?:[);/ ]|$)' 9540 model: 'Urbano L03' 9541 - regex: 'KYV31(?:[);/ ]|$)' 9542 model: 'Urbano V01' 9543 - regex: 'KYV34(?:[);/ ]|$)' 9544 model: 'Urbano V02' 9545 - regex: 'KYV(?:45|38)(?:[);/ ]|$)' 9546 model: 'Urbano V03' 9547 - regex: '(?:Kyocera-)?E6790(?:TM)?' 9548 model: 'DuraForce XD' 9549 - regex: 'X3-KC(?:[);/ ]|$)' 9550 model: 'One X3' 9551 - regex: 'E6782(?:[);/ ]|$)' 9552 model: 'Brigadier' 9553 - regex: 'E6782L(?:[);/ ]|$)' 9554 model: 'DuraScout' 9555 - regex: '(KC-S301AE|SZJ-JS201)(?:[);/ ]|$)' 9556 model: '$1' 9557 - regex: 'A001KC(?:[);/ ]|$)' 9558 model: 'Katan Sumaho 2' 9559 - regex: 'URBANO PROGRESSO(?:[);/ ]|$)' 9560 model: 'Urbano Progresso' 9561 9562 # explicit feature phone models 9563 - regex: 'S2151' 9564 model: 'Coast' 9565 device: 'feature phone' 9566 9567 - regex: 'Kyocera-KZ-([a-z0-9]+)' 9568 model: 'KZ $1' 9569 - regex: 'Kyocera(?:[\-/])?([a-z0-9]+)' 9570 model: '$1' 9571 - regex: '(KWC|QC)-?([a-z0-9]+)' 9572 model: '$1-$2' 9573 9574# Mymaga (support.mymaga.eu) 9575Mymaga: 9576 regex: '(MOVE_S201)(?:[);/ ]|$)' 9577 device: 'tablet' 9578 model: '$1' 9579 9580# Krüger&Matz or Kruger&Matz (www.krugermatz.com) 9581Krüger&Matz: 9582 regex: 'Kruger[ _&]Matz|KrugerMatz[ _]|FLOW ?5PLUS|FLOW 4 PLUS|Flow 9|FLOW_5|FLOW7|FLOW6(?:S|Lite)|DRIVE9|DRIVE[_ ]6S?|MOVE8mini|MOVE9|MOVE_|LIVE_6plus|LIVE 5 PLUS|Live [89]|LIVE4_KM043[89]|LIVE 7S|Flow 7S|KM(?:106[679]|1065G|0701_1|0702|0805_1|1070)' 9583 device: 'smartphone' 9584 models: 9585 - regex: 'MOVE8mini' 9586 model: 'MOVE 8 Mini' 9587 - regex: 'MOVE_6_mini' 9588 model: 'MOVE 6 Mini' 9589 - regex: 'MOVE[_ ]([78]|6S?)' 9590 model: 'MOVE $1' 9591 - regex: 'DRIVE 4 mini LTE' 9592 model: 'DRIVE 4 mini LTE' 9593 - regex: 'DRIVE[ _]?([4569][S]?)(?:[);/ ]|$)' 9594 model: 'DRIVE $1' 9595 - regex: 'FLOW ?([54]) ?PLUS(?:[);/ ]|$)' 9596 model: 'FLOW $1 Plus' 9597 - regex: 'FLOW6Lite(?:[);/ ]|$)' 9598 model: 'FLOW 6 Lite' 9599 - regex: 'FLOW[ _]?([4-7][S]?|9)(?:[);/ ]|$)' 9600 model: 'FLOW $1' 9601 - regex: 'LIVE4_(KM043[89])(?:[);/ ]|$)' 9602 model: 'LIVE 4 $1' 9603 - regex: 'KrugerMatz_LIVE4(?:[);/ ]|$)' 9604 model: 'LIVE 4' 9605 - regex: '_LIVE5_(KM0450)(?:[);/ ]|$)' 9606 model: 'LIVE 5 $1' 9607 - regex: 'LIVE 5 PLUS(?:[);/ ]|$)' 9608 model: 'LIVE 5 Plus' 9609 - regex: 'LIVE_6plus(?:[);/ ]|$)' 9610 model: 'LIVE 6 Plus' # KM0454 9611 - regex: 'LIVE 7S(?:[);/ ]|$)' 9612 model: 'LIVE 7S' 9613 - regex: 'Live ([89])(?:[);/ ]|$)' 9614 model: 'LIVE $1' 9615 - regex: 'MOVE9(?:[);/ ]|$)' 9616 model: 'MOVE 9' 9617 9618 - regex: 'KM(106[679])(?:[);/ ]|$)' 9619 device: 'tablet' 9620 model: 'EAGLE $1 10.1"' 9621 - regex: 'KM(1070)(?:[);/ ]|$)' 9622 device: 'tablet' 9623 model: 'EAGLE $1 10.5"' 9624 - regex: 'KM(1065G)(?:[);/ ]|$)' 9625 device: 'tablet' 9626 model: 'EAGLE $1 10.1"' 9627 - regex: 'KM0(701)_1(?:[);/ ]|$)' 9628 device: 'tablet' 9629 model: 'EAGLE $1 7.1"' 9630 - regex: 'KM0(805)_1(?:[);/ ]|$)' 9631 device: 'tablet' 9632 model: 'EAGLE $1 8.0"' 9633 - regex: 'KM0(702)(?:[);/ ]|$)' 9634 device: 'tablet' 9635 model: 'EAGLE $1 7.0"' 9636 9637# LAIQ 9638LAIQ: 9639 regex: 'LAIQ' 9640 device: 'smartphone' 9641 models: 9642 - regex: '(Glam|New York|Dubai)(?:[);/ ]|$)' 9643 model: '$1' 9644 9645# AIS 9646AIS: 9647 regex: 'iris708|Kingcomm C500' 9648 device: 'smartphone' 9649 models: 9650 - regex: 'iris708' 9651 model: 'LAVA PRO 4.5' 9652 - regex: 'Kingcomm C500' 9653 model: 'Super Smart Plus X3' 9654 9655# Lava (Lavamobiles.com) 9656Lava: 9657 regex: 'Lava[ _]|LAVA(?:A1|X10)|(?:DISCOVER136|KKT QUADRA)|iris[ _]?([^/;]+)(?:\)| Build)|A(?:67|76) Build|X1 Selfie Build|X41 Plus Build|(?:Flair Z1|PixelV1|Pixel V2\+?|Z60s|Z61_2GB|A97 IPS|A97 2GB PLUS|L[EH]9920(?:[_ ]P)?|L[NEH]9910|LH9810|Ivory(?:S1|S4G)?|A76Plus|Grand2c|AH9910)(?:[);/ ]|$)' 9658 device: 'smartphone' 9659 models: 9660 # explicit smartphone models 9661 - regex: 'Flair Z1(?:[);/ ]|$)' 9662 model: 'Flair Z1' 9663 - regex: 'AH9910(?:[);/ ]|$)' 9664 model: 'Benco Y40' 9665 - regex: 'A97 IPS(?:[);/ ]|$)' 9666 model: 'A97 IPS' 9667 - regex: 'A97 2GB PLUS(?:[);/ ]|$)' 9668 model: 'A97 2GB Plus' 9669 - regex: 'A76Plus(?:[);/ ]|$)' 9670 model: 'A76 Plus' 9671 - regex: 'Pixel V2\+(?:[);/ ]|$)' 9672 model: 'Pixel V2 Plus' 9673 - regex: 'Pixel ?V([12])(?:[);/ ]|$)' 9674 model: 'Pixel V$1' 9675 - regex: 'X1 Selfie(?:[);/ ]|$)' 9676 model: 'Iris X1 Selfie' 9677 - regex: 'X41 Plus(?:[);/ ]|$)' 9678 model: 'X41 Plus' 9679 - regex: '(?:LAVA[_ ]?)?A([13]|67|76)(?:[);/ ]|$)' 9680 model: 'A$1' 9681 - regex: 'LAVA_R1' 9682 model: 'R1' 9683 - regex: 'Z61_2GB(?:[);/ ]|$)' 9684 model: 'Z61' 9685 - regex: 'LMX06(?:[);/ ]|$)' 9686 model: 'Z6' 9687 - regex: 'Z60s(?:[);/ ]|$)' 9688 model: 'Z60s' 9689 - regex: 'LE9920[ _]P(?:[);/ ]|$)' 9690 model: 'V7' 9691 - regex: 'LE9920(?:[);/ ]|$)' 9692 model: 'Z53' 9693 - regex: 'LH9910(?:[);/ ]|$)' 9694 model: 'Z52' 9695 - regex: 'LH9810(?:[);/ ]|$)' 9696 model: 'Iris 52' 9697 - regex: 'LE9930(?:[);/ ]|$)' 9698 model: 'Iris 59' 9699 - regex: 'LH9950(?:[);/ ]|$)' 9700 model: 'Iris 46' 9701 - regex: 'LN9910(?:[);/ ]|$)' 9702 model: 'Z41' 9703 - regex: 'LE9910(?:[);/ ]|$)' 9704 model: 'V8' 9705 - regex: 'LH9920(?:[);/ ]|$)' 9706 model: 'V+6' 9707 - regex: 'Grand2c' 9708 model: 'Grand 2C' 9709 # explicit feature phone models 9710 - regex: 'DISCOVER136' 9711 device: 'feature phone' 9712 model: 'Discover 136' 9713 - regex: 'KKT QUADRA' 9714 device: 'feature phone' 9715 model: 'KKT Quadra' 9716 - regex: 'KKT40[ ]?Power[P\+]' 9717 device: 'feature phone' 9718 model: 'KKT40 Power Plus' 9719 # explicit tablet models 9720 - regex: 'Ivory(S1|S4G)?(?:[);/ ]|$)' 9721 device: 'tablet' 9722 model: 'Ivory $1' 9723 # explicit general 9724 - regex: 'iris[ _]?([^/;)]+)(?: Build|[);])' 9725 model: 'Iris $1' 9726 - regex: 'Lava[ _]?([^/;)]+)(?: Build|[);])' 9727 model: '$1' 9728 - regex: 'LAVA[ _]([^/;)]+)/MIDP' 9729 device: 'feature phone' 9730 model: '$1' 9731 9732# SKG (skgmobile.net | skgmobile.com) 9733SKG: 9734 regex: '(Modern[ _](?:S10?|S[3679]))(?:[);/ ]|$)' 9735 device: 'smartphone' 9736 model: '$1' 9737 9738# iVA 9739iVA: 9740 regex: '(LAMCY (?:L3[05]0|C100|L400)|IVA S6)(?:[);/ ]|$)' 9741 device: 'smartphone' 9742 models: 9743 - regex: 'LAMCY (L3[05]0|C100|L400)(?:[);/ ]|$)' 9744 model: 'Lamcy $1' 9745 - regex: 'IVA S6(?:[);/ ]|$)' 9746 model: 'S6' 9747 9748# Landvo 9749Landvo: 9750 regex: 'XM[123]00|(?<!Blade )S6 Build' 9751 device: 'smartphone' 9752 models: 9753 - regex: 'S6 Build' # clone Galaxy S6 9754 model: 'S6' 9755 - regex: 'XM([123])00([^/;]*) Build' 9756 model: 'XM$100$2' 9757 9758# Land Rover 9759Land Rover: 9760 regex: 'Land[ ]?Rover[d]?[ _-](?:X1[0-9]|Explore|T878|L15\+|V18|V[168]|X)(?:[);/ ]|$)|Polar3|Vphone[- ]X3' 9761 device: 'smartphone' 9762 models: 9763 - regex: 'Land[ ]?Rover[d]?[ _-](X1[0-9]|Explore|T878|L15\+|V18|V[168]|X)(?:[);/ ]|$)' 9764 model: '$1' 9765 - regex: 'Vphone[- ]X3' 9766 model: 'Vphone X3' 9767 - regex: 'Polar3' 9768 model: 'Ioutdoor Polar 3' 9769 9770# iOutdoor 9771iOutdoor: 9772 regex: 'iOutdoor (X)(?:[);/ ]|$)' 9773 device: 'smartphone' 9774 model: '$1' 9775 9776# lanix (lanix.com) 9777Lanix: 9778 regex: 'LANIX-([a-z0-9]+)|Ilium[ _]|IliumPad|X120C|Alpha 950' 9779 device: 'smartphone' 9780 models: 9781 - regex: 'ILIUM[ _]?PAD[ _]?([^;/]+)(?: Build|[;)])' 9782 model: 'Ilium Pad $1' 9783 device: 'tablet' 9784 - regex: 'X120C' 9785 model: 'Ilium X120C' 9786 - regex: 'Ilium[ _](Alpha [15]s|Alpha [379]|L(?:200|6[12]0|9[0125]0|1[0124]00|1050|1120)|LT5[012]0|M[13579]|S(?:106|520|6[27]0)|X(?:1[12]0|2[0126]0|5[12]0|500B|710)|M[579]s)(?:[);/ ]|$)' 9787 model: 'Ilium $1' 9788 - regex: 'ILIUM[ _]([^;/]+) Build' 9789 model: 'Ilium $1' 9790 - regex: 'Alpha 950' 9791 model: 'Ilium Alpha 950' 9792 - regex: 'LANIX-([a-z0-9]+)' 9793 device: 'feature phone' 9794 model: '$1' 9795 9796# Lark 9797Lark: 9798 regex: '(Lark|Cumulus|Evolution|FreeMe|Ultimate (?:X4|7i))[ _-]|Build/Lark|Bjorn[_ ]SP-500|FreeBird 5WiFi' 9799 device: 'tablet' 9800 models: 9801 - regex: 'Cumulus[ _](5\.5|[56])[ _]HD' 9802 model: 'Cumulus $1 HD' 9803 device: 'smartphone' 9804 - regex: 'FreeMe X2 ([79]) (?:ver|v)?\.([23])' 9805 model: 'FreeMe X2 $1 Version $2' 9806 - regex: 'FreeMe X4 7 3G HD' 9807 model: 'FreeMe X4 7HD 3G' 9808 - regex: 'FreeMe[ _]X2[ _]([7-9])' 9809 model: 'FreeMe X2 $1' 9810 - regex: 'FreeMe X4[ _]7[_ ]?HD' 9811 model: 'FreeMe X4 7HD' 9812 - regex: 'FreeMe X4[ _]9' 9813 model: 'FreeMe X4 9' 9814 - regex: 'FreeMe X4 7' 9815 model: 'FreeMe X4 7' 9816 - regex: 'FreeBird 5WiFi' 9817 model: 'FreeBird 5 WiFi' 9818 - regex: '(?:Lark[ _-])?Evolution[ _](X2 7 3G-GPS|X4[_ ]10\.1|10|X4[_ ]7[ _]IPS)' 9819 model: 'Evolution $1' 9820 - regex: 'Ul(?:ti|it)mate (X4 10\.1 3G IPS|X4 8s 3G|7i)' 9821 model: 'Ultimate $1' 9822 - regex: 'PHABLET 7' 9823 model: 'Phablet 7' 9824 - regex: 'Phablet 6\.0' 9825 model: 'Phablet 6.0' 9826 device: 'smartphone' 9827 - regex: 'Bjorn[_ ]SP-500' 9828 model: 'Bjorn SP-500' 9829 device: 'smartphone' 9830 - regex: 'Cirrus[ _](4\.5|[45])' 9831 model: 'Cirrus $1' 9832 device: 'smartphone' 9833 - regex: 'Lark[ _](Stratus[_ ]5)' 9834 model: '$1' 9835 device: 'smartphone' 9836 9837# lct 9838LCT: 9839 regex: 'LCT_([a-z0-9]+)' 9840 device: 'feature phone' 9841 model: '$1' 9842 9843# Le Pan 9844'Le Pan': 9845 regex: 'Le ?Pan|TC970 ([^;/]+)Build' 9846 device: 'tablet' 9847 models: 9848 - regex: 'TC802A' 9849 model: 'Le Pan Mini' 9850 - regex: 'TC970 ([^;/]+)Build' 9851 model: 'TC970 $1' 9852 - regex: 'Le ?Pan ?(II|S)(?:[);/ ]|$)' 9853 model: 'Le Pan $1' 9854 - regex: 'Le ?Pan ?([^;/]+) Build' 9855 model: '$1' 9856 9857# Leagoo 9858Leagoo: 9859 regex: '(?:MY)?LEAGOO[ _-]?|(?:XRover(?: C)?|Shark 5000|M5 EDGE|KIICAA (POWER|MIX)|Leapad[ _](?:X|7s)|Alfa 1|Elite [15]|Venture 1|Z10-E|M9 Pro|Power 5|Power 2(?: Pro)?)(?:[);/ ]|$)' 9860 device: 'smartphone' 9861 models: 9862 - regex: '(?:LEAGOO[- _])?M([89])[_-]?Pro(?:[);/ ]|$)' 9863 model: 'M$1 Pro' 9864 - regex: 'LEAGOO[- _](Z[156]|Z5c|M[58]|T1)(?:[);/ ]|$)' 9865 model: '$1' 9866 - regex: 'M5 EDGE' 9867 model: 'M5 Edge' 9868 - regex: 'LEAGOO[_ ]Lead([57])' 9869 model: 'Lead $1' 9870 - regex: 'KIICAA POWER' 9871 model: 'KICCAA Power' 9872 - regex: 'KIICAA MIX' 9873 model: 'KICCAA Mix' 9874 - regex: 'Elite ([15])(?:[);/ ]|$)' 9875 model: 'Elite $1' 9876 - regex: 'Shark 5000(?:[);/ ]|$)' 9877 model: 'Shark 5000' 9878 - regex: 'Power 2 Pro(?:[);/ ]|$)' 9879 model: 'Power 2 Pro' 9880 - regex: 'Power ([25])(?:[);/ ]|$)' 9881 model: 'Power $1' 9882 - regex: 'Venture 1(?:[);/ ]|$)' 9883 model: 'Venture 1' 9884 - regex: 'Alfa 1(?:[);/ ]|$)' 9885 model: 'Alfa 1' 9886 - regex: 'XRover( C)?(?:[);/ ]|$)' 9887 model: 'XRover$1' 9888 - regex: '(?:LEAGOO[- _])?(Z10-E|M6)(?:[);/ ]|$)' 9889 model: '$1' 9890 - regex: '(?:My)?Leagoo[- _](E4)(?:[);/ ]|$)' 9891 model: '$1' 9892 9893 - regex: '(?:Leapad[ _])(7s|10|X)' 9894 model: 'LeaPad $1' 9895 device: 'tablet' 9896 9897# Ledstar 9898Ledstar: 9899 regex: '(?:Ledstar[_ ])?(?:Trendy 5.0|Novus_Premium_6.0)' 9900 device: 'smartphone' 9901 models: 9902 - regex: 'Trendy 5.0' 9903 model: 'Trendy 5.0' 9904 - regex: 'Ledstar_Novus_Premium_6.0(?:[);/ ]|$)' 9905 model: 'Novus Premium 6.0"' 9906 9907# LeEco 9908LeEco: 9909 regex: 'Letv|LeEco|Le ?X[0-9][^;/]+|Le Max|Le [12]|Le2[_ ]x527|X900 Build|(?:X[89]00\+|X52[67])(?:[);/ ]|$)' 9910 device: 'smartphone' 9911 models: 9912 - regex: 'X800\+' 9913 model: 'Le 1 Pro' 9914 - regex: 'X900\+' 9915 model: 'Max X900+' 9916 - regex: 'X50[10]' 9917 model: 'Le 1S' 9918 - regex: '(X910)' 9919 model: '$1' 9920 - regex: 'X900 Build' 9921 model: 'Le X900' 9922 - regex: 'LEX72[07](?:[);/ ]|$)' 9923 model: 'Le Pro 3' 9924 - regex: '(?:Le ?X526|Le2[_ ]x527|Le 2|X52[67])(?:[);/ ]|$)' 9925 model: 'Le 2' 9926 - regex: 'LEX820' 9927 model: 'Le Max 2' 9928 - regex: 'Le ?X([^;/]+) Build' 9929 model: 'Le X$1' 9930 - regex: 'Le ?X([^) ;/]+)' 9931 model: 'Le X$1' 9932 - regex: 'Le ?([12][^;/]+) Build' 9933 model: 'Le $1' 9934 - regex: 'Le Max([^;/]*) Build' 9935 model: 'Le Max$1' 9936 - regex: 'Le Max([^ ;/]*)' 9937 model: 'Le Max$1' 9938 - regex: 'LeEco ([^;/]+) Build' 9939 model: '$1' 9940 9941# Lephone 9942Lephone: 9943 regex: 'lephone[ _]|lephoneP1' 9944 device: 'smartphone' 9945 models: 9946 - regex: 'lephone[ _](K7|K10)' 9947 device: 'feature phone' 9948 model: '$1' 9949 - regex: 'lephone(?:[ _])?(W(1[0125]|[279])|T2|P1)(?:[);/ ]|$)' 9950 model: '$1' 9951 - regex: 'lephone_W7_plus' 9952 model: 'W7 Plus' 9953 9954# lenco 9955Lenco: 9956 regex: 'Lenco ([^/);]*)(?: Build|[);])' 9957 device: 'tablet' 9958 models: 9959 - regex: 'LENCO Diverso-700' 9960 device: 'portable media player' 9961 model: 'Diverso 700' 9962 - regex: 'Lenco ([^/);]*)(?: Build|[);])' 9963 model: '$1' 9964 9965 9966# Aligator 9967Aligator: 9968 regex: 'ALIGATOR[_ ]' 9969 device: 'smartphone' 9970 models: 9971 - regex: 'ALIGATOR[ _](S4080|S50(?:6[56]|[678]0)|S5540|RX510|S6[05]00|RX710|RX800|S5520)(?:[);/ ]|$)' 9972 model: '$1' 9973 9974# lenovo (lenovo.com) 9975Lenovo: 9976 regex: '(?:LNV-)?Lenovo|IdeaTab|IdeaPad|Thinkpad|Yoga Tablet|Tab2A[0-9]-[0-9]{2}[a-z]?|ZUK[ -_]|(?:TB2-X30L|TB3-710I|YT3-X50[ML]|K50a40|TB-(?:X103F|8504F|X304F|X704V|X704A)|A5500-H|A2107A-H|A3500-HV|A2109A|S6000|Z2 Plus|Vibe[ _](?:P1|S6i Plus|S[23567]i|C|[ZX]2|K5(?: Plus)?|V7)|P2A42|L38011|L18011|[5-8]01LV|[67]02LV|Z2131|K350t|K31-t3|TAB 2 A8-50LC|S90-A|P70-A|VR-1541F)(?:[);/ ]|$)' 9977 device: 'smartphone' 9978 models: 9979 - regex: 'Lenovo ?G780' 9980 model: 'G780' 9981 device: 'desktop' 9982 - regex: 'Lenovo ?A3500-FL' 9983 model: 'IdeaTab A7-40' 9984 device: 'tablet' 9985 - regex: '(?:Lenovo ?)?A3500-(?:H|HV|F)' 9986 model: 'IdeaTab A7-50' 9987 device: 'tablet' 9988 - regex: '(?:Lenovo[ _])?A5500-[HF]' 9989 model: 'IdeaTab A8-50' 9990 device: 'tablet' 9991 - regex: 'Lenovo ?A7600' 9992 model: 'IdeaTab A10-70' 9993 device: 'tablet' 9994 - regex: 'A2107A-H' 9995 model: 'A2107' 9996 device: 'tablet' 9997 - regex: 'A2109A' 9998 model: 'IdeaTab A2109A' 9999 device: 'tablet' 10000 - regex: 'TB2-X30[FL]' 10001 model: 'Tab 2 A10-30' 10002 device: 'tablet' 10003 - regex: 'TB-X6C6X' 10004 model: 'Tab K10' 10005 device: 'tablet' 10006 - regex: 'YT3-X50[FLM]' 10007 model: 'Yoga Tab 3' 10008 device: 'tablet' 10009 - regex: 'TB3-730X' 10010 model: 'TAB3 7' 10011 device: 'tablet' 10012 - regex: 'TB3-710[IF]' 10013 model: 'TAB3 7 Essential' 10014 device: 'tablet' 10015 - regex: 'TB-7703X' 10016 model: 'TAB3 7 Plus' 10017 device: 'tablet' 10018 - regex: 'TB3-X70L' 10019 model: 'TAB3 10 Plus' 10020 device: 'tablet' 10021 - regex: 'TB-8703X' 10022 model: 'TAB3 8 Plus' 10023 device: 'tablet' 10024 - regex: 'TAB 2 A8-50LC' 10025 model: 'TAB2 A8-50LC' 10026 device: 'tablet' 10027 - regex: '501LV(?:[);/ ]|$)' 10028 model: 'TAB2 8.0"' 10029 device: 'tablet' 10030 - regex: 'TAB 2 A10-70L(?:[);/ ]|$)' 10031 model: 'TAB 2 A10' 10032 device: 'tablet' 10033 - regex: '(?:TB3-850[FM]|601LV)(?:[);/ ]|$)' 10034 model: 'TAB3 8' 10035 device: 'tablet' 10036 - regex: '602LV(?:[);/ ]|$)' 10037 model: 'TAB3 8 Dual' 10038 device: 'tablet' 10039 - regex: 'TB-X304[FL]' 10040 model: 'TAB4 10' 10041 device: 'tablet' 10042 - regex: 'TB-8504X' 10043 model: 'TAB4 8' 10044 device: 'tablet' 10045 - regex: 'TB-8704X' 10046 model: 'TAB4 8 Plus' 10047 device: 'tablet' 10048 - regex: '(?:TB-X704[FVL]|70[12]LV)(?:[);/ ]|$)' 10049 model: 'TAB4 10 Plus' 10050 device: 'tablet' 10051 - regex: '801LV(?:[);/ ]|$)' 10052 model: 'TAB5 10.1"' 10053 device: 'tablet' 10054 - regex: 'TB-X103F(?:[);/ ]|$)' 10055 model: 'TAB10 10.1"' 10056 device: 'tablet' 10057 - regex: 'TB-X704A(?:[);/ ]|$)' 10058 model: 'Moto Tab' 10059 device: 'tablet' 10060 - regex: 'TB-X605F(?:[);/ ]|$)' 10061 model: 'Tab M10' 10062 device: 'tablet' 10063 - regex: 'TB-X705[FL](?:[);/ ]|$)' 10064 model: 'Tab P10' 10065 device: 'tablet' 10066 - regex: 'TB-J606[LF](?:[);/ ]|$)' 10067 model: 'Tab P11' 10068 device: 'tablet' 10069 - regex: 'TB-J706L(?:[);/ ]|$)' 10070 model: 'Tab P11 Pro' 10071 device: 'tablet' 10072 - regex: 'TB-7104[IF](?:[);/ ]|$)' 10073 model: 'Tab E7' 10074 device: 'tablet' 10075 - regex: 'TB-8304F1(?:[);/ ]|$)' 10076 model: 'Tab E8' 10077 device: 'tablet' 10078 - regex: 'TB-7304' 10079 model: 'Tab 7 Essential' 10080 device: 'tablet' 10081 - regex: 'TB-7504X(?:[);/ ]|$)' 10082 model: 'Tab 7' 10083 device: 'tablet' 10084 - regex: 'PB-6505' 10085 model: 'Tab V7' 10086 device: 'tablet' 10087 - regex: 'TB-X606[FXV](?:[);/ ]|$)' 10088 model: 'Tab M10 FHD Plus' 10089 device: 'tablet' 10090 - regex: 'TB-X605' 10091 model: 'Tab M10 FHD' 10092 device: 'tablet' 10093 - regex: 'Lenovo TB-X306' 10094 model: 'Tab M10 HD' 10095 device: 'tablet' 10096 - regex: 'Lenovo TB-X505' # 2019 10097 model: 'Tab M10' 10098 device: 'tablet' 10099 - regex: 'TB-7305[IX](?:[);/ ]|$)' 10100 model: 'Tab M7' 10101 device: 'tablet' 10102 - regex: 'Lenovo ?B8000(-[FH])?' 10103 model: 'Yoga Tablet 10' 10104 device: 'tablet' 10105 - regex: 'YOGA Tablet 2 Pro-1380[FL]' 10106 model: 'Yoga Tablet 2 Pro 13.3"' 10107 device: 'tablet' 10108 - regex: 'YOGA Tablet 2-1050[FL]' 10109 model: 'Yoga Tablet 2 10.1"' 10110 device: 'tablet' 10111 - regex: 'YOGA Tablet 2-830(?:[FL]|LC)' 10112 model: 'Yoga Tablet 2 8.0"' 10113 device: 'tablet' 10114 - regex: 'Lenovo ?B6000(-[FH])?' 10115 model: 'Yoga Tablet 8' 10116 device: 'tablet' 10117 - regex: 'YT3-X90(L|F|X)' 10118 model: 'Yoga 3 Pro' 10119 device: 'tablet' 10120 - regex: 'YT3-850[FL]' 10121 model: 'Yoga Tab 3 8' 10122 device: 'tablet' 10123 - regex: 'YT3-850M' 10124 model: 'Yoga Tab 3 10' 10125 device: 'tablet' 10126 - regex: 'YT-X703L' 10127 model: 'Yoga Tab 3 Plus' 10128 device: 'tablet' 10129 - regex: 'YT-X705[FL]' 10130 model: 'Yoga Smart Tab' 10131 device: 'tablet' 10132 10133 - regex: 'S6000(?:[);/ ]|$)' 10134 model: 'IdeaTab S6000' 10135 device: 'tablet' 10136 - regex: 'Lenovo ([ASB][0-9]{4})[A-Z]?\-[EHF]' 10137 model: 'IdeaTab $1' 10138 device: 'tablet' 10139 - regex: 'ThinkPadTablet_(A[0-9]{3})_' 10140 model: 'ThinkPad Tablet $1' 10141 device: 'tablet' 10142 - regex: 'ThinkPad ?Tablet([^;/]*) Build' 10143 model: 'ThinkPad Tablet$1' 10144 device: 'tablet' 10145 - regex: 'Lenovo ?A3300-(?:GV|H)' 10146 model: 'TAB 2 A7-30' 10147 device: 'tablet' 10148 - regex: 'TAB 2 A7-30[HGD]C' 10149 model: 'TAB 2 A7' 10150 device: 'tablet' 10151 - regex: 'TB-8504F' 10152 model: 'TAB 4 8' 10153 device: 'tablet' 10154 - regex: 'TB-8704F' 10155 model: 'Tab 4 8" Plus' 10156 device: 'tablet' 10157 - regex: 'TB-8704F' 10158 model: 'Tab 4 8" Plus' 10159 device: 'tablet' 10160 - regex: 'TB-X304X' 10161 model: 'Tab 4 10.1"' 10162 device: 'tablet' 10163 - regex: 'TB-X304X' 10164 model: 'Tab 4 10.1"' 10165 device: 'tablet' 10166 - regex: 'TB-X304F' 10167 model: 'TAB4 10' 10168 device: 'tablet' 10169 - regex: 'TB-X505[FX]' 10170 model: 'M10' 10171 device: 'tablet' 10172 - regex: 'TB-X104[FXL]' 10173 model: 'E10' 10174 device: 'tablet' 10175 - regex: 'Tab2A([0-9]-[0-9]{2}[a-z]?)' 10176 model: 'TAB 2 A$1' 10177 device: 'tablet' 10178 - regex: 'IdeaTab[ \-_]?([a-z0-9]+)' 10179 model: 'IdeaTab $1' 10180 device: 'tablet' 10181 - regex: 'YB-Q501F' # tablet/pc 10182 model: 'Yoga A12' 10183 device: 'tablet' 10184 - regex: 'YT-X705X' 10185 model: 'Yoga Smart Tab' 10186 device: 'tablet' 10187 - regex: 'Yoga Tablet([^;/]+) Build' 10188 model: 'Yoga Tablet$1' 10189 device: 'tablet' 10190 - regex: 'TB-8505FS' 10191 model: 'Smart Tab M8' 10192 device: 'tablet' 10193 - regex: 'TB-8505[FX]' 10194 model: 'Tab M8' 10195 device: 'tablet' 10196 - regex: 'TB-8705F' 10197 model: 'Tab M8 FHD' 10198 device: 'tablet' 10199 - regex: 'TB-8705F' 10200 model: 'Tab M8 FHD' 10201 device: 'tablet' 10202 - regex: 'Lenovo (TB[0-9]?\-[a-z0-9\-]+) Build' 10203 model: '$1' 10204 device: 'tablet' 10205 - regex: 'L18011(?:[);/ ]|$)' 10206 model: 'A5' 10207 - regex: 'L18081(?:[);/ ]|$)' 10208 model: 'A5s' 10209 - regex: 'L19111(?:[);/ ]|$)' 10210 model: 'A7' 10211 - regex: 'L10041(?:[);/ ]|$)' 10212 model: 'A8' 10213 - regex: 'L78121(?:[);/ ]|$)' 10214 model: 'Z6' 10215 - regex: 'Z2 Plus' 10216 model: 'Z2 Plus' 10217 - regex: 'Z2151' 10218 model: 'ZUK Edge' 10219 - regex: 'Z213[12]' 10220 model: 'ZUK Z2' 10221 - regex: 'Z2121' 10222 model: 'ZUK Z2 Pro' 10223 - regex: 'ZUK[ -_]([^/;]*)(?: Build|\))' 10224 model: 'ZUK $1' 10225 - regex: 'K10a40(?:[);/ ]|$)' 10226 model: 'C2' 10227 - regex: '(?:k50a40|K50-t5)(?:[);/ ]|$)' 10228 model: 'K3 Note' 10229 - regex: 'K(1[30]) Note(?:[);/ ]|$)' 10230 model: 'K$1 Note' 10231 - regex: 'A7010(?:a48)?(?:[);/ ]|$)' 10232 model: 'K4 Note' 10233 - regex: 'K350t(?:[);/ ]|$)' 10234 model: 'K5' 10235 - regex: 'L38011(?:[);/ ]|$)' 10236 model: 'K5 Play' 10237 - regex: '(?:L38041|K5 Pro)(?:[);/ ]|$)' 10238 model: 'K5 Pro' 10239 - regex: 'L39051(?:[);/ ]|$)' 10240 model: 'K10 Plus' 10241 - regex: '(?:A7020a4[08]|L38012|K52e78)(?:[);/ ]|$)' 10242 model: 'K5 Note' 10243 - regex: 'L19041(?:[);/ ]|$)' 10244 model: 'A6 Note' 10245 - regex: 'K31-t3(?:[);/ ]|$)' 10246 model: 'K31' 10247 - regex: 'A6010Pro(?:[);/ ]|$)' 10248 model: 'A6010 Pro' 10249 - regex: '(?:A6020a46|Vibe K5 Plus)(?:[);/ ]|$)' 10250 model: 'Vibe K5 Plus' 10251 - regex: '(?:Lenovo-)?(?:A6020(?:a40|l36)|Vibe K5)(?:[);/ ]|$)' 10252 model: 'Vibe K5' 10253 - regex: 'VIBE Z2(?:[);/ ]|$)' 10254 model: 'Vibe Z2' 10255 - regex: '(?:VIBE C|A2020a40)(?:[);/ ]|$)' 10256 model: 'Vibe C' 10257 - regex: 'VIBE X2(?:[);/ ]|$)' 10258 model: 'Vibe X2' 10259 - regex: 'X3(?:a40|c50)(?:[);/ ]|$)' 10260 model: 'Vibe X3' 10261 - regex: 'Lenovo X3 Lite(?:[);/ ]|$)' 10262 model: 'Vibe X3 Lite' 10263 - regex: 'VIBE V7(?:[);/ ]|$)' 10264 model: 'Vibe V7' 10265 - regex: 'VIBE S6i Plus(?:[);/ ]|$)' 10266 model: 'Vibe S6i Plus' 10267 - regex: 'VIBE[ _]S([23567])i(?:[);/ ]|$)' 10268 model: 'Vibe S$1i' 10269 - regex: 'L79031(?:[);/ ]|$)' 10270 model: 'Legion Pro' 10271 - regex: 'k33a48(?:[);/ ]|$)' 10272 model: 'K6' 10273 - regex: 'L38043(?:[);/ ]|$)' 10274 model: 'K9' 10275 - regex: 'P2A42(?:[);/ ]|$)' 10276 model: 'P2' 10277 - regex: 'k53a48(?:[);/ ]|$)' 10278 model: 'K6 Note' 10279 - regex: 'K33a42(?:[);/ ]|$)' 10280 model: 'K6 Power' 10281 - regex: 'P1ma40(?:[);/ ]|$)' 10282 model: 'Vibe P1m' 10283 - regex: 'Vibe P1 Turbo(?:[);/ ]|$)' 10284 model: 'Vibe P1 Turbo' 10285 - regex: '(?:P1(?:a42|c72)|Vibe P1)(?:[);/ ]|$)' 10286 model: 'Vibe P1' 10287 - regex: 'A2016a40(?:[);/ ]|$)' 10288 model: 'Vibe B' 10289 - regex: 'A1010a20(?:[);/ ]|$)' 10290 model: 'A Plus' 10291 - regex: '(?:Z90a40|Z90-7)(?:[);/ ]|$)' 10292 model: 'Vibe Shot' 10293 - regex: 'S1a40(?:[);/ ]|$)' 10294 model: 'Vibe S1' 10295 - regex: 'S1La40(?:[);/ ]|$)' 10296 model: 'Vibe S1 Lite' 10297 - regex: 'L78071(?:[);/ ]|$)' 10298 model: 'Z5s' 10299 - regex: 'L78011(?:[);/ ]|$)' 10300 model: 'Z5' 10301 - regex: 'L78031(?:[);/ ]|$)' 10302 model: 'Z5 Pro' 10303 - regex: '(?:Z6 Pro|L78051)(?:[);/ ]|$)' 10304 model: 'Z6 Pro' 10305 - regex: 'L78032(?:[);/ ]|$)' 10306 model: 'Z5 Pro GT' 10307 - regex: 'L38111(?:[);/ ]|$)' 10308 model: 'Z6 Youth' 10309 - regex: 'L58041(?:[);/ ]|$)' 10310 model: 'S5 Pro' 10311 - regex: 'L58091(?:[);/ ]|$)' 10312 model: 'S5 Pro GT' 10313 - regex: 'L18021(?:[);/ ]|$)' 10314 model: 'A3' 10315 - regex: 'PB2-6(?:70M|50[YM])(?:[);/ ]|$)' 10316 model: 'Phab 2' 10317 - regex: 'PB1-750M(?:[);/ ]|$)' 10318 model: 'Phab' 10319 - regex: 'PB1-770M(?:[);/ ]|$)' 10320 model: 'Phab Plus' 10321 - regex: '(S90-A|P70-A)(?:[);/ ]|$)' 10322 model: '$1' 10323 - regex: 'IdeaPad ?([^;/]*) Build' 10324 model: 'IdeaPad $1' 10325 device: 'tablet' 10326 10327 - regex: 'Lenovo K12 Pro' 10328 model: 'K12 Pro' 10329 10330 - regex: 'VR-1541F' # VR headset 10331 device: 'wearable' 10332 model: 'Mirage Solo' 10333 10334 - regex: 'LENOVO/81W8(?:[);/ ]|$)' 10335 device: 'desktop' 10336 model: 'IdeaPad S145-15IIL' 10337 - regex: 'LENOVO/81MV(?:[);/ ]|$)' 10338 device: 'desktop' 10339 model: 'IdeaPad S145-15IWL' 10340 - regex: 'LENOVO/81SS(?:[);/ ]|$)' 10341 device: 'desktop' 10342 model: 'Flex 14API 81SS' 10343 10344 10345 - regex: 'Lenovo TAB ?([^/;]*) Build' 10346 model: 'TAB $1' 10347 device: 'tablet' 10348 - regex: 'Lenovo ([^/;]*) Build' 10349 model: '$1' 10350 - regex: '(?:LNV-|Lenovo-)?Lenovo[ \-_]?([a-z0-9_+\-]+)' 10351 model: '$1' 10352 10353 10354# Lexand 10355Lexand: 10356 regex: '(?:SC7 PRO HD|S5A[1-4]|S4A[1-5]|S6A1|A811|A802)(?:[);/ ]|$)|Lexand ([^;/]+) Build' 10357 device: 'smartphone' 10358 models: 10359 - regex: 'A(811|802)' 10360 device: 'tablet' 10361 model: 'A$1' 10362 10363 - regex: 'S4A1' 10364 model: 'Vega' 10365 - regex: 'S4A2' 10366 model: 'Irida' 10367 - regex: 'S4A3' 10368 model: 'Pallada' 10369 - regex: 'S4A5' 10370 model: 'Oxygen' 10371 - regex: 'S4A4 NEON' 10372 model: 'S4A4 Neon' 10373 - regex: 'S5A1' 10374 model: 'Callisto' 10375 - regex: 'S5A2' 10376 model: 'Overon' 10377 - regex: 'S5A3' 10378 model: 'Capella' 10379 - regex: 'S5A4' 10380 model: 'Argon' 10381 - regex: 'S6A1' 10382 model: 'Antares' 10383 - regex: 'SC7 PRO HD' 10384 model: 'SC7 PRO HD' 10385 10386 - regex: 'Lexand ([^;/]+) Build' 10387 model: '$1' 10388 10389# lexibook 10390Lexibook: 10391 regex: '(MFC[0-9]{3}[a-z]{2,})' 10392 device: 'tablet' 10393 models: 10394 # Explicit tablet models 10395 - regex: 'MFC191FR' 10396 model: 'Tablet Ultra 3 XL' 10397 - regex: 'MFC045FR' 10398 model: 'TabTab' 10399 - regex: 'MFC163FR' 10400 model: 'Tablet Master 3' 10401 - regex: 'MFC142FR' 10402 model: 'Tablet Kids' 10403 - regex: 'MFC250FR' 10404 model: 'Tablet Junior' 10405 - regex: 'MFC270FR' 10406 model: 'Tablet Junior Power Touch' 10407 - regex: 'MFC280FR' 10408 model: 'Tablet Junior 2' 10409 - regex: 'MFC156FR' 10410 model: 'Tablet One' 10411 - regex: 'MFC155FR' 10412 model: 'Tablet Master' 10413 - regex: 'MFC157FR' 10414 model: 'Tablet Master 2' 10415 - regex: 'MFC17[05]FR' 10416 model: 'Tablet Ultra' 10417 - regex: 'MFC375FR' 10418 model: 'Tablet Ultra 2' 10419 - regex: 'MFC162FR' 10420 model: 'Power Tablet' 10421 - regex: 'MFC180FR' 10422 model: 'Tablet Advanced' 10423 - regex: 'MFC181FR' 10424 model: 'Tablet Advanced 2' 10425 - regex: 'MFC500FR' 10426 model: 'Tablet XL' 10427 - regex: 'MFC190BBFR' 10428 model: 'Barbie Tablet' 10429 - regex: 'MFC195DCFR' 10430 model: 'Tablet Disney Cars HD' 10431 - regex: 'MFC195FUFR' 10432 model: 'Furby Tablet' 10433 - regex: 'MFC195DPFR' 10434 model: 'Tablet Disney Princesse HD' 10435 - regex: 'MFC140FR' 10436 model: 'LapTab' 10437 - regex: 'MFC141FR' 10438 model: 'LapTab 2' 10439 10440 - regex: '(MFC[0-9]{3}[a-z]{2,})' 10441 model: '$1' 10442 10443# LG (lg.com) 10444LG: 10445 regex: 'LG|Web0S; Linux/SmartTV|portalmmm/2\.0 (?:KE|KG|KP|L3)|(?:VX[0-9]+|L-0[12]D|L-07C|P713|(LM-[A-Z][0-9]{3}[A-Z]{0,3}(?:\(FGN?\)|\(G\)|\.FN|\.F(?:GN?)?)?)|LM-(X625N1|G820QM[0127]))(?:[);/ ]|$)|NetCast|RS98[78]|RS500|VS(?:50[01]|835|876|880|98[0578]|99[056]|(410|415|425|500|880)PP)|VS820|VS870 4G|Nexsus 5|LML(41[34]D|211B|713D|212V)L|VK810 4G|VK815|X5-LG|L-05[DE]|L-03K|L-01[LJK]|L-52A|L-[45]1A|901LG|A001LG|80[12]LG|402LG|LGT32|L-02K|L-01F|LM-V40|DM-01K|DM-02H|LMX130IM|VS810PP|VS425' 10446 device: 'smartphone' 10447 models: 10448 - regex: 'DM-(01K|02H)' 10449 model: 'Disney Mobile DM-$1' 10450 - regex: 'LG-D32[05]' 10451 model: 'L70' 10452 - regex: 'LG-?(D315|L31L)' 10453 model: 'F70' 10454 - regex: 'LG-D4(?:[01]5|10)' 10455 model: 'L90' 10456 - regex: 'LG-D373' 10457 model: 'L80' 10458 - regex: 'LG-D340F8' 10459 model: 'L70 Tri' 10460 - regex: 'LG-D125' 10461 model: 'L30' 10462 - regex: 'LG-X145' 10463 model: 'L60' 10464 - regex: 'LG-X135' 10465 model: 'L60i' 10466 - regex: 'LG-D285' 10467 model: 'L65' 10468 - regex: 'LM-X210APM' 10469 model: 'Phoenix 4' 10470 - regex: 'LG-P505R' 10471 model: 'Phoenix' 10472 - regex: 'LM-X210VPP' 10473 model: 'Zone 4' 10474 - regex: 'LM-X220PM' 10475 model: 'Tribute Empire' 10476 - regex: 'LGLS675' 10477 model: 'Tribute 5' 10478 - regex: 'LG-F570' 10479 model: 'Band Play' 10480 - regex: 'VS980|L-01F|LG-F320L|LG-D800' 10481 model: 'G2' 10482 - regex: 'LG-D6(?:18|20)' 10483 model: 'G2 Mini' 10484 - regex: 'LG-D85[012568]|VS985|LGLS990|LGL24(?:[);/ ]|$)' 10485 model: 'G3' 10486 - regex: 'LG-D722' 10487 model: 'G3S' 10488 - regex: 'LG-D693n?|LG-D690n' 10489 model: 'G3 Stylus' 10490 - regex: 'LG-D72[23568]' 10491 model: 'G3 Beat' 10492 - regex: 'LG-F460' 10493 model: 'G3 Cat. 6' 10494 - regex: 'LG-D724' 10495 model: 'G3s' 10496 - regex: 'LG-?H81[012589]|LG-?[LU]S991|LGV32|LG-F500[LSK]' 10497 model: 'G4' 10498 - regex: 'LG-H525n?' 10499 model: 'G4c' 10500 - regex: 'LG-(?:H540|H542|H630)' 10501 model: 'G4 Stylus' 10502 - regex: 'LG-H736' 10503 model: 'G4s' 10504 - regex: 'LG-H735' 10505 model: 'G4 Beat' 10506 - regex: 'LG-H8(?:20|3[01]|5[08]|6[08])|VS987|RS988|LG-F700[SKL]|LG-?[LU]S992' 10507 model: 'G5' 10508 - regex: 'LG-H84[05]' 10509 model: 'G5 SE' 10510 - regex: 'VS988|LG-H87(?:[01](?:DS|[SI]|AR)?|[23])|LG-?US997|LGM-G600[SKL]|LG-[AL]S993' 10511 model: 'G6' 10512 - regex: 'LM-Q850' 10513 model: 'G7 Fit' 10514 - regex: 'LM-Q910' 10515 model: 'G7 One' 10516 - regex: 'LGL23(?:[);/ ]|$)' 10517 model: 'G Flex' 10518 - regex: 'LG-H950' 10519 model: 'G Flex 2' 10520 - regex: 'LG-D68[06]' 10521 model: 'G Pro Lite' 10522 - regex: 'LM-G820(N|QM[0127]|UMB)?' 10523 model: 'G8' 10524 - regex: 'LM-G850' 10525 model: 'G8X ThinQ' 10526 - regex: 'LM-G810' 10527 model: 'G8S ThinQ' 10528 - regex: '901LG(?:[);/ ]|$)' 10529 model: 'G8X ThinQ' 10530 - regex: 'LG-H410(?:[);/ ]|$)' 10531 model: 'Wine Smart H410' 10532 - regex: 'VS501|LM-X120' 10533 model: 'K20' 10534 - regex: 'LGMS395' 10535 model: 'F60' 10536 - regex: 'LG-H788' 10537 model: 'AKA' 10538 - regex: 'LM-K920' 10539 model: 'K92' 10540 - regex: 'LGL41C' 10541 model: 'Ultimate 2' 10542 - regex: 'LGLS660' 10543 model: 'Tribute' 10544 - regex: '(?:LG-)?H50[02]' 10545 model: 'Magna' 10546 - regex: 'LG-(?:X15[05]|X165g)' 10547 model: 'Bello 2' 10548 - regex: 'LG-D33[15]' 10549 model: 'L Bello' 10550 - regex: 'LG-D29[05]' 10551 model: 'L Fino' 10552 - regex: '(?:LG-)?H343' 10553 model: 'Risio' 10554 - regex: '(?:LG-)?H650' 10555 model: 'Zero' 10556 - regex: '(?:LG-)?M154' 10557 model: 'Risio 2' 10558 - regex: 'LGM-K120[LSK]' 10559 model: 'X300' 10560 - regex: 'LG-K120(?:[);/ ]|$)' 10561 model: 'Spree' 10562 - regex: 'LGM-X401S' 10563 model: 'X400' 10564 - regex: 'LGM-X320[SKL]?(?:[);/ ]|$)' 10565 model: 'X500' 10566 - regex: 'LG-F620K' 10567 model: 'Class' 10568 - regex: '(?:LG-)?P500H' 10569 model: 'Optimus One' 10570 - regex: 'LG-E975' 10571 model: 'Optimus G' 10572 - regex: 'LG-E435f' 10573 model: 'Optimus L3 II' 10574 - regex: 'LG-E4(?:70f|40|65f)' 10575 model: 'Optimus L4 II' 10576 - regex: 'LG-E467f' 10577 model: 'Optimus L4 II Dual' 10578 - regex: 'LG-E460' 10579 model: 'Optimus L5 II' 10580 - regex: 'LG-E4[17]5f' 10581 model: 'Optimus L1 II' 10582 - regex: 'LG-P875' 10583 model: 'Optimus F5' 10584 - regex: 'LGMS500' 10585 model: 'Optimus F6' 10586 - regex: '(L-05[DE])(?:[);/ ]|$)' 10587 model: 'Optimus it $1' 10588 - regex: 'LG-L160L(?:[);/ ]|$)' 10589 model: 'Optimus LTE 2' 10590 - regex: '(?:P713|LG-P71[05])(?:[);/ ]|$)' 10591 model: 'Optimus L7 II' 10592 - regex: 'L-01D(?:[);/ ]|$)' 10593 model: 'Optimus LTE L-01D' 10594 - regex: 'L-02D(?:[);/ ]|$)' 10595 model: 'PRADA phone L-02D' 10596 - regex: 'L-07C' 10597 model: 'Optimus Bright L-07C' 10598 - regex: '(?:LG-?)?(?:F800[SKL]?|H990|H910(?:PR)?|US996|V34|LS997)(?:[);/ ]|$)' 10599 model: 'V20' 10600 - regex: 'LM-Q710(?:\(FGN\)|[\.]?FGN)' 10601 model: 'Q Stylus Plus' 10602 - regex: '801LG' 10603 model: 'Q Stylus' 10604 - regex: 'LG-M400' 10605 model: 'Stylus 3' 10606 - regex: 'LG-(?:K520|F720[SL])' 10607 model: 'Stylus 2' 10608 - regex: 'LG-(?:K53[05])' 10609 model: 'Stylus 2 Plus' 10610 - regex: 'LM-Q[67]10\.FG(?:[);/ ]|$)' 10611 model: 'Q7' 10612 - regex: 'LM-(Q725[KL]|Q610.FGN)(?:[);/ ]|$)' 10613 model: 'Q7+' 10614 - regex: 'LM-Q815[KSL](?:[);/ ]|$)' 10615 model: 'Q8+' 10616 - regex: 'LGM-X800[KL]|LG-H970' 10617 model: 'Q8' 10618 - regex: 'LM-Q925[LKS](?:[);/ ]|$)' 10619 model: 'Q9' 10620 - regex: 'LM-(?:Q730N|Q620)(?:[);/ ]|$)' 10621 model: 'Q70' 10622 - regex: 'LM-Q520N(?:[);/ ]|$)' 10623 model: 'Q52' 10624 - regex: 'LGV33(?:[);/ ]|$)' 10625 model: 'Qua Phone PX' 10626 - regex: 'L-03K(?:[);/ ]|$)' 10627 model: 'Style' 10628 - regex: 'L-01L(?:[);/ ]|$)' 10629 model: 'Style 2' 10630 - regex: 'LGLS775' 10631 model: 'Stylo 2' 10632 - regex: 'VS835(?:[);/ ]|$)' 10633 model: 'Stylo 2 V' 10634 - regex: 'LG-?(?:MS550|K550)' 10635 model: 'Stylo 2 Plus' 10636 - regex: 'L-41A(?:[);/ ]|$)' 10637 model: 'Style 3' 10638 - regex: 'LG-?(?:MS63[14]|H63[45])(?:[);/ ]|$)' 10639 model: 'G Stylo' 10640 - regex: 'LG-?(?:LS777|L84VL|M430|L83BL)(?:[);/ ]|$)' 10641 model: 'Stylo 3' 10642 - regex: 'LG-?([TM]P450)(?:[);/ ]|$)' 10643 model: 'Stylo 3 Plus' 10644 - regex: 'LM-Q710|LML713DL|LG-Q710[AP]L' 10645 model: 'Stylo 4' 10646 - regex: '(?:LM-Q720|LGL722DL)(?:[);/ ]|$)' 10647 model: 'Stylo 5' 10648 - regex: 'LM-Q730(?:[);/ ]|$)' 10649 model: 'Stylo 6' 10650 - regex: 'LM-G710(N|VM)?|LG-G710' 10651 model: 'G7 ThinQ' 10652 - regex: 'LG-M153' 10653 model: 'Fortune' 10654 - regex: 'LM-X210CM' 10655 model: 'Fortune 2' 10656 - regex: 'LM-X410\.FG?(?:[);/ ]|$)' 10657 model: 'Premier Pro' 10658 - regex: 'LGL455DL(?:[);/ ]|$)' 10659 model: 'Premier Pro Plus' 10660 - regex: 'LML41[34]DL(?:[);/ ]|$)' 10661 model: 'Premier Pro LTE' 10662 - regex: 'LM-X525' 10663 model: 'Q60' 10664 - regex: 'LM-K315IM' 10665 model: 'W31' 10666 - regex: 'LGL423DL' 10667 model: 'Solo LTE' 10668 - regex: 'LM-X210K' 10669 model: 'X2' 10670 - regex: 'LG-(?:K580|F690L)' 10671 model: 'X Cam' 10672 - regex: 'LG-(?:SP320|M32[27])' 10673 model: 'X Charge' 10674 - regex: 'LG-K200|LGLS676' 10675 model: 'X Style' 10676 - regex: 'LG-F740L' 10677 model: 'X Skin' 10678 - regex: 'LG-(?:K500|F650)' 10679 model: 'X Screen' 10680 - regex: 'LG-(?:M710|H700|US701)' 10681 model: 'X Venture' 10682 - regex: 'LM-X510WM' 10683 model: 'X Power 3' 10684 - regex: 'LM-X(?:41[05]K|410S)' 10685 model: 'X4' 10686 - regex: 'LM-X(415[LS]|410L)' 10687 model: 'X4+' 10688 - regex: 'LM-X410(?:\.FN|\(FG\))' 10689 model: 'K11' 10690 - regex: 'LM-X(?:320|410[UP]M)|LGL322DL' 10691 model: 'K30' 10692 - regex: 'LMX130IM' 10693 model: 'W10' 10694 - regex: 'LG-H522' 10695 model: 'Prime Plus 4G' 10696 - regex: 'LGL58VL' 10697 model: 'Rabel 2' 10698 - regex: 'LG-X190' 10699 model: 'Ray' 10700 - regex: 'LGLS740' 10701 model: 'Volt' 10702 - regex: 'LM-X410' 10703 model: 'LM-X410' 10704 - regex: 'LGM-K121' 10705 model: 'X400' 10706 - regex: 'LGM-X401L' 10707 model: 'X401' 10708 - regex: 'LM-X420N' 10709 model: 'X4 (2019)' 10710 - regex: '(?:LG-X230|VS425)(?:[);/ ]|$)' 10711 model: 'K4' 10712 - regex: 'LG-K130(?:[);/ ]|$)' 10713 model: 'K4 LTE' 10714 - regex: '(?:LG-?)?(?:M160|L57BL)(?:[);/ ]|$)' 10715 model: 'K4 (2017)' 10716 - regex: 'LM-X420' 10717 model: 'K40' 10718 - regex: 'LM-X430(?:[);/ ]|$)' 10719 model: 'K40S' 10720 - regex: 'LM-K410' 10721 model: 'K41S' 10722 - regex: 'LG-X220' 10723 model: 'K5' 10724 - regex: 'LM-X540' 10725 model: 'K50S' 10726 - regex: '(?:802LG|LM-X520)(?:[);/ ]|$)' 10727 model: 'K50' 10728 - regex: '402LG' 10729 model: 'Spray' 10730 - regex: 'L-02K' 10731 model: 'JoJo' 10732 - regex: '(?:LM-X510[KLS]|X5-LG)' 10733 model: 'X5' 10734 - regex: 'LM-X625N1' 10735 model: 'X6' 10736 - regex: 'LM-X625N' 10737 model: 'X6 (2019)' 10738 - regex: 'LGMS210|LG-M210' 10739 model: 'Aristo' 10740 - regex: 'LM-X210[G]?' 10741 model: 'Aristo 2' 10742 - regex: 'LM-X220(?:[);/ ]|$)' 10743 model: 'Aristo 3' 10744 - regex: 'LM-V40(?:5|9N|5EBW)?(?:[);/ ]|$)' 10745 model: 'V40 ThinQ' 10746 - regex: 'LM-(?:V500N?|V450)(?:[);/ ]|$)' 10747 model: 'V50 ThinQ' 10748 - regex: 'LM-V510N' 10749 model: 'V50S ThinQ' 10750 - regex: 'LM-Q920N' 10751 model: 'Q92' 10752 - regex: 'LM-Q927L' 10753 model: 'Q9 One' 10754 - regex: '(?:LG-)?(?:RS987|H90[01]|H96[02128]|VS990|F600[LK]|K428)' 10755 model: 'V10' 10756 - regex: 'LG-(?:X240|M200)' 10757 model: 'K8 (2017)' 10758 - regex: 'LM-X220QMA' 10759 model: 'K8s' 10760 - regex: '(?:LG-)?RS500' 10761 model: 'K8 4G' 10762 - regex: '(?:LG-)?VS500' 10763 model: 'K8 V' 10764 - regex: 'LM-X212\(G\)|LGUS215' 10765 model: 'K8 (2018)' 10766 - regex: '(?:LG-)?(?:VS995|F800K|US999|LS997|H91[058]|H990(?:DS|[NT])?)' 10767 model: 'V20' 10768 - regex: '(?:VS996|LG-(?:H933|H93[012]|H930RE|H932PR|[LU]S998|AS998)|LGM-V300[KLS])(?:[);/ ]|$)' 10769 model: 'V30' 10770 - regex: 'L-01J(?:[);/ ]|$)' 10771 model: 'V20 Pro' 10772 - regex: '(?:L-01K|LGV35|LG-H930DS)(?:[);/ ]|$)' 10773 model: 'V30 Plus' 10774 - regex: 'L-51A(?:[);/ ]|$)' 10775 model: 'V60' 10776 - regex: '(?:L-52A|LM-G900(?:N|TM)?)(?:[);/ ]|$)' 10777 model: 'Velvet 5G' 10778 - regex: '(?:LM-G910)(?:[);/ ]|$)' 10779 model: 'Velvet 4G' 10780 - regex: '(?:A001LG|LM-V600)(?:[);/ ]|$)' 10781 model: 'V60 ThinQ 5G' 10782 - regex: '(?:LG-)?VS410PP' 10783 model: 'Optimus Zone' 10784 - regex: 'LM-V350[N]?' 10785 model: 'V35' 10786 - regex: '(?:LG-)?VS415PP' 10787 model: 'Optimus Zone 2' 10788 - regex: '(?:LG-)?VS425PP' 10789 model: 'Optimus Zone 3' 10790 - regex: '(?:LG-?)?(?:K100|LS450)' 10791 model: 'K3' 10792 - regex: 'LG-AS110' 10793 model: 'K3 (2017)' 10794 - regex: '(?:LG-?)?(?:K|MS)33[02]|LG-X210' 10795 model: 'K7' 10796 - regex: '(?:LG-?)?(?:K|MS)350' 10797 model: 'K8' 10798 - regex: 'VS500PP' 10799 model: 'K8 V' 10800 - regex: '(?:LG-?)?(?:K420(?:N)?|F670[KLS]?|K430(?:DS|DSF|DSY)?|K410|MS428)' 10801 model: 'K10' 10802 - regex: '(?:LG-)?M250N?' 10803 model: 'K10 (2017)' 10804 - regex: '(?:LG-)?M255' 10805 model: 'K20' 10806 - regex: '(?:LG-?)?[MT]P260' 10807 model: 'K20 Plus' 10808 - regex: 'LM-K200(?:[);/ ]|$)' 10809 model: 'K22' 10810 - regex: 'LM-K300(?:[);/ ]|$)' 10811 model: 'K31' 10812 - regex: 'LM-K420(?:[);/ ]|$)' 10813 model: 'K42' 10814 - regex: '(?:LM-K500|LGL555DL)(?:[);/ ]|$)' 10815 model: 'K51' 10816 - regex: 'LM-K510(?:[);/ ]|$)' 10817 model: 'K51S' 10818 - regex: 'LM-K520(?:[);/ ]|$)' 10819 model: 'K52' 10820 - regex: 'LM-K525(?:[);/ ]|$)' 10821 model: 'K56' 10822 - regex: 'LM-K526(?:[);/ ]|$)' 10823 model: 'K56 Plus' 10824 - regex: 'LM-Q510N(?:[);/ ]|$)' 10825 model: 'Q51' 10826 - regex: 'LM-Q630N?(?:[);/ ]|$)' 10827 model: 'Q61' 10828 - regex: '(?:LG-)?M700(?:N|A|DSK|AN)?|LGM-X600[SLK]|LG-M703|LG-US700' 10829 model: 'Q6' 10830 - regex: 'LM-X440IM' 10831 model: 'W30' 10832 - regex: 'LGV36(?:[);/ ]|$)' 10833 model: 'it' 10834 - regex: 'LG-M257(?:[);/ ]|$)' 10835 model: 'Harmony' 10836 - regex: 'LM-K400(?:[);/ ]|$)' 10837 model: 'Harmony 4' 10838 - regex: '(?:LG-?)?(?:K220|LS755|F750K)' 10839 model: 'X Power' 10840 - regex: '(?:LG-?)?M320' 10841 model: 'X Power 2' 10842 - regex: '(?:LG-)?K371' 10843 model: 'Phoenix 2' 10844 - regex: '(?:LG-)?M150' 10845 model: 'Phoenix 3' 10846 - regex: '(?:LG-)?F100[SL]' 10847 model: 'Optimus Vu' 10848 - regex: '(?:LG-)?P880' 10849 model: 'Optimus 4X HD' 10850 - regex: '(?:LG-)?(H340n?|H324)' 10851 model: 'Leon' 10852 - regex: '(?:LG-)?H342|LGMS345' 10853 model: 'Leon 4G LTE' 10854 - regex: '(?:LG-)?H4(?:40|2[02])' 10855 model: 'Spirit' 10856 - regex: '(?:LG)?C660' 10857 model: 'Optimus Pro' 10858 - regex: 'LGL158VL' 10859 model: 'Rebel 3' 10860 - regex: 'LML21(?:1B|2V)L' 10861 model: 'Rebel 4' 10862 - regex: 'VS876' 10863 model: 'Lucid 3' 10864 - regex: 'VS880(PP)?|LG-D690' 10865 model: 'G Vista' 10866 - regex: 'VS820' 10867 model: 'Lancet' 10868 - regex: 'VS870 4G' 10869 model: 'Lucid 2' 10870 - regex: 'VS810PP' 10871 model: 'Transpyre' 10872 - regex: 'LM-F100N?(?:[);/ ]|$)' 10873 device: 'phablet' 10874 model: 'WING' 10875 10876 - regex: 'LM-T605' 10877 model: 'G Pad 5 10.1" FHD' 10878 device: 'tablet' 10879 - regex: 'LG-?(?:UK|V)410' 10880 model: 'G Pad 7.0" LTE' 10881 device: 'tablet' 10882 - regex: 'LG-V533' 10883 model: 'G Pad IV 8.0"' 10884 device: 'tablet' 10885 - regex: 'LG-?(?:LK430|V400)' 10886 model: 'G Pad F 7.0"' 10887 device: 'tablet' 10888 - regex: 'LGLK430' 10889 model: 'G Pad F 7.0"' 10890 device: 'tablet' 10891 - regex: 'LG-V49[56]' 10892 model: 'G Pad F 8.0"' 10893 device: 'tablet' 10894 - regex: 'LG-V4[89]0' 10895 model: 'G Pad 8.0' 10896 device: 'tablet' 10897 - regex: 'LGT01' 10898 model: 'G Pad 8.0" LTE' 10899 device: 'tablet' 10900 - regex: 'LG-V500' 10901 model: 'G Pad 8.3' 10902 device: 'tablet' 10903 - regex: 'LG-V700' 10904 model: 'G Pad 10.1' 10905 device: 'tablet' 10906 - regex: 'LG-V497' 10907 model: 'G Pad II 8.0"' 10908 device: 'tablet' 10909 - regex: 'LG-V935' 10910 model: 'G Pad II 10.1' 10911 device: 'tablet' 10912 - regex: 'LGT02' 10913 model: 'G Pad III 8.0' 10914 device: 'tablet' 10915 - regex: 'LG-V521' 10916 model: 'G Pad X 8.0' 10917 device: 'tablet' 10918 - regex: 'VK810' 10919 model: 'G Pad 8.3 LTE' 10920 device: 'tablet' 10921 - regex: 'VK815' 10922 model: 'G Pad X 8.3' 10923 device: 'tablet' 10924 - regex: 'LG-V520' 10925 model: 'G Pad X 8.0"' 10926 device: 'tablet' 10927 - regex: 'LG-V530' 10928 model: 'G Pad X2 8.0" Plus' 10929 device: 'tablet' 10930 - regex: 'LGT32' 10931 model: 'Qua Tad PZ' 10932 device: 'tablet' 10933 - regex: 'LGT31' 10934 model: 'Qua Tad PX' 10935 device: 'tablet' 10936 10937 - regex: 'webOS.TV' 10938 device: 'tv' 10939 model: 'WebOS TV' 10940 - regex: 'LGE_DLNA_SDK|NetCast' 10941 device: 'tv' 10942 model: 'NetCast' 10943 10944 - regex: 'LG Watch Urbane' 10945 device: 'wearable' 10946 model: 'Watch Urbane' 10947 10948 # general detections 10949 - regex: '(LM-[A-Z]{1}[0-9]{3}([A-Z]{1,3})?)' 10950 model: '$1' 10951 - regex: 'LGE(?: |-LG| LG-AX|-)([a-z0-9]+)' 10952 model: '$1' 10953 - regex: 'FBDV/LG-([a-z0-9]+);FBSV' 10954 model: '$1' 10955 - regex: 'LGE;([a-z0-9\-]+)' 10956 model: '$1' 10957 - regex: 'LG[ _\-](V90.*|Optimus[ _\-]Pad.*) Build' 10958 device: 'tablet' 10959 model: '$1' 10960 - regex: 'LGM-([^/;]*)( Build|[;)])' 10961 model: '$1' 10962 - regex: 'LG(?:/|-LG| |-)?([^/;]*) Build' 10963 model: '$1' 10964 - regex: 'LG(?:/|-LG| |-)?([a-z0-9]+)' 10965 model: '$1' 10966 - regex: 'LG; ([a-z0-9 ]+)' 10967 model: '$1' 10968 - regex: 'portalmmm/2.0 ((?:KE|KG|KP|L3)[a-z0-9]+)' 10969 model: '$1' 10970 - regex: '(VX[0-9]+)' 10971 model: '$1' 10972 10973 - regex: 'Web0S; Linux/SmartTV' 10974 device: 'tv' 10975 model: '' 10976 10977# Lingwin 10978Lingwin: 10979 regex: 'Lingwin[ _\-]' 10980 device: 'smartphone' 10981 models: 10982 - regex: 'Lingwin[ _\-]?([^/;]+) Build' 10983 model: '$1' 10984 - regex: 'Lingwin[ _\-]?([^);/ ]+)' 10985 model: '$1' 10986 10987# Logicom (logicom-europe.com) 10988Logicom: 10989 regex: 'LOGICOM[_ ]|(TAB950|TAB1062|E731|E812|E912|E1031|POWER BOT|La[ _]Tab[ _](?:7[24]|10[57]|114)|(?:B|C|M|ID|VR)[ _]?BOT[ _]?(?:TAB[ _])?([0-9]+\+?)(?:PLUS)?|KT712A_4\.4|L-?IXIR[0-9]*|L-ITE|L-EGANTONE(?:-R)?|L-?EMENT.+|Le[ _]?(?:Connect|Hop|Hello|Lift|Hola|Moov[2]?|Must(?: 2)?|Starter L|Fit FR|Spark|Prime|Smooth(?: FR)?))[_);/ ]' 10990 device: 'tablet' 10991 models: 10992 - regex: 'La[ _]Tab[ _](7[24]|10[57]|114)(?:[);/ ]|$)' 10993 model: 'La Tab $1' 10994 - regex: 'LOGICOM_LA_TAB_LINK_71' 10995 model: 'La Tab Link 71' 10996 - regex: 'KT712A_4.4|L-IXIR TAB 701 3G' 10997 model: 'L-ixir Tab 701 3G' 10998 - regex: 'LIXIR1041' 10999 model: 'L-ixir Tab 1041' 11000 - regex: 'L-?IXIR[ _]TAB[ _]([^);/]+)( Build|[);])' 11001 model: 'L-ixir Tab $1' 11002 - regex: 'L-ITE[ _](400M|452|50[46] HD|506R HD|552 HD)(?:[);/ ]|$)' 11003 device: 'smartphone' 11004 model: 'L-ite $1' 11005 - regex: 'L-ITE[ _]([^;/]+) Build' 11006 model: 'L-ite Tab $1' 11007 - regex: 'L-?EMENT[ _]?(350|451|40[103]|55[013]|50[15]|500L?)(?:[);/ ]|$)' 11008 model: 'L-ement $1' 11009 device: 'smartphone' 11010 - regex: 'L-?EMENT[ _](?:TAB)[ )]?([^);/]+)(?: Build|[);])' 11011 model: 'L-ement Tab $1' 11012 - regex: 'L-?EMENT[ _]?(74[01])(?:[);/ ]|$)' 11013 model: 'L-ement Tab $1' 11014 - regex: '(TAB950|TAB1062|E731|E812|E912|E1031)(?:[);/ ]|$)' 11015 model: '$1' 11016 - regex: 'POWER BOT' 11017 model: 'POWER BOT' 11018 - regex: '((?:B|C|M|ID|VR))[ _]?BOT[ _]?((?:TAB[ _])?([0-9]+\+?)(?:PLUS)?)' 11019 model: '$1 BOT $2' 11020 - regex: 'Le Lift' 11021 model: 'Le Lift' 11022 device: 'smartphone' 11023 - regex: 'Le[ _]Connect' 11024 model: 'Le Connect' 11025 device: 'smartphone' 11026 - regex: 'Le Hola FR(?:[);/ ]|$)' 11027 model: 'Le Hola FR' 11028 device: 'smartphone' 11029 - regex: 'Le[ _]Hola(?:[);/ ]|$)' 11030 model: 'Le Hola' 11031 device: 'smartphone' 11032 - regex: 'LeMoov2(?:[);/ ]|$)' 11033 model: 'Le Moov 2' 11034 device: 'smartphone' 11035 - regex: 'LeMoov(?:[);/ ]|$)' 11036 model: 'Le Moov' 11037 device: 'smartphone' 11038 - regex: 'Le Fit FR(?:[);/ ]|$)' 11039 model: 'Le Fit FR' 11040 device: 'smartphone' 11041 - regex: 'Le Hop(?:[);/ ]|$)' 11042 model: 'Le Hop' 11043 device: 'smartphone' 11044 - regex: 'Le[ _]Hello(?:[);/ ]|$)' 11045 model: 'Le Hello' 11046 device: 'smartphone' 11047 - regex: 'Le Smooth FR(?:[);/ ]|$)' 11048 model: 'Le Smooth FR' 11049 device: 'smartphone' 11050 - regex: 'Le Smooth(?:[);/ ]|$)' 11051 model: 'Le Smooth' 11052 device: 'smartphone' 11053 - regex: 'Le Must 2(?:[);/ ]|$)' 11054 device: 'smartphone' 11055 model: 'Le Must 2' 11056 - regex: 'Le Must(?:[);/ ]|$)' 11057 model: 'Le Must' 11058 device: 'smartphone' 11059 - regex: 'Le Starter L(?:[);/ ]|$)' 11060 model: 'Le Starter L' 11061 device: 'smartphone' 11062 - regex: 'Le[ _]Spark(?:[);/ ]|$)' 11063 model: 'Le Spark' 11064 device: 'smartphone' 11065 - regex: 'Le[ _]Prime(?:[);/ ]|$)' 11066 model: 'Le Prime' 11067 device: 'smartphone' 11068 - regex: 'L-EGANTONE-R' 11069 model: 'L-Egant One R' 11070 device: 'smartphone' 11071 - regex: 'L-EGANTONE' 11072 model: 'L-Egant One' 11073 device: 'smartphone' 11074 11075# Konka 11076Konka: 11077 regex: 'KONKA[_ ]([a-z0-9]+)' 11078 device: 'smartphone' 11079 models: 11080 # Explicit smartphone models 11081 - regex: 'E5660S' 11082 model: 'Viva 5660s' 11083 - regex: 'W830' 11084 model: 'Tango 830' 11085 - regex: 'W(9[67]0)' 11086 model: 'Expose $1' 11087 - regex: 'W990' 11088 model: 'Tuxedo 990' 11089 11090 - regex: 'KONKA[_ ]([a-z0-9]+)' 11091 device: 'feature phone' 11092 model: '$1' 11093 11094# Konrow (konrow.com) 11095Konrow: 11096 regex: '(?:BIGCOOL|COOLFIVE|COOL-K|Just5|Link5|EASY(?:5|62)|CITY55|Cool55)(?:[);/ ]|$)' 11097 device: 'smartphone' 11098 models: 11099 - regex: 'BIGCOOL(?:[);/ ]|$)' 11100 model: 'BigCool' 11101 - regex: 'COOL-K(?:[);/ ]|$)' 11102 model: 'Cool-K' 11103 - regex: 'Cool55(?:[);/ ]|$)' 11104 model: 'Cool 55' 11105 - regex: 'COOLFIVE(?:[);/ ]|$)' 11106 model: 'Cool Five' 11107 - regex: 'Just5(?:[);/ ]|$)' 11108 model: 'Just 5' 11109 - regex: 'Link5(?:[);/ ]|$)' 11110 model: 'Link 5' 11111 - regex: 'EASY(5|62)(?:[);/ ]|$)' 11112 model: 'Easy $1' 11113 - regex: 'CITY55(?:[);/ ]|$)' 11114 model: 'City 55' 11115 11116# Karbonn (karbonnmobiles.com) 11117Karbonn: 11118 regex: '(?:Browser-)?Karbonn|K9 Kavach 4G|K9[_ ](?:Viraat|Smart)[_ ]Plus|K9 Music 4G|K9 Smart|K9 VIRAAT 4G|Aura (?:Sleek Plus|Power 4G Plus|Note Play|Note 2)|Titanium[ _](?:3D-Plex|Octane Plus|Vista 4G|Jumbo|S360|S1[059]|S35|S20[13]|S22|S[15]|S200 HD|Frames S7|MOGHUL|S9)|MACHFIVE|MACHONE|K-lite F3|Sparkle V|Alfa A114 Quad|Quattro[ _]L(?:45|5[025])[ _](?:HD|IPS|VR)' 11119 device: 'smartphone' 11120 models: 11121 - regex: 'K9 Kavach 4G' 11122 model: 'K9 Kavach 4G' 11123 - regex: 'K9 Music 4G' 11124 model: 'K9 Music 4G' 11125 - regex: 'K9 Smart 1GB' 11126 model: 'K9 Smart' 11127 - regex: 'K9 Smart 4G' 11128 model: 'K9 Smart 4G' 11129 - regex: 'K9 Smart Grand' 11130 model: 'K9 Smart Grand' 11131 - regex: 'K9 Smart Yuva' 11132 model: 'K9 Smart Yuva' 11133 - regex: 'K9[_ ]Smart[_ ]Plus' 11134 model: 'K9 Smart Plus' 11135 - regex: 'K9 Smart' 11136 model: 'K9 Smart' 11137 - regex: 'K9[_ ]Viraat[_ ]Plus' 11138 model: 'K9 Viraat Plus' 11139 - regex: 'Aura Sleek Plus' 11140 model: 'Aura Sleek Plus' 11141 - regex: 'Aura Power 4G Plus' 11142 model: 'Aura Power 4G Plus' 11143 - regex: 'Aura Note Play' 11144 model: 'Aura Note Play' 11145 - regex: 'Aura Note 2' 11146 model: 'Aura Note 2' 11147 - regex: 'Alfa A114 Quad' 11148 model: 'Alfa A114 Quad' 11149 - regex: 'karbonnK9 Viraat 4G|K9 VIRAAT 4G' 11150 model: 'K9 Viraat 4G' 11151 - regex: 'MACHFIVE' 11152 model: 'Mach Five' 11153 - regex: 'MACHONEPLUS' 11154 model: 'Titanium Mach One Plus' 11155 - regex: 'MACHONE' 11156 model: 'Titanium Mach One' 11157 - regex: 'Titanium[ _]S2[ _]Plus' 11158 model: 'Titanium S2 Plus' 11159 - regex: 'Titanium_S9Plus' 11160 model: 'Titanium S9 Plus' 11161 - regex: 'Titanium[_ ]S(99|360|1[059]|109|35|200 HD|20[13]|22|[15])(?:[);/ ]|$)' 11162 model: 'Titanium S$1' 11163 - regex: 'Titanium Vista 4G' 11164 model: 'Titanium Vista 4G' 11165 - regex: 'Titanium Jumbo 2' 11166 model: 'Titanium Jumbo 2' 11167 - regex: 'Titanium Jumbo' 11168 model: 'Titanium Jumbo' 11169 - regex: 'Titanium[ _]MOGHUL' 11170 model: 'Titanium Moghul' 11171 - regex: 'Titanium Frames S7' 11172 model: 'Titanium Frames S7' 11173 - regex: 'Titanium Octane Plus' 11174 model: 'Titanium Octane Plus' 11175 - regex: 'Titanium[ _]3D-Plex' 11176 model: 'Titanium 3D Plex' 11177 - regex: 'K-lite F3' 11178 model: 'K-Lite F3' 11179 - regex: 'Sparkle V' 11180 model: 'Sparkle V' 11181 - regex: 'Quattro[ _]L(5[05])[ _]HD' 11182 model: 'Quattro L$1 HD' 11183 - regex: 'Quattro[ _]L(45)[ _]IPS' 11184 model: 'Quattro L$1 IPS' 11185 - regex: 'Quattro[ _]L(52)[ _]VR' 11186 model: 'Quattro L$1 VR' 11187 - regex: 'Karbonn ([a-z0-9]+) WAP-Browser' 11188 model: '$1' 11189 device: 'feature phone' 11190 - regex: 'WAP Browser-Karbonn ([a-z0-9]+)/' 11191 model: '$1' 11192 device: 'feature phone' 11193 - regex: 'Karbonn_([^;/)]+)' 11194 model: '$1' 11195 - regex: 'Karbonn ([^;/]+) Build' 11196 model: '$1' 11197 - regex: 'Karbonn ([^;/]+)/' 11198 model: '$1' 11199 11200# Sagem 11201Sagem: 11202 regex: 'SAGEM|portalmmm/2.0 (?:SG|my)' 11203 device: 'smartphone' 11204 models: 11205 - regex: 'SAGEM-(my[a-z0-9\-]+)' 11206 model: '$1' 11207 device: 'feature phone' 11208 - regex: 'SAGEM ([a-z0-9]+)' 11209 model: '$1' 11210 - regex: 'SAGEM-([a-z0-9\-]+)' 11211 model: '$1' 11212 - regex: 'portalmmm/2.0 ((?:SG|my)[a-z0-9]+)' 11213 model: '$1' 11214 11215# Coby Kyros 11216Coby Kyros: 11217 regex: '(MID(?:1024|1125|1126|1045|1048|1060|1065|4331|7012|7015A?|7016|7022|7032|7035|7036|7042|7047|7048|7052|7065|7120|8024|8042|8048|8065|8125|8127|8128|9724|9740|9742))(?:[);/ ]|$)' 11218 device: 'tablet' 11219 model: '$1' 11220 11221# Mpman (mpmaneurope.com) 11222Mpman: 11223 regex: '(?:MPQC|MPDC)[0-9]+|PH(?:150|340|350|360|451|500|520|544|604)|(?:MID(?:7C|74C|82C|84C|801|811|701|711|170|77C|43C|102C|103C|104C|114C)|MP100i OCTA|MP(?:843|717|718|1010|7007|7008|843|888|959|969|QCG(1[01]|77)(?: 3G)?)|MGP7)(?:[);/ ]|$)' 11224 device: 'tablet' 11225 models: 11226 - regex: '((?:MPQC|MPDC)[0-9]+[^/;)]+)(?: Build|\))' 11227 model: '$1' 11228 - regex: 'MP100i OCTA(?:[);/ ]|$)' 11229 model: 'MP100i OCTA' 11230 - regex: 'MPQCG10(?: 3G)?(?:[);/ ]|$)' 11231 model: 'MPQCG10 3G' 11232 - regex: '(MID(?:7C|74C|82C|84C|801|811|701|711|170|77C|43C|102C|103C|104C|114C)|MP(?:843|717|718|1010|7007|7008|843|888|959|969|QCG(?:11|77))|MGP7)(?:[);/ ]|$)' 11233 model: '$1' 11234 - regex: '(PH(?:150|340|350|360|451|500|520|544|604))' 11235 model: '$1' 11236 device: 'smartphone' 11237 11238# Majestic 11239Majestic: 11240 regex: 'MAJESTIC[ _-]|CRONO ?[0-9]+|(?:TAB (?:647|411) 3G|URANO 77LTE|PLUTO__?26N?)(?:[);/ ]|$)' 11241 device: 'smartphone' 11242 models: 11243 - regex: 'URANO 77LTE(?:[);/ ]|$)' 11244 model: 'Urano 77 LTE' 11245 - regex: 'PLUTO__?(26N?)(?:[);/ ]|$)' 11246 model: 'Pluto $1' 11247 - regex: 'TAB (647|411) 3G' 11248 model: 'Tab $1 3G' 11249 device: 'tablet' 11250 - regex: 'MAJESTIC[ _]Tab([^;/]+)Build' 11251 model: 'Tab$1' 11252 device: 'tablet' 11253 - regex: 'MAJESTIC[ _]Tab([^);/]+)(?:[);/]|$)' 11254 model: 'Tab$1' 11255 device: 'tablet' 11256 - regex: 'MAJESTIC[ _]([^;/]+)Build' 11257 model: '$1' 11258 - regex: 'MAJESTIC[ _]([^);/]+)(?:(?:[);/ ]|$)|$)' 11259 model: '$1' 11260 - regex: 'CRONO ?([0-9]+) Build' 11261 model: 'Crono $1' 11262 - regex: 'CRONO ?([0-9]+)(?:[);/]|$)' 11263 model: 'Crono $1' 11264 11265# Manta Multimedia or Manta 11266Manta Multimedia: 11267 regex: 'MSP950(1[245]|2[01])|MSP96017|MSP94501|MSP95009|MSP96002|MSP450[79]|((?<!/)MID713|MID(?:06[SN]|08[S]?|12|13|14|15|701|702|703|704|705(?:DC)?|706[AS]?|707|708|709|711|712|714|717|781|801|802|901|1001|1002|1003|1004(?: 3G)?|1005|1009|1010|7802|9701|9702))(?:[);/ ]|$)' 11268 device: 'smartphone' 11269 models: 11270 - regex: '((?<!/)MID713|MID(?:06[SN]|08[S]?|12|13|14|15|701|702|703|704|705(?:DC)?|706[AS]?|707|708|709|711|712|714|717|781|801|802|901|1001|1002|1003|1004(?: 3G)?|1005|1009|1010|7802|9701|9702))(?:[);/ ]|$)' 11271 device: 'tablet' 11272 model: '$1' 11273 - regex: 'MSP95012' 11274 model: 'Titano 1' 11275 - regex: 'MSP95014' 11276 model: 'Titano 3' 11277 - regex: 'MSP95015' 11278 model: 'Mezo 2' 11279 - regex: 'MSP95020' 11280 model: 'Rocky 2' 11281 - regex: 'MSP95021' 11282 model: 'Rocky 3 Pro' 11283 - regex: 'MSP96017' 11284 model: 'Forto 2' 11285 - regex: 'MSP96002' 11286 model: 'Forto 1' 11287 - regex: 'MSP94501' 11288 model: 'Easy Selfie' 11289 - regex: '(MSP450[79]|MSP95009)(?:[);/ ]|$)' 11290 model: '$1' 11291 11292# Masstel 11293Masstel: 11294 regex: 'Masstel|Juno[ _]Q[567]' 11295 device: 'smartphone' 11296 models: 11297 - regex: '(?:Masstel[_ ])?(Juno[_ ]Q[3567]|X9|N4[56]0|N5[2458]0|N536|M05|M1[29]0|M1[125]|M250|M25)(?:[);/ ]|$)' 11298 model: '$1' 11299 - regex: 'Masstel[_ ]\((M18)\)' 11300 model: '$1' 11301 - regex: 'Masstel_Tab7LTE(?:[);/ ]|$)' 11302 model: 'Tab 7 LTE' 11303 device: 'tablet' 11304 - regex: 'Masstel Tab (840|700i)(?:[);/ ]|$)' 11305 model: 'Tab $1' 11306 device: 'tablet' 11307 11308# Maxwest 11309Maxwest: 11310 regex: '(?:Astro[_ ](?:Phablet_9|55?N[_ ]LTE|5s|[45]P|X4|5_GO_LTE|X55s?|4\.5|4|X5)|Astro6|Virtue Z5|Nitro[_ ](?:4S?|55R|5[XRP]|[45] GO|4s LTE)|Gravity_55?_GO|Nitro_Phablet_9s)(?:[);/ ]|$)' 11311 device: 'smartphone' 11312 models: 11313 - regex: 'Astro[_ ](55?)N[_ ]LTE' 11314 model: 'Astro $1N LTE' 11315 - regex: 'Astro[_ ]X55[_ ]LTE' 11316 model: 'Astro X55 LTE' 11317 - regex: 'Astro_5_GO_LTE' 11318 model: 'Astro 5 Go LTE' 11319 - regex: 'Astro[_ ](X55s?|5s|4|X[45]|[45]P)(?:[);/ ]|$)' 11320 model: 'Astro $1' 11321 - regex: 'Astro[_ ](4\.5)' 11322 model: 'Astro $1"' 11323 - regex: 'Virtue Z5' 11324 model: 'Virtue Z5' 11325 - regex: 'Astro (X55s?|5s)' 11326 model: 'Astro $1' 11327 - regex: 'Astro[_ ]X4' 11328 model: 'Astro X4' 11329 - regex: 'Nitro ([45]) GO' 11330 model: 'Nitro $1 GO' 11331 - regex: 'Nitro 4s LTE' 11332 model: 'Nitro 4s LTE' 11333 - regex: 'Nitro[ _]4s' 11334 model: 'Nitro 4s' 11335 - regex: 'Nitro[_ ](4|55R|5[XRP])' 11336 model: 'Nitro $1' 11337 - regex: 'Gravity_(55?)_GO' 11338 model: 'Gravity $1 GO' 11339 11340 - regex: 'Astro6' 11341 device: 'phablet' 11342 model: 'Astro 6' 11343 11344 - regex: 'Nitro_Phablet_9s' 11345 device: 'tablet' 11346 model: 'Nitro Phablet 9s' 11347 - regex: 'Astro_Phablet_9' 11348 device: 'tablet' 11349 model: 'Astro Phablet 9' 11350 11351# True Slim (ssbphones.com) 11352True Slim: 11353 regex: '(SSB-508[ED])(?:[);/ ]|$)' 11354 device: 'smartphone' 11355 model: '$1' 11356 11357# Maze Speed (ssbphones.com) 11358Maze Speed: 11359 regex: '(SSB-(?:500|508)|SSB408D|SSB504R)(?:[);/ ]|$)' 11360 device: 'smartphone' 11361 models: 11362 - regex: 'SSB-?(500|508|408D|504R)(?:[);/ ]|$)' 11363 model: 'SSB-$1' 11364 11365# Maze (mazephone.com) 11366Maze: 11367 regex: '(?:Alpha[_ ]X|Maze Alpha)(?:[);/ ]|$)' 11368 device: 'smartphone' 11369 models: 11370 - regex: 'Alpha[_ ]X(?:[);/ ]|$)' 11371 model: 'Alpha X' 11372 - regex: 'Maze Alpha(?:[);/ ]|$)' 11373 model: 'Alpha' 11374 11375# Mediacom (mediacomeurope.it) 11376Mediacom: 11377 regex: '(?:SmartPad7503G|M-SP10MXA|M-PPAB500|SmartPad970s2(?:3G)?|M[_-][MPS]P[0-9a-z]+|M-IPRO[0-9a-z]+|1AEC)(?:[);/ ]|$)' 11378 device: 'tablet' 11379 models: 11380 - regex: 'SmartPad7503G(?:[);/ ]|$)' 11381 model: 'SmartPad 750 3G' 11382 - regex: 'SmartPad970s23G(?:[);/ ]|$)' 11383 model: 'SmartPad 970 S2 3G' 11384 - regex: 'SmartPad970s2(?:[);/ ]|$)' 11385 model: 'SmartPad 970 S2' 11386 - regex: 'M-MP84[02]M(?:[);/ ]|$)' 11387 model: 'SmartPad 8.0" Mobile' 11388 - regex: 'M-MP940M(?:[);/ ]|$)' 11389 model: 'SmartPad 9.7" Mobile' 11390 - regex: 'M-SP10MXA(?:[);/ ]|$)' 11391 model: 'SmartPad MX 10.1"' 11392 - regex: 'M-SP8MXA(?:[);/ ]|$)' 11393 model: 'SmartPad MX 8.0"' 11394 - regex: 'M-SP7HXAH(?:[);/ ]|$)' 11395 model: 'SmartPad HX 7.0"' 11396 - regex: 'M-SP8HXAH(?:[);/ ]|$)' 11397 model: 'SmartPad HX 8.0" HD' 11398 - regex: 'M-MP(?:710|720|725|726|740)GOx?(?:[);/ ]|$)' 11399 model: 'SmartPad 7.0" Go' 11400 - regex: 'M-MP876S2(?:[);/ ]|$)' 11401 model: 'SmartPad 8.0" S2' 11402 - regex: 'M-MP8S2[AB]?3G(?:[);/ ]|$)' 11403 model: 'SmartPad 8.0" S2 3G' 11404 - regex: 'M-MP(101|102|860|875)S2[BW]?(?:[);/ ]|$)' 11405 model: 'SmartPad $1 S2' 11406 - regex: 'M-MP85S23G(?:[);/ ]|$)' 11407 model: 'SmartPad 875 S2 3G' 11408 - regex: 'M-SP1AGO3G' 11409 model: 'SmartPad 10 Go 3G' 11410 - regex: 'M-SP7xGO3G' 11411 model: 'SmartPad 10.1" iPro 3G' 11412 - regex: '1AEC' 11413 model: 'SmartPad 10 Eclipse' 11414 - regex: 'M-MP10[45][01]S2(?:[);/ ]|$)' 11415 model: 'SmartPad 10.1" S2' 11416 - regex: 'M-MP1S2[AB]3G(?:[);/ ]|$)' 11417 model: 'SmartPad 10.1" S2 3G' 11418 - regex: 'M-MP8[24]S4(?:[);/ ]|$)' 11419 model: 'SmartPad 8.0" S4' 11420 - regex: 'M-MP8S4[AB]3G(?:[);/ ]|$)' 11421 model: 'SmartPad 8.0" S4 3G' 11422 - regex: 'M-MP9S4A3G(?:[);/ ]|$)' 11423 model: 'SmartPad 9.7" S4 3G' 11424 - regex: 'M-MP1[02]S4(?:[);/ ]|$)' 11425 model: 'SmartPad 10.1" S4' 11426 - regex: 'M-MP1040MC?(?:[);/ ]|$)' 11427 model: 'SmartPad 10.1" HD S4 3G' 11428 - regex: 'M-MP1S4[AB]3G(?:[);/ ]|$)' 11429 model: 'SmartPad 10.1" S4 3G' 11430 - regex: 'M-SP10HXxH(?:[);/ ]|$)' 11431 model: 'SmartPad 10.1" HX HD' 11432 - regex: 'M-SP10MXHA(?:[);/ ]|$)' 11433 model: 'SmartPad 10.1" MX' 11434 - regex: 'M-SP10MXHL(?:[);/ ]|$)' 11435 model: 'SmartPad 10.1" MX Lite' 11436 - regex: 'M-MP8PA3G(?:[);/ ]|$)' 11437 model: 'SmartPad 8.0" HD Pro 3G' 11438 - regex: 'M-MP10PA(?:[);/ ]|$)' 11439 model: 'SmartPad 10.1" HD Pro' 11440 - regex: 'M-MP10PA3G(?:[);/ ]|$)' 11441 model: 'SmartPad 10.1" HD Pro 3G' 11442 - regex: 'M-IPRO([18][01]0)[BW](?:[);/ ]|$)' 11443 model: 'SmartPad 8.0" HD iPro$1 3G' 11444 11445 - regex: '(?:M-MP75S23G|M-MP72[01]M)(?:[);/ ]|$)' 11446 model: 'SmartPad 7.0" Mobile' 11447 device: 'phablet' 11448 - regex: 'M-MP7S2[ABDK]3G(?:[);/ ]|$)' 11449 model: 'SmartPad 7.0" S2 3G' 11450 device: 'phablet' 11451 - regex: 'M-MP5303G(?:[);/ ]|$)' 11452 model: 'SmartPad Mini Mobile' 11453 device: 'phablet' 11454 - regex: 'M-PPxB400(?:[);/ ]|$)' 11455 model: 'PhonePad Duo B400' 11456 device: 'phablet' 11457 - regex: 'M-PPAG550(?:[);/ ]|$)' 11458 model: 'PhonePad Duo G550' 11459 device: 'phablet' 11460 - regex: 'M-PPAB500(?:[);/ ]|$)' 11461 model: 'PhonePad Duo B500' 11462 device: 'phablet' 11463 - regex: 'M-PP2G530(?:[);/ ]|$)' 11464 model: 'PhonePad Duo G530' 11465 device: 'phablet' 11466 - regex: 'M-PPG700(?:[);/ ]|$)' 11467 model: 'PhonePad Duo G700' 11468 device: 'phablet' 11469 - regex: 'M-PPxS531(?:[);/ ]|$)' 11470 model: 'PhonePad Duo S531' 11471 device: 'phablet' 11472 - regex: 'M-PP2S550(?:[);/ ]|$)' 11473 model: 'PhonePad Duo S550' 11474 device: 'phablet' 11475 - regex: 'M-PP2S650C?(?:[);/ ]|$)' 11476 model: 'PhonePad Duo S650' 11477 device: 'phablet' 11478 - regex: 'M-PPxS551U(?:[);/ ]|$)' 11479 model: 'PhonePad Duo S551U' 11480 device: 'phablet' 11481 11482 - regex: 'M-PPAG4(?:[);/ ]|$)' 11483 model: 'PhonePad Duo G4' 11484 device: 'smartphone' 11485 - regex: 'M-PP[ABC]G500(?:[);/ ]|$)' 11486 model: 'PhonePad Duo G500' 11487 device: 'smartphone' 11488 - regex: 'M-PP2S500[BC]?(?:[);/ ]|$)' 11489 model: 'PhonePad Duo S500' 11490 device: 'smartphone' 11491 - regex: 'M[_-]PP[Ax]X(470|510|520)U(?:[);/ ]|$)' 11492 model: 'PhonePad Duo X$1U' 11493 device: 'smartphone' 11494 - regex: 'M-PPxG(400|501|[457][PM]?)(?:[);/ ]|$)' 11495 model: 'PhonePad Duo G$1' 11496 device: 'smartphone' 11497 - regex: 'M-PPxS(532[LU]|470|501|5P?|7P?)(?:[);/ ]|$)' 11498 model: 'PhonePad Duo S$1' 11499 device: 'smartphone' 11500 - regex: 'M-PPxG(450)(?:[);/ ]|$)' 11501 model: 'PhonePad Duo G$1' 11502 device: 'smartphone' 11503 11504 - regex: 'M-MP([0-9a-z]+)' 11505 model: 'SmartPad $1' 11506 11507# Medion 11508Medion: 11509 regex: 'Medion|(?:MD_)?LIFETAB|([SPX]10[0-9]{2}X|E10[45]1X|X5001|P851X|P850X|E691X|E1050X)(?:[);/ ]|$)' 11510 device: 'smartphone' 11511 models: 11512 - regex: '(?:MD_)?LIFETAB[_ ]([a-z0-9]+)' 11513 device: 'tablet' 11514 model: 'Lifetab $1' 11515 - regex: '(E450[46]|E5004|S5004|X5001|E5020|P5015|P500[45]|X6001)(?:[);/ ]|$)' 11516 model: 'Life $1' 11517 - regex: '(B5530)(?:[);/ ]|$)' 11518 model: '$1' 11519 - regex: '(E10[45]1X)(?:[);/ ]|$)' 11520 device: 'tablet' 11521 model: '$1' 11522 - regex: '([SPX]10[0-9]{2}X|P851X|P850X|E691X|E1050X)(?:[);/ ]|$)' 11523 model: 'Lifetab $1' 11524 device: 'tablet' 11525 - regex: 'Medion(?: Smartphone)? ([^/;]+) Build' 11526 model: '$1' 11527 11528# MEEG 11529MEEG: 11530 regex: 'MEEG[ _-]' 11531 device: 'smartphone' 11532 models: 11533 - regex: 'MEEG[ _\-]?([^/;]+) Build' 11534 model: '$1' 11535 - regex: 'MEEG[ _\-]?([^);/ ]+)' 11536 model: '$1' 11537 11538# Fourel 11539Fourel: 11540 regex: '(?:EASYSMARTM3|EasySmart M2)(?:[);/ ]|$)' 11541 device: 'smartphone' 11542 models: 11543 - regex: 'EASY ?SMART ?M([32])' 11544 model: 'Easy Smart M$1' 11545 11546# Meizu 11547Meizu: 11548 regex: 'Meizu|MZ-[a-z]|(?<!POCO )(M04[05]|MZ-16th(?: Plus)?|MZ-16[st]|M7[12]1C|M35[1356]|M612C|M578CA|M181[36]|M1822|M681C|M6T|MX[ -]?[2345](?: Pro)?|(?:MZ-)?m[1-6] note|M621C|M1852|M57[18]C|M3[ESX]|M3 Max|M031|m1 metal|M1 E|(?<!Nubia )M2|M2 E|M5s Build|PRO [567]|PRO 7-[HS]| 15 Lite| 16th|MZ-15 (?:Lite|Plus)|15 Plus|MZ-16 X| 16 X| 16T|MX6)(?:[);/ ]|$)' 11549 device: 'smartphone' 11550 models: 11551 - regex: '(?:MZ-)?M571C' 11552 device: 'phablet' 11553 model: 'M2 Note' 11554 - regex: '(?:MZ-|Meizu-)?m([1-6])[_ ]note(?:[);/ ]|$)' 11555 device: 'phablet' 11556 model: 'M$1 Note' 11557 - regex: '(?:MZ-)?M1 E(?:[);/ ]|$)' 11558 model: 'M1E' 11559 - regex: 'M2 E(?:[);/ ]|$)' 11560 model: 'M2E' 11561 - regex: '(?:MZ-)?M578C[A]?|M2(?:[);/ ]|$)' 11562 model: 'M2' 11563 - regex: 'M681C(?:[);/ ]|$)' 11564 model: 'M3 Note' 11565 device: 'phablet' 11566 - regex: 'M621C(?:[);/ ]|$)' 11567 model: 'M5 Note' 11568 device: 'phablet' 11569 - regex: 'M711C(?:[);/ ]|$)' 11570 model: 'M6' 11571 - regex: 'M721C(?:[);/ ]|$)' 11572 model: 'M6 Note' 11573 device: 'phablet' 11574 - regex: '(M6T|MX6|M3E|M3X)(?:[);/ ]|$)' 11575 model: '$1' 11576 - regex: '(?:MZ-)?M3S(?:[);/ ]|$)' 11577 model: 'M3s' 11578 - regex: '(?:MZ-)?M3 Max(?:[);/ ]|$)' 11579 model: 'M3 Max' 11580 - regex: 'M5S|M612C' 11581 model: 'M5S' 11582 - regex: '(M04[05]|MX[ -]?2)(?:[);/ ]|$)' 11583 model: 'MX2' 11584 - regex: '(M35[1356]|MX[ -]?3)(?:[);/ ]|$)' 11585 model: 'MX3' 11586 - regex: 'MX[ -]?4 Pro(?:[);/ ]|$)' 11587 model: 'MX4 Pro' 11588 - regex: 'MX[ -]?4(?:[);/ ]|$)' 11589 model: 'MX4' 11590 - regex: '(Meizu[- _])?MX[ -]?5(?:[);/ ]|$)' 11591 model: 'MX5' 11592 - regex: 'm1 metal' 11593 model: 'M1 Metal' 11594 - regex: 'M1813(?:[);/ ]|$)' 11595 model: 'M8' 11596 - regex: '(?:M1816|M8 lite)(?:[);/ ]|$)' 11597 model: 'M8 Lite' 11598 - regex: 'M8c Pro(?:[);/ ]|$)' 11599 model: 'M8c Pro' 11600 - regex: 'PRO 7-[HS](?:[);/ ]|$)' 11601 model: 'PRO 7' 11602 - regex: 'PRO 7 Plus(?:[);/ ]|$)' 11603 model: 'Pro 7 Plus' 11604 - regex: 'PRO ([567])' 11605 model: 'PRO $1' 11606 - regex: 'M031(?:[);/ ]|$)' 11607 model: 'MX Dual Core' 11608 - regex: 'M1852(?:[);/ ]|$)' 11609 model: 'X8' 11610 - regex: 'M1822(?:[);/ ]|$)' 11611 model: 'Note 8' 11612 - regex: '(?:MZ-)?16T(?:[);/ ]|$)' 11613 model: '16T' 11614 - regex: '(?:MZ-)?16th Plus(?:[);/ ]|$)' 11615 model: '16th Plus' 11616 - regex: '(?:MZ-)?15 Plus(?:[);/ ]|$)' 11617 model: '15 Plus' 11618 - regex: '(?:MZ-15 Lite| 15 Lite)(?:[);/ ]|$)' 11619 model: '15 Lite' 11620 - regex: 'MZ-16th| 16th(?:[);/ ]|$)' 11621 model: '16th' 11622 - regex: '(?:MZ-)?16 X(?:[);/ ]|$)' 11623 model: '16X' 11624 - regex: 'meizu (17|C9) Pro(?:[);/ ]|$)' 11625 model: '$1 Pro' 11626 - regex: 'MZ-?M3(?:[);/ ]|$)' 11627 model: 'M3' 11628 - regex: 'Meizu[_ ]note([89])(?:[);/ ]|$)' 11629 device: 'phablet' 11630 model: 'Note $1' 11631 11632 - regex: '(?:MZ-)?Meizu[_ ]([^/;]+) Build' 11633 model: '$1' 11634 - regex: '(?:MZ-)?Meizu[_ ]([a-z0-9_]+)' 11635 model: '$1' 11636 - regex: 'MZ-([^/;]+) Build' 11637 model: '$1' 11638 11639# Meitu 11640Meitu: 11641 regex: '(?:(?<!MI CC 9 )Meitu[2]?|MP1503|MP1512|MP160[235]|MP170[19]|MP171[138])(?:[);/ ]|$)' 11642 device: 'smartphone' 11643 models: 11644 - regex: 'MP1503(?:[);/ ]|$)' 11645 model: 'M6' 11646 - regex: '(?:MP1512|Meizu M6s)(?:[);/ ]|$)' 11647 model: 'M6s' 11648 - regex: 'MP1602(?:[);/ ]|$)' 11649 model: 'T8' 11650 - regex: 'MP1605(?:[);/ ]|$)' 11651 model: 'V6' 11652 - regex: 'MP17(?:01|13)(?:[);/ ]|$)' 11653 model: 'T8s' 11654 - regex: 'MP1718(?:[);/ ]|$)' 11655 model: 'T9' 11656 - regex: 'MP1603(?:[);/ ]|$)' 11657 model: 'M8' 11658 - regex: 'MP17(?:09|11)(?:[);/ ]|$)' 11659 model: 'M8s' 11660 - regex: 'Meitu2(?:[);/ ]|$)' 11661 model: '2' 11662 - regex: 'Meitu (Kiss|[MV]4)(?:[);/ ]|$)' 11663 model: '$1' 11664 11665# Memup 11666Memup: 11667 regex: 'SlidePad ?([^;/]*) Build|SPNG?[0-9]{2,4}[a-z]{0,2}(?:[);/ ]|$)|SP704CE?|SP-NG708-3G' 11668 device: 'tablet' 11669 models: 11670 - regex: 'SlidePad ?([^;/]*) Build' 11671 model: 'SlidePad $1' 11672 - regex: 'SPNG([0-9]{2,4}[a-z]{0,2})(?:[);/ ]|$)' 11673 model: 'SlidePad NG$1' 11674 - regex: 'SP-NG(708)-3G(?:[);/ ]|$)' 11675 model: 'SlidePad NG$1 3G' 11676 - regex: 'SP704(CE?)' 11677 model: 'SlidePad 704$1' 11678 11679# Mecer (mecer.co.za) 11680Mecer: 11681 regex: '(M785|800P3[12]C|101P51C|X1010|M7[67]QF6|M17QF6_[43]G)(?:[);/ ]|$)' 11682 device: 'tablet' 11683 models: 11684 - regex: 'M785(?:[);/ ]|$)' 11685 model: 'Xpress Smartlife M785' 11686 - regex: 'X1010(?:[);/ ]|$)' 11687 model: 'X1010' 11688 - regex: 'M17QF6_([34])G(?:[);/ ]|$)' 11689 model: 'M17QF6 $1G' 11690 - regex: '800P31C(?:[);/ ]|$)' 11691 model: 'Xpress Smartlife 800P31C' 11692 - regex: '800P32C(?:[);/ ]|$)' 11693 model: 'Xpress Smartlife 800P32C' 11694 - regex: '101P51C(?:[);/ ]|$)' 11695 model: 'Xpress Smartlife 101P51C' 11696 - regex: 'M7([76])QF6(?:[);/ ]|$)' 11697 model: 'Xpress Smartlife M7$1QF6' 11698 11699# mio 11700Mio: 11701 regex: 'MIO(?:/)?([a-z0-9]+)|(?:MOBIX M6|Mio TouchPad 7 Quad Core)(?:[);/ ]|$)' 11702 device: 'smartphone' 11703 models: 11704 - regex: 'MOBIX M6(?:[);/ ]|$)' 11705 model: 'Mobix M6' 11706 - regex: 'MIO(?:/)?([a-z0-9]+)' 11707 model: '$1' 11708 - regex: 'Mio TouchPad 7 Quad Core' 11709 device: 'tablet' 11710 model: 'TouchPad 7 Quad Core' 11711 11712# Miray 11713Miray: 11714 regex: 'MIDM[_-]|MPM[_-]' 11715 device: 'smartphone' 11716 models: 11717 - regex: 'MIDM[_-]([a-z0-9]+)' 11718 model: 'MIDM $1' 11719 device: 'tablet' 11720 - regex: 'MPM[_-]([a-z0-9]+)' 11721 model: 'MPM $1' 11722 11723# mitsubishi 11724Mitsubishi: 11725 regex: 'MITSU|portalmmm/[12]\.0 M' 11726 device: 'feature phone' 11727 models: 11728 - regex: 'MITSU/[a-z0-9.]+ \(([a-z0-9]+)\)' 11729 model: '$1' 11730 - regex: 'MITSU[ \-]?([a-z0-9]+)' 11731 model: '$1' 11732 - regex: 'portalmmm/[12]\.0 (M[a-z0-9]+)' 11733 model: '$1' 11734 11735# MIXC 11736MIXC: 11737 regex: '(M35|M20|G7106|G7108)(?:[);/ ]|$)' 11738 device: 'smartphone' 11739 models: 11740 - regex: '(M[0-9]{1,2})(?:[);/ ]|$)' 11741 model: '$1' 11742 - regex: '(G[0-9]{4})(?:[);/ ]|$)' 11743 model: '$1' 11744 11745# Mobiola 11746Mobiola: 11747 regex: '(MS5[50]X6|MS55X5|MS55L1|MS50L1|MS43A3000|MS45A4000|MS50A4000|MS50A4500|MS50A5000|MS50A6000|MS50B11000|MB-2900 QUATTRO|POLYS[_ ]MS45L1|Wave5)' 11748 device: 'smartphone' 11749 models: 11750 - regex: 'MS50X6' 11751 model: 'Atmos II' 11752 - regex: 'POLYS[_ ]MS45L1' 11753 model: 'Polys MS45L1' 11754 - regex: 'MS55X6' 11755 model: 'Atmos Pro II' 11756 - regex: 'MS55X5' 11757 model: 'Atmos Pro' 11758 - regex: 'MS55L1' 11759 model: 'GAIA' 11760 - regex: 'MS50L1' 11761 model: 'Inti' 11762 - regex: 'MB-2900 QUATTRO' 11763 model: 'MB-2900 Quattro' 11764 - regex: 'MS43A3000' 11765 model: 'MS43A3000' 11766 - regex: 'MS45A4000' 11767 model: 'eOn 45' 11768 - regex: 'MS50A4000' 11769 model: 'eOn 50' 11770 - regex: 'MS50A4500' 11771 model: 'eOn 50 Elegance' 11772 - regex: 'MS50A5000' 11773 model: 'eOn 50 Quad 8' 11774 - regex: 'MS50A6000' 11775 model: 'eOn 50 Quad 16' 11776 - regex: 'MS50B11000' 11777 model: 'MS50B11000' 11778 - regex: 'Wave5' 11779 model: 'Wave 5' 11780 11781# Mobicel or Mobicell 11782Mobicel: 11783 regex: 'Mobicel_(R1)|ASTRO(?: Build|[;)]|$)|(?:Android 8.+ BEAM|FAME(?:_DS)?|CLIK|R7_1|HYPE|DANDY(?:_ZAM)?|(?<!SMADL )Matrix|VENUS_G|TRENDY PLUS|FENDY_DS|TANGO_LITE|BLINK|BERRY[_ ]?(?:[12]|PLUS)|R1PLUS_1|ZOOM-H|REBEL|LEGEND MAX|HERO_DS|Switch[ _]GO|PULSE_1|TRENDY 2|FEVER_PLUS_[HJ]|RIO_SS|Clik plus|PURE PLUS|Neo[ _]LTE|Titan_1|ZOOM_1)(?:[);/ ]|$)' 11784 device: 'smartphone' 11785 models: 11786 - regex: 'Matrix' 11787 model: 'Matrix' 11788 - regex: 'LEGEND MAX' 11789 model: 'Legend Max' 11790 - regex: 'BLINK' 11791 model: 'Blink' 11792 - regex: 'BERRY1' 11793 model: 'Berry 1' 11794 - regex: 'BERRY 2' 11795 model: 'Berry 2' 11796 - regex: 'TRENDY 2' 11797 model: 'Trendy 2' 11798 - regex: 'BERRY[_ ]PLUS' 11799 model: 'Berry Plus' 11800 - regex: 'TRENDY PLUS' 11801 model: 'Trendy Plus' 11802 - regex: 'HYPE' 11803 model: 'Hype' 11804 - regex: 'DANDY_ZAM' 11805 model: 'Dandy Zam' 11806 - regex: 'DANDY' 11807 model: 'Dandy' 11808 - regex: 'ASTRO' 11809 model: 'Astro' 11810 - regex: 'VENUS_G' 11811 model: 'Venus Go' 11812 - regex: 'TANGO_LITE' 11813 model: 'Tango Lite' 11814 - regex: 'FENDY_DS' 11815 model: 'Fendy DS' 11816 - regex: 'REBEL' 11817 model: 'Rebel' 11818 - regex: 'R7_1' 11819 model: 'R7' 11820 - regex: 'Titan_1' 11821 model: 'Titan 1' 11822 - regex: 'ZOOM_1' 11823 model: 'Zoom 1' 11824 - regex: 'HERO_DS' 11825 model: 'Hero DS' 11826 - regex: 'FAME_DS' 11827 model: 'Fame DS' 11828 - regex: 'FAME' 11829 model: 'Fame' 11830 - regex: 'BEAM' 11831 model: 'Beam' 11832 - regex: 'Neo[ _]LTE' 11833 model: 'Neo LTE' 11834 - regex: 'RIO_SS' 11835 model: 'Rio SS' 11836 - regex: 'Switch[ _]GO' 11837 model: 'Switch Go' 11838 - regex: 'R1PLUS_1' 11839 model: 'R1 Plus' 11840 - regex: 'Clik plus' 11841 model: 'Clik Plus' 11842 - regex: 'CLIK' 11843 model: 'Clik' 11844 - regex: 'PULSE_1' 11845 model: 'Pulse 1' 11846 - regex: 'PURE PLUS' 11847 model: 'Pure Plus' 11848 - regex: 'Mobicel_(R1)' 11849 model: '$1' 11850 - regex: 'ZOOM-H' 11851 device: 'tablet' 11852 model: 'Zoom H' 11853 - regex: 'FEVER_PLUS_([HJ])' 11854 device: 'tablet' 11855 model: 'Fever Plus $1' 11856 11857# Mobiistar 11858Mobiistar: 11859 regex: 'Mobiistar|Zumbo[ _]S|(?:PRIME X MAX|X1 Notch|E1 Selfie|XQ[_ ]Dual)(?:[);/ ]|$)' 11860 device: 'smartphone' 11861 models: 11862 - regex: 'X1 Notch(?:[);/ ]|$)' 11863 model: 'X1 Notch' 11864 - regex: 'E1 Selfie(?:[);/ ]|$)' 11865 model: 'E1 Selfie' 11866 - regex: 'XQ[_ ]Dual(?:[);/ ]|$)' 11867 model: 'XQ Dual' 11868 - regex: 'mobiistar_LAI_Zumbo(?:[);/ ]|$)' 11869 model: 'Zumbo' 11870 - regex: 'Zumbo[_ ]S[_ ]2017[_ ]Lite(?:[);/ ]|$)' 11871 model: 'Lai Zumbo S Lite (2017)' 11872 - regex: 'Zumbo[_ ]S[_ ]2017(?:[);/ ]|$)' 11873 model: 'Lai Zumbo S (2017)' 11874 - regex: 'mobiistar ZUMBO S2( Dual)' 11875 model: 'Zumbo S2' 11876 - regex: 'Mobiistar_LAI_Zumbo_J_2017(?:[);/ ]|$)' 11877 model: 'Lai Zumbo J (2017)' 11878 - regex: 'Mobiistar_LAI_Zumbo_J(?:[);/ ]|$)' 11879 model: 'Lai Zumbo J' 11880 - regex: 'Mobiistar_Zumbo_J2' 11881 model: 'Lai Zumbo J2' 11882 - regex: 'Mobiistar[_ ]Zumbo[_ ]S2' 11883 model: 'Zumbo S2' 11884 - regex: 'mobiistar ZUMBO Power' 11885 model: 'Zumbo Power' 11886 - regex: 'mobiistar[ _]LAI[ _]YUNA[ _]([1XCS])' 11887 model: 'Lai Yuna $1' 11888 - regex: 'mobiistar LAI Yuki' 11889 model: 'Lai Yuki' 11890 - regex: 'mobiistar[ _]LAI[ _]ZORO[ _]([23])' 11891 model: 'Lai Zoro $1' 11892 - regex: 'mobiistar[ _]LAI[ _]Zena' 11893 model: 'Lai Zena' 11894 - regex: 'mobiistar[ _]LAI[ _]Z([12])?' 11895 model: 'Lai Z$1' 11896 - regex: 'mobiistar_ZORO_4G' 11897 model: 'Zoro 4G' 11898 - regex: 'mobiistar touch LAI 512' 11899 model: 'Touch Lai 512' 11900 - regex: 'mobiistar LAI 504([KC])' 11901 model: 'Lai 504$1' 11902 - regex: 'mobiistar LAI Y' 11903 model: 'Lai Y' 11904 - regex: 'mobiistar PRIME X 2017' 11905 model: 'Prime X' 11906 - regex: 'mobiistar[ _]PRIME[ _](X1|558|X[ _]Plus|X[ _]Grand) Build' 11907 model: 'Prime $1' 11908 - regex: 'PRIME X MAX 2018' 11909 model: 'Prime X Max' 11910 - regex: 'mobiistar[ _]KOOL([ _]Lite)?' 11911 model: 'Kool$1' 11912 - regex: 'mobiistar KAT 452 Build' 11913 model: 'Kat 452' 11914 - regex: 'mobiistar_LAI_YOLLO Build' 11915 model: 'Lai Yollo' 11916 - regex: 'Mobiistar[ _]([^;/)]+)(?: Build|[;)])' 11917 model: '$1' 11918 11919# MSI (msi.com) 11920MSI: 11921 regex: 'Primo ?(?:9[13]|81|76)|Enjoy 7 Plus' 11922 device: 'tablet' 11923 models: 11924 # explicit tablet models 11925 - regex: 'Primo ?(9[13]|76|81)' 11926 model: 'Primo $1' 11927 - regex: 'Enjoy 7 Plus' 11928 model: 'Enjoy 7 Plus' 11929 11930# MLLED 11931MLLED: 11932 regex: 'MLLED[ _]' 11933 device: 'smartphone' 11934 models: 11935 - regex: 'MLLED[ _]([^;/]+)Build' 11936 model: '$1' 11937 - regex: 'MLLED[ _]([^);/]+)(?:[);/]|$)' 11938 model: '$1' 11939 11940# Mobistel 11941Mobistel: 11942 regex: '(Cynus[ _][^/;)]+)( Build|\))' 11943 device: 'smartphone' 11944 model: '$1' 11945 11946# Mecool 11947Mecool: 11948 regex: '(?:KM9PRO|BB2 PRO|K[I]{1,3} PRO|KI PLUS|KM9_TV_BOX|M8SPROW|M8S (?:PLUS|PRO) (?:DVB|[LW]|PLUS)|M8S (?:MAX|PRO))(?:[);/ ]|$)' 11949 device: 'tv' 11950 models: 11951 - regex: 'KM9PRO(?:[);/ ]|$)' 11952 model: 'KM9 Pro' 11953 - regex: 'KM9_TV_BOX(?:[);/ ]|$)' 11954 model: 'KM9 TV Box' 11955 - regex: 'BB2 PRO(?:[);/ ]|$)' 11956 model: 'BB2 Pro' 11957 - regex: '(K[I]{1,3}) PRO(?:[);/ ]|$)' 11958 model: '$1 Pro' 11959 - regex: 'KI PLUS(?:[);/ ]|$)' 11960 model: 'KI Plus' 11961 - regex: 'M8SPROW(?:[);/ ]|$)' 11962 model: 'M8S Pro W' 11963 - regex: 'M8S PLUS DVB(?:[);/ ]|$)' 11964 model: 'M8S Plus DVB' 11965 - regex: 'M8S PLUS ([LW])(?:[);/ ]|$)' 11966 model: 'M8S Plus $1' 11967 - regex: 'M8S PRO ([LW])(?:[);/ ]|$)' 11968 model: 'M8S Pro $1' 11969 - regex: 'M8S PRO PLUS(?:[);/ ]|$)' 11970 model: 'M8S Pro Plus' 11971 - regex: 'M8S PRO(?:[);/ ]|$)' 11972 model: 'M8S Pro' 11973 - regex: 'M8S MAX(?:[);/ ]|$)' 11974 model: 'M8S Max' 11975 11976# Modecom 11977Modecom: 11978 regex: 'Modecom|Free(?:Way )?Tab|xino z[\d]+ x[\d]+' 11979 device: 'tablet' 11980 models: 11981 - regex: 'xino Z([\d]+) X([\d]+)' 11982 model: 'Xino Z$1 X$2' 11983 device: 'smartphone' 11984 11985 - regex: 'FreeTab[ _\-]?([^/;]+)? Build' 11986 model: 'FreeTab $1' 11987 - regex: 'FreeTab[ _\-]?((?!Build)[^);/ ]+)?' 11988 model: 'FreeTab $1' 11989 - regex: 'FreeWay Tab[ _\-]?([^/;]+) Build' 11990 model: 'FreeWay Tab $1' 11991 - regex: 'FreeWay Tab[ _\-]?((?!Build)[^);/ ]+)' 11992 model: 'FreeWay Tab $1' 11993 11994# Mofut 11995Mofut: 11996 regex: 'Mofut' 11997 device: 'smartphone' 11998 models: 11999 - regex: 'Mofut[ _\-]?([^/;]+) Build' 12000 model: '$1' 12001 - regex: 'Mofut[ _\-]?((?!Build)[^);/ ]+)' 12002 model: '$1' 12003 12004# BrightSign (brightsign.biz) 12005BrightSign: 12006 regex: 'BrightSign' 12007 device: 'tv' 12008 models: 12009 - regex: '(HD1023|XD233|XD230|XD1030|XT114[34]|4K1142|LS424)' 12010 model: '$1' 12011 12012# motorola 12013Motorola: 12014 regex: 'MOT(?!TO)|(?<!AN)DROID ?(?:Build|[a-z0-9]+)|portalmmm/2.0 (?:E378i|L6|L7|v3)|XOOM [^;/]*Build|XT1941-2|XT1924-9|XT1925-10|XT1965-6|XT1970-5|XT1799-2|XT1021|XT2125-4|XT1710-08|XT180[3-5]|XT194[23]-1|XT1929-15|(?:XT|MZ|MB|ME)[0-9]{3,4}[a-z]?(?:\(Defy\)|-0[1-5])?(?:[;]? Build|\))' 12015 device: 'smartphone' 12016 models: 12017 # Explicit feature phone models 12018 - regex: 'MOT-V360' 12019 model: 'V360' 12020 device: 'feature phone' 12021 12022 # Explicit smartphone models 12023 - regex: '(?:MOT-|Motorola-)?XT300' 12024 model: 'Spice' 12025 - regex: '(?:MOT-|Motorola-)?XT30[35]' 12026 model: 'Motosmart ME' 12027 - regex: '(?:MOT-|Motorola-)?XT31[16]' 12028 model: 'Fire' 12029 - regex: '(?:MOT-|Motorola-)?XT2125-4' 12030 model: 'Edge S' 12031 - regex: '(?:MOT-|Motorola-)?XT32[01]' 12032 model: 'Defy Mini' 12033 - regex: '(?:MOT-|Motorola-)?XT3(?:89|90)' 12034 model: 'Motosmart' 12035 - regex: '(?:MOT-|Motorola-)?XT502' 12036 model: 'Quench' 12037 - regex: '(?:MOT-|Motorola-)?XT531' 12038 model: 'Fire XT' 12039 - regex: '(?:MOT-|Motorola-)?XT535' 12040 model: 'Defy' 12041 - regex: '(?:MOT-|Motorola-)?XT55[567]C?' 12042 model: 'Defy XT' 12043 - regex: '(?:MOT-|Motorola-)?XT603' 12044 model: 'Admiral' 12045 - regex: '(?:MOT-|Motorola-)?XT610' 12046 model: 'Droid Pro' 12047 - regex: '(?:MOT-|Motorola-)?XT615' 12048 model: 'Motoluxe' 12049 - regex: '(?:MOT-|Motorola-)?XT621' 12050 model: 'Primus' 12051 - regex: '(?:MOT-|Motorola-)?XT626' 12052 model: 'IronRock' 12053 - regex: '(?:MOT-|Motorola-)?XT682' 12054 model: 'Atrix' 12055 - regex: '(?:MOT-|Motorola-)?XT685' 12056 model: 'Motoluxe Dual-SIM' 12057 - regex: '(?:MOT-|Motorola-)?XT687' 12058 model: 'Atrix TV' 12059 - regex: '(?:MOT-|Motorola-)?XT720' 12060 model: 'Milestone' 12061 - regex: '(?:MOT-|Motorola-)?XT800W' 12062 model: 'Glam' 12063 - regex: '(?:MOT-|Motorola-)?XT860' 12064 model: 'Milestone 3' 12065 - regex: '(?:MOT-|Motorola-)?XT881' 12066 model: 'Electrify 2' 12067 - regex: '(?:MOT-|Motorola-)?XT882' 12068 model: 'Moto XT882' 12069 - regex: '(?:MOT-|Motorola-)?XT88[56]' 12070 model: 'Droid RAZR V' 12071 - regex: '(?:MOT-|Motorola-)?XT890' 12072 model: 'Droid RAZR i' 12073 - regex: '(?:MOT-|Motorola-)?XT894' 12074 model: 'Droid 4' 12075 - regex: '(?:MOT-|Motorola-)?XT897' 12076 model: 'Photon Q' 12077 - regex: '(?:MOT-|Motorola-)?XT901' 12078 model: 'Electrify M' 12079 - regex: '(?:MOT-|Motorola-)?XT90[567]' 12080 model: 'Droid RAZR M' 12081 - regex: '(?:MOT-|Motorola-)?XT910S?' 12082 model: 'Droid RAZR' 12083 - regex: '(?:MOT-|Motorola-)?XT91[4568]' 12084 model: 'Droid RAZR D1' 12085 - regex: '(?:MOT-|Motorola-)?XT9(?:19|20)' 12086 model: 'Droid RAZR D3' 12087 - regex: '(?:MOT-|Motorola-)?XT925' 12088 model: 'Droid RAZR HD' 12089 - regex: '(?:MOT-|Motorola-)?XT102[12]' 12090 model: 'Moto E' 12091 - regex: '(?:MOT-|Motorola-)?XT1706' 12092 model: 'Moto E3 Power' 12093 - regex: '(?:MOT-|Motorola-)?XT1924-9' 12094 model: 'Moto E5 Plus' 12095 - regex: 'moto e\(?([0-9])\)? plus' 12096 model: 'Moto E$1 Plus' 12097 - regex: 'Moto E([0-9]) Play' 12098 model: 'Moto E$1 Play' 12099 - regex: 'Moto E5 go(?:[);/ ]|$)' 12100 model: 'Moto E5 Go' 12101 - regex: 'Moto E\(?(\di?)\)? Power(?:[);/ ]|$)' 12102 model: 'Moto E$1 Power' 12103 - regex: 'Moto E\(?([567]i?)\)?(?:[);/ ]|$)' 12104 model: 'Moto E$1' 12105 - regex: 'Moto E\(?([567])s\)?(?:[);/ ]|$)' 12106 model: 'Moto E$1s' 12107 - regex: '(?:MOT-|Motorola-)?XT1030' 12108 model: 'Droid Mini' 12109 - regex: '(?:MOT-|Motorola-)?XT1565' 12110 model: 'Droid Maxx 2' 12111 - regex: '(?:MOT-|Motorola-)?XT1096' 12112 model: 'Moto X2' 12113 - regex: '(?:MOT-|Motorola-)?XT1254' 12114 model: 'Droid Turbo' 12115 - regex: '(?:MOT-|Motorola-)?XT10(?:28|3[12349]|68|69)' 12116 model: 'Moto G' 12117 - regex: '(?:MOT-|Motorola-)?XT1609' 12118 model: 'Moto G4 Play' 12119 - regex: '(?:MOT-|Motorola-)?XT180[3-5]|Moto G ?5S Plus|Moto G \(5S\) Plus' 12120 model: 'Moto G5s Plus' 12121 - regex: '(?:MOT-|Motorola-)?XT1799-2|Moto G \(5S\)' 12122 model: 'Moto G5s' 12123 - regex: '(?:MOT-|Motorola-)?XT168[57]' 12124 model: 'Moto G5 Plus' 12125 - regex: '(?:MOT-|Motorola-)?XT167[06]' #XT1671 XT1677 12126 model: 'Moto G5' 12127 - regex: '(?:MOT-|Motorola-)?XT1925-10' 12128 model: 'Moto G6' 12129 - regex: '(?:MOT-|Motorola-)?XT1965-6' 12130 model: 'Moto G7 Plus' 12131 - regex: '(?:MOT-|Motorola-)?XT10(?:49|5[23568]|60|9[23457])' 12132 model: 'Moto X' 12133 - regex: '(?:MOT-|Motorola-)?XT156[234]|Moto X Play(?:[);/ ]|$)' 12134 model: 'Moto X Play' 12135 - regex: '(?:MOT-|Motorola-)?XT1572' 12136 model: 'Moto X Style' 12137 - regex: '(?:MOT-|Motorola-)?XT1575' 12138 model: 'Moto X Pure Edition' 12139 - regex: '(?:MOT-|Motorola-)?XT158[01]' 12140 model: 'Moto X Force' 12141 - regex: '(?:MOT-|Motorola-)?XT1080' 12142 model: 'Droid Ultra' 12143 - regex: '(?:MOT-|Motorola-)?XT1585' 12144 model: 'Droid Turbo 2' 12145 - regex: '(?:MOT-|Motorola-)?XT1650(?:-05)?' 12146 model: 'Moto Z' 12147 - regex: 'moto z4(?:[);/ ]|$)' 12148 model: 'Moto Z4' 12149 - regex: 'Moto Z3 Play(?:[);/ ]|$)' 12150 model: 'Moto Z3 Play' 12151 - regex: '(?:MOT-|Motorola-)?XT1635(?:-0[1-3])?' 12152 model: 'Moto Z Play' 12153 - regex: '(?:MOT-|Motorola-)?XT1710-(?:-0[28])?' 12154 model: 'Moto Z2 Play' 12155 - regex: '(?:MOT-|Motorola-)?XT1789-05' 12156 model: 'Moto Z2 Force' 12157 - regex: '(?:MOT-|Motorola-)?XT1929-15|moto z3(?:[);/ ]|$)' 12158 model: 'Moto Z3' 12159 - regex: '(?:MOT-|Motorola-)?XT1663' 12160 model: 'Moto M' 12161 - regex: '(?:MOT-|Motorola-)?XT1943-1' 12162 model: 'P30' 12163 - regex: '(?:MOT-|Motorola-)?XT1941-2' 12164 model: 'P30 Play' 12165 - regex: '(?:MOT-|Motorola-)?XT1942-1' 12166 model: 'P30 Note' 12167 - regex: '(?:MOT-|Motorola-)?edge plus' 12168 model: 'Edge Plus' 12169 - regex: '(?:MOT-|Motorola-)?edge plus' 12170 model: 'Edge Plus' 12171 - regex: '(?:MOT-|Motorola-)?edge 20 lite' 12172 model: 'Edge 20 Lite' 12173 - regex: '(?:MOT-|Motorola-)?edge 20 pro' 12174 model: 'Edge 20 Pro' 12175 - regex: '(?:MOT-|Motorola-)?edge' 12176 model: 'Edge' 12177 - regex: '(?:MOT-|Motorola-)?one vision plus' 12178 model: 'One Vision Plus' 12179 - regex: '(?:MOT-|Motorola-)?(?:XT1970-5|one vision)' 12180 model: 'One Vision' 12181 - regex: '(?:MOT-|Motorola-)?one power' 12182 model: 'One Power' 12183 - regex: '(?:MOT-|Motorola-)?one hyper' 12184 model: 'One Hyper' 12185 - regex: '(?:MOT-|Motorola-)?one zoom' 12186 model: 'One Zoom' 12187 - regex: '(?:MOT-|Motorola-)?one fusion\+' 12188 model: 'One Fusion Plus' 12189 - regex: '(?:MOT-|Motorola-)?one fusion' 12190 model: 'One Fusion' 12191 - regex: 'motorola one action' 12192 model: 'One Action' 12193 - regex: 'motorola one macro' 12194 model: 'One Macro' 12195 - regex: 'motorola one 5G UW' 12196 model: 'One 5G UW' 12197 - regex: 'motorola one 5G ace' 12198 model: 'One 5G Ace' 12199 - regex: 'motorola one vision' 12200 model: 'One Vision' 12201 - regex: 'moto g stylus \(2021\)' 12202 model: 'Moto G Stylus (2021)' 12203 - regex: 'moto g stylus' 12204 model: 'Moto G Stylus' 12205 - regex: 'moto g play \(2021\)' 12206 model: 'Moto G Play (2021)' 12207 - regex: 'moto g power \(2021\)' 12208 model: 'Moto G Power (2021)' 12209 - regex: 'moto g power' 12210 model: 'Moto G Power' 12211 - regex: 'moto g pro' 12212 model: 'Moto G Pro' 12213 - regex: 'moto g fast' 12214 model: 'Moto G Fast' 12215 - regex: 'moto g 5G plus' 12216 model: 'Moto G 5G Plus' 12217 - regex: 'moto g 5G' 12218 model: 'Moto G 5G' 12219 - regex: 'moto g\(([0-9])\) power lite' 12220 model: 'Moto G$1 Power Lite' 12221 - regex: 'moto g\(([0-9])\) power' 12222 model: 'Moto G$1 Power' 12223 - regex: 'moto g\(([0-9])\) supra' 12224 model: 'Moto G$1 Supra' 12225 - regex: 'moto g\(([0-9])\) plus' 12226 model: 'Moto G$1 Plus' 12227 - regex: 'moto g\(([0-9]+)\) play' 12228 model: 'Moto G$1 Play' 12229 - regex: 'moto g\(([0-9]+)\)' 12230 model: 'Moto G$1' 12231 12232 - regex: 'Moto ([CGEXZ]) ?\(([a-z0-9]+)\)( Plus| Play)?' 12233 model: 'Moto $1$2$3' 12234 - regex: 'Moto ?([CGEXZ])([0-9]+)( Plus| Play)?' 12235 model: 'Moto $1$2$3' 12236 - regex: '(?:Motorola-)?Moto[ _]?([CGEXZ])([ _](?:Plus|Play))?' 12237 model: 'Moto $1$2' 12238 - regex: 'MotoroiX' 12239 model: 'MotoroiX' 12240 12241 - regex: 'razr \(2020\)' 12242 model: 'RAZR (2020)' 12243 - regex: 'Motorola[ _\-]([^/;]+)(?: Build|[);])' 12244 model: '$1' 12245 - regex: 'MOTORAZR[ _\-]([a-z0-9]+)' 12246 model: 'RAZR $1' 12247 - regex: 'MOTORIZR[ _\-]([a-z0-9]+)' 12248 model: 'RIZR $1' 12249 - regex: 'MOT(?!OROLA)[O]?[_\-]?([a-z0-9.]+)' 12250 model: '$1' 12251 - regex: '(?<!AN)DROID ?([a-z0-9 ]*) Build' 12252 model: 'DROID $1' 12253 - regex: '(?<!AN)DROID ?([a-z0-9]+)' 12254 model: 'DROID $1' 12255 - regex: 'portalmmm/2.0 ((?:E378i|L6|L7|V3)[a-z0-9]+)' 12256 model: '$1' 12257 - regex: '(XOOM [^;/]*)Build' 12258 device: 'tablet' 12259 model: '$1' 12260 - regex: '(MZ[0-9]{3})(?:[);/ ]|$)' 12261 device: 'tablet' 12262 model: '$1' 12263 - regex: '((?:ME|MB|XT)[0-9]{3,4}(?:\(Defy\))?)(?:[);/ ]|$)' 12264 model: '$1' 12265 12266# Movic 12267Movic: 12268 regex: 'MOVIC|F4502' 12269 device: 'smartphone' 12270 models: 12271 - regex: 'MOVIC[ -]W([2345])' 12272 model: 'W$1' 12273 - regex: 'F4502' 12274 model: 'F4502' 12275 12276# MTN 12277MTN: 12278 regex: 'MTN-' 12279 device: 'smartphone' 12280 models: 12281 - regex: 'MTN-(L860|S620)' 12282 model: 'Sm@rt Mini $1' 12283 - regex: 'MTN-8978P' 12284 device: 'tablet' 12285 model: 'Steppa' 12286 - regex: 'MTN-([a-z0-9_\-]+)' 12287 model: 'MTN-$1' 12288 12289# MyTab 12290MyTab: 12291 regex: 'MyTAB[ _-](?:8 MINI Dual Core|U55GT)(?:[);/ ]|$)' 12292 device: 'tablet' 12293 models: 12294 - regex: 'MyTAB[ _-]8 MINI Dual Core(?:[);/ ]|$)' 12295 model: '8 Mini Dual Core' 12296 - regex: 'MyTAB-U55GT(?:[);/ ]|$)' 12297 model: 'U55GT' 12298 12299# myphone (myphone.com.ph) 12300MyPhone: 12301 regex: '(?:MyPhone|MyPad|MyTab)[ _][^;/)]+( Build|\))|Cube_LTE|myTab10II|LUNA_II|HAMMER[ _](FORCE|Blade2_PRO|IRON_[23]|Explorer|ENERGY|Titan 2|AXE[_ ](?:M[_ ]LTE|Pro)|Iron 2|Active[2]?(_LTE)?)|IRON_2|C-Smart_pix|myPhone_Fun_8|FUN_18x9|MyPhoneMY27|Prime_4_Lite|myA17|myX12|Pocket_2|Prime_18x9|Prime3Lite|myT6 DTV|myXI1 (?:Plus|Pro)|myXI3|Q_Smart_BE|Brown 1|Q-Smart_III_Plus' 12302 device: 'smartphone' 12303 models: 12304 # explicit table models 12305 - regex: 'MyPad[ _]([^;/]+) Build' 12306 model: 'MyPad $1' 12307 device: 'tablet' 12308 - regex: 'MyTab[ _]([^;/]+) Build' 12309 model: 'MyTab $1' 12310 device: 'tablet' 12311 - regex: 'myTab_10III' 12312 model: 'MyTab 10 III' 12313 device: 'tablet' 12314 - regex: 'myTab10II' 12315 model: 'MyTab 10 II' 12316 device: 'tablet' 12317 - regex: 'myT6 DTV' 12318 model: 'myT6 DTV' 12319 device: 'tablet' 12320 12321 # explicit smartphones models 12322 - regex: 'Cube_LTE' 12323 model: 'Cube LTE' 12324 - regex: 'Prime_4_Lite' 12325 model: 'Prime 4 Lite' 12326 - regex: 'HAMMER[ _]ENERGY' 12327 model: 'Hammer Energy' 12328 - regex: 'HAMMER_AXE[_ ]M[_ ]LTE' 12329 model: 'Hammer Axe M LTE' 12330 - regex: 'Hammer Titan 2' 12331 model: 'Hammer Titan 2' 12332 - regex: 'Hammer[_ ]FORCE' 12333 model: 'Hammer Force' 12334 - regex: '(?:Hammer[ _])?Iron[ _](2|3)' 12335 model: 'Hammer Iron $1' 12336 - regex: 'Hammer[ _]Explorer' 12337 model: 'Hammer Explorer' 12338 - regex: 'Hammer Active(?:[);/ ]|$)' 12339 model: 'Hammer Active' 12340 - regex: 'Hammer_Active2(?:[);/ ]|$)' 12341 model: 'Hammer Active 2' 12342 - regex: 'Hammer_Active2_LTE(?:[);/ ]|$)' 12343 model: 'Hammer Active 2 LTE' 12344 - regex: 'Hammer AXE Pro' 12345 model: 'Hammer Axe Pro' 12346 - regex: 'Hammer_Blade2_PRO' 12347 model: 'Hammer Blade 2 Pro' 12348 - regex: 'C-Smart_pix' 12349 model: 'C-Smart Pix' 12350 - regex: 'Pocket_2(?:[);/ ]|$)' 12351 model: 'Pocket 2' 12352 - regex: 'myA17(?:[);/ ]|$)' 12353 model: 'myA17' 12354 - regex: '(?:myPhone_)?Fun[_ ]?(\d)[_ ]?Lite' 12355 model: 'FUN $1 Lite' 12356 - regex: '(?:myPhone_)?Fun[_ ]?(\d)[_ ]?LTE' 12357 model: 'FUN $1 LTE' 12358 - regex: '(?:myPhone_)?Fun_?([48]|18x9)' 12359 model: 'FUN $1' 12360 12361 - regex: 'MyPhoneMY27' 12362 model: 'my27' 12363 - regex: 'myX12(?:[);/ ]|$)' 12364 model: 'myX12' 12365 - regex: 'myXI1 Plus(?:[);/ ]|$)' 12366 model: 'myXI1 Plus' 12367 - regex: 'myXI1 Pro(?:[);/ ]|$)' 12368 model: 'myXI1 Pro' 12369 - regex: 'myXI3(?:[);/ ]|$)' 12370 model: 'myXI3' 12371 - regex: 'Q_Smart_BE(?:[);/ ]|$)' 12372 model: 'Q-Smart BE' 12373 - regex: 'Prime_18x9(_LTE)?(?:[);/ ]|$)' 12374 model: 'Prime 18x9$1' 12375 - regex: 'Prime3Lite(?:[);/ ]|$)' 12376 model: 'Prime 3 Lite' 12377 - regex: 'Brown 1(?:[);/ ]|$)' # ARK Brown 1 12378 model: 'Brown 1' 12379 - regex: 'myPhone[_ ]Pocket[_ ]Pro' 12380 model: 'Pocket Pro' 12381 - regex: 'Q-Smart_III_Plus' 12382 model: 'Q-Smart III Plus' 12383 - regex: 'LUNA_II' 12384 model: 'Luna II' 12385 12386 # general detections 12387 - regex: 'MyPhone[ _]([^;/)]+)( Build|\))' 12388 model: '$1' 12389 12390# MyWigo 12391MyWigo: 12392 regex: 'MyWigo ' 12393 device: 'smartphone' 12394 models: 12395 - regex: 'City3' 12396 model: 'City 3' 12397 12398# Myros (myrosworld.com) 12399Myros: 12400 regex: '(E70 Ultra)(?:[);/ ]|$)' 12401 device: 'smartphone' 12402 model: '$1' 12403 12404# Myria 12405Myria: 12406 regex: ' (Myria_[^/;]+|502M|Cozy|Easy tab 9|Grand) Build|Myria_FIVE|Myria_Grand_4G|Myria_Wide_2|Myria_Wide_4G' 12407 device: 'smartphone' 12408 models: 12409 - regex: 'Myria_([^/;]+) Build' 12410 model: '$1' 12411 - regex: 'Myria_FIVE' 12412 model: 'Five' 12413 - regex: '(502M|Grand)' 12414 model: '$1' 12415 - regex: 'Myria_Grand_4G' 12416 model: 'Grand 4G' 12417 - regex: 'Myria_Wide_4G' 12418 model: 'Wide 4G' 12419 - regex: 'Myria_Wide_2' 12420 model: 'Wide 2' 12421 - regex: '(Cozy|Easy tab 9)' 12422 model: '$1' 12423 device: 'tablet' 12424 12425# M.T.T. 12426M.T.T.: 12427 regex: 'M\.T\.T\.' 12428 device: 'smartphone' 12429 models: 12430 - regex: 'M\.T\.T\. ?Tablet([^;/]+)? Build' 12431 device: 'tablet' 12432 model: 'Tablet$1' 12433 - regex: 'M\.T\.T\. ?([^;/]+) Build' 12434 model: '$1' 12435 12436# Navon 12437Navon: 12438 regex: 'Navon[_ ]|(?:Vision_Tab_(?:7|10)|Pure Micro|Superme_Max|Raptor3G8GB|Predator (?:10|3G)|Platinum[_ ]10[_ ]3G(?:_V2)?|Supreme[_ ](?:Fine(?:[_ ]Micro)?|Chief|Pure|Pro)(?:[_ ](?:Mini|Plus))?)(?:[);/ ]|$)' 12439 device: 'smartphone' 12440 models: 12441 - regex: 'M505 LTE(?:[);/ ]|$)' 12442 model: 'Mizu M505 LTE' 12443 - regex: '(F552|D504)(?:[);/ ]|$)' 12444 model: 'Mizu $1' 12445 - regex: 'Superme_Max(?:[);/ ]|$)' 12446 model: 'Supreme Max' 12447 - regex: 'Supreme_Fine_Mini(?:[);/ ]|$)' 12448 model: 'Supreme Fine Mini' 12449 - regex: 'Supreme_Fine_Micro(?:[);/ ]|$)' 12450 model: 'Supreme Fine Micro' 12451 - regex: 'Supreme[_ ]Fine[_ ]Plus(?:[);/ ]|$)' 12452 model: 'Supreme Fine Plus' 12453 - regex: 'Supreme_Fine(?:[);/ ]|$)' 12454 model: 'Supreme Fine' 12455 - regex: 'Supreme[_ ]Chief(?:[);/ ]|$)' 12456 model: 'Supreme Chief' 12457 - regex: 'Supreme[_ ]Pure[ _]Plus(?:[);/ ]|$)' 12458 model: 'Supreme Pure Plus' 12459 - regex: 'Supreme Pure(?:[);/ ]|$)' 12460 model: 'Supreme Pure' 12461 - regex: 'Supreme[_ ]Pro(?:[);/ ]|$)' 12462 model: 'Supreme Pro' 12463 - regex: 'Pure Micro(?:[);/ ]|$)' 12464 model: 'Pure Micro' 12465 - regex: 'Navon[_ ]Infinity(?:[);/ ]|$)' 12466 model: 'Infinity' 12467 - regex: 'Navon[_ ](D405)(?:[);/ ]|$)' 12468 model: '$1' 12469 12470 - regex: '(?:Navon[_ ])?Platinum[ _]10[ _]3G(_V2)?(?:[);/ ]|$)' 12471 device: 'tablet' 12472 model: 'Platinum 10.1" 3G$1' 12473 - regex: '(?:Navon[_ ])?Orpheus[ _]3G(?:[);/ ]|$)' 12474 device: 'tablet' 12475 model: 'Orpheus 3G' 12476 - regex: '(?:Navon_)?Predator[_ ](3G|10|7)(?:[);/ ]|$)' 12477 device: 'tablet' 12478 model: 'Predator $1' 12479 - regex: 'Raptor3G8GB(?:[);/ ]|$)' 12480 device: 'tablet' 12481 model: 'Raptor 3G 8GB' 12482 12483 - regex: 'Vision_Tab_(7|10)(?:[);/ ]|$)' 12484 device: 'tablet' 12485 model: 'Vision Tab $1' 12486 12487# NOA or NOA Mobile (noa-mobile.eu) 12488NOA: 12489 regex: '(?:NOA-)?NOA[ _]|Hummer(?:_2019_R|LE)|NextSE|Vivo 4G_r|SPRINT4G' 12490 device: 'smartphone' 12491 models: 12492 - regex: 'NOA[_ ]CORE[_ ]FORTE' 12493 model: 'Core Forte' 12494 - regex: 'HummerLE' 12495 model: 'Hummer LE' 12496 - regex: 'Hummer_2019_R' 12497 model: 'Hummer R (2019)' 12498 - regex: 'NOA[_ ]Hummer[_ ]Lite' 12499 model: 'Hummer Lite' 12500 - regex: 'NOA[_ ]MOVEse' 12501 model: 'Move SE' 12502 - regex: 'NextSE' 12503 model: 'Next SE' 12504 - regex: 'NOA[_ ]NEXT' 12505 model: 'Next' 12506 - regex: 'NOA[_ ]VISION[_ ]H3SE' 12507 model: 'Vision H3SE' 12508 - regex: 'NOA[_ ]VISION[_ ]H3' 12509 model: 'Vision H3' 12510 - regex: 'NOA[_ ]LOOP' 12511 model: 'Loop' 12512 - regex: '(?:NOA-)?NOA[_ ]H4se' 12513 model: 'H4SE' 12514 - regex: 'NOA[_ ]Mg12' 12515 model: 'MG12' 12516 - regex: 'NOA[_ ]H44SE' 12517 model: 'H44SE' 12518 - regex: 'NOA[_ ]H10LE' 12519 model: 'H10LE' 12520 - regex: 'SPRINT4G' 12521 model: 'Sprint 4G' 12522 - regex: '(?:NOA[_ ])?Vivo 4G_r' 12523 model: 'Vivo 4G' 12524 - regex: 'NOA[_ ]([^;)/ ]+)' 12525 model: '$1' 12526 12527# Nobby (nobby.ru) 12528Nobby: 12529 regex: 'Nobby[ ](S500|X800(?: Pro)?|S300(?: Pro)?)(?:[);/ ]|$)' 12530 device: 'smartphone' 12531 model: '$1' 12532 12533# nec or nec lavie (www.nec-lavie.jp) 12534NEC: 12535 regex: 'NEC[ _\-]|KGT/2\.0|PC-TE508(?:S1|[BH]AW)|PC-TE510(?:HAW|BAL|S1)|PC-TS708T1W|PC-TS507N1S|PC-TE507JAW|portalmmm/1\.0 (?:DB|N)|(?:portalmmm|o2imode)/2.0[ ,]N|(?:N-06C|N-02E|LAVIE Tab E (?:10|8)FHD1|7SD1)(?:[);/ ]|$)' 12536 device: 'smartphone' 12537 models: 12538 - regex: 'N-06C(?:[);/ ]|$)' 12539 model: 'Medias Amadana' 12540 - regex: 'N-02E(?:[);/ ]|$)' 12541 model: 'Medias U' 12542 - regex: '(?:NEC[ _\-]|KGT/2\.0 )([a-z0-9]+)' 12543 model: '$1' 12544 - regex: 'portalmmm/1\.0 ((?:DB|N)[a-z0-9]+)' 12545 model: '$1' 12546 - regex: '(?:portalmmm|o2imode)/2\.0[ ,](N[a-z0-9]+)' 12547 model: '$1' 12548 - regex: 'PC-TE508[BH]AW(?:[);/ ]|$)' 12549 device: 'tablet' 12550 model: 'LAVIE Tab E TE508' 12551 - regex: 'PC-TE510(?:BAL|HAW|S1)(?:[);/ ]|$)' 12552 device: 'tablet' 12553 model: 'LAVIE Tab E TE510' 12554 - regex: 'PC-TS507N1S(?:[);/ ]|$)' 12555 device: 'tablet' 12556 model: 'LAVIE Tab S TS507' 12557 - regex: 'PC-TS708T1W(?:[);/ ]|$)' 12558 device: 'tablet' 12559 model: 'LAVIE Tab S TS708' 12560 - regex: 'PC-TE507JAW(?:[);/ ]|$)' 12561 device: 'tablet' 12562 model: 'LAVIE Tab E TS507' 12563 - regex: 'PC-TE508S1(?:[);/ ]|$)' 12564 device: 'tablet' 12565 model: 'LAVIE Tab E TE508' 12566 - regex: 'LAVIE (Tab E (?:(?:10|8)FHD1|7SD1))(?:[);/ ]|$)' 12567 device: 'tablet' 12568 model: 'LAVIE $1' 12569 12570# Neffos (sub brand TP-Link) (neffos.com) 12571Neffos: 12572 regex: 'Neffos|(TP601A)(?:[);/ ]|$)' 12573 device: 'smartphone' 12574 models: 12575 - regex: 'TP601A(?:[);/ ]|$)' 12576 model: 'C5L' 12577 - regex: 'Neffos[_ ]Y50' 12578 model: 'Y50' 12579 - regex: 'Neffos X20 Pro' 12580 model: 'X20 Pro' 12581 - regex: 'Neffos[_ ]((?:[YNCXA])[0-9][A-Z]?(?: Max| Lite| Plus)?)' 12582 model: '$1' 12583 12584# Nextbit 12585Nextbit: 12586 regex: 'Nextbit|(?:Robin)(?: Build|\))' 12587 device: 'smartphone' 12588 models: 12589 - regex: '(Robin)(?:[);/ ]|$)' 12590 model: '$1' 12591 12592# newgen 12593Newgen: 12594 regex: 'NEWGEN\-([a-z0-9]+)' 12595 device: 'feature phone' 12596 model: '$1' 12597 12598# Netgear 12599Netgear: 12600 regex: 'GTV100' 12601 device: 'tv' 12602 models: 12603 - regex: 'GTV100' 12604 model: 'NeoTV Prime' 12605 12606# NeuImage 12607NeuImage: 12608 regex: 'NIM-' 12609 device: 'smartphone' 12610 models: 12611 - regex: 'NIM-(450D|550O|600Q)' 12612 model: '$1' 12613 12614# NextBook 12615NextBook: 12616 regex: 'Next[0-9]|NX(?:785QC8G|M900MC|008HD8G|010HI8G|M908HC|M726|16A8116K|A8QC116|16A10132S|16A11264)' 12617 device: 'tablet' 12618 models: 12619 - regex: 'NX008HD8G' 12620 model: 'Premium 8 HD' 12621 - regex: 'NXA8QC116' 12622 model: 'Ares 8' 12623 - regex: 'NX16A8116K' 12624 model: 'Ares A8' 12625 - regex: 'NX16A10132S' 12626 model: 'Ares A10' 12627 - regex: 'NX16A11264' 12628 model: 'Ares A11' 12629 - regex: 'NEXT1015BAP' 12630 model: 'Ares 10' 12631 - regex: 'NXM908HC' 12632 model: 'Premium 9' 12633 - regex: 'NX010HI8G' 12634 model: 'Premium 10 Hi' 12635 - regex: 'NX785QC8G' 12636 model: '8' 12637 - regex: 'NXM900MC' 12638 model: '8 HD' 12639 - regex: 'NXM726' 12640 model: 'Premium 7' 12641 12642 - regex: 'Next([0-9]+[^;/]+) Build' 12643 model: 'Next $1' 12644 12645# ngm (www.ngm.eu) 12646NGM: 12647 regex: 'NGM[_ ][a-z0-9]+|(Forward|Dynamic)[ _]?[^/;]+(?:Build|/)|Smart5Plus32GB' 12648 device: 'smartphone' 12649 models: 12650 - regex: 'Smart5Plus32GB' 12651 model: 'Smart 5 Plus' 12652 - regex: '(Forward|Dynamic)[ _]?([^/;]+) Build' 12653 model: '$1 $2' 12654 - regex: '(Forward|Dynamic)[ _]?([^/;]+)/' 12655 model: '$1 $2' 12656 - regex: 'NGM ([^;/]+) Build' 12657 model: '$1' 12658 - regex: 'NGM_([a-z0-9]+)' 12659 model: '$1' 12660 12661# nexian 12662Nexian: 12663 regex: 'S?Nexian' 12664 device: 'smartphone' 12665 models: 12666 - regex: 'S?Nexian[ ]?([a-z0-9\-]+)' 12667 model: '$1' 12668 - regex: 'S?Nexian-([a-z0-9]+)' 12669 model: '$1' 12670 12671# Noain 12672Noain: 12673 regex: 'NOAIN' 12674 device: 'smartphone' 12675 models: 12676 - regex: 'NOAIN[ _-]([^;/]+) Build' 12677 model: '$1' 12678 - regex: 'NOAIN[ _-]([^;/)]+)(?:[;/)]|$)' 12679 model: '$1' 12680 12681# Noblex 12682Noblex: 12683 regex: 'Noblex|NBX-' 12684 device: 'smartphone' 12685 models: 12686 - regex: '(?:Noblex|NBX)[ _-]([^;/]+) Build' 12687 model: '$1' 12688 - regex: '(?:Noblex|NBX)[ _-]([^;/)]+)(?:[;/)]|$)' 12689 model: '$1' 12690 12691# Nomu 12692Nomu: 12693 regex: '(?:Nomu[ _-](?:T18|S30mini|S10)|(?:V1600S|S10 PRO|S50_Pro))(?:[);/ ]|$)' 12694 device: 'smartphone' 12695 models: 12696 - regex: 'Nomu[ _-]T18(?:[);/ ]|$)' 12697 model: 'T18' 12698 - regex: 'Nomu[ _-]s10(?:[);/ ]|$)' 12699 model: 'S10' 12700 - regex: 'Nomu[ _-]S30mini(?:[);/ ]|$)' 12701 model: 'S30 Mini' 12702 - regex: 'S([15]0)[_ ]PRO(?:[);/ ]|$)' 12703 model: 'S$1 Pro' 12704 - regex: '(V1600S)(?:[);/ ]|$)' 12705 model: '$1' 12706 12707# Opsson 12708Opsson: 12709 regex: 'Opsson|IUSAI' 12710 device: 'smartphone' 12711 models: 12712 - regex: 'IUSAI[ _]([^/;]+) Build' 12713 model: 'Iusai $1' 12714 - regex: 'IUSAI[ _]([^/;\)]+)[/;\)]' 12715 model: 'Iusai $1' 12716 - regex: 'Opsson[ _]([^/;]+) Build' 12717 model: '$1' 12718 - regex: '(?:Opsson-)?Opsson[ -_]([^/;]+)/' 12719 model: '$1' 12720 12721# Nomi (nomi-electronics.com) 12722Nomi: 12723 regex: 'Nomi[ _-]|(C101010 Ultra2|i501[234]|i5032|i50[57]0|i5510|i5532|C0(700(?:[02358]|2HD)|7850)|C1010[0-3]|i(?:50[015]|450|40[01]|55[02]))(?:[);/ ]|$)' 12724 device: 'smartphone' 12725 models: 12726 - regex: 'i501[23](?:[);/ ]|$)' 12727 model: 'Evo M2' 12728 - regex: 'Nomi[ _]i5010(?:[);/ ]|$)' 12729 model: 'Evo M' 12730 - regex: 'Nomi[ _]i5001(?:[);/ ]|$)' 12731 model: 'Evo M3' 12732 - regex: 'Nomi[ _]i5011(?:[);/ ]|$)' 12733 model: 'Evo M1' 12734 - regex: 'Nomi[ _]i506(?:[);/ ]|$)' 12735 model: 'i506 Shine' 12736 - regex: 'Nomi[ _]i5730(?:[);/ ]|$)' 12737 model: 'i5730 Infinity' 12738 - regex: 'Nomi[ _]i6030(?:[);/ ]|$)' 12739 model: 'Note-X' 12740 - regex: 'I5070(?:[);/ ]|$)' 12741 model: 'Iron-X' 12742 - regex: 'i5071(?:[);/ ]|$)' 12743 model: 'Iron-X1' 12744 - regex: 'Nomi[_ ]I4070(?:[);/ ]|$)' 12745 model: 'Iron-M' 12746 - regex: 'i5014(?:[);/ ]|$)' 12747 model: 'Evo M4' 12748 - regex: 'i5032(?:[);/ ]|$)' 12749 model: 'Evo X2' 12750 - regex: 'i5050(?:[);/ ]|$)' 12751 model: 'Evo Z' 12752 - regex: '(?:Nomi_)?i4510(?:[);/ ]|$)' 12753 model: 'Beat M' 12754 - regex: '(?:Nomi_)?i4500(?:[);/ ]|$)' 12755 model: 'Beat M1' 12756 - regex: 'i5532(?:[);/ ]|$)' 12757 model: 'Space X2' 12758 - regex: 'i5510(?:[);/ ]|$)' 12759 model: 'Space M' 12760 - regex: 'Nomi[_ ]i5511(?:[);/ ]|$)' 12761 model: 'Space M1' 12762 - regex: '(?:Nomi_)?i5710(?:[);/ ]|$)' 12763 model: 'Infinity X1' 12764 - regex: '(?:Nomi[ _])?i(50[015]|450|40[01]|55[02])(?:[);/ ]|$)' 12765 model: 'i$1' 12766 - regex: 'C101010 Ultra2' 12767 model: 'Ultra 2' 12768 device: 'tablet' 12769 - regex: '(?:Nomi_)?C101040' 12770 model: 'Ultra 3 Pro' 12771 device: 'tablet' 12772 - regex: '(?:Nomi_)?C101030' 12773 model: 'Ultra 3 LTE' 12774 device: 'tablet' 12775 - regex: '(?:Nomi_)?C101012' 12776 model: 'Ultra 3 3G' 12777 device: 'tablet' 12778 - regex: '(?:Nomi_)?C101014' 12779 model: 'Ultra 4 3G' 12780 device: 'tablet' 12781 - regex: '(?:Nomi_)?C101034' 12782 model: 'Ultra 4 LTE' 12783 device: 'tablet' 12784 - regex: '(?:Nomi_)?C101044' 12785 model: 'Ultra 4 Pro LTE' 12786 device: 'tablet' 12787 - regex: '(?:Nomi_)?C070010' 12788 device: 'tablet' 12789 model: 'Corsa' 12790 - regex: '(?:Nomi_)?C070020' 12791 model: 'Corsa Pro' 12792 device: 'tablet' 12793 - regex: '(?:Nomi_)?C070011' 12794 model: 'Corsa 2' 12795 device: 'tablet' 12796 - regex: '(?:Nomi_)?C070030' 12797 model: 'Corsa 3 LTE' 12798 device: 'tablet' 12799 - regex: '(?:Nomi_)?C070012' 12800 model: 'Corsa 3 3G' 12801 device: 'tablet' 12802 - regex: '(?:Nomi_)?C070014L' 12803 model: 'Corsa 4 Light 3G' 12804 device: 'tablet' 12805 - regex: '(?:Nomi_)?C0700[13]4' 12806 model: 'Corsa 4 LTE' 12807 device: 'tablet' 12808 - regex: '(?:Nomi_)?C070044' 12809 model: 'Corsa 4 Pro LTE' 12810 device: 'tablet' 12811 - regex: '(?:Nomi_)?C080012' 12812 model: 'Libra 3 3G' 12813 device: 'tablet' 12814 - regex: '(?:Nomi_)?C080034' 12815 model: 'Libra 4 LTE' 12816 device: 'tablet' 12817 - regex: '(?:Nomi_)?C080014' 12818 model: 'Libra 4 3G' 12819 device: 'tablet' 12820 - regex: '(?:Nomi_)?C07008' 12821 model: 'Sigma' 12822 device: 'tablet' 12823 - regex: '(?:Nomi[ _])?(C0(?:700(?:[0235]|2HD)|7850|9600)|C1010[0-3])(?:[);/ ]|$)' 12824 model: '$1' 12825 device: 'tablet' 12826 - regex: 'Nomi[ _-]([^;/]+) Build' 12827 model: '$1' 12828 - regex: 'Nomi[ _-]([^;/)]+)(?:[;/)]|$)' 12829 model: '$1' 12830 12831# NUU Mobile 12832NUU Mobile: 12833 regex: 'NUU_|(?:(?:N(5702|500[12])L|S6001L|[SN]5501L)|A6L-[CG])(?:[);/ ]|$)' 12834 device: 'smartphone' 12835 models: 12836 - regex: 'NUU_A([13])' 12837 model: 'A$1' 12838 - regex: 'NUU_M([32])(?:[);/ ]|$)' 12839 model: 'M$1' 12840 - regex: 'NUU_X5(?:[);/ ]|$)' 12841 model: 'X5' 12842 - regex: 'S6001L' 12843 model: 'G2' 12844 - regex: 'S5501L' 12845 model: 'M19' 12846 - regex: 'N5702L' 12847 model: 'G3' 12848 - regex: 'N5501L' 12849 model: 'A5L' 12850 - regex: 'N5002L' 12851 model: 'A7L' 12852 - regex: '(N5001L|A6L-[CG])(?:[);/ ]|$)' 12853 model: '$1' 12854 12855# NYX Mobile 12856NYX Mobile: 12857 regex: 'NYX[ _]|(?:GLAM)(?:[);/ ]|$)' 12858 device: 'smartphone' 12859 models: 12860 - regex: 'NYX_A1' 12861 model: 'A1' 12862 - regex: 'NYX_Blink' 12863 model: 'Blink' 12864 - regex: 'NYX_EGO' 12865 model: 'Ego' 12866 - regex: 'NYX_FENIX' 12867 model: 'Fenix' 12868 - regex: 'NYX_FLY_II' 12869 model: 'Fly II' 12870 - regex: 'NYX_FLY_MINI' 12871 model: 'Fly Mini' 12872 - regex: 'NYX_FLY' 12873 model: 'Fly' 12874 - regex: 'NYX_HIT' 12875 model: 'Hit' 12876 - regex: 'NYX_JAK' 12877 model: 'Jak' 12878 - regex: 'NYX_JOIN' 12879 model: 'Join' 12880 - regex: 'NYX_NOBA_II' 12881 model: 'Noba II' 12882 - regex: 'NYX_NOBA' 12883 model: 'Noba' 12884 - regex: 'NYX_ORBIS' 12885 model: 'Orbis' 12886 - regex: 'NYX[ _]REX' 12887 model: 'Rex' 12888 - regex: 'NYX_SHADE' 12889 model: 'Shade' 12890 - regex: 'NYX_SKY' 12891 model: 'Sky' 12892 - regex: 'NYX_SPARK' 12893 model: 'Spark' 12894 - regex: 'NYX_VOX' 12895 model: 'Vox' 12896 - regex: 'NYX_ZEUZ_HD' 12897 model: 'Zeus HD' 12898 - regex: 'GLAM' 12899 model: 'Glam' 12900 12901# Nous 12902Nous: 12903 regex: '(?:NS(?:[356]|500[2-68]|5511|5502)|NS 5511)(?:[);/ ]|$)' 12904 device: 'smartphone' 12905 models: 12906 - regex: 'NS 5511(?:[);/ ]|$)' 12907 model: 'NS5511' 12908 - regex: '(NS[0-9]{1,4})(?:[);/ ]|$)' 12909 model: '$1' 12910 12911# Nvidia 12912Nvidia: 12913 regex: 'NVIDIA|SHIELD Tablet(?: K1)?|SHIELD Android TV|Tegra(Note-P1640| Note 7)' 12914 device: 'tablet' 12915 models: 12916 - regex: 'TegraNote-P1640' 12917 model: 'Tegra Note P1640' 12918 - regex: '(SHIELD Tablet(?: K1)?|Tegra Note 7)(?: Build|[;)])' 12919 model: '$1' 12920 - regex: 'SHIELD Android TV' 12921 model: 'SHIELD Android TV' 12922 device: 'tv' 12923 - regex: 'NVIDIA_SHIELD_PRO_2019' 12924 model: 'SHIELD TV Pro' 12925 device: 'tv' 12926 - regex: 'NVIDIA Shield' 12927 model: 'SHIELD TV' 12928 device: 'tv' 12929 12930# O+ (OPlus) 12931O+: 12932 regex: 'O\+[ _](Air|Crunch|Ultra|Upsized|Venti|360 ALPHA PLUS 2.0)' 12933 device: 'smartphone' 12934 models: 12935 - regex: 'O\+[ _](Crunch|Ultra 2.0|Ultra|Upsized|Venti 4G)' 12936 model: '$1' 12937 - regex: 'O\+_AIR' 12938 model: 'Air' 12939 - regex: 'O\+ 360 ALPHA PLUS 2.0' 12940 model: '360 Alpha Plus 2.0' 12941 12942# o2 12943O2: 12944 regex: 'Xda|(?<!FBCR/)O2[ \-]|COCOON' 12945 device: 'smartphone' 12946 models: 12947 - regex: '(Xda[ _][a-z0-9_]+)' 12948 model: '$1' 12949 - regex: '(COCOON)' 12950 model: '$1' 12951 - regex: 'O2 ([a-z0-9 ]+)' 12952 model: '$1' 12953 - regex: 'O2-([a-z0-9]+)' 12954 model: '$1' 12955 12956# Odys (odys.de) 12957Odys: 12958 regex: 'ODYS[ _-]|IEOS[_ ]([^/;]+)|NOON(?:_PRO)? Build|SPACE10_(?:PLUS|PRO)_3G|THOR_?10|TAO_X10|RAPID_?(?:10|7)_?LTE|MAVEN_?10_|CONNECT[78]|ELEMENT10_PLUS_3G|XELIO[_0-9P]|ADM816HC|ADM8000KP|NEO6_LTE|EOS10|AEON|FALCON_10_PLUS_3G|FUSION|THANOS_10|MAVEN_X10_HD(?:_LTE)?|JUNIOR_8_PRO|JuniorT8Pro|(?:NOVA|PYRO)_X?7_PLUS_3G|UNO_X8|MAVEN_G10|SLADE_X55|XELIO_PRO_10_LTE|NOTOSplus3G|PACE ?10|PACE_10_LTE' 12959 device: 'tablet' 12960 models: 12961 - regex: 'XELIO[_ ]A10' 12962 model: 'Xelio A10' 12963 - regex: 'XELIOPHONETAB3' 12964 model: 'Xelio Phonetab 3' 12965 - regex: 'THANOS_10' 12966 model: 'Thanos 10' 12967 - regex: 'XELIO_NEXT_10_PLUS_3G' 12968 model: 'Xelio Next 10 Plus 3G' 12969 - regex: 'XELIO_PHONE_TAB7_3G' 12970 model: 'Xelio Phonetab 7 3G' 12971 - regex: 'XELIO10EXTREME' 12972 model: 'Xelio 10 Xtreme' 12973 - regex: 'XELIO10_PLUS_3G' 12974 model: 'Xelio 10 Plus 3G' 12975 - regex: 'XELIO10_HD_PLUS_3G' 12976 model: 'Xelio 10 HD Plus 3G' 12977 - regex: 'XELIO_10_HD' 12978 model: 'Xelio 10 HD' 12979 - regex: 'XELIO_PRO_10_LTE' 12980 model: 'Xelio Pro 10 LTE' 12981 - regex: 'ELEMENT10_PLUS_3G' 12982 model: 'Element 10 Plus 3G' 12983 - regex: 'CONNECT8PLUS' 12984 model: 'Connect 8 Plus' 12985 - regex: 'CONNECT7PRO' 12986 model: 'Connect 7 Pro' 12987 - regex: 'MAVEN_X10_HD_LTE' 12988 model: 'Maven X10 HD LTE' 12989 - regex: 'MAVEN_X10_HD' 12990 model: 'Maven X10 HD' 12991 - regex: 'MAVEN_?10_PRO_PLUS_3G' 12992 model: 'Maven 10 Pro Plus 3G' 12993 - regex: 'MAVEN_?10_?PLUS' 12994 model: 'Maven 10 Plus' 12995 - regex: 'MAVEN_?10_?PRO' 12996 model: 'Maven 10 Pro' 12997 - regex: 'MAVEN_?10_?HD' 12998 model: 'Maven 10 HD' 12999 - regex: 'RAPID_?7_?LTE' 13000 model: 'Rapid 7 LTE' 13001 - regex: 'RAPID_?10_?LTE' 13002 model: 'Rapid 10 LTE' 13003 - regex: 'TAO_X10' 13004 model: 'Tao X10' 13005 - regex: 'SPACE10_PLUS_3G' 13006 model: 'Space 10 Plus 3G' 13007 - regex: 'SPACE10_PRO_3G' 13008 model: 'Space 10 Pro 3G' 13009 - regex: 'THOR_?10 Build' 13010 model: 'Thor 10' 13011 - regex: 'JuniorT8Pro' 13012 model: 'Junior T8 Pro' 13013 - regex: 'JUNIOR_8_PRO' 13014 model: 'Junior 8 Pro' 13015 - regex: 'ADM816HC' 13016 model: 'Neo X' 13017 - regex: 'EOS10' 13018 model: 'EOS 10' 13019 - regex: 'PACE_10_LTE_V2' 13020 model: 'Pace 10 LTE V2' 13021 - regex: 'PACE ?10' 13022 model: 'Pace 10' 13023 - regex: 'AEON' 13024 model: 'Aeon' 13025 - regex: 'FALCON_10_PLUS_3G' 13026 model: 'Falcon 10 Plus 3G' 13027 - regex: 'FUSION' 13028 model: 'Fusion 7' 13029 - regex: 'UNO_X8' 13030 model: 'Uno X8' 13031 - regex: 'ADM8000KP' 13032 model: 'Titan' 13033 - regex: 'PYRO_7_PLUS_3G' 13034 model: 'Pyro 7 Plus 3G' 13035 - regex: 'NOVA_X7_PLUS_3G' 13036 model: 'Nova X7 Plus 3G' 13037 - regex: 'ODYS_NOVA_X7' 13038 model: 'Nova X7' 13039 - regex: 'THOR_?10_PLUS_3G' 13040 model: 'Thor 10 Plus 3G' 13041 - regex: 'NOTOSplus3G' 13042 model: 'Notos Plus 3G' 13043 - regex: 'MAVEN_G10' 13044 model: 'Maven G10' 13045 13046 # explicit smartphones models 13047 - regex: 'NEO6[_ ]LTE' 13048 model: 'Neo 6 LTE' 13049 device: 'smartphone' 13050 - regex: 'SLADE_X55' 13051 model: 'Slade X55' 13052 device: 'smartphone' 13053 13054 # general detections 13055 - regex: 'IEOS[ _]([^/;]+) Build' 13056 model: 'Ieos $1' 13057 - regex: '(?:ODYS[ _-])?NOON Build' 13058 model: 'Noon' 13059 - regex: '(?:ODYS[ _-])?NOON_PRO Build' 13060 model: 'Noon Pro' 13061 - regex: 'Odys[ _-]([^/;]+) Build' 13062 model: '$1' 13063 13064# Obi 13065Obi: 13066 regex: 'Obi[ _-]|(SJ1\.5|SJ2\.6|(?<!verykool )S(400|452\+|45[13]|50[127]|503\+?|520|55[01])|falcon)[ _]' 13067 device: 'smartphone' 13068 models: 13069 - regex: 'SJ2\.6' 13070 model: 'SJ2.6' 13071 - regex: 'SJ1\.5' 13072 model: 'SJ1.5' 13073 - regex: '(?:Obi_)?S400' 13074 model: 'Skipper' 13075 - regex: '(?:Obi_)?S451|falcon' 13076 model: 'Flacon' 13077 - regex: '(?:Obi_)?S452\+' 13078 model: 'Python' 13079 - regex: '(?:Obi_)?S453' 13080 model: 'Fox' 13081 - regex: '(?:Obi_)?S501' 13082 model: 'Wolverine' 13083 - regex: '(?:Obi_)?S502' 13084 model: 'Leopard' 13085 - regex: '(?:Obi_)?S503\+' 13086 model: 'Boa Plus' 13087 - regex: '(?:Obi_)?S503' 13088 model: 'Boa' 13089 - regex: '(?:Obi_)?S507' 13090 model: 'Pelican' 13091 - regex: '(?:Obi_)?S520' 13092 model: 'Octopus' 13093 - regex: '(?:Obi_)?S550' 13094 model: 'Crane' 13095 - regex: '(?:Obi_)?S551' 13096 model: 'Hornbill' 13097 - regex: '(?:Obi_)?S454' 13098 model: 'Alligator' 13099 - regex: 'Obi[ _-]([^;/]+) Build' 13100 model: '$1' 13101 - regex: 'Obi[ _-]([^;/)]+)(?:[;/)]|$)' 13102 model: '$1' 13103 13104# Okapia 13105Okapia: 13106 regex: 'Signature (?:L|Pro|Touch)' 13107 device: 'smartphone' 13108 models: 13109 - regex: 'Signature (L|Pro|Touch)' 13110 model: 'Signature $1' 13111 13112# onda 13113Onda: 13114 regex: 'Onda|(?:(?:V820w|V891[w]?|V919(?: 3G)? Air)[ _-]DualOS|(?:V919 4G Air|V989 Air|V972) Core[48]|T2101L2B1C| V10 4G|OBOOK (?:20 SE|20 PLUS DUALOS)|OBOOK10 SE|V919 Air CH DualOS)(?:[);/ ]|$)' 13115 device: 'smartphone' 13116 models: 13117 # explicit tablet models 13118 - regex: 'ONDA[ _]MID' 13119 model: 'MID' 13120 device: 'tablet' 13121 - regex: 'V820w[ _-]DualOS' 13122 model: 'V820W Dual OS' 13123 device: 'tablet' 13124 - regex: 'V891W[ _-]DualOS' 13125 model: 'V891W Dual OS' 13126 device: 'tablet' 13127 - regex: 'V891[ _-]DualOS' 13128 model: 'V891 Dual OS' 13129 device: 'tablet' 13130 - regex: 'V919 3G Air[ _-]DualOS' 13131 model: 'V919 3G Air Dual OS' 13132 device: 'tablet' 13133 - regex: 'V919 Air[ _-]DualOS' 13134 model: 'V919 Air Dual OS' 13135 device: 'tablet' 13136 - regex: 'V919 Air CH DualOS' 13137 model: 'V919 Air CH Dual OS' 13138 device: 'tablet' 13139 - regex: 'V919 4G Air Core8' 13140 model: 'V919 4G Air Core 8' 13141 device: 'tablet' 13142 - regex: 'V972 Core4' 13143 model: 'V919 Core 4' 13144 device: 'tablet' 13145 - regex: 'V989 Air Core8' 13146 model: 'V989 Air Core 8' 13147 device: 'tablet' 13148 - regex: 'ONDA V989' 13149 model: 'V989 Core 8' 13150 device: 'tablet' 13151 - regex: 'T2101L2B1C|OBOOK 20 PLUS DUALOS' 13152 model: 'oBook 20 Plus Dual OS' 13153 device: 'tablet' 13154 - regex: ' V10 4G(?:[);/ ]|$)' 13155 model: 'V10 10.1" 4G' 13156 device: 'tablet' 13157 - regex: 'OBOOK 20 SE(?:[);/ ]|$)' 13158 model: 'oBook 20 SE' 13159 device: 'tablet' 13160 - regex: 'OBOOK10 SE(?:[);/ ]|$)' 13161 model: 'oBook 10 SE' 13162 device: 'tablet' 13163 13164 - regex: '([a-z0-9]+)[ _]Onda' 13165 model: '$1' 13166 - regex: 'Onda ([a-z0-9]+)' 13167 model: '$1' 13168 13169# OnePlus (www.oneplus.com or oneplus.com.ru) 13170OnePlus: 13171 regex: '(?:du_)?ONEPLUS|(?:A0001|A200[135]|AC200[13]|A300[03]|A3010|A5000|A600[03]|A601[03]|BE201[1235]|BE202[5689]|E100[135]|GM191[03517]|GM190[0135]|GM192[05]|HD191[013]|HD190[01357]|HD1925|IN201[013579]|IN202[0135]|KB200[01357]|LE211[0137]|LE212[035]|Nord N10 5G|LE210[01]|LE212[17]|DE211[78]|DN210[13]|EB210[13])(?: Build|\))' 13172 device: 'smartphone' 13173 models: 13174 - regex: 'AC200[13](?:[);/ ]|$)' 13175 model: 'Nord 5G' 13176 - regex: 'EB210[13](?:[);/ ]|$)' 13177 model: 'Nord CE 5G' 13178 - regex: 'BE2012(?:[);/ ]|$)' 13179 model: 'Clover' 13180 - regex: 'BE201[135](?:[);/ ]|$)' 13181 model: 'Nord N100' 13182 - regex: 'DE211[78](?:[);/ ]|$)' 13183 model: 'Nord N200 5G' 13184 - regex: 'BE2025(?:[);/ ]|$)' 13185 model: 'Nord N10' 13186 - regex: '(BE202[69]|Nord N10 5G)(?:[);/ ]|$)' 13187 model: 'Nord N10 5G' 13188 - regex: 'BE2028(?:[);/ ]|$)' 13189 model: 'Nord N10 Lite' 13190 - regex: 'DN210[13](?:[);/ ]|$)' 13191 model: 'Nord 2 5G' 13192 - regex: 'IN202[0135](?:[);/ ]|$)' 13193 model: '8 Pro' 13194 - regex: 'KB2000(?:[);/ ]|$)' 13195 model: '8T' 13196 - regex: '(?:IN201[01357]|OnePlus 8)(?:[);/ ]|$)' 13197 model: '8' 13198 - regex: 'IN2019(?:[);/ ]|$)' 13199 model: '8 5G UW' 13200 - regex: 'LE211[0137](?:[);/ ]|$)' 13201 model: '9' 13202 - regex: 'LE210[01](?:[);/ ]|$)' 13203 model: '9R' 13204 - regex: 'LE212[01357](?:[);/ ]|$)' 13205 model: '9 Pro' 13206 - regex: '(?:GM191[01357]|OnePlus 7 Pro)(?:[);/ ]|$)' 13207 model: '7 Pro' 13208 - regex: 'GM190[0135](?:[);/ ]|$)' 13209 model: '7' 13210 - regex: 'HD190[01357](?:[);/ ]|$)' 13211 model: '7T' 13212 - regex: '(?:HD191[013]|OnePlus 7T Pro)(?:[);/ ]|$)' 13213 model: '7T Pro' 13214 - regex: '(?:HD1925|GM192[05])(?:[);/ ]|$)' 13215 model: '7T Pro 5G' 13216 - regex: 'KB200[1357](?:[);/ ]|$)' 13217 model: '8T' 13218 - regex: 'A0001(?:[);/ ]|$)' 13219 model: 'One' 13220 - regex: 'A200[135]|OnePlus2' 13221 model: '2' 13222 - regex: 'E100[135](?:[);/ ]|$)' 13223 model: 'X' 13224 - regex: 'A3010|OnePlus3T' 13225 model: '3T' 13226 - regex: 'A300[03]|OnePlus3' 13227 model: '3' 13228 - regex: 'A5010|OnePlus[ ]?5T' 13229 model: '5T' 13230 - regex: 'A5000|OnePlus5' 13231 model: '5' 13232 - regex: 'A600[03]|OnePlus6' 13233 model: '6' 13234 - regex: 'A601[03](?:[);/ ]|$)' 13235 model: '6T' 13236 - regex: '(?:du_)?ONEPLUS ?([^;/]+) Build' 13237 model: '$1' 13238 13239# Realme (sub brand Oppo) 13240Realme: 13241 regex: 'Realme[ _]|(?:RMX(?:19(03|4[1235]|19|9[23]|2[157]|[01379]1|73)|20(?:[025-7]1|42|[0357]2|2[57]|63|7[56]|8[156]|[2-5]0)|21(?:0[13]|17|[12]1|4[24]|5[156]|6[13]|7[036]|8[059]|9[345])|220[0125]|18(0[13579]|11|3[13]|2[157]|[45]1|53|45)|32(?:0[13]|42|[346]1)|30(?:[348]1|9[23]|63|85)|31(?:2[12]|15|9[15]|51|6[16]|71)|3350|336[36]|3263)|(?:OPPO[ _]?)?CPH1861)(?:[);/ ]|$)' 13242 device: 'smartphone' 13243 models: 13244 - regex: '(?:OPPO[ _]?)?CPH1861(?:[);/ ]|$)' 13245 model: '1' 13246 - regex: 'RMX180[59]' 13247 model: '2' 13248 - regex: 'RMX180[137]' 13249 model: '2 Pro' 13250 - regex: 'RMX(1833|182[15])' 13251 model: '3' 13252 - regex: 'RMX1827' 13253 model: '3i' 13254 - regex: 'RMX185[13]' 13255 model: '3 Pro' 13256 - regex: 'RMX190[13]|Realme X(?:[);/ ]|$)' 13257 model: 'X' 13258 - regex: 'RMX199[12]' 13259 model: 'X2' 13260 - regex: 'RMX1993' 13261 model: 'X2 Dual' 13262 - regex: 'RMX1931|Realme X2 Pro(?:[);/ ]|$)' 13263 model: 'X2 Pro' 13264 - regex: 'RMX2117' 13265 model: 'Q2 5G' 13266 - regex: 'RMX2173' 13267 model: 'Q2 Pro' 13268 - regex: 'RMX2205' 13269 model: 'Q3 Pro 5G' 13270 - regex: 'RMX3161' 13271 model: 'Q3 5G' 13272 - regex: 'RMX2176(?:[);/ ]|$)' 13273 model: 'X7 5G' 13274 - regex: 'RMX2121(?:[);/ ]|$)' 13275 model: 'X7 Pro 5G' 13276 - regex: 'RMX1921|Realme XT(?:[);/ ]|$)' 13277 model: 'XT' 13278 - regex: 'RMX19(1[19]|27)' 13279 model: '5' 13280 - regex: 'RMX197[13]' 13281 model: '5 Pro' 13282 - regex: 'RMX203[02]' 13283 model: '5i' 13284 - regex: 'RMX2001' 13285 model: '6' 13286 - regex: 'RMX204[02]' 13287 model: '6i' 13288 - regex: 'RMX2002' 13289 model: '6S' 13290 - regex: 'RMX206[13](?:[);/ ]|$)' 13291 model: '6 Pro' 13292 - regex: 'RMX215[15]' 13293 model: '7' 13294 - regex: 'RMX2103' 13295 model: '7I' 13296 - regex: 'RMX2170' 13297 model: '7 Pro' 13298 - regex: 'RMX3115' 13299 model: 'X7 Pro Extreme Edition' 13300 - regex: 'RMX3081' 13301 model: '8 Pro' 13302 - regex: 'RMX3085' 13303 model: '8' 13304 - regex: 'RMX3151' 13305 model: '8i' 13306 - regex: 'RMX3241' 13307 model: '8 5G' 13308 - regex: 'RMX1925(?:[);/ ]|$)' 13309 model: '5S' 13310 - regex: 'RMX1811(?:[);/ ]|$)' 13311 model: 'C1' 13312 - regex: 'RMX194[1235](?:[);/ ]|$)' 13313 model: 'C2' 13314 - regex: 'RMX202[107](?:[);/ ]|$)' 13315 model: 'C3' 13316 - regex: 'RMX2185(?:[);/ ]|$)' 13317 model: 'C11' 13318 - regex: 'RMX2189(?:[);/ ]|$)' 13319 model: 'C12' 13320 - regex: 'RMX2180(?:[);/ ]|$)' 13321 model: 'C15' 13322 - regex: 'RMX219[45](?:[);/ ]|$)' 13323 model: 'C15 Qualcomm Edition' 13324 - regex: 'RMX2101(?:[);/ ]|$)' 13325 model: 'C17' 13326 - regex: 'RMX3063(?:[);/ ]|$)' 13327 model: 'C20' 13328 - regex: 'RMX320[13]' 13329 model: 'C21' 13330 - regex: 'RMX326[13]' 13331 model: 'C21Y' 13332 - regex: 'RMX3191' 13333 model: 'C25' 13334 - regex: 'RMX3195' 13335 model: 'C25s' 13336 - regex: 'RMX3231' 13337 model: 'C11 (2021)' 13338 - regex: 'RMX3031(?:[);/ ]|$)' 13339 model: 'GT Neo' 13340 - regex: 'RMX336[36](?:[);/ ]|$)' 13341 model: 'GT Master Edition' 13342 - regex: 'RMX3350(?:[);/ ]|$)' 13343 model: 'GT Neo Flash' 13344 - regex: 'RMX216[13](?:[);/ ]|$)' 13345 model: 'Narzo 20 Pro' 13346 - regex: 'RMX2193(?:[);/ ]|$)' 13347 model: 'Narzo 20' 13348 - regex: 'RMX2050(?:[);/ ]|$)' 13349 model: 'Narzo 20A' 13350 - regex: 'RMX3171(?:[);/ ]|$)' 13351 model: 'Narzo 30A' 13352 - regex: 'RMX2156(?:[);/ ]|$)' 13353 model: 'Narzo 30' 13354 - regex: 'RMX3242' 13355 model: 'Narzo 30 5G' 13356 - regex: 'RMX1831(?:[);/ ]|$)' 13357 model: 'U1' 13358 - regex: 'RMX(?:20(?:51|[2]5)|2144)(?:[);/ ]|$)' 13359 model: 'X50 5G' 13360 - regex: 'RMX2052(?:[);/ ]|$)' 13361 model: 'X50t 5G' 13362 - regex: 'RMX2071(?:[);/ ]|$)' 13363 model: 'X50 Pro' 13364 - regex: 'RMX207[56](?:[);/ ]|$)' 13365 model: 'X50 Pro 5G' 13366 - regex: 'RMX2072(?:[);/ ]|$)' 13367 model: 'X50 Pro Player' 13368 - regex: 'RMX(2142|2081)(?:[);/ ]|$)' 13369 model: 'X3' 13370 - regex: 'RMX208[56](?:[);/ ]|$)' 13371 model: 'X3 Super Zoom' 13372 - regex: 'RMX2173(?:[);/ ]|$)' 13373 model: 'Q2 Pro' 13374 - regex: 'RMX2111' 13375 model: 'V5 5G' 13376 - regex: 'RMX220[01]' 13377 model: 'V3 5G' 13378 - regex: 'RMX312[12]' 13379 model: 'V11 5G' 13380 - regex: 'RMX3041' 13381 model: 'V13 5G' 13382 - regex: 'RMX309[23]' 13383 model: 'V15 5G' 13384 - regex: 'RMX2202' 13385 model: 'GT 5G' 13386 - regex: 'Realme[ _]([1-9])[ _]Pro(?:[);/ ]|$)' 13387 model: '$1 Pro' 13388 13389 13390# Oppo (oppo.com) 13391OPPO: 13392 regex: '(?:OB-)?OPPO[ _]?([a-z0-9]+)|N1T|R8001|A101OP|OPG01|A00[12]OP|(?:OPG02|X90[07][0679]|U70[57]T?|X909T?|R(?:10[01]1|2001|201[07]|6007|7005|7007|80[13579]|81[13579]|82[01379]|83[013]|800[067]|8015|810[679]|811[13]|820[057])[KLSTW]?|N520[79]|N5117|A33[wf]|A33fw|A37fw?|PAAM00|PAAT00|PAC[TM]00|R7kf|R7plusf|R7Plusm|A1601|CPH[0-9]{4}|CPH19(69|79|23|1[179])|PB(A[TM]00|CT10|BT30|CM[13]0|[FD]M00)|P(E[RFHG]M\d{2}|E[GH]T\d{2}|DAM10|ADM00|AF[TM]00|ADT00|AHM00|BBM[03]0|BBT00|BDT00|BFT00|[CB]E[MT]00|CA[MT]00|C[CDG]M00|CA[MT]10|[CD]PM00|CRM00|CDT00|CD[TM]10|CHM[013]0|CKM[08]0|CLM[15]0|DEM[13]0|DHM00|D[RK][TM]00|DPT00|DB[TM]00|DCM00|[CD]NM00|DVM00|DY[TM][12]0|DNT00|EA[TM]00|CRT01|EDM00)|PEG[MT]10|PEM[MT][02]0|PDET10|PDS[TM]00|PEC[MT]30|OPG03|PE[QYPEXN]M00)(?:[);/ ]|$)' 13393 device: 'smartphone' 13394 models: 13395 - regex: 'PCHM10(?:[);/ ]|$)' 13396 model: 'A11' 13397 - regex: '(?:CPH2083|CPH2077)(?:[);/ ]|$)' 13398 model: 'A12' 13399 - regex: '(?:CPH2179)(?:[);/ ]|$)' 13400 model: 'A15s' 13401 - regex: '(?:CPH2271)(?:[);/ ]|$)' 13402 model: 'A16s' 13403 - regex: '(?:CPH2185)(?:[);/ ]|$)' 13404 model: 'A15' 13405 - regex: 'PCHM00(?:[);/ ]|$)' 13406 model: 'A11x' 13407 - regex: 'CPH1923(?:[);/ ]|$)' 13408 model: 'A1k' 13409 - regex: 'CPH1925(?:[);/ ]|$)' 13410 model: 'A1s' 13411 - regex: 'CPH2269(?:[);/ ]|$)' 13412 model: 'A16' 13413 - regex: '(?:OPPO[ _]?)?(CPH1837|PAD[TM]00)(?:[);/ ]|$)' 13414 model: 'A3' 13415 - regex: '(?:OPPO[ _]?)?A37f(w)(?:[);/ ]|$)' 13416 model: 'A37f$1' 13417 - regex: 'A37f(?:[);/ ]|$)' 13418 model: 'A37f' 13419 - regex: '(?:OPPO[ _]?)?CPH1605(?:[);/ ]|$)' 13420 model: 'A39' 13421 - regex: 'CPH20(?:81|73|31|15)(?:[);/ ]|$)' 13422 model: 'A31' 13423 - regex: '(?:OPPO[ _]?)?(?:CPH18(?:0[35]|53)|PBBM30)(?:[);/ ]|$)' 13424 model: 'A3s' 13425 - regex: '(?:OPPO[ _]?)?(?:CPH1809|PBA[TM]00|PBBT30)(?:[);/ ]|$)' 13426 model: 'A5' 13427 - regex: 'CPH19(?:3[13]|43)(?:[);/ ]|$)' 13428 model: 'A5 (2020)' 13429 - regex: 'PEC[MT]30(?:[);/ ]|$)' 13430 model: 'A53 5G' 13431 - regex: 'PDVM00(?:[);/ ]|$)' 13432 model: 'A32' 13433 - regex: 'PEFM00(?:[);/ ]|$)' 13434 model: 'A35' 13435 - regex: '(?:PDAM10|CPH2069|CPH2061)(?:[);/ ]|$)' 13436 model: 'A52' 13437 - regex: 'CPH2127(?:[);/ ]|$)' 13438 model: 'A53' 13439 - regex: 'CPH2135(?:[);/ ]|$)' 13440 model: 'A53s' 13441 - regex: '(?:CPH2195|OPG02|CPH2303)(?:[);/ ]|$)' 13442 model: 'A54 5G' 13443 - regex: 'CPH2239(?:[);/ ]|$)' 13444 model: 'A54' 13445 - regex: 'PEM[MT][02]0(?:[);/ ]|$)' 13446 model: 'A55 5G' 13447 - regex: '(?:OPPO[ _]?)?CPH170[15](?:[);/ ]|$)' 13448 model: 'A57' 13449 - regex: 'CPH19(?:09|1[02])(?:[);/ ]|$)' 13450 model: 'A5S' 13451 - regex: '(?:OPPO[ _]?)?(?:CPH190[15]|PBF[TM]00)(?:[);/ ]|$)' 13452 model: 'A7' 13453 - regex: '(?:OPPO[ _]?)?(CPH1801|CPH1717)(?:[);/ ]|$)' 13454 model: 'A71' 13455 - regex: '(?:OPPO[ _]?)?(?:PDY[TM]20|CPH2067)(?:[);/ ]|$)' 13456 model: 'A72' 13457 - regex: 'CPH(?:2161|2099)(?:[);/ ]|$)' 13458 model: 'A73 5G' 13459 - regex: 'CPH2219(?:[);/ ]|$)' 13460 model: 'A74' 13461 - regex: '(?:OPPO[ _]?)?(?:PDY[TM]10)(?:[);/ ]|$)' 13462 model: 'A72n 5G' 13463 - regex: '(?:OPPO[ _]?)?CPH1715(?:[);/ ]|$)' 13464 model: 'A77' 13465 - regex: '(?:OPPO[ _]?)?A79kt' 13466 model: 'A79' 13467 - regex: 'PCD[TM]00(?:[);/ ]|$)' 13468 model: 'A7n' 13469 - regex: '(PBBT00|PBBM00)(?:[);/ ]|$)' 13470 model: 'A7x' 13471 - regex: '(?:OPPO[ _]?)?(?:PDBM00)(?:[);/ ]|$)' 13472 model: 'A8' 13473 - regex: '(?:OPPO[ _]?)?CPH1729(?:[);/ ]|$)' 13474 model: 'A83' 13475 - regex: '(?:OPPO[ _]?)?CPH1827(?:[);/ ]|$)' 13476 model: 'A83 (2018)' 13477 - regex: 'PCA[TM]10(?:[);/ ]|$)' 13478 model: 'A9' 13479 - regex: '(CPH1937|CPH1941|PCHM30)(?:[);/ ]|$)' 13480 model: 'A9 (2020)' 13481 - regex: '(?:OPPO[ _]?)?CPH1938(?:[);/ ]|$)' 13482 model: 'A9 (EN)' 13483 - regex: '(?:PCPM00|CPH20[02]1)(?:[);/ ]|$)' 13484 model: 'A91' 13485 - regex: 'CPH2059(?:[);/ ]|$)' 13486 model: 'A92' 13487 - regex: 'PDKT00(?:[);/ ]|$)' 13488 model: 'A92s' 13489 - regex: '(?:PEH[MT]00|CPH212[13])(?:[);/ ]|$)' 13490 model: 'A93' 13491 - regex: 'PDKM00(?:[);/ ]|$)' 13492 model: 'A93s' 13493 - regex: '(?:CPH2203)(?:[);/ ]|$)' 13494 model: 'A94' 13495 - regex: '(?:CPH2197)(?:[);/ ]|$)' 13496 model: 'A94 5G' 13497 - regex: 'PCE[TM]00(?:[);/ ]|$)' 13498 model: 'A9x' 13499 - regex: '(?:OPPO[ _]?)?CPH1851(?:[);/ ]|$)' 13500 model: 'AX5' 13501 - regex: 'CPH1920(?:[);/ ]|$)' 13502 model: 'AX5s' 13503 - regex: '(?:OPPO[ _]?)?CPH1903(?:[);/ ]|$)' 13504 model: 'AX7' 13505 - regex: '(?:OPPO[ _]?)?X9009(?:[);/ ]|$)' 13506 model: 'F1 Plus' 13507 - regex: 'CPH191[135](?:[);/ ]|$)' 13508 model: 'F11' 13509 - regex: 'CPH19(?:69|87)(?:[);/ ]|$)' 13510 model: 'F11 Pro' 13511 - regex: '(?:OPPO[ _]?)?CPH2095' 13512 model: 'F17' 13513 - regex: '(?:OPPO[ _]?)?(?:CPH2119)(?:[);/ ]|$)' 13514 model: 'F17 Pro' 13515 - regex: '(?:OPPO[ _]?)?A1601(?:[);/ ]|$)' 13516 model: 'F1s' 13517 - regex: '(?:OPPO[ _]?)?CPH1609(?:[);/ ]|$)' 13518 model: 'F3' 13519 - regex: '(?:OPPO[ _]?)?CPH1613(?:[);/ ]|$)' 13520 model: 'F3 Plus' 13521 - regex: '(?:OPPO[ _]?)?CPH172[37](?:[);/ ]|$)' 13522 model: 'F5' 13523 - regex: '(?:OPPO[ _]?)?CPH1725(?:[);/ ]|$)' 13524 model: 'F5 Youth' 13525 - regex: '(?:OPPO[ _]?)?CPH(1859|18(?:19|21))(?:[);/ ]|$)' 13526 model: 'F7' 13527 - regex: '(?:OPPO[ _]?)?(?:CPH1825|CPH1881)(?:[);/ ]|$)' 13528 model: 'F9' 13529 - regex: '(?:OPPO[ _]?)?CPH1823(?:[);/ ]|$)' 13530 model: 'F9 Pro' 13531 - regex: '(?:OPPO[ _]?)?CPH2285(?:[);/ ]|$)' 13532 model: 'F19 Pro' 13533 - regex: '(?:OPPO[ _]?)?CPH2213(?:[);/ ]|$)' 13534 model: 'F19 Pro Plus' 13535 - regex: '(?:OPPO[ _]?)?X909T?(?:[);/ ]|$)' 13536 model: 'Find 5' 13537 - regex: '(?:OPPO[ _]?)?R827T?(?:[);/ ]|$)' 13538 model: 'Find 5 Mini' 13539 - regex: '(?:OPPO[ _]?)?X907[067](?:[);/ ]|$)' 13540 model: 'Find 7' 13541 - regex: '(?:OPPO[ _]?)?X900[067](?:[);/ ]|$)' 13542 model: 'Find 7a' 13543 - regex: '(?:OPPO[ _]?)?R815[TW]?(?:[);/ ]|$)' 13544 model: 'Find Clover' 13545 - regex: '(?:OPPO[ _]?)?R8015(?:[);/ ]|$)' 13546 model: 'Find Guitar' 13547 - regex: '(?:OPPO[ _]?)?R8111(?:[);/ ]|$)' 13548 model: 'Find Melody' 13549 - regex: '(?:OPPO[ _]?)?R821T?(?:[);/ ]|$)' 13550 model: 'Find Muse' 13551 - regex: '(?:OPPO[ _]?)?U707T?(?:[);/ ]|$)' 13552 model: 'Find Way S' 13553 - regex: '(?:OPPO[ _]?)?U705T(?:[);/ ]|$)' 13554 model: 'Ulike 2' 13555 - regex: '(?:OPPO[ _]?)?(?:CPH187[15]|PAF[MT]00)(?:[);/ ]|$)' 13556 model: 'Find X' 13557 - regex: '(?:OPPO[ _]?)?(?:PAHM00)(?:[);/ ]|$)' 13558 model: 'Find X Lamborghini' 13559 - regex: '(?:OPPO[ _]?)?(?:PDE[TM]10|CPH2023)(?:[);/ ]|$)' 13560 model: 'Find X2' 13561 - regex: '(?:OPPO[ _]?)?CPH2005(?:[);/ ]|$)' 13562 model: 'Find X2 Lite' 13563 - regex: '(?:OPPO[ _]?)?(?:PDEM30|OPG01|CPH2025)(?:[);/ ]|$)' 13564 model: 'Find X2 Pro' 13565 - regex: 'PEDM00(?:[);/ ]|$)' 13566 model: 'Find X3' 13567 - regex: '(?:PEEM00|CPH2173|OPG03)(?:[);/ ]|$)' 13568 model: 'Find X3 Pro' 13569 - regex: '(?:OPPO[ _]?)?R1011 Build' 13570 model: 'Joy Plus' 13571 - regex: '(?:OPPO[ _]?)?(PBC(?:M30|T10))(?:[);/ ]|$)' 13572 model: 'K1' 13573 - regex: 'CPH1955(?:[);/ ]|$)' 13574 model: 'K3' 13575 - regex: '(?:OPPO[ _]?)?(PCNM00)(?:[);/ ]|$)' 13576 model: 'K5' 13577 - regex: '(?:OPPO[ _]?)?(PCLM50)(?:[);/ ]|$)' 13578 model: 'K7' 13579 - regex: '(?:OPPO[ _]?)?(PERM00)(?:[);/ ]|$)' 13580 model: 'K7x' 13581 - regex: '(?:OPPO[ _]?)?N5117(?:[);/ ]|$)' 13582 model: 'N1 Mini' 13583 - regex: '(?:OPPO[ _]?)?N520[79](?:[);/ ]|$)' 13584 model: 'N3' 13585 - regex: '(?:OPPO[ _]?)?R831T?(?:[);/ ]|$)' 13586 model: 'Neo' 13587 - regex: '(?:OPPO[ _]?)?R831K(?:[);/ ]|$)' 13588 model: 'Neo 3' 13589 - regex: '(?:OPPO[ _]?)?R831[SL](?:[);/ ]|$)' 13590 model: 'Neo 5' 13591 - regex: '(?:OPPO[ _]?)?A33[wf](?:[);/ ]|$)' 13592 model: 'Neo 7' 13593 - regex: '(?:OPPO[ _]?)?A33fw(?:[);/ ]|$)' 13594 model: 'Neo 7s' 13595 - regex: '(?:OPPO[ _]?)?R8113(?:[);/ ]|$)' 13596 model: 'Piano' 13597 - regex: '(?:OPPO[ _]?)?CPH1707(?:[);/ ]|$)' 13598 model: 'R11' 13599 - regex: '(?:OPPO[ _]?)?R11 Pluskt(?:[);/ ]|$)' 13600 model: 'R11 Plus' 13601 - regex: 'R8001(?:[);/ ]|$)' 13602 model: 'R1K' 13603 - regex: '(?:OPPO[ _]?)?(?:CPH1719|R11st?)(?:[);/ ]|$)' 13604 model: 'R11s' 13605 - regex: '(?:OPPO[ _]?)?CPH1721(?:[);/ ]|$)' 13606 model: 'R11s Plus' 13607 - regex: '(?:OPPO[ _]?)?(?:CPH1835|PAC[TM]00|PAAM00)(?:[);/ ]|$)' 13608 model: 'R15' 13609 - regex: '(?:OPPO[ _]?)?(?:CPH183[13]|PAAT00)(?:[);/ ]|$)' 13610 model: 'R15 Pro' 13611 - regex: 'PBCM10(?:[);/ ]|$)' 13612 model: 'R15x' 13613 - regex: '(?:OPPO[ _]?)?(?:CPH1879|PBE[MT]00)(?:[);/ ]|$)' 13614 model: 'R17' 13615 - regex: '(?:OPPO[ _]?)?(?:CPH1893)(?:[);/ ]|$)' 13616 model: 'R17 Neo' 13617 - regex: '(?:OPPO[ _]?)?(?:CPH1877|PBD[MT]00)(?:[);/ ]|$)' 13618 model: 'R17 Pro' 13619 - regex: '(?:OPPO[ _]?)?R8006(?:[);/ ]|$)' 13620 model: 'R1L' 13621 - regex: '(?:OPPO[ _]?)?R800[07](?:[);/ ]|$)' 13622 model: 'R1S' 13623 - regex: '(?:OPPO[ _]?)?R810[679](?:[);/ ]|$)' 13624 model: 'R5' 13625 - regex: '(?:OPPO[ _]?)?R7kf(?:[);/ ]|$)' 13626 model: 'R7 Lite' 13627 - regex: '(?:OPPO[ _]?)?R7Plusm(?:[);/ ]|$)' 13628 model: 'R7 Plus' 13629 - regex: '(?:OPPO[ _]?)?R7Plusf(?:[);/ ]|$)' 13630 model: 'R7 Plus F' 13631 - regex: '(?:OPPO[ _]?)?X9079(?:[);/ ]|$)' 13632 model: 'R9 Plus' 13633 - regex: '(?:OPPO[ _]?)?(?:CPH1607|R9sk)(?:[);/ ]|$)' 13634 model: 'R9s' 13635 - regex: '(?:OPPO[ _]?)?(?:CPH1611|R9s Plus)(?:[);/ ]|$)' 13636 model: 'R9s Plus' 13637 - regex: '(?:CPH1917|PCA[MT]00)(?:[);/ ]|$)' 13638 model: 'Reno' 13639 - regex: 'CPH1983(?:[);/ ]|$)' 13640 model: 'Reno A' 13641 - regex: 'PCCM00(?:[);/ ]|$)' 13642 model: 'Reno 10X' 13643 - regex: 'CPH1919(?:[);/ ]|$)' 13644 model: 'Reno 10X Zoom' 13645 - regex: '(?:PCKM00|CPH1907)(?:[);/ ]|$)' 13646 model: 'Reno 2' 13647 - regex: 'CPH1989(?:[);/ ]|$)' 13648 model: 'Reno 2F' 13649 - regex: '(?:PCKM80|CPH1945|CPH1951)(?:[);/ ]|$)' 13650 model: 'Reno 2Z' 13651 - regex: 'CPH2043(?:[);/ ]|$)' 13652 model: 'Reno 3' 13653 - regex: '(?:CPH2013|A002OP)(?:[);/ ]|$)' 13654 model: 'Reno 3A' 13655 - regex: '(?:PDCM00|A001OP)(?:[);/ ]|$)' 13656 model: 'Reno 3 5G' 13657 - regex: '(?:PCRM00|CPH203[567]|CPH2009)' 13658 model: 'Reno 3 Pro' 13659 - regex: 'PCRT01(?:[);/ ]|$)' 13660 model: 'Reno 3 Lite' 13661 - regex: 'CPH2113(?:[);/ ]|$)' 13662 model: 'Reno 4 4G' 13663 - regex: 'CPH2125(?:[);/ ]|$)' 13664 model: 'Reno 4 Lite' 13665 - regex: 'CPH2109(?:[);/ ]|$)' 13666 model: 'Reno 4 Pro 4G' 13667 - regex: '(?:PDP[TM]00|CPH2091)(?:[);/ ]|$)' 13668 model: 'Reno 4 5G' 13669 - regex: 'PEA[TM]00(?:[);/ ]|$)' 13670 model: 'Reno 4 SE 5G ' 13671 - regex: '(?:PDN[TM]00|CPH2089)(?:[);/ ]|$)' 13672 model: 'Reno 4 Pro 5G' 13673 - regex: 'CPH2065(?:[);/ ]|$)' 13674 model: 'Reno 4Z 5G' 13675 - regex: 'CPH2209(?:[);/ ]|$)' 13676 model: 'Reno 4F' 13677 - regex: 'CPH2159(?:[);/ ]|$)' 13678 model: 'Reno 5' 13679 - regex: '(?:CPH2199|A101OP)(?:[);/ ]|$)' 13680 model: 'Reno 5A' 13681 - regex: 'CPH2205(?:[);/ ]|$)' 13682 model: 'Reno 5 Lite' 13683 - regex: '(?:PEG[MT]00|CPH2145)(?:[);/ ]|$)' 13684 model: 'Reno 5 5G' 13685 - regex: 'PEG[MT]10(?:[);/ ]|$)' 13686 model: 'Reno 5K' 13687 - regex: 'CPH2217(?:[);/ ]|$)' 13688 model: 'Reno 5F' 13689 - regex: 'CPH2211(?:[);/ ]|$)' 13690 model: 'Reno 5Z' 13691 - regex: '(?:PDS[TM]00|CPH220[17])(?:[);/ ]|$)' 13692 model: 'Reno 5 Pro 5G' 13693 - regex: 'PDR[TM]00(?:[);/ ]|$)' 13694 model: 'Reno 5 Pro Plus 5G' 13695 - regex: 'CPH1921(?:[);/ ]|$)' 13696 model: 'Reno 5G' 13697 - regex: '(?:CPH2235|PEQM00)(?:[);/ ]|$)' 13698 model: 'Reno 6' 13699 - regex: 'CPH2237(?:[);/ ]|$)' 13700 model: 'Reno 6 Z 5G' 13701 - regex: 'PEPM00(?:[);/ ]|$)' 13702 model: 'Reno 6 Pro' 13703 - regex: 'CPH2247(?:[);/ ]|$)' 13704 model: 'Reno 6 Pro 5G' 13705 - regex: 'PENM00(?:[);/ ]|$)' 13706 model: 'Reno 6 Pro Plus' 13707 - regex: '(?:PEYM00)(?:[);/ ]|$)' 13708 model: 'K9 Pro 5G' 13709 - regex: '(?:PEXM00)(?:[);/ ]|$)' 13710 model: 'K9 5G' 13711 - regex: 'PCLM10(?:[);/ ]|$)' 13712 model: 'Reno Ace' 13713 - regex: 'PDHM00(?:[);/ ]|$)' 13714 model: 'Reno Ace 2' 13715 - regex: 'PCGM00(?:[);/ ]|$)' 13716 model: 'Reno K3' 13717 - regex: '(?:OPPO[ _]?)?(?:CPH1979|PCD[TM]10)(?:[);/ ]|$)' 13718 model: 'Reno Z' 13719 13720 - regex: 'N1T?(?:[);/ ]|$)' 13721 model: 'N1T' 13722 device: 'phablet' 13723 - regex: 'R([0-9]{3,4}[KSTW]?)(?:[);/ ]|$)' # valid model numbers are filtered in main regex 13724 model: 'R$1' 13725 13726 # general detections 13727 - regex: '(CPH[0-9]{4})' 13728 model: '$1' 13729 13730 - regex: '(?:OB-)?OPPO[ _]?((?!Browser)[a-z0-9]+)' 13731 model: '$1' 13732 13733# orange 13734Orange: 13735 regex: 'SPV[ \-]?([a-z0-9]+)|(?<!FBCR/)Orange[ _-](?!Tahiti-LS\))([^/;]+)( Build|\))(?<!Tahiti-LS\))|SC/IHD92|Nura 2|FunTab ([^/;]+) Build|Orange Mahpee|Dive 50' 13736 device: 'smartphone' 13737 models: 13738 - regex: 'SC/IHD92' 13739 device: 'tv' # set top box 13740 model: 'Livebox Play' 13741 - regex: 'Nola play' 13742 model: 'Nola Play' 13743 - regex: 'Nura 2' 13744 model: 'Nura 2' 13745 - regex: 'Sego' 13746 model: 'Sego' 13747 device: 'tablet' 13748 - regex: 'FunTab ([^/;]+) Build' 13749 model: 'FunTab $1' 13750 device: 'tablet' 13751 - regex: 'Orange[ _-](Rise)(3[12]|5[12])(?:[);/ ]|$)' 13752 model: '$1 $2' 13753 - regex: '(?:Orange[ _-])?Dive ?(\d+) Dual(?:[);/ ]|$)' 13754 model: 'Dive $1 Dual' 13755 - regex: '(?:Orange[ _-])?Dive ?(\d+)(?:[);/ ]|$)' 13756 model: 'Dive $1' 13757 - regex: 'Orange[ _-](Daytona|Dublin|Fova|Gova|Hi 4G|Hiro|Kivo|Monte Carlo|Neva 80|Neva play|Nura|Reyo|Rise[_ ](3[034]|40|5[345])|Rono|Roya|San Francisco|Tactile internet 2|Tado|Yomi|Yumo|Zali|Mahpee)(?:[);/ ]|$)' 13758 model: '$1' 13759 - regex: 'SPV[ \-]?([a-z0-9]+)' 13760 model: 'SPV $1' 13761 13762# Oukitel 13763Oukitel: 13764 regex: 'OUKITEL|(?:Android 10.+ (?:C19|C22)|(?:C1[569]|K10000|K[46]000)(?:[ _]Pro)|K4000Pro|C1[18]_Pro|C1[0237] Pro|C2[13] Pro|C12 Plus|U15 Pro|K15_Plus|U16 Max|C11_F|U7 Max|U7 Plus|U11[_ ]Plus|U20_Plus|OK6000 Plus|WP5000|WP15|WP[58] Pro|K[46]000[ _](?:Plus|Lite)|Y4800|K10000|K[4-8]000| WP(?:[5-79]|1[023])|K[37]_Pro|K13_Pro)(?:[);/ ]|$)' 13765 device: 'smartphone' 13766 models: 13767 - regex: '(C1[0-9]|C2[13]|K10000|K[46]000|WP[258]|WP12|U15|K[37]|K13)[ _]?Pro(?:[);/ ]|$)' 13768 model: '$1 Pro' 13769 - regex: 'OUKITEL K([37])(?:[);/ ]|$)' 13770 model: 'K$1' 13771 - regex: '(K10000|U16|U7)[ _]Max(?:[);/ ]|$)' 13772 model: '$1 Max' 13773 - regex: '(U20|K[46]000|U7|U11|OK6000|K15|C12)[_ ]?Plus(?:[);/ ]|$)' 13774 model: '$1 Plus' 13775 - regex: '(K4000)[_ ]Lite(?:[);/ ]|$)' 13776 model: '$1 Lite' 13777 - regex: '(K10000)[_ ]Mix(?:[);/ ]|$)' 13778 model: '$1 Mix' 13779 - regex: '(Y4800|K10000|K[4-8]000|WP2|WP15|WP5000|[CU]2|U10|C19|C22)(?:[);/ ]|$)' 13780 model: '$1' 13781 - regex: ' (WP(?:[5-79]|1[023])|C11_F)(?:[);/ ]|$)' 13782 model: '$1' 13783 - regex: 'OUKITEL; ([^;]+);' 13784 model: '$1' 13785 13786# OKWU 13787OKWU: 13788 regex: 'OKWU SIGMA(?:[);/ ]|$)' 13789 device: 'smartphone' 13790 model: 'Sigma' 13791 13792# Ouki 13793Ouki: 13794 regex: 'OUKI|OK[AU][0-9]+[a-z]* Build' 13795 device: 'smartphone' 13796 models: 13797 - regex: 'OUKI[ _-]?([^;/]+) Build' 13798 model: '$1' 13799 - regex: '([^;/)]+) Build/OUKI' 13800 model: '$1' 13801 - regex: 'OUKI[ _-]?([^;/)]+)(?:[;/)]|$)' 13802 model: '$1' 13803 - regex: '(OK[AU][0-9]+[a-z]*) Build' 13804 model: '$1' 13805 13806# Overmax 13807Overmax: 13808 regex: 'OV-[a-z]+(?:[^;(/]*)[();/ ]|Qualcore 10(?:10|27)|Livecore7032|Vertis 5021 Aim|Vertis 4004 You|OV1027[34]G' 13809 device: 'tablet' 13810 models: 13811 - regex: 'OV-V10' 13812 model: 'Vertis Yard' 13813 device: 'smartphone' 13814 - regex: 'Vertis 5021 Aim' 13815 model: 'Vertis 5021 Aim' 13816 device: 'smartphone' 13817 - regex: 'Vertis 4004 You' 13818 model: 'Vertis 4004 You' 13819 device: 'smartphone' 13820 - regex: 'OV-Vertis[ _-]([^;/]+) Build' 13821 model: 'Vertis $1' 13822 device: 'smartphone' 13823 - regex: 'Livecore7032' 13824 model: 'Livecore 7032' 13825 - regex: 'Qualcore 1010' 13826 model: 'Qualcore 1010' 13827 - regex: 'Qualcore 1027 4G' 13828 model: 'Qualcore 1027 4G' 13829 - regex: 'OV1027([34])G' 13830 model: 'Qualcore 1027 $1G' 13831 - regex: '(OV-[a-z]+(?:[^;(/]*))(?<!Build)[();/ ]' 13832 model: '$1' 13833 13834# Oysters 13835Oysters: 13836 regex: 'Oysters|T84ERI[ _]3G|T72HM(s_)?3G|T102MS_3G|T102ER3G|(T74HMi|T84Bi)[_ ]4G|T74MR4G|T84Ni[_ ][34]G|Pacific(?:[ ]?800i|E)|T104B_[34]G|IndianV|T72HA_3G|T74D_3G|T74N_3G|T74SC_3G|T74Mai_3G|T104MBi_3G|T104SCi_3G|T104ER4G|Atlantic4G|AntarcticE|T7V 3G|Pacific(?:VS?|4G)' 13837 device: 'tablet' 13838 models: 13839 - regex: 'Pacific[ ]?800i' 13840 device: 'smartphone' 13841 model: 'Pacific 800i' 13842 - regex: 'PacificE' 13843 device: 'smartphone' 13844 model: 'Pacific E' 13845 - regex: 'Atlantic4G' 13846 device: 'smartphone' 13847 model: 'Atlantic 4G' 13848 - regex: 'AntarcticE' 13849 device: 'smartphone' 13850 model: 'Antarctic E' 13851 - regex: 'IndianV' 13852 device: 'smartphone' 13853 model: 'Indian V' 13854 - regex: '(?:Oysters[_ ])?Pacific(VS?|4G)' 13855 device: 'smartphone' 13856 model: 'Pacific $1' 13857 - regex: 'Oysters ((?:Arctic|Indian|Atlantic|Pacific)[^/;]+) Build' 13858 device: 'smartphone' 13859 model: '$1' 13860 - regex: '(T84ERI[ _]3G|T72HM(s_)?3G|(?:(T74HMi|T84Bi)[_ ]4G)|T84Ni[_ ][34]G)' 13861 model: '$1' 13862 - regex: '(T74MR|T102MS|T104B|T74SC|T74[DN]|T72HA|T102ER|T104SCi|T104MBi|T104ER|T7V)[ _]?([34]G)' 13863 model: '$1 $2' 13864 - regex: 'T74Mai_3G' 13865 model: 'T74MAi 3G' 13866 - regex: 'Oysters ([^/;]+)( Build|\))' 13867 model: '$1' 13868 13869# öwn (own mobile) 13870öwn: 13871 regex: 'OWN[ _]|(?:S4035[ _][34]G|Smart8|SMART PLUS LTE)(?:[);/ ]|$)' 13872 device: 'smartphone' 13873 models: 13874 - regex: 'FUN ([67])' 13875 model: 'Fun $1' 13876 - regex: 'FUN 5\(4G\)' 13877 model: 'Fun 5 4G' 13878 - regex: '(?:OWN[ _])?(S3000D|S3010|S3020D|S4010|S4025|S4035[ _][34]G)' 13879 model: '$1' 13880 - regex: 'One Plus' 13881 model: 'One Plus' 13882 - regex: 'One' 13883 model: 'One' 13884 - regex: 'SMART 9' 13885 model: 'Smart 9' 13886 - regex: 'Smart8(?:[);/ ]|$)' 13887 model: 'Smart 8' 13888 - regex: 'SMART PLUS LTE(?:[);/ ]|$)' 13889 model: 'Smart Plus LTE' 13890 13891# Panacom 13892Panacom: 13893 regex: 'T-i708D' 13894 device: 'smartphone' 13895 models: 13896 - regex: 'T-i708D' 13897 device: 'tablet' 13898 model: 'T-i708D' 13899 13900# panasonic 13901Panasonic: 13902 regex: 'Panasonic|PANATV[0-9]+|Viera/|(?:P902i|P-0[28]D|FZ-B2D|FZ-[NX]1|DMC-CM1|P-01J|P-03E|P55 Max)(?:[);/ ]|$)|Eluga[ _]|P55 Novo 4G' 13903 device: 'smartphone' 13904 models: 13905 - regex: 'P-01J(?:[);/ ]|$)' 13906 model: 'P-smart Keitai' 13907 - regex: 'P-03E(?:[);/ ]|$)' 13908 model: 'Eluga P' 13909 - regex: 'Eluga[ _]I7(?:_EE)?' 13910 model: 'Eluga I7' 13911 - regex: 'Eluga[ _-]([^;/]+) Build' 13912 model: 'Eluga $1' 13913 - regex: 'Eluga[ _-]([^);/]+)[;/)]' 13914 model: 'Eluga $1' 13915 - regex: '(DMC-CM1)' 13916 model: 'Lumix $1' 13917 device: 'camera' 13918 - regex: 'P-02D(?:[);/ ]|$)' 13919 model: 'Lumix Phone P-02D' 13920 - regex: '(FZ-[XN]1)(?:[);/ ]|$)' 13921 model: 'Toughpad $1' 13922 - regex: 'FZ-B2D(?:[);/ ]|$)' 13923 model: 'Toughpad FZ-B2D' 13924 device: 'tablet' 13925 - regex: 'P55 Novo 4G' 13926 model: 'P55 Novo 4G' 13927 - regex: 'P55 Max' 13928 model: 'P55 Max' 13929 - regex: 'P902i(?:[);/ ]|$)' 13930 device: 'feature phone' 13931 model: 'P902i' 13932 - regex: 'Panasonic MIL DLNA' 13933 device: 'tv' 13934 model: 'Viera Cast' 13935 - regex: 'PANATV[0-9]+|Viera/' 13936 device: 'tv' 13937 model: 'Smart TV' 13938 - regex: '(43D1200|(?:32|43)D1270|32D1280)' 13939 device: 'tv' 13940 model: '$1' 13941 - regex: 'Panasonic[ _\-]?([a-z0-9]+)' 13942 model: '$1' 13943 - regex: 'portalmmm/2.0 (P[a-z0-9]+)' 13944 model: '$1' 13945 13946 - regex: 'P-08D(?:[);/ ]|$)' 13947 model: 'Eluga Live 10.1"' 13948 device: 'tablet' 13949 13950# PCBOX 13951PCBOX: 13952 regex: 'Art-PCB-V116|Bee-PCB-V216|Clap-PCB-I316|PCB-T(103|715)' 13953 device: 'smartphone' 13954 models: 13955 - regex: 'Art-PCB-V116' 13956 model: 'Art' 13957 - regex: 'Bee-PCB-V216' 13958 model: 'Bee' 13959 - regex: 'Clap-PCB-I316' 13960 model: 'Clap' 13961 - regex: 'PCB-T103' 13962 device: 'tablet' 13963 model: 'Curi Lite' 13964 - regex: 'PCB-T715' 13965 device: 'tablet' 13966 model: 'T715' 13967 13968# PCD 13969PCD: 13970 regex: 'PH4001' 13971 device: 'smartphone' 13972 models: 13973 - regex: 'PH4001' 13974 model: 'PH4001' 13975 13976# PCD Argentina 13977PCD Argentina: 13978 regex: 'PCD[ ]?50[689]' 13979 device: 'smartphone' 13980 models: 13981 - regex: 'PCD[ ]?(50[689])' 13982 model: '$1' 13983 13984# ArmPhone 13985ArmPhone: 13986 regex: '(TSD Octa A0520P|TSD Quadra A050[59]P)(?:[);/ ]|$)' 13987 device: 'smartphone' 13988 model: '$1' 13989 13990# Pentagram 13991Pentagram: 13992 regex: 'Pentagram|Quadra|Monster X5' 13993 device: 'tablet' 13994 models: 13995 - regex: '(?:PENTAGRAM[_ ])?EON[_ ]PRIX' 13996 model: 'Eon Prix' 13997 - regex: 'Quadra 7(?: UltraSlim)?' 13998 model: 'Quadra 7 UltraSlim' 13999 - regex: 'Monster X5?' 14000 model: 'Monster X5' 14001 device: 'smartphone' 14002 - regex: 'Quadra ?([^);/]*) Build' 14003 model: 'Quadra $1' 14004 - regex: 'Pentagram ?TAB ?([^);/]*) Build' 14005 model: 'Tab $1' 14006 - regex: 'Pentagram ?([^);/]*) Build' 14007 model: '$1' 14008 device: 'smartphone' 14009 14010# Tcl (tcl.com) 14011TCL: 14012 regex: 'TCL,|TCL[_ -][a-z0-9]+|(?:TCL[_ -][^;/]+ Build)|(?:TCLGalaG60(?:\(9108A\))?|6125[FD]|A50[279]DL|T78[02]H|5199I|7040N|5133A|5159[AJ]|5152D|T770H|T671[HF]|T790Y|T766H_(?:RU|EEA)|T766[AJU]|T799[BH]|T775H|Percee TV)(?:[);/ ]|$)' 14013 device: 'smartphone' 14014 models: 14015 - regex: 'TCLGalaG60(?:\(9108A\))?(?:[);/ ]|$)' 14016 model: 'Gala G60' 14017 - regex: 'T775H(?:[);/ ]|$)' 14018 model: '20L Plus' 14019 - regex: '6125[FD](?:[);/ ]|$)' 14020 model: '20E' 14021 - regex: '5199I(?:[);/ ]|$)' 14022 model: 'C9' 14023 - regex: 'A509DL(?:[);/ ]|$)' 14024 model: 'A3' 14025 - regex: '5152D(?:[);/ ]|$)' 14026 model: 'C5' 14027 - regex: '5133A(?:[);/ ]|$)' 14028 model: 'L5' 14029 - regex: 'T780H(?:[);/ ]|$)' 14030 model: 'Plex' 14031 - regex: 'T782H(?:[);/ ]|$)' 14032 model: '10 Plus' 14033 - regex: 'T790Y(?:[);/ ]|$)' 14034 model: '10 5G' 14035 - regex: 'TCL[_ -]([^;/]+) Build' 14036 model: '$1' 14037 - regex: 'TCL[_ -]([a-z0-9]+)' 14038 model: '$1' 14039 - regex: '(7040N)(?:[);/ ]|$)' 14040 model: '$1' 14041 - regex: 'A502DL(?:[);/ ]|$)' 14042 model: 'LX' 14043 - regex: 'A507DL(?:[);/ ]|$)' # TracFone A507DL 14044 model: 'A2' 14045 - regex: '5159[AJ](?:[);/ ]|$)' 14046 model: 'L9' 14047 - regex: 'T770H(?:[);/ ]|$)' 14048 model: '10L' 14049 - regex: 'T766[AHJU](?:_(?:EEA|RU))?(?:[);/ ]|$)' 14050 model: '10 SE' 14051 - regex: 'T671[HF](?:_EEA)?(?:[);/ ]|$)' 14052 model: '20 SE' 14053 - regex: 'T799[BH](?:[);/ ]|$)' 14054 model: '10 Pro' 14055 14056 - regex: '(Percee TV)(?:[);/ ]|$)' 14057 device: 'tv' 14058 model: '$1' 14059 - regex: '((?:43|55)S62FS|(?:43|50)P65US|U(?:43|60)P60|65P4USM|(?:40|49)S62|L32S6|55P610|50P8S|55S62|(?:43|50)P6US|55DP60)' 14060 device: 'tv' 14061 model: '$1' 14062 14063# JVC 14064JVC: 14065 regex: 'JVC[;,]|AV-10NT310' 14066 device: 'tv' 14067 models: 14068 - regex: 'JVC[;,](32D1290)' 14069 model: '$1' 14070 - regex: '(AV-10NT310)' 14071 device: 'tablet' 14072 model: '$1' 14073 14074# phoneOne 14075phoneOne: 14076 regex: 'phoneOne[ \-]?([a-z0-9]+)' 14077 device: 'smartphone' 14078 model: '$1' 14079 14080# Primepad 14081Primepad: 14082 regex: 'PD\-(3127NC|3127) Build' 14083 device: 'tablet' 14084 models: 14085 - regex: 'PD\-3127NC Build' 14086 model: 'PD-3127NC' 14087 - regex: 'PD\-3127 Build' 14088 model: 'PD-3127' 14089 14090# Pioneer 14091Pioneer: 14092 regex: 'Pioneer|.*; R1 Build|dvr700pi|XDP-300R' 14093 device: 'smartphone' 14094 models: 14095 - regex: '.*; R1 Build' 14096 model: 'R1' 14097 device: 'tablet' 14098 - regex: 'dvr700pi' 14099 model: 'DVR700PI 7.0"' 14100 device: 'tablet' 14101 - regex: '(XDP-300R)' 14102 device: 'portable media player' 14103 model: '$1' 14104 - regex: 'Pioneer, ([^,]+), wired' 14105 model: '$1' 14106 - regex: 'Pioneer[ _-]?([^;/]+) Build' 14107 model: '$1' 14108 - regex: 'Pioneer[ _-]?([^;/)]+)(?:[;/)]|$)' 14109 model: '$1' 14110 14111# Pixus 14112Pixus: 14113 regex: 'Pixus|(hiPower|Touch_7_3G|Ride[_ ][34]G|Play[ _]Three[ _]v(?:[234].0|3.1))(?:[);/ ]|$)' 14114 device: 'tablet' 14115 models: 14116 - regex: 'Ride[_ ]([34])G' 14117 model: 'Ride $1G' 14118 - regex: 'Play[ _]Three[ _]v([234].0|3.1)' 14119 model: 'Play Three v$1' 14120 - regex: 'Play Two' 14121 model: 'Play Two' 14122 - regex: 'Play Five' 14123 model: 'Play Five' 14124 - regex: 'hiPower' 14125 model: 'hiPower' 14126 - regex: 'Pixus[ _]Sprint' 14127 model: 'Sprint' 14128 - regex: '(?:Pixus_)?Touch[ _]7[ _]3G' 14129 model: 'Touch 7 3G' 14130 - regex: 'Pixus[ _]hiMax' 14131 model: 'HiMax 9.6"' 14132 - regex: 'Pixus[ _]Blast' 14133 model: 'Blast 10.1"' 14134 - regex: 'Pixus[ _]Joker' 14135 model: 'Joker 10.1"' 14136 - regex: 'Pixus Blaze 10.1 3G' 14137 model: 'Blaze 10.1" 3G' 14138 14139 - regex: 'Raze' 14140 model: 'Raze' 14141 device: 'smartphone' 14142 - regex: 'Pixus_Jet' 14143 model: 'Jet' 14144 device: 'smartphone' 14145 - regex: 'pixus hit 2' 14146 model: 'Hit 2' 14147 device: 'smartphone' 14148 14149# PULID 14150PULID: 14151 regex: 'PULID[ _]|F1[01357]\+? Build' 14152 device: 'smartphone' 14153 models: 14154 - regex: 'F(1[01357]\+?) Build' 14155 model: 'F$1' 14156 - regex: 'PULID[ _]([^;/]+) Build' 14157 model: '$1' 14158 - regex: 'PULID[ _]([a-z0-9_]+)\)' 14159 model: '$1' 14160 14161# Point of View 14162'Point of View': 14163 regex: 'POV_TV|POV_TAB|MOB-5045' 14164 device: 'tablet' 14165 models: 14166 - regex: 'POV_TV-HDMI-KB-01' 14167 model: 'HDMI Smart TV Dongle' 14168 device: 'tv' 14169 - regex: 'POV_TV-HDMI-200BT' 14170 model: 'Mini PC HDMI Dongle' 14171 device: 'tv' 14172 - regex: 'MOB-5045' 14173 model: 'Mobii Phone 5045' 14174 device: 'smartphone' 14175 - regex: 'POV_TAB-P506' 14176 model: 'ONYX 506 Navi' 14177 - regex: 'POV_TAB[_-]NAVI7[_-]3G[_-]M' 14178 model: 'ONYX 507 Navi' 14179 - regex: 'POV_TAB-P527S' 14180 model: 'ONYX 527S' 14181 - regex: 'POV_TAB-P547' 14182 model: 'ONYX 547 Navi' 14183 - regex: 'POV_TAB-PROTAB26' 14184 model: 'ProTab 26 XXL IPS' 14185 - regex: 'POV_TAB-PROTAB25XXL8?' 14186 model: 'ProTab 25XXL' 14187 - regex: 'POV_TAB-PL1015' 14188 model: 'Mobii 1015' 14189 14190 - regex: 'POV_TAB-PROTAB([a-z0-9]+)' 14191 model: 'ProTab $1' 14192 - regex: 'POV_TAB-P?([a-z0-9]+)' 14193 model: 'Mobii $1' 14194 14195# Pomp 14196Pomp: 14197 regex: 'POMP[ _-]' 14198 device: 'smartphone' 14199 models: 14200 - regex: 'POMP[ _-]([^;/]+) Build' 14201 model: '$1' 14202 - regex: 'POMP[ _-]([^;/)]+)(?:[;/)]|$)' 14203 model: '$1' 14204 14205# PPTV 14206PPTV: 14207 regex: '(KING 7S?)' 14208 device: 'smartphone' 14209 model: '$1' 14210 14211# ProScan 14212ProScan: 14213 regex: 'PLT([^;/]+) Build|PLT(?:777[45]|9774|1074)G(?:[);/ ]|$)' 14214 device: 'tablet' 14215 models: 14216 - regex: 'PLT([^;/]+) Build' 14217 model: 'PLT$1' 14218 - regex: 'PLT(777[45]|9774|1074)G' 14219 model: 'PLT$1G' 14220 14221# RCA Tablets (RCA) 14222'RCA Tablets': 14223 regex: 'RCT([^;/]+) Build|RCA RLTP4028|RCT6613W23P|RCT6513W87|RCT6973W43(?:MD)?|RCT6703W12|RCT(?:6A06P22|6603W47M7|6303W87(?:DK|M)|6773W22B|6203W46L|6873W42M|6K03W13)' 14224 device: 'smartphone' 14225 models: 14226 - regex: 'RCA RLTP4028' 14227 model: 'RLTP4028' 14228 - regex: 'RCT6513W87' 14229 device: 'tablet' 14230 model: 'Galileo Pro 11.5"' 14231 - regex: 'RCT6873W42M' 14232 device: 'tablet' 14233 model: 'Voyager 7.0"' 14234 - regex: 'RCT6973W43(?:MD)?' 14235 device: 'tablet' 14236 model: 'Voyager III 7.0"' 14237 - regex: 'RCT6773W22B' 14238 device: 'tablet' 14239 model: 'Voyager II 7.0"' 14240 - regex: 'RCT6703W12' 14241 device: 'tablet' 14242 model: 'Atlas 10.0"' 14243 - regex: 'RCT6203W46L' 14244 device: 'tablet' 14245 model: 'Pro 10 Edition II' 14246 - regex: 'RCT6A06P22' 14247 device: 'tablet' 14248 model: 'Endeavor 10.0" HD' 14249 - regex: 'RCT(?:6303W87(?:DK|M)|6K03W13)' 14250 device: 'tablet' 14251 model: 'Viking Pro 10.0"' 14252 - regex: 'RCT6603W47M7' 14253 device: 'tablet' 14254 model: 'Viking II 10.0"' 14255 - regex: 'RCT6613W23P' 14256 device: 'tablet' 14257 model: 'Delta Pro 11.6"' 14258 - regex: 'RCT([^;/)]+)(?: Build|[;)])' 14259 device: 'tablet' 14260 model: 'RCT$1' 14261 14262# Readboy 14263Readboy: 14264 regex: 'Readboy[ _-]' 14265 device: 'tablet' 14266 models: 14267 - regex: 'Readboy[ _-]([^;/)]+)(?: Build|[;)])' 14268 model: '$1' 14269 14270# Roku 14271Roku: 14272 regex: 'Roku(?:OS)?/(?:DVP|Pluto)?-?|QSP; Roku' 14273 device: 'tv' 14274 model: 'Digital Video Player' 14275 14276# Rokit (rokitphones.com) 14277Rokit: 14278 regex: 'IO (?:Pro|3D|Light)(?:[);/ ]|$)' 14279 device: 'smartphone' 14280 models: 14281 - regex: 'IO Pro' 14282 model: 'IO Pro' 14283 - regex: 'IO Light' 14284 model: 'IO Light' 14285 - regex: 'IO 3D' 14286 model: 'IO 3D' 14287 14288# Rombica 14289Rombica: 14290 regex: '(Rombica|SSQ-A0500|Smart Box v[0-9]+)(?:[);/ ]|$)' 14291 device: 'tv' 14292 models: 14293 - regex: 'SSQ-A0500(?:[);/ ]|$)' 14294 model: 'Smart Stick 4K' 14295 - regex: '(Infinity K8|Smart Box (?:v00[3-9]|Quad|Ultra HD v002|4K V001))(?:[);/ ]|$)' 14296 model: '$1' 14297 14298# Rover 14299Rover: 14300 regex: 'Rover ([0-9]+)' 14301 device: 'feature phone' 14302 model: '$1' 14303 14304# RoverPad or Rover Pad 14305RoverPad: 14306 regex: '(?:Rover[ ]?Pad|RoverPhone|Sky 7.85 3G|Pro_Q(?:8|10)_LTE)(?:[);/ ]|$)' 14307 device: 'tablet' 14308 models: 14309 - regex: 'RoverPhone(?:[);/ ]|$)' 14310 model: '' 14311 device: 'smartphone' 14312 - regex: 'Pro_Q(8|10)_LTE(?:[);/ ]|$)' 14313 model: 'Pro Q$1 LTE' 14314 - regex: '(?:Rover[ ]?Pad)?sky 7.85(?: 3G)?(?:[);/ ]|$)' 14315 model: 'Sky 7.85" 3G' 14316 - regex: 'RoverPad (10.4|Air S70|9.7 3G|Sky 9.7|3W A73|3W7|3WT70|3W9.4)(?:[);/ ]|$)' 14317 model: '$1' 14318 14319# Roadrover 14320Roadrover: 14321 regex: 'Roadrover ChangAn S' 14322 device: 'tablet' 14323 model: 'ChangAn S' 14324 14325# RT Project 14326RT Project: 14327 regex: 'Shock 5' 14328 device: 'smartphone' 14329 models: 14330 - regex: 'Shock 5' 14331 model: 'Shock 5' 14332 14333# S-TELL 14334S-TELL: 14335 regex: 'S-TELL|(?:M630|M55[78]|P760|M555i)(?:[);/ ]|$)' 14336 device: 'smartphone' 14337 models: 14338 - regex: '(P760)(?:[);/ ]|$)' 14339 model: '$1' 14340 - regex: '(?:S-TELL[ _])?M([0-9]{3}|555i)(?:[);/ ]|$)' 14341 model: 'M$1' 14342 14343 14344# Safaricom 14345Safaricom: 14346 regex: 'NEON_RAY' 14347 device: 'smartphone' 14348 models: 14349 - regex: 'NEON_RAY_PRO' 14350 model: 'Neon Ray Pro' 14351 - regex: 'NEON_RAY' 14352 model: 'Neon Ray' 14353 14354# Santin 14355Santin: 14356 regex: 'SANTIN|(?:BiTBiZ_V58|ACTOMA ACE|DREAMPLUS03A|Candy U7 Pro|GAAMII|RS635H)(?:[);/ ]|$)' 14357 device: 'smartphone' 14358 models: 14359 - regex: 'BiTBiZ_V58(?:[);/ ]|$)' 14360 model: 'BiTBiZ V58' 14361 - regex: 'GAAMII G1(?:[);/ ]|$)' 14362 model: 'GAAMII G1' 14363 - regex: 'GAAMII(?:[);/ ]|$)' 14364 model: 'GAAMII' 14365 - regex: 'Candy U7 Pro(?:[);/ ]|$)' 14366 model: 'Candy U7 Pro' 14367 - regex: 'DREAMPLUS03A(?:[);/ ]|$)' 14368 model: 'Dream Plus 03A' 14369 - regex: 'GreenOrange(?:[);/ ]|$)' 14370 model: 'Green Orange' 14371 - regex: 'CLASSONE(?:[);/ ]|$)' 14372 model: 'Class One' 14373 - regex: 'halove(?:[);/ ]|$)' 14374 model: 'Halove' 14375 - regex: 'ACTOMA ACE(?:[);/ ]|$)' 14376 model: 'Actoma Ace' 14377 - regex: 'monica(?:[);/ ]|$)' 14378 model: 'Monica' 14379 - regex: 'POWER(?:[);/ ]|$)' 14380 model: 'Power' 14381 - regex: 'GALAZ(?:[);/ ]|$)' 14382 model: 'Galaz' 14383 - regex: 'NEWDUN(?:[);/ ]|$)' 14384 model: 'Newdun' 14385 - regex: 'SANTIN[ _][#]?(Dante|Candy U7|Armor|YSL-Y7|ANT.W|N[13]|JS|S6|V9(?:[ _]Pro)?|Life Shine|ovvi|D|11 XS Max|SHUGUO)(?:[);/ ]|$)' 14386 model: '$1' 14387 - regex: '(RS635H)(?:[);/ ]|$)' 14388 model: '$1' 14389 14390# Siemens 14391Siemens: 14392 regex: 'SIEMENS|SIE-|portalmmm/2\.0 SI|(?:S55(?! Nova)|SL45i)(?:[);/ ]|$)' 14393 device: 'smartphone' 14394 models: 14395 - regex: '(?:SIE-)?(S[56]5|S40|C45|ME45|SLIK)(?:[);/ ]|$)' 14396 device: 'feature phone' 14397 model: '$1' 14398 14399 - regex: 'SIEMENS[ \-]([a-z0-9]+)' 14400 model: '$1' 14401 - regex: 'SIE(?:MENS )?[\-]?([a-z0-9]+)' 14402 model: '$1' 14403 - regex: '(?:SIE-)?(SL45i)' 14404 model: '$1' 14405 - regex: 'portalmmm/2.0 (SI[a-z0-9]+)' 14406 model: '$1' 14407 14408# Soundmax 14409Soundmax: 14410 regex: '((?:SM-LED32M(?:11|04)S)(?:_-Ver01)?|SM-LED40M04S)(?:[);/ ]|$)' 14411 device: 'tv' 14412 model: '$1' 14413 14414# Samsung 14415Samsung: 14416 regex: 'SAMSUNG(?! ?Browser)|lineage_j5y17lte|Maple (?!III)|SC-(?:01[FGHKLM]|02[CGHJKLM]|03[JKLE]|04[EFJL]|05[GL]|(?:4[12]|5[1234])A|5[123]B)|N[57]100|N5110|N9100|S(?:CH|GH|PH|EC|AM|HV|HW|M)-|SMART-TV|GT-|(?<!GOG|GOG )Galaxy|(?:portalmmm|o2imode)/2\.0 [SZ]|sam[rua]|vollo Vi86(?:[);/ ]|$)|(?:OTV-)?SMT-E5015|ISW11SC|40[34]SC|SC(?:V3[1-9]|V4[0-9]|51Aa|T21|G0[1-9]|G10|L2[234])(?:-[uj])?(?:[);/ ]|$)' 14417 device: 'smartphone' 14418 models: 14419 # explicit tv models 14420 - regex: 'GT-B9150' 14421 device: 'tv' 14422 model: 'Home Sync' 14423 - regex: '(?:OTV-)?SMT-E5015' 14424 device: 'tv' 14425 model: 'SMT-E5015' # set top box 14426 - regex: 'Maple ' 14427 device: 'tv' 14428 model: '' 14429 14430 # explicit tablet models 14431 - regex: '(?:SAMSUNG-)?(?:GT-)?N5100' 14432 device: 'tablet' 14433 model: 'Galaxy Note 8.0"' 14434 - regex: '(?:SAMSUNG-)?SM-T677(?:[ATV]|N[KL])?(?:[);/ ]|$)' 14435 device: 'tablet' 14436 model: 'Galaxy View 18.4" LTE' 14437 - regex: '(?:SAMSUNG-)?SM-T670(?:[);/ ]|$)' 14438 device: 'tablet' 14439 model: 'Galaxy View 18.4" WiFi' 14440 - regex: '(?:SAMSUNG-)?(?:GT-)?N5110' 14441 device: 'tablet' 14442 model: 'Galaxy Note 8.0" WiFi' 14443 - regex: '(?:SAMSUNG-)?GT-N5120' 14444 device: 'tablet' 14445 model: 'Galaxy Note 8.0" LTE' 14446 - regex: '(?:SAMSUNG-)?(?:GT|SM)-N8000' 14447 device: 'tablet' 14448 model: 'Galaxy Note 10.1"' 14449 - regex: '(?:SAMSUNG-)?GT-N8010' 14450 device: 'tablet' 14451 model: 'Galaxy Note 10.1" WiFi' 14452 - regex: '(?:SAMSUNG-)?GT-N8020' 14453 device: 'tablet' 14454 model: 'Galaxy Note 10.1" LTE' 14455 - regex: '(?:SAMSUNG-)?GT-P1000M?|SCH-I800' 14456 device: 'tablet' 14457 model: 'Galaxy Tab' 14458 - regex: '(?:SAMSUNG-)?GT-P3100B?' 14459 device: 'tablet' 14460 model: 'Galaxy Tab 2 7"' 14461 - regex: '(?:SAMSUNG-)?GT-P311[03]' 14462 device: 'tablet' 14463 model: 'Galaxy Tab 2 7" WiFi' 14464 - regex: '(?:SAMSUNG-)?GT-P5100|SCH-I915' 14465 device: 'tablet' 14466 model: 'Galaxy Tab 2 10.1"' 14467 - regex: '(?:SAMSUNG-)?GT-P511[03]' 14468 device: 'tablet' 14469 model: 'Galaxy Tab 2 10.1" WiFi' 14470 - regex: '(?:SAMSUNG-)?SM-T217T' 14471 device: 'tablet' 14472 model: 'Galaxy Tab 3 7.0" 4G' 14473 - regex: '(?:SAMSUNG-)?GT-P5200' 14474 device: 'tablet' 14475 model: 'Galaxy Tab 3 10.1"' 14476 - regex: '(?:SAMSUNG-)?GT-P5210' 14477 device: 'tablet' 14478 model: 'Galaxy Tab 3 10.1" WiFi' 14479 - regex: '(?:SAMSUNG-)?GT-P5220' 14480 device: 'tablet' 14481 model: 'Galaxy Tab 3 10.1" LTE' 14482 - regex: '(?:SAMSUNG-)?GT-P6200' 14483 device: 'tablet' 14484 model: 'Galaxy Tab 7" Plus' 14485 - regex: '(?:SAMSUNG-)?GT-P6201' 14486 device: 'tablet' 14487 model: 'Galaxy Tab 7" Plus N' 14488 - regex: '(?:SAMSUNG-)?GT-P6810' 14489 device: 'tablet' 14490 model: 'Galaxy Tab 7.7"' 14491 - regex: '(?:SAMSUNG-)?GT-P7100' 14492 device: 'tablet' 14493 model: 'Galaxy Tab 10.1v' 14494 - regex: '(?:SAMSUNG-)?GT-P75[01]0' 14495 device: 'tablet' 14496 model: 'Galaxy Tab 10.1"' 14497 - regex: '(?:SAMSUNG-)?SM-P600' 14498 device: 'tablet' 14499 model: 'Galaxy Note 10.1" 2014 Edition WiFi' 14500 - regex: '(?:SAMSUNG-)?SM-P60[12]' 14501 device: 'tablet' 14502 model: 'Galaxy Note 10.1" 2014 Edition' 14503 - regex: '(?:SAMSUNG-)?SM-(?:P605|P607T)' 14504 device: 'tablet' 14505 model: 'Galaxy Note 10.1" 2014 Edition LTE' 14506 - regex: '(?:SAMSUNG-)?SM-P900' 14507 device: 'tablet' 14508 model: 'Galaxy NotePRO 12.2" WiFi' 14509 - regex: '(?:SAMSUNG-)?SM-P901' 14510 device: 'tablet' 14511 model: 'Galaxy NotePRO 12.2"' 14512 - regex: '(?:SAMSUNG-)?SM-P905' 14513 device: 'tablet' 14514 model: 'Galaxy NotePRO 12.2" LTE' 14515 - regex: '(?:SAMSUNG-)?SM-(?:P587|P588C)(?:[);/ ]|$)' 14516 device: 'tablet' 14517 model: 'Galaxy Tab A 10.1" with S Pen (2016) LTE' 14518 - regex: '(?:SAMSUNG-)?SM-P583(?:[);/ ]|$)' 14519 device: 'tablet' 14520 model: 'Galaxy Tab A 10.1" with S Pen (2016) WiFi' 14521 - regex: '(?:SAMSUNG-)?SM-P205(?:[);/ ]|$)' 14522 device: 'tablet' 14523 model: 'Galaxy Tab A 8.0" with S Pen (2019) LTE' 14524 - regex: '(?:SAMSUNG-)?SM-P200(?:[);/ ]|$)' 14525 device: 'tablet' 14526 model: 'Galaxy Tab A 8.0" with S Pen (2019) WiFi' 14527 - regex: '(?:SAMSUNG-)?SM-T307U(?:[);/ ]|$)' 14528 device: 'tablet' 14529 model: 'Galaxy Tab A 8.4" (2020) LTE' 14530 - regex: '(?:SAMSUNG-)?SM-(?:T505[CN]?|T507)(?:[);/ ]|$)' 14531 device: 'tablet' 14532 model: 'Galaxy Tab A7 10.4" (2020) LTE' 14533 - regex: '(?:SAMSUNG-)?SM-T500(?:[);/ ]|$)' 14534 device: 'tablet' 14535 model: 'Galaxy Tab A7 10.4" (2020) WiFi' 14536 - regex: '(?:SAMSUNG-)? SM-T225(?:[);/ ]|$)' 14537 device: 'tablet' 14538 model: 'Galaxy Tab A7 Lite 8.7" (2021) LTE' 14539 - regex: '(?:SAMSUNG-)? SM-T220(?:[);/ ]|$)' 14540 device: 'tablet' 14541 model: 'Galaxy Tab A7 Lite 8.7" (2021) WiFi' 14542 - regex: '(?:SAMSUNG-)?SM-T11[03]' 14543 device: 'tablet' 14544 model: 'Galaxy Tab 3 Lite 7.0" WiFi' 14545 - regex: '(?:SAMSUNG-)?SM-(?:T830[X]?|T837R4)(?:[);/ ]|$)' 14546 device: 'tablet' 14547 model: 'Galaxy Tab S4 10.5" WiFi' 14548 - regex: '(?:SAMSUNG-)?SM-T837P(?:[);/ ]|$)' 14549 device: 'tablet' 14550 model: 'Galaxy Tab S4 10.5" with S Pen' 14551 - regex: '(?:SAMSUNG-)?SM-(?:T835[CN]?|T837[VTA]?)(?:[);/ ]|$)' 14552 device: 'tablet' 14553 model: 'Galaxy Tab S4 10.5"' 14554 - regex: '(?:SAMSUNG-)?SM-(?:T725[CN]?|T720X|T727(?:R4|[AUV])?)(?:[);/ ]|$)' 14555 device: 'tablet' 14556 model: 'Galaxy Tab S5e 10.5"' 14557 - regex: '(?:SAMSUNG-)?SM-T720(?:[);/ ]|$)' 14558 device: 'tablet' 14559 model: 'Galaxy Tab S5e 10.5" WiFi' 14560 - regex: '(?:SAMSUNG-)?SM-T865N?(?:[);/ ]|$)' 14561 device: 'tablet' 14562 model: 'Galaxy Tab S6 10.5"' 14563 - regex: '(?:SAMSUNG-)?SM-T867(?:R4|[VU])?(?:[);/ ]|$)' 14564 device: 'tablet' 14565 model: 'Galaxy Tab S6 10.5" LTE' 14566 - regex: '(?:SAMSUNG-)?SM-(?:P615[CN]?|P617)(?:[);/ ]|$)' 14567 device: 'tablet' 14568 model: 'Galaxy Tab S6 Lite 10.4"' 14569 - regex: '(?:SAMSUNG-)?SM-P610X?(?:[);/ ]|$)' 14570 device: 'tablet' 14571 model: 'Galaxy Tab S6 Lite 10.4" WiFi' 14572 - regex: '(?:SAMSUNG-)?SM-T860(?:[);/ ]|$)' 14573 device: 'tablet' 14574 model: 'Galaxy Tab S6 10.5" WiFi' 14575 - regex: '(?:SAMSUNG-)?SM-T866N(?:[);/ ]|$)' 14576 device: 'tablet' 14577 model: 'Galaxy Tab S6 10.5" 5G' 14578 - regex: '(?:SAMSUNG-)?SM-T111[M]?(?:[);/ ]|$)' 14579 device: 'tablet' 14580 model: 'Galaxy Tab 3 Lite 7.0"' 14581 - regex: '(?:SAMSUNG-)?SM-T116(?:BU|NU|NY)?' 14582 device: 'tablet' 14583 model: 'Galaxy Tab 3 V' 14584 - regex: '(?:SAMSUNG-)?SM-(?:T2105|T212)' 14585 device: 'tablet' 14586 model: 'Galaxy Tab 3 7.0" Kids' 14587 - regex: '(?:SAMSUNG-)?SM-T210R?' 14588 device: 'tablet' 14589 model: 'Galaxy Tab 3 7.0" WiFi' 14590 - regex: '(?:SAMSUNG-)?SM-T21(?:[15]|7[AS])' 14591 device: 'tablet' 14592 model: 'Galaxy Tab 3 7.0"' 14593 - regex: '(?:SAMSUNG-)?SM-T230(?:NU)?' 14594 device: 'tablet' 14595 model: 'Galaxy Tab 4 7.0" WiFi' 14596 - regex: '(?:SAMSUNG-)?SM-T23[15]|403SC' 14597 device: 'tablet' 14598 model: 'Galaxy Tab 4 7.0" 3G' 14599 - regex: '(?:SAMSUNG-)?SM-(?:T239|T237[PV])' 14600 device: 'tablet' 14601 model: 'Galaxy Tab 4 7.0" LTE' 14602 - regex: '(?:SAMSUNG-)?SM-T232(?:[);/ ]|$)' 14603 device: 'tablet' 14604 model: 'Galaxy Tab 4 7.0" WiFi + 3G' 14605 - regex: '(?:SAMSUNG-)?SM-T310' 14606 device: 'tablet' 14607 model: 'Galaxy Tab 3 8.0" WiFi' 14608 - regex: '(?:SAMSUNG-)?SM-T312' 14609 device: 'tablet' 14610 model: 'Galaxy Tab 3 8.0" 3G' 14611 - regex: '(?:SAMSUNG-)?SM-T311' 14612 device: 'tablet' 14613 model: 'Galaxy Tab 3 8.0"' 14614 - regex: '(?:SAMSUNG-)?SM-T315' 14615 device: 'tablet' 14616 model: 'Galaxy Tab 3 8.0" LTE' 14617 - regex: '(?:SAMSUNG-)?SM-T330' 14618 device: 'tablet' 14619 model: 'Galaxy Tab 4 8.0" WiFi' 14620 - regex: '(?:SAMSUNG-)?SM-(?:T33[215]|T337[AVT])' 14621 device: 'tablet' 14622 model: 'Galaxy Tab 4 8.0" LTE' 14623 - regex: '(?:SAMSUNG-)?SM-T520' 14624 device: 'tablet' 14625 model: 'Galaxy TabPRO 10.1" WiFi' 14626 - regex: '(?:SAMSUNG-)?SM-(?:T53[15]|T537[AV])' 14627 device: 'tablet' 14628 model: 'Galaxy Tab 4 10.1" LTE' 14629 - regex: '(?:SAMSUNG-)?SM-T536(?:[);/ ]|$)' 14630 device: 'tablet' 14631 model: 'Galaxy Tab 4 10.1" Advanced' 14632 - regex: '(?:SAMSUNG-)?SM-T532(?:[);/ ]|$)' 14633 device: 'tablet' 14634 model: 'Galaxy Tab 4 10.1"' 14635 - regex: '(?:SAMSUNG-)?SM-T320' 14636 device: 'tablet' 14637 model: 'Galaxy TabPRO 8.4" WiFi' 14638 - regex: '(?:SAMSUNG-)?SM-T325' 14639 device: 'tablet' 14640 model: 'Galaxy TabPRO 8.4" LTE' 14641 - regex: '(?:SAMSUNG-)?SM-T525' 14642 device: 'tablet' 14643 model: 'Galaxy TabPRO 10.1" LTE' 14644 - regex: '(?:SAMSUNG-)?SM-(?:T530(?:NU)?|T533)' 14645 device: 'tablet' 14646 model: 'Galaxy Tab 4 10.1" WiFi' 14647 - regex: '(?:SAMSUNG-)?SM-T700' 14648 device: 'tablet' 14649 model: 'Galaxy Tab S 8.4" WiFi' 14650 - regex: '(?:SAMSUNG-)?SM-(?:T705|T707[AV])' 14651 device: 'tablet' 14652 model: 'Galaxy Tab S 8.4" LTE' 14653 - regex: '(?:SAMSUNG-)?SM-T800' 14654 device: 'tablet' 14655 model: 'Galaxy Tab S 10.5" WiFi' 14656 - regex: '(?:SAMSUNG-)?(?:SM-(?:T805|T807[PV]?)|SCT21)' 14657 device: 'tablet' 14658 model: 'Galaxy Tab S 10.5" LTE' 14659 - regex: '(?:SAMSUNG-)?SM-(?:T813|T810)' 14660 device: 'tablet' 14661 model: 'Galaxy Tab S2 9.7" WiFi' 14662 - regex: '(?:SAMSUNG-)?SM-(?:T719[CY]?|T715(?:N0|[CY])?)(?:[);/ ]|$)' 14663 device: 'tablet' 14664 model: 'Galaxy Tab S2 8.0" LTE' 14665 - regex: '(?:SAMSUNG-)?SM-(?:T71[03]|T710X)(?:[);/ ]|$)' 14666 device: 'tablet' 14667 model: 'Galaxy Tab S2 8.0" WiFi' 14668 - regex: '(?:SAMSUNG-)?SM-(?:T815|T817[ATW]?|T818[ATVW]?|T819[Y]?)' 14669 device: 'tablet' 14670 model: 'Galaxy Tab S2 9.7" LTE' 14671 - regex: '(?:SAMSUNG-)?SM-T820' 14672 device: 'tablet' 14673 model: 'Galaxy Tab S3 9.7" WiFi' 14674 - regex: '(?:SAMSUNG-)?SM-T82[57]' 14675 device: 'tablet' 14676 model: 'Galaxy Tab S3 9.7" LTE' 14677 - regex: '(?:SAMSUNG-)?SM-T975N?(?:[);/ ]|$)' 14678 device: 'tablet' 14679 model: 'Galaxy Tab S7+ 12.4" LTE' 14680 - regex: '(?:SAMSUNG-)?SM-T970(?:[);/ ]|$)' 14681 device: 'tablet' 14682 model: 'Galaxy Tab S7+ 12.4" WiFi' 14683 - regex: '(?:SAMSUNG-)?SM-(?:T976[BN]|T978U)(?:[);/ ]|$)' 14684 device: 'tablet' 14685 model: 'Galaxy Tab S7+ 12.4" 5G' 14686 - regex: '(?:SAMSUNG-)?SM-T870(?:[);/ ]|$)' 14687 device: 'tablet' 14688 model: 'Galaxy Tab S7 11.0" WiFi' 14689 - regex: '(?:SAMSUNG-)?SM-T875N?(?:[);/ ]|$)' 14690 device: 'tablet' 14691 model: 'Galaxy Tab S7 11.0" LTE' 14692 - regex: '(?:SAMSUNG-)?SM-T878U(?:[);/ ]|$)' 14693 device: 'tablet' 14694 model: 'Galaxy Tab S7 11.0" 5G' 14695 - regex: '(?:SAMSUNG-)?SM-T735' 14696 device: 'tablet' 14697 model: 'Galaxy Tab S7 FE 12.4" LTE' 14698 - regex: '(?:SAMSUNG-)?SM-T900' 14699 device: 'tablet' 14700 model: 'Galaxy TabPRO 12.2" WiFi' 14701 - regex: '(?:SAMSUNG-)?SM-T280' 14702 device: 'tablet' 14703 model: 'Galaxy Tab A 7.0" WiFi' 14704 - regex: '(?:SAMSUNG-)?SM-T285' 14705 device: 'tablet' 14706 model: 'Galaxy Tab A 7.0" LTE' 14707 - regex: '(?:SAMSUNG-)?SM-T3[58]0' 14708 device: 'tablet' 14709 model: 'Galaxy Tab A 8.0" WiFi' 14710 - regex: '(?:SAMSUNG-)?SM-(?:P350|T3[58]5|T357[TW])' 14711 device: 'tablet' 14712 model: 'Galaxy Tab A 8.0" LTE' 14713 - regex: '(?:SAMSUNG-)?SM-T387(?:AA|R4|VK|[TVW])' 14714 device: 'tablet' 14715 model: 'Galaxy Tab A 8.0" LTE (2018)' 14716 - regex: '(?:SAMSUNG-)?SM-T295' 14717 device: 'tablet' 14718 model: 'Galaxy Tab A 8.0" LTE (2019)' 14719 - regex: '(?:SAMSUNG-)?SM-T290' 14720 device: 'tablet' 14721 model: 'Galaxy Tab A 8.0" WiFi (2019)' 14722 - regex: '(?:SAMSUNG-)?SM-(?:P355([MY])?|T550)' 14723 device: 'tablet' 14724 model: 'Galaxy Tab A 9.7" WiFi' 14725 - regex: '(?:SAMSUNG-)?SM-(?:P550|P555(M)?|T555)' 14726 device: 'tablet' 14727 model: 'Galaxy Tab A 9.7" LTE' 14728 - regex: '(?:SAMSUNG-)?SM-(?:T58[05]|P58[05])' 14729 device: 'tablet' 14730 model: 'Galaxy Tab A 10.1" WiFi (2016)' 14731 - regex: '(?:SAMSUNG-)?SM-T587[P]?' 14732 device: 'tablet' 14733 model: 'Galaxy Tab A 10.1" LTE (2016)' 14734 - regex: '(?:SAMSUNG-)?SM-T59[057]' 14735 device: 'tablet' 14736 model: 'Galaxy Tab A 10.5" LTE (2018)' 14737 - regex: '(?:SAMSUNG-)?SM-T51(?:7P|[057])' 14738 device: 'tablet' 14739 model: 'Galaxy Tab A 10.1" (2019)' 14740 - regex: '(?:SAMSUNG-)?SM-(?:T37[57]|T378[KLSV])' 14741 device: 'tablet' 14742 model: 'Galaxy Tab E 8.0"' 14743 - regex: '(?:SAMSUNG-)?SM-T56[02]' 14744 device: 'tablet' 14745 model: 'Galaxy Tab E 9.6" WiFi' 14746 - regex: '(?:SAMSUNG-)?SM-T561' 14747 device: 'tablet' 14748 model: 'Galaxy Tab E 9.6" 3G' 14749 - regex: '(?:SAMSUNG-)?SM-T567V' 14750 device: 'tablet' 14751 model: 'Galaxy Tab E 9.6" 4G' 14752 - regex: '(?:SAMSUNG-)?SM-T365(?:F0|[MY])?(?:[);/ ]|$)' 14753 device: 'tablet' 14754 model: 'Galaxy Tab Active 8.0"' 14755 - regex: '(?:SAMSUNG-)?SM-T360(?:[);/ ]|$)' 14756 device: 'tablet' 14757 model: 'Galaxy Tab Active 8.0" WiFi' 14758 - regex: '(?:SAMSUNG-)?SM-(?:T395[CN]?|T397U)(?:[);/ ]|$)' 14759 device: 'tablet' 14760 model: 'Galaxy Tab Active 2 8.0"' 14761 - regex: '(?:SAMSUNG-)?SM-T390(?:[);/ ]|$)' 14762 device: 'tablet' 14763 model: 'Galaxy Tab Active 2 8.0" WiFi' 14764 - regex: '(?:SAMSUNG-)?SM-(?:T575N?|T577U?)(?:[);/ ]|$)' 14765 device: 'tablet' 14766 model: 'Galaxy Tab Active 3 8.0"' 14767 - regex: '(?:SAMSUNG-)?SM-T570(?:[);/ ]|$)' 14768 device: 'tablet' 14769 model: 'Galaxy Tab Active 3 8.0" WiFi' 14770 - regex: '(?:SAMSUNG-)?SM-(?:T545|T547U?)(?:[);/ ]|$)' 14771 device: 'tablet' 14772 model: 'Galaxy Tab Active Pro 10.1"' 14773 - regex: '(?:SAMSUNG-)?SM-T540(?:[);/ ]|$)' 14774 device: 'tablet' 14775 model: 'Galaxy Tab Active Pro 10.1" WiFi' 14776 - regex: '(?:SAMSUNG-)?SM-(?:P902|P907A)(?:[);/ ]|$)' 14777 device: 'tablet' 14778 model: 'Galaxy Note Pro 12.2"' 14779 - regex: '(?:SAMSUNG[- ])?SM-T2519' 14780 model: 'Galaxy Tab Q' 14781 device: 'tablet' 14782 14783 # explicit wearable models 14784 - regex: 'SM-R820' 14785 device: 'wearable' 14786 model: 'Galaxy Watch Active 2 44mm' 14787 - regex: 'SM-R825' 14788 device: 'wearable' 14789 model: 'Galaxy Watch Active 2 44mm LTE' 14790 - regex: 'SM-R830' 14791 device: 'wearable' 14792 model: 'Galaxy Watch Active 2 40mm' 14793 - regex: 'SM-R835' 14794 device: 'wearable' 14795 model: 'Galaxy Watch Active 2 40mm LTE' 14796 - regex: 'SM-R800' 14797 device: 'wearable' 14798 model: 'Galaxy Watch 46mm' 14799 - regex: 'SM-R805' 14800 device: 'wearable' 14801 model: 'Galaxy Watch 46mm LTE' 14802 - regex: 'SM-R810' 14803 device: 'wearable' 14804 model: 'Galaxy Watch 42mm' 14805 - regex: 'SM-R815' 14806 device: 'wearable' 14807 model: 'Galaxy Watch 42mm LTE' 14808 - regex: 'SM-R500' 14809 device: 'wearable' 14810 model: 'Galaxy Watch Active' 14811 - regex: 'SM-R600' 14812 device: 'wearable' 14813 model: 'Galaxy Gear Sport 43mm' 14814 - regex: 'SM-R760' 14815 device: 'wearable' 14816 model: 'Galaxy Gear S3 Frontier 46mm' 14817 - regex: 'SM-R765' 14818 device: 'wearable' 14819 model: 'Galaxy Gear S3 Frontier 33mm' 14820 - regex: 'SM-R770' 14821 device: 'wearable' 14822 model: 'Galaxy Gear S3 Classic 41mm' 14823 - regex: 'SM-R845' 14824 device: 'wearable' 14825 model: 'Galaxy Watch 3 45mm LTE' 14826 - regex: 'SM-R840' 14827 device: 'wearable' 14828 model: 'Galaxy Watch 3 45mm' 14829 - regex: 'SM-R850' 14830 device: 'wearable' 14831 model: 'Galaxy Watch 3 41mm' 14832 - regex: 'SM-R855' 14833 device: 'wearable' 14834 model: 'Galaxy Watch 3 41mm 4G' 14835 14836 # smart fridge models 14837 - regex: 'Family Hub' 14838 device: 'peripheral' 14839 model: 'Family Hub' 14840 14841 # explicit smartphone models 14842 - regex: '(?:SAMSUNG-)?SM-G850(?:8S|[AFKLMSWXY])' 14843 model: 'Galaxy Alpha' 14844 - regex: '(?:SAMSUNG-)?GT-B5330' 14845 model: 'Galaxy Chat' 14846 - regex: '(?:SAMSUNG-)?SM-A605K' 14847 model: 'Galaxy Jean' 14848 - regex: '(?:SAMSUNG-)?SM-A202K' 14849 model: 'Galaxy Jean 2' 14850 - regex: '(?:SAMSUNG-)?GT-B5510' 14851 model: 'Galaxy Y Pro' 14852 - regex: '(?:SAMSUNG-)?GT-B5512' 14853 model: 'Galaxy Y Pro Duos' 14854 - regex: '(?:SAMSUNG-)?GT-B7510' 14855 model: 'Galaxy Pro' 14856 - regex: '(?:SAMSUNG-)?GT-I5700' 14857 model: 'Galaxy Spica' 14858 - regex: '(?:SAMSUNG-)?GT-I5801' 14859 model: 'Galaxy Apollo' 14860 - regex: '(?:SAMSUNG-)?GT-I5800' 14861 model: 'Galaxy 3' 14862 - regex: '(?:SAMSUNG-)?GT-I8000' 14863 model: 'Omnia II' 14864 - regex: '(?:SAMSUNG-)?(?:GT-I8150|SM-T255S)' 14865 model: 'Galaxy W' 14866 - regex: 'SC-01H(?:[);/ ]|$)' 14867 model: 'Galaxy Active Neo' 14868 - regex: '(?:SAMSUNG-)?GT-S5830' 14869 model: 'Galaxy Ace' 14870 - regex: '(?:SAMSUNG-)?SM-(?:G357(?:FZ|M)|G310HN)' 14871 model: 'Galaxy Ace Style' 14872 - regex: '(?:SAMSUNG-)?GT-I8160' 14873 model: 'Galaxy Ace 2' 14874 - regex: '(?:SAMSUNG-)?SM-G313(?:HY|M[LUY]|[FM])' 14875 model: 'Galaxy Ace 4' 14876 - regex: '(?:SAMSUNG-)?SM-G316M' 14877 model: 'Galaxy Ace 4 Duos' 14878 - regex: '(?:SAMSUNG-)?SM-G313[HU]' 14879 model: 'Galaxy Ace 4 Lite' 14880 - regex: '(?:SAMSUNG-)?SM-(?:G316U|G318(?:H|ML))(?:[);/ ]|$)' 14881 model: 'Galaxy Ace 4 Neo' 14882 - regex: '(?:SAMSUNG-)?SM-G9100(?:[);/ ]|$)' 14883 model: 'Galaxy S II' 14884 - regex: '(?:SAMSUNG-)?SHV-E120S(?:[);/ ]|$)' 14885 model: 'Galaxy S II HD LTE' 14886 - regex: '(?:SAMSUNG-)?GT-I8190' 14887 model: 'Galaxy S III mini' 14888 - regex: '(?:SAMSUNG-)?GT-I8200' 14889 model: 'Galaxy S III mini Value Edition' 14890 - regex: '(?:SAMSUNG-)?GT-I826[02]' 14891 model: 'Galaxy Core' 14892 - regex: '(?:SAMSUNG-)?SM-G386W' 14893 model: 'Galaxy Core LTE' 14894 - regex: '(?:SAMSUNG-)?SM-G3589W' 14895 model: 'Galaxy Core Lite LTE' 14896 - regex: '(?:SAMSUNG-)?GT-I8320' 14897 model: 'H1' 14898 - regex: '(?:SAMSUNG-)?GT-I85[23]0' 14899 model: 'Galaxy Beam' 14900 - regex: '(?:SAMSUNG-)?SM-G3858' 14901 model: 'Galaxy Beam 2' 14902 - regex: '(?:SAMSUNG-)?SM-G600S' 14903 model: 'Galaxy Wide' 14904 - regex: '(?:SAMSUNG-)?GT-I855[028]' 14905 model: 'Galaxy Win' 14906 - regex: '(?:SAMSUNG-)?SM-G381[28]' 14907 model: 'Galaxy Win Pro' 14908 - regex: '(?:SAMSUNG-)?GT-I8580' 14909 model: 'Galaxy Core Advance' 14910 - regex: '(?:SAMSUNG-)?GT-I8730' 14911 model: 'Galaxy Express' 14912 - regex: '(?:SAMSUNG-)?SM-(?:E500(?:HQ|YZ|[0FHM])|S978L)' 14913 model: 'Galaxy E5' 14914 - regex: '(?:SAMSUNG-)?SM-E700[09FHM]' 14915 model: 'Galaxy E7' 14916 - regex: '(?:SAMSUNG-)?GT-I90(?:00|08|18|88)' 14917 model: 'Galaxy S' 14918 - regex: '(?:SAMSUNG-)?GT-I9001' 14919 model: 'Galaxy S Plus' 14920 - regex: '(?:SAMSUNG-)?GT-I9003' 14921 model: 'Galaxy SL' 14922 - regex: '(?:SAMSUNG-)?GT-I9010' 14923 model: 'Galaxy S Giorgio Armani' 14924 - regex: '(?:SAMSUNG-)?GT-I9070' 14925 model: 'Galaxy S Advance' 14926 - regex: '(?:SAMSUNG-)?GT-I910[08]' 14927 model: 'Galaxy S II' 14928 - regex: '(?:SAMSUNG-)?ISW11SC' 14929 model: 'Galaxy S II WiMAX' 14930 - regex: '(?:SAMSUNG-)?GT-I9103' 14931 model: 'Galaxy R' 14932 - regex: '(?:SAMSUNG-)?GT-I9105' 14933 model: 'Galaxy S II Plus' 14934 - regex: '(?:SAMSUNG-)?SM-G730(?:W8|[AV])' 14935 model: 'Galaxy S3 mini' 14936 - regex: '(?:SAMSUNG-)?(?:GT-I919[025]|SCH-I435)' 14937 model: 'Galaxy S4 mini' 14938 - regex: '(?:SAMSUNG-)?GT-I9515' 14939 model: 'Galaxy S4 Value Edition' 14940 - regex: '(?:SAMSUNG-)?GT-I9295' 14941 model: 'Galaxy S4 ACTIVE' 14942 - regex: '(?:SAMSUNG-)?(?:GT-I9300|SCH-(?:I535|I939|L710))|SC-03E' 14943 model: 'Galaxy S III' 14944 - regex: '(?:SAMSUNG-)?(?:GT-I9305|SCH-R530)' 14945 model: 'Galaxy S III LTE' 14946 - regex: '(?:SAMSUNG-)?(?:SM-S975L|GT-I950[025]|SC-04E|SCH-(?:I545|I959|R970)|SGH-M919N?|Galaxy-S4)' 14947 model: 'Galaxy S4' 14948 - regex: '(?:SAMSUNG-)?GT-I9506' 14949 model: 'Galaxy S4 with LTE+' 14950 - regex: '(?:SAMSUNG-)?GT-S5280' 14951 model: 'Galaxy STAR' 14952 - regex: '(?:SAMSUNG-)?GT-S5301' 14953 model: 'Galaxy POCKET Plus' 14954 - regex: '(?:SAMSUNG-)?GT-S5310' 14955 model: 'Galaxy POCKET Neo' 14956 - regex: '(?:SAMSUNG-)?SM-G110[BHM]' 14957 model: 'Galaxy POCKET 2' 14958 - regex: '(?:SAMSUNG-)?GT-S5360' 14959 model: 'Galaxy Y Hello Kitty' 14960 - regex: '(?:SAMSUNG-)?GT-S6310' 14961 model: 'Galaxy Young' 14962 - regex: '(?:SAMSUNG-)?GT-S6312' 14963 model: 'Galaxy Young DUOS' 14964 - regex: '(?:SAMSUNG-)?SM-G130(?:BT|HN|[EHMU])' 14965 model: 'Galaxy Young 2' 14966 - regex: '(?:SAMSUNG-)?SM-G130BU' 14967 model: 'Galaxy Young 2 Pro' 14968 - regex: '(?:SAMSUNG-)?GT-S6790' 14969 model: 'Galaxy FAME Lite with NFC' 14970 - regex: '(?:SAMSUNG-)?GT-S6810' 14971 model: 'Galaxy FAME' 14972 - regex: '(?:SAMSUNG-)?GT-S6812' 14973 model: 'Galaxy FAME Duos' 14974 - regex: 'SC-04J(?:[);/ ]|$)' 14975 model: 'Galaxy Feel' 14976 - regex: 'SC-02L(?:[);/ ]|$)' 14977 model: 'Galaxy Feel 2' 14978 - regex: '(?:SAMSUNG-)?GT-S7275' 14979 model: 'Galaxy ACE 3' 14980 - regex: '(?:SAMSUNG-)?GT-S7500' 14981 model: 'Galaxy ACE Plus' 14982 - regex: '(?:SAMSUNG-)?(?:GT-S7560|SCH-I699)' 14983 model: 'Galaxy Trend' 14984 - regex: '(?:SAMSUNG-)?GT-S7390' 14985 model: 'Galaxy Trend Lite' 14986 - regex: '(?:SAMSUNG-)?GT-S7580' 14987 model: 'Galaxy Trend Plus' 14988 - regex: '(?:SAMSUNG-)?SCH-I739' 14989 model: 'Galaxy Trend 2' 14990 - regex: '(?:SAMSUNG-)?(?:GT-S7562|SCH-I919)' 14991 model: 'Galaxy S DUOS' 14992 - regex: '(?:SAMSUNG-)?GT-S7582' 14993 model: 'Galaxy S DUOS 2' 14994 - regex: '(?:SAMSUNG-)?SM-(?:G31[36]HU|G313HZ)' 14995 model: 'Galaxy S DUOS 3' 14996 - regex: '(?:SAMSUNG-)?GT-S7710' 14997 model: 'Galaxy Xcover 2' 14998 - regex: '(?:SAMSUNG-)?SM-G388F' 14999 model: 'Galaxy Xcover 3' 15000 - regex: '(?:SAMSUNG-)?SM-G389F' 15001 model: 'Galaxy Xcover 3 VE' 15002 - regex: '(?:SAMSUNG-)?SM-G390[FWY]' 15003 model: 'Galaxy Xcover 4' 15004 - regex: '(?:SAMSUNG-)?SM-G398FN' 15005 model: 'Galaxy Xcover 4s' 15006 - regex: '(?:SAMSUNG-)?SM-G715(?:FN|U1|[AUW])' 15007 model: 'Galaxy Xcover Pro' 15008 - regex: '(?:SAMSUNG-)?SM-G889(?:YB|[AFG])' 15009 model: 'Galaxy Xcover FieldPro' 15010 - regex: '(?:SAMSUNG-)?SM-G525F' 15011 model: 'Galaxy Xcover 5' 15012 - regex: '(?:SAMSUNG-)?GT-S8500' 15013 model: 'Wave' 15014 - regex: '(?:SAMSUNG-)?GT-S8530' 15015 model: 'Wave II' 15016 - regex: '(?:SAMSUNG-)?GT-S8600' 15017 model: 'Wave 3' 15018 - regex: '(?:SAMSUNG-)?GT-S5380' 15019 model: 'Wave Y' 15020 - regex: '(?:SAMSUNG-)?GT-S7250' 15021 model: 'Wave M' 15022 - regex: '(?:SAMSUNG-)?GT-S5250' 15023 model: 'Wave 525' 15024 - regex: '(?:SAMSUNG-)?GT-S5330' 15025 model: 'Wave 533' 15026 - regex: '(?:SAMSUNG-)?GT-S5780' 15027 model: 'Wave 578' 15028 - regex: '(?:SAMSUNG-)?GT-S7230' 15029 model: 'Wave 723' 15030 - regex: '(?:SAMSUNG-)?SM-(?:C101|C105([AL])?)' 15031 model: 'Galaxy S4 zoom' 15032 - regex: '(?:SAMSUNG-)?SM-(?:C111(M)?|C115)' 15033 model: 'Galaxy K zoom' 15034 - regex: '(?:SAMSUNG-)?SM-G318[HM]Z' 15035 model: 'Galaxy V Plus' 15036 - regex: '(?:SAMSUNG-)?SM-G355(?:6D|[89HM])' 15037 model: 'Galaxy Core 2' 15038 - regex: '(?:SAMSUNG-)?SM-G350' 15039 model: 'Galaxy Core Plus' 15040 - regex: '(?:SAMSUNG-)?SM-(?:G360[FH]?|S820L)' 15041 model: 'Galaxy Core Prime' 15042 - regex: '(?:SAMSUNG-)?SM-G361[FH]?' 15043 model: 'Galaxy Core Prime Value Edition' 15044 - regex: '(?:SAMSUNG-)?SM-(?:G386F|G3518(?:_TD)?|G3586V)' 15045 model: 'Galaxy Core LTE' 15046 - regex: '(?:SAMSUNG-)?SM-G3568V' 15047 model: 'Galaxy Core Mini 4G' 15048 - regex: '(?:SAMSUNG-)?SM-G5108Q?' 15049 model: 'Galaxy Core Max' 15050 - regex: '(?:SAMSUNG-)?SM-G3815' 15051 model: 'Galaxy EXPRESS II' 15052 - regex: '(?:SAMSUNG-)?SM-G800' 15053 model: 'Galaxy S5 mini' 15054 - regex: '(?:SAMSUNG-)?SM-G9009D' 15055 model: 'Galaxy S5 Dual-SIM' 15056 - regex: '(?:SAMSUNG-)?SM-G900FD' 15057 model: 'Galaxy S5 Duos' 15058 - regex: '(?:SAMSUNG-)?SM-(?:G900|G906[KLS]|S902L|S903VL)|Galaxy-S5|SCL23|SC-04F' 15059 model: 'Galaxy S5' 15060 - regex: '(?:SAMSUNG-)?SM-G901F' 15061 model: 'Galaxy S5 LTE+' 15062 - regex: '(?:SAMSUNG-)?SM-G870[AFW]|SC-02G' 15063 model: 'Galaxy S5 Active' 15064 - regex: '(?:SAMSUNG-)?SM-G903[FMW]' 15065 model: 'Galaxy S5 Neo' 15066 - regex: '(?:SAMSUNG-)?SM-G860P' 15067 model: 'Galaxy S5 K Sport' 15068 - regex: '(?:SAMSUNG-)?(?:SM-G920(?:F[DQ]|W8|[089AFIKLPRSTVX])?|SM-S906L|SM-S907VL)|SC-05G' 15069 model: 'Galaxy S6' 15070 - regex: '(?:SAMSUNG-)?SM-G890A' 15071 model: 'Galaxy S5 Active' 15072 - regex: '(?:SAMSUNG-)?SM-G925[0ADFIKLPRSTVWX]|SCV31|404SC' 15073 model: 'Galaxy S6 Edge' 15074 - regex: '(?:SAMSUNG-)?SM-G928(?:7C|N0|R4|W8|[07ACFGIKLPSTVX])' 15075 model: 'Galaxy S6 Edge+' 15076 - regex: '(?:SAMSUNG-)?SM-G930(?:AZ|FD|R[467]|T1|V[CL]|W8|[0AFKLPRSTUVX8])?(?:[);/ ]|$)' 15077 model: 'Galaxy S7' 15078 - regex: '(?:SAMSUNG-)?SM-G935(?:R4|W8|[0AFKLPSTUVX])|SC-02H|SCV33' 15079 model: 'Galaxy S7 Edge' 15080 - regex: '(?:SAMSUNG-)?SM-G891A' 15081 model: 'Galaxy S7 Active' 15082 - regex: '(?:SAMSUNG-)?SM-G950[08FNUW]?|SCV36|SC-02J' 15083 model: 'Galaxy S8' 15084 - regex: '(?:SAMSUNG-)?SM-G8750' 15085 model: 'Galaxy S8 Lite' 15086 - regex: '(?:SAMSUNG-)?SM-G892[AU]' 15087 model: 'Galaxy S8 Active' 15088 - regex: '(?:SAMSUNG-)?SM-G955[0AFKLNPRTUVWX]?|SCV35|SC-03J' 15089 model: 'Galaxy S8+' 15090 - regex: '(?:SAMSUNG-)?SM-G960[0FNUWX]?|SCV38|SC-02K' 15091 model: 'Galaxy S9' 15092 - regex: '(?:SAMSUNG-)?SM-G965[0FNUWX]|SCV39|SC-03K' 15093 model: 'Galaxy S9+' 15094 - regex: '(?:SAMSUNG-)?(?:SM-(?:G973|G977[BNPTU])|SCV41|SC-03L)' 15095 model: 'Galaxy S10' 15096 - regex: '(?:SAMSUNG-)?SM-(?:S10 Lite|G770(?:U1|F))' 15097 model: 'Galaxy S10 Lite' 15098 - regex: '(?:SAMSUNG-)?(?:SM-G975[08FUNWX]|SCV42|SC-04L)' 15099 model: 'Galaxy S10+' 15100 - regex: 'SC-05L' 15101 model: 'Galaxy S10+ Olympic Games Edition' 15102 - regex: '(?:SAMSUNG-)?SM-G970(?:U1|[08FUNWX])(?:[);/ ]|$)' 15103 model: 'Galaxy S10e' 15104 - regex: '(?:SAMSUNG-)?SM-G980F' 15105 model: 'Galaxy S20' 15106 - regex: '(?:SAMSUNG-)?SM-G981(?:U1|[0BNUVW])|SCG01|SC-51A|SC51Aa' 15107 model: 'Galaxy S20 5G' 15108 - regex: '(?:SAMSUNG-)?SM-G780' 15109 model: 'Galaxy S20 FE' 15110 - regex: '(?:SAMSUNG-)?SM-G781(?:U1|[0BNUVW])' 15111 model: 'Galaxy S20 FE 5G' 15112 - regex: '(?:SAMSUNG-)?SM-G988(?:U1|[0BNQUW])|SCG03' 15113 model: 'Galaxy S20 Ultra 5G' 15114 - regex: '(?:SAMSUNG-)?SM-G985F|SCG02' 15115 model: 'Galaxy S20+' 15116 - regex: '(?:SAMSUNG-)?SM-G986(?:U1|[0BNUW])|SC-52A' 15117 model: 'Galaxy S20+ 5G' 15118 - regex: '(?:SAMSUNG-)?SM-G991(?:U1|[0BNW])|SCG09' 15119 model: 'Galaxy S21 5G' 15120 - regex: '(?:SAMSUNG-)?SC-51B' 15121 model: 'Galaxy S21 5G Olympic Games Edition' 15122 - regex: '(?:SAMSUNG-)?(?:SM-G998(?:U1|[0BNUW])|SC-52B)' 15123 model: 'Galaxy S21 Ultra 5G' 15124 - regex: '(?:SAMSUNG-)?SM-G996(?:U1|[0BNWU])|SCG10' 15125 model: 'Galaxy S21+ 5G' 15126 - regex: '(?:SAMSUNG-)?SM-F700(?:U1|[0FNUW])|SCV47' 15127 model: 'Galaxy Z Flip' 15128 - regex: '(?:SAMSUNG-)?SM-F707(?:U1|[0BNUW])|SCG04' 15129 model: 'Galaxy Z Flip 5G' 15130 - regex: '(?:SAMSUNG-)?SCH-I200' 15131 model: 'Galaxy Stellar' 15132 - regex: '(?:SAMSUNG-)?SCH-I829' 15133 model: 'Galaxy Style Duos' 15134 - regex: '(?:SAMSUNG-)?(?:SCH-R740|SGH-S730)' 15135 model: 'Galaxy Discover' 15136 - regex: '(?:SAMSUNG-)?SCH-S738' 15137 model: 'Galaxy Centura' 15138 - regex: 'vollo Vi86(?:[);/ ]|$)' 15139 model: 'Vollo Vi86' 15140 - regex: '(?:SAMSUNG-)?SM-G386(?:T1|T)' 15141 model: 'Galaxy Avant' 15142 - regex: '(?:SAMSUNG-)?SM-A716S' 15143 model: 'Galaxy A Quantum' 15144 - regex: '(?:SAMSUNG-)?SM-(?:A015(?:DL|[TU]1|[AFGMUV])|S111DL)' 15145 model: 'Galaxy A01' 15146 - regex: '(?:SAMSUNG-)?SM-A013[FGM]' 15147 model: 'Galaxy A01 Core' 15148 - regex: '(?:SAMSUNG-)?SM-A025[FGM]' 15149 model: 'Galaxy A02s' 15150 - regex: '(?:SAMSUNG-)?SM-A037[F]?' 15151 model: 'Galaxy A03s' 15152 - regex: '(?:SAMSUNG-)?SM-A022[GM]' 15153 model: 'Galaxy A02' 15154 - regex: '(?:SAMSUNG-)?SM-A260[FG]' 15155 model: 'Galaxy A2 Core' 15156 - regex: '(?:SAMSUNG-)?SM-A225[F]?' 15157 model: 'Galaxy A22' 15158 - regex: '(?:SAMSUNG-)?SM-A226' 15159 model: 'Galaxy A22 5G' 15160 - regex: '(?:SAMSUNG-)?SM-A300(?:FU|YZ|XU|XZ|[09FGHMXY])' 15161 model: 'Galaxy A3 (2015)' 15162 - regex: '(?:SAMSUNG-)?SM-A310(?:N0|[FMXY])' 15163 model: 'Galaxy A3 (2016)' 15164 - regex: '(?:SAMSUNG-)?SM-A320(?:FL|[FXY])' 15165 model: 'Galaxy A3 (2017)' 15166 - regex: '(?:SAMSUNG-)?SM-A430F' 15167 model: 'Galaxy A4' 15168 - regex: '(?:SAMSUNG-)?SM-A500(?:YZ|[9LSWY])?(?:[);/ ]|$)' 15169 model: 'Galaxy A5' 15170 - regex: '(?:SAMSUNG-)?SM-A500[0FGHKM]' 15171 model: 'Galaxy A5 Duos' 15172 - regex: '(?:SAMSUNG-)?SM-A500(?:FU|X)' 15173 model: 'Galaxy A5 (2015)' 15174 - regex: '(?:SAMSUNG-)?SM-A510[08FKLMSXY]' 15175 model: 'Galaxy A5 (2016)' 15176 - regex: '(?:SAMSUNG-)?SM-A520[FKLSWX]' 15177 model: 'Galaxy A5 (2017)' 15178 - regex: '(?:SAMSUNG-)?SM-A525' 15179 model: 'Galaxy A52' 15180 - regex: '(?:SAMSUNG-)?(?:SC-53B|SM-A526)' 15181 model: 'Galaxy A52 5G' 15182 - regex: '(?:SAMSUNG-)?SM-A528' 15183 model: 'Galaxy A52s 5G' 15184 - regex: '(?:SAMSUNG-)?SM-A600(?:AZ|FN|GN|T1|[AFGNPTUX])' 15185 model: 'Galaxy A6' 15186 - regex: '(?:SAMSUNG-)?SM-A605(?:[FG]N|[08FGX])' 15187 model: 'Galaxy A6+' 15188 - regex: '(?:SAMSUNG-)?SM-G6200' 15189 model: 'Galaxy A6s (2018)' 15190 - regex: '(?:SAMSUNG-)?SM-A606[0Y]' 15191 model: 'Galaxy A60' 15192 - regex: '(?:SAMSUNG-)?SM-A700(?:YD|[09FHKLSX])' 15193 model: 'Galaxy A7' 15194 - regex: '(?:SAMSUNG-)?SM-A710[08FKLMSXY]' 15195 model: 'Galaxy A7 (2016)' 15196 - regex: '(?:SAMSUNG-)?SM-A720[FMSX]' 15197 model: 'Galaxy A7 (2017)' 15198 - regex: '(?:SAMSUNG-)?SM-A750(?:GN|[CFGNX])' 15199 model: 'Galaxy A7 (2018)' 15200 - regex: '(?:SAMSUNG-)?SM-A71(?:5[FW])?(?:[);/ ]|$)' 15201 model: 'Galaxy A71' 15202 - regex: '(?:SAMSUNG-)?SM-A725[FM](?:[);/ ]|$)' 15203 model: 'Galaxy A72' 15204 - regex: '(?:SAMSUNG-)?SM-A716(?:U1|[0BUV])(?:[);/ ]|$)' 15205 model: 'Galaxy A71 5G' 15206 - regex: '(?:SAMSUNG-)?SM-A(?:530F|800[0FISXY])|SCV32' 15207 model: 'Galaxy A8' 15208 - regex: '(?:SAMSUNG-)?SM-G885[FSY]' 15209 model: 'Galaxy A8 Star' 15210 - regex: '(?:SAMSUNG-)?SM-A810(?:YZ|[FS])' 15211 model: 'Galaxy A8 (2016)' 15212 - regex: '(?:SAMSUNG-)?SM-(?:A8s|G887[0F])' 15213 model: 'Galaxy A8s' 15214 - regex: '(?:SAMSUNG-)?SM-A530[MNWX]' 15215 model: 'Galaxy A8 (2018)' 15216 - regex: '(?:SAMSUNG-)?SM-A730[FX]' 15217 model: 'Galaxy A8+ (2018)' 15218 - regex: '(?:SAMSUNG-)?SM-A900[0F]' 15219 model: 'Galaxy A9' 15220 - regex: 'SM-A9\[7\]' 15221 model: 'Galaxy A9 7' 15222 - regex: '(?:SAMSUNG-)?SM-A920[0FXN]' 15223 model: 'Galaxy A9 (2018)' 15224 - regex: '(?:SAMSUNG-)?SM-G885[08]' 15225 model: 'Galaxy A9 Star' 15226 - regex: '(?:SAMSUNG-)?SM-(?:A9 Pro|A910[0F]|G887N)' 15227 model: 'Galaxy A9 Pro' 15228 - regex: '(?:SAMSUNG-)?SM-A105[FGMN]' 15229 model: 'Galaxy A10' 15230 - regex: '(?:SAMSUNG-)?SM-A107[FM]' 15231 model: 'Galaxy A10s' 15232 - regex: '(?:SAMSUNG-)?SM-(?:S102DL|A102[NUW])' 15233 model: 'Galaxy A10e' 15234 - regex: '(?:SAMSUNG-)?SM-A115(?:A[PZ]|U1|[AFMUW])' 15235 model: 'Galaxy A11' 15236 - regex: '(?:SAMSUNG-)?SM-A12(?:5[FMU]|7F)' 15237 model: 'Galaxy A12' 15238 - regex: '(?:SAMSUNG-)?SM-(?:A205(?:U1|YN|[FGSWU])|S205DL)|SC-02M|SCV46' 15239 model: 'Galaxy A20' 15240 - regex: '(?:SAMSUNG-)?(?:SM-A215(?:DL|U1|[UW])|SC-42A|SCV49)(?:[);/ ]|$)' 15241 model: 'Galaxy A21' 15242 - regex: '(?:SAMSUNG-)?SM-A217[FMN](?:[);/ ]|$)' 15243 model: 'Galaxy A21s' 15244 - regex: '(?:SAMSUNG-)?SM-A202[FG]' 15245 model: 'Galaxy A20e' 15246 - regex: '(?:SAMSUNG-)?SM-A207[0FM]' 15247 model: 'Galaxy A20s' 15248 - regex: '(?:SAMSUNG-)?(?:SM-A305(?:[FGY]N|GT|[FGN])|SCV43)' 15249 model: 'Galaxy A30' 15250 - regex: '(?:SAMSUNG-)?SM-A307(?:FN|GN|GT|[FG])' 15251 model: 'Galaxy A30s' 15252 - regex: '(?:SAMSUNG-)?SM-A315[FGN](?:[);/ ]|$)' 15253 model: 'Galaxy A31' 15254 - regex: '(?:SAMSUNG-)?SM-A325' 15255 model: 'Galaxy A32' 15256 - regex: '(?:SAMSUNG-)?(?:SM-A326(?:BR|[BU])|SCG08)' 15257 model: 'Galaxy A32 5G' 15258 - regex: '(?:SAMSUNG-)?SM-A405(?:F[NM]|S)' 15259 model: 'Galaxy A40' 15260 - regex: '(?:SAMSUNG-)?SM-A305[018](?:[);/ ]|$)' 15261 model: 'Galaxy A40s' 15262 - regex: '(?:SAMSUNG-)?(?:SM-A415F|SC-41A|SCV48)(?:[);/ ]|$)' 15263 model: 'Galaxy A41' 15264 - regex: '(?:SAMSUNG-)?SM-A426[0BN](?:[);/ ]|$)' 15265 model: 'Galaxy A42 5G' 15266 - regex: '(?:SAMSUNG-)?SM-(?:A505(?:F[GN]|U1|YN|[FGNUWX])|S506DL|505FN)' 15267 model: 'Galaxy A50' 15268 - regex: '(?:SAMSUNG-)?SM-A5070(?:[);/ ]|$)' 15269 model: 'Galaxy A50s' 15270 - regex: '(?:SAMSUNG-)?SM-A507FN' 15271 model: 'Galaxy A50s' 15272 - regex: '(?:SAMSUNG-)?SM-(?:A515[FUW]|S515DL)' 15273 model: 'Galaxy A51' 15274 - regex: '(?:SAMSUNG-)?(?:SM-A516(?:U1|[0BNUV])|SC-54A|SCG07)' 15275 model: 'Galaxy A51 5G' 15276 - regex: '(?:SAMSUNG-)?SM-A705(?:GM|[MYF]N|[0FUWX])' 15277 model: 'Galaxy A70' 15278 - regex: '(?:SAMSUNG-)?SM-A707[0F]' 15279 model: 'Galaxy A70s' 15280 - regex: '(?:SAMSUNG-)?SM-A805[0FNX]' 15281 model: 'Galaxy A80' 15282 - regex: '(?:SAMSUNG-)?SM-A908[BN]' 15283 model: 'Galaxy A90' 15284 - regex: '(?:SAMSUNG-)?SM-A9080' 15285 model: 'Galaxy A90 5G' 15286 - regex: '(?:SAMSUNG-)?SM-F127G(?:[);/ ]|$)' 15287 model: 'Galaxy F12' 15288 - regex: '(?:SAMSUNG-)?SM-F415F(?:[);/ ]|$)' 15289 model: 'Galaxy F41' 15290 - regex: '(?:SAMSUNG-)?GT-I9301I' 15291 model: 'Galaxy S III Neo' 15292 - regex: '(?:SAMSUNG-)?SM-S120VL(?:[);/ ]|$)' 15293 model: 'Galaxy Luna' 15294 - regex: '(?:SAMSUNG-)?SM-(?:J100(?:FN|VPP|MU|[FGHMY])|S777C)' 15295 model: 'Galaxy J1' 15296 - regex: '(?:SAMSUNG-)?SM-J105[BFHYM]' 15297 model: 'Galaxy J1 Mini' 15298 - regex: '(?:SAMSUNG-)?SM-J106[BFHM]' 15299 model: 'Galaxy J1 mini Prime' 15300 - regex: '(?:SAMSUNG-)?SM-(?:J120(?:ZN|[AFGHMPTW])|J05H)' 15301 model: 'Galaxy J1 (2016)' 15302 - regex: '(?:SAMSUNG-)?SM-(?:J110[FGHLM]|J111[FM])' 15303 model: 'Galaxy J1 Ace' 15304 - regex: '(?:SAMSUNG-)?SM-J200[FGHMY]' 15305 model: 'Galaxy J2' 15306 - regex: '(?:SAMSUNG-)?SM-J200BT' 15307 model: 'Galaxy J2 Duos' 15308 - regex: '(?:SAMSUNG-)?SM-J260AZ' 15309 model: 'Galaxy J2 Pure' 15310 - regex: '(?:SAMSUNG-)?SM-(?:J260([AFGMY]|T1)|S260DL)' 15311 model: 'Galaxy J2 Core' 15312 - regex: '(?:SAMSUNG-)?SM-J(?:210F|250[FGMNY])' 15313 model: 'Galaxy J2 Pro' 15314 - regex: '(?:SAMSUNG-)?SM-(?:S367VL|S357BL)' 15315 model: 'Galaxy J3 Orbit' 15316 - regex: '(?:SAMSUNG-)?SM-J311(?:[09]|9S)' 15317 model: 'Galaxy J3 Pro' 15318 - regex: '(?:SAMSUNG-)?SM-S320VL(?:[);/ ]|$)' 15319 model: 'Galaxy J3 Sky' 15320 - regex: '(?:SAMSUNG-)?SM-S327VL(?:[);/ ]|$)' 15321 model: 'Galaxy J3 Luna Pro' 15322 - regex: '(?:SAMSUNG-)?SM-J327(?:T1|[ATW])(?:[);/ ]|$)' 15323 model: 'Galaxy J3 Prime' 15324 - regex: '(?:SAMSUNG-)?SM-J327(?:[FP]|R4)' 15325 model: 'Galaxy J3 Emerge' 15326 - regex: '(?:SAMSUNG-)?SM-J337R4(?:[);/ ]|$)' 15327 model: 'Galaxy J3 Aura' 15328 - regex: '(?:SAMSUNG-)?SM-J337T(?:[);/ ]|$)' 15329 model: 'Galaxy J3 Star' 15330 - regex: '(?:SAMSUNG-)?SM-J327V' 15331 model: 'Galaxy J3 Eclipse' 15332 - regex: '(?:SAMSUNG-)?SM-S337TL' 15333 model: 'Galaxy J3 Luna Pro' 15334 - regex: '(?:SAMSUNG-)?SM-J3109' 15335 model: 'Galaxy J3 (2015)' 15336 - regex: '(?:SAMSUNG-)?SM-(?:J300H|J320(?:[ZF]N|R4|W8|YZ|[AFGHMNPVY]))' 15337 model: 'Galaxy J3 (2016)' 15338 - regex: '(?:SAMSUNG-)?SM-(?:J330(?:FN|[08FGLN])|J327(?:R7|U))(?:[);/ ]|$)' 15339 model: 'Galaxy J3 (2017)' 15340 - regex: '(?:SAMSUNG-)?SM-J337(?:VPP|[AWPUV])(?:[);/ ]|$)' 15341 model: 'Galaxy J3 (2018)' 15342 - regex: '(?:SAMSUNG-)?SM-(?:G400[FG]|J400[FGM])' 15343 model: 'Galaxy J4' 15344 - regex: '(?:SAMSUNG-)?SM-J500(?:FN|N0|[78FGHMY])(?:[);/ ]|$)' 15345 model: 'Galaxy J5 (2015)' 15346 - regex: '(?:SAMSUNG-)?SM-(?:J510(?:[FGMU]N|FQ|[8FGHKLSY])|5108|G510H)(?:[);/ ]|$)' 15347 model: 'Galaxy J5 (2016)' 15348 - regex: '(?:SAMSUNG-)?SM-J530|lineage_j5y17lte' 15349 model: 'Galaxy J5 (2017)' 15350 - regex: '(?:SAMSUNG-)?SM-G570[0FMY]' 15351 model: 'Galaxy J5 Prime' 15352 - regex: '(?:SAMSUNG-)?SM-J600[FGLN]' # 2018 15353 model: 'Galaxy J6' 15354 - regex: '(?:SAMSUNG-)?SM-J610[FG]' 15355 model: 'Galaxy J6+' 15356 - regex: '(?:SAMSUNG-)?SM-J410[FG]' 15357 model: 'Galaxy J4 Core' 15358 - regex: '(?:SAMSUNG-)?SM-J415(?:[FG]N|[FGN])' 15359 model: 'Galaxy J4+' 15360 - regex: '(?:SAMSUNG-)?SM-J7[01]0(?:FN|MN|[8FHKM])' 15361 model: 'Galaxy J7' 15362 - regex: '(?:SAMSUNG-)?SM-J700P' 15363 model: 'Galaxy J7 (2015)' 15364 - regex: '(?:SAMSUNG-)?SM-(?:J700(?:T1|T)|J710GN|J7109)' 15365 model: 'Galaxy J7 (2016)' 15366 - regex: '(?:SAMSUNG-)?SM-(?:J730[K]|J727(?:R4|[AFSU]))(?:[);/ ]|$)' 15367 model: 'Galaxy J7 (2017)' 15368 - regex: '(?:SAMSUNG-)?SM-J737(?:R4|T1|VPP|[APSTUV])(?:[);/ ]|$)' 15369 model: 'Galaxy J7 (2018)' 15370 - regex: '(?:SAMSUNG-)?SM-C710F' 15371 model: 'Galaxy J7+ (C7)' 15372 - regex: '(?:SAMSUNG-)?SM-G610[FMY]' 15373 model: 'Galaxy J7 Prime' 15374 - regex: '(?:SAMSUNG-)?SM-G611(?:FF|MT|M)' 15375 model: 'Galaxy J7 Prime 2' 15376 - regex: '(?:SAMSUNG-)?SM-G615F' 15377 model: 'Galaxy J7 Max' 15378 - regex: '(?:SAMSUNG-)?SM-(?:S727VL|S737TL)' 15379 model: 'Galaxy J7 Sky Pro' 15380 - regex: '(?:SAMSUNG-)?SM-(?:J7 Pro|J730(?:GM|[FG]))' 15381 model: 'Galaxy J7 Pro' 15382 - regex: '(?:SAMSUNG-)?SM-J701[FM]' 15383 model: 'Galaxy J7 Core' # also Galaxy J7 Nxt and Galaxy J7 Neo 15384 - regex: '(?:SAMSUNG-)?SM-J720[FM]' 15385 model: 'Galaxy J7 Duo' 15386 - regex: '(?:SAMSUNG-)?SM-(?:S767VL|S757BL)' 15387 model: 'Galaxy J7 Crown' 15388 - regex: '(?:SAMSUNG-)?SM-J727[PTV]' 15389 model: 'Galaxy J7 V' 15390 - regex: 'SM-J7\[7\]' 15391 model: 'Galaxy J7 7' 15392 - regex: '(?:SAMSUNG-)?SM-J810' 15393 model: 'Galaxy J8' 15394 - regex: 'SM-J8 Plus' 15395 model: 'Galaxy J8 Plus' 15396 - regex: 'SM-J8 Pro' 15397 model: 'Galaxy J8 Pro' 15398 - regex: 'SM-J9\[7\] Prime' 15399 model: 'Galaxy J9 7 Prime' 15400 - regex: 'SM-J9\[8\] Pro' 15401 model: 'Galaxy J9 8 Pro' 15402 - regex: '(?:SAMSUNG-)?SM-M015[FG]' 15403 model: 'Galaxy M01' 15404 - regex: '(?:SAMSUNG-)?SM-M013F' 15405 model: 'Galaxy M01 Core' 15406 - regex: '(?:SAMSUNG-)?SM-M017F' 15407 model: 'Galaxy M01s' 15408 - regex: '(?:SAMSUNG-)?SM-M025F' 15409 model: 'Galaxy M02s' 15410 - regex: '(?:SAMSUNG-)? SM-M022' 15411 model: 'Galaxy M02' 15412 - regex: '(?:SAMSUNG-)?SM-M105[FGMY]' 15413 model: 'Galaxy M10' 15414 - regex: '(?:SAMSUNG-)?SM-M107F' 15415 model: 'Galaxy M10s' 15416 - regex: '(?:SAMSUNG-)?SM-M115[FM]' 15417 model: 'Galaxy M11' 15418 - regex: '(?:SAMSUNG-)?SM-M127[FG]' 15419 model: 'Galaxy M12' 15420 - regex: '(?:SAMSUNG-)?SM-(?:M205(?:[FGMN]|FN)|M20)(?:[);/ ]|$)' 15421 model: 'Galaxy M20' 15422 - regex: '(?:SAMSUNG-)?SM-M215F' 15423 model: 'Galaxy M21' 15424 - regex: '(?:SAMSUNG-)?SM-M215G' 15425 model: 'Galaxy M21 (2021)' 15426 - regex: '(?:SAMSUNG-)?SM-(?:M307(?:FN|[0F])|M30s)' 15427 model: 'Galaxy M30s' 15428 - regex: '(?:SAMSUNG-)?SM-M305?' 15429 model: 'Galaxy M30' 15430 - regex: '(?:SAMSUNG-)?SM-M315F' 15431 model: 'Galaxy M31' 15432 - regex: '(?:SAMSUNG-)?SM-M325F' 15433 model: 'Galaxy M32' 15434 - regex: '(?:SAMSUNG-)?SM-M317F' 15435 model: 'Galaxy M31s' 15436 - regex: '(?:SAMSUNG-)?SM-M405' 15437 model: 'Galaxy M40' 15438 - regex: '(?:SAMSUNG-)?SM-M426' 15439 model: 'Galaxy M42 5G' 15440 - regex: '(?:SAMSUNG-)?SM-M515F' 15441 model: 'Galaxy M51' 15442 - regex: '(?:SAMSUNG-)?SM-M625' 15443 model: 'Galaxy M62' 15444 - regex: '(?:SAMSUNG-)?SM-W201([689])' 15445 model: 'Galaxy W201$1' 15446 15447 - regex: '(?:SAMSUNG-)?SM-W2015' 15448 model: 'Galaxy Golden 2' 15449 - regex: '(?:SAMSUNG-)?SM-G910S' 15450 model: 'Galaxy Round' 15451 - regex: '(?:SAMSUNG-)?SM-(?:G550(?:FY|T[12]?)|S550TL|G55[01]0|G5520)' 15452 model: 'Galaxy On5' 15453 - regex: '(?:SAMSUNG-)?SM-G5528' 15454 model: 'Galaxy On5 (2016)' 15455 - regex: '(?:SAMSUNG-)?SM-G600(?:FY|[0F])' 15456 model: 'Galaxy On7' 15457 - regex: '(?:SAMSUNG-)?SM-G610[0KLS]' 15458 model: 'Galaxy On7 (2016)' 15459 - regex: '(?:SAMSUNG-)?SM-G611[FKLS]' 15460 model: 'Galaxy On7 Prime' 15461 - regex: '(?:SAMSUNG-)?SM-C500[0X]' 15462 model: 'Galaxy C5' 15463 - regex: '(?:SAMSUNG-)?SM-C501[08]' 15464 model: 'Galaxy C5 Pro' 15465 - regex: '(?:SAMSUNG-)?SM-C700[0X]' 15466 model: 'Galaxy C7' 15467 - regex: '(?:SAMSUNG-)?SM-C701[08FX]' 15468 model: 'Galaxy C7 Pro' 15469 - regex: '(?:SAMSUNG-)?SM-C710[08]' 15470 model: 'Galaxy C8' 15471 - regex: '(?:SAMSUNG-)?SM-C900[08FY]' 15472 model: 'Galaxy C9 Pro' 15473 - regex: '(?:SAMSUNG-)?SM-Z130H' 15474 model: 'Galaxy Z1' 15475 - regex: '(?:SAMSUNG-)?SM-Z200[FMY]' 15476 model: 'Galaxy Z2' 15477 - regex: '(?:SAMSUNG-)?SM-Z300H' 15478 model: 'Galaxy Z3' 15479 - regex: '(?:SAMSUNG-)?SM-Z400[FY]' 15480 model: 'Galaxy Z4' 15481 - regex: '(?:SAMSUNG-)?SM-(?:G150(?:N[0KLS])?|G155S)(?:[);/ ]|$)' 15482 model: 'Galaxy Folder' 15483 - regex: '(?:SAMSUNG-)?(?:SM-G16(?:0N|[05]0?|5N))(?:[);/ ]|$)' 15484 model: 'Galaxy Folder 2' 15485 - regex: '(?:SAMSUNG-)?SM-J321AZ(?:[);/ ]|$)' 15486 model: 'Galaxy Sol' 15487 - regex: '(?:SAMSUNG-)?SM-J326AZ(?:[);/ ]|$)' 15488 model: 'Galaxy Sol 2' 15489 - regex: '(?:SAMSUNG-)?SM-J336AZ(?:[);/ ]|$)' 15490 model: 'Galaxy Sol 3' 15491 - regex: '(?:SAMSUNG-)?SM-J727AZ(?:[);/ ]|$)' 15492 model: 'Galaxy Halo' 15493 - regex: '(?:SAMSUNG-)?SM-J327AZ' 15494 model: 'Galaxy Amp Prime 2' 15495 - regex: '(?:SAMSUNG-)?SM-J337AZ' 15496 model: 'Galaxy Amp Prime 3 (2018)' 15497 15498 # explicit phablet models 15499 - regex: '(?:SAMSUNG-)?SM-(?:F900[0FUW]|F907[BN])|SCV44' 15500 model: 'Galaxy Fold' 15501 device: 'phablet' 15502 - regex: '(?:SAMSUNG-)?SM-F711' 15503 model: 'Galaxy Z Flip 3' 15504 device: 'phablet' 15505 - regex: '(?:SAMSUNG-)?SM-F916(?:U1|[0BNQUW])|SCG05' 15506 model: 'Galaxy Z Fold 2 5G' 15507 device: 'phablet' 15508 - regex: '(?:SAMSUNG-)?SM-F926' 15509 model: 'Galaxy Z Fold 3 5G' 15510 device: 'phablet' 15511 - regex: '(?:SAMSUNG-)?GT-I9060(?:[);/ ]|$)' 15512 model: 'Galaxy Grand Neo' 15513 device: 'phablet' 15514 - regex: '(?:SAMSUNG-)?GT-I9063' 15515 model: 'Galaxy Grand Neo Duos' 15516 device: 'phablet' 15517 - regex: '(?:SAMSUNG-)?GT-I9(?:080|128)' 15518 model: 'Galaxy Grand' 15519 device: 'phablet' 15520 - regex: '(?:SAMSUNG-)?GT-I9168' 15521 model: 'Galaxy Grand Neo+' 15522 device: 'phablet' 15523 - regex: '(?:SAMSUNG-)?GT-I9082' 15524 model: 'Galaxy Grand Duos' 15525 device: 'phablet' 15526 - regex: '(?:SAMSUNG-)?GT-N7000' 15527 model: 'Galaxy Note' 15528 device: 'phablet' 15529 - regex: '(?:SC-01G|SCL24)(?:[);/ ]|$)' 15530 model: 'Galaxy Note Edge' 15531 device: 'phablet' 15532 - regex: '(?:SAMSUNG-)?SM-N935[FSLK](?:[);/ ]|$)' 15533 model: 'Galaxy Note Fan Edition' 15534 device: 'phablet' 15535 - regex: '(?:SAMSUNG-)?(?:(?:GT-)?N7100|SCH-(?:I605|N719|R950)|SPH-L900)(?:[);/ ]|$)' 15536 model: 'Galaxy Note II' 15537 device: 'phablet' 15538 - regex: '(?:SAMSUNG-)?GT-N7105' 15539 model: 'Galaxy Note II LTE' 15540 device: 'phablet' 15541 - regex: '(?:SAMSUNG-)?SM-G710(?:2T|5[HL]|[25689KLS])?(?:[);/ ]|$)' 15542 model: 'Galaxy Grand 2' 15543 device: 'phablet' 15544 - regex: '(?:SAMSUNG-)?SM-G720(?:AX|N0|[02])(?:[);/ ]|$)' 15545 model: 'Galaxy Grand Max' 15546 - regex: '(?:SAMSUNG-)?SM-(?:G530(?:[689]W|[AF]Z|BT|MU|R[47]|[AFHMPTWY])|G531[FH]|S920L)(?:[);/ ]|$)' 15547 model: 'Galaxy Grand Prime' 15548 device: 'phablet' 15549 - regex: '(?:SAMSUNG-)?SM-G531(?:BT|[MY])(?:[);/ ]|$)' 15550 model: 'Galaxy Grand Prime VE Duos' 15551 device: 'phablet' 15552 - regex: '(?:SAMSUNG-)?SM-G532F(?:[);/ ]|$)' 15553 model: 'Galaxy Grand Prime Plus' # also Galaxy J2 Prime 15554 device: 'phablet' 15555 - regex: '(?:SAMSUNG-)?SM-G532MT(?:[);/ ]|$)' 15556 model: 'Galaxy J2 Prime (TV)' 15557 device: 'phablet' 15558 - regex: '(?:SAMSUNG-)?SM-G532[MG](?:[);/ ]|$)' 15559 model: 'Galaxy J2 Prime' 15560 device: 'phablet' 15561 - regex: '(?:SAMSUNG-)?SM-N7502(?:[);/ ]|$)' 15562 model: 'Galaxy Note 3 Neo Duos' 15563 device: 'phablet' 15564 - regex: '(?:SAMSUNG-)?SM-N750[05LQ]?' 15565 model: 'Galaxy Note 3 Neo' 15566 device: 'phablet' 15567 - regex: '(?:SAMSUNG-)?SM-N9002(?:[);/ ]|$)' 15568 model: 'Galaxy Note 3 Duos' 15569 device: 'phablet' 15570 - regex: '(?:SAMSUNG-)?SM-9005(?:[);/ ]|$)' 15571 model: 'Galaxy Note 3 LTE' 15572 device: 'phablet' 15573 - regex: '(?:SAMSUNG-)?(?:SM-N900(?:W8|[05689][VQ]?|[AKLPSTV])?|SCL22|SC-01F(?:[);/ ]|$))' 15574 model: 'Galaxy Note 3' 15575 device: 'phablet' 15576 - regex: '(?:SAMSUNG-)?SM-(?:N910|910U)|N9100(?:[);/ ]|$)' 15577 model: 'Galaxy Note 4' 15578 device: 'phablet' 15579 - regex: '(?:SAMSUNG-)?SM-N916[KLS]' 15580 model: 'Galaxy Note 4 LTE' 15581 device: 'phablet' 15582 - regex: '(?:SAMSUNG-)?SM-N915' 15583 model: 'Galaxy Note 4 Edge' 15584 device: 'phablet' 15585 - regex: '(?:SAMSUNG-)?SM-N920(?:R[467]|W8|[0ACFGIKLPSTVX])' 15586 model: 'Galaxy Note 5' 15587 device: 'phablet' 15588 - regex: '(?:SAMSUNG-)?SM-N9208' 15589 model: 'Galaxy Note 5 Duos' 15590 device: 'phablet' 15591 - regex: '(?:SAMSUNG-)?SM-G750(?:8Q|[9AFH])' 15592 model: 'Galaxy Mega 2' 15593 device: 'phablet' 15594 - regex: '(?:SAMSUNG-)?GT-I915[028]' 15595 model: 'Galaxy Mega 5.8' 15596 device: 'phablet' 15597 - regex: '(?:SAMSUNG-)?GT-I920[05]' 15598 model: 'Galaxy Mega 6.3' 15599 device: 'phablet' 15600 - regex: '(?:SAMSUNG-)?(?:SM-N930(?:R[467]|W8|[0AFKLPSTUVX])|SCV34)' 15601 model: 'Galaxy Note 7' 15602 device: 'phablet' 15603 - regex: '(?:SAMSUNG[- ])?SM-N950|SCV37|SC-01K' 15604 model: 'Galaxy Note 8' 15605 device: 'phablet' 15606 - regex: '(?:SAMSUNG[- ])?(?:SM-N960|SCV40|SC-01L)' 15607 model: 'Galaxy Note 9' 15608 device: 'phablet' 15609 - regex: '(?:SAMSUNG[- ])?SM-(?:N970(?:U1|W8|[089DFJKLSUWX])|N971N)' 15610 model: 'Galaxy Note 10' 15611 device: 'phablet' 15612 - regex: '(?:SAMSUNG[- ])?SM-N770[FX]' 15613 model: 'Galaxy Note 10 Lite' 15614 device: 'phablet' 15615 - regex: '(?:SAMSUNG[- ])?(?:SM-N975(?:U1|XU|[0CFUWX])|SM-N976[0BVNQU]|SC-01M|SCV45)' 15616 model: 'Galaxy Note 10+' 15617 device: 'phablet' 15618 - regex: '(?:SAMSUNG[- ])?(?:SM-N980(?:F/DS|F))' 15619 model: 'Galaxy Note 20' 15620 device: 'phablet' 15621 - regex: '(?:SAMSUNG[- ])?(?:SM-N981(?:B/DS|U1|[0BNUW]))' 15622 model: 'Galaxy Note 20 5G' 15623 device: 'phablet' 15624 - regex: '(?:SAMSUNG[- ])?(?:SM-N985(?:F/DS|F))' 15625 model: 'Galaxy Note 20 Ultra' 15626 device: 'phablet' 15627 - regex: '(?:SAMSUNG[- ])?(?:SM-N986(?:B/DS|U1|[0BNUW])|SC-53A|SCG06)' 15628 model: 'Galaxy Note 20 Ultra 5G' 15629 device: 'phablet' 15630 15631 - regex: '(?:SAMSUNG-)?SM-W750V' 15632 model: 'Ativ SE' 15633 - regex: '(?:SAMSUNG-)?SM-G310R5' 15634 model: 'GreatCall Touch 3' 15635 15636 # explicit feature phones 15637 - regex: '(?:SAMSUNG-)?GT-E2152' 15638 model: 'E2152' 15639 device: 'feature phone' 15640 15641 # explicit notebooks 15642 - regex: 'Chromebook 3' 15643 model: 'Chromebook 3' 15644 device: 'desktop' 15645 15646 # general detections 15647 - regex: '(?:SAMSUNG-)?(GT-(P|N8|N5)[0-9]+[a-z]?)' 15648 device: 'tablet' 15649 model: '$1' 15650 - regex: 'SC-02C' 15651 model: 'Galaxy S II' 15652 - regex: '(?:SAMSUNG-)?((?:SM-[TNP]|GT-P)[a-z0-9_\-]+)' 15653 device: 'tablet' 15654 model: '$1' 15655 - regex: '((?:SCH|SGH|SPH|SHV|SHW|GT|SM)-[a-z0-9_\-]+)' 15656 model: '$1' 15657 - regex: 'SMART-TV' 15658 device: 'tv' 15659 model: 'Smart TV' 15660 - regex: 'Galaxy ([^/;]+) Build' 15661 model: 'Galaxy $1' 15662 - regex: 'Galaxy ([a-z0-9]+)' 15663 model: 'Galaxy $1' 15664 - regex: 'SAMSUNG[\-][ ]?([a-z0-9]+[\-_][a-z0-9]+)' 15665 model: '$1' 15666 - regex: 'SAMSUNG;[ ]?([a-z0-9]+[\-_][a-z0-9]+)' 15667 model: '$1' 15668 - regex: 'SAMSUNG[ _/\-]?([a-z0-9\-]+)' 15669 model: '$1' 15670 - regex: 'SAMSUNG;[ ]?([a-z0-9 ]+)' 15671 model: '$1' 15672 - regex: 'SEC-([a-z0-9]+)' 15673 model: '$1' 15674 - regex: 'SAM-([a-z0-9]+)' 15675 model: 'SCH-$1' 15676 - regex: '(?:portalmmm|o2imode)/2\.0 ([SZ][a-z0-9]+)' 15677 model: '$1' 15678 - regex: 'sam([rua][0-9]+)' 15679 model: 'SCH-$1' 15680 15681# Sanei 15682Sanei: 15683 regex: '(?:8312D|G(60[25]|70[3568]G?|785|803)|N83(?:-2cpu)?|N91) Build' 15684 device: 'smartphone' 15685 models: 15686 - regex: 'N83' 15687 model: 'N83' 15688 - regex: 'N91' 15689 model: 'N91' 15690 - regex: '8312D' 15691 model: 'G101' 15692 - regex: 'G(60[25]|70[3568]G?|785|803)' 15693 model: 'G$1' 15694 15695# Selfix 15696Selfix: 15697 regex: 'SELFIX' 15698 device: 'smartphone' 15699 models: 15700 - regex: 'SELFIX_SLASH6' 15701 model: 'Slash 6' 15702 - regex: 'VOYAGER-V45' 15703 model: 'Voyager V45' 15704 15705# Sencor (sencor.cz or sencor.com) 15706Sencor: 15707 regex: 'Sencor|(?:ELEMENT[ _]?(?:(?:7|8|9\.7|10[ _]1)(?:[ _]?V[23])?|P[0-9]+|10.1 Q001)|10_1Q205)(?:[);/ ]|$)' 15708 device: 'tablet' 15709 models: 15710 # explicit tablet models 15711 - regex: '(?:SENCOR[ _])?Element (10\.1) (Q001)' 15712 model: 'Element $1" $2' 15713 - regex: '(?:SENCOR[ _])?ELEMENT[ _]?7[ _]?V3' 15714 model: 'Element 7 V3' 15715 - regex: '(?:SENCOR[ _])?ELEMENT[ _]?7[ _]?V2[ _]BASIC' 15716 model: 'Element 7 V2 Basic' 15717 - regex: '(?:SENCOR[ _])?ELEMENT[ _]?7[ _]?V2' 15718 model: 'Element 7 V2' 15719 - regex: '(?:SENCOR[ _])?ELEMENT[ _]8[ _]?V3' 15720 model: 'Element 8 V3' 15721 - regex: '(?:SENCOR[ _])?ELEMENT[ _]8[ _]?V2' 15722 model: 'Element 8 V2' 15723 - regex: '(?:SENCOR[ _])?ELEMENT8' 15724 model: 'Element 8' 15725 - regex: '(?:SENCOR[ _])?ELEMENT[ _]9\.7[ _]?V3' 15726 model: 'Element 9.7 V3' 15727 - regex: '(?:SENCOR[ _])?ELEMENT[ _]9\.7[ _]?V2' 15728 model: 'Element 9.7 V2' 15729 - regex: '(?:SENCOR[ _])?ELEMENT[ _]9\.7' 15730 model: 'Element 9.7' 15731 - regex: '(?:SENCOR[ _])?ELEMENT10[ _]1' 15732 model: 'Element 10.1' 15733 - regex: '(?:SENCOR[ _])?(7Q105)(?:[);/ ]|$)' 15734 model: '$1' 15735 - regex: '(10)_(1Q205)(?:[);/ ]|$)' 15736 model: '$1.$2' 15737 15738 - regex: '(?:SENCOR[ _])?ELEMENT[ _]?P([0-9]+)' 15739 model: 'Element P$1' 15740 device: 'smartphone' 15741 15742 - regex: 'Sencor[ _]([^;/]+) Build' 15743 model: '$1' 15744 15745# Senwa (senwamobile.com) 15746Senwa: 15747 regex: 'Senwa|(?:S\-?(?:471|7[12]5|6[01]5|915|905TL|1000|5018)|V705B|LS50F| LS50?|LS5518H|LS5718)(?:[);/ ]|$)' 15748 device: 'smartphone' 15749 models: 15750 - regex: 'S-?471(?:[);/ ]|$)' 15751 model: 'Jazz' 15752 - regex: 'S-?605(?:[);/ ]|$)' 15753 model: 'City' 15754 - regex: 'S-?905TL(?:[);/ ]|$)' 15755 model: 'Odin' 15756 - regex: 'S-?1000(?:[);/ ]|$)' 15757 model: 'Odin' 15758 - regex: 'S-?5018(?:[);/ ]|$)' 15759 model: 'Inizio' 15760 - regex: 'S-?(615|7[12]5|915)(?:[);/ ]|$)' 15761 model: 'S$1' 15762 - regex: 'V705B(?:[);/ ]|$)' 15763 model: 'V705B' 15764 - regex: 'LS50F(?:[);/ ]|$)' 15765 model: 'Evolution' 15766 - regex: ' LS50(?:[);/ ]|$)' 15767 model: 'Pegasus' 15768 - regex: ' LS5(?:[);/ ]|$)' 15769 model: 'Thor' 15770 - regex: 'LS5518H(?:[);/ ]|$)' 15771 model: 'Sparkly' 15772 - regex: 'LS5718(?:[);/ ]|$)' 15773 model: 'Diamond' 15774 - regex: 'Senwa[ _-]*([^;/]+)(?: Build|[;)])' 15775 model: '$1' 15776 15777# Sky or Sky Devices (skydevices.com) 15778Sky: 15779 regex: '(?:SKY|Elite|Fuego)[_ ][3-7]\.[05](?:[A-Z]{1,2})?|Elite[ _](?:E55|5_0T|M45|[45]T|45T|GO|M5Plus|T55|T[46]|[AB]5|5_5_Octa|[BC]55)|Platinum[_ ](?:5.0M|5\.5C|[56]\.[05]\+?|M5|[ABCM]4|[ACG]55|[ABDEFG]5|A57|P9|X|UNO|VIEW2|O|4\.0|4_0Plus)|PLATINUMVIEW|SKY[ _](?:55M|Pro_III)|SKYVISION|SKY Black' 15780 device: 'smartphone' 15781 models: 15782 - regex: 'Platinum[_ ](?:5\.0M|M5)' 15783 model: 'Platinum 5.0M' 15784 - regex: 'Platinum[_ ]5\.5C' 15785 model: 'Platinum 5.5C' 15786 - regex: 'Platinum[_ ]([56])\.([05])\+' 15787 model: 'Platinum $1.$2 Plus' 15788 - regex: 'Platinum_4_0Plus' 15789 model: 'Platinum 4.0 Plus' 15790 - regex: 'Platinum[ _]4\.0' 15791 model: 'Platinum 4.0' 15792 - regex: 'Platinum[_ ](P9) Pro(?:[);/ ]|$)' 15793 model: 'Platinum $1 Pro' 15794 - regex: 'Platinum[_ ]([ABCM]4|[ACG]55|[ABDEFG]5|A57|P9|X|UNO|O|6\.0)(?:[);/ ]|$)' 15795 model: 'Platinum $1' 15796 - regex: 'Platinum[_ ]?VIEW(2)?(?:[);/ ]|$)' 15797 device: 'tablet' 15798 model: 'Platinum View$1' 15799 - regex: 'SKYVISION' 15800 device: 'tablet' 15801 model: 'Vision' 15802 - regex: 'Elite_5_5_Octa' 15803 model: 'Elite 5.5 Octa' 15804 - regex: 'Elite M5Plus' 15805 model: 'Elite M5 Plus' 15806 - regex: 'Elite[ _](M45|Go|[45]T|T[46]|T55|[AB]5|[ABCE]55|45T)(?:[);/ ]|$)' 15807 model: 'Elite $1' 15808 - regex: 'Elite[_ ]([3-7])[\._]([05](?:[A-Z]{1,2})?\+?)' 15809 model: 'Elite $1.$2' 15810 - regex: 'Fuego[_ ]([3-7]\.[05](?:[A-Z]{1,2})?\+?)' 15811 model: 'Fuego $1' 15812 - regex: 'SKY Black' 15813 model: 'Black' 15814 - regex: 'SKY_Pro_III' 15815 model: 'Pro III' 15816 - regex: 'SKY 55M' 15817 model: '55M' 15818 - regex: 'SKY[_ ]([3-7]\.[05](?:[A-Z]{1,2})?)' 15819 model: '$1' 15820 15821# Skyworth 15822Skyworth: 15823 regex: 'Sky_?worth' 15824 device: 'tv' 15825 models: 15826 - regex: 'Sky_?worth ([^;/]+) Build' 15827 model: '$1' 15828 15829# Smartfren 15830Smartfren: 15831 regex: 'Smartfren|Androtab|Andromax|PD6D1J|AD682J|AD68[89]G|AD6B1H|AD9A1H|AD682H|AD683G' 15832 device: 'smartphone' 15833 models: 15834 # explicit tablet models 15835 - regex: 'S7 Build' 15836 model: 'Andromax Tab 7.0' 15837 device: 'tablet' 15838 15839 # explicit smartphone models 15840 - regex: 'PD6D1J' 15841 model: 'Andromax V3s' 15842 - regex: 'AD682J' 15843 model: 'Andromax T' 15844 - regex: 'AD688G' 15845 model: 'Andromax C2' 15846 - regex: 'AD689G' 15847 model: 'Andromax i3' 15848 - regex: 'AD682H' 15849 model: 'Andromax i3s' 15850 - regex: 'AD6B1H' 15851 model: 'Andromax G2 Hot' 15852 - regex: 'AD9A1H' 15853 model: 'Andromax G2' 15854 - regex: 'AD683G' 15855 model: 'Andromax I' 15856 - regex: 'New Andromax-i' 15857 model: 'New Andromax I' 15858 15859 - regex: 'Andromax[ _\-]([^/;]+) Build' 15860 model: 'Andromax $1' 15861 - regex: 'Andromax[ _\-]([a-z0-9]+)' 15862 model: 'Andromax $1' 15863 - regex: 'Smartfren[ _\-]([^/;\)]+)(?: Build|[/;\)])' 15864 model: '$1' 15865 - regex: '(Androtab[^/;]+) Build' 15866 model: '$1' 15867 device: 'tablet' 15868 15869# Smartisan 15870Smartisan: 15871 regex: '(SM(?:70[15]|[89]01|919)|OD10[35]|YQ60[1357]|DT2002C|DE106|DT190[12]A|O[CE]106|OS103|O[CS]105)[ /;\)]' 15872 device: 'smartphone' 15873 models: 15874 - regex: 'SM70[15]' 15875 model: 'T1' 15876 - regex: 'SM801' 15877 model: 'T2' 15878 - regex: 'SM901' 15879 model: 'M1' 15880 - regex: 'SM919' 15881 model: 'M1L' 15882 - regex: 'YQ60[1357]' 15883 model: 'U1' 15884 - regex: 'OD10[35]' 15885 model: 'Pro' 15886 - regex: 'OS105[ /;\)]' 15887 model: 'Pro 2' 15888 - regex: 'DE106[ /;\)]' 15889 model: 'R1' 15890 - regex: 'OE106[ /;\)]' 15891 model: 'Nut Pro 2s' 15892 - regex: 'OC10[56][ /;\)]' 15893 model: 'Nut 3' 15894 - regex: 'DT2002C[ /;\)]' 15895 model: 'Nut 2' 15896 - regex: 'DT190[12]A[ /;\)]' 15897 model: 'Nut Pro 3' 15898 - regex: 'OS103[ /;\)]' 15899 model: 'JianGuo Pro 2' 15900 15901# STF Mobile 15902STF Mobile: 15903 regex: '(?:Fractal|AERIAL PLUS|Origins Pro|BLOCK_MINI|BLOCK GO|BLOCK 3|SLAY II)(?:[);/ ]|$)' 15904 device: 'smartphone' 15905 models: 15906 - regex: 'Fractal' 15907 model: 'Fractal' 15908 - regex: 'Origins Pro' 15909 model: 'Origins Pro' 15910 - regex: 'AERIAL PLUS' 15911 model: 'Aerial Plus' 15912 - regex: 'BLOCK_MINI' 15913 model: 'Block Mini' 15914 - regex: 'BLOCK 3 mini' 15915 model: 'Block 3 Mini' 15916 - regex: 'BLOCK 3' 15917 model: 'Block 3' 15918 - regex: 'BLOCK GO' 15919 model: 'Block Go' 15920 - regex: 'SLAY II' 15921 model: 'Slay II' 15922 15923# STK 15924STK: 15925 regex: 'STK[_ ]' 15926 device: 'smartphone' 15927 models: 15928 - regex: 'STK[_ ]([^/;]+) Build' 15929 model: '$1' 15930 - regex: 'STK[_ ]([a-z0-9]+)' 15931 model: '$1' 15932 15933# Stonex 15934Stonex: 15935 regex: 'STX[ -]([^;/]+)|STONE EVO' 15936 device: 'smartphone' 15937 models: 15938 - regex: 'STX[ -]([^;/]+) Build' 15939 model: '$1' 15940 - regex: 'STX[ -]([a-z0-9_-]+)' 15941 model: '$1' 15942 15943# SuperSonic 15944SuperSonic: 15945 regex: '(SC-[0-9]+[a-z]+)' 15946 device: 'tablet' 15947 model: '$1' 15948 15949# Supra 15950Supra: 15951 regex: 'SUPRA|NVTAB 7.0 3G|M74C 3G' 15952 device: 'smartphone' 15953 models: 15954 - regex: 'SUPRA[ _]([^;/)]+)(?: Build|[;)])' 15955 device: 'tablet' 15956 model: '$1' 15957 - regex: '(NVTAB 7.0 3G|M74C 3G)' 15958 device: 'tablet' 15959 model: '$1' 15960 15961# Sumvision 15962Sumvision: 15963 regex: '(Cyclone [^/;]+) Build' 15964 device: 'tablet' 15965 model: '$1' 15966 15967# SunVan 15968SunVan: 15969 regex: 'SUNVAN[ _\-]' 15970 device: 'smartphone' 15971 models: 15972 - regex: 'SUNVAN[ _\-]?([^/;]+) Build' 15973 model: '$1' 15974 - regex: 'SUNVAN[ _\-]?([^);/ ]+)' 15975 model: '$1' 15976 15977# SWISSMOBILITY or Swiss Mobility 15978SWISSMOBILITY: 15979 regex: '(?:SCHR9GR|PRA(?:U8|100|557|507)|ZUR(?:722M|70016W?|700[RW]|805A))(?:[);/ ]|$)' 15980 device: 'smartphone' 15981 models: 15982 - regex: 'SCHR9GR' 15983 model: 'SCHON R9' 15984 - regex: 'PRA(U8|100|557|507)(?:[);/ ]|$)' 15985 model: 'PRA$1' 15986 - regex: 'ZUR722M' 15987 device: 'phablet' 15988 model: 'Z72 go' 15989 15990 - regex: 'ZUR(70016W?|700[RW]|805A)(?:[);/ ]|$)' 15991 device: 'tablet' 15992 model: 'ZUR$1' 15993 15994# Thomson 15995Thomson: 15996 regex: '(?:Primo(7|8)|QM73[45]-8G|QM734-2|QM736-8G\(HD\)|(?<!\.)8950|MID1002|5014G|TEO7RK|TEO104G|Friendly_TH101|Delight TH201)(?:[);/ ]|$)|(?:Tlink|Every)[0-9]+|THOMSON,' 15997 device: 'tablet' 15998 models: 15999 # already detected as manta device 16000 #- regex: 'MID1002' 16001 # model: 'MID1002' 16002 - regex: 'Primo(7|8)' 16003 model: 'Primo $1' 16004 - regex: 'QM734-2' 16005 model: 'QM734-2' 16006 - regex: 'QM734-8G' 16007 model: 'QM734-8G' 16008 - regex: 'QM735-8G' 16009 model: 'QM735-8G' 16010 - regex: 'QM736-8G\(HD\)' 16011 model: 'QM736-8G (HD)' 16012 - regex: '(?<!\.)8950(?:[);/ ]|$)' 16013 model: '3G 8950' 16014 - regex: 'TEO(7RK|104G)(?:[);/ ]|$)' 16015 model: 'TEO$1' 16016 16017 - regex: '5014G(?:[);/ ]|$)' 16018 device: 'smartphone' 16019 model: '5014G' # EGO-5014G 16020 - regex: 'Tlink([0-9]+)' 16021 device: 'smartphone' 16022 model: 'Tlink$1' 16023 - regex: 'Every([0-9]+)' 16024 device: 'smartphone' 16025 model: 'Every$1' 16026 - regex: 'Delight TH201' 16027 device: 'smartphone' 16028 model: 'Delight TH201' 16029 - regex: 'Friendly_TH101' 16030 device: 'smartphone' 16031 model: 'Friendly TH101' 16032 - regex: '((?:49|55)UC6306|55UC63|32HD55|40FD54|55UD63)' 16033 device: 'tv' 16034 model: '$1' 16035 16036# Tanix 16037Tanix: 16038 regex: '(?:TX5 MAX|TX[69]s)(?:[);/ ]|$)' 16039 device: 'tv' 16040 models: 16041 - regex: 'TX([69])s' 16042 model: 'TX$1s' 16043 - regex: 'TX5 MAX' 16044 model: 'TX5 Max' 16045 16046# pantech 16047Pantech: 16048 regex: 'Pantech|P[GN]-|PT-[a-z0-9]{3,}|(?<!Winmax )TX[T]?[0-9]+|IM-[a-z0-9]+(?:[);/ ]|$)|ADR910L' 16049 device: 'smartphone' 16050 models: 16051 # explicit smartphone models 16052 - regex: 'ADR910L' 16053 model: 'Star Q' 16054 - regex: 'IM-A870K' 16055 model: 'Vega Iron' 16056 16057 - regex: 'Pantech[ \-]?([a-z0-9]+)' 16058 model: '$1' 16059 - regex: 'Pantech_([a-z0-9\-]+)' 16060 model: '$1' 16061 - regex: '(P[GTN]-[a-z0-9]+)' 16062 model: '$1' 16063 - regex: '(TX[T]?[0-9]+)' 16064 model: '$1' 16065 - regex: '(IM-[a-z0-9]+)(?:[);/ ]|$)' 16066 model: '$1' 16067 16068# Ployer 16069Ployer: 16070 regex: 'MOMO([0-9]|[ ]?mini[ ]?(?:S|3GS)?)' 16071 device: 'tablet' 16072 models: 16073 - regex: 'MOMOminiS' 16074 model: 'MOMO mini S' 16075 - regex: 'momo mini 3GS' 16076 model: 'MOMO Mini 3GS' 16077 - regex: 'MOMO([0-9][^);/]*) Build' 16078 model: 'MOMO $1' 16079 - regex: 'MOMO([0-9][^);/]*)(?:[);/]|$)' 16080 model: 'MOMO $1' 16081 16082# Plum (plum-mobile.com) 16083Plum: 16084 regex: 'PLUM[ _]' 16085 device: 'smartphone' 16086 models: 16087 - regex: 'Z405' 16088 model: 'Gator 3' 16089 - regex: 'Z407' 16090 model: 'Axe 4' 16091 - regex: 'Z516' 16092 model: 'Compass' 16093 - regex: 'Z811' 16094 device: 'tablet' 16095 model: 'Optimax 11' 16096 - regex: 'Z709' 16097 device: 'tablet' 16098 model: 'Optimax 7' 16099 - regex: 'Z712' 16100 device: 'tablet' 16101 model: 'Optimax 12' 16102 16103# Polaroid 16104Polaroid: 16105 regex: 'Polaroid|(?:PMID|MIDC)[0-9a-z]+(?:[);/ ]|$)|MID(?:1014|0714)|PRO[VG]?(?:[0-9]{3,}[a-z]*|[0-9]{2}[a-z])|(?:P(?:400[56]|4526|500[56]|502[56]|504[67]|552[56])A|P902/A900|PSPC(?:505|550|[MZL]20A0|K2[01]NA)|SIGMA 5|MIDS145PXE|MIDS747PX|MID4004JBL|MIDS185PR|PSPTD21NA)(?:[);/ ]|$)' 16106 device: 'smartphone' 16107 models: 16108 # explicit smartphone models 16109 - regex: 'P4005A' 16110 model: 'Turbo C4' 16111 - regex: 'P5005A' 16112 model: 'Turbo C5' 16113 - regex: 'P4006A' 16114 model: 'Turbo D4' 16115 - regex: 'PSPTD21NA' 16116 model: 'Turbo D2 Plus' 16117 - regex: 'P4526A' 16118 model: 'Turbo E' 16119 - regex: 'PSPC(505|550)' 16120 model: 'Cosmo $1' 16121 - regex: 'P5006A' 16122 model: 'Cosmo K' 16123 - regex: 'P5526A' 16124 model: 'Cosmo K Plus' 16125 - regex: 'PSPCK20NA' 16126 model: 'Cosmo K2' 16127 - regex: 'PSPCK21NA' 16128 model: 'Cosmo K2 Plus' 16129 - regex: 'P5026A' 16130 model: 'Cosmo L' 16131 - regex: 'PSPCL20A0' 16132 model: 'Cosmo L2' 16133 - regex: 'PSPCM20A0' 16134 model: 'Cosmo M2' 16135 - regex: 'P5046A' 16136 model: 'Cosmo P5s' 16137 - regex: 'P5525A' 16138 model: 'Cosmo Q5s' 16139 - regex: 'P5047A' 16140 model: 'Cosmo Z' 16141 - regex: 'PSPCZ20A0' 16142 model: 'Cosmo Z2' 16143 - regex: 'P5025A' 16144 model: 'L5s' 16145 - regex: 'PRO4611(?:PR201)?' 16146 model: 'Pro4611' 16147 - regex: 'PRO5023' 16148 model: 'Phantom 5' 16149 - regex: 'PROV400' 16150 model: 'Agate' 16151 - regex: 'PROV350' 16152 model: 'ProV350' 16153 - regex: 'SIGMA 5(?:[);/ ]|$)' 16154 model: 'Sigma 5' 16155 - regex: 'PRO([VG]?(?:[0-9]{3,}[a-z]*|[0-9]{2}[a-z]))' 16156 model: 'Pro$1' 16157 - regex: 'PSPT350' 16158 model: 'Turbo 350 Gris' 16159 16160 - regex: 'MIDS185PR' 16161 model: 'Pure 10.1"' 16162 - regex: '(MID(?:1014|0714|S145PXE|S747PX|4004JBL))' 16163 model: '$1' 16164 device: 'tablet' 16165 16166 - regex: '((?:PMID|MIDC)[0-9a-z]+)(?:[);/ ]|$)' 16167 model: '$1' 16168 device: 'tablet' 16169 - regex: '(P902/A900)(?:[);/ ]|$)' 16170 model: '$1' 16171 device: 'tablet' 16172 - regex: 'Polaroid' 16173 model: '' 16174 device: 'tablet' 16175 16176# PolyPad 16177PolyPad: 16178 regex: 'POLY ?PAD' 16179 device: 'tablet' 16180 models: 16181 - regex: 'POLY ?PAD[_ \.]([a-z0-9]+)(?:[);/ ]|$)' 16182 model: '$1' 16183 - regex: 'POLY ?PAD[_\.]([a-z0-9]+)' 16184 model: '$1' 16185 16186# Polytron 16187Polytron: 16188 regex: 'POLYTRON|W8480|W7430|PW1100S|W7550|W7531|W8570|R2401' 16189 device: 'smartphone' 16190 models: 16191 - regex: 'R2508' 16192 model: 'Rocket' 16193 - regex: 'POLYTRON[ _]R1500' 16194 model: 'Rocket Q-Five' 16195 - regex: 'R2401' 16196 model: 'Rocket 2X' 16197 - regex: 'POLYTRON[ _-]R2402' 16198 model: 'Rocket R2402' 16199 - regex: 'POLYTRON[ _-]R2403' 16200 model: 'Rocket R1' 16201 - regex: 'POLYTRON[ _-]R2406' 16202 model: 'Rocket R2' 16203 - regex: 'POLYTRON[ _-]R2407' 16204 model: 'Rocket R3' 16205 - regex: 'POLYTRON[ _-]R2452' 16206 model: 'Rocket S1' 16207 - regex: 'POLYTRON[ _-]R2457' 16208 model: 'Rocket S2' 16209 - regex: 'POLYTRON[ _-]R2501' 16210 model: 'Rocket T1' 16211 - regex: 'POLYTRON[ _-]R2507' 16212 model: 'Rocket T3' 16213 - regex: 'POLYTRON[ _-]R2509SE' 16214 model: 'Rocket T6 SE' 16215 - regex: 'POLYTRON[ _-]R2509' 16216 model: 'Rocket T6' 16217 - regex: 'POLYTRON[ _-]R250A' 16218 model: 'Rocket T7' 16219 - regex: 'POLYTRON[ _-]R2506' 16220 model: 'Rocket T4' 16221 - regex: 'POLYTRON[ _-](?:R3450|W1400)' 16222 model: 'Rocket Jetz' 16223 - regex: 'POLYTRON[ _-]R3500' 16224 model: 'Rocket Jetz 5.0' 16225 - regex: '4G450' 16226 model: 'Zap 5' 16227 - regex: 'W6500' 16228 model: 'Quadra Rocket' 16229 - regex: 'W7452' 16230 model: 'Quadra S2' 16231 - regex: 'W7550' 16232 model: 'Quadra V5' 16233 - regex: 'W8570' 16234 model: 'Quadra V7' 16235 - regex: 'POLYTRON[ _]L501' 16236 model: 'Rocket L501' 16237 - regex: 'POLYTRON[ _]P520' 16238 model: 'Prime 7S' 16239 - regex: 'POLYTRON[ _]P552' 16240 model: 'Prime 7 Pro' 16241 - regex: '4G500' 16242 model: 'Zap 6 Cleo' 16243 - regex: 'W8480' 16244 model: 'Crystal 4 W8480' 16245 - regex: 'W7531' 16246 model: 'Wizard V' 16247 - regex: 'W7430' 16248 model: 'Quadra Mini W7430' 16249 - regex: 'POLYTRON[ _]4G501' 16250 model: 'Zap 6 Posh' 16251 - regex: 'POLYTRON[ _]4G502' 16252 model: 'Zap 6 Power' 16253 - regex: 'POLYTRON[ _]4G503' 16254 model: 'Zap 6 Flaz' 16255 - regex: 'POLYTRON[_ ]?[ _]4G550' 16256 model: 'Zap 6 Note' 16257 - regex: 'POLYTRON[ _]4G551' 16258 model: 'Zap 6 Posh Note' 16259 - regex: 'PW1100S' 16260 model: 'PW1100S' 16261 - regex: 'Q2352' 16262 model: 'Q2352' 16263 - regex: 'POLYTRON[ _]T7800' 16264 model: 'Cosmica T7800' 16265 device: 'tablet' 16266 - regex: 'POLYTRON[ _]T7700' 16267 model: 'Rocket Pad' 16268 device: 'tablet' 16269 16270 16271# Positivo 16272Positivo: 16273 regex: 'YPY_S450' 16274 device: 'smartphone' 16275 models: 16276 - regex: 'YPY_S450' 16277 model: 'YPY S450' 16278 16279# Prestigio (prestigio.ru) 16280Prestigio: 16281 regex: 'Prestigio 5500 DUO|(?:PMP|PAP|PMT|PSP|PGPS)[0-9]+[a-z0-9_]+(?:[);/ ]|$)|Muze C3' 16282 device: 'tablet' 16283 models: 16284 # explicit smartphone models 16285 - regex: 'Prestigio 5500 DUO' # PAP5500DUO 16286 model: 'MultiPhone 5500 Duo' 16287 device: 'smartphone' 16288 - regex: 'PSP(5517|550[578])DUO(?:[);/ ]|$)' 16289 model: 'MultiPhone $1 Duo' 16290 device: 'smartphone' 16291 - regex: 'PSP5551DUO' 16292 device: 'smartphone' 16293 model: 'Grace S5' 16294 - regex: 'PSP7590DUO' 16295 device: 'smartphone' 16296 model: 'Grace V7 LTE' 16297 - regex: 'PSP7551DUO' 16298 device: 'smartphone' 16299 model: 'Grace S7 LTE' 16300 - regex: 'PSP5470DUO' 16301 device: 'smartphone' 16302 model: 'Grace X5' 16303 - regex: 'PSP5530DUO' 16304 device: 'smartphone' 16305 model: 'Grace Z5' 16306 - regex: 'PSP3533DUO' 16307 device: 'smartphone' 16308 model: 'Grace Z3' 16309 - regex: 'PSP5515DUO' 16310 device: 'smartphone' 16311 model: 'Grace P5' 16312 - regex: 'PSP5552DUO' 16313 device: 'smartphone' 16314 model: 'Grace R5 LTE' 16315 - regex: 'PSP5506DUO' 16316 device: 'smartphone' 16317 model: 'Grace Q5' 16318 - regex: 'PSP5511DUO' 16319 device: 'smartphone' 16320 model: 'Grace M5 LTE' 16321 - regex: 'PSP7501DUO' 16322 device: 'smartphone' 16323 model: 'Grace R7' 16324 - regex: 'PSP7570DUO' 16325 device: 'smartphone' 16326 model: 'Grace P7 LTE' 16327 - regex: 'PSP7572DUO' 16328 device: 'smartphone' 16329 model: 'Grace B7' 16330 - regex: 'PSP3552DUO' 16331 device: 'smartphone' 16332 model: 'Muze H3' 16333 - regex: 'PSP3515DUO' 16334 device: 'smartphone' 16335 model: 'Muze M3 LTE' 16336 - regex: 'PSP3495DUO' 16337 device: 'smartphone' 16338 model: 'Muze V3 LTE' 16339 - regex: 'PSP5513DUO' 16340 device: 'smartphone' 16341 model: 'Muze D5 LTE' 16342 - regex: 'PSP5520DUO' 16343 device: 'smartphone' 16344 model: 'Muze B5' 16345 - regex: 'PSP5518DUO' 16346 device: 'smartphone' 16347 model: 'Muze X5 LTE' 16348 - regex: 'PSP5553DUO' 16349 device: 'smartphone' 16350 model: 'Muze F5 LTE' 16351 - regex: 'PSP5502DUO' 16352 device: 'smartphone' 16353 model: 'Muze A5' 16354 - regex: 'PSP5545DUO' 16355 device: 'smartphone' 16356 model: 'Muze E5 LTE' 16357 - regex: 'PSP7512DUO' 16358 device: 'smartphone' 16359 model: 'Muze E7 LTE' 16360 - regex: 'PSP3511DUO' 16361 device: 'smartphone' 16362 model: 'Muze G3 LTE' 16363 - regex: 'PSP7550DUO(?:[);/ ]|$)' 16364 device: 'smartphone' 16365 model: 'Muze G7 LTE' 16366 - regex: 'PSP7510DUO(?:[);/ ]|$)' 16367 device: 'smartphone' 16368 model: 'Muze C7 LTE' 16369 - regex: 'Muze C3(?:[);/ ]|$)' 16370 device: 'smartphone' 16371 model: 'Muze C3' 16372 - regex: 'PSP3512DUO(?:[);/ ]|$)' 16373 device: 'smartphone' 16374 model: 'Muze B3' 16375 - regex: 'PSP3532DUO' 16376 device: 'smartphone' 16377 model: 'Muze F3' 16378 - regex: 'PSP3470DUO' 16379 device: 'smartphone' 16380 model: 'Muze J3' 16381 - regex: 'PSP5524DUO' 16382 device: 'smartphone' 16383 model: 'Muze J5' 16384 - regex: 'PSP7511DUO' 16385 device: 'smartphone' 16386 model: 'Muze B7' 16387 - regex: 'PSP3423DUO' 16388 device: 'smartphone' 16389 model: 'Wize R3' 16390 - regex: 'PSP3471DUO' 16391 device: 'smartphone' 16392 model: 'Wize Q3 LTE' 16393 - regex: 'PSP3510DUO' 16394 device: 'smartphone' 16395 model: 'Wize G3' 16396 - regex: 'PSP3537DUO' 16397 device: 'smartphone' 16398 model: 'Wize NV3' 16399 - regex: 'PSP3528DUO' 16400 device: 'smartphone' 16401 model: 'Wize PX3' 16402 - regex: 'PSP3527DUO' 16403 device: 'smartphone' 16404 model: 'Wize NK3' 16405 - regex: 'PSP3468DUO' 16406 device: 'smartphone' 16407 model: 'Wize OK3' 16408 # explicit tables models 16409 - regex: 'PMT3277_3G' 16410 model: 'MultiPad Ranger 7.0" 3G' 16411 - regex: 'PMP7070C3G' 16412 model: 'MultiPad 4 Diamond 7.0" 3G' 16413 - regex: 'PGPS7799CIS08GBPG(?:[);/ ]|$)' 16414 model: 'Geo Vision Tour 3' 16415 - regex: 'PGPS7797(?:[);/ ]|$)' 16416 model: 'Geo Vision Tour 2' 16417 - regex: 'PMT(3118|3[12]01|3[12]57)[_ ]([34])G' 16418 model: 'Grace $1 $2G' 16419 - regex: 'PMT3287_3G' 16420 model: 'MultiPad Ranger 8.0 3G' 16421 - regex: 'PMT4238_4G' 16422 model: 'Q Pro' 16423 - regex: 'PMT(1177|3208|3618|31[357]1|1157|1196|3[10]96|3[17]61)[_ ]([34])GE?' 16424 model: 'MultiPad Wize $1 $2G' 16425 - regex: 'PMT(3231|4231)[_ ]([34])GE?' 16426 model: 'Muze $1 $2G' 16427 - regex: 'PSP7546DUO([ _][A-Z]{2})?' 16428 model: 'X Pro' 16429 - regex: 'PSP7610DUO([ _][A-Z]{2})?' 16430 model: 'S Max' 16431 # general detection 16432 - regex: '(PM[PT][0-9]+[a-z0-9_]+)(?:[);/ ]|$)' 16433 model: '$1' 16434 - regex: '((?:PAP|PSP)[0-9]+[a-z0-9_]+(?: DUO)?)(?:[);/ ]|$)' 16435 model: '$1' 16436 device: 'smartphone' 16437 16438# Sanyo 16439Sanyo: 16440 regex: 'Sanyo|MobilePhone[ ;]' 16441 device: 'feature phone' 16442 models: 16443 # explicit feature phone models 16444 - regex: 'SCP-?6750' 16445 model: 'Katana Eclipse X' 16446 - regex: 'SCP-?6760' 16447 model: 'Incognito' 16448 - regex: 'SCP-?6780' 16449 model: 'Innuendo' 16450 16451 - regex: 'SANYO[ /_-]([a-z0-9\-]+)' 16452 model: '$1' 16453 - regex: 'MobilePhone ([a-z0-9\-]+)' 16454 model: '$1' 16455 16456# Qilive 16457Qilive: 16458 regex: 'Qilive [0-9][^;/]*|Q(7S5[5]?IN4G|7T10INP|8T10IN|8S55IN4G2|8S[56]IN4G|9T9IN|9T(?:7|10)IN4G|9S55IN4G|10S5[37]IN4G|10S[56]IN4G|10S[56]IN4GR|9S5IN4G|6T7IN)' 16459 device: 'smartphone' 16460 models: 16461 - regex: 'Q7S5IN4G' 16462 model: 'Q7 5.0" 4G' 16463 - regex: 'Q7S55IN4G' 16464 model: 'Q7 5.5" 4G' 16465 - regex: 'Q8S55IN4G2' 16466 model: 'Q8 5.5" 4G' 16467 - regex: 'Q8S6IN4G' 16468 model: 'Q8 6.0" 4G' 16469 - regex: 'Q8S5IN4GP' 16470 model: 'Q8 5.1" 4G' 16471 - regex: 'Q9S5IN4G' 16472 model: 'Q9 5.0" 4G' 16473 - regex: 'Q9S55IN4G' 16474 model: 'Q9 5.5" 4G' 16475 - regex: 'Q10S53IN4G' 16476 model: 'Q10 5.3" 4G' 16477 - regex: 'Q10S57IN4G' 16478 model: 'Q10 5.7" 4G' 16479 - regex: 'Q10S5IN4G[R]?' 16480 model: 'Q10 5.0" 4G' 16481 - regex: 'Q10S6IN4G' 16482 model: 'Q10 6.0" 4G' 16483 - regex: 'Q6T7IN' 16484 model: 'Q6' 16485 device: 'tablet' 16486 - regex: 'Q7T10INP' 16487 model: 'Q7 10.1"' 16488 device: 'tablet' 16489 - regex: 'Q8T10IN' 16490 model: 'Q8 10.1"' 16491 device: 'tablet' 16492 - regex: 'Q9T7IN4G' 16493 model: 'Q9 7.0" 4G' 16494 device: 'tablet' 16495 - regex: 'Q9T9IN' 16496 model: 'Q9 9.0"' 16497 device: 'tablet' 16498 - regex: 'Q9T10IN4G' 16499 model: 'Q9 10.1" 4G' 16500 device: 'tablet' 16501 - regex: 'Qilive ([0-5][^;/]*) Build' 16502 model: '$1' 16503 - regex: 'Qilive ([0-5][^;/]*)/' 16504 model: '$1' 16505 - regex: 'Qilive ([6-9][^;/]*) Build' 16506 model: '$1' 16507 device: 'tablet' 16508 - regex: 'Qilive ([6-9][^;/]*)/' 16509 model: '$1' 16510 device: 'tablet' 16511 16512# QMobile (qmobile.com.pk) 16513QMobile: 16514 regex: 'QMobile|QTab(?!10EW)|Q-Smart|(?:E2 Noir|Noir X1S|LUNA PRO|NICE S|JazzX JS(?:[27]|10)(?: PRO)?|LT[57]00[ _]PRO|LT950|Q Infinity|Hot Pro 2|VITA S|i7i 2020)(?:[);/ ]|$)' 16515 device: 'smartphone' 16516 models: 16517 - regex: 'JazzX JS7 PRO' 16518 model: 'Jazz X JS7 Pro' 16519 - regex: 'JazzX JS(2|10)' 16520 model: 'Jazz X JS$1' 16521 - regex: 'Noir X1S' 16522 model: 'Noir X1S' 16523 - regex: 'A600(?:[);/ ]|$)' 16524 model: 'Noir A600' 16525 - regex: 'E2 Noir' 16526 model: 'E2 Noir' 16527 - regex: 'Hot Pro 2' 16528 model: 'Hot Pro 2' 16529 - regex: 'LT([57]00)[ _]PRO' 16530 model: 'Noir LT$1 Pro' 16531 - regex: 'LUNA PRO' 16532 model: 'Luna Pro' 16533 - regex: 'VITA S' 16534 model: 'Vita S' 16535 - regex: 'NICE S' 16536 model: 'Nice S' 16537 - regex: 'i7i 2020' 16538 model: 'i7i (2020)' 16539 - regex: 'Q Infinity PRO' 16540 model: 'Q Infinity Pro' 16541 - regex: 'Q Infinity E Lite' 16542 model: 'Q Infinity E Lite' 16543 - regex: 'Q Infinity ([FCB])' 16544 model: 'Q Infinity $1' 16545 - regex: '(LT950)(?:[);/ ]|$)' 16546 model: '$1' 16547 - regex: 'QMobile ENERGY (X[12])(?:[);/ ]|$)' 16548 model: 'Energy $1' 16549 # general detections 16550 - regex: 'QTab[ _-]([^;/]+) Build' 16551 model: '$1 Tab' 16552 device: 'tablet' 16553 - regex: 'QTab[ _-]([^;/)]+)(?:[;/)]|$)' 16554 model: '$1 Tab' 16555 device: 'tablet' 16556 - regex: '(?:QMobile|Q-Smart)[ _-]([^;/]+) Build' 16557 model: '$1' 16558 - regex: '(?:QMobile|Q-Smart)[ _-]([^;/)]+)(?:[;/)]|$)' 16559 model: '$1' 16560 - regex: 'Q Infinity' 16561 model: 'Q Infinity' 16562 16563# Maximus (maximus-mobile.com) 16564Maximus: 16565 regex: 'Maximus[ _]|(Noir X)(?:[);/ ]|$)' 16566 device: 'smartphone' 16567 models: 16568 - regex: '(?:Maximus[ _])?(Noir X|D1)(?:[);/ ]|$)' 16569 model: '$1' 16570 - regex: 'Maximus_(T2)' 16571 device: 'tablet' 16572 model: '$1' 16573 16574# Quantum 16575Quantum: 16576 regex: '(?:Quantum (?:Fit|UP|MUV (?:PRO|UP)|Go|Mini|V|You [2E])|Q-TITANO(_007i|-H2)?|Q-Pulse70M|Q-Wave(?:101|71M))(?:[);/ ]|$)' 16577 device: 'smartphone' 16578 models: 16579 - regex: 'Quantum (Fit|Go|Mini|V|You [2E])(?:[);/ ]|$)' 16580 model: '$1' 16581 - regex: 'Quantum MUV PRO(?:[);/ ]|$)' 16582 model: 'MUV Pro' 16583 - regex: 'Quantum MUV UP(?:[);/ ]|$)' 16584 model: 'MUV Up' 16585 - regex: 'Quantum UP(?:[);/ ]|$)' 16586 model: 'Up' 16587 - regex: 'Q-TITANO[ _-](BOS|X|M1|007i|H[12]|AK47)(?:[);/ ]|$)' 16588 model: 'Q-Titano $1' 16589 - regex: 'Q-Pulse70M(?:[);/ ]|$)' 16590 device: 'tablet' 16591 model: 'Q-Pulse 70M' 16592 - regex: 'Q-Wave(101|71M)(?:[);/ ]|$)' 16593 device: 'tablet' 16594 model: 'Q-Wave $1' 16595 16596# Quechua 16597Quechua: 16598 regex: 'Quechua Phone 5' 16599 device: 'smartphone' 16600 model: 'Quechua Phone 5' 16601 16602# Ramos 16603Ramos: 16604 regex: 'Ramos ?([^/);]+)(?: Build|[);])|MOS1(?:max)?(?:[);/ ]|$)' 16605 device: 'smartphone' 16606 models: 16607 - regex: '(?:Ramos[ _])?(R10|R9|M7)(?:[);/ ]|$)' 16608 model: '$1' 16609 - regex: '(MOS1)(?:[);/ ]|$)' 16610 model: '$1' 16611 - regex: 'MOS1max' 16612 model: 'MOS1 Max' 16613 - regex: 'Ramos ?([^/;]+)(?: Build|[);])' 16614 device: 'tablet' 16615 model: '$1' 16616 16617# Razer 16618Razer: 16619 regex: 'Phone 2' 16620 device: 'smartphone' 16621 model: 'Phone 2' 16622 16623# Sendo 16624Sendo: 16625 regex: 'Sendo([a-z0-9]+)' 16626 device: 'feature phone' 16627 model: '$1' 16628 16629# Turbo-X 16630Turbo-X: 16631 regex: 'Turbo-X|(?:Hive V 3G|Turbox_S3|Fire_II_WiFi)(?:[);/ ]|$)|Mercury(?!/)' 16632 device: 'smartphone' 16633 models: 16634 # specific smartphone models 16635 - regex: 'Turbox_S3' 16636 model: 'S3' 16637 - regex: 'Turbo-X_A2(?:[);/ ]|$)' 16638 model: 'A2' 16639 - regex: 'Turbo-X_e3(?:[);/ ]|$)' 16640 model: 'E3' 16641 - regex: 'Mercury(?!/)' 16642 model: 'Mercury' 16643 16644 # specific tablet models 16645 - regex: 'Turbo-X Ice(?:[);/ ]|$)' 16646 device: 'tablet' 16647 model: 'Ice' 16648 - regex: 'Hive V 3G(?:[);/ ]|$)' 16649 device: 'tablet' 16650 model: 'Hive V 3G' 16651 - regex: 'Fire_II_WiFi(?:[);/ ]|$)' 16652 device: 'tablet' 16653 model: 'Fire II WiFi' 16654 16655 # general detections 16656 - regex: 'Turbo-X Tablet([^;/]+) Build' 16657 device: 'tablet' 16658 model: 'Tablet$1' 16659 - regex: 'Turbo-X ([^;/]+) Build' 16660 model: '$1' 16661 16662# Turbo 16663Turbo: 16664 regex: 'Turbo[_ ]?(?:X5[_ ]?(?:Max|Black|Space|Hero)|X8|X6[ _]Z|X[ _]Ray)(?:[);/ ]|$)' 16665 device: 'smartphone' 16666 models: 16667 - regex: 'TurboX5Space(?:[);/ ]|$)' 16668 model: 'X5 Space' 16669 - regex: 'TurboX5Hero(?:[);/ ]|$)' 16670 model: 'X5 Hero' 16671 - regex: 'TurboX[ _]Ray(?:[);/ ]|$)' 16672 model: 'X Ray' 16673 - regex: 'Turbo[ _]?X5[ _]?Black(?:[);/ ]|$)' 16674 model: 'X5 Black' 16675 - regex: 'Turbo[ _]X5[ _]Max(?:[);/ ]|$)' 16676 model: 'X5 Max' 16677 - regex: 'Turbo[ _]X6[ _]Z(?:[);/ ]|$)' 16678 model: 'X6 Z' 16679 - regex: 'Turbo[ _]X8(?:[);/ ]|$)' 16680 model: 'X8' 16681 16682# Silent Circle 16683'Silent Circle': 16684 regex: 'Blackphone 2' 16685 device: 'smartphone' 16686 model: 'Blackphone 2' 16687 16688# Sigma or Sigma Mobile (sigmamobile.net) 16689Sigma: 16690 regex: 'Sigma(?!Designs)|(X[_-]Style[ _]?Tab[_ ]A([0-9]{2,3})|X[-_ ]?treme[-_ ]?PQ[0-9]{2}|X-Style_S5501)(?:[);/ ]|$)' 16691 device: 'smartphone' 16692 models: 16693 - regex: '(?:Sigma[ _])?X[-_ ]?treme[-_ ]?PQ([0-9]{2})(?:[);/ ]|$)' 16694 model: 'X-Treme PQ$1' 16695 - regex: 'X[_-]Style[ _]?Tab[_ ]A([0-9]{2,3})(?:[);/ ]|$)' 16696 model: 'X-Style Tab A$1' 16697 device: 'tablet' 16698 - regex: '(?:Sigma[ _])?X[-_ ]?Style[-_ ]S([0-9]+)(?:[);/ ]|$)' 16699 model: 'X-Style S$1' 16700 16701# Spice 16702Spice: 16703 regex: '(?<![\d];)Spice' 16704 device: 'smartphone' 16705 models: 16706 - regex: 'Spice[ _\-]?([^/;]+)(?:[\)]| Build)' 16707 model: '$1' 16708 - regex: 'Spice[ _\-]?([^/;]+)(?:/|$)' 16709 model: '$1' 16710 16711# Sharp (jp.sharp) 16712Sharp: 16713 regex: 'SHARP|SBM|SH-?[0-9]+[a-z]?(?:[);/ ]|$)|AQUOS|(?:SH-M0[14-9]|SH-M1[1-7](?:-y)?|S[357]-SH|SH-[MZ](10|01)|SH-[CL]02|SH-RM(?:1[125]|02)|[34]04SH|401SH|[45]02SH|306SH|[36]05SH|70[1246]SH|80[138]SH|90[1678]SH|50[3679]SH|SHL2[25]|SHV4[0-8]|SHV3[1-9](?:[-_]u)?|FS80(?:1[08]|32|28|0[29])|TG-L900S|NP601SH|403SH|603SH|SHF3[1-4]|SHV4[035][-_]u|SW001SH|SHG0[123]|X4-SH|A002SH|SH-A01|DM-01[JH]|SH-D01|SH-01FDQ|A[01]01SH|606SH|FS801[56]|d-41A|NP80[567]SH|NP501SH|A00[34]SH|IS05|SH-(?:53A|51B|H01)|LP-01|FS8014)(?:[);/ ]|$)' 16714 device: 'smartphone' 16715 models: 16716 # explicit smartphone models 16717 - regex: '506SH(?:[);/ ]|$)' 16718 model: 'Aquos Xx3' 16719 - regex: '603SH(?:[);/ ]|$)' 16720 model: 'Aquos Xx3 Mini' 16721 - regex: '50[23]SH(?:[);/ ]|$)' 16722 model: 'Aquos Xx2' 16723 - regex: '[34]04SH(?:[);/ ]|$)' 16724 model: 'Aquos Xx' 16725 - regex: '606SH(?:[);/ ]|$)' 16726 model: 'Aquos ea' 16727 - regex: '507SH(?:[);/ ]|$)' 16728 model: 'Android One' 16729 - regex: 'S3-SH(?:[);/ ]|$)' 16730 model: 'Android One S3' 16731 - regex: 'S5-SH(?:[);/ ]|$)' 16732 model: 'Android One S5' 16733 - regex: 'S7-SH(?:[);/ ]|$)' 16734 model: 'Android One S7' 16735 - regex: 'X4-SH(?:[);/ ]|$)' 16736 model: 'Android One X4' 16737 - regex: 'SH-M04(?:[);/ ]|$)' 16738 model: 'Aquos SH-M04' 16739 - regex: 'SH-M05(?:[);/ ]|$)' 16740 model: 'Aquos Sense Lite' 16741 - regex: 'SH-M07(?:[);/ ]|$)' 16742 model: 'Aquos Sense Plus' 16743 - regex: 'A003SH(?:[);/ ]|$)' 16744 model: 'Aquos Sense 4 Basic' 16745 - regex: 'SH-41A(?:[);/ ]|$)' 16746 model: 'Aquos Sense 4' 16747 - regex: '(?:SHG03|A004SH|SH-M17|SH-53A)(?:[);/ ]|$)' 16748 model: 'Aquos Sense 5G' 16749 - regex: 'SH-D01(?:[);/ ]|$)' 16750 model: 'Aquos D10' 16751 - regex: 'SH-M12(?:-y)?(?:[);/ ]|$)' 16752 model: 'Aquos S3 Dual SIM' 16753 - regex: 'SH-H01(?:[);/ ]|$)' 16754 model: 'Aquos Zeta' 16755 - regex: '(?:SH-[MZ]10|801SH)(?:[);/ ]|$)' 16756 model: 'Aquos Zero' 16757 - regex: '(?:SH-M13|906SH|SH-01M)(?:[);/ ]|$)' 16758 model: 'Aquos Zero 2' 16759 - regex: '(?:SHG02|A002SH)(?:[);/ ]|$)' 16760 model: 'Aquos Zero 5G Basic' 16761 - regex: 'SH-Z01(?:[);/ ]|$)' 16762 model: 'Aquos S2 (C10)' 16763 - regex: '(?:SH-02E|SH-01[GH]|SH-04H)(?:[);/ ]|$)' 16764 model: 'Aquos Phone Zeta' 16765 - regex: 'SH-01FDQ(?:[);/ ]|$)' 16766 model: 'Dragon Quest' 16767 - regex: 'SH-?06D(?:[);/ ]|$)' 16768 model: 'Aquos Phone SH-06D' 16769 - regex: '(SHL2[25]|SH-M01)(?:[);/ ]|$)' 16770 model: 'Aquos Phone $1' 16771 - regex: 'SH-L02(?:[);/ ]|$)' 16772 model: 'Aquos L2' 16773 - regex: '(?:605SH|SH-03J|SHV39)(?:[);/ ]|$)' 16774 model: 'Aquos R' 16775 - regex: '(?:605SH|SH-03J|SHV39)(?:[);/ ]|$)' 16776 model: 'Aquos R' 16777 - regex: '(?:701SH|SHV41|SH-M06)(?:[);/ ]|$)' 16778 model: 'Aquos R Compact' 16779 - regex: '(?:SH-M09|SHV42|706SH|SH-03K)(?:[);/ ]|$)' 16780 model: 'Aquos R2' 16781 - regex: '803SH(?:[);/ ]|$)' 16782 model: 'Aquos R2 Compact' 16783 - regex: '(?:908SH|SHG01|SH-M14)(?:[);/ ]|$)' 16784 model: 'Aquos R5G' 16785 - regex: 'SH-M16(?:[);/ ]|$)' 16786 model: 'Aquos S4 Plus' 16787 - regex: 'SH-M15(?:[);/ ]|$)' 16788 model: 'Aquos S4 SIM' 16789 - regex: 'SH-C02(?:[);/ ]|$)' 16790 model: 'Aquos V' 16791 - regex: '(SHF3[1-4])(?:[);/ ]|$)' 16792 model: 'Aquos K $1' 16793 - regex: '704SH(?:[);/ ]|$)' 16794 model: 'Simple Smartphone 4' 16795 - regex: '(?:SH-02J|SH-04G)(?:[);/ ]|$)' 16796 model: 'Aquos Ever' 16797 - regex: 'SH-02H(?:[);/ ]|$)' 16798 model: 'Aquos Compact' 16799 - regex: '30[56]SH(?:[);/ ]|$)' 16800 model: 'Aquos Crystal' 16801 - regex: '402SH(?:[);/ ]|$)' 16802 model: 'Aquos Crystal X' 16803 - regex: '403SH(?:[);/ ]|$)' 16804 model: 'Aquos Crystal 2' 16805 - regex: '509SH(?:[);/ ]|$)' 16806 model: 'Aquos 3' 16807 - regex: 'NP601SH(?:[);/ ]|$)' 16808 model: 'Aquos 2' 16809 - regex: '(?:SHV40|SHV3[24])(?:_u)?(?:[);/ ]|$)' 16810 model: 'Aquos S' 16811 - regex: '702SH(?:[);/ ]|$)' 16812 model: 'Aquos S Basic' 16813 - regex: 'SHV3[183](?:[);/ ]|$)' 16814 model: 'Aquos S Mini' 16815 - regex: '(?:FS8010|SH-M08|SHV43(?:-u)?|SH-01[KL])(?:[);/ ]|$)' 16816 model: 'Aquos S2' 16817 - regex: 'FS8016(?:[);/ ]|$)' 16818 model: 'Aquos S2 Plus' 16819 - regex: '(?:SHV46|SH-R?M11|901SH)(?:[);/ ]|$)' 16820 model: 'Aquos S3 Plus' 16821 - regex: '(?:SHV44|808SH|SH-04L|SH-03G)(?:[);/ ]|$)' 16822 model: 'Aquos R3' 16823 - regex: '(?:FS8032|FS8015|SH-02M|SHV45(?:-U)?)(?:[);/ ]|$)' 16824 model: 'Aquos S3' 16825 - regex: 'FS8018(?:[);/ ]|$)' 16826 model: 'Aquos S3 Mini' 16827 - regex: '(?:SHV48|907SH)(?:[);/ ]|$)' 16828 model: 'Aquos S3 Basic' 16829 - regex: 'SH-RM12(?:[);/ ]|$)' 16830 model: 'Aquos S3 Lite' 16831 - regex: 'SH-RM15(?:[);/ ]|$)' 16832 model: 'Aquos S4 Lite' 16833 - regex: 'SH-51A(?:[);/ ]|$)' 16834 model: 'Aquos R5G' 16835 - regex: '(?:SH-51B|A101SH)(?:[);/ ]|$)' 16836 model: 'Aquos R6' 16837 - regex: 'SHV3[57](?:_u)?(?:[);/ ]|$)' 16838 model: 'Aquos U' 16839 - regex: 'TG-L900S(?:[);/ ]|$)' 16840 model: 'Luna S' 16841 - regex: 'SH-A01(?:[);/ ]|$)' 16842 model: 'B10' 16843 - regex: '(?:FS8002|SHV47)(?:[);/ ]|$)' 16844 model: 'Z2' 16845 - regex: 'FS8009(?:[);/ ]|$)' 16846 model: 'Z3' 16847 - regex: 'FS8014(?:[);/ ]|$)' 16848 model: 'R1' 16849 - regex: 'FS8028(?:[);/ ]|$)' 16850 model: 'R1S' 16851 - regex: 'SHV36(?:[);/ ]|$)' 16852 model: 'Basio 2' 16853 - regex: 'SW001SH(?:[);/ ]|$)' 16854 model: 'Star Wars' 16855 - regex: 'SH-RM02' 16856 model: 'Aquos SH-RM02' 16857 - regex: '401SH' 16858 model: 'Aquos 401SH' 16859 - regex: '(DM-01[JH])' 16860 model: 'Disney Mobile $1' 16861 - regex: 'A001SH' 16862 model: 'Simple Sumaho 5' # (Simple Smartphone 5) 16863 - regex: 'NP80[56]SH' 16864 model: 'Aquos Keitai 3' 16865 - regex: 'NP807SH' 16866 model: 'Aquos Keitai 10' 16867 - regex: 'NP501SH' 16868 model: 'Aquos Keitai' 16869 - regex: 'LP-01(?:[);/ ]|$)' 16870 model: 'Leica Leitz Phone 1' 16871 16872 # explicit tablet models 16873 - regex: 'SH-08E(?:[);/ ]|$)' 16874 device: 'tablet' 16875 model: 'Sharp Aquos Pad' 16876 - regex: 'd-41A(?:[);/ ]|$)' 16877 device: 'tablet' 16878 model: 'dtab d-41A' 16879 16880 - regex: '(LC-(?:[0-9]{2})[a-z0-9]+)(?:[);/ ]|$)' 16881 device: 'tv' 16882 model: '$1' 16883 - regex: 'SHARP-AQUOS|AQUOSBrowser' 16884 device: 'tv' 16885 model: 'Aquos Net Plus' 16886 - regex: 'SHARP[ \-]([a-z0-9\-]+)' 16887 model: '$1' 16888 - regex: '(?:SHARP|SBM)([a-z0-9]+)' 16889 model: '$1' 16890 - regex: '(SH-?[0-9]+[a-z]?|IS05)(?:[);/ ]|$)' 16891 model: '$1' 16892 16893# Simply or SIMPLE Mobile (simplemobile.com) 16894Simply: 16895 regex: '(NP602SI)(?:[);/ ]|$)' 16896 device: 'smartphone' 16897 model: '$1' 16898 16899# Softbank 16900Softbank: 16901 regex: 'Softbank|J-PHONE' 16902 device: 'smartphone' 16903 models: 16904 - regex: 'Softbank/[12]\.0/([a-z0-9]+)' 16905 model: '$1' 16906 - regex: '([a-z0-9]+);Softbank;' 16907 model: '$1' 16908 - regex: 'J-PHONE/[0-9]\.[0-9]/([a-z0-9\-]+)' 16909 model: '$1' 16910 16911# Sonim 16912Sonim: 16913 regex: 'Sonim[ -]|XP(?:[67]7|88)00(?:[);/ ]|$)' 16914 device: 'smartphone' 16915 models: 16916 - regex: 'Sonim-XP3400' 16917 model: 'XP3400' 16918 device: 'feature phone' 16919 - regex: 'XP6700(?:[);/ ]|$)' 16920 model: 'XP6700' 16921 - regex: 'XP7700(?:[);/ ]|$)' 16922 model: 'XP7700' 16923 - regex: 'XP8800(?:[);/ ]|$)' 16924 model: 'XP8' 16925 16926# Star 16927Star: 16928 regex: 'N(9[5678]00|8800|9000|9977)(?:[);/ ]|$)' 16929 device: 'smartphone' 16930 models: 16931 - regex: 'N9000' 16932 model: 'Note 3' 16933 16934 - regex: 'N(9[5678]00|8800|9977)(?:[);/ ]|$)' 16935 model: 'N$1' 16936 16937# Starmobile (starmobile.ph) 16938Starmobile: 16939 regex: '(?:Starmobile (?:Play (?:Neo|Spark|GO|Click))|UP[_ ](?:Sense|Rave|Groove|Prime|Selfie|Xtreme|XL|Max)|PLAY (?:Club|Style))(?:[);/ ]|$)' 16940 device: 'smartphone' 16941 models: 16942 - regex: 'Starmobile PLAY GO(?:[);/ ]|$)' 16943 model: 'Play Go' 16944 - regex: '(?:Starmobile )?Play (Neo|Spark|Click|Club|Style)(?:[);/ ]|$)' 16945 model: 'Play $1' 16946 - regex: 'UP[_ ](Sense|Rave|Groove|Prime|Selfie|Xtreme|XL|Max)(?:[);/ ]|$)' 16947 model: 'UP $1' 16948 16949 16950# Toshiba 16951Toshiba: 16952 regex: 'Toshiba|TSBNetTV/|portalmmm/[12].0 TS|(?:T-01C|T-0[12]D|IS04|IS11T|AT1S0|AT300SE|AT(?:7-C|10-A|10[PL]E-A|100|200|270|300|330|374|400|470|500a?|503|570|703|830)|AFTKMST12|AFTBAMR311)(?:[);/ ]|$)' 16953 device: 'smartphone' 16954 models: 16955 # explicit smartphone models 16956 - regex: 'T-01C' 16957 model: 'Regza T-01C' 16958 - regex: 'T-01D' 16959 model: 'Regza T-01D' 16960 - regex: 'T-02D' 16961 model: 'Regza T-02D' 16962 - regex: 'IS04' 16963 model: 'Regza IS04' 16964 - regex: 'IS11T' 16965 model: 'Regza IS11T' 16966 16967 # explicit tablet models 16968 - regex: 'AT7-C' 16969 model: 'Excite' 16970 device: 'tablet' 16971 - regex: 'AT1S0' 16972 model: 'Regza AT1S0' 16973 device: 'tablet' 16974 - regex: 'AT300SE' 16975 model: 'Regza AT300SE' 16976 device: 'tablet' 16977 - regex: 'AT500a' 16978 model: 'Regza AT500a' 16979 device: 'tablet' 16980 - regex: 'AT(100|200|270|300|330|374|400|470|500|503|570|703|830)' 16981 model: 'Regza AT$1' 16982 device: 'tablet' 16983 - regex: 'AT10([PL])E-A' 16984 model: 'Excite AT10$1-A' 16985 device: 'tablet' 16986 - regex: 'AT10-A' 16987 model: 'Excite AT10-A' 16988 device: 'tablet' 16989 16990 - regex: 'AFTKMST12' 16991 device: 'tv' 16992 model: '43LF711U20' 16993 - regex: 'AFTBAMR311' 16994 device: 'tv' 16995 model: '43LF421U19' 16996 - regex: 'TSBNetTV/' 16997 device: 'tv' 16998 model: '' 16999 - regex: 'Toshiba[ /_\-]?([a-z0-9_ \-]+) Build' 17000 model: '$1' 17001 - regex: 'Toshiba[ /_\-]?([a-z0-9_\-]+)' 17002 model: '$1' 17003 - regex: 'portalmmm/[12].0 (TS[a-z0-9 ]+)' 17004 model: '$1' 17005 17006# Ok 17007Ok: 17008 regex: 'AFTWI001(?:[);/ ]|$)' 17009 device: 'tv' 17010 model: '4K (2020)' 17011 17012# Anker (https://www.anker.com/) 17013Anker: 17014 regex: 'AFTMM(?:[);/ ]|$)' 17015 device: 'tv' 17016 model: 'Nebula Soundbar' 17017 17018# Kindle 17019Amazon: 17020 regex: '(?:AFT[ABMNRST]|AFTSSS?|SD4930UR|AEO(?:BC|C[HW]|KN)|KF(?:OT|ONWI|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|TRP?WI|SAW[IA]|GIWI|KAWI|MAWI|MEWI|MUWI|SUWI))(?:[);/ ]|$)|Kindle|AlexaMediaPlayer|Amazon (?:Tate|Jem)|Silk/\d+\.\d+|Echo/1|.+FIRETVSTICK' 17021 device: 'tablet' 17022 models: 17023 - regex: 'AFTA' 17024 model: 'Fire TV Cube (Gen 1)' 17025 device: 'tv' 17026 - regex: 'AFTR' 17027 model: 'Fire TV Cube (Gen 2)' 17028 device: 'tv' 17029 - regex: 'AFTN' 17030 model: 'Fire TV (Gen 3)' 17031 device: 'tv' 17032 - regex: 'AFTB' 17033 model: 'Fire TV (Gen 1)' 17034 device: 'tv' 17035 - regex: 'AFTSSS' 17036 model: 'Fire TV Stick (Gen 3)' 17037 device: 'tv' 17038 - regex: 'AFTSS' 17039 model: 'Fire TV Stick Lite (Gen 1)' 17040 device: 'tv' 17041 - regex: 'AFT[MST]' 17042 model: 'Fire TV stick' 17043 device: 'tv' 17044 - regex: '.+FIRETVSTICK2018' 17045 model: 'Fire TV Stick 4K' 17046 device: 'tv' 17047 - regex: 'KFFOWI(?:[);/ ]|$)' 17048 model: 'Fire 7"' 17049 - regex: 'KFMUWI(?:[);/ ]|$)' 17050 model: 'Fire 7" (2019)' 17051 - regex: 'KFTT(?:[);/ ]|$)' 17052 model: 'Kindle Fire HD' 17053 - regex: 'KFJWI(?:[);/ ]|$)|Amazon Jem' 17054 model: 'Kindle Fire HD 8.9" WiFi' 17055 - regex: 'KFJWA(?:[);/ ]|$)' 17056 model: 'Kindle Fire HD 8.9" 4G' 17057 - regex: 'KFSOWI(?:[);/ ]|$)|Amazon Tate' 17058 model: 'Kindle Fire HD 7" WiFi' 17059 - regex: 'KFTHWI(?:[);/ ]|$)' 17060 model: 'Kindle Fire HDX 7" WiFi' 17061 - regex: 'KFTHWA(?:[);/ ]|$)' 17062 model: 'Kindle Fire HDX 7" 4G' 17063 - regex: 'KFAPWI(?:[);/ ]|$)' 17064 model: 'Kindle Fire HDX 8.9" WiFi' 17065 - regex: 'KFAPWA(?:[);/ ]|$)' 17066 model: 'Kindle Fire HDX 8.9" 4G' 17067 - regex: 'KFARWI(?:[);/ ]|$)' 17068 model: 'Fire HD 6' 17069 - regex: 'KFASWI(?:[);/ ]|$)' 17070 model: 'Fire HD 7' 17071 - regex: 'KFAUWI(?:[);/ ]|$)' 17072 model: 'Fire HD 7 (2017)' 17073 - regex: 'KFMEWI(?:[);/ ]|$)' 17074 model: 'Fire HD 8 (2015)' 17075 - regex: 'KFGIWI(?:[);/ ]|$)' 17076 model: 'Fire HD 8 (2016)' 17077 - regex: 'KFDOWI(?:[);/ ]|$)' 17078 model: 'Fire HD 8 (2017)' 17079 - regex: 'KFKAWI(?:[);/ ]|$)' 17080 model: 'Fire HD 8 (2018)' 17081 - regex: 'KFONWI(?:[);/ ]|$)' 17082 model: 'Fire HD 8 (2020)' 17083 - regex: 'KFSAWI(?:[);/ ]|$)' 17084 model: 'Fire HDX 8.9' 17085 - regex: 'KFSAWA(?:[);/ ]|$)' 17086 model: 'Fire HDX 8.9 4G' 17087 - regex: 'KFTBWI(?:[);/ ]|$)' 17088 model: 'Fire HD 10' 17089 - regex: 'KFSUWI(?:[);/ ]|$)' 17090 model: 'Fire HD 10 (2017)' 17091 - regex: 'KFMAWI(?:[);/ ]|$)' 17092 model: 'Fire HD 10 (2019)' 17093 - regex: 'KFTRWI(?:[);/ ]|$)' 17094 model: 'Fire HD 10 (2021)' 17095 - regex: 'KFTRPWI(?:[);/ ]|$)' 17096 model: 'Fire HD 10 Plus (2021)' 17097 - regex: 'SD4930UR' 17098 model: 'Fire Phone' 17099 device: 'smartphone' 17100 17101 - regex: 'KFOT|Kindle Fire|Silk/\d+\.\d+' 17102 model: 'Kindle Fire' 17103 - regex: 'Kindle' 17104 model: 'Kindle' 17105 17106 - regex: 'Echo/1|AEO(?:BC|KN)(?:[);/ ]|$)' 17107 model: 'Echo' 17108 device: 'smart speaker' 17109 - regex: 'AEOC[HW](?:[);/ ]|$)' 17110 model: 'Echo Show 8' 17111 device: 'smart speaker' 17112 - regex: 'AlexaMediaPlayer' 17113 model: 'Alexa' 17114 device: 'smart speaker' 17115 17116# Symphony 17117Symphony: 17118 regex: 'SYMPHONY[ \_]([a-z0-9]+)|(?:roar[ _](?:V20|V78|E80|V150))|roarV95|ZVIII(?:[);/ ]|$)' 17119 device: 'smartphone' 17120 models: 17121 - regex: 'ZVIII' 17122 model: 'ZVIII' 17123 - regex: 'roar[ _]?(V20|E80|V78|V95|V150)(?:[);/ ]|$)' 17124 model: 'Roar $1' 17125 - regex: 'SYMPHONY[ \_]([a-z0-9]+)' 17126 model: '$1' 17127 17128# Helio 17129Helio: 17130 regex: 'Helio (S60|S5)(?:[);/ ]|$)' 17131 device: 'smartphone' 17132 model: '$1' 17133 17134# Syrox 17135Syrox: 17136 regex: '(SYX-(?:T70[04]|T10[12]))(?:[);/ ]|$)' 17137 device: 'tablet' 17138 model: '$1' 17139 17140# Qtek 17141Qtek: 17142 regex: 'Qtek[ _]?([a-z0-9]+)' 17143 device: 'smartphone' 17144 model: '$1' 17145 17146# Q-Touch or Q.Touch or QTouch 17147Q-Touch: 17148 regex: '( Q09|QS701|Q05A)(?:[);/ ]|$)' 17149 device: 'smartphone' 17150 model: '$1' 17151 17152# G-Touch or GTouch 17153G-Touch: 17154 regex: 'GTouch[_ ]|(?:Stella (?:XS?|Omega))(?:[);/ ]|$)' 17155 device: 'smartphone' 17156 models: 17157 - regex: 'Stella (XS?|Omega)' 17158 model: 'Stella $1' 17159 - regex: 'GTouch[_ ]STELLA' 17160 model: 'Stella' 17161 17162# T-Mobile 17163T-Mobile: 17164 regex: 'T-Mobile[ _][a-z0-9 ]+|(?:REVVLRY|REVVL V\+ 5G|REVVL 2(?: PLUS)?|5062[ZW]|5007[ZW])(?:[);/ ]|$)' 17165 device: 'smartphone' 17166 models: 17167 - regex: '5062[ZW]' 17168 model: 'REVVL 4 Plus' 17169 - regex: '5007[ZW]' 17170 model: 'REVVL 4' 17171 - regex: 'REVVL 2 PLUS' 17172 model: 'REVVL 2 Plus' 17173 - regex: 'REVVL V\+ 5G' 17174 model: 'REVVL V+ 5G' 17175 - regex: 'REVVLRY' 17176 model: 'REVVL Plus' 17177 - regex: 'REVVL 2(?:[);/ ]|$)' 17178 model: 'REVVL 2' 17179 - regex: 'T-Mobile[ _]([a-z0-9_ ]+) Build' 17180 model: '$1' 17181 - regex: 'T-Mobile[ _]([a-z0-9_ ]+)' 17182 model: '$1' 17183 17184# TB Touch 17185'TB Touch': 17186 regex: 'Ignis [89]' 17187 device: 'tablet' 17188 models: 17189 - regex: 'Ignis ([89])' 17190 model: 'Ignis $1' 17191 17192# Teclast (teclast.com) 17193Teclast: 17194 regex: 'Teclast|TLA002|TLA016|X98 Air III|M20_4G|X98 Air II\(HG5N\)|Tbook|X80 Power\(B2N4\)|(?:T40 Plus|T30|P80[XH]|P20HD|P10[_ ]HD|M40|P10S|M30_Pro|M40SE)_(?:ROW|EEA)|T10\(E3C[56]\)|P10S\(N4H5\)|98\(M1E[45789]\)|98\(M3E3\)|X10 \(M1D3\)|M89 Pro|M40\(N9H3\)|M40SE_EEA' 17195 device: 'tablet' 17196 models: 17197 - regex: 'Tbook[_ -]([^;/]+) Build' 17198 model: 'Tbook $1' 17199 - regex: 'T10\(E3C[56]\)' 17200 model: 'T10' 17201 - regex: 'X10 \(M1D3\)' 17202 model: 'X10' 17203 - regex: 'P10S(?:\(N4H5\)|_(?:ROW|EEA))(?:[);/ ]|$)' 17204 model: 'P10S' 17205 - regex: 'P20HD_(?:ROW|EEA)' 17206 model: 'P20HD' 17207 - regex: 'P10[_ ]HD_(?:ROW|EEA)' 17208 model: 'P10HD' 17209 - regex: 'M30_Pro[_ ](?:ROW|EEA)' 17210 model: 'M30 Pro' 17211 - regex: 'M20_4G' 17212 model: 'M20 4G' 17213 - regex: 'M89 Pro' 17214 model: 'M89 Pro' 17215 - regex: 'TLA002' 17216 model: 'M30 4G' 17217 - regex: 'TLA016' 17218 model: 'M16' 17219 - regex: 'M40\(N9H3\)' 17220 model: 'M40' 17221 - regex: 'M40SE' 17222 model: 'M40 SE' 17223 - regex: 'T40 Plus_(?:ROW|EEA)' 17224 model: 'T40 Plus' 17225 - regex: '(P80[Xh]|T30|M40)[_ ](?:ROW|EEA)' 17226 model: '$1' 17227 - regex: '98\(M1E[45789]\)|98\(M3E3\)' 17228 model: 'TPad 98 10.1" 4G' 17229 - regex: 'X80 Power\(B2N4\)(?:[);/ ]|$)' 17230 model: 'X98 Power' 17231 - regex: 'X98 Air III(?:[);/ ]|$)' 17232 model: 'X98 Air III' 17233 - regex: 'X98 Air II\(HG5N\)(?:[);/ ]|$)' 17234 model: 'X98 Air II' 17235 - regex: 'Teclast[_ -]([^;/]+) Build' 17236 model: '$1' 17237 17238# Tecno Mobile 17239Tecno Mobile: 17240 regex: 'Tecno|Phantom6|Phantom6-Plus|DP7C Pro-SGA1' 17241 device: 'smartphone' 17242 models: 17243 - regex: 'Phantom6-Plus' 17244 model: 'Phantom 6 Plus' 17245 - regex: 'Phantom6' 17246 model: 'Phantom 6' 17247 - regex: 'TECNO[ _]AB7(?:[);/ ]|$)' 17248 model: 'Phantom 9' 17249 - regex: 'TECNO[ _]AX8(?:[);/ ]|$)' 17250 model: 'Phantom 8' 17251 - regex: 'TECNO-W3' 17252 model: 'W3' 17253 - regex: 'TECNO[ _]F4 Pro(?:[);/ ]|$)' 17254 model: 'F4 Pro' 17255 - regex: 'TECNO[ _]ID5b(?:[);/ ]|$)' 17256 model: 'Camon i2X' 17257 - regex: 'TECNO[ _]ID6(?:[);/ ]|$)' 17258 model: 'Camon iClick 2' 17259 - regex: 'TECNO[ _]IN2(?:[);/ ]|$)' 17260 model: 'Camon iSky' 17261 - regex: 'TECNO[ _]KB3(?:[);/ ]|$)' 17262 model: 'Camon iSky 3' 17263 - regex: 'Tecno[ _]7C(?:[);/ ]|$)' 17264 model: 'DroidPad 7C' 17265 device: 'tablet' 17266 - regex: 'Tecno[ _]P701(?:[);/ ]|$)' 17267 model: 'DroidPad 7D' 17268 device: 'tablet' 17269 - regex: 'Tecno[ _]P701(?:[);/ ]|$)' 17270 model: 'DroidPad 7D' 17271 device: 'tablet' 17272 - regex: 'DP7C Pro-SGA1(?:[);/ ]|$)' 17273 model: 'DroidPad 7C Pro' 17274 device: 'tablet' 17275 - regex: 'Tecno[ _]P703(?:[);/ ]|$)' 17276 model: 'DroidPad 7F' 17277 device: 'tablet' 17278 - regex: 'Tecno[ _]P704a(?:[);/ ]|$)' 17279 model: 'DroidPad 7G' 17280 device: 'tablet' 17281 - regex: 'TECNO[ _]DP10A Pro(?:[);/ ]|$)' 17282 model: 'DroidPad 10A Pro' 17283 device: 'tablet' 17284 - regex: 'TECNO[ _]P904(?:[);/ ]|$)' 17285 model: 'DroidPad 10D 4G' 17286 device: 'tablet' 17287 - regex: 'Tecno[ _]CB7[j]?' 17288 model: 'Camon i4' 17289 - regex: 'Tecno[- _]C9(?:[);/ ]|$)' 17290 model: 'Camon C9' 17291 - regex: 'Tecno[ _]CF7k?(?:[);/ ]|$)' 17292 model: 'Camon 11' 17293 - regex: 'Tecno[ _]CF8(?:[);/ ]|$)' 17294 model: 'Camon 11 Pro' 17295 - regex: 'Tecno[ _]CC7S?(?:[);/ ]|$)' 17296 model: 'Camon 12' 17297 - regex: 'Tecno[ _](?:CC6|KC3)(?:[);/ ]|$)' 17298 model: 'Camon 12 Air' 17299 - regex: 'Tecno[ _-]CD7(?:[);/ ]|$)' 17300 model: 'Camon 15' 17301 - regex: 'Tecno[ _-]CD6S?(?:[);/ ]|$)' 17302 model: 'Camon 15 Air' 17303 - regex: 'Tecno[ _-]CD8j(?:[);/ ]|$)' 17304 model: 'Camon 15 Premier' 17305 - regex: 'Tecno[ _-]CD8(?:[);/ ]|$)' 17306 model: 'Camon 15 Pro' 17307 - regex: 'Tecno[ _-]CE9h(?:[);/ ]|$)' 17308 model: 'Camon 16' 17309 - regex: 'Tecno[ _-]CE9(?:[);/ ]|$)' 17310 model: 'Camon 16 Premier' 17311 - regex: 'Tecno[ _-]CE8(?:[);/ ]|$)' 17312 model: 'Camon 16 Pro' 17313 - regex: 'Tecno[ _-]CD6j(?:[);/ ]|$)' 17314 model: 'Camon 16 S' 17315 - regex: 'Tecno[ _-]CE7j(?:[);/ ]|$)' 17316 model: 'Camon 16 SE' 17317 - regex: 'Tecno[ _-]CG6j?(?:[);/ ]|$)' 17318 model: 'Camon 17' 17319 - regex: 'Tecno[ _-]CG8(?:[);/ ]|$)' 17320 model: 'Camon 17 Pro' 17321 - regex: 'Tecno[ _-]CG7n?(?:[);/ ]|$)' 17322 model: 'Camon 17P' 17323 - regex: 'Tecno[ _-]CA6(?:[);/ ]|$)' 17324 model: 'Camon CM' 17325 - regex: 'Tecno[ _-]CA7(?:[);/ ]|$)' 17326 model: 'Camon X' 17327 - regex: 'Tecno[ _-]CA8(?:[);/ ]|$)' 17328 model: 'Camon X Pro' 17329 - regex: 'Tecno[ _-]Camon CX(?:[);/ ]|$)' 17330 model: 'Camon CX' 17331 - regex: 'TECNO[ _]F3(?:[);/ ]|$)' 17332 model: 'Pop 1' 17333 - regex: 'TECNO[ _]B1(?:[);/ ]|$)' 17334 model: 'Pop 2' 17335 - regex: 'TECNO[ _]SA2S(?:[);/ ]|$)' 17336 model: 'Pop 2 Mini' 17337 - regex: 'TECNO[ _]B1[fg](?:[);/ ]|$)' 17338 model: 'Pop 2F' 17339 - regex: 'TECNO[ _]RA8(?:[);/ ]|$)' 17340 model: 'Pop 2S' 17341 - regex: 'TECNO[ _]KB2j(?:[);/ ]|$)' 17342 model: 'Pop 2S Pro' 17343 - regex: 'TECNO[ _]BA2(?:[);/ ]|$)' 17344 model: 'Pop 2 Plus' 17345 - regex: 'TECNO[ _]B1p(?:[);/ ]|$)' 17346 model: 'Pop 2 Power' 17347 - regex: 'TECNO[ _]RB8S(?:[);/ ]|$)' 17348 model: 'Pop 2X Plus' 17349 - regex: 'TECNO[ _]RB6S(?:[);/ ]|$)' 17350 model: 'Pop 2X Air' 17351 - regex: 'TECNO[ _]RB7S(?:[);/ ]|$)' 17352 model: 'Pop 2X' 17353 - regex: 'TECNO[ _]SC7S(?:[);/ ]|$)' 17354 model: 'Pop 2 Air' 17355 - regex: 'TECNO[ _]BB2(?:[);/ ]|$)' 17356 model: 'Pop 3' 17357 - regex: 'TECNO[ _]BC2c?(?:[);/ ]|$)' 17358 model: 'Pop 4' 17359 - regex: 'TECNO[ _]BC3?(?:[);/ ]|$)' 17360 model: 'Pop 4 Pro' 17361 - regex: 'TECNO[ _]BC1(?:[);/ ]|$)' 17362 model: 'Pop 4 Air' 17363 - regex: 'TECNO[ _]BC1s(?:[);/ ]|$)' 17364 model: 'Pop 4 LTE' 17365 - regex: 'TECNO[ _]BD2p(?:[);/ ]|$)' 17366 model: 'Pop 5' 17367 - regex: 'Tecno[ _]KA7O?(?:[);/ ]|$)' 17368 model: 'Spark 2' 17369 - regex: 'Tecno[ _]LB6?(?:[);/ ]|$)' 17370 model: 'Spark 2 Youth' 17371 - regex: 'Tecno[ _]KB7j?(?:[);/ ]|$)' 17372 model: 'Spark 3' 17373 - regex: 'Tecno[ _]KB8?(?:[);/ ]|$)' 17374 model: 'Spark 3 Pro' 17375 - regex: 'Tecno[ _](?:KC8S?|KC2j?)(?:[);/ ]|$)' 17376 model: 'Spark 4' 17377 - regex: 'Tecno[ _]KC6S?(?:[);/ ]|$)' 17378 model: 'Spark 4 Air' 17379 - regex: 'Tecno[ _]BB4k(?:[);/ ]|$)' 17380 model: 'Spark 4 Lite' 17381 - regex: 'Tecno[ _]KD6(?:[);/ ]|$)' 17382 model: 'Spark 5 Air' 17383 - regex: 'Tecno[ _]KD7[hS](?:[);/ ]|$)' 17384 model: 'Spark 5' 17385 - regex: 'Tecno[ _]KD7(?:[);/ ]|$)' 17386 model: 'Spark 5 Pro' 17387 - regex: 'TECNO[ _]KE7(?:[);/ ]|$)' 17388 model: 'Spark 6' 17389 - regex: 'TECNO[ _]KE6j?(?:[);/ ]|$)' 17390 model: 'Spark 6 Air' 17391 - regex: 'TECNO[ _]KE5[jk]?(?:[);/ ]|$)' 17392 model: 'Spark 6 Go' 17393 - regex: 'TECNO[ _]KF6[nmjk](?:[);/ ]|$)' 17394 model: 'Spark 7' 17395 - regex: 'TECNO[ _]KF8(?:[);/ ]|$)' 17396 model: 'Spark 7 Pro' 17397 - regex: 'TECNO[ _]KF7j(?:[);/ ]|$)' 17398 model: 'Spark 7P' 17399 - regex: 'TECNO[ _]KC1h(?:[);/ ]|$)' 17400 model: 'Spark Go' 17401 - regex: 'TECNO[ _]KC1(?:[);/ ]|$)' 17402 model: 'Spark Air' 17403 - regex: 'TECNO[ _]KA6(?:[);/ ]|$)' 17404 model: 'Spark Youth' 17405 - regex: 'TECNO[ _]KA9(?:[);/ ]|$)' 17406 model: 'Spark CM' 17407 - regex: 'Tecno[ _]DP8D(?:[);/ ]|$)' 17408 model: 'DroidPad 8D' 17409 device: 'tablet' 17410 - regex: 'TECNO[ _]LA7 Pro(?:[);/ ]|$)' 17411 model: 'Pouvoir 2 Pro' 17412 - regex: 'TECNO[ _]LA7(?:[);/ ]|$)' 17413 model: 'Pouvoir 2' 17414 - regex: 'TECNO[ _]LA6(?:[);/ ]|$)' 17415 model: 'Pouvoir 1' 17416 - regex: 'TECNO[ _]LB7(?:[);/ ]|$)' 17417 model: 'Pouvoir 3' 17418 - regex: 'TECNO[ _]LC6a?(?:[);/ ]|$)' 17419 model: 'Pouvoir 3 Air' 17420 - regex: 'Tecno[ _]LB8a?' 17421 model: 'Pouvoir 3 Plus' 17422 - regex: 'TECNO[ _]LC7S?(?:[);/ ]|$)' 17423 model: 'Pouvoir 4' 17424 - regex: 'TECNO[ _]LC8(?:[);/ ]|$)' 17425 model: 'Pouvoir 4 Pro' 17426 - regex: 'Tecno[ _-]J8(?:[);/ ]|$)' 17427 model: 'Boom J8' 17428 - regex: 'Tecno[ _-]RA7(?:[);/ ]|$)' 17429 model: 'R7 4G' 17430 - regex: 'Tecno[ _-]W3 Pro(?:[);/ ]|$)' 17431 model: 'W3 Pro' 17432 - regex: 'Tecno[ _-]WX3P(?:[);/ ]|$)' 17433 model: 'WX3 Pro' 17434 - regex: 'TECNO S9' 17435 device: 'phablet' 17436 model: 'S9' 17437 - regex: 'TECNO[ _]LD7j?(?:[);/ ]|$)' 17438 device: 'phablet' 17439 model: 'Pova' 17440 - regex: 'TECNO[ _]LE7n?(?:[);/ ]|$)' 17441 device: 'phablet' 17442 model: 'Pova 2' 17443 - regex: 'Tecno (F2) ?LTE' 17444 model: '$1 LTE' 17445 17446 - regex: 'TECNO[ _-]?(T611)(?:[);/ ]|$)' 17447 device: 'feature phone' 17448 model: '$1' 17449 17450 - regex: 'Tecno[ _]([^;/]+)(?: Build|[);])' 17451 model: '$1' 17452 - regex: 'Tecno[ _-]?([a-z0-9_\-]+)' 17453 model: '$1' 17454 17455# TechPad (techpad.mx) 17456TechPad: 17457 regex: 'Tech[ _]?pad|XTAB[ _-]|(?:3G_16|Dual C1081HD|S813G|NOTE[_ ]4CAM)(?:[);/ ]|$)' 17458 device: 'tablet' 17459 models: 17460 - regex: 'S813G' 17461 model: 'S813G' 17462 - regex: 'TechPad10QC' 17463 model: '10QC' 17464 - regex: 'TechPad_10xx' 17465 model: '10XX' 17466 - regex: 'TechPad703' 17467 model: '703' 17468 - regex: 'TechPad[_ ](10Y|9x|i700)' 17469 model: '$1' 17470 - regex: 'TechPad[_ ]3Gx' 17471 model: '3Gx' 17472 - regex: '3G_16' 17473 model: '3G-16' 17474 - regex: 'Dual C1081HD' 17475 model: 'XTAB C1081HD' 17476 - regex: 'XTAB[ _-]([^/;]+) Build' 17477 model: 'XTAB $1' 17478 - regex: 'NOTE 4CAM' 17479 device: 'smartphone' 17480 model: 'Note 4 Cam' 17481 - regex: 'Tech_Pad_Kaios_One_3G' 17482 device: 'feature phone' 17483 model: 'Kaios One 3G' 17484 - regex: 'Tech ?pad[ _-]([^/;)]+)(?: Build|[;)])' 17485 model: '$1' 17486 device: 'smartphone' 17487 17488# Tesco 17489Tesco: 17490 regex: 'Hudl (?:[^/;]+)(?: Build|[;)])|W032i-C3(?:[);/ ]|$)' 17491 device: 'tablet' 17492 models: 17493 - regex: 'Hudl ([^/;]+)(?: Build|[;)])' 17494 model: 'Hudl $1' 17495 - regex: 'W032i-C3(?:[);/ ]|$)' 17496 model: 'Op3n Dott' 17497 17498# teXet 17499teXet: 17500 regex: 'Texet|(NaviPad [^/;]*) Build|TM-(?:1046|1058|1057|1067|3000|3200R|3500|4003|4071|450[34]|451[30]|4377|4082R|508[34]|550[358]|5010|5017|507[4-7]|5[23]77|6003|6906|702[13]|7055HD|709[69]|9747BT|9758|9751HD|9767|5513|520[410]|507[13]|558[134]|570[23]|7859|8044|9748[ _]3G|9720|7047HD[ _]3G|9757|9740|4982|4515|4083|500[3567]|5571|3204R|5016|8043|7047HD[ _]3G|8041HD|8066|705[23]|7041|8041HD|8051|8048|974[96]|973[78]W|974[170]|9743W|9750HD|7043XD|7049|7887|7037W|702[46])|TB-(771A|711A)|X-Force[\(-]?TM-5009\)?|X-Plus[\(-]?TM-5577\)?|TM_5011|X-pad (?:AIR 8|iX 7|NAVI 7.[35]|NAVI 10|SKY 8.1|STYLE 8|STYLE 10.1|HIT|LITE 7.[12]|QUAD (?:7.2|10|7)|SHINE 8.1)(?: 3G)?' 17501 device: 'tablet' 17502 models: 17503 - regex: 'TM-9749' 17504 model: 'X-pad Plus 7.1 3G' 17505 - regex: 'TM-9746' 17506 model: 'X-pad Plus 7 3G' 17507 - regex: 'TM-8051' 17508 model: 'X-pad Force 8i 3G' 17509 - regex: 'TM-1058' 17510 model: 'X-Force 10 3G' 17511 - regex: 'TM-8048' 17512 model: 'X-pad Force 8 3G' 17513 - regex: '(NaviPad [^/;]*) Build' 17514 model: '$1' 17515 - regex: 'TM-7055HD' 17516 model: 'NaviPad 3G' 17517 - regex: 'TM-9758' 17518 model: 'X-pad Style 10.0"' 17519 - regex: 'X-pad SHINE 8.1 3G' 17520 model: 'X-pad Shine 8.1" 3G' 17521 - regex: 'X-pad QUAD 10 3G' 17522 model: 'X-pad Quad 10.0" 3G' 17523 - regex: 'X-pad QUAD 7 3G' 17524 model: 'X-pad Quad 7.0" 3G' 17525 - regex: 'X-pad QUAD 7.2 3G' 17526 model: 'X-pad Quad 7.2" 3G' 17527 - regex: 'X-pad STYLE 8 3G' 17528 model: 'X-pad Style 8.0" 3G' 17529 - regex: 'X-pad HIT 3G' 17530 model: 'X-pad Hit 3G' 17531 - regex: 'X-pad LITE (7.[12])' 17532 model: 'X-pad Lite $1"' 17533 - regex: 'TM-9767' 17534 model: 'X-pad Style 10.0" 3G' 17535 - regex: 'X-pad STYLE 10.1 3G' 17536 model: 'X-pad Style 10.1" 3G' 17537 - regex: '(X-pad (?:AIR 8|iX 7) 3G)' 17538 model: '$1' 17539 - regex: 'TM-7096|X-pad NAVI 7.3 3G' 17540 model: 'X-pad NAVI 7.3" 3G' 17541 - regex: 'TM-7099' 17542 model: 'X-pad NAVI 7.4" 3G' 17543 - regex: 'X-pad NAVI 7.5 3G' 17544 model: 'X-pad NAVI 7.5" 3G' 17545 - regex: 'X-pad SKY 8.1 3G' 17546 model: 'X-pad Sky 8.1" 3G' 17547 - regex: 'TM-1046|X-pad NAVI 10 3G' 17548 model: 'X-pad NAVI 10.0" 3G' 17549 - regex: 'TM-7859' 17550 model: 'X-pad NAVI 8.2" 3G' 17551 - regex: 'TM-7049' 17552 model: 'NaviPad TM-7049 3G' 17553 - regex: 'TM-7887' 17554 model: 'NaviPad TM-7887 3G' 17555 - regex: 'TM-8066' 17556 model: 'X-pad Rapid 8.2" 4G' 17557 - regex: '(TM-(?:1057|1067|6906|8043|9748[_ ]3G|9740|9757(?:[_ ]3G)?|7047HD[ _]3G|9747BT|9751HD|702[13]|705[23]|7041|9720|7047HD[_ ]3G|8044|8041HD|973[78]W|9743W|974[710]|9750HD|7043XD|7037W|702[46])|TB-(?:771A|711A|8041HD))' 17558 model: '$1' 17559 - regex: 'TM-4503' 17560 device: 'smartphone' 17561 model: 'X-Quad' 17562 - regex: '(TM-(?:3000|3200R|4003|4083|4377|4504|451[30]|500[35]|5[23]77|5571|3204R|520[04]|5581|5505|5017|507[13-7]|5081|6003|5513))' 17563 device: 'smartphone' 17564 model: '$1' 17565 - regex: 'TM-5006' 17566 device: 'smartphone' 17567 model: 'X-Line' 17568 - regex: 'TM-5007' 17569 device: 'smartphone' 17570 model: 'X-Shine' 17571 - regex: 'TM_5011' 17572 device: 'smartphone' 17573 model: 'X-Omega' 17574 - regex: 'TM-508(3|4)' 17575 device: 'smartphone' 17576 model: 'Pay $1G' 17577 - regex: 'TM-558(3|4)' 17578 device: 'smartphone' 17579 model: 'Pay 5.5" $1G' 17580 - regex: 'TM-5702' 17581 device: 'smartphone' 17582 model: 'Pay 5.7" 3G' 17583 - regex: 'TM-5703' 17584 device: 'smartphone' 17585 model: 'Pay 5.7" Pro' 17586 - regex: 'TM-5201' 17587 device: 'smartphone' 17588 model: 'Rock' 17589 - regex: 'TM-4515' 17590 device: 'smartphone' 17591 model: 'X-Style' 17592 - regex: 'TM-(5016|3500)' 17593 device: 'smartphone' 17594 model: 'X-Maxi 2' 17595 - regex: 'TM-4071' 17596 device: 'smartphone' 17597 model: 'X-Smart' 17598 - regex: 'TM-4982' 17599 device: 'smartphone' 17600 model: 'iX-Maxi' 17601 - regex: 'TEXET[_ ]IX-MINI' 17602 device: 'smartphone' 17603 model: 'iX-Mini' 17604 - regex: 'TM-5010' 17605 device: 'smartphone' 17606 model: 'X-Selfie' 17607 - regex: 'TM-4082R' 17608 device: 'smartphone' 17609 model: 'X-Driver Quad' 17610 - regex: 'TM-5503' 17611 device: 'smartphone' 17612 model: 'X-Mage' 17613 - regex: 'TM-5508' 17614 device: 'smartphone' 17615 model: 'X-Cosmo' 17616 - regex: 'X-Force[\(-]?TM-5009\)?' 17617 device: 'smartphone' 17618 model: 'X-Force' 17619 - regex: 'X-Plus[\(-]?TM-5577\)?' 17620 device: 'smartphone' 17621 model: 'X-Plus' 17622 - regex: 'teXet[_ ]X-medium[_ ]plus' 17623 device: 'smartphone' 17624 model: 'X-Medium Plus' 17625 17626# Telefunken 17627Telefunken: 17628 regex: 'TELEFUNKEN|Foxtrot|TEL-1013GIQA|TEL-1014GIQ|TF-SP(?:500[12]|4002)|(TF-MID(?:[78]02G|70[78]G|80[46]G|9705RG|9707G|7805G|100[57]G|1010G))|(TF-LED(?:65S75T2SU|32S39T2S|32S5[289]T2S|32S70T2S|40S63T2S))|LTE_LIMA|LTE Mike' 17629 device: 'tablet' 17630 models: 17631 - regex: 'TEL-1013GIQA' 17632 model: 'Giqa 10.1 3G' 17633 - regex: 'TEL-1014GIQ' 17634 model: 'TEL-1014GIQ' 17635 - regex: 'Foxtrot2' 17636 model: 'Foxtrot 2' 17637 device: 'smartphone' 17638 - regex: 'LTE_LIMA' 17639 model: 'Lima LTE' 17640 device: 'smartphone' 17641 - regex: 'LTE Mike' 17642 model: 'Mike LTE' 17643 device: 'smartphone' 17644 - regex: '(?:TELEFUNKEN)?(TF-SP(?:500[12]|4002)|Outdoor LTE|Foxtrot)' 17645 model: '$1' 17646 device: 'smartphone' 17647 - regex: '(TF-MID(?:[78]02G|70[78]G|80[46]G|9705RG|9707G|7805G|100[57]G|1010G))' 17648 model: '$1' 17649 - regex: '(TF-LED(?:65S75T2SU|32S39T2S|32S5[289]T2S|32S70T2S|40S63T2S))' 17650 model: '$1' 17651 device: 'tv' 17652 17653# Telego 17654Telego: 17655 regex: 'TELEGO' 17656 device: 'smartphone' 17657 models: 17658 - regex: 'TELEGO-W503' 17659 model: 'W503' 17660 - regex: 'Telego_JOY2' 17661 model: 'Joy 2' 17662 - regex: 'Telego[ _]Mate' 17663 model: 'Mate' 17664 17665# Telenor 17666Telenor: 17667 regex: '(?<!FBCR/)Telenor|(?:Infinity[_ ](?:E[2-5]|K2?|A2))(?:[);/ ]|$)' 17668 device: 'smartphone' 17669 models: 17670 - regex: 'Telenor[ _]([^;/]+)(?: Build|[;)])' 17671 model: '$1' 17672 - regex: 'Infinity[ _](E[2-5]|K2?|A2)' 17673 model: 'Infinity $1' 17674 17675# Telit 17676Telit: 17677 regex: 'Telit' 17678 device: 'feature phone' 17679 models: 17680 - regex: 'Telit_Mobile_Terminals-([a-z0-9]+)' 17681 model: '$1' 17682 - regex: 'Telit[\-_]?([a-z0-9]+)' 17683 model: '$1' 17684 17685# Telpo ((https://www.telpo.com.cn/)) 17686Telpo: 17687 regex: 'TPS320' 17688 device: 'peripheral' 17689 models: 17690 - regex: 'TPS320' 17691 model: 'TPS320' 17692 17693# ThL 17694ThL: 17695 regex: 'ThL[ _-]|(?:Knight 2|THL5000|T200)(?:[);/ ]|$)' 17696 device: 'smartphone' 17697 models: 17698 - regex: 'Knight 2' 17699 model: 'Knight 2' 17700 - regex: 'THL ?(5000)' 17701 model: '$1' 17702 - regex: '(T200)(?:[);/ ]|$)' 17703 model: '$1' 17704 - regex: 'ThL[ _-]*([^;/]+) Build' 17705 model: '$1' 17706 - regex: 'ThL[ _-]*([^ ;/)]+)(?:[);/ ]|$)' 17707 model: '$1' 17708 17709# Tianyu 17710TIANYU: 17711 regex: 'TIANYU' 17712 device: 'feature phone' 17713 models: 17714 - regex: 'TIANYU ([a-z0-9]+)' 17715 model: '$1' 17716 - regex: 'TIANYU-KTOUCH/([a-z0-9]+)' 17717 model: '$1' 17718 17719# Timovi 17720Timovi: 17721 regex: 'Tmovi[ _]|(?:Infinit[ _](?:Lite[_ ]2|X[_ ]CAM)|Infinit MX(?: Pro)?|Vision_PRO|VISION ULTRA|Epix|Yeah_Go)(?:[);/ ]|$)' 17722 device: 'smartphone' 17723 models: 17724 - regex: 'Tmovi[ _]Prime' 17725 model: 'Prime' 17726 - regex: 'TMOVI_YEAH_BEAT' 17727 model: 'Yeah Beat' 17728 - regex: 'YeahLIVE' 17729 model: 'Yeah LIVE' 17730 - regex: 'Infinit[_ ]X[_ ]CAM' 17731 model: 'Infinit X Cam' 17732 - regex: 'Infinit MX Pro' 17733 model: 'Infinit MX Pro' 17734 - regex: 'Infinit MX' 17735 model: 'Infinit MX' 17736 - regex: 'Infinit[_ ]Lite([_ ]2)?' 17737 model: 'Infinit Lite$1' 17738 - regex: 'Vision_PRO' 17739 model: 'Vision Pro' 17740 - regex: 'VISION ULTRA' 17741 model: 'Vision Ultra' 17742 - regex: 'Epix' 17743 model: 'Epix' 17744 - regex: 'Yeah_Go' 17745 model: 'Yeah Go' 17746 17747# Tooky 17748Tooky: 17749 regex: 'TOOKY' 17750 device: 'smartphone' 17751 models: 17752 - regex: 'TOOKY (A19|W1|T8[368]|T1982)(?:[);/ ]|$)' 17753 model: '$1' 17754 - regex: 'TOOKY A9PLUS(?:[);/ ]|$)' 17755 model: 'A9 Plus' 17756 17757# Tolino 17758Tolino: 17759 regex: 'Tolino Tab ([^/;]+) Build' 17760 device: 'tablet' 17761 model: 'Tolino Tab $1' 17762 17763# Top House 17764Top House: 17765 regex: 'Coto[_ ]|X1013' 17766 device: 'smartphone' 17767 models: 17768 - regex: 'Coto W418' 17769 model: 'Coto W418' 17770 - regex: 'COTO_T117' 17771 model: 'Coto T117' 17772 device: 'tablet' 17773 - regex: 'X1013' 17774 model: 'X1013' 17775 device: 'tablet' 17776 - regex: 'COTO_T40017' 17777 model: 'T40017' 17778 17779# Topelotek 17780Topelotek: 17781 regex: 'KIDS09' 17782 device: 'tablet' 17783 model: 'KIDS09 Kids Tablet' 17784 17785# Toplux 17786Toplux: 17787 regex: 'Toplux ([a-z0-9]+)' 17788 device: 'feature phone' 17789 model: '$1' 17790 17791# Touchmate (touchmate.net) 17792Touchmate: 17793 regex: 'TOUCHMATE|(TM-(?:MID1050WKD|MID1020A|MID794C|MID795|MID710|MID798|MID792|MID788D|SM500N|SM410|MID1010))' 17794 device: 'smartphone' 17795 models: 17796 - regex: '(TM-(?:MID1020A|MID794C|MID795|MID710|MID798|MID792|MID788D|MID1010))' 17797 device: 'tablet' 17798 model: '$1' 17799 - regex: 'TM-MID1050WKD' 17800 device: 'tablet' 17801 model: 'Mega Matrix 10.1" 3G' 17802 - regex: '(TM-(?:SM500N|SM410))' 17803 model: '$1' 17804 - regex: 'Touchmate ([^/;]+) Build' 17805 model: '$1' 17806 17807# TrekStor (www.trekstor.de) 17808TrekStor: 17809 regex: '(?:TrekStor|Surftab) ([^/;]+)(?: Build|\))|Surftab[^;\)]*(?:[;\)]|$)|ST10216-2A|ST13416-1|VT10416-[12]|TFMTKAW01232|PEAQ PET 100|Xintroni10.1' 17810 device: 'tablet' 17811 models: 17812 - regex: 'ST10216-2A|VT10416-[12]' 17813 model: 'SurfTab 10.1' 17814 - regex: 'ST13416-1' 17815 model: 'SurfTab Theatre 13.4"' 17816 - regex: 'PrimeTab P10' 17817 model: 'PrimeTab P10' 17818 - regex: 'TrekStor ([^/;]+) Build' 17819 model: '$1' 17820 - regex: 'Surftab ([^/;]+) Build' 17821 model: 'SurfTab $1' 17822 - regex: 'Surftab[ _]([^;\)]*)(?:[;\)]|$)' 17823 model: 'SurfTab $1' 17824 - regex: 'TFMTKAW01232' 17825 model: 'SurfTab L15' 17826 - regex: 'Xintroni10.1' 17827 model: 'SurfTab Xintron I 10.1"' 17828 - regex: '(PEAQ PET 100)' 17829 model: '$1' 17830 17831# Trevi 17832Trevi: 17833 regex: 'Trevi[ _]|TAB[ _]10[ _]3G[ _]V16|TAB[ _](7|8)[ _]3G[ _]V8|TAB9 3G|MINITAB 3GV|Phablet[ _](?:4|4\.5|5|5\,3|6)[ _]?[CSQ]|REVERSE[ _]5\.5[ _]?Q' 17834 device: 'tablet' 17835 models: 17836 - regex: 'TAB[ _]?(7|8)[ _]3G[ _]V8' 17837 model: 'TAB $1 3G V8' 17838 - regex: 'TAB[ _]?9[ _]3G[ _]V8' 17839 model: 'TAB 9 3G V8' 17840 - regex: 'TAB[ _]?9[ _]3G' 17841 model: 'TAB 9 3G' 17842 - regex: 'TAB[ _]10[ _]3G[ _]V16' 17843 model: 'TAB 10 3G V16' 17844 - regex: 'MINITAB 3GV' 17845 model: 'MINITAB 3G V' 17846 - regex: '(?:Trevi_)?Phablet[ _]4[ _]?C' 17847 model: 'Phablet 4 C' 17848 device: 'smartphone' 17849 - regex: '(?:Trevi_)?Phablet[ _]4[ _]?S' 17850 model: 'Phablet 4 S' 17851 device: 'smartphone' 17852 - regex: '(?:Trevi_)?Phablet[ _]4.5[ _]?Q' 17853 model: 'Phablet 4.5Q' 17854 device: 'smartphone' 17855 - regex: '(?:Trevi_)?PHABLET[ _]5[ _]?S' 17856 model: 'Phablet 5 S' 17857 device: 'smartphone' 17858 - regex: '(?:Trevi_)?PHABLET[ _]5,3[ _]?Q' 17859 model: 'Phablet 5.3 Q' 17860 device: 'phablet' 17861 - regex: '(?:Trevi_)?REVERSE[ _]5.5[ _]?Q' 17862 model: 'Phablet 5.5 Q REVERSE' 17863 device: 'phablet' 17864 - regex: '(?:Trevi_)?PHABLET[ _]6[ _]?S' 17865 model: 'Phablet 6 S' 17866 device: 'phablet' 17867 17868 - regex: 'Trevi[_]([^;/]+) Build' 17869 model: '$1' 17870 17871#TVC 17872TVC: 17873 regex: '(NuclearSX-SP5)' 17874 device: 'smartphone' 17875 model: 'Nuclear SX-SP5' 17876 17877# U.S. Cellular 17878U.S. Cellular: 17879 regex: 'USCC-' 17880 device: 'smartphone' 17881 models: 17882 - regex: 'USCC-E6762' # Kyocera DuraForce 17883 model: 'Kyocera DuraForce' 17884 - regex: '(USCC-[a-z0-9_\-]+)' 17885 model: '$1' 17886 17887# Uhappy 17888Uhappy: 17889 regex: 'Uhappy|UP?580|UP350|UP[35679]20' 17890 device: 'smartphone' 17891 models: 17892 - regex: 'UP([35679]20)' 17893 model: 'UP$1' 17894 - regex: 'UP350' 17895 model: 'UP350' 17896 - regex: 'UP580' 17897 model: 'UP580' 17898 - regex: 'U580' 17899 model: 'U580' 17900 - regex: 'Uhappy[ _-]([^;/]+) Build' 17901 model: '$1' 17902 - regex: 'Uhappy[ _-]?([^;/)]+)(?:[);/ ]|$)' 17903 model: '$1' 17904 17905# Unimax (UMX) 17906Unimax: 17907 regex: 'U((?:67[013]|680)C|(?:452|504)TL|683CL|693CL)(?:[);/ ]|$)' 17908 device: 'smartphone' 17909 model: 'U$1' 17910 17911# Unowhy 17912Unowhy: 17913 regex: 'QOOQ ' 17914 device: 'tablet' 17915 model: 'QOOQ' 17916 17917 17918# UTStarcom 17919UTStarcom: 17920 regex: 'utstar[ _-]?([a-z0-9]+)' 17921 device: 'feature phone' 17922 model: '$1' 17923 17924# Ulefone (ulefone.com or ulefone.ru) 17925Ulefone: 17926 regex: 'Ulefone|Gemini Pro|Power_[356]|Power_5S|S(?:10|9)_Pro|(?:Note [89]P|Armor(?:[ _](?:[2367]|2S|X[236]|6[SE]|3WT|3W|X))?|U00[78][ _]Pro|Be[ _]X|Be[ _]Touch(?:[ _][23])?|Be[ _](?:One|Pure)(?:[ _]Lite)?|Note 11P|Paris_X|P6000_Plus)(?:[);/ ]|$)' 17927 device: 'smartphone' 17928 models: 17929 - regex: 'S(10|9)_Pro' 17930 model: 'S$1 Pro' 17931 - regex: 'Be[ _]Touch([ _][23])?' 17932 model: 'Be Touch$1' 17933 - regex: 'Be[ _]Pure[ _]Lite' 17934 model: 'Be Pure Lite' 17935 - regex: 'Be[ _]Pure' 17936 model: 'Be Pure' 17937 - regex: 'Be[ _]One[ _]Lite' 17938 model: 'Be One Lite' 17939 - regex: 'Be[ _]One' 17940 model: 'Be One' 17941 - regex: 'Be[ _]X' 17942 model: 'Be X' 17943 - regex: 'U(00[78]) Pro' 17944 model: 'U$1 Pro' 17945 - regex: 'P6000_Plus' 17946 model: 'P6000 Plus' 17947 - regex: 'Paris_X' 17948 model: 'Paris X' 17949 - regex: 'Power Armor 13(?:[);/ ]|$)' 17950 model: 'Power Armor 13' 17951 - regex: 'Armor[ _]X([236])(?:[);/ ]|$)' 17952 model: 'Armor X$1' 17953 - regex: 'Armor[ _]6S(?:[);/ ]|$)' 17954 model: 'Armor 6S' 17955 - regex: 'Armor[ _]([679])E(?:[);/ ]|$)' 17956 model: 'Armor $1E' 17957 - regex: 'Armor[ _]X([57]) Pro(?:[);/ ]|$)' 17958 model: 'Armor X$1 Pro' 17959 - regex: 'Armor[ _]X([578])(?:[);/ ]|$)' 17960 model: 'Armor X$1' 17961 - regex: 'Armor[ _]([25])S(?:[);/ ]|$)' 17962 model: 'Armor $1S' 17963 - regex: 'Armor[ _]X(?:[);/ ]|$)' 17964 model: 'Armor X' 17965 - regex: 'Armor[ _]3W(?:[);/ ]|$)' 17966 model: 'Armor 3W' 17967 - regex: 'Armor[ _]3WT(?:[);/ ]|$)' 17968 model: 'Armor 3WT' 17969 - regex: 'Armor[ _](1[10]|11T) 5G(?:[);/ ]|$)' 17970 model: 'Armor $1 5G' 17971 - regex: 'Armor[ _](8) Pro(?:[);/ ]|$)' 17972 model: 'Armor $1 Pro' 17973 - regex: 'Armor[ _]([236789])(?:[);/ ]|$)' 17974 model: 'Armor $1' 17975 - regex: 'Armor(?:[);/ ]|$)' 17976 model: 'Armor' 17977 - regex: 'Gemini Pro(?:[);/ ]|$)' 17978 model: 'Gemini Pro' 17979 - regex: 'Power[_ ]([356][SL]?)' 17980 model: 'Power $1' 17981 - regex: 'Note 8P(?:[);/ ]|$)' 17982 model: 'Note 8P' 17983 - regex: 'Note (9|11)P(?:[);/ ]|$)' 17984 device: 'phablet' 17985 model: 'Note $1P' 17986 17987 - regex: 'Ulefone[_ ](X|S1[ _]Pro|S[17])(?:[);/ ]|$)' 17988 model: '$1' 17989 - regex: 'Ulefone[ _-]?([^;/]+) Build' 17990 model: '$1' 17991 - regex: 'Ulefone[ _-]?([^;/)]+)(?:[;/)]|$)' 17992 model: '$1' 17993 17994# UMIDIGI or UMI 17995UMIDIGI: 17996 regex: 'UMI(?:DIGI)?[ _]|(?:A5_Pro|ROME[_ ]X|BISON|hammer_S|S2 LITE|London|Z2_PRO|C NOTE 2|A11 Pro Max|Power 3|Android 10.+ (?:A3[SX]|A7S))(?:[;/) ]|$)' 17997 device: 'smartphone' 17998 models: 17999 - regex: '(A5|Z2)_Pro' 18000 model: '$1 Pro' 18001 - regex: 'A11 Pro Max' 18002 model: 'A11 Pro Max' 18003 - regex: 'UMI TOUCH X' 18004 model: 'Touch X' 18005 - regex: 'UMI TOUCH' 18006 model: 'Touch' 18007 - regex: 'ROME[_ ]X' 18008 model: 'Rome X' 18009 - regex: 'BISON GT' 18010 model: 'Bison GT' 18011 - regex: 'BISON Pro' 18012 model: 'Bison Pro' 18013 - regex: 'BISON' 18014 model: 'Bison' 18015 - regex: 'hammer_S' 18016 model: 'Hammer S' 18017 - regex: 'C NOTE 2' 18018 model: 'C Note 2' 18019 - regex: 'UMI[_ ]SUPER' 18020 model: 'Super' 18021 - regex: 'S2 LITE' 18022 model: 'S2 Lite' 18023 - regex: 'Power 3' 18024 model: 'Power 3' 18025 - regex: ' (A3[SX]|A7S)(?:[;/) ]|$)' 18026 model: '$1' 18027 - regex: '(?:UMI_)?(London|Diamond(?:_X)?)' 18028 model: '$1' 18029 - regex: 'UMI(?:DIGI)?[ _]([^/;)]+)(?: Build|[;)])' 18030 model: '$1' 18031 18032# Uniscope 18033Uniscope: 18034 regex: 'Uniscope' 18035 device: 'smartphone' 18036 models: 18037 - regex: 'Uniscope[ _\-]?([^/;]+) Build' 18038 model: '$1' 18039 - regex: 'Uniscope[ _\-]?([^);/ ]+)' 18040 model: '$1' 18041 18042# Unnecto 18043Unnecto: 18044 regex: 'Unnecto|(?:U513|U5151|U61[1356]|U7[12]0|U-830|U90[35])(?:[);/ ]|$)' 18045 device: 'smartphone' 18046 models: 18047 - regex: 'U513' 18048 model: 'Drone XT' 18049 - regex: 'U5151' 18050 model: 'Bolt' 18051 - regex: 'U611' 18052 model: 'Quattro X' 18053 - regex: 'U613' 18054 model: 'Quattro S' 18055 - regex: 'U615' 18056 model: 'Quattro M' 18057 - regex: 'U616' 18058 model: 'U616' 18059 - regex: 'U710' 18060 model: 'Quattro U710' 18061 - regex: 'U720' 18062 model: 'Quattro Z' 18063 - regex: 'U-830' 18064 model: 'Rush' 18065 - regex: 'U903' 18066 model: 'Air' 18067 - regex: 'U905' 18068 model: 'Air 5.5' 18069 18070# Unonu (unonumobile.com) 18071Unonu: 18072 regex: 'Unonu[ _-]|(?:U4001)(?:[);/ ]|$)' 18073 device: 'smartphone' 18074 models: 18075 - regex: '(U4001)(?:[);/ ]|$)' 18076 model: '$1' 18077 - regex: 'Unonu[ _-]([^;/]+) Build' 18078 model: '$1' 18079 - regex: 'Unonu[ _-]?([^;/)]+)(?:[);/ ]|$)' 18080 model: '$1' 18081 18082# UTOK 18083UTOK: 18084 regex: 'UTOK (45[01]D)' 18085 device: 'smartphone' 18086 model: '$1' 18087 18088# Vastking 18089Vastking: 18090 regex: '(?:M910A|M783K|M783K-16G|M1072R-3G|KingPad_K10(?:Pro)?)(?:[);/ ]|$)' 18091 device: 'tablet' 18092 models: 18093 - regex: 'KingPad_(K10)(Pro)?(?:[);/ ]|$)' 18094 model: 'KingPad $1 $2' 18095 - regex: '(M910A|M783K|M783K-16G|M1072R-3G)(?:[);/ ]|$)' 18096 model: '$1' 18097 18098# ViewSonic (viewsonic.com) 18099ViewSonic: 18100 regex: 'ViewSonic|ViewPad|ViewPhone|(?:IFP(?:98|86|[67]5)50-3|VSD[0-9]+)(?:[);/ ]|$)' 18101 device: 'smart display' 18102 models: 18103 - regex: '(?:ViewSonic-)?V500(?:[);/ ]|$)' 18104 model: 'V500' 18105 device: 'smartphone' 18106 - regex: 'ViewSonic A8\+(?:[);/ ]|$)' 18107 model: 'A8 Plus' 18108 device: 'smartphone' 18109 - regex: '(?:ViewSonic-)?ViewPhone ?([^;/]+) Build' 18110 model: 'ViewPhone $1' 18111 device: 'smartphone' 18112 - regex: '(?:ViewSonic-)?ViewPad ?([^;/]+) Build' 18113 model: 'ViewPad $1' 18114 device: 'tablet' 18115 - regex: '(VSD[0-9]+)(?:[);/ ]|$)' 18116 model: '$1' 18117 - regex: 'IFP(98|86|[67]5)50-3' 18118 model: 'ViewBoard IFP$150-3 $1" 4K' 18119 18120# Vitelcom 18121Vitelcom: 18122 regex: 'Vitelcom|portalmmm/[12].0 TSM' 18123 device: 'feature phone' 18124 models: 18125 - regex: 'TSM-([a-z0-9]+)' 18126 model: '$1' 18127 - regex: 'TSM([a-z0-9\-]+)' 18128 model: '$1' 18129 - regex: 'portalmmm/[12].0 (TSM[a-z0-9 ]+)' 18130 model: '$1' 18131 18132# Fengxiang 18133Fengxiang: 18134 regex: '(vKB011B|vKB004L)' 18135 device: 'tablet' 18136 model: '$1' 18137 18138# VK Mobile 18139VK Mobile: 18140 regex: 'VK-VK([79]00)(?:[);/ ]|$)' 18141 device: 'feature phone' 18142 model: 'VK$1' 18143 18144# Vernee 18145Vernee: 18146 regex: 'Vernee|(?:Mars Pro|Apollo[ _](?:Lite|X)|Thor (?:E|Plus)|X2_euro|M7_EEA|T3 Pro)(?:[);/ ]|$)' 18147 device: 'smartphone' 18148 models: 18149 - regex: 'Apollo[ _]Lite' 18150 model: 'Apollo Lite' 18151 - regex: 'Apollo[ _]X' 18152 model: 'Apollo X' 18153 - regex: 'Mars Pro' 18154 model: 'Mars Pro' 18155 - regex: 'Thor E' 18156 model: 'Thor E' 18157 - regex: 'Thor Plus' 18158 model: 'Thor Plus' 18159 - regex: 'Vernee_M5' 18160 model: 'M5' 18161 - regex: 'M7_EEA' 18162 model: 'M7' 18163 - regex: 'X2_euro' 18164 model: 'X2' 18165 - regex: 'T3 Pro' 18166 model: 'T3 Pro' 18167 - regex: 'Vernee[ _-]([^;/]+) Build' 18168 model: '$1' 18169 - regex: 'Vernee[ _-]([a-z0-9_-]+)' 18170 model: '$1' 18171 18172# Vertu 18173Vertu: 18174 regex: 'Vertu[ ]?([a-z0-9]+)|(?:ASTER P|CONSTELLATION X)(?:[);/ ]|$)' 18175 device: 'feature phone' 18176 models: 18177 - regex: 'ASTER P(?:[);/ ]|$)' 18178 device: 'smartphone' 18179 model: 'Aster P' 18180 - regex: 'CONSTELLATION X(?:[);/ ]|$)' 18181 device: 'smartphone' 18182 model: 'Constellation X' 18183 - regex: 'Vertu[ ]?([a-z0-9]+)' 18184 model: '$1' 18185 18186# Venso mobile 18187Venso: 18188 regex: '(?:CX-508|CX-551|Reiv 500|Creon F5|Isprit U50|Isprit-U50-LTE)(?:[);/ ]|$)' 18189 device: 'smartphone' 18190 models: 18191 - regex: 'Isprit U50|Isprit-U50-LTE' 18192 model: 'Isprit U50' 18193 - regex: '(CX-508|CX-551|Reiv 500|Creon F5)' 18194 model: '$1' 18195 18196# Verizon 18197Verizon: 18198 regex: 'QTA(SUN[12]|XIA1|QZ3|QZ3KID|IR7)|QMV7B' 18199 device: 'tablet' 18200 models: 18201 - regex: 'QTAXIA1|QTAIR7' 18202 model: 'Ellipsis 10' 18203 - regex: 'QTASUN1' 18204 model: 'Ellipsis 8 HD' 18205 - regex: 'QTASUN2' 18206 model: 'Ellipsis 8 HD 4G LTE' 18207 - regex: 'QTAQZ3KID' 18208 model: 'Ellipsis Kids LTE' 18209 - regex: 'QTAQZ3' 18210 model: 'Ellipsis 8' 18211 - regex: 'QMV7B' 18212 model: 'Ellipsis 7' 18213 18214# Verykool 18215Verykool: 18216 regex: 'verykool' 18217 device: 'smartphone' 18218 models: 18219 - regex: 'verykool[ _]?SL5009' 18220 model: 'Jet' 18221 - regex: 'verykool[ _]?S5001' 18222 model: 'Lotus' 18223 - regex: 'verykool[ _]?S5004' 18224 model: 'Lotus Jr' 18225 - regex: 'verykool[ _]?S5007' 18226 model: 'Lotus Plus' 18227 - regex: 'verykool[ _]?s5015' 18228 model: 'Spark II' 18229 - regex: 'verykool[ _]?SL5011' 18230 model: 'Spark LTE' 18231 - regex: 'verykool[ _]?s5019' 18232 model: 'Wave' 18233 - regex: 'verykool[ _]?S5005' 18234 model: 'Lotus II' 18235 - regex: 'verykool[ _]?SL5560' 18236 model: 'Maverick Pro' 18237 - regex: 'verykool[ _]?SL5200' 18238 model: 'Eclipse' 18239 - regex: 'verykool[ _]?SL5050' 18240 model: 'Phantom' 18241 - regex: 'verykool[ _]?S5030' 18242 model: 'Helix II' 18243 - regex: 'verykool[ _]?s5527' 18244 model: 'Alpha Pro' 18245 - regex: 'verykool[ _]?s5526' 18246 model: 'Alpha' 18247 - regex: 'verykool[ _]?S5530' 18248 model: 'Maverick II' 18249 - regex: 'verykool[ _]?S5525' 18250 model: 'Maverick III' 18251 - regex: 'verykool[ _]?S5524' 18252 model: 'Maverick III Jr' 18253 - regex: 'verykool[ _]?s5516' 18254 model: 'Maverick Jr' 18255 - regex: 'verykool[ _]?SL5550' 18256 model: 'Maverick LTE' 18257 - regex: 'verykool[ _]?s5035' 18258 model: 'Spear' 18259 - regex: 'verykool[ _]?s5034' 18260 model: 'Spear Jr' 18261 - regex: 'verykool[ _]?s5037' 18262 model: 'Apollo Quattro' 18263 - regex: 'verykool[ _]?s5036' 18264 model: 'Apollo' 18265 - regex: 'Sol Quatro Jr' 18266 model: 'Sol Quatro Jr' 18267 - regex: 'verykool[ _]?s6005x' 18268 model: 'Cyprus Pro' 18269 - regex: 'verykool[ _]?SL6010' 18270 model: 'Cyprus LTE' 18271 - regex: 'verykool[ _]?S4006[QT]?' 18272 model: 'Leo 3G' 18273 - regex: 'verykool[ _]?S4007' 18274 model: 'Leo IV' 18275 - regex: 'verykool[ _]?S4008' 18276 model: 'Leo V' 18277 - regex: 'verykool[ _]?s5017|Dorado s5017' 18278 model: 'Dorado' 18279 - regex: 'verykool[ _]?s4510' 18280 model: 'Luna' 18281 - regex: 'verykool[ _]?s5204' 18282 model: 'Orion' 18283 - regex: 'verykool[ _]?s5205' 18284 model: 'Orion Pro' 18285 - regex: 'verykool[ _]?s5528Jr' 18286 model: 'Cosmo Jr' 18287 - regex: 'verykool[ _]?s5528' 18288 model: 'Cosmo' 18289 - regex: 'verykool[ _]?s5702' 18290 model: 'Royale Quattro' 18291 - regex: 'verykool[ _]?SL5029' 18292 model: 'Bolt Pro' 18293 - regex: 'verykool[ _]?SL5565' 18294 model: 'Rocket' 18295 18296 - regex: 'verykool[ _]?TL8010' 18297 device: 'tablet' 18298 model: 'KolorPad LTE' 18299 - regex: 'verykool[ _]?T7440' 18300 device: 'tablet' 18301 model: 'KolorPad II' 18302 - regex: 'verykool[ _]?T7445' 18303 device: 'tablet' 18304 model: 'KolorPad IV' 18305 18306 - regex: 'verykool[ _]?([^/;)]+)(?:[ _]SL?[0-9]{4}[QT]?)(?: Build|[);])' 18307 model: '$1' 18308 - regex: 'verykool[ _]?([^/;)]+)(?: Build|[);])' 18309 model: '$1' 18310 18311 18312# Vestel (vestel.com) 18313Vestel: 18314 regex: 'Vestel[ _]|Venus[ _](GO|E[2-5]|V[1-9]|Z[1-9]0)|(?<!Winnovo )V_?TAB|VP74|VT97PRO|VSP145M|VSP250[GS]|VSP355[GS]|V3_5580_Dual' 18315 device: 'smartphone' 18316 models: 18317 - regex: 'VT97PRO' 18318 model: 'VTab 9.7 Pro' 18319 device: 'tablet' 18320 - regex: 'VP74' 18321 model: 'VTab Lite II' 18322 device: 'tablet' 18323 - regex: 'VTAB10' 18324 model: 'VTab 10' 18325 device: 'tablet' 18326 - regex: 'V_TAB_7_ECO_III' 18327 model: 'VTab 7 Eco 3' 18328 device: 'tablet' 18329 - regex: 'V_TAB_7_LITE_III' 18330 model: 'VTab 7 Lite 3' 18331 device: 'tablet' 18332 - regex: 'V_TAB_([0-9]{4}[A-Z]?)' 18333 model: 'VTab $1' 18334 device: 'tablet' 18335 - regex: 'V3_5580_Dual' 18336 model: 'Venus V3 5580 Dual' 18337 - regex: 'VSP145M' 18338 model: 'Venus 4.5' 18339 - regex: 'VSP250G' 18340 model: 'Venus 5.0V' 18341 - regex: 'VSP250S' 18342 model: 'Venus 5.0X' 18343 - regex: 'VSP355G' 18344 model: 'Venus 5.5V' 18345 - regex: 'VSP355S' 18346 model: 'Venus 5.5X' 18347 - regex: 'Venus[ _]V([1-9])([ _][0-9]{4})?' 18348 model: 'Venus V$1$2' 18349 - regex: 'Venus[ _]Z([1-9]0)' 18350 model: 'Venus Z$1' 18351 - regex: 'Venus[ _]GO' 18352 model: 'Venus Go' 18353 - regex: 'Venus E2 Plus Dual' 18354 model: 'Venus E2 Plus Dual' 18355 - regex: 'Venus[ _]E2 Plus' 18356 model: 'Venus E2 Plus' 18357 - regex: 'Venus[ _]E([345])' 18358 model: 'Venus E$1' 18359 - regex: 'Vestel_5000_Dual' 18360 model: '5000 Dual' 18361 - regex: 'Vestel_5000_2gb' 18362 model: '5000 2GB' 18363 - regex: 'Vestel[ _](5000|5530)' 18364 model: '$1' 18365 18366# Videocon 18367Videocon: 18368 regex: 'Videocon[_ \-]|(?:VT75C|V406018|V512930|V50(?:2430|3630|4730|5024|5430|4630|5[98]20)|Z45_(?:Dazzle|Amaze)|Z45Q Star|Z50 Nova)(?:[);/ ]|$)' 18369 device: 'smartphone' 18370 models: 18371 - regex: 'Videocon_V1585' 18372 device: 'feature phone' 18373 model: 'V1585' 18374 - regex: 'Videocon[_ \-]([a-z0-9]+)' 18375 model: '$1' 18376 - regex: 'VT75C(?:[);/ ]|$)' 18377 model: 'VT75C' 18378 device: 'tablet' 18379 - regex: 'V502430(?:[);/ ]|$)' 18380 model: 'Kryton 3' 18381 - regex: 'V505024(?:[);/ ]|$)' 18382 model: 'Kryton 22 Plus' 18383 - regex: 'V503630(?:[);/ ]|$)' 18384 model: 'Delite 11' 18385 - regex: 'V504730(?:[);/ ]|$)' 18386 model: 'Delite 21' 18387 - regex: 'V505920(?:[);/ ]|$)' 18388 model: 'Metal Pro 2' 18389 - regex: 'V505820(?:[);/ ]|$)' 18390 model: 'Metal Pro 1' 18391 - regex: 'V406018(?:[);/ ]|$)' 18392 model: 'Starr 100' 18393 - regex: 'V512930(?:[);/ ]|$)' 18394 model: 'Ultra 50' 18395 - regex: '(V505430|V504630)(?:[);/ ]|$)' 18396 model: '$1' 18397 - regex: 'Z45_(Dazzle|Amaze)(?:[);/ ]|$)' 18398 model: 'Infinium Z45 $1' 18399 - regex: 'Z45Q Star(?:[);/ ]|$)' 18400 model: 'Infinium Z45Q Star' 18401 - regex: 'Z50 Nova(?:[);/ ]|$)' 18402 model: 'Infinium Z50 Nova' 18403 18404# Vodafone 18405Vodafone: 18406 regex: '(?<!FBCR/)Vodafone[ _-]|Smart ?Tab ?(?:III? ?)?(?:|4G|7|10)[);/ -]|VodafoneSmartChat|Smart Ultra 6|(?:VFD[ _][0-9]+|VFD320|VF6[89]5|VF-(696|1397|795|895N|1497))(?:[);/ ]|$)' 18407 device: 'smartphone' 18408 models: 18409 - regex: 'VFD 100' 18410 model: 'Smart Mini' 18411 - regex: 'VF685' 18412 model: 'Smart Kicka' 18413 - regex: 'VF695' 18414 model: 'Smart First 6' 18415 - regex: 'VFD 200' 18416 model: 'Smart First 7' 18417 - regex: 'VFD 300' 18418 model: 'Smart Mini 7' 18419 - regex: 'VFD 50[02]' 18420 model: 'Smart Turbo 7' 18421 - regex: 'VFD 51[013]' 18422 model: 'Smart E8' 18423 - regex: 'VFD 527' 18424 model: 'Smart E9' 18425 - regex: 'VFD 600' 18426 model: 'Smart Prime 7' 18427 - regex: 'VFD320' 18428 model: 'Smart C9' 18429 - regex: 'VFD 820' 18430 model: 'Smart X9' 18431 - regex: 'VFD 610' 18432 model: 'Smart N8' 18433 - regex: 'VFD 630' 18434 model: 'Smart N10' 18435 - regex: 'VFD 620' 18436 model: 'Smart N9 Lite' 18437 - regex: 'Smart ultra 6' 18438 model: 'Smart Ultra 6' 18439 - regex: 'VFD 700' 18440 model: 'Smart Ultra 7' 18441 - regex: 'VFD 720' 18442 model: 'Smart N9' 18443 - regex: 'VFD 730' 18444 model: 'Smart V10' 18445 - regex: 'VFD 900' 18446 model: 'Smart Platinum 7' 18447 - regex: 'Vodafone[ _]875(?:[);/ ]|$)' 18448 model: 'Smart Mini' # Alcatel 18449 - regex: 'Vodafone[ _]975N?(?:[);/ ]|$)' 18450 model: 'Smart 3' # Alcatel 18451 - regex: 'Vodafone[ _]785(?:[);/ ]|$)' 18452 model: 'Smart 4 Mini' 18453 - regex: 'Vodafone[ _]890N(?:[);/ ]|$)' 18454 model: 'Smart 4 Turbo' # Coolpad 3601U 18455 - regex: 'Vodafone[ _]985N(?:[);/ ]|$)' 18456 model: 'Smart 4 Power' 18457 - regex: 'VodafoneSmartChat' 18458 model: 'Smart Chat' 18459 - regex: 'VF-696' 18460 model: 'Smart Grand 6' 18461 - regex: 'VF-795' 18462 model: 'Smart Speed 6' 18463 - regex: 'VF-895N' 18464 model: 'Smart Prime 6' 18465 18466 # explicit table models 18467 - regex: 'VF-1397' 18468 model: 'Tab Speed 6' 18469 device: 'tablet' 18470 - regex: 'VF-1497' 18471 model: 'Tab Prime 6' 18472 device: 'tablet' 18473 - regex: 'VFD 1100' 18474 device: 'tablet' 18475 model: 'Tab Mini 7' 18476 - regex: 'VFD 1300' 18477 device: 'tablet' 18478 model: 'Smart Tab N8' 18479 - regex: 'VFD 1400' 18480 device: 'tablet' 18481 model: 'Tab Prime 7' 18482 - regex: 'Smart ?Tab ?3G' 18483 device: 'tablet' 18484 model: 'Smart Tab 3G' 18485 - regex: 'Smart ?Tab ?4G' 18486 device: 'tablet' 18487 model: 'Smart Tab 4G' # Alcatel 18488 - regex: 'Smart ?Tab ?4' 18489 model: 'Smart Tab 4' # ZTE 18490 device: 'tablet' 18491 - regex: 'SmartTab7[);/ -]' 18492 model: 'Smart Tab 7' # ZTE 18493 device: 'tablet' 18494 - regex: 'SmartTab10[);/ -]' 18495 model: 'Smart Tab 10' # ZTE 18496 device: 'tablet' 18497 - regex: 'Smart ?Tab ?II ?7' 18498 model: 'Smart Tab II 7' # Lenovo 18499 device: 'tablet' 18500 - regex: 'Smart ?Tab ?II ?10' 18501 model: 'Smart Tab II 10' # Lenovo 18502 device: 'tablet' 18503 - regex: 'Smart ?Tab ?III ?7' 18504 model: 'Smart Tab III 7' # Lenovo 18505 device: 'tablet' 18506 - regex: 'Smart ?Tab ?III ?10' 18507 model: 'Smart Tab III 10' # Lenovo 18508 device: 'tablet' 18509 18510 - regex: 'VFD[ _]([0-9]+)(?:[);/ ]|$)' 18511 model: 'VFD $1' 18512 - regex: 'Vodafone[ _-]([^;/]+) Build' 18513 model: '$1' 18514 - regex: 'Vodafone[ _-]([a-z0-9_-]+)' 18515 model: '$1' 18516 18517# Vonino (vonino.ro) 18518Vonino: 18519 regex: 'Vonino|Epic (?:E8|P7)|Gyga[ _](?:X|S|QS|XS)|Jax[ _](?:QS|[SXQN]|Mini)|Magnet[ _](?:M[19]|G[35]0)|Navo_QS|Onyx_(QS|Z)|Orin_QS|Pluri[ _](?:[BCMQ]7|[CQM]8)|Sirius_QS|Volt[ _][XS]|Xavy_(T7|L8)|Xylo[ _][XSPQT]|Zun[ _]X[OS]?|JAX_N|Druid_L10' 18520 device: 'smartphone' 18521 models: 18522 - regex: 'Zun[ _]XO' 18523 model: 'Zun XO' 18524 - regex: 'Zun[ _]XS' 18525 model: 'Zun XS' 18526 - regex: 'Zun[ _]X' 18527 model: 'Zun X' 18528 - regex: 'Xylo[ _]([PSXQT])' 18529 model: 'Xylo $1' 18530 - regex: 'Volt[ _]S_A7' 18531 model: 'Volt S A7' 18532 - regex: 'Volt[ _]S' 18533 model: 'Volt S' 18534 - regex: 'Volt[ _]X' 18535 model: 'Volt X' 18536 - regex: 'Gyga[ _]QS' 18537 model: 'Gyga QS' 18538 - regex: 'Gyga[ _]XS' 18539 model: 'Gyga XS' 18540 - regex: 'Gyga[ _](S|X)' 18541 model: 'Gyga $1' 18542 - regex: 'Jax[ _]QS' 18543 model: 'Jax QS' 18544 - regex: 'Jax[ _]S_A7' 18545 model: 'Jax S A7' 18546 - regex: 'Jax[ _]([SQXN])' 18547 model: 'Jax $1' 18548 - regex: 'Jax[ _]Mini' 18549 model: 'Jax Mini' 18550 - regex: 'Epic (E8|P7)' 18551 model: 'Epic $1' 18552 device: 'tablet' 18553 - regex: 'Pluri[ _](B|C|M|Q)7' 18554 model: 'Pluri $17' 18555 device: 'tablet' 18556 - regex: 'Pluri[ _]([CQM])8' 18557 model: 'Pluri $18' 18558 device: 'tablet' 18559 - regex: 'Druid[_ ](L10)' 18560 model: 'Druid $1' 18561 device: 'tablet' 18562 - regex: 'Magnet[ _](M[19]|G[35]0)' 18563 model: 'Magnet $1' 18564 device: 'tablet' 18565 - regex: 'Navo_QS' 18566 model: 'Navo QS' 18567 device: 'tablet' 18568 - regex: 'Onyx_(QS|Z)' 18569 model: 'Onyx $1' 18570 device: 'tablet' 18571 - regex: 'Orin_QS' 18572 model: 'Orin QS' 18573 device: 'tablet' 18574 - regex: 'Sirius_QS' 18575 model: 'Sirius QS' 18576 device: 'tablet' 18577 - regex: 'Xavy_T7' 18578 model: 'Xavy T7' 18579 device: 'tablet' 18580 - regex: 'Xavy_L8' 18581 model: 'Xavy L8' 18582 device: 'tablet' 18583 18584# Vorago 18585Vorago: 18586 regex: 'VORAGO' 18587 device: 'smartphone' 18588 models: 18589 - regex: 'CELL-500' 18590 model: 'CELL-500' 18591 18592# Voto 18593Voto: 18594 regex: 'VOTO[ _\-]|VT8[89]8(?:[);/ ]|$)' 18595 device: 'smartphone' 18596 models: 18597 - regex: 'VOTO[ _\-]?([^/;]+) Build' 18598 model: '$1' 18599 - regex: 'VOTO[ _\-]?([^);/ ]+)' 18600 model: '$1' 18601 - regex: '(VT8[89]8)(?:[);/ ]|$)' 18602 model: '$1' 18603 18604# Voxtel 18605Voxtel: 18606 regex: 'Voxtel_([a-z0-9]+)' 18607 device: 'feature phone' 18608 model: '$1' 18609 18610# Vulcan 18611Vulcan: 18612 regex: '(?:VP5004A|HT0704W08|VS5513|VS4011|VR6031)(?:[);/ ]|$)' 18613 device: 'smartphone' 18614 models: 18615 - regex: '(VP5004A|VR6031)(?:[);/ ]|$)' 18616 model: '$1' 18617 - regex: 'VS5513(?:[);/ ]|$)' 18618 model: 'Tempo S13' 18619 - regex: 'VS4011(?:[);/ ]|$)' 18620 model: 'Tempo S11' 18621 - regex: 'HT0704W08' # Hyundai 18622 model: 'Koral 7W4' 18623 device: 'tablet' 18624 18625# Walton (waltonbd.com) 18626Walton: 18627 regex: 'Walton|Walpad|RX7 Mini|Primo[ _](C[1234]?|D[1-689]|E[1-589]|F8s|S7|EF[23]?|EM|F[1-79]i?|G[1-9]|GF[234]?|GH[23]?|GM|H[2-689M]|H7s|N[F1]?|NX2?|R[1-46]|R[HM]2?|RX[23]?|S[1-6]|V1|X[1-4]|Z|ZX)' 18628 device: 'smartphone' 18629 models: 18630 - regex: 'Walpad[ _]([^;/)]+)(?: Build|[);])' 18631 device: 'tablet' 18632 model: 'Primo Walpad $1' 18633 - regex: 'Primo S6 infinity' 18634 model: 'Primo S6 Infinity' 18635 - regex: 'Primo H8 Pro(?:[);/ ]|$)' 18636 model: 'Primo H8 Pro' 18637 - regex: 'Primo (RM2|ZX2|NX4) mini(?:[);/ ]|$)' 18638 model: 'Primo $1 Mini' 18639 - regex: 'Primo H8(?:[);/ ]|$)' 18640 model: 'Primo H8 Turbo' 18641 - regex: 'RX7 Mini(?:[);/ ]|$)' 18642 model: 'RX7 Mini' 18643 18644 # general detections 18645 - regex: 'Primo[ _]([^;/)]+)(?: Build|[;)])' 18646 model: 'Primo $1' 18647 - regex: 'Walton[ _]([^;/)]+)(?: Build|[;)])' 18648 model: '$1' 18649 18650# Wellcom 18651WellcoM: 18652 regex: 'WELLCOM[ _\-/]([a-z0-9]+)' 18653 device: 'smartphone' 18654 model: '$1' 18655 18656# Wexler 18657Wexler: 18658 regex: 'Wexler|(?:ULTIMA 7 TWIST PLUS|TAB10iQ3G|TAB[ _]10Q)(?:[);/ ]|$)|ZEN[ _](?:4\.[57]|5)' 18659 device: 'tablet' 18660 models: 18661 - regex: '(?:Wexler[ _\-\.])?ZEN[ _]4\.5(?:[);/ ]|$)' 18662 model: 'ZEN 4.5' 18663 device: 'smartphone' 18664 - regex: '(?:Wexler[ _\-\.])?ZEN[ _]4\.7(?:[);/ ]|$)' 18665 model: 'ZEN 4.7' 18666 device: 'smartphone' 18667 - regex: '(?:Wexler[ _\-\.])?ZEN[ _]5(?:[);/ ]|$)' 18668 model: 'ZEN 5' 18669 device: 'smartphone' 18670 - regex: '(?:Wexler[ _\-\.])?TAB[ _]10Q(?:[);/ ]|$)' 18671 model: 'TAB 10Q' 18672 - regex: 'TAB10iQ3G(?:[);/ ]|$)' 18673 model: 'TAB 10iQ 3G' 18674 - regex: 'Wexler[ _\-\.]([^;/]+) Build' 18675 model: '$1' 18676 - regex: 'Wexler[ _\-\.]([^);/]+)(?:[);/]|$)' 18677 model: '$1' 18678 - regex: '(ULTIMA 7 TWIST PLUS)(?:[);/ ]|$)' 18679 model: '$1' 18680 18681# Inco (incomobile.com) 18682Inco: 18683 regex: '(?:Inco[ _](Aurora II|Colors|Sphere|Plain[_ ]2S?|Plain2 S|Flex(?: 2S)?|S4|Bloom(?: 2)?)|(Horizon_S|Horizon \+|MATTER))(?:[);/ ]|$)' 18684 device: 'smartphone' 18685 models: 18686 - regex: '(?:Inco[ _])?(Plain[_ ]2S?|Colors|Horizon_S|Horizon \+|Aurora II|Flex(?: 2S)?|S4|Bloom(?: 2)?)(?:[);/ ]|$)' 18687 model: '$1' 18688 - regex: 'Plain2 S' 18689 model: 'Plain 2S' 18690 - regex: 'MATTER' 18691 model: 'Matter' 18692 - regex: 'Inco Sphere( 3)?(?:[);/ ]|$)' 18693 device: 'tablet' 18694 model: 'Sphere$1' 18695 18696# Wink 18697Wink: 18698 regex: '(?<!mismart )Wink[_ ]' 18699 device: 'smartphone' 18700 models: 18701 - regex: 'Wink[_ ]((?:Glory|World|Share|City)(?:[_ ](?:SE|S))?)(?:[);/ ]|$)' 18702 model: '$1' 18703 - regex: 'Wink[ _](Primo|Highway)(?:[);/ ]|$)' 18704 device: 'tablet' 18705 model: '$1' 18706 18707# Wiko (wikomobile.com) 18708Wiko: 18709 regex: '(?:WIKO[_ -])|(?:WIKO-)?CINK_[a-z0-9_]+|(?:WIKO-)?HIGHWAY_[a-z0-9_]+|(?:WIKO-)?(?:Cink([^/;]*)|Highway([^/;]*)|Iggy|Stairway|Rainbow ?(Jam|Lite|Up)?|Darkside|Darkmoon|Darkfull|Darknight|Freddy|FEVER|Jerry[2]?|Sublim|Ozzy|JIMMY|Barry|Birdy|Bloom|Getaway|Goa(?!nna|lPlus)|Kite|Robby|Lenny[2-9]?|Slide|Sunset[2-9]?|Sunny[2-9]?|Tommy[2-9]?|PULP(?: Fab)?|Wax|HARRY|Ridge(?! Plus)(?: Fab)?|U FEEL(?: Prime| Lite)?|U PULSE(?: LITE)?|View2 (?:Go|Plus)|View XL|View Prime)(?: Plus)?(?: 4G)?(?: Build|$)?|W_(?:C8[06]0|K[346]00|P130|P200|C200SN)|WC300|W-(?:V7[23]0|V745|V8[30]0|P[36]11|K420|K510S?|K560|K130|K380|K610)-(?:TMV|TIM|TVM|EEA|SUN|SWI|OPE|BYT|DU|TH)|WIM Lite|W-K360-TV|W-V600|W-V750BN|W-K200|W-U300|U307AS|CINK PEAX 2|HIGHWAY PURE|C210AE|v3913' 18710 device: 'smartphone' 18711 models: 18712 - regex: '(?:WIKO-)?W-V745' 18713 model: 'Power U10' 18714 - regex: '(?:WIKO-)?W-V750' 18715 model: 'Power U20' 18716 - regex: '(?:WIKO-)?Cink Peax 2' 18717 model: 'Cink Peax 2' 18718 - regex: '(?:Wiko-)?Cink([^/;]*) Build' 18719 model: 'Cink$1' 18720 - regex: '(?:WIKO-)?CINK_([a-z0-9_]+)' 18721 model: 'Cink $1' 18722 - regex: '(?:WIKO-)?HIGHWAY PURE' 18723 model: 'Highway Pure' 18724 - regex: '(?:WIKO-)?HIGHWAY STAR' 18725 model: 'Highway Star' 18726 - regex: '(?:Wiko-)?Highway([^/;]*) Build' 18727 model: 'Highway$1' 18728 - regex: '(?:WIKO-)?HIGHWAY_([a-z0-9_]+)' 18729 model: 'Highway $1' 18730 - regex: '(?:WIKO-)?Iggy' 18731 model: 'Iggy' 18732 - regex: '(?:WIKO-)?FEVER' 18733 model: 'Fever' 18734 - regex: '(?:WIKO-)?Stairway' 18735 model: 'Stairway' 18736 - regex: '(?:WIKO-)?Ridge Fab 4G' 18737 model: 'Ridge Fab 4G' 18738 - regex: '(?:WIKO-)?Ridge 4G' 18739 model: 'Ridge 4G' 18740 - regex: '(?:WIKO-)?Ridge' 18741 model: 'Ridge' 18742 - regex: '(?:WIKO-)?Rainbow ([^/;]+) Build' 18743 model: 'Rainbow $1' 18744 - regex: '(?:WIKO-)?Rainbow' 18745 model: 'Rainbow' 18746 - regex: '(?:WIKO-)?Darkside' 18747 model: 'Darkside' 18748 - regex: '(?:WIKO-)?Darkmoon' 18749 model: 'Darkmoon' 18750 - regex: '(?:WIKO-)?Darkfull' 18751 model: 'Darkfull' 18752 - regex: '(?:WIKO-)?Darknight' 18753 model: 'Darknight' 18754 - regex: '(?:WIKO-)?Sublim' 18755 model: 'Sublim' 18756 - regex: '(?:WIKO-)?Ozzy' 18757 model: 'Ozzy' 18758 - regex: '(?:WIKO-)?Barry' 18759 model: 'Barry' 18760 - regex: '(?:WIKO-)?Birdy' 18761 model: 'Birdy' 18762 - regex: '(?:WIKO-)?Bloom' 18763 model: 'Bloom' 18764 - regex: '(?:WIKO-)?JIMMY' 18765 model: 'Jimmy' 18766 - regex: 'JERRY MAX' 18767 model: 'Jerry Max' 18768 - regex: 'W_K300' 18769 model: 'Jerry 3' 18770 - regex: 'W-K420-TVM' 18771 model: 'Jerry 4' 18772 - regex: '(?:WIKO-)?Jerry2' 18773 model: 'Jerry 2' 18774 - regex: '(?:WIKO-)?Jerry' 18775 model: 'Jerry' 18776 - regex: '(?:WIKO-)?Getaway' 18777 model: 'Getaway' 18778 - regex: '(?:WIKO-)?Goa(?!nna)' 18779 model: 'Goa' 18780 - regex: '(?:WIKO-)?Freddy' 18781 model: 'Freddy' 18782 - regex: '(?:WIKO-)?Kite' 18783 model: 'Kite' 18784 - regex: 'W_K400' 18785 model: 'Lenny 5' 18786 - regex: 'C210AE(?:[);/ ]|$)' 18787 model: 'Life' 18788 - regex: 'U307AS(?:[);/ ]|$)' 18789 model: 'Life 2' 18790 - regex: 'v3913(?:[);/ ]|$)' 18791 model: 'Kenny' 18792 - regex: '(?:WIKO-)?Lenny[ -_]?3 Max' 18793 model: 'Lenny 3 Max' 18794 - regex: '(?:WIKO-)?Lenny[ -_]?4 Plus' 18795 model: 'Lenny 4 Plus' 18796 - regex: '(?:WIKO-)?Lenny[ -_]?([2-9])' 18797 model: 'Lenny $1' 18798 - regex: '(?:WIKO-)?Lenny' 18799 model: 'Lenny' 18800 - regex: '(?:WIKO-)?Slide' 18801 model: 'Slide' 18802 - regex: '(?:WIKO-)?Sunset2' 18803 model: 'Sunset 2' 18804 - regex: '(?:WIKO-)?Sunset' 18805 model: 'Sunset' 18806 - regex: '(?:WIKO-)?Sunny3' 18807 model: 'Sunny 3' 18808 - regex: 'W-K200' 18809 model: 'Sunny 3 Plus' 18810 - regex: '(?:WIKO-)?Sunny2 Plus' 18811 model: 'Sunny 2 Plus' 18812 - regex: '(?:WIKO-)?Sunny2' 18813 model: 'Sunny 2' 18814 - regex: 'W-K360-TV' 18815 model: 'Sunny 4 Plus' 18816 - regex: 'W-K130-TMV' 18817 model: 'Sunny 4' 18818 - regex: 'W-K380-TVM' 18819 model: 'Sunny 5' 18820 - regex: '(?:WIKO-)?Sunny' 18821 model: 'Sunny' 18822 - regex: '(?:W_K600|Tommy3|W_C200SN)' 18823 model: 'Tommy 3' 18824 - regex: '(?:WIKO-)?Tommy2 Plus' 18825 model: 'Tommy 2 Plus' 18826 - regex: '(?:WIKO-)?Tommy2' 18827 model: 'Tommy 2' 18828 - regex: '(?:WIKO-)?Tommy' 18829 model: 'Tommy' 18830 - regex: '(?:WIKO-)?Wax' 18831 model: 'Wax' 18832 - regex: '(?:WIKO-)?HARRY' 18833 model: 'Harry' 18834 - regex: 'W-V600' 18835 model: 'Harry 2' 18836 - regex: '(?:WIKO-)?WIM Lite' 18837 model: 'WIM Lite' 18838 - regex: '(?:WIKO-)?Pulp Fab 4G' 18839 model: 'Pulp Fab 4G' 18840 - regex: '(?:WIKO-)?Pulp Fab' 18841 model: 'Pulp Fab' 18842 - regex: '(?:WIKO-)?Pulp 4G' 18843 model: 'Pulp 4G' 18844 - regex: '(?:WIKO-)?Pulp' 18845 model: 'Pulp' 18846 - regex: '(?:WIKO-)?Robby(2)?' 18847 model: 'Robby$1' 18848 - regex: '(?:WIKO-)?U PULSE LITE' 18849 model: 'U Pulse Lite' 18850 - regex: '(?:WIKO-)?U PULSE' 18851 model: 'U Pulse' 18852 - regex: '(?:WIKO-)?U FEEL LITE' 18853 model: 'U Feel Lite' 18854 - regex: '(?:WIKO-)?U FEEL PRIME' 18855 model: 'U Feel Prime' 18856 - regex: '(?:WIKO-)?U FEEL' 18857 model: 'U Feel' 18858 - regex: '(?:WIKO-)?View2 Go' 18859 model: 'View 2 Go' 18860 - regex: '(?:WIKO-)?View2 Plus' 18861 model: 'View 2 Plus' 18862 - regex: '(?:WIKO-)?View XL' 18863 model: 'View XL' 18864 - regex: '(?:WIKO-)?View Prime' 18865 model: 'View Prime' 18866 - regex: 'WC300' 18867 model: 'View Lite' 18868 - regex: 'W_C800' 18869 model: 'View 2' 18870 - regex: 'W_C860' 18871 model: 'View 2 Pro' 18872 - regex: 'W_P200' 18873 model: 'View Max' 18874 - regex: 'W_P130' 18875 model: 'View Go' 18876 - regex: 'W-V800-(TVM|TIM|EEA|OPE|DU)' 18877 model: 'View 3 Lite' 18878 - regex: 'W-K130-(?:OPE|EEA)' 18879 model: 'Y50' 18880 - regex: 'W-K420-EEA' 18881 model: 'Y50' 18882 - regex: 'W-K510-(?:TVM|EEA|OPE|SUN|BYT|TH)|W-K510S-SWI' 18883 model: 'Y60' 18884 - regex: 'W-K560-EEA' 18885 model: 'Y61' 18886 - regex: 'W-K610' 18887 model: 'Y62' 18888 - regex: 'W-V720-(?:EEA|OPE|SUN)' 18889 model: 'Y80' 18890 - regex: 'W-P311-(?:EEA|OPE|TVM)' 18891 model: 'View 3' 18892 - regex: 'W-P611-(?:EEA|OPE)' 18893 model: 'View 3 Pro' 18894 - regex: 'W-V830-(?:EEA|OPE)' 18895 model: 'View 4' 18896 - regex: 'W-V730-(?:EEA|TVM)' 18897 model: 'View 4 Lite' 18898 - regex: 'W-V745-TVM' 18899 model: 'Power U10' 18900 - regex: 'W-U300(?:[);/ ]|$)' 18901 model: 'Ride' 18902 - regex: 'U520AS(?:[);/ ]|$)' 18903 model: 'Ride 2' 18904 - regex: 'Wiko ([^/;]+) Build' 18905 model: '$1' 18906 - regex: 'Wiko ([^/; ]+)' 18907 model: '$1' 18908 18909# Wieppo 18910Wieppo: 18911 regex: 'Wieppo (S6 Lite|S[658]|E1)(?:[);/ ]|$)' 18912 device: 'smartphone' 18913 model: '$1' 18914 18915# Weimei 18916Weimei: 18917 regex: 'weplus_3' 18918 device: 'smartphone' 18919 models: 18920 - regex: 'weplus_3' 18921 model: 'WePlus 3' 18922 18923# Wileyfox 18924Wileyfox: 18925 regex: 'Wileyfox|Swift 2(?:[);/ ]|$)' 18926 device: 'smartphone' 18927 models: 18928 - regex: 'Wileyfox Spark \+' 18929 model: 'Spark +' 18930 - regex: 'Wileyfox; Pro' 18931 model: 'Pro' 18932 - regex: 'Wileyfox Spark X' 18933 model: 'Spark X' 18934 - regex: 'Wileyfox (Spark|Swift)' 18935 model: '$1' 18936 - regex: 'Wileyfox ([^/)]+)(?: Build|\))' 18937 model: '$1' 18938 - regex: 'Swift 2 (X|Plus)(?:[);/ ]|$)' 18939 model: 'Swift 2 $1' 18940 - regex: 'Swift 2(?:[);/ ]|$)' 18941 model: 'Swift 2' 18942 18943# Wolder 18944Wolder: 18945 regex: 'miSmart|miTab|WIAM \#24|WOLDER' 18946 device: 'smartphone' 18947 models: 18948 - regex: 'WIAM \#24' 18949 model: 'Wiam #24' 18950 - regex: 'WOLDER_WIAM_65' 18951 model: 'Wiam #65' 18952 - regex: 'miSmart[ \-_]?([^/]+) Build' 18953 model: 'miSmart $1' 18954 - regex: 'miTab[ \-_]?([^/)]+)(?: Build|\))' 18955 device: 'tablet' 18956 model: 'miTab $1' 18957 18958# Wolfgang 18959Wolfgang: 18960 regex: 'AT[ _-]AS([0-9A-Z]+)(?:[);/ ]|$)' 18961 device: 'smartphone' 18962 model: 'AT-AS$1' 18963 18964# Wonu 18965Wonu: 18966 regex: 'Wonu ([a-z0-9]+)' 18967 device: 'feature phone' 18968 model: '$1' 18969 18970# Woo 18971Woo: 18972 regex: 'SP5026i-Scorpio' 18973 device: 'smartphone' 18974 models: 18975 - regex: 'SP5026i-Scorpio' 18976 model: 'Scorpio' 18977 18978# Woxter (woxter.es) 18979Woxter: 18980 regex: 'Woxter[ _]|Nimbus 101Q' 18981 device: 'tablet' 18982 models: 18983 - regex: 'Nimbus ?(101Q|115|1100RX)(?:[);/ ]|$)' 18984 model: 'Nimbus $1' 18985 - regex: 'WOXTER[ _]I-101(?:[);/ ]|$)' 18986 model: 'i-101' 18987 - regex: 'Woxter[ _]([SQ]X) ?([0-9A-Z]+)(?:[);/ ]|$)' 18988 model: '$1 $2' 18989 - regex: 'Woxter[_ ](?:Zielo[ _])?(Q27|Z800|Z420)(?:[);/ ]|$)' 18990 device: 'smartphone' 18991 model: 'Zielo $1' 18992 - regex: 'Woxter[ _]([^/;)]+)(?: Build|\))' 18993 model: '$1' 18994 18995# X-View 18996X-View: 18997 regex: 'ZEN_U5\+|AMBER_KIDS|Proton_Amber_HD|PROTON_JADE_2_PRO' 18998 device: 'smartphone' 18999 models: 19000 - regex: 'ZEN_U5\+' 19001 model: 'ZEN U5+' 19002 - regex: 'AMBER_KIDS' 19003 device: 'tablet' 19004 model: 'Amber Kids' 19005 - regex: 'Proton_Amber_HD' 19006 device: 'tablet' 19007 model: 'Proton Amber HD' 19008 - regex: 'PROTON_JADE_2_PRO' 19009 device: 'tablet' 19010 model: 'Proton Jade 2 Pro' 19011 19012# POCO (sub brand Xiaomi) 19013POCO: 19014 regex: '(?:POCO[ _](?:X[23]|F2 PRO|M[32]|F3)|M2010J19C[GI]|M2007J20C[ITG]|M2012K11AG|M2006C3MI|M2004J19PI|M2102J20S[GI]|M2103K19P[GY]|21061110AG|M2104K10I)(?:[);/ ]|$)' 19015 device: 'smartphone' 19016 models: 19017 - regex: 'POCO X2(?:[);/ ]|$)' 19018 model: 'X2' 19019 - regex: '(?:M2012K11AG|POCO F3)(?:[);/ ]|$)' 19020 model: 'F3' 19021 - regex: 'M2004J19PI(?:[);/ ]|$)' 19022 model: 'M2' 19023 - regex: '(?:M2103K19P[GY]|M3 Pro 5G)(?:[);/ ]|$)' 19024 model: 'M3 Pro 5G' 19025 - regex: 'POCO M([23]) Pro(?:[);/ ]|$)' 19026 model: 'M$1 Pro' 19027 - regex: '(?:M2010J19C[GI]|POCO M3)(?:[);/ ]|$)' 19028 model: 'M3' 19029 - regex: '(?:M2007J20C[GT]|POCO X3 NFC)(?:[);/ ]|$)' 19030 model: 'X3 NFC' 19031 - regex: '(?:M2102J20S[GI]|X3 Pro)(?:[);/ ]|$)' 19032 model: 'X3 Pro' 19033 - regex: '(?:M2007J20CI|POCO X3)(?:[);/ ]|$)' 19034 model: 'X3' 19035 - regex: '(?:21061110AG)(?:[);/ ]|$)' 19036 model: 'X3 GT' 19037 - regex: '(?:M2104K10I)(?:[);/ ]|$)' 19038 model: 'F3 GT' 19039 - regex: 'M2006C3MI(?:[);/ ]|$)' 19040 model: 'C3' 19041 - regex: 'POCO F2 PRO(?:[);/ ]|$)' 19042 model: 'F2 Pro' 19043 19044 19045# Zopo 19046Zopo: 19047 regex: 'ZOPO|(?:ZOPO[_ ])?(Flash X3|F2_Color5_5|F5_Color_M5|ZP[0-9]{2,}[^/;]+)(?:\)| Build)' 19048 device: 'smartphone' 19049 models: 19050 - regex: '(?:ZOPO_C2_MOD|ZP998)(?:[);/ ]|$)' 19051 model: 'C2 II' 19052 - regex: 'ZOPO 9xxQuad(?:[);/ ]|$)' 19053 model: '9XX Quad' 19054 - regex: '(?:ZOPO_)?ZP980[+](?:[);/ ]|$)' 19055 model: 'ZP980+' 19056 - regex: '(?:ZOPO_)?ZP980(?:[);/ ]|$)' 19057 model: 'Scorpio' 19058 - regex: 'ZP952(?:[);/ ]|$)' 19059 model: 'Speed 7 Plus' 19060 - regex: 'ZP951(?:[);/ ]|$)' 19061 model: 'Speed 7' 19062 - regex: 'ZP955(?:[);/ ]|$)' 19063 model: 'Speed 8' 19064 - regex: 'ZP950[+h]?(?:[);/ ]|$)' 19065 model: 'Leader Max' 19066 - regex: 'ZP(?:900H?|910)(?:[);/ ]|$)' 19067 model: 'Leader' 19068 - regex: 'ZP(?:800H|810)(?:[);/ ]|$)' 19069 model: 'Libero HD' 19070 - regex: 'ZP500[+]?(?:[);/ ]|$)' 19071 model: 'Libero' 19072 - regex: 'ZP330(?:[);/ ]|$)' 19073 model: 'Color C' 19074 - regex: 'ZP370(?:[);/ ]|$)' 19075 model: 'Color S' 19076 - regex: 'F2_Color5_5(?:[);/ ]|$)' 19077 model: 'Color F2' 19078 - regex: 'F5_Color_M5(?:[);/ ]|$)' 19079 model: 'F5 Color M5' 19080 - regex: 'ZP5(63|86)(?:[);/ ]|$)' 19081 model: 'Color X' 19082 - regex: 'ZP567(?:[);/ ]|$)' 19083 model: 'Color C5i' 19084 - regex: 'ZP300[S+]?(?:[);/ ]|$)' 19085 model: 'Field' 19086 - regex: 'ZP200[+]?(?:[);/ ]|$)' 19087 model: 'Shining' 19088 - regex: 'ZP100(?:[);/ ]|$)' 19089 model: 'Pilot' 19090 - regex: 'ZP1790(?:[);/ ]|$)' 19091 model: 'Flash X2' 19092 - regex: 'ZP781(?:[);/ ]|$)' 19093 model: 'Flash G5 Plus' 19094 - regex: 'ZOPO[_ ]ONE[_ ]([YXTP])(?:[);/ ]|$)' 19095 model: 'One $1' 19096 - regex: '(?:ZOPO_)?(Flash X3|X1i|ZP[0-9]{2,}[^/;)]+)(?: Build|\))' 19097 model: '$1' 19098 19099# Xiaomi 19100Xiaomi: 19101 regex: 'Xiaomi(?!/(?:Miui|Mint[ ])Browser)|Mi9 Pro 5G|(?:MI [a-z0-9]+|Mi-4c|MI-One[ _]?[a-z0-9]+|MIX(?: 2S?)?)(?:[);/ ]|$)|HM (?:[^/;]+) (?:Build|MIUI)|(?:2014501|2014011|201481[12378]|201302[23]|2013061) Build|Redmi|POCOPHONE|(?:SHARK )?(KLE|KSR|MBU)-[AH]0|SK[RW]-[AH]0|PRS-H0|POCO F1|DLT-[AH]0|MIBOX[234]([_ ]PRO)?|MiTV4[CSX]?|MiTV-(MSSP[01]|AXSO0|AESP0)|AWM-A0|MI CC 9 Meitu Edition|MiBOX1S|MiTV4A|M2006J10C|M2006C3(?:L[IGC]|LVG|MN?G|MT)|M2007J1(?:7[CGI]|SC)|M2002J9[SEG]|HM2014819|WT88047|2106118C|M2004J(?:7[AB]|19)C|M2012K11(?:[CGI]|A[CI])|M2011K2[CG]|M2011J18C|M2006C3[ML]II|M2003J15SC|M2007J3S[ICYGP]|M2007J22[CG]|M2103K19[CGYI]|M2101K(?:[79]AG|7AI|7B[GI]|6[GIRP]|7BNY|9[GCR])|M2010J19S[CGYIL]|M1908C3JGG|M2102(?:K1AC|K1[CG]|J2SC)|HM NOTE 1(?:LTE|W)|MI[_ ]PLAY|XIG01|Qin 1s\+|MI_(NOTE_Pro|5X|4i|(?:A2|8)_Lite)|A001XM|lancelot|XIG02|21061119[AD]G|M2101K(?:7BL|9AI)|M2012K10C|M2104K10AC|21051182[CG]|21081111RG|2109119DG|2107113SG|joyeuse|galahad| MDG1' 19102 device: 'smartphone' 19103 models: 19104 # specific smartphone models 19105 - regex: 'SKR-[AH]0' 19106 model: 'Black Shark' 19107 - regex: 'AWM-A0' 19108 model: 'Black Shark Helo' 19109 - regex: 'SKW-[AH]0' 19110 model: 'Black Shark 2' 19111 - regex: 'DLT-[AH]0' 19112 model: 'Black Shark 2 Pro' 19113 - regex: '(?:SHARK )?KLE-A0' 19114 model: 'Black Shark 3' 19115 - regex: '(?:SHARK )?KSR-A0' 19116 model: 'Black Shark 4 Pro' 19117 - regex: '(?:SHARK )?KLE-H0' 19118 model: 'Black Shark 3 5G' 19119 - regex: '(?:SHARK )?MBU-H0' 19120 model: 'Black Shark 3 Pro 5G' 19121 - regex: '(?:SHARK )?MBU-A0' 19122 model: 'Black Shark 3 Pro' 19123 - regex: '(?:SHARK )?PRS-H0' 19124 model: 'Black Shark 4' 19125 - regex: 'Xiaomi_2014501|2014501 Build' 19126 model: 'Hongmi 4G' 19127 - regex: 'Xiaomi_2014011|2014011 Build' 19128 model: 'Hongmi 1S' 19129 - regex: 'Xiaomi_201302[23]|201302[23] Build' 19130 model: 'Hongmi' 19131 - regex: 'Xiaomi[_-]2014818|2014818 Build' 19132 model: 'Hongmi 2 3G' 19133 - regex: 'Xiaomi_2014817|2014817 Build' 19134 model: 'Hongmi 2' 19135 - regex: 'Xiaomi[_-]201481[123]|201481[123] Build' 19136 model: 'Hongmi 2 4G' 19137 - regex: 'MI[_ ]PLAY(?:[);/ ]|$)' 19138 model: 'Mi Play' 19139 - regex: 'Mi 9 SE(?:[);/ ]|$)' 19140 model: 'Mi 9 SE' 19141 - regex: 'MI CC 9e' 19142 model: 'Mi CC 9e' 19143 - regex: 'MI CC9 Pro Premium Edition' 19144 model: 'Mi CC 9 Pro Premium Edition' 19145 - regex: 'MI CC9 Pro' 19146 model: 'Mi CC 9 Pro' 19147 - regex: 'MI CC 9(?: Meitu Edition)?(?:[);/ ]|$)' 19148 model: 'Mi CC 9' 19149 - regex: 'Xiaomi_M2001J2E_TD-LTE(?:[);/ ]|$)' 19150 model: 'Mi 10' 19151 - regex: 'Mi 10 Pro(?:[);/ ]|$)' 19152 model: 'Mi 10 Pro' 19153 - regex: 'M2011K2[CG](?:[);/ ]|$)' 19154 model: 'Mi 11' 19155 - regex: 'M2012K11AI(?:[);/ ]|$)' 19156 model: 'Mi 11X' 19157 - regex: 'M2012K11I(?:[);/ ]|$)' 19158 model: 'Mi 11X Pro' 19159 - regex: 'M2007J3S[GI](?:[);/ ]|$)' 19160 model: 'Mi 10T Pro 5G' 19161 - regex: 'M2007J17G(?:[);/ ]|$)' 19162 model: 'Mi 10T Lite 5G' 19163 - regex: 'M2007J3S[CYP](?:[);/ ]|$)' 19164 model: 'Mi 10T 5G' 19165 - regex: 'M2007J1SC(?:[);/ ]|$)' 19166 model: 'Mi 10 Ultra 5G' 19167 - regex: 'M2102J2SC(?:[);/ ]|$)' 19168 model: 'Mi 10S' 19169 - regex: '(?:M2002J9[EGS]|XIG01)(?:[);/ ]|$)' 19170 model: 'Mi 10 Lite 5G' 19171 - regex: 'M2007J17I(?:[);/ ]|$)' 19172 model: 'Mi 10i' 19173 - regex: 'M2012K11G(?:[);/ ]|$)' 19174 model: 'Mi 11i' 19175 - regex: '21081111RG(?:[);/ ]|$)' 19176 model: 'Mi 11T' 19177 - regex: '2107113SG(?:[);/ ]|$)' 19178 model: 'Mi 11T Pro' 19179 - regex: '(?:M2101K9[GCR]|2109119DG)(?:[);/ ]|$)' 19180 model: 'Mi 11 Lite 5G' 19181 - regex: '(?:M2101K9A[GI]|Mi 11 Lite)(?:[);/ ]|$)' 19182 model: 'Mi 11 Lite' 19183 - regex: 'M2102K1[CG](?:[);/ ]|$)' 19184 model: 'Mi 11 Ultra' 19185 - regex: 'M2102K1AC(?:[);/ ]|$)' 19186 model: 'Mi 11 Pro' 19187 - regex: 'MI[ _]8[ _]Lite(?:[);/ ]|$)' 19188 model: 'Mi 8 Lite' 19189 - regex: 'MI 8 Explorer Edition(?:[);/ ]|$)' 19190 model: 'Mi 8 Explorer Edition' 19191 - regex: 'MI 8 ([a-z]+)(?:[);/ ]|$)' 19192 model: 'Mi 8 $1' 19193 - regex: 'Mi 9T Pro(?:[);/ ]|$)' 19194 model: 'Mi 9T Pro' 19195 - regex: 'Mi ?9 Pro 5G(?:[);/ ]|$)' 19196 model: 'Mi 9 Pro 5G' 19197 - regex: 'MI 9 Transparent Edition(?:[);/ ]|$)' 19198 model: 'Mi 9 Transparent Edition' 19199 - regex: 'MI ([89]) Lite(?:[);/ ]|$)' 19200 model: 'Mi $1 Lite' 19201 - regex: 'MI 5s Plus(?:[);/ ]|$)' 19202 model: 'Mi 5s Plus' 19203 - regex: 'Xiaomi_MDT2' 19204 model: 'Mi 5X' 19205 - regex: 'Xiaomi_2013061|2013061 Build' 19206 model: 'Mi 3' 19207 - regex: 'Mi[- ]([43])c(?:[);/ ]|$)' 19208 model: 'Mi $1C' 19209 - regex: 'MI 4W(?:[);/ ]|$)' 19210 model: 'Mi 4W' 19211 - regex: 'Mi_4i(?:[);/ ]|$)' 19212 model: 'Mi 4i' 19213 - regex: 'MI 4 ?LTE(?:[);/ ]|$)' 19214 model: 'Mi 4 LTE' 19215 - regex: 'MI MAX ([23])(?:[);/ ]|$)' 19216 model: 'Mi Max $1' 19217 - regex: 'MI MAX(?:[);/ ]|$)' 19218 model: 'Mi Max' 19219 - regex: 'Mi[ _]A2[ _]Lite(?:[);/ ]|$)' 19220 model: 'Mi A2 Lite' 19221 - regex: '2106118C(?:[);/ ]|$)' 19222 model: 'Mi Mix 4' 19223 - regex: 'Mi MIX 3 5G(?:[);/ ]|$)' 19224 model: 'Mi Mix 3 5G' 19225 - regex: 'MIX ([23])(?:[);/ ]|$)' 19226 model: 'Mi Mix $1' 19227 - regex: 'MIX 2S(?:[);/ ]|$)' 19228 model: 'Mi Mix 2S' 19229 - regex: 'MIX(?:[);/ ]|$)' 19230 model: 'Mi Mix' 19231 - regex: 'Mi Note 3(?:[);/ ]|$)' 19232 model: 'Mi Note 3' 19233 - regex: 'POCOPHONE[ _]F1|POCO F1' 19234 model: 'Pocophone F1' 19235 - regex: 'Redmi 5 Plus' 19236 model: 'Redmi 5 Plus' 19237 - regex: 'MDG1(?:[);/ ]|$)' 19238 model: 'Redmi 5' 19239 - regex: 'WT88047(?:[);/ ]|$)' 19240 model: 'Redmi 2' 19241 - regex: 'HM2014819(?:[);/ ]|$)' 19242 model: 'Redmi 2 Pro' 19243 - regex: 'HM 2A(?:[);/ ]|$)' 19244 model: 'Redmi 2A' 19245 - regex: 'HM 1S[CW]?(?:[);/ ]|$)' 19246 model: 'Redmi 1S' 19247 - regex: 'HM 1(?:[);/ ]|$)' 19248 model: 'Redmi 1' 19249 - regex: 'M2004J7AC(?:[);/ ]|$)' 19250 model: 'Redmi 10X' 19251 - regex: '(?:M2004J19C|M2006C3MII|lancelot|galahad)(?:[);/ ]|$)' 19252 model: 'Redmi 9' 19253 - regex: 'M2010J19SI(?:[);/ ]|$)' 19254 model: 'Redmi 9 Power' 19255 - regex: 'M2006C3L[GCI](?:[);/ ]|$)' 19256 model: 'Redmi 9A' 19257 - regex: 'M2006C3LII(?:[);/ ]|$)' 19258 model: 'Redmi 9i' 19259 - regex: 'M2006C3M[GT](?:[);/ ]|$)' 19260 model: 'Redmi 9C' 19261 - regex: 'M2006C3LVG(?:[);/ ]|$)' 19262 model: 'Redmi 9AT' 19263 - regex: 'M2010J19S[GYL](?:[);/ ]|$)' 19264 model: 'Redmi 9T' 19265 - regex: 'M2006C3MNG(?:[);/ ]|$)' 19266 model: 'Redmi 9C NFC' 19267 - regex: '21061119[AD]G(?:[);/ ]|$)' 19268 model: 'Redmi 10' 19269 - regex: 'M2004J7BC(?:[);/ ]|$)' 19270 model: 'Redmi 10X Pro' 19271 - regex: 'Redmi K20 Pro Premium Edition(?:[);/ ]|$)' 19272 model: 'Redmi K20 Pro Premium Edition' 19273 - regex: 'Redmi K([23]0) Pro(?:[);/ ]|$)' 19274 model: 'Redmi K$1 Pro' 19275 - regex: 'Redmi K30 5G(?:[);/ ]|$)' 19276 model: 'Redmi K30 5G' 19277 - regex: 'M2012K11AC(?:[);/ ]|$)' 19278 model: 'Redmi K40' 19279 - regex: 'M2012K10C(?:[);/ ]|$)' 19280 model: 'Redmi K40 Gaming' 19281 - regex: 'M2012K11C(?:[);/ ]|$)' 19282 model: 'Redmi K40 Pro' 19283 - regex: 'M2006J10C(?:[);/ ]|$)' 19284 model: 'Redmi K30 Ultra' 19285 - regex: 'Redmi Y1 Lite(?:[);/ ]|$)' 19286 model: 'Redmi Y1 Lite' 19287 - regex: 'Redmi 6 Pro(?:[);/ ]|$)' 19288 model: 'Redmi 6 Pro' 19289 - regex: 'Redmi 4 Prime(?:[);/ ]|$)' 19290 model: 'Redmi 4 Prime' 19291 # specific tablet models 19292 - regex: '21051182[CG](?:[);/ ]|$)' 19293 model: 'Mi Pad 5' 19294 device: 'tablet' 19295 - regex: 'MI PAD 4 PLUS(?:[);/ ]|$)' 19296 model: 'Mi Pad 4 Plus' 19297 device: 'tablet' 19298 - regex: 'MI PAD 4(?:[);/ ]|$)' 19299 model: 'Mi Pad 4' 19300 device: 'tablet' 19301 - regex: 'MI PAD 3(?:[);/ ]|$)' 19302 model: 'Mi Pad 3' 19303 device: 'tablet' 19304 - regex: 'MI PAD 2(?:[);/ ]|$)' 19305 model: 'Mi Pad 2' 19306 device: 'tablet' 19307 - regex: 'MI PAD(?:[);/ ]|$)' 19308 model: 'Mi Pad' 19309 device: 'tablet' 19310 19311 # specific tv models 19312 - regex: 'MIBOX3[ _]Pro(?:[);/ ]|$)' 19313 model: 'Mi Box 3 Pro' 19314 device: 'tv' 19315 - regex: 'MIBOX([234])(?:[);/ ]|$)' 19316 model: 'Mi Box $1' 19317 device: 'tv' 19318 - regex: 'MiBOX1S(?:[);/ ]|$)' 19319 model: 'Mi Box 1S' 19320 device: 'tv' 19321 - regex: 'MiTV-MSSP1(?:[);/ ]|$)' 19322 model: 'MiTV 4S' 19323 device: 'tv' 19324 - regex: 'MiTV-AESP0(?:[);/ ]|$)' 19325 model: 'MiTV Stick' 19326 device: 'tv' 19327 - regex: '(?:MiTV-AXSO0|MiTV4(?:A|-ANSM0)|MiTV-MSSP0)(?:[);/ ]|$)' 19328 model: 'MiTV 4A' 19329 device: 'tv' 19330 - regex: 'MiTV(4[CSX]|4)(?:[);/ ]|$)' 19331 model: 'MiTV $1' 19332 device: 'tv' 19333 19334 # specific phablet models 19335 - regex: 'M2011J18C(?:[);/ ]|$)' 19336 device: 'phablet' 19337 model: 'Mi Mix Fold' 19338 - regex: 'HM NOTE 1W(?:[);/ ]|$)' 19339 device: 'phablet' 19340 model: 'Redmi Note' 19341 - regex: 'HM NOTE 1TD (?:Build|MIUI)' 19342 device: 'phablet' 19343 model: 'Hongmi Note 1TD' 19344 - regex: 'HM NOTE 1(?:LTE|S)(?:W|GLOBAL|TD)? (?:Build|MIUI)|HM NOTE 1LTE' 19345 device: 'phablet' 19346 model: 'Redmi Note 4G' 19347 - regex: 'Xiaomi[_ ]2015052' 19348 model: 'Redmi Note 2' 19349 device: 'phablet' 19350 - regex: 'Redmi Note 5A Prime' 19351 model: 'Redmi Note 5A Prime' 19352 device: 'phablet' 19353 - regex: '(?:M2010J19SC)(?:[);/ ]|$)' 19354 model: 'Redmi Note 9' 19355 device: 'phablet' 19356 - regex: 'M2003J15SC(?:[);/ ]|$)' 19357 model: 'Redmi Note 10X' 19358 device: 'phablet' 19359 - regex: 'M2101K7BL(?:[);/ ]|$)' 19360 model: 'Redmi Note 10S' 19361 device: 'phablet' 19362 - regex: '(?:M2007J22G|A001XM)(?:[);/ ]|$)' 19363 model: 'Redmi Note 9T 5G' 19364 device: 'phablet' 19365 - regex: 'M2007J22C(?:[);/ ]|$)' 19366 model: 'Redmi Note 9 5G' 19367 device: 'phablet' 19368 - regex: 'M2007J17C(?:[);/ ]|$)' 19369 model: 'Redmi Note 9 Pro 5G' 19370 device: 'phablet' 19371 - regex: 'joyeuse(?:[);/ ]|$)' 19372 model: 'Redmi Note 9 Pro' 19373 device: 'phablet' 19374 - regex: 'joyeuse(?:[);/ ]|$)' 19375 model: 'Redmi Note 9 Pro' 19376 device: 'phablet' 19377 - regex: 'M2101K7A[GI]' 19378 model: 'Redmi Note 10' 19379 device: 'phablet' 19380 - regex: 'M2103K19Y' 19381 model: 'Redmi Note 10T' 19382 device: 'phablet' 19383 - regex: 'M2101K7B(?:[GI]|NY)(?:[);/ ]|$)' 19384 model: 'Redmi Note 10S' 19385 device: 'phablet' 19386 - regex: '(?:M2103K19[GC]|Redmi Note 10 5G)(?:[);/ ]|$)' 19387 model: 'Redmi Note 10 5G' 19388 device: 'phablet' 19389 - regex: 'M2103K19I' 19390 model: 'Redmi Note 10T 5G' 19391 device: 'phablet' 19392 - regex: 'XIG02(?:[);/ ]|$)' 19393 model: 'Redmi Note 10 JE' 19394 device: 'phablet' 19395 - regex: '(?:M2101K6[GIRP]|M2104K10AC|Redmi Note 10 Pro)(?:[);/ ]|$)' 19396 model: 'Redmi Note 10 Pro' 19397 device: 'phablet' 19398 - regex: '(?:M1908C3JGG|Redmi Note 8 \(2021\))(?:[);/ ]|$)' 19399 model: 'Redmi Note 8 (2021)' 19400 device: 'phablet' 19401 - regex: 'Redmi Note ([5-9]) Pro(?:[);/ ]|$)' 19402 model: 'Redmi Note $1 Pro' 19403 device: 'phablet' 19404 - regex: 'Redmi[ _]Note[ _]([^;/) ]+)?' 19405 model: 'Redmi Note $1' 19406 device: 'phablet' 19407 - regex: 'Redmi[ _]([^;/) ]+)?' 19408 model: 'Redmi $1' 19409 - regex: 'MI_NOTE_Pro' 19410 model: 'Mi Note Pro' 19411 device: 'phablet' 19412 - regex: 'Mi Note 10 Pro' 19413 model: 'Mi Note 10 Pro' 19414 device: 'phablet' 19415 - regex: 'Mi Note 10 Lite' 19416 model: 'Mi Note 10 Lite' 19417 device: 'phablet' 19418 - regex: 'Mi Note 10' 19419 model: 'Mi Note 10' 19420 device: 'phablet' 19421 - regex: 'MI[ _]Note[ _]([^;/) ]+)?' 19422 model: 'Mi Note $1' 19423 device: 'phablet' 19424 19425 # specific feature phone models 19426 - regex: 'Qin 1s\+' 19427 model: 'Qin 1s+' 19428 19429 # general detections 19430 - regex: 'MI[- ]One[ _]?Plus(?:[);/ ]|$)' 19431 model: 'Mi One Plus' 19432 - regex: 'Mi[- ]One[ _]?([a-z0-9]+)?(?: Build|[);]])' 19433 model: 'Mi One $1' 19434 - regex: 'MI[ _]([^;/]*) Build' 19435 model: 'Mi $1' 19436 - regex: 'MI[ _]([a-z0-9]+)(?:[);/ ]|$)' 19437 model: 'Mi $1' 19438 - regex: 'HM Note ([^/;]+) (?:Build|MIUI)' 19439 device: 'phablet' 19440 model: 'Note' 19441 - regex: 'HM ([^/;]+) (?:Build|MIUI)' 19442 model: 'HM $1' 19443 - regex: 'Xiaomi[ _-]([^/;]+)(?: Build|$)' 19444 model: '$1' 19445 19446# Xion 19447Xion: 19448 regex: 'XI-CE(?:655|U[48])' 19449 device: 'smartphone' 19450 models: 19451 - regex: 'XI-CE(655|U[48])' 19452 model: 'CE$1' 19453 19454# Xolo 19455Xolo: 19456 regex: 'Xolo|(?:Q600|Q700s?|Q800|Q1000s|Q1000[ _]Opus|Q1010i|Q2000|Omega[ _]5.[05]|Era5X|Era[ _]2V|Era_4X(?:_2GB)?)(?:[);/ ]|$)|BLACK-1XM' 19457 device: 'smartphone' 19458 models: 19459 - regex: 'BLACK-1XM' 19460 model: 'Black 1X' 19461 - regex: 'Era_?([45])X(?:[);/ ]|$)' 19462 model: 'Era $1X' 19463 - regex: 'Era_4X_2GB(?:[);/ ]|$)' 19464 model: 'Era 4X 2GB' 19465 - regex: 'Era[ _]2V(?:[);/ ]|$)' 19466 model: 'Era 2V' 19467 - regex: '(Q600 Club|Q600|Q700s?|Q800|Q1000s Plus|Q1000s|Q1000[ _]Opus|Q1010i|Q2000|Omega[ _]5.[05])(?:[);/ ]|$)' 19468 model: '$1' 19469 - regex: 'Xolo[ _]?([^;/]+) Build' 19470 model: '$1' 19471 - regex: 'Xolo[ _]?([a-z0-9_-]+)' 19472 model: '$1' 19473 19474# Yarvik 19475Yarvik: 19476 regex: 'Xenta[ \-]Tab|Luna TAB|TAB09-410|TAB10-410|TAB07-485|TAB0[78]-200|TAB08-201-3G|TAB9-200|TAB09-211|TAB10-2[01]1|TAB13-201' 19477 device: 'tablet' 19478 models: 19479 # explicit tablet models 19480 - regex: 'Luna TAB07-920N' 19481 model: 'Luna 7' 19482 - regex: 'Luna TAB07-10[01]' 19483 model: 'Luna 7c' 19484 - regex: 'Luna TAB274' 19485 model: 'Luna 7c' 19486 - regex: 'Luna TAB474' 19487 model: 'Luna 10' 19488 - regex: 'Luna TAB10-150' 19489 model: 'Luna 10c' 19490 - regex: 'TAB09-410' 19491 model: 'Noble 9.7' 19492 - regex: 'TAB10-410' 19493 model: 'Noble 10.1' 19494 - regex: 'TAB07-485' 19495 model: 'Noble Mini' 19496 - regex: 'Xenta-TAB07-21[01]' 19497 model: 'Xenta 7c' 19498 - regex: 'TAB07-200' 19499 model: 'Xenta 7ic' 19500 - regex: 'TAB08-200' 19501 model: 'Xenta 8ic' 19502 - regex: 'TAB08-201-3G' 19503 model: 'Xenta 8c' 19504 - regex: 'TAB9-200' 19505 model: 'Xenta 9.7ic' 19506 - regex: 'TAB09-211' 19507 model: 'Xenta 9.7ic+' 19508 - regex: 'TAB10-2[01]1' 19509 model: 'Xenta 10ic' 19510 - regex: 'TAB13-201' 19511 model: 'Xenta 13c' 19512 19513# Yes 19514'Yes': 19515 regex: 'M631Y|M685Y4|M651G_MY|YES (MPY(?:48|54))' 19516 device: 'smartphone' 19517 models: 19518 - regex: 'M631Y' 19519 model: 'Altitude' 19520 - regex: 'M651G_MY' 19521 model: 'Altitude 2' 19522 - regex: 'M685Y4' 19523 model: 'Altitude 3' 19524 - regex: 'YES (MPY(?:48|54))' 19525 model: '$1' 19526 19527# Yezz 19528Yezz: 19529 regex: 'Yezz|ANDY[ _]|(?:4E4|A5EI|LIV1)(?:[);/ ]|$)' 19530 device: 'smartphone' 19531 models: 19532 - regex: '4E4' 19533 model: 'Andy 4E4' 19534 - regex: 'Yezz-AC4EI' 19535 model: 'Andy 4EI' 19536 - regex: 'YEZZ-A4M' 19537 model: 'Andy A4M' 19538 - regex: 'A5EI' 19539 model: 'Andy A5EI' 19540 - regex: 'LIV1' 19541 model: 'LIV1' 19542 19543 - regex: 'Andy[ _]([A-Z]*[0-9]\.[0-9][A-Z0-9]*)(?:[ _](LTE))?' 19544 model: 'Andy $1 $2' 19545 - regex: 'Andy[ _]([A-Z]*[0-9])([0-9][A-Z0-9]*)(?:[ _](LTE))?' 19546 model: 'Andy $1.$2 $3' 19547 - regex: 'Andy[ _]([A-Z]*[0-9][A-Z0-9]+)(?:[ _](LTE))?' 19548 model: 'Andy $1 $2' 19549 19550 19551# Yu 19552Yu: 19553 regex: '(?:YU5[05]10[A]?|YU4711|AO5510|YU5050|YU501[14]|YU5551)(?:[);/ ]|$)' 19554 device: 'smartphone' 19555 models: 19556 - regex: 'YU5010[A]?(?:[);/ ]|$)' 19557 model: 'Yuphoria' 19558 - regex: 'YU5011(?:[);/ ]|$)' 19559 model: 'Yunique 2' 19560 - regex: 'YU5050(?:[);/ ]|$)' 19561 model: 'Yutopia' 19562 - regex: 'AO5510(?:[);/ ]|$)' 19563 model: 'Yureka' 19564 - regex: 'YU5551(?:[);/ ]|$)' 19565 model: 'Yureka 2' 19566 - regex: 'YU5510[A]?(?:[);/ ]|$)' 19567 model: 'Yureka Plus' 19568 - regex: 'YU4711(?:[);/ ]|$)' 19569 model: 'Yunique' 19570 - regex: 'YU5014(?:[);/ ]|$)' 19571 model: 'Ace' 19572 19573# Yuandao 19574Yuandao: 19575 regex: 'N101[ _]DUAL(?:[ _]CORE)?(?:[ _]?2|\|\|)?(?:[ _]V11)?(?:[);/ ]|$)' 19576 device: 'tablet' 19577 model: 'N101' 19578 19579# Yusun 19580Yusun: 19581 regex: 'Yusun|LA2-T' 19582 device: 'smartphone' 19583 models: 19584 # explicit smartphone models 19585 - regex: 'LA2-T' 19586 model: 'LA2-T' 19587 19588 - regex: 'Yusun ([^;/]+) Build' 19589 model: '$1' 19590 - regex: 'Yusun ([a-z0-9_\-\+]+)' 19591 model: '$1' 19592 19593# Ytone 19594Ytone: 19595 regex: 'YTONE[ _\-]' 19596 device: 'smartphone' 19597 models: 19598 - regex: 'YTONE[ _\-]?([^/;]+) Build' 19599 model: '$1' 19600 - regex: 'YTONE[ _\-]?([^);/ ]+)' 19601 model: '$1' 19602 19603# Zonda 19604Zonda: 19605 regex: '(ZM(?:CK|EM|TFTV|TN)[a-z0-9]+)|ZA409' 19606 device: 'feature phone' 19607 models: 19608 - regex: 'ZA409' 19609 device: 'smartphone' 19610 model: 'Muzic' 19611 - regex: '(ZM(?:CK|EM|TFTV|TN)[a-z0-9]+)' 19612 model: '$1' 19613 19614# ZYQ 19615ZYQ: 19616 regex: 'ZYQ-Q88|(Q(?:2602|262[436]|638|2688|272[89]|3022|3623|TAB Tab4|328 m9|328|668)|J77|Q[._](?:Up|Boss P99|Dee R09|Good M9|Hi|Hot|Me|Mate R99|Next|TOP-X8|You))(?:[);/ ]|$)' 19617 device: 'smartphone' 19618 models: 19619 - regex: 'Q638' 19620 model: 'I7' 19621 - regex: 'Q2624' 19622 model: 'Cheer 3G' 19623 - regex: 'Q2602' 19624 model: 'TV Next' 19625 - regex: 'Q2728' 19626 model: 'Zone 3G' 19627 - regex: 'Q2729' 19628 model: 'Q2729' 19629 - regex: 'Q2688' 19630 model: 'Q2688' 19631 - regex: 'Q2623' 19632 model: 'Win 3G' 19633 - regex: 'Q2626' 19634 model: 'Care 3G' 19635 - regex: 'Q3623' 19636 model: 'Braw 3G' 19637 - regex: 'Q3022' 19638 model: 'Q3022' 19639 - regex: 'Q328 m9' 19640 model: 'Q328 M9' 19641 - regex: 'Q328' 19642 model: 'Speed 3G' 19643 - regex: 'Q668' 19644 model: 'TV I4' 19645 - regex: 'J77' 19646 model: 'Q.Dee' 19647 - regex: 'Q\.Up C5' 19648 model: 'Q.Up C5' 19649 - regex: 'Q\.Up' 19650 model: 'Q.Up' 19651 - regex: 'Q\.Boss P99' 19652 model: 'Q.Boss P99' 19653 - regex: 'Q[._]Dee R09' 19654 model: 'Q.Dee R09' 19655 - regex: 'Q\.Good M9' 19656 model: 'Q.Good M9' 19657 - regex: 'Q[._]Hi S1' 19658 model: 'Q.Hi S1' 19659 - regex: 'Q[._]Hi' 19660 model: 'Q.Hi' 19661 - regex: 'Q[._]Hot P7 3G' 19662 model: 'Q.Hot P7 3G' 19663 - regex: 'Q[._]Hot' 19664 model: 'Q.Hot' 19665 - regex: 'Q[._]Me Phone7 3G' 19666 model: 'Q.Me Phone 7 3G' 19667 - regex: 'Q[._]Me Plus7' 19668 model: 'Q.Me Plus 7' 19669 - regex: 'Q[._]Me' 19670 model: 'Q.Me' 19671 - regex: 'Q[._]Mate R99' 19672 model: 'Q.Mate R99' 19673 - regex: 'Q[._]Next B7' 19674 model: 'Q.Next B7' 19675 - regex: 'Q[._]Next J2' 19676 model: 'Q.Next J2' 19677 - regex: 'Q[._]TOP-X8' 19678 model: 'Q.Top X8' 19679 - regex: 'Q[._]You' 19680 model: 'Q.You' 19681 - regex: 'QTAB Tab4' 19682 model: 'QTab Tab4' 19683 device: 'tablet' 19684 - regex: 'ZYQ-Q88' 19685 model: 'Q88' 19686 device: 'tablet' 19687 19688 19689# Vivax (www.vivax.com) 19690Vivax: 19691 regex: 'VIVAX|(?:Fly5[_ ]Lite|Fun[_ ]S500|Point[_ ](?:X[12]|X501|X450)|PRO3|32LE77SM|40LE77SM|FUN S1|FUN_S20)(?:[);/ ]|$)' 19692 device: 'smartphone' 19693 models: 19694 - regex: 'Fly5[_ ]Lite(?:[);/ ]|$)' 19695 model: 'Fly 5 Lite' 19696 - regex: 'Point_X([12])(?:[);/ ]|$)' 19697 model: 'Point X$1' 19698 - regex: 'Fun[_ ]S500(?:[);/ ]|$)' 19699 model: 'Fun S500' 19700 - regex: 'FUN[ _]S(1|20)(?:[);/ ]|$)' 19701 model: 'Fun S$1' 19702 - regex: 'VIVAX[ _]Fly ?([32])(?:[);/ ]|$)' 19703 model: 'Fly $1' 19704 - regex: 'VIVAX[ _]Fly[ _]V(1|550)(?:[);/ ]|$)' 19705 model: 'Fly V$1' 19706 - regex: '(?:VIVAX )?(Point[ _](?:X551|X501|X450))(?:[);/ ]|$)' 19707 model: '$1' 19708 - regex: 'SMART Point X5010(?:[);/ ]|$)' 19709 model: 'Smart Point X5010' 19710 - regex: 'VIVAX[_ ]PRO3' 19711 model: 'Pro 3' 19712 - regex: 'VIVAX TABLET TPC 802 3G(?:[);/ ]|$)' 19713 model: 'TPC-802 3G' 19714 19715 - regex: '(32LE77SM|40LE77SM)' 19716 device: 'tv' 19717 model: '$1' 19718 19719# MLS or Making Life Simple (mlsinnovation.com) 19720MLS: #iQ 19721 regex: 'IQ(?:0705|L550|1010w?|1012N?|1019N|1025|1380|1401|1436|1452a|1453|1470|1502a|1511|1552|1553|1568|1570|1805N|1806|1808|1810B_M|1832|1850|1890|5017|L626|9610|181011N|A27X_E|E[12]00|EL41|G550|GW516|L30|L5[01]|M801|M1001|N700|P50|R300|S300|S1001|W503|W511T|W553N?|W60[38]|W626|M960|D700|9013_4N)(?:[);/ ]|$)' 19722 device: 'smartphone' 19723 models: 19724 - regex: 'IQ0705(?:[);/ ]|$)' 19725 model: 'iQTalk Twist' 19726 - regex: 'IQL550(?:[);/ ]|$)' 19727 model: 'Notch Lite' 19728 - regex: 'IQ1010W?(?:[);/ ]|$)' 19729 model: 'iQTab 10' 19730 device: 'tablet' 19731 - regex: 'IQ1012N?(?:[);/ ]|$)' 19732 model: 'iQTab Brave 3G' 19733 device: 'tablet' 19734 - regex: 'IQ1025(?:[);/ ]|$)' 19735 model: 'iQTab Action 4G' 19736 device: 'tablet' 19737 - regex: 'iQ9013_4N(?:[);/ ]|$)' 19738 model: 'Life 10.1"' 19739 device: 'tablet' 19740 - regex: 'IQ1019N(?:[);/ ]|$)' 19741 model: 'Alu Plus 4G 10.1"' 19742 device: 'tablet' 19743 - regex: 'iQ1805N(?:[);/ ]|$)' 19744 model: 'iQTab Ideal 8.0"' 19745 device: 'tablet' 19746 - regex: 'iQ181011N(?:[);/ ]|$)' 19747 model: 'iQTab Care 8.0"' 19748 device: 'tablet' 19749 - regex: 'IQ1380(?:[);/ ]|$)' 19750 model: 'Brain 3G' 19751 - regex: 'IQ1401(?:[);/ ]|$)' 19752 model: 'iQTalk Verse 4G' 19753 - regex: 'IQ1436(?:[);/ ]|$)' 19754 model: 'Color mini 4G' 19755 - regex: 'IQ1452a(?:[);/ ]|$)' 19756 model: 'TOP-S 4G' 19757 - regex: 'IQ1453(?:[);/ ]|$)' 19758 model: 'Trend 4G' 19759 - regex: 'IQ1470(?:[);/ ]|$)' 19760 model: 'iQTalk Onyx' 19761 - regex: 'IQ1502a(?:[);/ ]|$)' 19762 model: 'iQTalk Flame' 19763 - regex: 'IQ1511(?:[);/ ]|$)' 19764 model: 'iQTalk Spicy' 19765 - regex: 'IQ1552(?:[);/ ]|$)' 19766 model: 'iQTalk Titan 4G' 19767 - regex: 'IQ1553(?:[);/ ]|$)' 19768 model: 'Color 3 4G' 19769 - regex: 'IQ1568(?:[);/ ]|$)' 19770 model: 'Range 4G' 19771 - regex: 'IQ1570(?:[);/ ]|$)' 19772 model: 'iQTalk Color 5.5 4G' 19773 - regex: 'IQ1806(?:[);/ ]|$)' 19774 model: 'iQTab Rose' 19775 device: 'tablet' 19776 - regex: 'IQ1808(?:[);/ ]|$)' 19777 model: 'iQTab Master' 19778 device: 'tablet' 19779 - regex: 'IQ1810B_M(?:[);/ ]|$)' 19780 model: 'iQTab Novel 3G' 19781 device: 'tablet' 19782 - regex: 'IQ1832(?:[);/ ]|$)' 19783 model: 'Jet 3G' 19784 device: 'tablet' 19785 - regex: 'IQ1850(?:[);/ ]|$)' 19786 model: 'Diamond 5.2 4G' 19787 - regex: 'IQ1890(?:[);/ ]|$)' 19788 model: 'iQTalk Aura' 19789 - regex: 'IQ5017(?:[);/ ]|$)' 19790 model: 'Slice 4G' 19791 - regex: 'IQ9610(?:[);/ ]|$)' 19792 model: 'Angel 3G' 19793 device: 'tablet' 19794 - regex: 'iQM960(?:[);/ ]|$)' 19795 model: 'Angel 3G (2018)' 19796 device: 'tablet' 19797 - regex: 'IQG550(?:[);/ ]|$)' 19798 model: 'Style 4G' 19799 - regex: 'IQGW516(?:[);/ ]|$)' 19800 model: 'F5' 19801 - regex: 'IQE100(?:[);/ ]|$)' 19802 model: 'Energy 4G' 19803 - regex: 'iQE200(?:[);/ ]|$)' 19804 model: 'MX 4G' 19805 - regex: 'iQA27X_E(?:[);/ ]|$)' 19806 model: 'MX (2019)' 19807 - regex: 'IQEL41(?:[);/ ]|$)' 19808 model: 'Fab 4G' 19809 - regex: 'IQL30(?:[);/ ]|$)' 19810 model: 'Status 4G' 19811 - regex: 'IQL50(?:[);/ ]|$)' 19812 model: 'More 4G' 19813 - regex: 'IQL51(?:[);/ ]|$)' 19814 model: 'Wave 4G' 19815 - regex: 'IQM801(?:[);/ ]|$)' 19816 model: 'Brace 2018 4G' 19817 device: 'tablet' 19818 - regex: 'IQM1001(?:[);/ ]|$)' 19819 model: 'Level 4G' 19820 device: 'tablet' 19821 - regex: 'IQN700(?:[);/ ]|$)' 19822 model: 'Inspire 4G' 19823 - regex: 'IQP50(?:[);/ ]|$)' 19824 model: 'Ruby 4G' 19825 - regex: 'IQS300(?:[);/ ]|$)' 19826 model: 'DX 4G' 19827 - regex: 'IQS1001(?:[);/ ]|$)' 19828 model: 'Vista 4G' ## Gold 19829 device: 'tablet' 19830 - regex: 'IQR300(?:[);/ ]|$)' 19831 model: 'R3 4G' 19832 - regex: 'IQW608(?:[);/ ]|$)' 19833 model: 'Regal' 19834 - regex: 'iQW603(?:[);/ ]|$)' 19835 model: 'Phab 6.0"' 19836 device: 'phablet' 19837 - regex: 'IQW626(?:[);/ ]|$)' 19838 model: 'D6 4G' 19839 - regex: 'IQW511T(?:[);/ ]|$)' 19840 model: 'Liberal' 19841 - regex: 'IQW553N?(?:[);/ ]|$)' 19842 model: 'Alu 5.5"' 19843 - regex: 'iQL626?(?:[);/ ]|$)' 19844 model: 'Pop 4G' 19845 - regex: 'IQW503(?:[);/ ]|$)' 19846 model: 'Flame 4G (2018)' 19847 - regex: 'iQD700(?:[);/ ]|$)' 19848 model: 'Color Fingerprint 4G' 19849 19850# FLYCAT 19851FLYCAT: 19852 regex: 'FLYCAT' 19853 device: 'smartphone' 19854 models: 19855 - regex: 'OPTIMUM (500[1-4]|5501)' 19856 model: 'Optimum $1' 19857 - regex: 'UNICUM (1002|8S|8003)' 19858 device: 'tablet' 19859 model: 'Unicum $1' 19860 19861# Fly 19862Fly: 19863 regex: 'Fly(?!Flow|touch)|Power Plus 5000|Photo Pro|Slimline|Life (?:Ace|Jet|Sky|Compact 4G|Geo|Zen|Play)|FS50[1-9]|FS51[0-8]|FS52[0-9]|FS530|FS55[134]|FS40[1-9]|FS45[1-9]|4FS06|MERIDIAN-|(?:IQ(?!10[134]0)[0-9]{3,}[i]?)[ _]?(?:Quad|Firebird|Quattro|Turbo|Magic)?(?:[);/ ]|$)' 19864 device: 'smartphone' 19865 models: 19866 - regex: '(?:Fly_)?IQ310(?:[);/ ]|$)' 19867 model: 'Panorama' 19868 device: 'tablet' 19869 19870 - regex: '(?:Fly_)?IQ236(?:[);/ ]|$)' 19871 model: 'Victory' 19872 - regex: 'Slimline(?:[);/ ]|$)' 19873 model: 'Slimline' 19874 - regex: 'Power Plus 5000(?:[);/ ]|$)' 19875 model: 'Power Plus 5000' 19876 - regex: 'Photo Pro(?:[);/ ]|$)' 19877 model: 'Photo Pro' 19878 - regex: 'Life Ace(?:[);/ ]|$)' 19879 model: 'Life Ace' 19880 - regex: 'Life Jet(?:[);/ ]|$)' 19881 model: 'Life Jet' 19882 - regex: 'Life Sky(?:[);/ ]|$)' 19883 model: 'Life Sky' 19884 - regex: 'Life Geo(?:[);/ ]|$)' 19885 model: 'Life Geo' 19886 - regex: 'Life Zen(?:[);/ ]|$)' 19887 model: 'Life Zen' 19888 - regex: 'Life Play(?:[);/ ]|$)' 19889 model: 'Life Play' 19890 - regex: 'Life Compact 4G(?:[);/ ]|$)' 19891 model: 'Life Compact 4G' 19892 - regex: 'FS506' 19893 model: 'Cirrus 3' 19894 - regex: 'FS403' 19895 model: 'Cumulus 1' 19896 - regex: 'FS508' 19897 model: 'Cirrus 6' 19898 - regex: 'FS511' 19899 model: 'Cirrus 7' 19900 - regex: 'FS509' 19901 model: 'Nimbus 9' 19902 - regex: 'FS406' 19903 model: 'Stratus 5' 19904 - regex: 'FS404' 19905 model: 'Stratus 3' 19906 - regex: 'FS504' 19907 model: 'Cirrus 2' 19908 - regex: 'FS407' 19909 model: 'Stratus 6' 19910 - regex: 'FS401' 19911 model: 'Stratus 1' 19912 - regex: 'FS402' 19913 model: 'Stratus 2' 19914 - regex: 'FS501' 19915 model: 'Nimbus 3' 19916 - regex: 'FS502' 19917 model: 'Cirrus 1' 19918 - regex: 'FS507' 19919 model: 'Cirrus 4' 19920 - regex: 'FS505' 19921 model: 'Nimbus 7' 19922 - regex: 'FS551' 19923 model: 'Nimbus 4' 19924 - regex: 'FS514' 19925 model: 'Cirrus 8' 19926 - regex: 'FS553' 19927 model: 'Cirrus 9' 19928 - regex: 'FS554' 19929 model: 'Power Plus FHD' 19930 - regex: 'FS517' 19931 model: 'Cirrus 11' 19932 - regex: 'FS516' 19933 model: 'Cirrus 12' 19934 - regex: 'FS518' 19935 model: 'Cirrus 13' 19936 - regex: 'FS520' 19937 model: 'Selfie 1' 19938 - regex: 'FS521' 19939 model: 'Power Plus 1' 19940 - regex: 'FS522' 19941 model: 'Cirrus 14' 19942 - regex: 'FS523' 19943 model: 'Cirrus 16' 19944 - regex: 'FS524' 19945 model: 'Knockout' 19946 - regex: 'FS526' 19947 model: 'Power Plus 2' 19948 - regex: 'FS527' 19949 model: 'Nimbus 17' 19950 - regex: 'FS528' 19951 model: 'Memory Plus' 19952 - regex: 'FS529' 19953 model: 'Сhamp' 19954 - regex: 'FS530' 19955 model: 'Power Plus XXL' 19956 - regex: 'FS454' 19957 model: 'Nimbus 8' 19958 - regex: 'FS452' 19959 model: 'Nimbus 2' 19960 - regex: 'FS512' 19961 model: 'Nimbus 10' 19962 - regex: 'FS510' 19963 model: 'Nimbus 12' 19964 - regex: 'FS451' 19965 model: 'Nimbus 1' 19966 - regex: 'FS405' 19967 model: 'Stratus 4' 19968 - regex: 'FS408' 19969 model: 'Stratus 8' 19970 - regex: 'FS409' 19971 model: 'Stratus 9' 19972 - regex: 'FS455' 19973 model: 'Nimbus 11' 19974 - regex: 'FS456' 19975 model: 'Nimbus 14' 19976 - regex: 'FS457' 19977 model: 'Nimbus 15' 19978 - regex: 'FS459' 19979 model: 'Nimbus 16' 19980 - regex: 'FS458' 19981 model: 'Stratus 7' 19982 - regex: '(?:Fly_)?IQ237(?:[);/ ]|$)' 19983 model: 'Dynamic' 19984 - regex: '(?:Fly_)?IQ238(?:[);/ ]|$)' 19985 model: 'Jazz' 19986 - regex: '(?:Fly_)?IQ240(?:[);/ ]|$)' 19987 model: 'Whizz' 19988 - regex: '(?:Fly_)?IQ255(?:[);/ ]|$)' 19989 model: 'Pride' 19990 - regex: '(?:Fly_)?IQ270(?: Firebird)?(?:[);/ ]|$)' 19991 model: 'Firebird' 19992 - regex: '(?:Fly_)?IQ275(?:[);/ ]|$)' 19993 model: 'Marathon' 19994 - regex: '(?:Fly_)?IQ285(?: Turbo)?(?:[);/ ]|$)' 19995 model: 'Turbo' 19996 - regex: '(?:Fly_)?IQ430(?:[);/ ]|$)' 19997 model: 'Evoke' 19998 - regex: '(?:Fly_)?IQ431(?:[);/ ]|$)' 19999 model: 'Glory' 20000 - regex: '(?:Fly_)?IQ432(?:[);/ ]|$)' 20001 model: 'Era Nano 1' 20002 - regex: '(?:Fly_)?IQ436(?:[);/ ]|$)' 20003 model: 'Era Nano 3' 20004 - regex: '(?:Fly_)?IQ4490(?:[);/ ]|$)' 20005 model: 'Era Nano 4' 20006 - regex: '(?:Fly_)?IQ434(?:[);/ ]|$)' 20007 model: 'Era Nano 5' 20008 - regex: '(?:Fly_)?IQ4406(?:[);/ ]|$)' 20009 model: 'Era Nano 6' 20010 - regex: '(?:Fly_)?IQ436i(?:[);/ ]|$)' 20011 model: 'Era Nano 9' 20012 - regex: '(?:Fly_)?IQ440(?:[);/ ]|$)' 20013 model: 'Energy' 20014 - regex: '(?:Fly_)?IQ4401(?:[);/ ]|$)' 20015 model: 'Era Energy 2' 20016 - regex: '(?:Fly_)?IQ441(?:[);/ ]|$)' 20017 model: 'Radiance' 20018 - regex: '(?:Fly_)?IQ442 Quad(?:[);/ ]|$)' 20019 model: 'Miracle 2' 20020 - regex: '(?:Fly_)?IQ442(?:[);/ ]|$)' 20021 model: 'Miracle' 20022 - regex: '(?:Fly_)?IQ443(?:[);/ ]|$)' 20023 model: 'Trend' 20024 - regex: '(?:Fly_)?IQ444(?: Quattro)?(?:[);/ ]|$)' 20025 model: 'Diamond 2' 20026 - regex: '(?:Fly_)?IQ445(?:[);/ ]|$)' 20027 model: 'Genius' 20028 - regex: '(?:Fly_)?IQ446(?: Magic)?(?:[);/ ]|$)' 20029 model: 'Magic' 20030 - regex: '(?:Fly_)?IQ447(?:[);/ ]|$)' 20031 model: 'Era Life 1' 20032 - regex: '(?:Fly_)?IQ456(?:[);/ ]|$)' 20033 model: 'Era Life 2' 20034 - regex: '(?:Fly_)?IQ4409 Quad(?:[);/ ]|$)' 20035 model: 'Era Life 4' 20036 - regex: '(?:Fly_)?IQ448(?:[);/ ]|$)' 20037 model: 'Chic' 20038 - regex: '(?:Fly_)?IQ449(?:[);/ ]|$)' 20039 model: 'Pronto' 20040 - regex: '(?:Fly_)?IQ450(?:[);/ ]|$)' 20041 model: 'Horizon' 20042 - regex: '(?:Fly_)?IQ450[ _]Quattro(?:[);/ ]|$)' 20043 model: 'Horizon 2' 20044 - regex: '(?:Fly_)?IQ451(?:[);/ ]|$)' 20045 model: 'Vista' 20046 - regex: '(?:Fly_)?IQ452 Quad(?:[);/ ]|$)' 20047 model: 'Ego Vision 1' 20048 - regex: '(?:Fly_)?IQ454(?:[);/ ]|$)' 20049 model: 'Evo Tech 1' 20050 - regex: '(?:Fly_)?IQ4403(?:[);/ ]|$)' 20051 model: 'Energy 3' 20052 - regex: '(?:Fly_)?IQ4404(?:[);/ ]|$)' 20053 model: 'Spark' 20054 - regex: '(?:Fly_)?IQ4410 Quad(?:[);/ ]|$)' 20055 model: 'Phoenix' 20056 - regex: '(?:Fly_)?IQ4411(?:[);/ ]|$)' 20057 model: 'Energy 2' 20058 - regex: '(?:Fly_)?IQ4412 Quad(?:[);/ ]|$)' 20059 model: 'Coral' 20060 - regex: '(?:Fly_)?IQ4413[ _]Quad(?:[);/ ]|$)' 20061 model: 'Evo Chic 3' 20062 - regex: '(?:Fly_)?IQ4414 Quad(?:[);/ ]|$)' 20063 model: 'Evo Tech 3' 20064 - regex: '(?:Fly_)?IQ4415 Quad(?:[);/ ]|$)' 20065 model: 'Era Style 3' 20066 - regex: '(?:Fly_)?IQ4504 Quad(?:[);/ ]|$)' 20067 model: 'Evo Energy 5' 20068 - regex: '(?:Fly_)?IQ([0-9]+[i]? ?(?:Quad|Firebird|Quattro)?)(?:[);/ ]|$)' 20069 model: 'IQ$1' 20070 - regex: 'Fly[ _\-]?([a-z0-9_]+)/' 20071 model: '$1' 20072 device: 'feature phone' 20073 - regex: 'Flylife[ _\-]?([^/;]+)(?: Build|[;)])' 20074 model: 'Flylife $1' 20075 device: 'tablet' 20076 - regex: 'Fly[ _\-]?([a-z0-9]+)' 20077 model: '$1' 20078 - regex: 'MERIDIAN-([a-z0-9]+)' 20079 model: '$1' 20080 20081# FinePower 20082FinePower: 20083 regex: 'FinePower[_ ]?([AB][1-9]|[CD][1-9])(?:[);/ ]|$)' 20084 device: 'smartphone' 20085 models: 20086 - regex: 'FinePower[_ ]?([AB][1-9])(?:[);/ ]|$)' 20087 model: '$1' 20088 device: 'tablet' 20089 - regex: 'FinePower[_ ]?([CD][1-9])(?:[);/ ]|$)' 20090 model: '$1' 20091 20092# Freetel (freetel.jp) 20093Freetel: 20094 regex: '(?:FTJ17[AC]00|FTJ152[ABCD]|FTU18A00|FT141B|FT142D(?:_LTEXM)?|FT142A?|FTJ161[AB]|FTJ1[56]2E|FTJ162[BD]|FTE161[GE])(?:[);/ ]|$)' 20095 device: 'smartphone' 20096 models: 20097 - regex: 'FTJ152C' 20098 model: 'Samurai Miyabi' 20099 - regex: 'FTJ17A00(?:[);/ ]|$)' 20100 model: 'Rei 2 Dual' 20101 - regex: 'FTJ17C00(?:[);/ ]|$)' 20102 model: 'Priori 5' 20103 - regex: 'FTU18A00(?:[);/ ]|$)' 20104 model: 'Cricket Wave' 20105 - regex: 'FTJ161A' 20106 model: 'Musashi' 20107 - regex: 'FTE161E' 20108 model: 'Ice 2' 20109 - regex: 'FTE161G' 20110 model: 'Ice 2 Plus' 20111 - regex: 'FTJ162E' 20112 model: 'Raijin' 20113 - regex: 'FT141B' 20114 model: 'Nico' 20115 - regex: 'FT142D(?:_LTEXM)?(?:[);/ ]|$)' 20116 model: 'XM' 20117 - regex: 'FT142A?' 20118 model: 'Priori 2' 20119 - regex: 'FTJ152A' 20120 model: 'Priori 3' 20121 - regex: 'FTJ162D' 20122 model: 'Priori 4' 20123 - regex: 'FTJ152B' 20124 model: 'Priori 3S LTE' 20125 - regex: 'FTJ152D' 20126 model: 'Samurai Kiwami' 20127 - regex: 'FTJ162B' 20128 model: 'Samurai Kiwami 2' 20129 - regex: 'FTJ161B' 20130 model: 'Samurai Rei' 20131 - regex: 'FTJ152E' 20132 model: 'Katana 1' 20133 20134# Western Digital 20135Western Digital: 20136 regex: 'Westerndigital|WDSimpleBrowser' 20137 device: 'tv' 20138 models: 20139 - regex: 'Streamer2010' 20140 model: 'Streamer (2010)' 20141 20142# Zeemi 20143Zeemi: 20144 regex: 'ZEEMI[ _-]' 20145 device: 'smartphone' 20146 models: 20147 - regex: 'ZEEMI[ _-]([^/;]+) Build' 20148 model: '$1' 20149 - regex: 'ZEEMI[ _-]([^/;)]+)(?:[);/]|$)' 20150 model: '$1' 20151 20152# Zenek 20153Zenek: 20154 regex: 'Z5007|Z551[679]|Z6001' 20155 device: 'smartphone' 20156 models: 20157 - regex: 'Z5517' 20158 model: 'Leopardo' 20159 - regex: 'Z6001' 20160 model: 'Libelula' 20161 - regex: 'Z5007' 20162 model: 'Oso' 20163 - regex: 'Z5519' 20164 model: 'Pingûino' 20165 - regex: 'Z5516' 20166 model: 'Zebra' 20167 20168# Nubia (www.nubia.com) 20169Nubia: 20170 regex: 'Nubia[ _]|(?:NX(?:403A|404H|406E|40[X2]|503A|50[5678]J|51[0123]J|521J|523J_V1|529Jq?|5[345]1J|5[48]9J|569[HJ]|5[67]3J|575J|59[157]J|60[1689]J|61[12679]J|62[79]J|65[19]J|6[126]9J|666J|907J))(?:[);/ ]|$)' 20171 device: 'smartphone' 20172 models: 20173 - regex: 'NX669J' 20174 model: 'Red Magic 6' 20175 - regex: 'NX666J' 20176 model: 'Red Magic 6R' 20177 - regex: 'NX619J' 20178 model: 'Red Magic Mars' 20179 - regex: 'NX629J' 20180 model: 'Red Magic 3' 20181 - regex: 'NX40[X2]' 20182 model: 'Z5 Mini' 20183 - regex: 'NX(403[AE]|406E|404H)' 20184 model: 'Z5S Mini' 20185 - regex: 'NX503A' 20186 model: 'Z5S' 20187 - regex: 'NX506J' 20188 model: 'Z7' 20189 - regex: 'NX507J' 20190 model: 'Z7 Mini' 20191 - regex: 'NX505J' 20192 model: 'Z7 Max' 20193 - regex: 'NX508J' 20194 model: 'Z9' 20195 - regex: '(NX5[12]1J|Nubia Z9 mini)' 20196 model: 'Z9 Mini' 20197 - regex: '(NX510J|Nubia Z9 Max)' 20198 model: 'Z9 Max' 20199 - regex: 'NX512J' 20200 model: 'Z9 Max Dual' 20201 - regex: 'NX531J' 20202 model: 'Z11' 20203 - regex: 'NX523J_V1' 20204 model: 'Z11 Max' 20205 - regex: '(?:NX549J|Nubia Z11 mini S)' 20206 model: 'Z11 Mini S' 20207 - regex: '(?:NX529Jq?|Nubia Z11 mini)' 20208 model: 'Z11 Mini' 20209 - regex: 'NX606J' 20210 model: 'Z18' 20211 - regex: 'NX616J' 20212 model: 'Z18S' 20213 - regex: 'NX611J' 20214 model: 'Z18 Mini' 20215 - regex: 'NX551J' 20216 model: 'M2' 20217 - regex: 'NX563J' 20218 model: 'Z17' 20219 - regex: 'NX569[HJ]' 20220 model: 'Z17 Mini' 20221 - regex: 'NX589J' 20222 model: 'Z17 Mini S' 20223 - regex: 'NX591J' 20224 model: 'Z17 Lite' 20225 - regex: 'NX595J' 20226 model: 'Z17S' 20227 - regex: 'NX612J' 20228 model: 'V18' 20229 - regex: 'NX627J' 20230 model: 'Z20' 20231 - regex: 'NX513J' 20232 model: 'My Prague' 20233 - regex: 'NX601J' 20234 model: 'X6' 20235 - regex: 'NX609J' 20236 model: 'Red Magic' 20237 - regex: 'NX659J' 20238 model: 'Red Magic 5G' 20239 - regex: 'NX651J' 20240 model: 'Play' 20241 - regex: 'NX573J' 20242 model: 'M2 Lite' 20243 - regex: 'NX907J' 20244 model: 'M2 Play' 20245 - regex: 'NX541J' 20246 model: 'N1' 20247 - regex: 'NX597J' 20248 model: 'N1 Lite' 20249 - regex: 'NX575J' 20250 model: 'N2' 20251 - regex: 'NX6(?:08|17)J' 20252 model: 'N3' 20253 - regex: 'Nubia[_ ]([^;)/]+)( build|[;)])' 20254 model: '$1' 20255 20256# Rakuten (network.mobile.rakuten.co.jp) 20257Rakuten: 20258 regex: '(?:ZR01|3917JR|P710|C330)(?:[);/ ]|$)' 20259 device: 'smartphone' 20260 models: 20261 - regex: 'ZR01' 20262 model: 'Big' 20263 - regex: '3917JR' 20264 model: 'Big S' 20265 - regex: 'P710' 20266 model: 'Hand' 20267 - regex: 'C330' 20268 model: 'C330 Mini' 20269 20270# ZTE 20271ZTE: 20272 regex: 'ZTE|AxonPhone|([a-z0-9]+)_USA_Cricket|(?:Blade (?:V0820|L110|L[2357]|L7A|S6|V[6789]|V8Q|V8 SE|V9 VITA|X7|A(310|460|465|475|520|530|602)|V580|V Ultra|Q Lux)|N9[15]8St|N818S|N951[0579]|N91[38]0|N9101|N913[267]|N952[01]|N9560|N9810|N799D|[UV]9180|[UV]9815|Z(?:5151V|610DL|6400C|6410S|233V|331|5031O|559DL|6621O|667T|768G|792|81[25]|818L|82[08]|83[12359]|85[125]|851M|992|(557|71[67]|798|836|861|916)BL|986DL|(232|718|828)TL|(?:233|353|558|717|799|837|862|899|917|963)VL|955A|95[678]|965|97[018]|98[1237]|986U|999|936L)|V769M|Apex2|G (LTE|Lux)|Vec|Z959|V865M|Z3001S|902ZT|KIS II Max|Kis 3|K3DX-V5G|Z930L|Optus X|Blade[ _](A510|A[357] 2019-T|A6 MAX|A0622|X9)|Z3153V|Z836F|Ctyon-A9|602ZT|MO-01[JK]|Z963U|402ZT|P545|P609|dandelion|901ZT|A00[13]ZT|Z-01K|UZTE (?:GRAND V7|V808)|ZTG01|K8[37]CA|VERGATARIO ?5(?:PLUS)?|Axon mini)(?:[);/ ]|$)' 20273 device: 'smartphone' 20274 models: 20275 # explicit smartphone models 20276 - regex: '602ZT(?:[);/ ]|$)' 20277 model: 'Libero 2' 20278 - regex: 'A001ZT(?:[);/ ]|$)' 20279 model: 'Libero 3' 20280 - regex: 'A003ZT(?:[);/ ]|$)' 20281 model: 'Libero 5G' 20282 - regex: '901ZT(?:[);/ ]|$)' 20283 model: 'Libero S10' 20284 - regex: 'ZTG01(?:[);/ ]|$)' 20285 model: 'A1' 20286 - regex: 'ZTE T221(?:[);/ ]|$)' 20287 model: 'Blade AF3' 20288 - regex: 'A7020(?:RU)?(?:[);/ ]|$)' 20289 model: 'Blade A7s (2020)' 20290 - regex: 'A7000(?:[);/ ]|$)' 20291 model: 'Blade A7 (2020)' 20292 - regex: 'A7030' 20293 model: 'Blade A71' 20294 - regex: 'ZTE (?:2050|V1050)(?:RU)?' 20295 model: 'Blade 20 Smart' 20296 - regex: '902ZT(?:[);/ ]|$)' 20297 model: 'Axon 10 Pro 5G' 20298 - regex: 'A2021L?(?:[);/ ]|$)' 20299 model: 'Axon 11 5G' 20300 - regex: 'A2021E?(?:[);/ ]|$)' 20301 model: 'Axon 11' 20302 - regex: 'A2022PG' 20303 model: 'Axon 30 Ultra' 20304 - regex: 'N799D(?:[);/ ]|$)' 20305 model: 'Blade Eg' 20306 - regex: 'Z818L(?:[);/ ]|$)' 20307 model: 'Allstar' 20308 - regex: 'Z3001S(?:[);/ ]|$)' 20309 model: 'Quest Plus' 20310 - regex: 'Ctyon-A9(?:[);/ ]|$)' 20311 model: 'Ctyon A9' 20312 - regex: 'K3DX-V5G(?:[);/ ]|$)' 20313 model: 'V5G' 20314 - regex: '(?:ZTE)?N918St(?:[);/ ]|$)' 20315 model: 'V5S' 20316 - regex: 'N958St(?:[);/ ]|$)' 20317 model: 'V5 Max' 20318 - regex: 'N9101(?:[);/ ]|$)' 20319 model: 'Imperial' 20320 - regex: 'Z963U(?:[);/ ]|$)' 20321 model: 'Imperial Max' 20322 - regex: 'N9120(?:[);/ ]|$)' 20323 model: 'Avid' 20324 - regex: 'N9130(?:[);/ ]|$)' 20325 model: 'Speed' 20326 - regex: 'N9132(?:[);/ ]|$)' 20327 model: 'Prestige' 20328 - regex: 'N9136(?:[);/ ]|$)' 20329 model: 'Prestige 2' 20330 - regex: 'N9137(?:[);/ ]|$)' 20331 model: 'Tempo X' 20332 - regex: 'N9180(?:[);/ ]|$)' 20333 model: 'V5' 20334 - regex: 'N9510(?:[);/ ]|$)' 20335 model: 'Warp 4G' 20336 - regex: 'Z5151V(?:[);/ ]|$)' 20337 model: 'Visible R2' 20338 - regex: 'N9517(?:[);/ ]|$)' 20339 model: 'Blade Force' 20340 - regex: 'Z559DL(?:[);/ ]|$)' 20341 model: 'Blade T2' 20342 - regex: '402ZT(?:[);/ ]|$)' 20343 model: 'Blade Q+' 20344 - regex: 'Blade Q Lux(?:[);/ ]|$)' 20345 model: 'Blade Q Lux' 20346 - regex: 'N9515(?:[);/ ]|$)' 20347 model: 'Warp Sync' 20348 - regex: 'N9519(?:[);/ ]|$)' 20349 model: 'Warp 7' 20350 - regex: 'N9520(?:[);/ ]|$)' 20351 model: 'Boost Max' 20352 - regex: 'N9521(?:[);/ ]|$)' 20353 model: 'Boost Max+' 20354 - regex: 'N9560(?:[);/ ]|$)' 20355 model: 'Max XL' 20356 - regex: 'N9810(?:[);/ ]|$)' 20357 model: 'Vital' 20358 - regex: '[UV]9180(?:[);/ ]|$)' 20359 model: 'V5 Red Bull' 20360 - regex: '[UV]9815(?:[);/ ]|$)' 20361 model: 'Grand Memo LTE' 20362 - regex: 'V779M' 20363 model: 'Joey Jump 2' 20364 - regex: 'V807' 20365 model: 'Blade C' 20366 - regex: 'V809' 20367 model: 'Blade C2' 20368 - regex: 'ZTE[_ ]Blade[_ ](C2|V7)[_ ]Plus' 20369 model: 'Blade $1 Plus' 20370 - regex: 'Blade G Plus' 20371 model: 'Blade G Plus' 20372 - regex: 'ZTE_Blade_III' 20373 model: 'Blade III' 20374 - regex: '(?:ZTE_)?V829' 20375 model: 'Blade G Pro' 20376 - regex: 'V882' 20377 model: 'Lord' 20378 - regex: 'V967S' 20379 model: 'Grand X2' 20380 - regex: 'V970M?|V987' 20381 model: 'Grand X' 20382 - regex: 'Z959(?:[);/ ]|$)' 20383 model: 'Grand X3' 20384 - regex: 'V8000' 20385 model: 'Nova 4' 20386 - regex: 'Z95[67]' 20387 model: 'Grand X4' 20388 - regex: 'Z987' 20389 model: 'Grand X Max+' 20390 - regex: '(?:ZTE_)?Grand[ _]Era' 20391 model: 'Grand Era' 20392 - regex: 'UZTE GRAND V7' # UZTE 20393 model: 'Grand V7' 20394 - regex: 'V788D' 20395 model: 'Kis Plus' 20396 - regex: 'Z331(?:[);/ ]|$)' 20397 model: 'Z331' 20398 - regex: 'N818S(?:[);/ ]|$)' 20399 model: 'N818S' 20400 - regex: 'Z5031O(?:[);/ ]|$)' 20401 model: 'Optus X Spirit 2' 20402 - regex: 'P545(?:[);/ ]|$)' 20403 model: 'Optus X Power 2' 20404 - regex: 'P609(?:[);/ ]|$)' 20405 model: 'Optus X Wave' 20406 - regex: 'Optus X Start(?:[);/ ]|$)' 20407 model: 'Optus X Start' 20408 - regex: 'BA520(?:[);/ ]|$)' 20409 model: 'Blade A520' 20410 - regex: 'Blade (A(0620|310|321|452|460|462|465|475|510|512|52[012]|530|531|602|612|910)|L[12]10|L130|V0730|V0800|V580|V1000)(?:[);/ ]|$)' 20411 model: 'Blade $1' 20412 - regex: 'Blade L2 Plus(?:[);/ ]|$)' 20413 model: 'Blade L2 Plus' 20414 - regex: '(?:ZTE_)?Blade[ _]L2(?:[);/ ]|$)' 20415 model: 'Blade L2' 20416 - regex: 'Blade L3 Plus(?:[);/ ]|$)' 20417 model: 'Blade L3 Plus' 20418 - regex: 'Blade L3 Apex(?:[);/ ]|$)' 20419 model: 'Blade L3 Apex' 20420 - regex: 'Blade L3(?:[);/ ]|$)' 20421 model: 'Blade L3' 20422 - regex: 'ZTE[ _]T610(?:[);/ ]|$)' 20423 model: 'Blade L4' 20424 - regex: 'ZTE[ _]Blade L4 Pro(?:[);/ ]|$)' 20425 model: 'Blade L4 Pro' 20426 - regex: '(?:Blade L5 Plus|BLADE L0510)(?:[);/ ]|$)' 20427 model: 'Blade L5 Plus' 20428 - regex: 'Blade L5(?:[);/ ]|$)' 20429 model: 'Blade L5' 20430 - regex: 'Blade L6(?:[);/ ]|$)' 20431 model: 'Blade L6' 20432 - regex: 'Blade L7A(?:[);/ ]|$)' 20433 model: 'Blade L7A' 20434 - regex: 'Blade L7(?:[);/ ]|$)' 20435 model: 'Blade L7' 20436 - regex: 'Blade L8(?:RU)?(?:[);/ ]|$)' 20437 model: 'Blade L8' 20438 - regex: 'Blade A([357]) (20(?:19|20))' 20439 model: 'Blade A$1 ($2)' 20440 - regex: 'ZTE BV0720(?:[);/ ]|$)' 20441 model: 'Blade A2' 20442 - regex: 'ZTE C880A(?:[);/ ]|$)' 20443 model: 'Blade A1' 20444 - regex: 'Blade A([35]1?) Lite' 20445 model: 'Blade A$1 Lite' 20446 - regex: 'ZTE Blade (A[35]1)' 20447 model: 'Blade $1' 20448 - regex: 'BLADE A0622(?:[);/ ]|$)' 20449 model: 'Blade A6' 20450 - regex: 'BLADE (?:A6 MAX|A0605)(?:[);/ ]|$)' 20451 model: 'Blade A6 Max' 20452 - regex: 'A0622(?:[);/ ]|$)' 20453 model: 'Blade A6 Lite' 20454 - regex: 'Blade S6 Plus(?:[);/ ]|$)' 20455 model: 'Blade S6 Plus' 20456 - regex: 'Blade S6(?:[);/ ]|$)' 20457 model: 'Blade S6' 20458 - regex: 'BLADE A5 PRO(?:[);/ ]|$)' 20459 model: 'Blade A5 Pro' 20460 - regex: 'T920(?:[);/ ]|$)' 20461 model: 'Blade S7' 20462 - regex: 'ZTE[ _]T617(?:[);/ ]|$)' 20463 model: 'Blade D Lux' 20464 - regex: 'Blade L210' 20465 model: 'Blade L210' 20466 - regex: 'BLADE V Ultra(?:[);/ ]|$)' 20467 model: 'Blade V Ultra' 20468 - regex: 'Blade V6 MAX(?:[);/ ]|$)' 20469 model: 'Blade V6 Max' 20470 - regex: 'Blade V6 Plus(?:[);/ ]|$)' 20471 model: 'Blade V6 Plus' 20472 - regex: 'Blade (?:V7 Lite|V0720)(?:[);/ ]|$)' 20473 model: 'Blade V7 Lite' 20474 - regex: 'Blade V([67])(?:[);/ ]|$)' 20475 model: 'Blade V$1' 20476 - regex: 'ZTE Blade V1000|(?:ZTE_)?V1000' 20477 model: 'Blade V10' 20478 - regex: 'Blade X([79])(?:[);/ ]|$)' 20479 model: 'Blade X$1' 20480 - regex: 'Blade (?:V8Q|V0840)(?:[);/ ]|$)' 20481 model: 'Blade V8Q' 20482 - regex: 'Blade V8 SE(?:[);/ ]|$)' 20483 model: 'Blade V8 SE' 20484 - regex: 'BLADE V0920' 20485 model: 'Blade V9 Vita' 20486 - regex: 'ZTE 8030' 20487 model: 'Blade V30 Vita' 20488 - regex: 'ZTE 9030' 20489 model: 'Blade V30' 20490 - regex: 'Blade V(9|10) Vita(?:[);/ ]|$)' 20491 model: 'Blade V$1 Vita' 20492 - regex: 'Blade V([89]|10)(?:[);/ ]|$)' 20493 model: 'Blade V$1' 20494 - regex: 'BLADE V0820(?:[);/ ]|$)' 20495 model: 'Blade V8 Lite' 20496 - regex: 'BLADE V0850(?:[);/ ]|$)' 20497 model: 'Blade V8 Mini' 20498 - regex: '(?:Blade[ _])?(Apex2|G (LTE|Lux)|Vec|A510)' 20499 model: 'Blade $1' 20500 - regex: 'Z768G(?:[);/ ]|$)' 20501 model: 'Midnight' 20502 - regex: 'Z820' 20503 model: 'Obsidian' 20504 - regex: 'Z986U' 20505 model: 'Blade Max 3' 20506 - regex: 'Z6410S' 20507 model: 'Blade Max 2s' 20508 - regex: 'Z610DL' 20509 model: 'Blade Max View' 20510 - regex: 'Z971' 20511 model: 'Blade Spark' 20512 - regex: 'Z978' 20513 model: 'Blade V8 Pro' 20514 - regex: 'Z839' 20515 model: 'Blade Vantage' 20516 - regex: 'Z3153V' 20517 model: 'Blade Vantage 2' 20518 - regex: 'Z930L' 20519 model: 'Unico LTE' 20520 - regex: 'Z965' 20521 model: 'Blade X' 20522 - regex: 'Z6400C' 20523 model: 'Blade X2 Max' 20524 - regex: 'Z981' 20525 model: 'Blade Z Max Pro' 20526 - regex: 'Z982' 20527 model: 'Blade Z Max' 20528 - regex: 'Z983' 20529 model: 'Blade X Max' 20530 - regex: 'Z717[BV]L(?:[);/ ]|$)' 20531 model: 'Citrine LTE' 20532 - regex: 'Z233VL(?:[);/ ]|$)' 20533 model: 'Cymbal-C LTE' 20534 - regex: 'Z233V' 20535 model: 'Cymbal LTE' 20536 - regex: 'Z232TL' 20537 model: 'Cymbal-G LTE' 20538 - regex: 'Z353VL' 20539 model: 'Cymbal-T LTE' 20540 - regex: 'Z718TL' 20541 model: 'Jasper LTE' 20542 - regex: 'KIS II Max' 20543 model: 'Kis II Max' 20544 - regex: 'Kis 3' 20545 model: 'Kis 3' 20546 - regex: '(?:Z798BL|Z799VL)(?:[);/ ]|$)' 20547 model: 'Majesty Pro LTE' 20548 - regex: 'Z899VL' 20549 model: 'Majesty Pro Plus LTE' 20550 - regex: 'Z828TL' 20551 model: 'Midnight Pro LTE' 20552 - regex: '(?:ZTE-)?Z792' 20553 model: 'Fanfare' 20554 - regex: '(?:ZTE-)?Z812' 20555 model: 'Maven' 20556 - regex: 'Z815' 20557 model: 'Fanfare 2' 20558 - regex: 'Z831' 20559 model: 'Maven 2' 20560 - regex: 'Z832' 20561 model: 'Sonata 3' 20562 - regex: 'Z835' 20563 model: 'Maven 3' 20564 - regex: 'Z851(?:[);/ ]|$)' 20565 model: 'Prelude Plus' 20566 - regex: 'Z851M' 20567 model: 'Overture 3' 20568 - regex: 'Z852' 20569 model: 'Fanfare 3' 20570 - regex: 'Z828' 20571 model: 'Avid Plus' 20572 - regex: 'Z855' 20573 model: 'Avid 4' 20574 - regex: 'Z833' 20575 model: 'Avid TRIO' 20576 - regex: '(?:Z836BL|Z837VL|Z836F)(?:[);/ ]|$)' 20577 model: 'ZFive 2 LTE' 20578 - regex: 'Z558VL' 20579 model: 'ZFive C LTE' 20580 - regex: 'Z557BL' 20581 model: 'ZFive G LTE' 20582 - regex: '(?:Z861BL|Z862VL)(?:[);/ ]|$)' 20583 model: 'ZFive L LTE' 20584 - regex: 'Z916BL' 20585 model: 'ZMax Grand LTE' 20586 - regex: 'Z917VL' 20587 model: 'ZMax Champ LTE' 20588 - regex: '(?:Z958|Z955A)(?:[);/ ]|$)' 20589 model: 'ZMax 2' 20590 - regex: 'dandelion(?:[);/ ]|$)' 20591 model: 'ZMax 3' 20592 - regex: 'Z963VL' 20593 model: 'Max Duo LTE' 20594 - regex: 'Z970' 20595 model: 'ZMax Z970' 20596 - regex: 'Z986DL' 20597 model: 'MAX Blue LTE' 20598 - regex: '(?:ZTE[-_])?Z992' 20599 model: 'Avail 2' 20600 - regex: '(?:Z999|Z-01K)(?:[);/ ]|$)' 20601 model: 'Axon M' 20602 - regex: 'B2016|Axon mini' 20603 model: 'Axon Mini' 20604 - regex: 'A2015' 20605 model: 'Axon Tianji' 20606 - regex: 'A2017[GU]?' 20607 model: 'Axon 7' 20608 - regex: 'A2018' 20609 model: 'Axon 7s' 20610 - regex: 'A2019G Pro' 20611 model: 'Axon Pro' 20612 - regex: 'B2017G' 20613 model: 'Axon 7 Mini' 20614 - regex: 'A2020(?:RU|G)? Pro(?:[);/ ]|$)' 20615 model: 'Axon 10 Pro' 20616 - regex: 'Z667T' 20617 model: 'Zinger' 20618 - regex: 'V?975|geek' 20619 model: 'Geek' 20620 - regex: 'Z716BL' 20621 model: 'Citrine LTE' 20622 - regex: 'X500' 20623 model: 'Score' 20624 - regex: 'X501' 20625 model: 'Groove' 20626 - regex: '(?:ZTE-)?G-X991' 20627 model: 'Rio' 20628 - regex: 'F-450' 20629 model: 'Adamant' 20630 - regex: 'Z936L(?:[);/ ]|$)' 20631 model: 'Lever' 20632 - regex: 'MO-01[JK](?:[);/ ]|$)' 20633 model: 'Mono' 20634 - regex: 'V865M(?:[);/ ]|$)' 20635 model: 'V865M' 20636 - regex: 'Z6621O(?:[);/ ]|$)' 20637 model: 'Optus X Vista' 20638 - regex: 'V769M(?:[);/ ]|$)' 20639 model: 'Leo Q2' 20640 - regex: 'VERGATARIO 5(?:[);/ ]|$)' 20641 model: 'Vergatario 5' 20642 - regex: 'VERGATARIO5PLUS(?:[);/ ]|$)' 20643 model: 'Vergatario 5 Plus' 20644 - regex: 'ZTE V5 PRO(?:[);/ ]|$)' 20645 model: 'V5 Pro' 20646 - regex: 'ZTE 9000' 20647 model: 'Blade V2020' 20648 20649 - regex: 'A2121[LE](?:[);/ ]|$)' 20650 device: 'phablet' 20651 model: 'Axon 20 5G' 20652 - regex: 'ZTE 8010' 20653 device: 'phablet' 20654 model: 'Blade V2020 Smart' 20655 20656 # explicit tablet models 20657 - regex: 'K83CA(?:[);/ ]|$)' 20658 device: 'tablet' 20659 model: 'Grand X View 3' 20660 - regex: 'K87CA(?:[);/ ]|$)' 20661 device: 'tablet' 20662 model: 'Grand X View 4' 20663 20664 - regex: 'AxonPhone ([^;/]+) Build' 20665 model: 'AxonPhone $1' 20666 - regex: '([a-z0-9]+)_USA_Cricket' 20667 model: '$1' 20668 - regex: 'ZTE[- ](V98|V96A|V81|V70)(?:[);/ ]|$)' 20669 model: '$1' 20670 device: 'tablet' 20671 - regex: 'ZTE[- ]([a-z0-9\-_ ]+) Build' 20672 model: '$1' 20673 - regex: 'ZTE-(?:G |G-)?([a-z0-9 _]+)' 20674 model: '$1' 20675 - regex: 'U?ZTE[ _]?([a-z0-9]+)' 20676 model: '$1' 20677 20678Zuum: 20679 regex: 'Zuum[ _-]|Android 6.+ UNIQ(?: Build|[);])|(?:ROCKET II|Akus Z|COVET|MAGNO|ONIX S|STEDI|STELLAR(?:[ _](?:Z|PRO|[MP]1))?|GRAVITY [ZM]|AURA X|COVET_PRO_LITE|RONI)(?:[);/ ]|$)' 20680 device: 'smartphone' 20681 models: 20682 - regex: 'Akus Z' 20683 model: 'Akus Z' 20684 - regex: 'COVET_PRO_LITE' 20685 model: 'Covet Pro Lite' 20686 - regex: 'COVET PRO' 20687 model: 'Covet Pro' 20688 - regex: 'COVET( Z)?' 20689 model: 'Covet$1' 20690 - regex: 'MAGNO PLUS' 20691 model: 'Magno Plus' 20692 - regex: 'MAGNO( C1?)?' 20693 model: 'Magno$1' 20694 - regex: 'ONIX S' 20695 model: 'Onix S' 20696 - regex: 'STEDI' 20697 model: 'Stedi' 20698 - regex: 'STELLAR PRO' 20699 model: 'Stellar Pro' 20700 - regex: 'STELLAR PLUS' 20701 model: 'Stellar Plus' 20702 - regex: 'STELLAR ([MP]1|Z)' 20703 model: 'Stellar $1' 20704 - regex: 'STELLAR MINI' 20705 model: 'Stellar Mini' 20706 - regex: 'STELLAR MINI' 20707 model: 'Stellar Mini' 20708 - regex: 'STELLAR' 20709 model: 'Stellar' 20710 - regex: 'GRAVITY ([MZ])' 20711 model: 'Gravity $1' 20712 - regex: 'AURA X' 20713 model: 'Aura X' 20714 - regex: 'RONI' 20715 model: 'Roni' 20716 - regex: 'ROCKET II' 20717 model: 'Rocket II' 20718 - regex: 'Android 6.+ UNIQ(?: Build|[);])' 20719 model: 'Uniq' 20720 - regex: 'Zuum[ _-]([^;/]+) Build' 20721 model: '$1' 20722 - regex: 'Zuum[ _-]?([^;/)]+)(?:[);/ ]|$)' 20723 model: '$1' 20724 20725# Zen 20726Zen: 20727 regex: '(Admire[_ ][^/;]+|Cinemax[^/;)]+)(?:Build|\))|AdmireGlam' 20728 device: 'smartphone' 20729 models: 20730 - regex: 'AdmireGlam(?:[);/ ]|$)' 20731 model: 'Admire Glam' 20732 - regex: '(Admire[_ ][^/;]+|Cinemax[^/;)]+)(?:Build|\))' 20733 model: '$1' 20734 20735# Zync 20736Zync: 20737 regex: 'ZYNC|(Cloud Z5|Z1000|Z18|Z99|Z99[_ ][23]G|Z99|Z900[_ ]Plus|Z909|Z930[+]|Z930)(?:[);/ ]|$)' 20738 device: 'tablet' 20739 models: 20740 - regex: '(Z18| DuZ99al Core|Z99[_ ][23]G|Z99 Dual Core|Z99|Z900[_ ]Plus|Z909|Z930[+]|Z930)' 20741 model: '$1' 20742 - regex: '(Z1000[^/;]+)Build' 20743 model: '$1' 20744 - regex: 'Cloud (Z5)' 20745 model: 'Cloud $1' 20746 - regex: 'ZYNC Cloud[ _]([^;]+)Build' 20747 model: 'Cloud $1' 20748 - regex: 'ZYNC[ _]([^;]+)Build' 20749 model: '$1' 20750 20751# Lemhoov 20752Lemhoov: 20753 regex: 'Lemhoov' 20754 device: 'smartphone' 20755 models: 20756 - regex: 'Lemhoov[ _-]([^/;]+) Build' 20757 model: '$1' 20758 20759# MTC (MTS) 20760MTC: 20761 regex: 'MTC[ _](968|97[82]|970|982[OT]?|1078)|(?:MTC[_ ])?SMART[ _]?(?:Race[2]?|Sprint|Run|Surf[2]?)[ _]4G|MTC975|Smart Bit|Smart_(?:LINE|Light)|MTC[ _]SMART[ _](?:Run|Start_2)|Redbox Mini 5\(MTS\)|MTS TV' 20762 device: 'smartphone' 20763 models: 20764 - regex: 'MTC[ _]?(97[258]|970[H]?|982[OT]?|968)' 20765 model: '$1' 20766 - regex: 'MTC[ _](1078)' 20767 model: '$1' 20768 device: 'tablet' 20769 - regex: 'SMART[ _]Race[ _]4G' 20770 model: 'Smart Race 4G' 20771 - regex: 'SMART[ _]Race2[ _]4G' 20772 model: 'Smart Race 2 4G' 20773 - regex: '(?:MTC_)?SMART[ _]Sprint[ _]4G' 20774 model: 'Smart Sprint 4G' 20775 - regex: '(?:MTC_)?SMART[ _]Start_2' 20776 model: 'Smart Start 2' 20777 - regex: 'Smart_LINE' 20778 model: 'Smart Line' 20779 - regex: 'Smart_Light' 20780 model: 'Smart Light' 20781 - regex: 'Smart Bit' 20782 model: 'Smart Bit' 20783 - regex: 'SMART[ _]?Run(?:[ _]4G)?' 20784 model: 'Smart Run 4G' 20785 - regex: 'SMART[ _]Surf2[ _]4G' 20786 model: 'Smart Surf 2 4G' 20787 - regex: 'SMART[ _]Surf[ _]4G' 20788 model: 'Smart Surf 4G' 20789 - regex: 'Redbox Mini 5\(MTS\)' 20790 device: 'tv' 20791 model: 'Redbox Mini 5' 20792 - regex: 'MTS TV Box 317' 20793 device: 'tv' 20794 model: 'SB-317' 20795 20796# MegaFon 20797MegaFon: 20798 regex: 'MegaFon|MFLoginPh|MegLogPh|(MFLogin[34]T?|MS3B|SP-A5|SP-A20i)(?:[);/ ]|$)' 20799 device: 'smartphone' 20800 models: 20801 - regex: 'MFLoginPh|MegLogPh' 20802 model: 'Login+' 20803 - regex: 'MFLogin4' 20804 model: 'Login 4 LTE' 20805 - regex: 'MFLogin3T|MegaFon Login 3' 20806 model: 'Login 3' 20807 device: 'tablet' 20808 - regex: 'MS3B|Megafon Optima' 20809 model: 'Optima' 20810 - regex: 'SP-A20i' 20811 model: 'Mint' 20812 - regex: '(SP-A5)' 20813 model: '$1' 20814 - regex: 'MegaFon V9+' 20815 device: 'tablet' 20816 model: 'V9 Plus' 20817 20818# Inoi 20819Inoi: 20820 regex: 'INOI' 20821 device: 'smartphone' 20822 models: 20823 - regex: 'inoiPad mini 2\+32 Wi-Fi\+3G' 20824 device: 'tablet' 20825 model: 'Pad Mini 2+32' 20826 - regex: 'inoiPad 2\+32 Wi-Fi\+3G' 20827 device: 'tablet' 20828 model: 'Pad 2+32' 20829 - regex: 'INOI (2|5) Lite (2019|2021)' 20830 model: '$1 Lite ($2)' 20831 - regex: 'INOI[_ ]([13])[_ ]LITE' 20832 model: '$1 Lite' 20833 - regex: 'INOI ([257]) (2019|202[01])(?:[);/ ]|$)' 20834 model: '$1 ($2)' 20835 - regex: 'INOI[_ ]([^);/]+)(?: Build|[;)])' 20836 model: '$1' 20837 20838# Vertex (vertex-digital.ru) 20839Vertex: 20840 regex: '(?:Luck|Luck_L1[02]0_[34]G|Lion_Dual|V709X|TAB X8|Tab [43]G (?:7-2|8-1|10-1)|Pro_P3[01]0_4G|Lion_DC|Baccara|Eagle[ _]4G|ImpressMAX)(?:[);/ ]|$)|Impress[ _]([^;/]+)(?:Build|\))' 20841 device: 'smartphone' 20842 models: 20843 - regex: '(Lion_Dual|Lion_DC|Baccara|Eagle[ _]4G|Luck_L1[02]0_[34]G|Luck)(?:[);/ ]|$)' 20844 model: '$1' 20845 - regex: 'Impress ?MAX(?:[);/ ]|$)' 20846 model: 'Impress Max' 20847 - regex: 'IMPRESS ECLIPSE(?:[);/ ]|$)' 20848 model: 'Impress Eclipse' 20849 - regex: 'Pro_P(3[01]0)_4G(?:[);/ ]|$)' 20850 model: 'Pro P$1 4G' 20851 - regex: 'Impress_Luck[_ ]?4G_NFC(?:[);/ ]|$)' 20852 model: 'Impress Luck 4G NFC' 20853 - regex: '(Impress[ _][a-z]+)([34])G(?:Build|\))' 20854 model: '$1 $2G' 20855 - regex: '(Impress[ _](?:[^;/]+))(?:Build|\))' 20856 model: '$1' 20857 - regex: '(V709X)' 20858 device: 'tablet' 20859 model: '$1' 20860 - regex: 'TAB X8(?:[);/ ]|$)' 20861 device: 'tablet' 20862 model: 'Tab X8' 20863 - regex: 'Tab ([43])G ([78]|10)-([21])' 20864 device: 'tablet' 20865 model: 'Tab $1G $2.$3"' 20866 20867# Starway 20868Starway: 20869 regex: 'Andromeda[ _]S(707|84[05]|850|8)(?:[);/ ]|$)' 20870 device: 'tablet' 20871 model: 'Andromeda S$1' 20872 20873# Savio 20874Savio: 20875 regex: ' (TB-PO1|TB-B01|TB-G01)(?:[);/ ]|$)' 20876 device: 'tv' 20877 model: '$1' 20878 20879# Simbans 20880Simbans: 20881 regex: 'TangoTab|Presto[ )]|Ultimax|Valumax|S72-B|SX2W' 20882 device: 'tablet' 20883 models: 20884 - regex: 'TangoTab' 20885 model: 'TangoTab' 20886 - regex: 'Ultimax' 20887 model: 'Ultimax' 20888 - regex: 'Valumax' 20889 model: 'Valumax' 20890 - regex: 'Presto' 20891 model: 'Presto' 20892 - regex: 'S72-B' 20893 model: 'S72-B' 20894 - regex: 'SX2W' 20895 model: 'SX2W' 20896 20897# MYFON 20898MYFON: 20899 regex: 'MYPAD7s' 20900 device: 'tablet' 20901 model: 'My Pad 7s' 20902 20903# X-TIGI 20904X-TIGI: 20905 regex: 'X[-_]TIGI|Hope7[_ ]Mate|Photo_P15_Lite' 20906 device: 'smartphone' 20907 models: 20908 - regex: 'X-TIGI_JOY10_PRO' 20909 model: 'Joy 10 Pro' 20910 device: 'tablet' 20911 - regex: 'Hope7[_ ]Mate' 20912 model: 'Hope 7 Mate' 20913 device: 'tablet' 20914 - regex: 'X-TIGI_JOY7_MAX' 20915 model: 'Joy 7 Max' 20916 device: 'tablet' 20917 - regex: 'X-TIGI[_ ]V28[_ ]LTE' 20918 model: 'V28 LTE' 20919 - regex: 'X[-_]TIGI[_ ]V19' 20920 model: 'V19' 20921 - regex: 'X-TIGI[_ ]Photo[_ ]P11' 20922 model: 'Photo P11' 20923 - regex: 'Photo_P15_Lite' 20924 model: 'Photo P15 Lite' 20925 - regex: 'X[-_]TIGI[ _-]([^/;)]+)(?: Build|[;)])' 20926 model: '$1' 20927 20928# Xiaolajiao or Shenzhen Peppers (xiaolajiao.com) 20929Xiaolajiao: 20930 regex: '(LA2-(?:L|S[N]?)|HLA Note3|L7620DE|20190416Q|20170608S|20180322D|20190325D|20190718Q)(?:[);/ ]|$)' 20931 device: 'smartphone' 20932 models: 20933 - regex: 'HLA Note3(?:[);/ ]|$)' 20934 model: 'Red Pepper Note 3' 20935 - regex: '(LA2-(?:L|S[N]?))(?:[);/ ]|$)' 20936 model: '$1' 20937 - regex: '(20190416Q|L7620DE)(?:[);/ ]|$)' 20938 model: '$1' 20939 - regex: '20170608S(?:[);/ ]|$)' 20940 model: 'Red Pepper Plus' 20941 - regex: '20180322D(?:[);/ ]|$)' 20942 model: 'E Sports' 20943 - regex: '20190325D(?:[);/ ]|$)' 20944 model: 'Red Pepper 8X Pro' 20945 - regex: '20190718Q(?:[);/ ]|$)' 20946 model: 'Red Pepper 9X' 20947 20948# Ritmix 20949Ritmix: 20950 regex: '(RMD[-_](?:10(?:2[689]|30|5[089])|1121|75[017]|726|85[57]|870)|RMP-(?:450|50[56]|530|600))(?:[);/ ]|$)' 20951 device: 'tablet' 20952 models: 20953 - regex: 'RMD[-_](10(?:2[689]|30|5[089])|1121|75[017]|726|85[57]|870)(?:[);/ ]|$)' 20954 model: 'RMD-$1' 20955 - regex: 'RMP[-_](450|50[56]|530|600)(?:[);/ ]|$)' 20956 model: 'RMP-$1' 20957 device: 'smartphone' 20958 20959# Ross&Moor 20960'Ross&Moor': 20961 regex: 'RMD[-_](974R|600|550)(?:[);/ ]|$)' 20962 device: 'tablet' 20963 model: 'RMD-$1' 20964 20965# R-TV 20966R-TV: 20967 regex: 'R-TV BOX[ _]?(MINI\+|X99|X10 PRO|[RXS]10)' 20968 device: 'tv' 20969 model: 'Box $1' 20970 20971# NEXBOX 20972NEXBOX: 20973 regex: '(MXQ|MXQ-Pro)-NEXBOX|NEXBOX-([^) ]+)' 20974 device: 'tv' 20975 models: 20976 - regex: 'MXQ-Pro-NEXBOX' 20977 model: 'MXQ Pro' 20978 - regex: 'MXQ-NEXBOX' 20979 model: 'MXQ' 20980 - regex: 'NEXBOX-([^) ]+)' 20981 model: '$1' 20982 20983# True 20984'True': 20985 regex: ' TRUE BEYOND TAB 3G|SMART[ _](MAX 4.0 PLUS|4G[ _](?:GEN C [45].[05]|Champion|Speedy 5.0 Plus|Speedy[_ ]5inch|P1))' 20986 device: 'smartphone' 20987 models: 20988 - regex: 'SMART MAX 4.0 PLUS' 20989 model: 'Smart Max 4.0 Plus' 20990 - regex: 'SMART 4G Gen C ([45].[05])' 20991 model: 'Smart 4G Gen C $1"' 20992 - regex: 'SMART 4G Speedy 5.0 Plus' 20993 model: 'Smart 4G Speedy 5.0 Plus' 20994 - regex: 'SMART[ _]4G[_ ]Speedy[_ ]5inch' 20995 model: 'Smart 4G Speedy 5' 20996 - regex: 'SMART[ _]4G[_ ]Champion' 20997 model: 'Smart 4G Champion' 20998 - regex: 'SMART[ _]4G[_ ]P1 Prime' 20999 model: 'Smart 4G P1 Prime' 21000 - regex: 'SMART[ _]4G[_ ]P1' 21001 model: 'Smart 4G P1' 21002 - regex: 'TRUE BEYOND TAB 3G' 21003 model: 'Beyond Tab 3G' 21004 21005Yandex: 21006 regex: '(YNDX-?000SB)(?:[);/ ]|$)' 21007 device: 'smartphone' 21008 model: 'YNDX-000SB' 21009 21010# FORME 21011FORME: 21012 regex: 'FORME[ _-]' 21013 device: 'smartphone' 21014 models: 21015 - regex: 'FORME[ _-]F520(?:[);/ ]|$)' 21016 model: 'Forever' 21017 - regex: 'FORME[ _-](A[35]7|R7S?|P6)(?:[);/ ]|$)' 21018 model: '$1' 21019 21020# Shuttle 21021Shuttle: 21022 regex: '(PNT-704[025])(?:[);/ ]|$)' 21023 device: 'tablet' 21024 model: '$1' 21025 21026# BDF 21027BDF: 21028 regex: '(BDF[- ](?:819|P10|K107H|KT107|MT6753|X20)|K960N_MT(?:6580|6753)(?:_32_N)?)(?:[);/ ]|$)' 21029 device: 'tablet' 21030 models: 21031 - regex: 'BDF[- ](819|P10|K107H|KT107|MT6753|X20)(?:[);/ ]|$)' 21032 model: '$1' 21033 - regex: 'K960N_MT(6580|6753)(_32_N)?(?:[);/ ]|$)' 21034 model: 'BK960N MT$1' 21035 21036# Highscreen 21037Highscreen: 21038 regex: 'HIGHSCREEN|(Easy[- ]Power(?:[- ]Pro)?|Pure[_ ](?:Power|F)|Power Ice(?: Max)?|Easy[_ ]([SFL]|XL)(?:_Pro)?|Razar_Pro|Power Rage(?: Evo)?|Zera-S-Power|Zera[ _][UFS]|Power[ _]?Five[ _]?(?:Pro|Evo|Max|Max(?:Lite|2))|Power(?:Four|Five)|BOOST II(?:se)?|Fest(?:XL)?(?:-Pro)?|Tasty|Boost3|Boost 3(?: Pro)? SE|Expanse|Hercules|Alpha Rage|VergeM|Ice2|Prime [LS]|Spade|Spark 2|Alpha GTR|Wallet)(?:[);/ ]|$)' 21039 device: 'smartphone' 21040 models: 21041 - regex: '(Power Ice(?:[ ](?:Max|Evo))?|Power Rage(?: Evo)?|Zera[ _][UFS]|Alpha GTR|Wallet)(?:[);/ ]|$)' 21042 model: '$1' 21043 - regex: 'PowerFivePro(?:[);/ ]|$)' 21044 model: 'Power Five Pro' 21045 - regex: 'PowerFiveMaxLite(?:[);/ ]|$)' 21046 model: 'Power Five Max Lite' 21047 - regex: 'PowerFiveMax2(?:[);/ ]|$)' 21048 model: 'Power Five Max 2' 21049 - regex: 'Power Five Evo(?:[);/ ]|$)' 21050 model: 'Power Five Evo' 21051 - regex: 'Power Five Max(?:[);/ ]|$)' 21052 model: 'Power Five Max' 21053 - regex: 'Power[_ ]?Five(?:[);/ ]|$)' 21054 model: 'Power Five' 21055 - regex: 'Spade(?:[);/ ]|$)' 21056 model: 'Spade' 21057 - regex: 'Spark 2(?:[);/ ]|$)' 21058 model: 'Spark 2' 21059 - regex: 'FestXL-Pro(?:[);/ ]|$)' 21060 model: 'Fest XL Pro' 21061 - regex: 'FestXL(?:[);/ ]|$)' 21062 model: 'Fest XL' 21063 - regex: 'Fest-Pro(?:[);/ ]|$)' 21064 model: 'Fest Pro' 21065 - regex: 'Fest(?:[);/ ]|$)' 21066 model: 'Fest' 21067 - regex: 'PowerFour(?:[);/ ]|$)' 21068 model: 'Power Four' 21069 - regex: 'Pure[_ ]Power(?:[);/ ]|$)' 21070 model: 'Pure Power' 21071 - regex: 'Pure[ _]F(?:[);/ ]|$)' 21072 model: 'Pure F' 21073 - regex: 'Razar_Pro(?:[);/ ]|$)' 21074 model: 'Razar Pro' 21075 - regex: 'Easy[_ ]([SLF]|XL)[_ ]Pro(?:[);/ ]|$)' 21076 model: 'Easy $1 Pro' 21077 - regex: 'Easy[_ ]([SFL]|XL)(?:[);/ ]|$)' 21078 model: 'Easy $1' 21079 - regex: '(?:HIGHSCREEN )?Easy[- ]Power[- ]Pro(?:[);/ ]|$)' 21080 model: 'Easy Power Pro' 21081 - regex: '(?:HIGHSCREEN )?Easy-Power(?:[);/ ]|$)' 21082 model: 'Easy Power' 21083 - regex: 'BOOST II(?:[);/ ]|$)' 21084 model: 'Boost 2' 21085 - regex: 'BOOST IIse(?:[);/ ]|$)' 21086 model: 'Boost 2 SE' 21087 - regex: 'Boost 3 SE(?:[);/ ]|$)' 21088 model: 'Boost 3 SE' 21089 - regex: 'Boost 3 Pro SE(?:[);/ ]|$)' 21090 model: 'Boost 3 Pro SE' 21091 - regex: 'BOOST3(?:[);/ ]|$)' 21092 model: 'Boost 3' 21093 - regex: 'Zera-S-Power(?:[);/ ]|$)' 21094 model: 'Zera S Power' 21095 - regex: 'Tasty(?:[);/ ]|$)' 21096 model: 'Tasty' 21097 - regex: 'VergeM(?:[);/ ]|$)' 21098 model: 'Verge M' 21099 - regex: 'WinWin(?:[);/ ]|$)' 21100 model: 'WinWin' 21101 - regex: 'Expanse(?:[);/ ]|$)' 21102 model: 'Expanse' 21103 - regex: 'Hercules(?:[);/ ]|$)' 21104 model: 'Hercules' 21105 - regex: 'Alpha Rage(?:[);/ ]|$)' 21106 model: 'Alpha Rage' 21107 - regex: 'Ice2(?:[);/ ]|$)' 21108 model: 'Ice 2' 21109 - regex: 'Prime ([LS])(?:[);/ ]|$)' 21110 model: 'Prime $1' 21111 21112# CVTE 21113CVTE: 21114 regex: 'CVTE[_ ](MSD338_(:?1G|512M))(?:[);/ ]|$)' 21115 device: 'tv' 21116 model: '$1' 21117 21118# Globex 21119Globex: 21120 regex: '(GU1011C|GU8012C|GU7013C|GU730C|GU-6012B)(?:[);/ ]|$)' 21121 device: 'tablet' 21122 models: 21123 - regex: 'GU8012C(?:[);/ ]|$)' 21124 model: 'X8' 21125 - regex: 'GU-6012B(?:[);/ ]|$)' 21126 model: 'GU6012B' 21127 - regex: '(GU1011C|GU7013C|GU730C)(?:[);/ ]|$)' 21128 model: '$1' 21129 21130# Atom 21131Atom: 21132 regex: 'ATOM-(108AM|216RK|216AM)(?:[);/ ]|$)' 21133 device: 'tv' 21134 model: '$1' 21135 21136# Qumo 21137Qumo: 21138 regex: 'QUMO[ _]?|(?:Quest[ _]?(?:408|410|45[56]|50[679])|Vega[ _]?78[23]|Sirius[ _]?(?:1001|890))(?:[);/ ]|$)' 21139 device: 'tablet' 21140 models: 21141 - regex: '(?:QUMO[ _]?)?Vega[ _]?(78[23]|8002)(?:[);/ ]|$)' 21142 model: 'Vega $1' 21143 - regex: 'Yooda(?:[);/ ]|$)' 21144 model: 'Yooda' 21145 - regex: 'Sirius[ _]?(1001|890)(?:[);/ ]|$)' 21146 model: 'Sirius $1' 21147 - regex: '(?:QUMO[ _]?)?(Sirius 101-4G 8GB Black|Altair 701 8GB Black|Altair 71 4GB Black|Altair 700[24]|Altair 706|Vega_803i)(?:[);/ ]|$)' 21148 model: '$1' 21149 - regex: '(?:QUMO[ _])?Quest[ _]?(35[34]|40[268]|410|45[2568]|47[46]|50[679]|5[137]0|574|600)(?:[);/ ]|$)' 21150 device: 'smartphone' 21151 model: 'Quest $1' 21152 21153# Qubo (qubomobile.com) 21154Qubo: 21155 regex: '(Cronos|MINERVA(?:_32GB)?)(?:[);/ ]|$)' 21156 device: 'smartphone' 21157 model: '$1' 21158 21159# Umax (umax.cz) 21160Umax: 21161 regex: 'VisionBook[ _]|([78]Qa_3G|VB_10Q_Plus|10A_LTE_eea)(?:[);/ ]|$)' 21162 device: 'tablet' 21163 models: 21164 - regex: '(VisionBook[ _](?:10Qi|7Q[i]?|8Q[ei]?|P70|8Qi_3G)(?:[ _](?:[34]G|Plus|LTE))?)(?:[);/ ]|$)' 21165 model: '$1' 21166 - regex: '([78])Qa_3G(?:[);/ ]|$)' 21167 model: 'VisionBook $1Qa 3G' 21168 - regex: 'VisionBook_10Q_LTE(?:[);/ ]|$)' 21169 model: 'VisionBook 10Q LTE' 21170 - regex: '10A_LTE_eea(?:[);/ ]|$)' 21171 model: 'VisionBook 10A LTE' 21172 - regex: 'VB_10Q_Plus(?:[);/ ]|$)' 21173 model: 'VisionBook 10Q Plus' 21174 - regex: 'VisionBook_P50Plus_LTE(?:[);/ ]|$)' 21175 device: 'smartphone' 21176 model: 'VisionBook P50 Plus LTE' 21177 - regex: '(VisionBook[ _](?:P50 LTE|P55 X2 LTE|P55 LTE(?: Pro)?))(?:[);/ ]|$)' 21178 device: 'smartphone' 21179 model: '$1' 21180 21181# Mann 21182Mann: 21183 regex: '(ZUG 3|ZUG 5S(?: Q)?)(?:[);/ ]|$)' 21184 device: 'smartphone' 21185 model: '$1' 21186 21187# Unihertz (unihertz.com) 21188Unihertz: 21189 regex: '(Titan|Jelly-Pro|Jelly2|Atom_X?L)(?:[);/ ]|$)' 21190 device: 'smartphone' 21191 models: 21192 - regex: '(Jelly)-Pro(?:[);/ ]|$)' 21193 model: '$1 Pro' 21194 - regex: 'Jelly2(?:[);/ ]|$)' 21195 model: 'Jelly 2' 21196 - regex: '(Titan|Atom_X?L)(?:[);/ ]|$)' 21197 model: '$1' 21198 21199# Chuwi 21200Chuwi: 21201 regex: '(?:CW-(Hi8-super|Hi12|V99i?|V17HD3G|VX8-3G|V88-QUAD|V9-DUAL|V88S|Vi[78]|[HV]i10 (?:pro|plus))|Hi10 (?:Pro|plus)|HiPad (?:X|Pro)|HiBox-hero|HiBook(?: pro)?|Hi[89] ?(?:Air|Pro)|Hi8SE|Vi8 plus|Vi10(?: ?Pro)?)(?:[);/ ]|$)' 21202 device: 'tablet' 21203 models: 21204 - regex: '(CW-Hi8-super)(?:[);/ ]|$)' 21205 model: 'Hi8' 21206 - regex: '(?:CW-)?(Vi10|Hi10|Vi8) plus(?:[);/ ]|$)' 21207 model: '$1 Plus' 21208 - regex: 'CW-(V88)-QUAD(?:[);/ ]|$)' 21209 model: '$1 Quad' 21210 - regex: 'CW-(V9)-DUAL(?:[);/ ]|$)' 21211 model: '$1 Dual' 21212 - regex: 'CW-(V17HD|VX8)-?(3G)(?:[);/ ]|$)' 21213 model: '$1 $2' 21214 - regex: '(?:CW-)?(Hi10) pro(?:[);/ ]|$)' 21215 model: '$1 Pro' 21216 - regex: 'HiBook pro(?:[);/ ]|$)' 21217 model: 'HiBook Pro' 21218 - regex: 'HiBook(?:[);/ ]|$)' 21219 model: 'HiBook' 21220 - regex: 'HiPad X(?:[);/ ]|$)' 21221 model: 'HiPad X' 21222 - regex: 'HiPad Pro(?:[);/ ]|$)' 21223 model: 'HiPad Pro' 21224 - regex: 'Hi([89]) ?Air(?:[);/ ]|$)' 21225 model: 'Hi$1 Air' 21226 - regex: 'Hi8SE(?:[);/ ]|$)' 21227 model: 'Hi8 SE' 21228 - regex: 'Hi([89]) ?pro(?:[);/ ]|$)' 21229 model: 'Hi$1 Pro' 21230 - regex: 'Vi10 Plus(?:[);/ ]|$)' 21231 model: 'Vi10 Plus' 21232 - regex: 'Vi10 ?Pro(?:[);/ ]|$)' 21233 model: 'Vi10 Pro' 21234 - regex: 'Vi10(?:[);/ ]|$)' 21235 model: 'Vi10' 21236 21237 21238 - regex: 'HiBox-hero(?:[);/ ]|$)' 21239 model: 'HiBox Hero' 21240 device: 'desktop' 21241 21242 - regex: 'CW-(Vi[78]|Hi12|V99i?|V88S)(?:[);/ ]|$)' 21243 model: '$1' 21244 21245# Bezkam 21246Bezkam: 21247 regex: 'BEZKAM (BK-RAM2)(?:[);/ ]|$)' 21248 device: 'smartphone' 21249 model: '$1' 21250 21251# NG Optics 21252'NG Optics': 21253 regex: '(NG3128HD)(?:[);/ ]|$)' 21254 device: 'tv' 21255 model: '$1' 21256 21257# KATV1 21258KATV1: 21259 regex: '(KATV-01) PRO(?:[);/ ]|$)' 21260 device: 'tv' 21261 model: '$1 Pro' 21262 21263# Ghong 21264Ghong: 21265 regex: 'GHONG(V10)(?:[);/ ]|$)' 21266 device: 'smartphone' 21267 model: '$1' 21268 21269# Xoro 21270Xoro: 21271 regex: '(?:TelePAD(?:795|731|1032|10A3|7A3)|Era 2X|HMT(?:390Q?|400)|HST 260)(?:[);/ ]|$)' 21272 device: 'tablet' 21273 models: 21274 - regex: 'TelePAD(7|10)A3 4G(?:[);/ ]|$)' 21275 model: 'TelePad $1 A3 4G' 21276 - regex: 'TelePAD(795|731|1032)(?:[);/ ]|$)' 21277 model: 'TelePad $1' 21278 21279 - regex: 'HMT(390Q?|400)(?:[);/ ]|$)' 21280 model: 'HMT $1' 21281 device: 'portable media player' 21282 21283 - regex: 'HST 260(?:[);/ ]|$)' 21284 model: 'HST 260' 21285 device: 'tv' 21286 21287 - regex: '(Era 2X)(?:[);/ ]|$)' 21288 model: '$1' 21289 device: 'smartphone' 21290 21291# Vinga 21292Vinga: 21293 regex: 'VMP-(015-162|021-82|041-162|011-81|025-324|045-664)(?:[);/ ]|$)|VMP023\.' 21294 device: 'tv' 21295 models: 21296 - regex: 'VMP-021-82' 21297 model: '021' 21298 - regex: 'VMP-025-324' 21299 model: '025' 21300 - regex: 'VMP-015-162' 21301 model: '015' 21302 - regex: 'VMP-041-162' 21303 model: '041' 21304 - regex: 'VMP-045-664' 21305 model: '045' 21306 - regex: 'VMP-011-81' 21307 model: '011' 21308 - regex: 'VMP023\.' 21309 model: '023' 21310 21311# Viumee (viumee.com) 21312Viumee: 21313 regex: 'SMART[_ ](EV[56])(?:[);/ ]|$)' 21314 device: 'smartphone' 21315 model: 'Smart $1' 21316 21317# Nuvo 21318Nuvo: 21319 regex: 'Nuvo[_ ](NS35|Blue ND40|Green[_ ]ND[_ ]45)(?:[);/ ]|$)' 21320 device: 'smartphone' 21321 models: 21322 - regex: 'Nuvo[_ ](NS35)(?:[);/ ]|$)' 21323 model: '$1' 21324 - regex: 'Blue (ND40)(?:[);/ ]|$)' 21325 model: '$1' 21326 - regex: 'Green[_ ]ND[_ ]45(?:[);/ ]|$)' 21327 model: 'ND45' 21328 21329# Sunvell 21330Sunvell: 21331 regex: '(?:T95ZPLUS|T95[KU]PRO)(?:[);/ ]|$)' 21332 device: 'tv' 21333 models: 21334 - regex: 'T95ZPLUS' 21335 model: 'T95Z Plus' 21336 - regex: '(T95[KU])PRO' 21337 model: '$1 Pro' 21338 21339# Ugoos 21340Ugoos: 21341 regex: 'UGOOS-(AM[36])(?:[);/ ]|$)' 21342 device: 'tv' 21343 model: '$1' 21344 21345# Yxtel 21346Yxtel: 21347 regex: 'YXTEL_([HU]1|U3)(?:[);/ ]|$)' 21348 device: 'smartphone' 21349 model: '$1' 21350 21351# Proline 21352Proline: 21353 regex: 'Proline_|(?:H10882M-TN|H10888M)(?:[);/ ]|$)' 21354 device: 'tablet' 21355 models: 21356 - regex: 'Proline[_ ]FalconXL' 21357 device: 'smartphone' 21358 model: 'Falcon XL' 21359 - regex: '(H10882M-TN|H10888M)' 21360 model: '$1' 21361# Yota 21362Yota: 21363 regex: '(YD20[16]|YOTA 3[+])(?:[);/ ]|$)' 21364 device: 'smartphone' 21365 models: 21366 - regex: 'YD20[16](?:[);/ ]|$)' 21367 model: 'Phone 2' 21368 - regex: 'YOTA 3[+](?:[);/ ]|$)' 21369 model: 'Phone 3 Plus' 21370 21371# Mystery 21372Mystery: 21373 regex: 'MYSTERY|(MID-(?:123G|72[12]|7[01348]3G|753G|8[23]3G))(?:[);/ ]|$)' 21374 device: 'tablet' 21375 models: 21376 - regex: 'MID-(123G|72[12]|7[01348]3G|753G|8[23]3G)(?:[);/ ]|$)' 21377 model: 'MID-$1' 21378 21379 - regex: 'MYSTERY_TV_(D3155CH31)' 21380 device: 'tv' 21381 model: '$1' 21382 21383# Ritzviva 21384Ritzviva: 21385 regex: '(RITZVIVA[_ ]S500C)(?:[);/ ]|$)' 21386 device: 'smartphone' 21387 model: 'S500C' 21388 21389# DeWalt 21390DeWalt: 21391 regex: 'DeWalt (MD501)(?:[);/ ]|$)' 21392 device: 'smartphone' 21393 model: '$1' 21394 21395# Runbo 21396Runbo: 21397 regex: 'Runbo|F1-TT(?:[);/ ]|$)' 21398 device: 'smartphone' 21399 models: 21400 - regex: 'Runbo[ _-]?(X5-W|F1 Plus|[PF]1-TT|F1-EN|[FH]1|TT|Q5-S|X5-King|X6|Q5)(?:[);/ ]|$)' 21401 model: '$1' 21402 - regex: 'F1-TT' 21403 model: 'F1-TT' 21404 21405 - regex: 'RunboP2' 21406 device: 'tablet' 21407 model: 'P2' 21408 21409# NewsMy 21410NewsMy: 21411 regex: '(CarPad-(?:II|III)-P)(?:[);/ ]|$)' 21412 device: 'car browser' 21413 model: '$1' 21414 21415# Newsday 21416Newsday: 21417 regex: 'Newsday[_ ](E1|A[12])(?:[);/ ]|$)' 21418 device: 'smartphone' 21419 model: '$1' 21420 21421# Daewoo 21422Daewoo: 21423 regex: 'Daewoo|(DTA-07IDRF)(?:[);/ ]|$)' 21424 device: 'tablet' 21425 models: 21426 - regex: '(DTA-07IDRF)(?:[);/ ]|$)' 21427 model: 'Archive 7P' 21428 21429 - regex: 'Daewoo (Android TV 638)(?:[);/ ]|$)' 21430 model: '$1' 21431 device: 'tv' 21432 21433# Vesta 21434Vesta: 21435 regex: 'VESTA32LD86(?:[);/ ]|$)' 21436 device: 'tv' 21437 model: 'SmartT V2.0 32LD86S' 21438 21439# Spectrum 21440Spectrum: 21441 regex: '(CARBONO_5|CUARZO_6|DIAMANTE_5|VULCANO_55)(?:[);/ ]|$)' 21442 device: 'smartphone' 21443 models: 21444 - regex: 'VULCANO_55(?:[);/ ]|$)' 21445 model: 'Vulcano 5.5"' 21446 - regex: 'CARBONO_5(?:[);/ ]|$)' 21447 model: 'Carbono 5.0"' 21448 - regex: 'CUARZO_6(?:[);/ ]|$)' 21449 model: 'Cuarzo 6.0"' 21450 - regex: 'DIAMANTE_5(?:[);/ ]|$)' 21451 model: 'Diamante 5.0"' 21452 21453# Kivi 21454Kivi: 21455 regex: '(?:24H600G[RU]|24FR50WU|24HK30B|32HR55GU|32H700GU|4[39]UP50GU|40UR50G[RU]|40U600G[RU]|55U600G[RU]|65UP50GU|55U[PC]50G[RU]|50U600G[RU]|50UX10S|55UR50G[RU]|40FK30G|40FR50BR|43UK35G|50FK30G|50UK35G|32HR50GR|55UC30G|32HK30G|40FK30G|32HR50GU|43UK30G|32FR50(?:WR|BU)|32FK3[02]G)(?:_-Ver0[0-9])?(?:[);/ ]|$)' 21456 device: 'tv' 21457 models: 21458 - regex: '(24H600G[RU]|24FR50WU|24HK30B|32HR55GU|32H700GU|4[39]UP50GU|40UR50G[RU]|40U600G[RU]|55U600G[RU]|65UP50GU|55U[PC]50G[RU]|50UX10S|50U600G[RU]|55UR50G[RU]|40FK30G|40FR50BR|43UK35G|50FK30G|50UK35G|32HR50GR|32FR50(?:WR|BU)|32FK3[02]G)(?:[);/ ]|$)' 21459 model: '$1' 21460 - regex: '(55UC30G|40FK30G|43UK30G|32HR50G[RU]|32HK30G|32FK32G)_-Ver0([0-9])(?:[);/ ]|$)' 21461 model: '$1 v$2' 21462 21463# Divisat 21464Divisat: 21465 regex: '(Divisat)(?:[);/ ]|$)' 21466 device: 'tv' 21467 models: 21468 - regex: '(J-Link)(?:[);/ ]|$)' 21469 model: '$1' 21470 21471# DIXON (https://www.dixoninfo.com/) 21472DIXON: 21473 regex: 'DIXON_|(?:ACK1010|KT5512)(?:[);/ ]|$)' 21474 device: 'smartphone' 21475 models: 21476 - regex: '(ACK1010|KT5512)' 21477 model: '$1' 21478 - regex: 'DIXON_XK1_3G(?:[);/ ]|$)' 21479 device: 'feature phone' 21480 model: 'XK1 3G' 21481 21482# Kanji 21483Kanji: 21484 regex: 'KJ-(OB0[23]|YUBI|SMART4K|GOCHI|ALFARK)(?:[);/ ]|$)' 21485 device: 'tablet' 21486 models: 21487 - regex: 'KJ-OB03' 21488 model: 'Cata 7' 21489 - regex: 'KJ-GOCHI' 21490 model: 'Gochi' 21491 - regex: 'KJ-OB02' 21492 model: 'Ailu Max' 21493 - regex: 'KJ-YUBI' 21494 model: 'Yubi 3G' 21495 - regex: 'KJ-ALFARK' 21496 model: 'Alfa' 21497 - regex: 'KJ-SMART4K' 21498 device: 'tv' 21499 model: 'Smart 4K' 21500 21501# Kaiomy 21502Kaiomy: 21503 regex: 'KaiCloud[ ]?(7[48]4|942)(?:[);/ ]|$)' 21504 device: 'tablet' 21505 model: 'KaiCloud $1' 21506 21507# National 21508National: 21509 regex: '(NX-32THS100)(?:[);/ ]|$)' 21510 device: 'tv' 21511 model: '$1' 21512 21513# Vsun 21514Vsun: 21515 regex: '(?:VSUN (?:ILLUSION|RACE|V9)|MARS TOUCH|MARS NOTE|MARS NOCAM|SATURN SELFIE)(?:[);/ ]|$)' 21516 device: 'smartphone' 21517 models: 21518 - regex: 'ILLUSION(?:[);/ ]|$)' 21519 model: 'Illusion' 21520 - regex: 'MARS TOUCH(?:[);/ ]|$)' 21521 model: 'Mars Touch' 21522 - regex: 'MARS NOTE(?:[);/ ]|$)' 21523 model: 'Mars Note' 21524 - regex: 'MARS NOCAM(?:[);/ ]|$)' 21525 model: 'Mars Nocam' 21526 - regex: 'SATURN SELFIE(?:[);/ ]|$)' 21527 model: 'Saturn Selfie' 21528 - regex: 'RACE(?:[);/ ]|$)' 21529 model: 'Race' 21530 - regex: '(V9)(?:[);/ ]|$)' 21531 model: '$1' 21532 21533# Shift Phones 21534Shift Phones: 21535 regex: '(SHIFT6m)(?:[);/ ]|$)' 21536 device: 'smartphone' 21537 model: '$1' 21538 21539# RugGear 21540RugGear: 21541 regex: '(RugGear|RG(?:310|500|65[05]|702|7[13]0|850))(?:[);/ ]|$)' 21542 device: 'smartphone' 21543 models: 21544 - regex: '(RG[0-9]+)(?:[);/ ]|$)' 21545 model: '$1' 21546 21547# Maxcom 21548Maxcom: 21549 regex: '(MS(?:45[036]|505|514)|MS457(?:PLUS)?)(?:[);/ ]|$)' 21550 device: 'smartphone' 21551 models: 21552 - regex: '(MS457)PLUS(?:[);/ ]|$)' 21553 model: '$1 Plus' 21554 - regex: 'MS(45[0367]|505|514)(?:[);/ ]|$)' 21555 model: 'MS$1' 21556 21557# Luna 21558Luna: 21559 regex: '(?:LUNA[ _](?:[VG]55|G[56]0)|TG-L800S)(?:[);/ ]|$)' 21560 device: 'smartphone' 21561 models: 21562 - regex: 'LUNA[ _]([VG]55|G[56]0)(?:[);/ ]|$)' 21563 model: '$1' 21564 - regex: '(TG-L800S)(?:[);/ ]|$)' 21565 model: '$1' 21566 21567# Protruly 21568Protruly: 21569 regex: 'PROTRULY[ _](D[78]|V10S)(?:[);/ ]|$)' 21570 device: 'smartphone' 21571 model: '$1' 21572 21573# JFone 21574JFone: 21575 regex: 'JFone[ _](JS501)(?:[);/ ]|$)' 21576 device: 'smartphone' 21577 model: '$1' 21578 21579# Uhans 21580Uhans: 21581 regex: '(A101S)(?:[);/ ]|$)' 21582 device: 'smartphone' 21583 model: '$1' 21584 21585# Soyes 21586Soyes: 21587 regex: 'SOYES[ _]([67]S|XS)(?:[);/ ]|$)' 21588 device: 'smartphone' 21589 model: '$1' 21590 21591# Zidoo 21592Zidoo: 21593 regex: 'ZIDOO[ _](H6 Pro|X6 Pro|X9S|Z10|X[158]|X20 Pro|Z9S)(?:[);/ ]|$)' 21594 device: 'tv' 21595 model: '$1' 21596 21597# Zfiner 21598Zfiner: 21599 regex: 'ZFINERY900(?:[);/ ]|$)' 21600 device: 'tablet' 21601 model: 'Y900' 21602 21603# iGet 21604iGet: 21605 regex: 'SMART[_ ](G10[12]|S7[02]|G71|G81[H]?)(?:[);/ ]|$)' 21606 device: 'tablet' 21607 model: 'Smart $1' 21608 21609# Phicomm 21610Phicomm: 21611 regex: '(PHICOMM)(?:[);/ ]|$)' 21612 device: 'smartphone' 21613 models: 21614 - regex: 'C630 \(CLUE L\)(?:[);/ ]|$)' 21615 model: 'Clue L' 21616 - regex: 'E653\(ENERGY L\)(?:[);/ ]|$)' 21617 model: 'Energy L' 21618 - regex: 'PHICOMM ENERGY 3\+(?:[);/ ]|$)' 21619 model: 'Energy 3+' 21620 - regex: 'CLUE (2S|M|C230)(?:[);/ ]|$)' 21621 model: 'Clue $1' 21622 21623# Huadoo 21624Huadoo: 21625 regex: 'Huadoo[ _](HG0[46]|HG11|V[34])(?:[);/ ]|$)' 21626 device: 'smartphone' 21627 model: '$1' 21628 21629# Gome 21630Gome: 21631 regex: '(?:GOME[_ ](?:201[678].+|C7_Note(?:_Plus)?|U9|S[17])|Fenmmy_Note)(?:[);/ ]|$)' 21632 device: 'smartphone' 21633 models: 21634 - regex: 'GOME[_ ](?:2018X38A)(?:[);/ ]|$)' 21635 model: 'C72' 21636 - regex: 'GOME[_ ](?:2018X07A)(?:[);/ ]|$)' 21637 model: 'C7' 21638 - regex: 'GOME[_ ](?:2017X05A)(?:[);/ ]|$)' 21639 model: 'C71' 21640 - regex: 'GOME[_ ](?:2017X82A)(?:[);/ ]|$)' 21641 model: 'C51' 21642 - regex: 'GOME[_ ](?:2016G68A)(?:[);/ ]|$)' 21643 model: 'K1' 21644 - regex: 'GOME[_ ](?:2016M25A)(?:[);/ ]|$)' 21645 model: 'U1' 21646 - regex: 'GOME[_ ](?:2017M27A)(?:[);/ ]|$)' 21647 model: 'U7' 21648 - regex: 'GOME[_ ](?:2018M29A)(?:[);/ ]|$)' 21649 model: 'U9' 21650 - regex: 'GOME[_ ](C7_Note(?:_Plus)?|U9|S[17])(?:[);/ ]|$)' 21651 model: '$1' 21652 - regex: '(?:GOME[_ ])?(Fenmmy_Note)(?:[);/ ]|$)' 21653 device: 'phablet' 21654 model: '$1' 21655 21656# Voyo (en.myvoyo.com) 21657Voyo: 21658 regex: '(?:VOYO[_ ](?:A15)|i8-Max|Q101-4G)(?:[);/ ]|$)' 21659 device: 'tablet' 21660 models: 21661 - regex: 'i8-Max(?:[);/ ]|$)' 21662 model: 'i8 Max' 21663 - regex: '(Q101)-4G(?:[);/ ]|$)' 21664 model: '$1 4G' 21665 - regex: 'VOYO[_ ](A15)(?:[);/ ]|$)' 21666 model: '$1' 21667 21668# Ryte (Ryte Mobile) 21669Ryte: 21670 regex: 'RYTE (U55 LTE)(?:[);/ ]|$)' 21671 device: 'smartphone' 21672 model: '$1' 21673 21674# Vontar 21675Vontar: 21676 regex: '(HK1 (?:Max|MINI|PLUS|PRO)|VONTAR[ -](?:Z[58]|V1|KIII|MX-4K|X3))(?:[);/ ]|$)' 21677 device: 'tv' 21678 models: 21679 - regex: 'VONTAR[ -](Z[58]|V1|KIII|MX-4K|X3)(?:[);/ ]|$)' 21680 model: '$1' 21681 - regex: 'HK1 Max(?:[);/ ]|$)' 21682 model: 'HK1 Max' 21683 - regex: 'HK1 MINI(?:[);/ ]|$)' 21684 model: 'HK1 Mini' 21685 - regex: 'HK1 PLUS(?:[);/ ]|$)' 21686 model: 'HK1 Plus' 21687 - regex: 'HK1 PRO(?:[);/ ]|$)' 21688 model: 'HK1 Pro' 21689 21690# Vorke 21691Vorke: 21692 regex: 'VORKE (Z[157]|Z6(?: Plus)?)(?:[);/ ]|$)' 21693 device: 'tv' 21694 model: '$1' 21695 21696# Wigor 21697Wigor: 21698 regex: 'Wigor (V4)(?:[);/ ]|$)' 21699 device: 'smartphone' 21700 model: '$1' 21701 21702# NEXON (nexon.ua) 21703NEXON: 21704 regex: 'NEXON (X[12589])(?:[);/ ]|$)' 21705 device: 'tv' 21706 model: '$1' 21707 21708# ONN (walmart) 21709ONN: 21710 regex: '(ONA19TB00[327]|10000520[6-9]|O8HD|100026191|100011886|100003561|100011885|100015685-A)(?:[);/ ]|$)' 21711 device: 'tablet' 21712 model: '$1' 21713 21714# EXO S.A (exo.com.ar) 21715EXO: 21716 regex: '(?:EXO_)?(Wave_i101G|Wave_i007B?|Wave i101[Hb])(?:[);/ ]|$)' 21717 device: 'tablet' 21718 model: '$1' 21719 21720# Q.Bell (qbell.it) 21721'Q.Bell': 21722 regex: '(QPHONE[_ ](?:10.1|9.[12]|7.1|5.[246])|QTAB10EW)(?:[);/ ]|$)' 21723 device: 'smartphone' 21724 models: 21725 - regex: '(QPHONE[_ ](?:10.1|9.[12]|7.1|5.[246]))(?:[);/ ]|$)' 21726 model: '$1' 21727 - regex: 'QTAB10EW' 21728 device: 'tablet' 21729 model: 'QTAB10EW' 21730 21731# Datawind 21732Datawind: 21733 regex: 'DW-[A-Z0-9]{5}(?:[);/ ]|$)' 21734 device: 'smartphone' 21735 models: 21736 - regex: '(DW-PS3G5)(?:[);/ ]|$)' 21737 model: 'Pocket Surfer 3G5' 21738 - regex: 'DW-UBT7W' 21739 device: 'tablet' 21740 model: 'Ubislate 7W' 21741 21742# Droxio (droxio.es) sub brand 3GO 21743Droxio: 21744 regex: 'DROXIO (C40|A47|B45|KENTIA)(?:[);/ ]|$)' 21745 device: 'smartphone' 21746 model: '$1' 21747 21748# 3GO (www.3go.es) 217493GO: 21750 regex: '(?:Aplay ?[34])(?:[);/ ]|$)' 21751 device: 'smartphone' 21752 models: 21753 - regex: 'Aplay ?([34])' 21754 device: 'tablet' 21755 model: 'Aplay $1' 21756 21757# Goophone 21758Goophone: 21759 regex: 'Goophone[ _]|(?:M(G492|L7[JK]2)CH|MN(4A2|8J2)ZP|MGA92ZP|MKU82ZP|MNGW2CH|MNH02CH|MNRM2CH)[/]A(?:[);/ ]|$)' 21760 device: 'smartphone' 21761 models: 21762 - regex: '(?:MG492CH|MGA92ZP)[/]A(?:[);/ ]|$)' 21763 model: 'I6 Plus' 21764 - regex: 'ML7[JK]2CH[/]A(?:[);/ ]|$)' 21765 model: 'I6' 21766 - regex: 'MKU82ZP[/]A(?:[);/ ]|$)' 21767 model: 'I6S' 21768 - regex: 'MNGW2CH[/]A(?:[);/ ]|$)' 21769 model: 'I6S Plus' 21770 - regex: '(?:MN4A2ZP|MNH02CH)[/]A(?:[);/ ]|$)' 21771 model: 'I7' 21772 - regex: '(?:MN8J2ZP|MNRM2CH)[/]A(?:[);/ ]|$)' 21773 model: 'I7 Plus' 21774 - regex: 'S4 MEGA(?:[);/ ]|$)' 21775 model: 'S4 Mega' 21776 - regex: 'Goophone i([69])(?:[);/ ]|$)' 21777 model: 'I$1' 21778 21779# PocketBook 21780PocketBook: 21781 regex: 'PocketBook[ _/]' 21782 device: 'tablet' 21783 models: 21784 - regex: 'PocketBook SURFpad 3 \(([\d]+).([\d]+)["]?\)(?:[);/ ]|$)' 21785 model: 'Surfpad 3 $1.$2"' 21786 - regex: 'PocketBook/(62[67]|63[12]|740|840)(?:[);/ ]|$)' 21787 model: '$1' 21788 21789# Bitmore 21790Bitmore: 21791 regex: '(?:Mobitab10c-3G|Tab1011Q_II|Colortab[ _]?(10(?:M| II)?|816i))(?:[);/ ]|$)' 21792 device: 'tablet' 21793 models: 21794 - regex: '(Mobitab)(10)c-3G(?:[);/ ]|$)' 21795 model: '$1 $2C 3G' 21796 - regex: 'Tab1011Q_II(?:[);/ ]|$)' 21797 model: 'Tab1011Q II' 21798 - regex: 'Colortab[ _]?(10(?:M| II)?|816i)(?:[);/ ]|$)' 21799 model: 'ColorTab $1' 21800 21801# Kuliao 21802Kuliao: 21803 regex: 'KULIAO (K10)(?:[);/ ]|$)' 21804 device: 'smartphone' 21805 model: '$1' 21806 21807# Sugar 21808Sugar: 21809 regex: 'SUGAR[ _]' 21810 device: 'smartphone' 21811 models: 21812 - regex: 'SUGAR Y([78]) MAX(?:[);/ ]|$)' 21813 model: 'Y$1 Max' 21814 - regex: 'SUGAR F7 Mini(?:[);/ ]|$)' 21815 model: 'F7 Mini' 21816 - regex: 'SUGAR (C[12]1|C1[23]|S11|C11s|[SF]20s?|[YF]11|[YFS]9|C[679]|[FY]7|Y12s|Y1[256]|P1)(?:[);/ ]|$)' 21817 model: '$1' 21818 21819# Subor 21820Subor: 21821 regex: 'SUBOR[ _]' 21822 device: 'smartphone' 21823 models: 21824 - regex: 'SUBOR[ _](S5|2019)(?:[);/ ]|$)' 21825 model: '$1' 21826 - regex: 'SUBOR[_ ]K10PLUS(?:[);/ ]|$)' 21827 model: 'K10 Plus' 21828 21829# Xshitou 21830Xshitou: 21831 regex: 'Xshitou[_ ](P7)(?:[);/ ]|$)' 21832 device: 'smartphone' 21833 model: '$1' 21834 21835# JKL 21836JKL: 21837 regex: 'JKL[_ ](A28)(?:[);/ ]|$)' 21838 device: 'smartphone' 21839 model: '$1' 21840 21841# Gree 21842Gree: 21843 regex: '(G0215D|G0245D|G0335D)(?:[);/ ]|$)' 21844 device: 'smartphone' 21845 model: '$1' 21846 21847# Vodacom 21848Vodacom: 21849 regex: '(?:Vodacom)[ _]|(?:Kicka 5 Plus 4G)(?:[);/ ]|$)' 21850 device: 'tablet' 21851 models: 21852 - regex: 'Kicka 5 Plus 4G' 21853 device: 'smartphone' 21854 model: 'Kicka 5 Plus 4G' 21855 - regex: '(?:Vodacom)[ _](Power Tab 10)(?:[);/ ]|$)' 21856 model: '$1' 21857 21858# VKworld 21859VKworld: 21860 regex: '(?:(?:VK700)-MAX|VK700 Pro|T5SE|VK700X|vk6050|vk6735|vk700)(?:[);/ ]|$)' 21861 device: 'smartphone' 21862 models: 21863 - regex: '(VK700)-MAX(?:[);/ ]|$)' 21864 model: '$1 Max' 21865 - regex: '(VK700) Pro(?:[);/ ]|$)' 21866 model: '$1 Pro' 21867 - regex: 'T5SE(?:[);/ ]|$)' 21868 model: 'T5 SE' 21869 - regex: 'VK(700X|6050|6735|700)(?:[);/ ]|$)' 21870 model: 'VK$1' 21871 21872# Mito (mitomobile.com) 21873Mito: 21874 regex: 'MITO[- _]' 21875 device: 'smartphone' 21876 models: 21877 - regex: 'MITO[- _]3255(?:[);/ ]|$)' 21878 device: 'tv' 21879 model: '3255' 21880 - regex: 'MITO[- _]A37[_ ]Z1plus' 21881 model: 'A37 Z1 Plus' 21882 - regex: 'MITO[- _](A(?:19[_ ][12]GB|37[_ ]Z1|36[_ ]W1|[0-9]+)|311)(?:[);/ ]|$)' 21883 model: '$1' 21884 - regex: 'MITO[- _](T(?:[0-9]+))(?:[);/ ]|$)' 21885 device: 'tablet' 21886 model: '$1' 21887 21888# TWM or TaiwanMobile 21889TWM: 21890 regex: 'Amazing[ _](X[35]s|X[123567]|A5S|A3[025]|A[468]|A4S|A5[057]|P6)(?:[);/ ]|$)' 21891 device: 'smartphone' 21892 models: 21893 - regex: 'Amazing[ _](X[35])s(?:[);/ ]|$)' 21894 model: 'Amazing $1S' 21895 - regex: 'Amazing[ _](A5S|X[123567]|A[468]|A4S|A5[057]|A3[025])(?:[);/ ]|$)' 21896 model: 'Amazing $1' 21897 - regex: 'Amazing[ _](P6)(?:[);/ ]|$)' 21898 device: 'tablet' 21899 model: 'Amazing $1' 21900 21901# TWZ (twz.co.th) 21902TWZ: 21903 regex: 'TWZ[-_ ](?:TabPlay|Y6[08]|Y52|A49|A[59]5|A567|AA8|QQ[12])|TWZQQ1' 21904 device: 'smartphone' 21905 models: 21906 - regex: 'TWZ[_ ]TabPlay[_ ](12[56])' 21907 device: 'tablet' 21908 model: 'TabPlay $1' 21909 - regex: 'TWZ[-_ ]?(Y6[08]|Y52|A49|A[59]5|A567|AA8|QQ[12])' 21910 model: '$1' 21911 21912# Onix 21913Onix: 21914 regex: '(?:ONIX S405|AT101-1116)(?:[);/ ]|$)' 21915 device: 'tablet' 21916 models: 21917 - regex: '(AT101-1116)(?:[);/ ]|$)' 21918 model: '$1' 21919 - regex: '(S405)(?:[);/ ]|$)' 21920 device: 'smartphone' 21921 model: '$1' 21922 21923# Oale 21924Oale: 21925 regex: '(?:Apex([13])|CC1 PRO)(?:[);/ ]|$)' 21926 device: 'smartphone' 21927 models: 21928 - regex: '(CC1) PRO' 21929 model: '$1 Pro' 21930 - regex: 'Apex([13])' 21931 model: 'Apex $1' 21932 21933# Mobo 21934Mobo: 21935 regex: '(?:(?:MOBO[_ ]MB7005|MT7-421HD)|(?:MT7-442D|MT7-411D))(?:[);/ ]|$)' 21936 device: 'tablet' 21937 models: 21938 - regex: '(?:MOBO[_ ])?(MB7005|MT7-421HD|MT7-442D|MT7-411D)(?:[);/ ]|$)' 21939 model: '$1' 21940 21941# Macoox 21942Macoox: 21943 regex: '(MC-X7MINI)(?:[);/ ]|$)' 21944 device: 'smartphone' 21945 model: 'MC-X7 Mini' 21946 21947# Prixton 21948Prixton: 21949 regex: 'PRIXTON |(T7012Q)(?:[);/ ]|$)' 21950 device: 'tablet' 21951 models: 21952 - regex: 'PRIXTON (C18)' 21953 device: 'smartphone' 21954 model: '$1' 21955 - regex: '(T7012Q)(?:[);/ ]|$)' 21956 model: '$1' 21957 21958# Magnus or Magnus Telecom 21959Magnus: 21960 regex: 'Magnus[ _](?:bravoZ[23]0|Infinity_?(?:G8|G11))(?:[);/ ]|$)' 21961 device: 'smartphone' 21962 models: 21963 - regex: 'bravo(Z[23]0)' 21964 model: 'Bravo $1' 21965 - regex: '(?:Magnus[ _])?Infinity_?(G8|G11)' 21966 model: 'Infinity $1' 21967 21968# Newland 21969Newland: 21970 regex: '(?:NLS-MT90)(?:[);/ ]|$)' 21971 device: 'smartphone' 21972 model: 'MT90 Orca' 21973 21974# Orbic 21975Orbic: 21976 regex: '(?:RC555L|RC501L)(?:[);/ ]|$)' 21977 device: 'smartphone' 21978 models: 21979 - regex: 'RC555L(?:[);/ ]|$)' 21980 model: 'Wonder' 21981 - regex: 'RC501L(?:[);/ ]|$)' 21982 model: 'Slim' 21983 21984# RED 21985RED: 21986 regex: '(?:H1A1000)(?:[);/ ]|$)' 21987 device: 'smartphone' 21988 model: 'Hydrogen One' 21989 21990# Contixo 21991Contixo: 21992 regex: 'Contixo|(?:CX-1045 3G|KT995 3G|CX1045)(?:[);/ ]|$)' 21993 device: 'tablet' 21994 models: 21995 - regex: 'CX-?1045(?: 3G)?(?:[);/ ]|$)' 21996 model: 'CX-1045 3G' 21997 - regex: 'CONTIXO GX 1035(?:[);/ ]|$)' 21998 model: 'GX-1035 4G 10.1"' 21999 - regex: 'Contixo GT1160 4G(?:[);/ ]|$)' 22000 model: 'GT1160 4G 10.1"' 22001 - regex: 'B105(?:[);/ ]|$)' 22002 model: 'B105 3G 10.1"' 22003 - regex: 'B108(?:[);/ ]|$)' 22004 model: 'B108 4G 10.1"' 22005 - regex: 'KT107(?: 3G)?(?:[);/ ]|$)' 22006 model: 'KT107 3G 10.1"' 22007 - regex: 'K109(?:[);/ ]|$)' 22008 model: 'KT109 4G 10.1"' 22009 - regex: 'KT715 3G(?:[);/ ]|$)' 22010 model: 'KT715 3G 7.0"' 22011 - regex: 'KT995(?:[);/ ]|$)' 22012 model: 'KT995 3G 10.1"' 22013 - regex: 'KT ?1100GT(?: 4G)?(?:[);/ ]|$)' 22014 model: 'KT1100GT' 22015 22016# E-Ceros 22017'E-Ceros': 22018 regex: '(?:CT9716(?:-B)?)(?:[);/ ]|$)' 22019 device: 'tablet' 22020 models: 22021 - regex: 'CT9716(?:[);/ ]|$)' 22022 model: 'Revolution' 22023 - regex: 'CT9716-B(?:[);/ ]|$)' 22024 model: 'Revolution HD' 22025 22026# How (how.com.br) 22027How: 22028 regex: '(?:HT-705XS|705-G Go|1001-G Go)(?:[);/ ]|$)' 22029 device: 'tablet' 22030 models: 22031 - regex: '(HT-705XS)(?:[);/ ]|$)' 22032 model: '$1' 22033 - regex: '(1001-G Go)(?:[);/ ]|$)' 22034 model: 'HT-1001G Go Kids' 22035 - regex: '(705-G Go)(?:[);/ ]|$)' 22036 model: 'HT-$1' 22037 22038# Multilaser 22039Multilaser: 22040 regex: '(?:Multilaser[ _](?:[FEGH])(?:[_ ](?:Pro|Max|Lite))?|MS50[LGXM]|M7[_-]3G[_-]PLUS|MS5\.V2|MS45S_A6|ML([02]1|12)-M7s[- ]?Quad-?Core| ML01-M7-SD|MS45S|MS50S|MS60[XZ]|M7SQC_Plus|MS80X|MS40[GS]|MS55M|MS70|M7-3G QUAD CORE|M7s_?Lite|MS50L?_4G|MS60F(?:_PLUS)?)(?:[);/ ]|$)' 22041 device: 'smartphone' 22042 models: 22043 - regex: 'Multilaser[ _]G[_ ]Pro(?:[);/ ]|$)' 22044 model: 'G Pro' 22045 - regex: 'Multilaser[ _]F[_ ]Pro(?:[);/ ]|$)' 22046 model: 'F Pro' 22047 - regex: 'Multilaser[ _]G[_ ]Max(?:[);/ ]|$)' 22048 model: 'G Max' 22049 - regex: 'Multilaser[ _]G(?:[);/ ]|$)' 22050 model: 'G' 22051 - regex: 'Multilaser[ _]E[_ ]Lite(?:[);/ ]|$)' 22052 model: 'E Lite' 22053 - regex: 'Multilaser[ _]([FEH])(?:[);/ ]|$)' 22054 model: '$1' 22055 - regex: 'MS60F_PLUS(?:[);/ ]|$)' 22056 model: 'MS60F Plus' 22057 - regex: '(MS50[LGXSM]|MS45S_A6|MS40[GS]|MS55M|MS60F|MS70|MS60[XZ]|MS45S|MS80X|MS50L?_4G|MS5\.V2)(?:[);/ ]|$)' 22058 model: '$1' 22059 - regex: 'M7[_-]3G[_-]PLUS(?:[);/ ]|$)' 22060 device: 'tablet' 22061 model: 'M7 3G Plus' 22062 - regex: 'M7SQC_PLUS(?:[);/ ]|$)' 22063 device: 'tablet' 22064 model: 'M7SQC Plus' 22065 - regex: 'M7-3G QUAD CORE(?:[);/ ]|$)' 22066 device: 'tablet' 22067 model: 'M7 3G Quad Core' 22068 - regex: 'ML([02]1|12)-M7s[- ]?Quad-?Core(?:[);/ ]|$)' 22069 device: 'tablet' 22070 model: 'ML$1-M7s Quad Core' 22071 - regex: 'M7s_?Lite(?:[);/ ]|$)' 22072 device: 'tablet' 22073 model: 'M7s Lite' 22074 - regex: 'ML01-M7-SD(?:[);/ ]|$)' 22075 device: 'tablet' 22076 model: 'ML01-M7 SD' 22077 22078# Positivo BGH 22079Positivo BGH: 22080 regex: '(?:T1060B|S455|Positivo (?:Twist|Ypy|Mini I)|Twist[ _](?:\(2018\)|2 (?:Fit|Pro)|Mini|Tab|Metal(?: 32GB)?|Max|XL|SE|[23SM]))(?:[);/ ]|$)' 22081 device: 'smartphone' 22082 models: 22083 - regex: 'S455(?:[);/ ]|$)' 22084 model: 'Selfie' 22085 - regex: 'Twist \(2018\)(?:[);/ ]|$)' 22086 model: 'Twist (2018)' 22087 - regex: 'Twist Metal 32GB(?:[);/ ]|$)' 22088 model: 'Twist Metal 32GB' 22089 - regex: 'Twist Metal(?:[);/ ]|$)' 22090 model: 'Twist Metal' 22091 - regex: 'Twist Max(?:[);/ ]|$)' 22092 model: 'Twist Max' 22093 - regex: 'Twist[ _]Mini(?:[);/ ]|$)' 22094 model: 'Twist Mini' 22095 - regex: 'Twist 2 Fit(?:[);/ ]|$)' 22096 model: 'Twist 2 Fit' 22097 - regex: 'Twist 2 Pro(?:[);/ ]|$)' 22098 model: 'Twist 2 Pro' 22099 - regex: 'Twist XL(?:[);/ ]|$)' 22100 model: 'Twist XL' 22101 - regex: 'Twist SE(?:[);/ ]|$)' 22102 model: 'Twist SE' 22103 - regex: '(?:Positivo )?Twist ([23SM])(?:[);/ ]|$)' 22104 model: 'Twist $1' 22105 - regex: '(?:Positivo )Mini I(?:[);/ ]|$)' 22106 model: 'Mini I' 22107 22108 - regex: 'T1060B(?:[);/ ]|$)' 22109 device: 'tablet' 22110 model: 'T1060B' 22111 - regex: 'Positivo Ypy (AB7F|AB10H|L1050E)(?:[);/ ]|$)' 22112 device: 'tablet' 22113 model: 'Ypy $1' 22114 - regex: 'Twist Tab(?:[);/ ]|$)' 22115 device: 'tablet' 22116 model: 'Twist Tab' 22117 22118# Maxtron 22119Maxtron: 22120 regex: 'Maxtron[ _-](V[327]|S[89]|T1)(?:[);/ ]|$)' 22121 device: 'smartphone' 22122 models: 22123 - regex: 'Maxtron[ _-](V[327]|S[89])(?:[);/ ]|$)' 22124 model: '$1' 22125 - regex: 'Maxtron[ _-](T1)(?:[);/ ]|$)' 22126 device: 'tablet' 22127 model: '$1' 22128 22129# Philco (philco.com.br) 22130Philco: 22131 regex: 'PHILCO |(PCS01|PH350B|PTB7R|PTB7PAP_PTB7PAB_PTB7PAR)(?:[);/ ]|$)' 22132 device: 'smartphone' 22133 models: 22134 - regex: '(PCS01|PH350B)(?:[);/ ]|$)' 22135 model: '$1' 22136 - regex: '(PTB7R)(?:[);/ ]|$)' 22137 device: 'tablet' 22138 model: '$1' 22139 - regex: 'PHILCO Android TV(?:[);/ ]|$)' 22140 device: 'tv' 22141 model: '' 22142 - regex: 'PTB7PAP_PTB7PAB_PTB7PAR(?:[);/ ]|$)' 22143 device: 'tablet' 22144 model: 'PTB7PA' 22145 22146# SEMP TCL 22147SEMP TCL: 22148 regex: '(?:GO[35]E|5101J|GO3C(?: Plus)?)(?:[);/ ]|$)' 22149 device: 'smartphone' 22150 models: 22151 - regex: '5101J(?:[);/ ]|$)' 22152 model: 'L9 Plus' 22153 - regex: 'GO3C Plus(?:[);/ ]|$)' 22154 model: 'GO! 3C Plus' 22155 - regex: 'GO3C(?:[);/ ]|$)' 22156 model: 'GO! 3C' 22157 - regex: '(GO[35]E)(?:[);/ ]|$)' 22158 model: '$1' 22159 22160# Newman 22161Newman: 22162 regex: 'Newman[ _](P308|K1)(?:[);/ ]|$)' 22163 device: 'smartphone' 22164 model: '$1' 22165 22166# Swipe 22167Swipe: 22168 regex: '(?:Elite Sense|Elite_VR|Slate2)(?:[);/ ]|$)' 22169 device: 'smartphone' 22170 models: 22171 - regex: '(Elite Sense|Elite_VR)(?:[);/ ]|$)' 22172 model: '$1' 22173 - regex: 'Slate2(?:[);/ ]|$)' 22174 device: 'tablet' 22175 model: 'Slate 2' 22176 22177# Owwo 22178Owwo: 22179 regex: '(?:OWWO[ _]?(?:[1457]S|Q[78])|CARNIVAL B5)(?:[);/ ]|$)' 22180 device: 'smartphone' 22181 models: 22182 - regex: 'OWWO[ _]?([1457]S|Q[78])(?:[);/ ]|$)' 22183 model: '$1' 22184 - regex: 'CARNIVAL B5(?:[);/ ]|$)' 22185 model: 'Carnival B5' 22186 22187# 360 or names Qihoo 360, +360 22188'360': 22189 regex: '(?:180[1379]-A01|1713-A01|1707-A01|1509-A00|1603-A03|1607-A01|1503-A01)(?:[);/ ]|$)' 22190 device: 'smartphone' 22191 models: 22192 - regex: '1807-A01(?:[);/ ]|$)' 22193 model: 'N7' 22194 - regex: '1803-A01(?:[);/ ]|$)' 22195 model: 'N7 Lite' 22196 - regex: '1809-A01(?:[);/ ]|$)' 22197 model: 'N7 Pro' 22198 - regex: '1713-A01(?:[);/ ]|$)' 22199 model: 'N6 Lite' 22200 - regex: '1707-A01(?:[);/ ]|$)' 22201 model: 'N6' 22202 - regex: '1801-A01(?:[);/ ]|$)' 22203 model: 'N6 Pro' 22204 - regex: '1509-A00(?:[);/ ]|$)' 22205 model: 'Q5 Plus' 22206 - regex: '1503-A01(?:[);/ ]|$)' 22207 model: 'N4' 22208 - regex: '1603-A03(?:[);/ ]|$)' 22209 model: 'N4A' 22210 - regex: '1607-A01(?:[);/ ]|$)' 22211 model: 'N5S' 22212 22213# TD Systems 22214TD Systems: 22215 regex: '(K32DLX9HS|K40DLM8FS|K40DLX9FS)(?:[);/ ]|$)' 22216 device: 'tv' 22217 model: '$1' 22218 22219# Ravoz 22220Ravoz: 22221 regex: 'RAVOZ[ _](Z[57] (?:Lite|Pro)|Z[3-7]|R[478])(?:[);/ ]|$)' 22222 device: 'smartphone' 22223 model: '$1' 22224 22225# Tone Mobile (tone.ne.jp) 22226Tone: 22227 regex: 'TONE[ _](e19|m15|e2[01])(?:[);/ ]|$)' 22228 device: 'smartphone' 22229 model: '$1' 22230 22231# AT&T 22232AT&T: 22233 regex: '(?:U304AA|QS5509A|U705AA|U318AA|V350U)(?:[);/ ]|$)' 22234 device: 'smartphone' 22235 models: 22236 - regex: 'U304AA(?:[);/ ]|$)' 22237 model: 'Radiant Core' 22238 - regex: 'U705AA(?:[);/ ]|$)' 22239 model: 'Radiant Max' 22240 - regex: 'QS5509A(?:[);/ ]|$)' 22241 model: 'Axia' 22242 - regex: 'U318AA(?:[);/ ]|$)' 22243 model: 'Calypso' 22244 - regex: 'V350U(?:[);/ ]|$)' 22245 model: 'Maestro Plus' 22246 22247# BIHEE 22248BIHEE: 22249 regex: '(ZBH-)?BIHEE' 22250 device: 'smartphone' 22251 models: 22252 - regex: '(A1[1268]|A[78]\+|A[56])(?:[);/ ]|$)' 22253 model: '$1' 22254 22255# Enot 22256Enot: 22257 regex: 'Enot[ _-](E102|J101)(?:[);/ ]|$)' 22258 device: 'tablet' 22259 model: '$1' 22260 22261# Kooper 22262Kooper: 22263 regex: 'Kooper-mobile-W502(?:[);/ ]|$)' 22264 device: 'smartphone' 22265 model: 'Mobile W502' 22266 22267# Lesia 22268Lesia: 22269 regex: 'ANOVA A5(?:[);/ ]|$)' 22270 device: 'smartphone' 22271 model: 'Anova A5' 22272 22273# Anry 22274Anry: 22275 regex: 'ANRY-(RS10|[SX]20)(?:[);/ ]|$)' 22276 device: 'tablet' 22277 model: '$1' 22278 22279# Tinai 22280Tinai: 22281 regex: 'Tinai (K[12])(?:[);/ ]|$)' 22282 device: 'smartphone' 22283 model: '$1' 22284 22285# Winds (Windsmobile) 22286Winds: 22287 regex: 'NOTE GRACE V(?:[);/ ]|$)' 22288 device: 'smartphone' 22289 model: 'Note Grace V' 22290 22291# Asano 22292Asano: 22293 regex: '32LF7130S(?:[);/ ]|$)' 22294 device: 'tv' 22295 model: '32LF7130S 32.0"' 22296 22297# Phonemax 22298Phonemax: 22299 regex: '(?:PHONEMAX[_ ](?:Saturn(?:[_ ]X)?|Mars|Venus X)|Rocky 2)(?:[);/ ]|$)' 22300 device: 'smartphone' 22301 models: 22302 - regex: 'PHONEMAX[_ ]Saturn[_ ]X(?:[);/ ]|$)' 22303 model: 'Saturn X' 22304 - regex: 'PHONEMAX[_ ]Saturn(?:[);/ ]|$)' 22305 model: 'Saturn' 22306 - regex: 'PHONEMAX[_ ]Mars(?:[);/ ]|$)' 22307 model: 'Mars' 22308 - regex: 'PHONEMAX[_ ]Venus X(?:[);/ ]|$)' 22309 model: 'Venus X' 22310 - regex: 'Rocky 2(?:[);/ ]|$)' 22311 model: 'Rocky 2' 22312 22313# Vipro (Vipro Mobile) 22314Vipro: 22315 regex: 'VIPRO(?:[);/ ]|$)' 22316 device: 'smartphone' 22317 models: 22318 - regex: 'VIPRO PRO2X(?:[);/ ]|$)' 22319 model: 'Pro 2X' 22320 - regex: 'VIPRO PRO[ _-]?([0-9])(?:[);/ ]|$)' 22321 model: 'Pro $1' 22322 22323# OzoneHD 22324OzoneHD: 22325 regex: 'Ozone HD|OzoneHD[ _](T2 WiFi|4K(?: TV)?|Fun)(?:[);/ ]|$)' 22326 device: 'tv' 22327 model: '$1' 22328 22329# KZEN (kzen.me) 22330Kzen: 22331 regex: '(?:Ureki_U1|Victor V1|DART KZ07)(?:[);/ ]|$)' 22332 device: 'smartphone' 22333 models: 22334 - regex: 'Ureki_U1' 22335 model: 'Ureki U1' 22336 - regex: 'Victor V1' 22337 model: 'Victor V1' 22338 - regex: 'DART KZ07' 22339 device: 'tablet' 22340 model: 'Dart KZ07' 22341 22342# MELROSE 22343Melrose: 22344 regex: 'MELROSE[_ ](?:S9\+?|S9P|2019)(?:[);/ ]|$)' 22345 device: 'smartphone' 22346 models: 22347 - regex: 'MELROSE[_ ]S9\+(?:[);/ ]|$)' 22348 model: 'S9 Plus' 22349 - regex: 'MELROSE[_ ](S9|S9P)(?:[);/ ]|$)' 22350 model: '$1' 22351 - regex: 'MELROSE_2019(?:[);/ ]|$)' 22352 model: '2019 Ultra Slim 3.4"' 22353 22354# Crony 22355Crony: 22356 regex: 'CRONY-7021(?:[);/ ]|$)' 22357 device: 'tablet' 22358 model: '7021' 22359 22360# Takara 22361Takara: 22362 regex: '(MID211H)(?:[);/ ]|$)' 22363 device: 'tablet' 22364 model: '$1' 22365 22366# Tronsmart 22367Tronsmart: 22368 regex: '(Orion R68G|Draco AW80|Draco H3|Vega S95_(?:Meta|Pro|Telos))(?:[);/ ]|$)' 22369 device: 'tv' 22370 model: '$1' 22371 22372# Amigoo 22373Amigoo: 22374 regex: 'AMIGOO (R300|R9 Max|M1 Max|X15)(?:[);/ ]|$)' 22375 device: 'smartphone' 22376 model: '$1' 22377 22378# Lumigon 22379Lumigon: 22380 regex: 'Lumigon[ _](T3)(?:[);/ ]|$)' 22381 device: 'smartphone' 22382 model: '$1' 22383 22384# Neomi 22385Neomi: 22386 regex: 'NEO[ ]?(90[689])(?:[);/ ]|$)' 22387 device: 'smartphone' 22388 model: 'Neo $1' 22389 22390# Eltex (eltex-co.ru) 22391Eltex: 22392 regex: '(?:NV5(?:01|10)WAC|NV501|NV510WB)(?:[);/ ]|$)' 22393 device: 'tv' 22394 models: 22395 - regex: 'NV5(01|10)WAC(?:[);/ ]|$)' 22396 model: 'NV-5$1-Wac' 22397 - regex: 'NV501(?:[);/ ]|$)' 22398 model: 'NV-501' 22399 - regex: 'NV510WB(?:[);/ ]|$)' 22400 model: 'NV-510-WB' 22401 22402# Senkatel 22403Senkatel: 22404 regex: 'Senkatel[ _](T1009|T8002|T701[12]|T9702)(?:[);/ ]|$)' 22405 device: 'tablet' 22406 model: '$1' 22407 22408# Bobarry 22409Bobarry: 22410 regex: '(?:K10[ ]?SE)(?:[);/ ]|$)' 22411 device: 'tablet' 22412 model: 'K10 SE' 22413 22414# Wortmann (wortmann.de) 22415Wortmann: 22416 regex: 'TERRA[ _]PAD[ _](100[45])(?:[);/ ]|$)' 22417 device: 'tablet' 22418 model: 'Terra Pad $1' 22419 22420# BB Mobile 22421BB Mobile: 22422 regex: 'bb-mobile|Techno[-_ ](8\.0|9\.7|TQ863Q|X595BT|X800BJ|S700BF|I700AJ|10.1 LTE TQ060X|7.0 LTE TQ763I|I785AP|I101BI)(?:[);/ ]|$)' 22423 device: 'tablet' 22424 models: 22425 - regex: 'Techno[_ ]S700BF(?:[);/ ]|$)' 22426 model: 'Techno 7.0" Pioneer LTE S700BF' 22427 - regex: 'Techno[_ ]10.1 LTE TQ060X(?:[);/ ]|$)' 22428 model: 'Techno 10.0" LTE TQ060X' 22429 - regex: 'Techno[_ ]TQ863Q(?:[);/ ]|$)' 22430 model: 'Techno 8.0" Poplar LTE TQ863Q' 22431 - regex: 'Techno[_ ]I700AJ(?:[);/ ]|$)' 22432 model: 'Techno 7.0" Mozg LTE I700AJ' 22433 - regex: 'Techno[-_ ]I785AP(?:[);/ ]|$)' 22434 model: 'Techno 7.85" Mozg I785AP' 22435 - regex: 'Techno[_ ]X800BJ(?:[);/ ]|$)' 22436 model: 'Techno 8.0" Mozg X800BJ' 22437 - regex: 'Techno[-_ ]I101BI(?:[);/ ]|$)' 22438 model: 'Techno 10.1" Mozg I101BI' 22439 - regex: 'Techno[_ ]7.0 LTE TQ763I(?:[);/ ]|$)' 22440 model: 'Techno 7.0" Kalash LTE TQ763I' 22441 - regex: '(FirstTab TP-17)(?:[);/ ]|$)' 22442 model: '$1' 22443 22444 - regex: 'Techno[_ ](9\.7|8\.0) 3G(?:[);/ ]|$)' 22445 model: 'Techno $1" 3G' 22446 22447 - regex: 'Techno[_ ](?:X595BT)(?:[);/ ]|$)' 22448 device: 'smartphone' 22449 model: 'Techno Spark 3G X595BT' 22450 22451# 2E (2e.ua) 224522E: 22453 regex: '(?:E500A_2019|2E E450 2018)(?:[);/ ]|$)' 22454 device: 'smartphone' 22455 models: 22456 - regex: 'E500A_2019(?:[);/ ]|$)' 22457 model: 'E500A (2019)' 22458 - regex: '2E E450 2018(?:[);/ ]|$)' 22459 model: 'E450 (2018)' 22460 22461# Billion 22462Billion: 22463 regex: 'Capture\+(?:[);/ ]|$)' 22464 device: 'smartphone' 22465 model: 'Capture Plus' 22466 22467# Tele2 (www.tele2.com) mobile operator 22468Tele2: 22469 regex: 'Tele2[ _]' 22470 device: 'smartphone' 22471 models: 22472 - regex: 'Tele2[ _](Mi[dn]i)[ _]1.1(?:[);/ ]|$)' 22473 model: '$1 1.1' 22474 - regex: 'Tele2[ _]Midi[ _]2.0(?:[);/ ]|$)' 22475 model: 'Midi 2.0' 22476 - regex: 'Tele2[ _]((?:Maxi|Midi)(?:[_ ](?:Plus|LTE))?)(?:[);/ ]|$)' 22477 model: '$1' 22478 - regex: 'Tele2[ _](Mi[dn]i)(?:[);/ ]|$)' 22479 model: '$1' 22480 22481# Alfawise 22482Alfawise: 22483 regex: '(?:Alfawise (?:A9)|(?:A95X_R1|Z28Pro))(?:[);/ ]|$)' 22484 device: 'tv' 22485 models: 22486 - regex: '(A95X_R1)(?:[);/ ]|$)' 22487 model: '$1' 22488 - regex: 'Z28Pro(?:[);/ ]|$)' 22489 model: 'Z28 Pro' 22490 - regex: 'Alfawise (A9)' 22491 model: '$1' 22492 22493# Klipad 22494Klipad: 22495 regex: 'KLIPAD_|(?:KL-V905|KL4889|KL9878|7589AN)(?:[);/ ]|$)' 22496 device: 'smartphone' 22497 models: 22498 - regex: '(?:KLIPAD_)?(V355B?|KL600|KL-V905)(?:[);/ ]|$)' 22499 model: '$1' 22500 - regex: '(KL4889|7589AN|KL9878)(?:[);/ ]|$)' 22501 device: 'tablet' 22502 model: '$1' 22503 22504# SQOOL (sqool.fr) 22505SQOOL: 22506 regex: 'SQOOL-V(41?)(?:[);/ ]|$)' 22507 device: 'tablet' 22508 model: 'V$1' 22509 22510# TurboPad (turbopad.ru) 22511TurboPad: 22512 regex: 'Turbopad[-_ ]?(72[34]|80[23]|912|101[456])(?:NEW)?(?:[);/ ]|$)' 22513 device: 'tablet' 22514 model: '$1' 22515 22516# TurboKids sub brand TurboPad (turbokids.ru) 22517TurboKids: 22518 regex: 'Turbokids[-_ ]?(TMNT|3G|S4|Princess)(?:[);/ ]|$)' 22519 device: 'tablet' 22520 model: '$1' 22521 22522# Jinga (jinga.ru) 22523Jinga: 22524 regex: 'Jinga[-_ ]|(?:(?:Fresh|Optim)4G|Pass(?:Plus|3G)|PicassoNote|Hotz[_ ]M1|WinPRO|Touch4G|Start(?:3G|LTE)?|IGO[ _]L[41]|Basco (?:L3|L[45]00|XS1|S2)|M500-1|Hit4G|A450|Neon(?!/)|JoyPRO|Fresh|GoalPlus)(?:[);/ ]|$)' 22525 device: 'smartphone' 22526 models: 22527 - regex: 'Optim4G(?:[);/ ]|$)' 22528 model: 'Optim 4G' 22529 - regex: 'Fresh4G(?:[);/ ]|$)' 22530 model: 'Fresh 4G' 22531 - regex: 'Hotz[_ ]M1(?:[);/ ]|$)' 22532 model: 'Hotz M1' 22533 - regex: 'Hit4G(?:[);/ ]|$)' 22534 model: 'Hit 4G' 22535 - regex: 'PassPlus(?:[);/ ]|$)' 22536 model: 'Pass Plus' 22537 - regex: 'Pass3G(?:[);/ ]|$)' 22538 model: 'Pass 3G' 22539 - regex: 'GoalPlus(?:[);/ ]|$)' 22540 model: 'Goal Plus' 22541 - regex: '(Win|Joy)PRO(?:[);/ ]|$)' 22542 model: '$1 Pro' 22543 - regex: 'Touch4G(?:[);/ ]|$)' 22544 model: 'Touch 4G' 22545 - regex: 'Start3G(?:[);/ ]|$)' 22546 model: 'Start 3G' 22547 - regex: 'StartLTE(?:[);/ ]|$)' 22548 model: 'Start LTE' 22549 - regex: 'Start(?:[);/ ]|$)' 22550 model: 'Start' 22551 - regex: 'PicassoNote(?:[);/ ]|$)' 22552 model: 'Picasso Note' 22553 - regex: 'Jinga Iron(?:[);/ ]|$)' 22554 model: 'Iron' 22555 - regex: 'Fresh(?:[);/ ]|$)' 22556 model: 'Fresh' 22557 - regex: 'Jinga Basco neo(?:[);/ ]|$)' 22558 model: 'Basco Neo' 22559 - regex: 'M500-1(?:[);/ ]|$)' 22560 model: 'Basco M500 3G' 22561 - regex: '(?:Jinga[ _])?Basco[ _](L[13]|L[45]00|XS1|S2)(?:[);/ ]|$)' 22562 model: 'Basco $1' 22563 - regex: 'Jinga Trezor S1 Plus(?:[);/ ]|$)' 22564 model: 'Trezor S1 Plus' 22565 - regex: 'JINGA_IGO_L2(?:[);/ ]|$)' 22566 model: 'IGO L2' 22567 - regex: '(?:JINGA[_ ])?IGO[_ ]([ML]1|L4)(?:[);/ ]|$)' 22568 model: 'IGO $1' 22569 - regex: '(?:JINGA[_ ])?(Neon|A450)(?:[);/ ]|$)' 22570 model: '$1' 22571 - regex: 'Jinga Trezor S1 Plus(?:[);/ ]|$)' 22572 model: 'Trezor S1 Plus' 22573 22574# Twoe 22575Twoe: 22576 regex: '(?:TWOE[-_ ]E450R|F534L|F572L|E500A)(?:[);/ ]|$)' 22577 device: 'smartphone' 22578 models: 22579 - regex: 'TWOE[-_ ](E450R)(?:[);/ ]|$)' 22580 model: '$1' 22581 - regex: '(F534L|F572L|E500A)(?:[);/ ]|$)' 22582 model: '$1' 22583 22584# iTruck 22585iTruck: 22586 regex: 'iTRUCK 7 3G(?:[);/ ]|$)' 22587 device: 'smartphone' 22588 model: '7.0" 3G' 22589 22590# Torex (torex.tools) 22591Torex: 22592 regex: 'TOREX[- ](?:PS12|S18|S27)(?:[);/ ]|$)' 22593 device: 'tablet' 22594 models: 22595 - regex: 'TOREX-(PS12)' 22596 model: '$1' 22597 - regex: 'TOREX[- ](S18|S27)' 22598 device: 'smartphone' 22599 model: '$1' 22600 22601# Doffler 22602Doffler: 22603 regex: '(24DHS54)(?:[);/ ]|$)' 22604 device: 'tv' 22605 model: '$1' 22606 22607# Oyyu 22608Oyyu: 22609 regex: 'OYYUT11(?:[);/ ]|$)' 22610 device: 'tablet' 22611 model: 'T11 3G' 22612 22613# Primux (primux.es) 22614Primux: 22615 regex: 'Primux|SirocoY' 22616 device: 'smartphone' 22617 models: 22618 - regex: 'Primux_ioxphone(?:[);/ ]|$)' 22619 model: 'IOX Phone' 22620 - regex: 'PrimuxDelta6(?:[);/ ]|$)' 22621 model: 'Delta 6' 22622 - regex: 'PrimuxKappa(P50[01])(?:[);/ ]|$)' 22623 model: 'Kappa $1' 22624 - regex: 'PrimuxKappa(?:[);/ ]|$)' 22625 model: 'Kappa' 22626 - regex: 'Primux_Beta2(?:[);/ ]|$)' 22627 model: 'Beta 2' 22628 - regex: 'Primux_?Omega([57])(?:[);/ ]|$)' 22629 model: 'Omega $1' 22630 22631 - regex: 'PrimuxUP(?:[);/ ]|$)' 22632 device: 'tablet' 22633 model: 'UP' 22634 - regex: ' PrimuxZonda4(?:[);/ ]|$)' 22635 device: 'tablet' 22636 model: 'Zonda 4' 22637 - regex: 'Primux_Siroco6(?:[);/ ]|$)' 22638 device: 'tablet' 22639 model: 'Siroco 6' 22640 - regex: 'SirocoY(?:[);/ ]|$)' 22641 device: 'tablet' 22642 model: 'Siroco Y' 22643 22644# iMars 22645iMars: 22646 regex: '(?:IMARS VEGA X7|VIVI_8|MILKY_WAY_M2)(?:[);/ ]|$)' 22647 device: 'smartphone' 22648 models: 22649 - regex: 'IMARS VEGA X7' 22650 model: 'Vega X7' 22651 - regex: 'VIVI_8' 22652 model: 'VIVI 8' 22653 - regex: 'MILKY_WAY_M2' 22654 model: 'Milky Way M2' 22655 22656# Logic (logicmobility.com) 22657Logic: 22658 regex: 'LOGIC[_ ](X[135]|X4M|L5D|X5[AFT]|X60G|L61|X60_PLUS)(:?[_ ]LITE2?)?(?:[);/ ]|$)' 22659 device: 'smartphone' 22660 models: 22661 - regex: 'LOGIC[_ ]X60_PLUS(?:[);/ ]|$)' 22662 model: 'X60 Plus' 22663 - regex: 'LOGIC[_ ](X5|X4M)[_ ]LITE(?:[);/ ]|$)' 22664 model: '$1 Lite' 22665 - regex: 'LOGIC[_ ](X5)[_ ]LITE2(?:[);/ ]|$)' 22666 model: '$1 Lite 2' 22667 - regex: 'LOGIC[_ ](X[13]|X4M|L5D|X5[AFT]|X60G|L61)(?:[);/ ]|$)' 22668 model: '$1' 22669 22670# Cloudpad 22671Cloudpad: 22672 regex: '\+VT(?:107C|Q007C)(?:[);/ ]|$)' 22673 device: 'tablet' 22674 models: 22675 - regex: '\+VT(107C)' 22676 model: '+VT$1' 22677 - regex: '\+VTQ(007C)' 22678 model: '+VTQ$1' 22679 22680# Cloudfone 22681Cloudfone: 22682 regex: 'CloudFone[ _]|(?:Thrill (?:Boost[ ]?(2|3)?|Snap|Access)|Excite Prime 2 Pro|NBA Edition)(?:[);/ ]|$)' 22683 device: 'smartphone' 22684 models: 22685 - regex: 'Thrill Boost 2 Plus(?:[);/ ]|$)' 22686 model: 'Thrill Boost 2 Plus' 22687 - regex: 'Thrill Boost (2|3)(?:[);/ ]|$)' 22688 model: 'Thrill Boost $1' 22689 - regex: 'Thrill Boost(?:[);/ ]|$)' 22690 model: 'Thrill Boost' 22691 - regex: 'Thrill Snap(?:[);/ ]|$)' 22692 model: 'Thrill Snap' 22693 - regex: 'Thrill Access(?:[);/ ]|$)' 22694 model: 'Thrill Access' 22695 - regex: 'Excite Prime 2 Pro(?:[);/ ]|$)' 22696 model: 'Excite Prime 2 Pro' 22697 - regex: 'NBA Edition(?:[);/ ]|$)' 22698 model: 'NBA Edition' 22699 - regex: 'Next(?:[);/ ]|$)' 22700 model: 'Next' 22701 22702# Vsmart 22703Vsmart: 22704 regex: '(?:Joy [123]\+|Joy [34]|Active 1\+|Bee 3|Active 3)(?:[);/ ]|$)' 22705 device: 'smartphone' 22706 models: 22707 - regex: 'Joy ([123])\+(?:[);/ ]|$)' 22708 model: 'Joy $1 Plus' 22709 - regex: 'Joy ([34])(?:[);/ ]|$)' 22710 model: 'Joy $1' 22711 - regex: 'Active 1\+(?:[);/ ]|$)' 22712 model: 'Active 1 Plus' 22713 - regex: 'Bee 3(?:[);/ ]|$)' 22714 model: 'Bee 3' 22715 - regex: 'Active 3(?:[);/ ]|$)' 22716 model: 'Active 3' 22717 22718# MiXzo 22719MiXzo: 22720 regex: '(?:MiXzo[ _])?(?:ME ?10(?:2[35]|30)|MX1037|MX1024|MX10[24]1|MX1397)([ _][34]G)?(?:[);/ ]|$)' 22721 device: 'tablet' 22722 models: 22723 - regex: 'MiXzo[_ ]ME ?(1023|1030)(?:[_ ]([34])G)(?:[);/ ]|$)' 22724 model: 'ME$1 $2G' 22725 - regex: 'MiXzo[_ ]MX1021(?:[_ ]3G)?(?:[);/ ]|$)' 22726 model: 'MX1021 3G' 22727 - regex: '(?:MiXzo[ _])?MX(1037|1041|1024|1397)[ _]4G(?:[);/ ]|$)' 22728 model: 'MX$1 4G' 22729 - regex: 'ME ?1025' 22730 model: 'ME1025 3G' 22731 22732# Openbox 22733Openbox: 22734 regex: '(?:Openbox (?:A[34](?: (?:Pro|Lite))?)|AS_4K_CI(?:_PRO)?)(?:[);/ ]|$)' 22735 device: 'tv' 22736 models: 22737 - regex: 'Openbox (A[34](?: (?:Pro|Lite))?)(?:[);/ ]|$)' 22738 model: '$1' 22739 - regex: 'AS_4K_CI_PRO' 22740 model: 'AS 4K CI Pro' 22741 - regex: 'AS_4K_CI' 22742 model: 'AS 4K CI' 22743 22744# Ziox 22745Ziox: 22746 regex: 'ZIOX[_ ]|(?:Astra Viva 4G|Astra NXT Pro|Duopix F9)(?:[);/ ]|$)' 22747 device: 'smartphone' 22748 models: 22749 - regex: 'ZIOX[_ ]F9[_ ]PRO(?:[);/ ]|$)' 22750 model: 'F9 Pro' 22751 - regex: 'Astra Viva 4G(?:[);/ ]|$)' 22752 model: 'Astra Viva 4G' 22753 - regex: 'Astra NXT Pro(?:[);/ ]|$)' 22754 model: 'Astra NXT Pro' 22755 - regex: 'Duopix F9(?:[);/ ]|$)' 22756 model: 'Duopix F9' 22757 22758# iDroid 22759iDroid: 22760 regex: 'APACHE G6(?:[);/ ]|$)' 22761 device: 'smartphone' 22762 model: 'Apache G6' 22763 22764# Aoson 22765Aoson: 22766 regex: 'aoson(?:R10[1-3]|S[78]|M707TG)(?:[_ ]?Pro)?(?:[);/ ]|$)' 22767 device: 'tablet' 22768 models: 22769 - regex: 'aosonR10([1-3])(?:[);/ ]|$)' 22770 model: 'R10$1 10.1"' 22771 - regex: 'aosonS7_Pro(?:[);/ ]|$)' 22772 model: 'S7 Pro 7.0"' 22773 - regex: 'aosonS7(?:[);/ ]|$)' 22774 model: 'S7 7.0"' 22775 - regex: 'aosonS8Pro(?:[);/ ]|$)' 22776 model: 'S8 Pro 8.0"' 22777 - regex: 'aoson(M707TG)(?:[);/ ]|$)' 22778 model: '$1' 22779 22780# FireFly Mobile 22781FireFly Mobile: 22782 regex: '(?:AURII[ _](?:Passion|Virtuoso|ULTRA|Secret Lite|AMUSE[_ ]3G|FORCE|FUSION|F8[_ ]Premium|XCITE|DELIGHT|DREAM[_ ](?:MINI|One))|SECRET_XR|INTENSE[ _](?:POWER|METAL_2|XT)|SUPER SWEET|SWEET MINI)(?:[);/ ]|$)' 22783 device: 'smartphone' 22784 models: 22785 - regex: 'AURII[ _]FORCE(?:[);/ ]|$)' 22786 model: 'Aurii Force' 22787 - regex: 'AURII[ _]DELIGHT(?:[);/ ]|$)' 22788 model: 'Aurii Delight' 22789 - regex: 'AURII[ _]DREAM[_ ]MINI(?:[);/ ]|$)' 22790 model: 'Aurii Dream Mini' 22791 - regex: 'AURII[ _]DREAM[_ ]One(?:[);/ ]|$)' 22792 model: 'Aurii Dream One' 22793 - regex: 'AURII[ _]ULTRA(?:[);/ ]|$)' 22794 model: 'Aurii Ultra' 22795 - regex: 'AURII[ _]AMUSE[_ ]3G(?:[);/ ]|$)' 22796 model: 'Aurii Amuse 3G' 22797 - regex: 'AURII[ _]FUSION(?:[);/ ]|$)' 22798 model: 'Aurii Fusion' 22799 - regex: 'AURII[ _]XCITE(?:[);/ ]|$)' 22800 model: 'Aurii xCite' 22801 - regex: 'SECRET_XR(?:[);/ ]|$)' 22802 model: 'Aurii Secret XR' 22803 - regex: 'AURII[ _]((?:Passion|Virtuoso|Secret Lite|F8[_ ]Premium))(?:[);/ ]|$)' 22804 model: 'Aurii $1' 22805 - regex: 'INTENSE POWER(?:[);/ ]|$)' 22806 model: 'Intense Power' 22807 - regex: 'INTENSE_XT(?:[);/ ]|$)' 22808 model: 'Intense XT' 22809 - regex: 'INTENSE_METAL_2(?:[);/ ]|$)' 22810 model: 'Intense Metal 2' 22811 - regex: 'SUPER SWEET(?:[);/ ]|$)' 22812 model: 'Super Sweet' 22813 - regex: 'SWEET MINI(?:[);/ ]|$)' 22814 model: 'Sweet Mini' 22815 22816# FISE (http://www.fise.com.cn/) 22817FISE: 22818 regex: 'Fise_' 22819 device: 'smartphone' 22820 models: 22821 - regex: 'Fise_32433_3G(?:[);/ ]|$)' 22822 device: 'feature phone' 22823 model: 'M32433 3G' 22824 22825# i-Cherry or iCherry 22826i-Cherry: 22827 regex: 'iCherry_?' 22828 device: 'smartphone' 22829 models: 22830 - regex: 'iCherry[ _](C(?:25[1258]|21[16]|110|121|22[0379]|23[03])|X1)(?:[);/ ]|$)' 22831 model: '$1' 22832 - regex: 'iCherry-C256' 22833 device: 'tablet' 22834 model: 'C256 Nano 3G' 22835 22836# NextTab 22837NextTab: 22838 regex: 'TAB (A40[13]0)(?:[);/ ]|$)' 22839 device: 'tablet' 22840 model: '$1' 22841 22842# Time 2 22843Time2: 22844 regex: '(TC1050G)(?:[);/ ]|$)' 22845 device: 'tablet' 22846 model: '$1 10.1"' 22847 22848# Sunstech 22849Sunstech: 22850 regex: '(TAB2323GMQC)(?:[);/ ]|$)' 22851 device: 'tablet' 22852 model: '$1' 22853 22854# Hotwav (www.hotwav.com) 22855Hotwav: 22856 regex: '(?:Venus[_ ](?:X[12]|X1[0245679]|R8 PLUS|R[236-9]|R1[028]|X16-1)|Cosmos[ _](?:V8_lite|V19_Plus|V2[0-3]|U2|V1[359]|V[45689]|V8-2)|Pearl K2|Magic Q8|Magic 5 Plus|Magic (?:[89]|1[13])|Hot[_ ]6|Symbol (?:X|Max|R60))(?:[);/ ]|$)' 22857 device: 'smartphone' 22858 models: 22859 - regex: 'Cosmos[ _]V8_lite(?:[);/ ]|$)' 22860 model: 'Cosmos V8 Lite' 22861 - regex: 'Hot[_ ]6?(?:[);/ ]|$)' 22862 model: 'Hot 6' 22863 - regex: 'Venus R8 PLUS(?:[);/ ]|$)' 22864 model: 'Venus R8 Plus' 22865 - regex: 'Venus[_ ]X16(?:-1)?(?:[);/ ]|$)' 22866 model: 'Venus X16' 22867 - regex: 'Venus[_ ](X[12]|X1[0245679]|R[236-9]|R1[028])(?:[);/ ]|$)' 22868 model: 'Venus $1' 22869 - regex: 'Symbol R60' 22870 device: 'phablet' 22871 model: 'Symbol R60' 22872 - regex: '(Cosmos[ _](?:V19_Plus|V2[0-3]|U2|V1[359]|V[45689])|Pearl K2|Magic Q8|Magic 5 Plus|Magic (?:[89]|1[13])|Symbol (?:X|Max))(?:-2)?(?:[);/ ]|$)' 22873 model: '$1' 22874 22875# Tetratab 22876Tetratab: 22877 regex: 'CASEBOOK_3(?:[);/ ]|$)' 22878 device: 'tablet' 22879 model: 'Casebook 3' 22880 22881# Dolamee 22882Dolamee: 22883 regex: 'Dolamee[_ -](D[56])(?:[);/ ]|$)' 22884 device: 'tv' 22885 model: '$1' 22886 22887# INVIN 22888Invin: 22889 regex: 'INVIN[ _-]|KM5PRO(?:[);/ ]|$)' 22890 device: 'tv' 22891 models: 22892 - regex: 'INVIN[ _-](X[24]|KM[678])' 22893 model: '$1' 22894 - regex: 'KM5PRO' 22895 model: 'KM5 Pro' 22896 22897# Doopro 22898Doopro: 22899 regex: 'Doopro P3(?:[);/ ]|$)' 22900 device: 'smartphone' 22901 model: 'P3' 22902 22903# IQM 22904IQM: 22905 regex: 'IQM (?:picasso|vivaldi|newton)(?:[);/ ]|$)' 22906 device: 'smartphone' 22907 models: 22908 - regex: 'IQM picasso(?:[);/ ]|$)' 22909 model: 'Picasso' 22910 - regex: 'IQM vivaldi(?:[);/ ]|$)' 22911 model: 'Vivaldi' 22912 - regex: 'IQM newton(?:[);/ ]|$)' 22913 model: 'Newton' 22914 22915# Nos 22916Nos: 22917 regex: 'Nos (?:FIVE|NOVU|NEVA|Roya)(?:[);/ ]|$)' 22918 device: 'smartphone' 22919 models: 22920 - regex: 'NOS FIVE(?:[);/ ]|$)' 22921 model: 'Five' 22922 - regex: 'NOS NOVU III(?:[);/ ]|$)' 22923 model: 'Novu III' 22924 - regex: 'NOS NOVU II(?:[);/ ]|$)' 22925 model: 'Novu II' 22926 - regex: 'NOS NOVU(?:[);/ ]|$)' 22927 model: 'Novu' 22928 - regex: 'NOS NEVA 80(?:[);/ ]|$)' 22929 model: 'Neva 80' 22930 - regex: 'NOS Roya(?:[);/ ]|$)' 22931 model: 'Roya' 22932 22933# Accent (DBM Maroc) (accent.ma) 22934Accent: 22935 regex: '(?:ACCENT[_ ]NEON|FAST73G|PEARL[_ ]A[24567]|TANK_P55|CAMELEON[_ ](?:C[456]|A1)(?:[_ ]PLUS)?|Speed[- ](?:[AXYM]2|X2\+))(?:[);/ ]|$)' 22936 device: 'smartphone' 22937 models: 22938 - regex: 'ACCENT[_ ]NEON(?:[);/ ]|$)' 22939 model: 'Neon' 22940 - regex: 'CAMELEON[_ ]C6[_ ]PLUS(?:[);/ ]|$)' 22941 model: 'Cameleon C6 Plus' 22942 - regex: 'Speed[- ]([AXYM]2)(?:[);/ ]|$)' 22943 model: 'Speed $1' 22944 - regex: 'Speed-X2\+(?:[);/ ]|$)' 22945 model: 'Speed X2 Plus' 22946 - regex: 'CAMELEON[_ ](C[456]|A1)(?:[);/ ]|$)' 22947 model: 'Cameleon $1' 22948 - regex: 'PEARL A4 Lite(?:[);/ ]|$)' 22949 model: 'Pearl A4 Lite' 22950 - regex: 'PEARL[_ ]A([2567])(?:[);/ ]|$)' 22951 model: 'Pearl A$1' 22952 - regex: 'TANK_P55(?:[);/ ]|$)' 22953 model: 'Tank P55' 22954 - regex: 'FAST73G(?:[);/ ]|$)' 22955 device: 'phablet' 22956 model: 'FAST7 3G' 22957 22958# Avenzo (www.avenzo.es) 22959Avenzo: 22960 regex: 'Avenzo(?:[);/ ]|$)' 22961 device: 'smartphone' 22962 models: 22963 - regex: 'MOB4 4G(?:[);/ ]|$)' 22964 model: 'Mob 4 4G' 22965 - regex: 'MOB4PRO 4G(?:[);/ ]|$)' 22966 model: 'Mob 4 Pro 4G' 22967 22968# Beelink (www.bee-link.com) 22969Beelink: 22970 regex: '(?:Beelink (?:G[ST]1|LAKE I|SEA I|A1)|GTKing(?:_AT)?|GT1mini-2|GT1-mini(?:[-_]AT)?)(?:[);/ ]|$)' 22971 device: 'tv' 22972 models: 22973 - regex: 'Beelink (G[ST]1|LAKE I|SEA I|A1)(?:[);/ ]|$)' 22974 model: '$1' 22975 - regex: 'GT1-mini(?:-AT)?(?:[);/ ]|$)' 22976 model: 'GT1 Mini' 22977 - regex: 'GT1mini-2(?:[);/ ]|$)' 22978 model: 'GT1 Mini 2' 22979 - regex: 'GTKing(?:_AT)?(?:[);/ ]|$)' 22980 model: 'GT King' 22981 22982# MAXVI 22983MAXVI: 22984 regex: 'MAXVI[ _](?:MS401)(?:[);/ ]|$)|(?:\w+)?_MAXVI_\w+|MS502[_ ]Orion|MS531' 22985 device: 'smartphone' 22986 models: 22987 - regex: 'MAXVI[ _](MS401)' 22988 model: '$1' 22989 - regex: 'MS531' 22990 model: 'MS531 Vega' 22991 - regex: 'MS502[_ ]Orion' 22992 model: 'MS502 Orion' 22993 - regex: '(?:\w+)?MAXVI_(P11|K10|X[358]00)_\w+' 22994 device: 'feature phone' 22995 model: '$1' 22996 22997# MDC Store (http://mdc.store/ or https://www.facebook.com/mdcmobileuzbekistan/) 22998MDC Store: 22999 regex: '(?:Prime_S|M300 4G|MDC M5)(?:[);/ ]|$)' 23000 device: 'smartphone' 23001 models: 23002 - regex: 'Prime_S(?:[);/ ]|$)' 23003 model: 'Prime S' 23004 - regex: '(M300) 4G(?:[);/ ]|$)' 23005 model: '$1 4G' 23006 - regex: 'MDC M5(?:[);/ ]|$)' 23007 model: 'M5' 23008 23009# meanIT (meanit.hr) 23010meanIT: 23011 regex: 'meanIT[ _](?:C[12]|X10|X[126]|MG430|Q[145])(?:[);/ ]|$)' 23012 device: 'smartphone' 23013 models: 23014 - regex: 'meanIT[ _]Q1 plus(?:[);/ ]|$)' 23015 model: 'Q1 Plus' 23016 - regex: 'meanIT[ _](C[12]|X[126]|MG430|Q[145])(?:[);/ ]|$)' 23017 model: '$1' 23018 - regex: 'meanIT[ _]X10(?:[);/ ]|$)' 23019 device: 'tablet' 23020 model: 'X10' 23021 23022# Kenxinda 23023Kenxinda: 23024 regex: 'Three[_ ]Proofings[_ ]W([5-9])(?:[);/ ]|$)' 23025 device: 'smartphone' 23026 model: 'Three Proofings W$1' 23027 23028# X-BO or XBO 23029X-BO: 23030 regex: 'X[-]?BO (V[78]|V1[01]|V[89]\+)(?:[);/ ]|$)' 23031 device: 'smartphone' 23032 model: '$1' 23033 23034# Xgody 23035Xgody: 23036 regex: 'XGODY|Y19\(EU\)(?:[);/ ]|$)' 23037 device: 'smartphone' 23038 models: 23039 - regex: 'XGODY Y17(?:[);/ ]|$)' 23040 model: 'Y17' 23041 - regex: 'Y19\(EU\)' 23042 model: 'Y19' 23043 - regex: 'XGODY_X96(?:[);/ ]|$)' 23044 model: 'X96' 23045 device: 'tv' 23046 23047 23048# Alcor (alcordigital) 23049Alcor: 23050 regex: '(Access_Q784C)(?:[);/ ]|$)' 23051 device: 'tablet' 23052 model: '$1' 23053 23054# iBrit 23055iBrit: 23056 regex: 'IBRIT_|(?:SI5[12])(?:[);/ ]|$)' 23057 device: 'smartphone' 23058 models: 23059 - regex: 'IBRIT_I([57])(?:[);/ ]|$)' 23060 model: 'I$1' 23061 - regex: 'iBRIT_POWER6(?:[);/ ]|$)' 23062 model: 'Power 6' 23063 - regex: 'iBRIT_Speed Pro(?:[);/ ]|$)' 23064 model: 'Speed Pro' 23065 - regex: 'SI51(?:[);/ ]|$)' 23066 model: 'Speed' 23067 - regex: 'SI52(?:[);/ ]|$)' 23068 model: 'Speed Plus' 23069 23070# Ovvi 23071Ovvi: 23072 regex: 'Jumbo X1' 23073 device: 'smartphone' 23074 model: 'Jumbo X1' 23075 23076# Fero 23077Fero: 23078 regex: 'Fero[_ ]|Royale[_ ](?:[YX]2|A1)' 23079 device: 'smartphone' 23080 models: 23081 - regex: 'Fero_Y1' 23082 model: 'Y1' 23083 - regex: 'Royale Y2 Lite' 23084 model: 'Royale Y2 Lite' 23085 - regex: 'Royale[_ ]([YX]2|A1)' 23086 model: 'Royale $1' 23087 - regex: 'FERO PACE' 23088 model: 'Pace' 23089 - regex: 'Fero[ _](A4001|A450[23]|A5001|L100|Iris|Power|Mega LTE|Vibe)' 23090 model: '$1' 23091 23092# Ruio 23093Ruio: 23094 regex: 'Ruio[ _]' 23095 device: 'smartphone' 23096 models: 23097 - regex: 'Ruio[ _](S4)(?:[);/ ]|$)' 23098 model: '$1' 23099 - regex: 'Ruio[ _](S5)Plus(?:[);/ ]|$)' 23100 model: '$1 Plus' 23101 23102# Transpeed 23103Transpeed: 23104 regex: 'Transpeed_|(?:TR99 MINI\+|TR99)(?:[);/ ]|$)' 23105 device: 'tv' 23106 models: 23107 - regex: 'TR99 MINI\+' 23108 model: 'TR99 Mini Plus' 23109 - regex: '(?:Transpeed_)?(TR99|H616|6K)(?:[);/ ]|$)' 23110 model: '$1' 23111 23112# 8848 (everest 8848, 8848 titanium) 23113'8848': 23114 regex: '8848 (M[3-6])(?:[);/ ]|$)' 23115 device: 'smartphone' 23116 model: '$1' 23117 23118# VVETIME 23119VVETIME: 23120 regex: 'ZYVV1(?:[);/ ]|$)' 23121 device: 'smartphone' 23122 model: 'V1' 23123 23124# A1 (www.a1.by) 23125A1: 23126 regex: '(?:A1 (?:Alpha|Alpha 20\+)|Alpha 20)(?:[);/ ]|$)' 23127 device: 'smartphone' 23128 models: 23129 - regex: 'A1 Alpha 20\+' 23130 model: 'Alpha 20 Plus' # ZTE Blade V2020 23131 - regex: 'A1 Alpha' 23132 model: 'Alpha' 23133 - regex: 'Alpha 20' 23134 model: 'Alpha 20' 23135 23136# Swisstone 23137Swisstone: 23138 regex: 'swisstone (SD 5[13]0)(?:[);/ ]|$)' 23139 device: 'smartphone' 23140 model: '$1' 23141 23142# P-UP (Peaup Co., Ltd.) (p-up.jp, mode1.jp) 23143P-UP: 23144 regex: 'MD-0[143]P(?:[);/ ]|$)' 23145 device: 'phablet' 23146 models: 23147 - regex: 'MD-04P(?:[);/ ]|$)' 23148 model: 'Mode 1 RR' 23149 - regex: 'MD-03P(?:[);/ ]|$)' 23150 model: 'Mode 1 RS' 23151 - regex: 'MD-01P(?:[);/ ]|$)' 23152 device: 'smartphone' 23153 model: 'Mode 1 MD-01P' 23154 23155# iVooMi 23156iVooMi: 23157 regex: '(?:Innelo_1|iV 505|Me 1\+)(?:[);/ ]|$)' 23158 device: 'smartphone' 23159 models: 23160 - regex: 'Innelo_1' 23161 model: 'Innelo 1' 23162 - regex: 'iV 505' 23163 model: 'Me 1' 23164 - regex: 'Me 1\+' 23165 model: 'Me 1+' 23166 23167# Pixelphone 23168Pixelphone: 23169 regex: 'Pixelphone S1(?:[);/ ]|$)' 23170 device: 'smartphone' 23171 model: 'S1' 23172 23173# Pixela 23174Pixela: 23175 regex: 'Infineum[_ ](Z4?5)(?:[);/ ]|$)' 23176 device: 'smartphone' 23177 model: 'Infineum $1' 23178 23179# Iris 23180Iris: 23181 regex: '(?:Vox[_ ](?:[45]S|Alpha|POP|STEEL Plus|Energy|FORTIS|VERO)|IS2_?Plus|IS2S|Next_P_PRO|IRS002-16|X1 mini)(?:[);/ ]|$)' 23182 device: 'smartphone' 23183 models: 23184 - regex: 'Vox[_ ]([45])S' 23185 model: 'Vox $1S' 23186 - regex: 'VOX[_ ]FORTIS' 23187 model: 'Vox Fortis' 23188 - regex: 'VOX[_ ]VERO' 23189 model: 'Vox Vero' 23190 - regex: 'VOX Alpha Plus' 23191 model: 'Vox Alpha Plus' 23192 - regex: 'VOX STEEL Plus' 23193 model: 'Vox Steel Plus' 23194 - regex: 'VOX Alpha' 23195 model: 'Vox Alpha' 23196 - regex: 'VOX Energy' 23197 model: 'Vox Energy' 23198 - regex: 'VOX POP plus' 23199 model: 'Vox Pop Plus' 23200 - regex: 'VOX POP Pro' 23201 model: 'Vox Pop Pro' 23202 - regex: 'Next_P_PRO' 23203 model: 'Next P Pro' 23204 - regex: 'IS2_?Plus' 23205 model: 'IS2 Plus' 23206 - regex: 'IRS002-16' 23207 model: 'I-S6' 23208 - regex: 'IS2S' 23209 model: 'IS2S' 23210 - regex: 'X1 mini' 23211 model: 'X1 Mini' 23212 23213# Fonos 23214Fonos: 23215 regex: 'Fonos-(O1)(?:[);/ ]|$)' 23216 device: 'smartphone' 23217 model: '$1' 23218 23219# Xtouch 23220Xtouch: 23221 regex: 'Xtouch[ _](X10|A5)(?:[);/ ]|$)' 23222 device: 'smartphone' 23223 model: '$1' 23224 23225# Conquest 23226Conquest: 23227 regex: 'Conquest[-_](?:S(?:[68]|1[0126])|F2)(?:[);/ ]|$)' 23228 device: 'smartphone' 23229 models: 23230 - regex: 'Conquest[-_]S([68]|1[0126])' 23231 model: 'S$1' 23232 - regex: 'Conquest-F2' 23233 model: 'F2' 23234 23235# Zatec 23236Zatec: 23237 regex: 'ZATEC[_ ]|(?:[ ]WIND|ZPLAY1_2018|Zpower_(?:Plus|2018))(?:[);/ ]|$)' 23238 device: 'smartphone' 23239 models: 23240 - regex: 'ZATEC[_ ]GRAVITY(?:[);/ ]|$)' 23241 model: 'Gravity' 23242 - regex: '[ ]WIND(?:[);/ ]|$)' 23243 model: 'Wind' 23244 - regex: 'ZPLAY1_2018' 23245 model: 'Zplay (2018)' 23246 - regex: 'Zpower_2018' 23247 model: 'Zpower (2018)' 23248 - regex: 'Zpower_Plus' 23249 model: 'Zpower Plus' 23250 23251# Selenga 23252Selenga: 23253 regex: 'Selenga[ _](A[134])(?:[);/ ]|$)' 23254 device: 'tv' 23255 model: '$1' 23256 23257# Starlight 23258Starlight: 23259 regex: 'Starlight|(?:My_Star_X|RIO STAR|C_Note_Pro|Star_Mix_2)(?:[);/ ]|$)' 23260 device: 'smartphone' 23261 models: 23262 - regex: 'My_Star_X' 23263 model: 'My Star X' 23264 - regex: 'RIO STAR' 23265 model: 'Rio Star' 23266 - regex: 'C_Note_Pro' 23267 model: 'C Note Pro' 23268 - regex: 'Star_Mix_2' 23269 model: 'Star Mix 2' 23270 - regex: 'Starlight_ROME_X' 23271 model: 'Rome X' 23272 23273# GEOFOX 23274GEOFOX: 23275 regex: 'GEOFOX[_](MID743)(?:[);/ ]|$)' 23276 device: 'tablet' 23277 model: '$1' 23278 23279# Tinmo 23280Tinmo: 23281 regex: 'TiNMO[- _](A11|K3)(?:[);/ ]|$)' 23282 device: 'smartphone' 23283 model: '$1' 23284 23285# Matrix 23286Matrix: 23287 regex: '(7116-A5|818 3G)(?:[);/ ]|$)' 23288 device: 'tablet' 23289 model: '$1' 23290 23291# Verico 23292Verico: 23293 regex: '(RP-UDM0[12]A|RP-UDP05A|JO-UQM10A)(?:[);/ ]|$)' 23294 device: 'tablet' 23295 model: 'Uni Pad $1' 23296 23297# TTEC (ttec.com.tr) 23298TTEC: 23299 regex: '(Magictab (?:9GX|7GE|718))(?:[);/ ]|$)' 23300 device: 'tablet' 23301 model: '$1' 23302 23303# eSTAR 23304eSTAR: 23305 regex: 'eSTAR[_ ](?:Grand|GO\!?|Zoom Quad|Gemini|MINI[_ ]3G|BEAUTY|MOON)' 23306 device: 'tablet' 23307 models: 23308 - regex: 'eSTAR (Grand|GO\!?) (HD Intel|IPS Intel|IPS|HD|Intel) Quad Core 3G' 23309 model: '$1 $2 Quad Core 3G' 23310 - regex: 'eSTAR (Zoom Quad|Gemini|GO)' 23311 model: '$1' 23312 - regex: 'eSTAR GRAND HD quad core( [34]G)?' 23313 model: 'Grand HD Quad Core$1' 23314 - regex: 'eSTAR GRAND' 23315 model: 'Grand' 23316 - regex: 'eSTAR BEAUTY HD Quad core' 23317 model: 'Beauty HD Quad Core' 23318 - regex: 'eSTAR MOON HD Quad core' 23319 model: 'Moon HD Quad Core 3G' 23320 - regex: 'eSTAR BEAUTY 2 HD Quad core' 23321 model: 'Beauty 2 HD Quad Core' 23322 - regex: 'eSTAR[_ ]MINI[_ ]3G' 23323 model: 'Mini 3G' 23324 23325# Hometech (hometech.com.tr) 23326Hometech: 23327 regex: '(?:Ideal (?:10S|Tab [79])|ALFA(?:10TB|7LM)|ALFA[_ ](?:10RC|10TM?|10MB|7RS|[78]RC|7M)|HT[ _](?:7RT|8MZ))(?:[);/ ]|$)' 23328 device: 'tablet' 23329 models: 23330 - regex: '(Ideal (?:10S|Tab 9))(?:[);/ ]|$)' 23331 model: '$1' 23332 - regex: 'ALFA[_ ]?(10RC|10T[BM]?|7RS|[78]RC|7L?M|10MB)(?:[);/ ]|$)' 23333 model: 'ALFA $1' 23334 - regex: 'Ideal Tab 7 Ips( 3G)?' 23335 model: 'Ideal Tab 7 IPS$1' 23336 - regex: 'HT[ _](7RT|8MZ)(?:[);/ ]|$)' 23337 model: 'HT $1' 23338 23339# ExMobile (www.exmobile.my) 23340ExMobile: 23341 regex: 'EX(29|45)i(?:[);/ ]|$)' 23342 device: 'smartphone' 23343 model: 'EX $1i' 23344 23345# Exmart Mobile (exmartmobile.com) 23346Exmart: 23347 regex: 'Exmart[ _](K1)(?:[);/ ]|$)' 23348 device: 'smartphone' 23349 model: '$1' 23350 23351# Hipstreet (hipstreet.com) 23352Hipstreet: 23353 regex: '10DTB12(?:[);/ ]|$)' 23354 device: 'tablet' 23355 model: 'Phoenix' 23356 23357# Navitech 23358Navitech: 23359 regex: '(NeoTab)[ _-]((?:S1[23]0|S125|H85|H11[05]|KID741|S9700))(?:[);/ ]|$)' 23360 device: 'tablet' 23361 model: '$1 $2' 23362 23363# NorthTech (north-tech.us) 23364NorthTech: 23365 regex: '(NT-TP10)(?:[);/ ]|$)' 23366 device: 'tablet' 23367 model: 'TouchPad 10.0"' 23368 23369# UNIWA 23370UNIWA: 23371 regex: 'UNIWA[ _](X5|F40)(?:[);/ ]|$)' 23372 device: 'smartphone' 23373 model: '$1' 23374 23375# ANDOWL (www.andowlph.com) 23376Andowl: 23377 regex: 'ANDOWL-(Q[45])(?:[);/ ]|$)|Andowl' 23378 device: 'tv' 23379 model: '$1' 23380 23381# Silelis (silelis.com) 23382Silelis: 23383 regex: 'Silelis[ _](T-1)(?:[);/ ]|$)' 23384 device: 'tv' 23385 model: '$1' 23386 23387# Bluedot (bluedot.co.jp) 23388Bluedot: 23389 regex: 'BLUEDOT[_ ]|(?:BNT-71)(?:[);/ ]|$)' 23390 device: 'tablet' 23391 models: 23392 - regex: '(?:BLUEDOT[_ ])?(BNP-500)(?:[);/ ]|$)' 23393 device: 'smartphone' 23394 model: '$1' 23395 - regex: '(BNT-71)(?:[);/ ]|$)' 23396 model: '$1' 23397 23398# Planet Computers 23399Planet Computers: 23400 regex: '(Cosmo_Communicator)(?:[);/ ]|$)' 23401 device: 'tablet' 23402 model: '$1' 23403 23404# Reach 23405Reach: 23406 regex: '(Allure[_ ](?:Ultra(?:[_]Curve)?|Secure|Admire|Rise))(?:[);/ ]|$)' 23407 device: 'smartphone' 23408 model: '$1' 23409 23410# MobiWire 23411MobiWire: 23412 regex: '(?:Kiona|KANUNA|Halona|Kicka[_ ][45][ _]Plus|Kohana|Kosumi|KWANITA|Lonan|Hotah|Kicka 5|Kiona)(?:[);/ ]|$)' 23413 device: 'smartphone' 23414 models: 23415 - regex: 'KANUNA' 23416 model: 'Kanuna' 23417 - regex: 'KWANITA' 23418 model: 'Kwanita' 23419 - regex: '(Kiona|Kicka[_ ][45][ _]Plus|Kohana|Kosumi|Lonan|Halona|Hotah|Kicka 5|Kiona)(?:[);/ ]|$)' 23420 model: '$1' 23421 23422# Hezire 23423Hezire: 23424 regex: '(HTB801)(?:[);/ ]|$)' 23425 device: 'tablet' 23426 model: '$1' 23427 23428# Hurricane (hurricanemobile.com) 23429Hurricane: 23430 regex: 'Hurricane[ _]|(?:Flame_Plus|Glaze|Cobra|Ridge Plus|Rush Plus|DZIRE|Android 7.+ Beam|Vulcan)(?:[);/ ]|$)' 23431 device: 'smartphone' 23432 models: 23433 - regex: 'Hurricane[ _]IGNITE' 23434 model: 'Ignite' 23435 - regex: 'Hurricane[ _]Bolt' 23436 model: 'Bolt' 23437 - regex: 'Hurricane[ _]VORTEX' 23438 model: 'Vortex' 23439 - regex: 'Hurricane[ _]GIGA' 23440 model: 'Giga' 23441 - regex: 'Glaze' 23442 model: 'Glaze' 23443 - regex: 'Cobra' 23444 model: 'Cobra' 23445 - regex: 'DZIRE' 23446 model: 'Dzire' 23447 - regex: 'Beam' 23448 model: 'Beam' 23449 - regex: 'Vulcan' 23450 model: 'Vulcan' 23451 - regex: 'Flame_Plus' 23452 model: 'Flame Plus' 23453 - regex: 'Ridge Plus' 23454 model: 'Ridge Plus' 23455 - regex: 'Rush Plus' 23456 model: 'Rush Plus' 23457 23458# iSwag (iswagmobile.com) 23459iSWAG: 23460 regex: 'ISWAG[ _]' 23461 device: 'smartphone' 23462 models: 23463 - regex: 'ISWAG[_ ]VIPER' 23464 model: 'Viper' 23465 - regex: 'iSWAG[_ ]Lynx' 23466 model: 'Lynx' 23467 - regex: 'iSWAG[_ ]MANTRA' 23468 model: 'Mantra' 23469 - regex: 'iSWAG[_ ]MEGA' 23470 model: 'Mega' 23471 - regex: 'iSWAG[_ ]NEMESIS' 23472 model: 'Nemesis' 23473 23474# Reeder (reeder.com.tr) 23475Reeder: 23476 regex: '(?:reeder[_ ](?:3G_Tablet|A7iC|A[78]i[_ ]Quad|A8i Q2|M8 Plus|[TM]8|M10 Plus|P11SE)|P12Curve|P13_Blue_Plus|P13_Blue_Ma(?:ks|x)|P13_Blue)(?:[);/ ]|$)' 23477 device: 'tablet' 23478 models: 23479 - regex: 'reeder[_ ](3G_Tablet|A7iC|A[78]i[_ ]Quad|A8i Q2|M8 Plus|[TM]8|M10 Plus|P11SE)(?:[);/ ]|$)' 23480 model: '$1' 23481 - regex: 'P12Curve' 23482 device: 'smartphone' 23483 model: 'P12 Curve' 23484 - regex: 'P13_Blue_Maks' 23485 device: 'smartphone' 23486 model: 'P13 Blue Maks' 23487 - regex: 'P13_Blue_Max' 23488 device: 'smartphone' 23489 model: 'P13 Blue Max' 23490 - regex: 'P13_Blue_Plus' 23491 device: 'smartphone' 23492 model: 'P13 Blue Plus' 23493 - regex: 'P13_Blue' 23494 device: 'smartphone' 23495 model: 'P13 Blue' 23496 23497 23498# ELARI (elari.net) 23499ELARI: 23500 regex: 'KidPhone4G(?:[);/ ]|$)' 23501 device: 'wearable' 23502 model: 'KidPhone 4G' 23503 23504# Epik One or EPIKONE (epikmobile.com) 23505'Epik One': 23506 regex: '(K501 Plus|[ ]K5(?:0[0-4]|1[01]|03T|3[456]|4[05]|73)|[ ]K60[01]|[ ]X507T|[ ]K40[56]|[ ]T700)(?:[);/ ]|$)' 23507 device: 'smartphone' 23508 models: 23509 - regex: 'K501 Plus' 23510 model: 'Leo Plus' 23511 - regex: 'K501' 23512 model: 'Leo' 23513 - regex: 'K500' 23514 model: 'Omega Lite' 23515 - regex: 'K502' 23516 model: 'Omega' 23517 - regex: 'K503T' 23518 model: 'Leo Turbo' 23519 - regex: 'K503' 23520 model: 'Leo Max' 23521 - regex: 'K504' 23522 model: 'Titan 3G' 23523 - regex: 'X507T' 23524 model: 'Titan II' 23525 - regex: 'K510' 23526 model: 'Bolt' 23527 - regex: 'K511' 23528 model: 'Bolt Pro' 23529 - regex: 'K534' 23530 model: 'Hada' 23531 - regex: 'K535' 23532 model: 'Hada Turbo' 23533 - regex: 'K545' 23534 model: 'Rocket' 23535 - regex: 'K536' 23536 model: 'Royal' 23537 - regex: 'K540' 23538 model: 'Excalibur' 23539 - regex: 'K573' 23540 model: 'Panther' 23541 - regex: 'K600' 23542 model: 'Jupiter' 23543 - regex: 'K601' 23544 model: 'Jupiter One' 23545 - regex: 'K406' 23546 model: 'Pebble Plus' 23547 - regex: 'K405' 23548 model: 'Pebble II' 23549 - regex: 'T700' 23550 model: 'Palette' 23551 device: 'tablet' 23552 23553# Altice 23554Altice: 23555 regex: 'Altice[ _](S62|S31|S43)(?:[);/ ]|$)' 23556 device: 'smartphone' 23557 model: '$1' 23558 23559# Kult 23560Kult: 23561 regex: '(Ambition|Beyond)(?:[);/ ]|$)' 23562 device: 'smartphone' 23563 model: '$1' 23564 23565# Beyond 23566Beyond: 23567 regex: 'SURVE(10|[26-8]|[12] PRO)(?:[);/ ]|$)' 23568 device: 'smartphone' 23569 models: 23570 - regex: 'SURVE([12]) PRO' 23571 model: 'Surve $1 Pro' 23572 - regex: 'SURVE(10|[26-8])' 23573 model: 'Surve $1' 23574 23575# BioRugged (biorugged.com) 23576BioRugged: 23577 regex: '(?:BioWolf 8-F30|BIOWOLF8F30|Ruggbo 20 Lite)(?:[);/ ]|$)' 23578 device: 'tablet' 23579 models: 23580 - regex: 'BioWolf 8-F30|BIOWOLF8F30' 23581 model: 'BioWolf 8-F30' 23582 - regex: 'Ruggbo 20 Lite' 23583 model: 'Ruggbo 20 Lite' 23584 23585# VAIO (vaio.com) 23586VAIO: 23587 regex: '(?:VPA051|VA-10J)(?:[);/ ]|$)' 23588 device: 'smartphone' 23589 models: 23590 - regex: 'VPA051' 23591 model: 'Phone A' 23592 - regex: '(VA-10J)' 23593 model: '$1' 23594 23595# Spark (https://www.spark.co.nz/) 23596Spark: 23597 regex: 'Spark Plus 3(?:[);/ ]|$)' 23598 device: 'smartphone' 23599 models: 23600 - regex: 'Plus 3' 23601 model: 'Plus 3' 23602 23603# SPC or SPC Universe or SPC Mobile (spc.es) 23604SPC: 23605 regex: '(?:Gravity Max|GRAVITY_OCTACORE|SPC SMART LITE|SPC_ALIEN(?:_STICK)?|SPC Glow9.7)(?:[);/ ]|$)' 23606 device: 'tablet' 23607 models: 23608 - regex: 'GRAVITY_OCTACORE' 23609 model: 'Gravity OctaCore' 23610 - regex: 'Gravity Max' 23611 model: 'Gravity Max' 23612 - regex: 'SPC Glow9.7' 23613 model: 'Glow 9.7"' 23614 23615 - regex: 'SPC SMART LITE' 23616 device: 'smartphone' 23617 model: 'Smart Lite' 23618 23619 - regex: 'SPC_ALIEN_STICK' 23620 device: 'tv' 23621 model: 'Alien Stick' 23622 - regex: 'SPC_ALIEN' 23623 device: 'tv' 23624 model: 'Alien' 23625 23626# Winmax (winmaxmobile.com) 23627Winmax: 23628 regex: 'Winmax[ _](?:XC14|XC[46]|TX30)(?:[);/ ]|$)|MAUI.+Winmax_BD45' 23629 device: 'smartphone' 23630 models: 23631 - regex: 'Winmax[ _](XC14|XC[46])(?:[);/ ]|$)' 23632 model: '$1' 23633 - regex: 'Winmax[ _](TX30)(?:[);/ ]|$)' 23634 device: 'tablet' 23635 model: '$1' 23636 - regex: 'MAUI.+Winmax_(BD45)' 23637 device: 'feature phone' 23638 model: '$1' 23639 23640# Zebra (zebra.com) 23641Zebra: 23642 regex: ' (TC5[16]|TC2[05]|TC75|TC7[05]x|TC700H)(?:[);/ ]|$)' 23643 device: 'smartphone' 23644 model: '$1' 23645 23646# Thuraya (thuraya.com) 23647Thuraya: 23648 regex: 'Thuraya[ _](X5-Touch)(?:[);/ ]|$)' 23649 device: 'smartphone' 23650 model: '$1' 23651 23652# Bkav (bkav.com) 23653Bkav: 23654 regex: 'Bphone[ _](B111[45]|B2017)(?:[);/ ]|$)' 23655 device: 'smartphone' 23656 model: 'Bphone $1' 23657 23658# Brandt 23659Brandt: 23660 regex: '(BPRIME|BSTAR\+?|BPRIMES|B-ONE)(?:[);/ ]|$)' 23661 device: 'smartphone' 23662 model: '$1' 23663 23664# Bigben 23665Bigben: 23666 regex: 'GAMETAB-ONE(?:[);/ ]|$)' 23667 device: 'tablet' 23668 model: 'GameTab-One' 23669 23670# smartec (smartec.tn) 23671SMARTEC: 23672 regex: '(Atractivo)(?:[);/ ]|$)' 23673 device: 'smartphone' 23674 model: '$1' 23675 23676# Asanzo (asanzo.vn) 23677Asanzo: 23678 regex: 'ASANZO[ _](?:A2|S[23]|[SZ]5|S3_PLUS)(?:[);/ ]|$)' 23679 device: 'smartphone' 23680 models: 23681 - regex: 'ASANZO[ _]S3[ _]PLUS' 23682 model: 'S3 Plus' 23683 - regex: 'ASANZO[ _](A2|S[23]|[SZ]5)(?:[);/ ]|$)' 23684 model: '$1' 23685 23686# Artizlee 23687Artizlee: 23688 regex: 'Artizlee[ _]S9|ATL-(?:16|21(?:PLUS|[XT])?|31|26)(?:[);/ ]|$)' 23689 device: 'tablet' 23690 models: 23691 - regex: 'ATL-21PLUS(?:[);/ ]|$)' 23692 model: 'ATL-21 Plus' 23693 - regex: '(ATL-(?:16|21[XT]?|31|26))(?:[);/ ]|$)' 23694 model: '$1' 23695 - regex: 'Artizlee[ _]S9' 23696 device: 'smartphone' 23697 model: 'S9' 23698 23699# Mintt (www.mintt.co) 23700Mintt: 23701 regex: '(?:Coolmintt(?:A3|M2)?|Ultramintt(?:S2)?|FRESHMINTT(?:A7|A10)?)(?:[);/ ]|$)' 23702 device: 'smartphone' 23703 models: 23704 - regex: 'Coolmintt ?([PM]1|P3|A3|M2)(?:[);/ ]|$)' 23705 model: 'CoolMintt $1' 23706 - regex: 'Ultramintt ?([SR]1|S2|A5)(?:[);/ ]|$)' 23707 model: 'UltraMintt $1' 23708 - regex: 'FRESHMINTT ?(A7|A10)(?:[);/ ]|$)' 23709 device: 'tablet' 23710 model: 'FreshMintt $1' 23711 23712# Premio 23713Premio: 23714 regex: '(?:AXE_II|186HS2080531|186HS1050531|186HS1050232|186FT1080231|185FT5050231|PREMIO[ _](?:S50|P420|P451))(?:[);/ ]|$)' 23715 device: 'smartphone' 23716 models: 23717 - regex: '186HS2080531' 23718 model: 'X1' 23719 - regex: 'AXE_II' 23720 model: 'Axe II' 23721 - regex: '186HS1050531' 23722 model: 'P541' 23723 - regex: '185FT5050231' 23724 model: 'P511' 23725 - regex: '186FT1080231' 23726 model: 'P571' 23727 - regex: '186HS1050232' 23728 model: 'P630' 23729 - regex: 'PREMIO[ _](S50|P420|P451)(?:[);/ ]|$)' 23730 model: '$1' 23731 23732# Trifone 23733Trifone: 23734 regex: 'Passion[-_](?:1S|PRO|PLUS)(?:[);/ ]|$)' 23735 device: 'smartphone' 23736 models: 23737 - regex: 'Passion-1S' 23738 model: 'Passion 1S' 23739 - regex: 'Passion-Plus' 23740 model: 'Passion Plus' 23741 - regex: 'Passion_Pro' 23742 model: 'Passion Pro' 23743 23744# Bluewave 23745Bluewave: 23746 regex: '(?:33GT HD|WV8R-M|WV8R[_-]N)(?:[);/ ]|$)' 23747 device: 'tablet' 23748 models: 23749 - regex: '33GT HD' 23750 model: 'Wave 8 HD+' 23751 - regex: 'WV8R-M' 23752 model: 'Wave 8 Red Marshmallow' 23753 - regex: 'WV8R[_-]N' 23754 model: 'Wave 8 Red Nougat' 23755 23756# Siragon (siragon.com) 23757Siragon: 23758 regex: 'Siragon|(?:SP-(?:5250|5400|5050))(?:[);/ ]|$)' 23759 device: 'smartphone' 23760 models: 23761 - regex: '(?:Siragon[_ ])?(SP-(?:5[12]50|5400|5050))' 23762 model: '$1' 23763 23764# Poppox 23765Poppox: 23766 regex: 'Poppox P3' 23767 device: 'smartphone' 23768 model: 'P3' 23769 23770# Zentality (zentalityinfo.com) 23771Zentality: 23772 regex: 'C-723ULTRA(?:[);/ ]|$)' 23773 device: 'tablet' 23774 model: 'C-723 Ultra' 23775 23776# Black Bear 23777'Black Bear': 23778 regex: '(B6 Master|B6 Note X)(?:[);/ ]|$)' 23779 device: 'smartphone' 23780 model: '$1' 23781 23782# Fortis 23783Fortis: 23784 regex: '(Apollo 5 Neo)(?:[);/ ]|$)' 23785 device: 'smartphone' 23786 model: '$1' 23787 23788# OpelMobile (opelmobile.com.au) 23789OpelMobile: 23790 regex: ' OpelMobile_(SmartJX)(?:[);/ ]|$)' 23791 device: 'smartphone' 23792 model: '$1' 23793 23794# NuAns 23795NuAns: 23796 regex: 'NEO \[Reloaded\](?:[);/ ]|$)' 23797 device: 'smartphone' 23798 model: 'NEO Reloaded' 23799 23800# Koolnee (sub brand from Koobee) 23801Koolnee: 23802 regex: '(K1 Trio)(?:[);/ ]|$)' 23803 device: 'smartphone' 23804 model: '$1' 23805 23806# Sansui (sansui-global.com) 23807Sansui: 23808 regex: 'Sansui[_ ]' 23809 device: 'smartphone' 23810 models: 23811 - regex: 'Sansui[_ ](Switch|Play|Fun|SA4[01]|U4[56]|U3[02]|Nova)(?:[);/ ]|$)' 23812 model: '$1' 23813 23814# Sico (sico.com.eg) 23815Sico: 23816 regex: 'SICO[_ ](?:PLUS|e1002)|(?:Express3-Max|SSR3-1-51-5M|SSD-1-53-13M|Mega2|Express3)(?:[);/ ]|$)' 23817 device: 'smartphone' 23818 models: 23819 - regex: 'SICO[_ ]PLUS2' 23820 model: 'Plus 2' 23821 - regex: 'SICO[_ ]PLUS' 23822 model: 'Plus' 23823 - regex: 'Mega2' 23824 model: 'Mega 2' 23825 - regex: 'SSR3-1-51-5M' 23826 model: 'Pro 3' 23827 - regex: 'SSD-1-53-13M' 23828 model: 'Diamond' 23829 - regex: 'SICO[_ ]e1002' 23830 device: 'tablet' 23831 model: 'E1002' 23832 - regex: 'Express3-Max' 23833 device: 'tablet' 23834 model: 'Express 3 Max' 23835 - regex: 'Express3' 23836 device: 'tablet' 23837 model: 'Express 3' 23838 23839# Smadl (smadlethiopia.com) 23840Smadl: 23841 regex: 'Android.+(?:Safari)(?!/[\d.]+)(?: Build|\) AppleWebKit)|SMADL[ _]' 23842 device: 'smartphone' 23843 models: 23844 - regex: 'Android.+(?:Safari)(?!/[\d.]+)(?: Build|\) AppleWebKit)' 23845 model: 'Safari' 23846 - regex: 'SMADL[ _]Matri([2X])' 23847 model: 'Matri $1' 23848 23849# EXCEED (exceedmobiles.com) 23850EXCEED: 23851 regex: '(EX7SL?4|EX10S4)(?:[);/ ]|$)' 23852 device: 'tablet' 23853 model: '$1' 23854 23855# Tymes 23856Tymes: 23857 regex: 'Tymes[ _](V5)(?:[);/ ]|$)' 23858 device: 'smartphone' 23859 model: '$1' 23860 23861# Solone 23862Solone: 23863 regex: 'SOLONE|(?:E1457|W145[02])(?:[);/ ]|$)' 23864 device: 'smartphone' 23865 models: 23866 - regex: 'E1457' 23867 model: 'Earth Iron E1457' 23868 - regex: 'W1450' 23869 model: 'Wind Breeze W1450' 23870 - regex: 'W1452' 23871 model: 'Wind Air W1452' 23872 - regex: 'SOLONE A47' 23873 model: 'SL-A47' 23874 - regex: 'SOLONE[ _]Elite[ _]L5501' 23875 model: 'Elite L5501' 23876 - regex: 'SOLONE[ _]SUMO[_ ]S5001' 23877 model: 'Sumo S5001' 23878 - regex: 'SOLONE[ _](SL-K40|S5002)(?:[);/ ]|$)' 23879 model: '$1' 23880 23881# Far Eas Tone (Fareastone) 23882FarEasTone: 23883 regex: 'Smart ?(601|550|50[59])(?:[);/ ]|$)' 23884 device: 'smartphone' 23885 model: 'Smart $1' 23886 23887# Smailo 23888Smailo: 23889 regex: 'Smailo_(2GO)(?:[);/ ]|$)' 23890 device: 'tablet' 23891 model: '$1' 23892 23893# Colors or ColorsMobile (www.colors-mobile.com) 23894Colors: 23895 regex: '(?:Colors[ _](S(?:[19]|11)|P70|P[456]5|P32|E15|P50 Plus)|Pride_1A|P52_Pride5C|P90_Pride5X)(?:[);/ ]|$)' 23896 device: 'smartphone' 23897 models: 23898 - regex: 'Pride_1A(?:[);/ ]|$)' 23899 model: 'Pride 1A' 23900 - regex: 'P52_Pride5C(?:[);/ ]|$)' 23901 model: 'Pride 5C' 23902 - regex: 'P90_Pride5X(?:[);/ ]|$)' 23903 model: 'Pride 5X' 23904 - regex: 'Colors[ _](S(?:[19]|11)|P70|E15|P[456]5|P32|P50 Plus)(?:[);/ ]|$)' 23905 model: '$1' 23906 23907# Honeywell 23908Honeywell: 23909 regex: '(EDA50K?|EDA70|EDA51)(?:[);/ ]|$)' 23910 device: 'smartphone' 23911 model: 'ScanPal $1' 23912 23913# Electroneum (electroneum.com) 23914Electroneum: 23915 regex: 'electroneum(M1)(?:[);/ ]|$)' 23916 device: 'smartphone' 23917 model: '$1' 23918 23919# High Q or HighQ 23920'High Q': 23921 regex: '(ELT070[46]H|ELT0802H)(?:[);/ ]|$)' 23922 device: 'tablet' 23923 model: '$1' 23924 23925# Pluzz 23926Pluzz: 23927 regex: 'Pluzz[_-](Z552|PL5[05]10|PL4010|PL501[46]|Elite_Dual)(?:[);/ ]|$)' 23928 device: 'smartphone' 23929 model: '$1' 23930 23931# IKU Mobile (iku-mobile.com) 23932'IKU Mobile': 23933 regex: '(?:IKU[_ ](?:T[123]|K3|i[34]|T[_ ]MAX)|Powerful_K55i|Curvy C50L)(?:[);/ ]|$)' 23934 device: 'smartphone' 23935 models: 23936 - regex: '(Powerful_K55i|Curvy C50L)(?:[);/ ]|$)' 23937 model: '$1' 23938 - regex: 'IKU[_ ](K3|i[34])(?:[);/ ]|$)' 23939 model: '$1' 23940 - regex: 'IKU[_ ](T[123])(?:[);/ ]|$)' 23941 device: 'tablet' 23942 model: '$1' 23943 - regex: 'IKU[_ ]T[_ ]Max(?:[);/ ]|$)' 23944 device: 'tablet' 23945 model: 'T Max' 23946 23947# IKI Mobile (ikimobile.com) 23948IKI Mobile: 23949 regex: '(?:GO5_55|BLESS_GO55|BLESSPLUS|KF4Go|KF5bless)(?:[);/ ]|$)' 23950 device: 'smartphone' 23951 models: 23952 - regex: 'GO5_55' 23953 model: 'Go 5.5"' 23954 - regex: 'BLESS_GO55' 23955 model: 'Bless Go 5.5"' 23956 - regex: 'BLESSPLUS' 23957 model: 'Bless Plus' 23958 - regex: '(KF4Go|KF5bless)' 23959 model: '$1' 23960 23961# CG Mobile 23962'CG Mobile': 23963 regex: '(?:CG_OMEGA6|Omega (?:[38])|CG_EON_Blaze_Pro|CG\|EON Blaze GOLD)(?:[);/ ]|$)' 23964 device: 'smartphone' 23965 models: 23966 - regex: 'Omega ([38])(?:[);/ ]|$)' 23967 model: 'Omega $1' 23968 - regex: 'CG_OMEGA6(?:[);/ ]|$)' 23969 model: 'Omega 6' 23970 - regex: 'CG_EON_Blaze_Pro(?:[);/ ]|$)' 23971 model: 'EON Blaze Pro' 23972 - regex: 'CG\|EON Blaze GOLD(?:[);/ ]|$)' 23973 model: 'EON Blaze Gold' 23974 23975# IUNI 23976IUNI: 23977 regex: 'IUNI[ _]' 23978 device: 'smartphone' 23979 models: 23980 - regex: 'IUNI[ _](U3|i1|N1)' 23981 model: '$1' 23982 23983# (zhnkmobile.com) 23984'ZH&K': 23985 regex: '(?:ODYSSEY O2|ODYSSEY RANGE)(?:[);/ ]|$)' 23986 device: 'smartphone' 23987 models: 23988 - regex: 'ODYSSEY O2' 23989 model: 'Odyssey O2' 23990 - regex: 'ODYSSEY RANGE' 23991 model: 'Odyssey Range' 23992 23993# Ordissimo (ordissimo.fr) 23994Ordissimo: 23995 regex: '(LeNumero1)(?:[);/ ]|$)' 23996 device: 'smartphone' 23997 model: '$1' 23998 23999# Necnot (necnontrade.com) 24000Necnot: 24001 regex: '(M002[DGQK]-2|M002N|M002N-3T|M002W-2T|6M-3T)(?:[);/ ]|$)' 24002 device: 'tablet' 24003 model: '$1' 24004 24005# Einstein 24006Einstein: 24007 regex: 'Einstein(T3)(?:[);/ ]|$)' 24008 device: 'tablet' 24009 model: '$1' 24010 24011# AfriOne (afrione.com) 24012AfriOne: 24013 regex: '(CYGNUSX?|Gravity Z2|ChampionPro)(?:[);/ ]|$)' 24014 device: 'phablet' 24015 models: 24016 - regex: 'CYGNUSX(?:[);/ ]|$)' 24017 model: 'Cygnus X' 24018 - regex: 'CYGNUS(?:[);/ ]|$)' 24019 model: 'Cygnus' 24020 24021 - regex: 'Gravity Z2(?:[);/ ]|$)' 24022 device: 'smartphone' 24023 model: 'Gravity Z2' 24024 - regex: 'ChampionPro(?:[);/ ]|$)' 24025 device: 'smartphone' 24026 model: 'Champion Pro' 24027 24028# Connex (connexdevices.co.za) 24029Connex: 24030 regex: '(CTAB1044hn|CTAB-1044)(?:[);/ ]|$)' 24031 device: 'tablet' 24032 model: '$1' 24033 24034# Connectce 24035Connectce: 24036 regex: '(?:CP6001A)(?:[);/ ]|$)' 24037 device: 'smartphone' 24038 model: 'Connect Core 6' 24039 24040# Clementoni 24041Clementoni: 24042 regex: '(?:CLEMPAD[_ ](?:6_XL|HR_Plus|HR|[68]|7_S|201[89])|ClemPhone_7|MFC_(?:2018|8))(?:[);/ ]|$)' 24043 device: 'tablet' 24044 models: 24045 - regex: 'CLEMPAD_(201[89])' 24046 model: 'Clempad ($1)' 24047 - regex: 'MFC_2018' 24048 model: 'Clempad (2018)' 24049 - regex: 'MFC_8' 24050 model: 'Clempad 8' 24051 - regex: 'CLEMPAD_7_S' 24052 model: 'Clempad 7S' 24053 - regex: 'Clempad[_ ](6_XL|HR_Plus|HR|[68])' 24054 model: 'Clempad $1' 24055 - regex: 'ClemPhone[ _](7)' 24056 device: 'smartphone' 24057 model: 'Clemphone $1' 24058 24059# Cell-C 24060Cell-C: 24061 regex: 'Cell_?C_' 24062 device: 'smartphone' 24063 models: 24064 - regex: 'Cell_C_(Summit_Plus|Fame|Evolve)(?:[);/ ]|$)' 24065 model: '$1' 24066 - regex: 'CELLC_Evolve' 24067 device: 'tablet' 24068 model: 'Evolve' 24069 24070# VC 24071VC: 24072 regex: '(?:Camellia_II|Cactus II|Maple III|Maple-II|Cactus-Pro|LavenderII|Jasmine-II)(?:[);/ ]|$)' 24073 device: 'smartphone' 24074 models: 24075 - regex: '(Camellia_II|Cactus II|Maple III)(?:[);/ ]|$)' 24076 model: '$1' 24077 - regex: 'Cactus-Pro' 24078 model: 'Cactus Pro' 24079 - regex: '(Maple|Jasmine|Lavender)-?II(?:[);/ ]|$)' 24080 model: '$1 II' 24081 24082# CellAllure (cellallure.com) 24083CellAllure: 24084 regex: '(?:Cool_Extreme_2|Earn|Fashion2Plus|Fashion[ _]C|Cool Duo|CHIC_X1)(?:[);/ ]|$)' 24085 device: 'smartphone' 24086 models: 24087 - regex: '(Cool_Extreme_2|Earn|Fashion[ _]C|Cool Duo)(?:[);/ ]|$)' 24088 model: '$1' 24089 - regex: 'Fashion2Plus' 24090 model: 'Fashion 2 Plus' 24091 - regex: 'CHIC_X1' 24092 model: 'Chic X1' 24093 24094# Eagle (eagleuhd.com) 24095Eagle: 24096 regex: 'Eagle[ _](Classic Pro|Elite|Gold)(?:[);/ ]|$)' 24097 device: 'tv' 24098 model: '$1' 24099 24100# Invens 24101Invens: 24102 regex: '(Fighter|Eager|Royal R[1-8])(?: Build|[;)])' 24103 device: 'smartphone' 24104 model: '$1' 24105 24106# Chico Mobile (chicomobile.ph) 24107Chico Mobile: 24108 regex: '(?:ALTO (?:Bombo|classic|Estrella|JUEGO|SUBIR|[235])|FUEGO MAX|OJOS[ _](?:CAMBIO|NUBE|[68i]|ORO))(?:[);/ ]|$)' 24109 device: 'smartphone' 24110 models: 24111 - regex: 'ALTO Bombo' 24112 model: 'Alto Bombo' 24113 - regex: 'ALTO classic' 24114 model: 'Alto Classic' 24115 - regex: 'ALTO Estrella' 24116 model: 'Alto Estrella' 24117 - regex: 'ALTO JUEGO' 24118 model: 'Alto Juego' 24119 - regex: 'ALTO SUBIR' 24120 model: 'Alto Subir' 24121 - regex: 'ALTO ([235])' 24122 model: 'Alto $1' 24123 - regex: 'OJOS[ _]([68i])' 24124 model: 'Ojos $1' 24125 - regex: 'OJOS NUBE' 24126 model: 'Ojos Nube' 24127 - regex: 'OJOS CAMBIO' 24128 model: 'Ojos Cambio' 24129 - regex: 'OJOS ORO' 24130 model: 'Ojos Oro' 24131 24132 - regex: 'FUEGO MAX' 24133 device: 'tablet' 24134 model: 'Fuego Max' 24135 24136# Claresta 24137Claresta: 24138 regex: 'Claresta[ _]|(?:AirPhoneS[56]|AirPhone K6)(?:[);/ ]|$)' 24139 device: 'smartphone' 24140 models: 24141 - regex: 'AirPhone ?(S[56]|K6)' 24142 model: 'AirPhone $1' 24143 - regex: 'Claresta (F3) PRO' 24144 model: '$1 Pro' 24145 - regex: 'Claresta[ _](F4)' 24146 model: '$1' 24147 24148# Camfone (camfonemobile.com) 24149Camfone: 24150 regex: '(?:Camfone (?:SE)|Hero[_ ](?:H5\+|SE2|H9|(?:H7|XR)_Plus|SX|1[123]|SE3[ _]Max)|Honey (?:Y1|Y2s))(?:[);/ ]|$)' 24151 device: 'smartphone' 24152 models: 24153 - regex: '(Hero[_ ](?:H5\+|SE2|H9|(?:H7|XR)_Plus|SX|1[123]|SE3[ _]Max)|Honey (?:Y1|Y2s))(?:[);/ ]|$)' 24154 model: '$1' 24155 - regex: 'Camfone (SE)(?:[);/ ]|$)' 24156 model: '$1' 24157 24158# Bellphone 24159Bellphone: 24160 regex: 'Bp100 X-Plus(?:[);/ ]|$)' 24161 device: 'smartphone' 24162 model: 'BP 100 X-Plus' 24163 24164# Gini 24165Gini: 24166 regex: 'Gini[ _]' 24167 device: 'smartphone' 24168 models: 24169 - regex: 'Gini[ _]W(7)' 24170 model: 'W$1' 24171 - regex: 'Gini[ _]n(8)' 24172 model: 'N$1' 24173 - regex: 'Gini[ _]s5Pro' 24174 model: 'S5 Pro' 24175 - regex: 'Gini[ _]Tab[ _](V[78])' 24176 device: 'tablet' 24177 model: 'Tab $1' 24178 24179 24180# MIVO (mivo.com.my) 24181MIVO: 24182 regex: '(Caryota [1245789]|Jazz J[13] 2018)(?:[);/ ]|$)' 24183 device: 'smartphone' 24184 models: 24185 - regex: '(Caryota [1245789])(?:[);/ ]|$)' 24186 model: '$1' 24187 - regex: 'Jazz (J[13]) 2018' 24188 model: 'Jazz $1 (2018)' 24189 24190# Jesy (en.jesy.com) 24191Jesy: 24192 regex: 'Jesy_(J7)' 24193 device: 'smartphone' 24194 model: '$1' 24195 24196# Teknosa or Tekno S.A 24197Teknosa: 24198 regex: 'Preo[ _]' 24199 device: 'smartphone' 24200 models: 24201 - regex: 'Preo Teknosa P1' 24202 model: 'Preo P1' 24203 - regex: 'Preo[ _]P([23])' 24204 model: 'Preo P$1' 24205 24206# Hyve 24207Hyve: 24208 regex: '(?:Pryme 01|ST01)(?:[);/ ]|$)' 24209 device: 'smartphone' 24210 models: 24211 - regex: 'Pryme 01' 24212 model: 'Pryme 01' 24213 - regex: 'ST01' 24214 model: 'Storm ST01' 24215 24216# EWIS 24217EWIS: 24218 regex: 'OCTA T720Q(?:[);/ ]|$)' 24219 device: 'tablet' 24220 model: 'Octa T720Q' 24221 24222# Leader Phone or LP (lp.tn) 24223Leader Phone: 24224 regex: '(Vyper|N-5[07]|N-45|LP DAISY|LP_VEYRON|LP_PRADO)(?:[);/ ]|$)' 24225 device: 'smartphone' 24226 models: 24227 - regex: 'N-45 light' 24228 model: 'N-45 Light' 24229 - regex: 'Vyper PRO' 24230 model: 'Vyper Pro' 24231 - regex: 'LP DAISY' 24232 model: 'Daisy' 24233 - regex: 'LP_VEYRON' 24234 model: 'Veyron' 24235 - regex: 'LP_PRADO' 24236 model: 'Prado' 24237 - regex: '(Vyper|N-5[07]|N-45)(?:[);/ ]|$)' 24238 model: '$1' 24239 24240# Cavion (cavion.pl) 24241Cavion: 24242 regex: '(?:Cavion[_ ](?:Solid[_ ]4[\._]5|Base[ _](?:7|7_3G_Silver|5[._]0|10|7.2 Quad)|10_3GRQ)|Cavion7.1quad)(?:[);/ ]|$)' 24243 device: 'smartphone' 24244 models: 24245 - regex: 'Cavion[_ ]Solid[_ ]4[._]5' 24246 model: 'Solid 4.5"' 24247 - regex: 'Cavion[ _]BASE[ _]5[._]0' 24248 model: 'Base 5.0"' 24249 - regex: 'CAVION_10_3GRQ' 24250 device: 'tablet' 24251 model: 'Base 10 3GR Quad' 24252 - regex: 'Cavion(?:7.1quad)' 24253 device: 'tablet' 24254 model: 'Base 7.1" Quad' 24255 - regex: 'Cavion Base 7.2 Quad' 24256 device: 'tablet' 24257 model: 'Base 7.2" Quad' 24258 - regex: 'Cavion Base 10' 24259 device: 'tablet' 24260 model: 'Base 10' 24261 - regex: 'Cavion Base 7 Dual' 24262 device: 'tablet' 24263 model: 'Base 7.0" Dual' 24264 - regex: 'Cavion Base 7 Quad' 24265 device: 'tablet' 24266 model: 'Base 7.0" Quad' 24267 - regex: 'Cavion_Base_7_3G_Silver' 24268 device: 'tablet' 24269 model: 'Base 7.0" 3G Silver' 24270 24271# GLX or JLX 24272GLX: 24273 regex: 'GLX (?:Aria|Dorna|Taban|Shine|Spark|ASA)(?:[);/ ]|$)' 24274 device: 'smartphone' 24275 models: 24276 - regex: 'GLX ASA' 24277 model: 'Asa' 24278 - regex: 'GLX (Aria|Taban|Shine|Spark)(?:[);/ ]|$)' 24279 model: '$1' 24280 - regex: 'GLX (Dorna)(?:[);/ ]|$)' 24281 device: 'tablet' 24282 model: '$1' 24283 24284# Seeken (seekenmobile.com) 24285Seeken: 24286 regex: 'Seeken[ _-]' 24287 device: 'smartphone' 24288 models: 24289 - regex: 'Seeken[_ -](SG1|SJ1)' 24290 model: '$1' 24291 - regex: 'Seeken[_ -](ST-101)' 24292 device: 'tablet' 24293 model: '$1' 24294 24295# Jivi Mobiles (jivi.in) 24296Jivi: 24297 regex: '(?:Revolution TnT3|Xtreme_(?:[37]|3x)|Xtreme (?:XT84|XT309 Plus|1))(?:[);/ ]|$)' 24298 device: 'smartphone' 24299 models: 24300 - regex: 'Revolution (TnT3)' 24301 model: 'Revolution $1' 24302 - regex: 'Xtreme (XT84)' 24303 model: 'Xtreme Klick $1' 24304 - regex: 'Xtreme (XT309) Plus' 24305 model: 'Xtreme View Pro $1Plus' 24306 - regex: 'Xtreme[ _]([137]|3x)(?:[);/ ]|$)' 24307 model: 'Xtreme $1' 24308 24309# Winnovo (www.mywinnovo.com) 24310Winnovo: 24311 regex: 'Winnovo[ _]|(?:T10LTE)(?:[);/ ]|$)' 24312 device: 'tablet' 24313 models: 24314 - regex: 'T10LTE(?:[);/ ]|$)' 24315 model: 'T10 LTE' 24316 - regex: 'Winnovo[ _](M866|M798|VTab|750[PK])(?:[);/ ]|$)' 24317 model: '$1' 24318 - regex: 'Winnovo[ _](K5[46]|K43)[a-z]{2}' 24319 device: 'smartphone' 24320 model: '$1' 24321 24322 24323# WE or WM Mobile or AAMRA WE 24324WE: 24325 regex: 'WE (A[15]0|B3|F[12]0|E[12]|L[3469]|R[34]|V[34]|S1|X[13]|T1)(?:[);/ ]|$)' 24326 device: 'smartphone' 24327 model: '$1' 24328 24329# Trio or triomobiles (http://triomobiles.com/products.html) 24330Trio: 24331 regex: 'Trio V51 DT(?:[);/ ]|$)' 24332 device: 'smartphone' 24333 model: 'V51DT' 24334 24335# Seuic (en.seuic.com) 24336Seuic: 24337 regex: '(AUTOID9N)(?:[);/ ]|$)' 24338 device: 'smartphone' 24339 model: '$1' 24340 24341# Centric 24342Centric: 24343 regex: '(?:Centric[- ]CM(?:5001|33[23]1|3321Plus)|CM4331)(?:[);/ ]|$)' 24344 device: 'smartphone' 24345 models: 24346 - regex: '(?:Centric[- ])?CM5001' 24347 model: 'A1' 24348 - regex: '(?:Centric[- ])?CM3321Plus' 24349 model: 'P1 Plus' 24350 - regex: '(?:Centric[- ])?CM3321' 24351 model: 'P1' 24352 - regex: '(?:Centric[- ])?CM3331' 24353 model: 'L3' 24354 - regex: '(?:Centric[- ])?CM4331' 24355 model: 'G1' 24356 24357# Kata mobile (secure.katadigital.com) 24358Kata: 24359 regex: 'Kata[ _-]' 24360 device: 'smartphone' 24361 models: 24362 - regex: 'Kata[ _-](C3|L1|M3s|M4|V[56])(?:[);/ ]|$)' 24363 model: '$1' 24364 - regex: 'Kata[ _-]i5-\w' 24365 model: 'I5' 24366 - regex: 'Kata-(T5)(?:[);/ ]|$)' 24367 device: 'tablet' 24368 model: '$1' 24369 - regex: 'Kata-Tmini4(?:[);/ ]|$)' 24370 device: 'tablet' 24371 model: 'T Mini 4' 24372 - regex: 'Kata Box 2(?:[);/ ]|$)' 24373 device: 'tv' 24374 model: 'Box 2' 24375 24376 24377# Hardkernel (www.hardkernel.com) 24378Hardkernel: 24379 regex: 'ODROID[-]?(C2|U2|XU[34])(?:[);/ ]|$)' 24380 device: 'peripheral' 24381 model: 'ODROID $1' 24382 24383# Wiseasy (wiseasy.com) 24384Wiseasy: 24385 regex: 'WISENET5(?:[);/ ]|$)' 24386 device: 'peripheral' 24387 model: 'WISENET5' 24388 24389# Shtrikh-M 24390Shtrikh-M: 24391 regex: 'SHTRIH-SMARTPOS-F2(?:[);/ ]|$)' 24392 device: 'peripheral' 24393 model: 'Smartpos F2' 24394 24395# BBK (bbk.ru) 24396BBK: 24397 regex: '([65]5|4[03]|3[29]|28)LEX[-_](81(?:27|39|45|58|61)|71(?:[23]7|4[345]|5[45]|6[368]|[57]8))[_/]([FU]?TS2C)(?:[);/ ]|$)' 24398 device: 'tv' 24399 model: '$1LEX-$2/$3' 24400 24401# 4ife 244024ife: 24403 regex: '4ife (4K Smart TV Box)(?:[);/ ]|$)' 24404 device: 'tv' 24405 model: '$1' 24406 24407# Westpoint 24408Westpoint: 24409 regex: 'WESTPOINT[;,]' 24410 device: 'tv' 24411 models: 24412 - regex: '(TETS-4919SM)' 24413 model: '$1' 24414 24415# Wintouch (http://www.wintouch.ae/) 24416Wintouch: 24417 regex: 'Q93S' 24418 device: 'tablet' 24419 model: 'Q93S' 24420 24421# Aiuto 24422Aiuto: 24423 regex: '(AT702)(?:[);/ ]|$)' 24424 device: 'tablet' 24425 model: '$1' 24426 24427# Seatel 24428Seatel: 24429 regex: 'Seatel' 24430 device: 'smartphone' 24431 models: 24432 - regex: 'Seatel[ _](L2|V8[AE]|T[5-8]|R6|V[89])(?:[);/ ]|$)' 24433 model: '$1' 24434 24435# Ditecma (ditecma.com) 24436Ditecma: 24437 regex: '(M1092R(?:-[12]|V[45])?)(?:[);/ ]|$)' 24438 device: 'tablet' 24439 model: '$1' 24440 24441# Datamini (datamini.co.in) 24442Datamini: 24443 regex: '(K908H4G)(?:[);/ ]|$)' 24444 device: 'tablet' 24445 model: '$1' 24446 24447# 3GNET (3gnet.com.tw) 244483GNET: 24449 regex: '(?<!NetType/)3GNET[ _]' 24450 device: 'smartphone' 24451 models: 24452 - regex: '3GNET[ _](U8|T800|U6s)(?:[);/ ]|$)' 24453 model: '$1' 24454 - regex: '3GNET[ _]T ?900' 24455 model: 'T900' 24456 24457# Yoka TV 24458'Yoka TV': 24459 regex: 'KB2 PRO(?:[);/ ]|$)' 24460 device: 'tv' 24461 model: 'KB2 Pro' 24462 24463# Formuler (formuler.tv) 24464Formuler: 24465 regex: 'Formuler[ _]' 24466 device: 'tv' 24467 models: 24468 - regex: 'Formuler[ _](Z8(?: Pro)?)(?:[);/ ]|$)' 24469 model: '$1' 24470 24471# Malata 24472Malata: 24473 regex: '(?:Build/)?Malata[ _]?([a-z0-9]+)(?:[);/ ]|$)' 24474 device: 'smartphone' 24475 model: '$1' 24476 24477# IT 24478IT: 24479 regex: 'IT-(?:1101S?|1101-QUAD)(?:[);/ ]|$)' 24480 device: 'tablet' 24481 models: 24482 - regex: 'IT-1101-QUAD' 24483 model: '1101 Quad' 24484 - regex: 'IT-(1101S?)' 24485 model: '$1' 24486 24487# Navcity (www.navcity.com.br) 24488Navcity: 24489 regex: 'NP-752Go(?:[);/ ]|$)' 24490 device: 'smartphone' 24491 models: 24492 - regex: 'NP-752Go' 24493 model: 'NP-752 Go' 24494 24495# Jeka 24496Jeka: 24497 regex: '(?:JK(?:960|[71]03) 3G|JK702|JK101|JK[17]00 v2.0)(?:[);/ ]|$)' 24498 device: 'tablet' 24499 models: 24500 - regex: 'JK(960|[71]03) 3G(?:[);/ ]|$)' 24501 model: 'JK $1 3G' 24502 - regex: 'JK(702|[17]00 v2.0|101)(?:[);/ ]|$)' 24503 model: 'JK $1' 24504 24505# Jiake 24506Jiake: 24507 regex: 'JK-?(760)(?:[);/ ]|$)' 24508 device: 'smartphone' 24509 model: 'JK-$1' 24510 24511# iQ&T (iqandt.com) 24512'iQ&T': 24513 regex: '(IFoo (?:U200|H55))(?:[);/ ]|$)' 24514 device: 'smartphone' 24515 model: '$1' 24516 24517# Mantra (mantratec.com) 24518Mantra: 24519 regex: '(MFSTAB(?:_74G)?)(?:[);/ ]|$)' 24520 device: 'peripheral' 24521 model: '$1' 24522 24523# Datalogic (datalogic.com) 24524Datalogic: 24525 regex: '(?:MEMOR 10)(?:[);/ ]|$)' 24526 device: 'smartphone' 24527 model: 'Memor 10' 24528 24529# Naomi Phone 24530Naomi Phone: 24531 regex: 'NAOMIPHONE Ambar(?:[);/ ]|$)' 24532 device: 'smartphone' 24533 model: 'Ambar' 24534 24535# Navitel (navitel.ru) 24536Navitel: 24537 regex: 'NAVITEL[ _]|(?:T737PRO)(?:[);/ ]|$)' 24538 device: 'tablet' 24539 models: 24540 - regex: 'NAVITEL[ _](T70[07]) 3G(?:[);/ ]|$)' 24541 model: '$1 3G' 24542 - regex: 'NAVITEL[ _](T757)LTE(?:[);/ ]|$)' 24543 model: '$1 LTE' 24544 - regex: 'NAVITEL[ _](A73[0157]|A650)(?:[);/ ]|$)' 24545 model: '$1' 24546 - regex: 'T737PRO(?:[);/ ]|$)' 24547 model: 'T737 Pro' 24548 - regex: 'RE900 Full HD(?:[);/ ]|$)' # combo device table/navigator and camera 24549 model: 'RE900 Full HD' 24550 24551# Linnex (www.linnex.com) 24552Linnex: 24553 regex: 'LI(22)(?:[);/ ]|$)' 24554 device: 'smartphone' 24555 model: 'Li $1' 24556 24557# Smartab 24558Smartab: 24559 regex: '(ST1009)(?:[);/ ]|$)' 24560 device: 'tablet' 24561 model: '$1' 24562 24563# SuperTab (supertab-dz.com) 24564SuperTab: 24565 regex: 'SuperTab(A10|K7|S7G)(?:[);/ ]|$)' 24566 device: 'tablet' 24567 model: '$1' 24568 24569# Suzuki (suzukitech.com) 24570Suzuki: 24571 regex: 'SUZUKI[ _]|(?:ECOPAD7|SUMOPad10)(?:[);/ ]|$)' 24572 device: 'tablet' 24573 models: 24574 - regex: 'SUMOPAD(8100|10)(?:[);/ ]|$)' 24575 model: 'SumoPad $1' 24576 - regex: 'ECOPAD7' 24577 model: 'ECOPad 7' 24578 24579# philips 24580Philips: 24581 regex: 'Philips|NETTV/|Xenium S[25]66|(?:PI3210G|TPM1[79]1E|70PUH6774_96|QM16[134]E|TLE(?:821L|722G)|AND1E|S397|W5510|S410J)(?:[);/ ]|$)' 24582 device: 'smartphone' 24583 models: 24584 - regex: '(?:Philips[_ ])?Xenium[ _](S[25]66|V787)(?:[);/ ]|$)' 24585 model: 'Xenium $1' 24586 - regex: '(?:Philips[_ ])?(X818|X588)(?:[);/ ]|$)' 24587 model: 'Xenium $1' 24588 - regex: '(?:Philips[_ ])?(S397|W5510)(?:[);/ ]|$)' 24589 model: '$1' 24590 - regex: 'AND1E(?: TV)?(?:[);/ ]|$)' 24591 model: 'Android TV' 24592 device: 'tv' 24593 - regex: '(PI3210G)' 24594 model: '$1' 24595 device: 'tablet' 24596 - regex: '(TPM1[79]1E)' # Smart Tv 2018/2019 24597 model: '$1' 24598 device: 'tv' 24599 - regex: '(QM16[134]E)' 24600 model: '$1' 24601 device: 'tv' 24602 - regex: '(70PUH6774)_96' 24603 model: '$1/96 4K UHD' 24604 device: 'tv' 24605 - regex: '(TLE821L)(?:[);/ ]|$)' 24606 model: '$1 4G LTE' 24607 device: 'tablet' 24608 - regex: '(TLE722G)(?:[);/ ]|$)' 24609 model: '$1' 24610 device: 'tablet' 24611 - regex: '(?:S410J)(?:[);/ ]|$)' 24612 model: 'M9 Pro' 24613 device: 'tablet' 24614 - regex: 'Philips, BDP([0-9]{4})' 24615 model: 'Blu-ray Player (BDP$1)' 24616 device: 'tv' 24617 - regex: 'Philips, ([a-z0-9-]+)' 24618 model: '$1' 24619 device: 'tv' 24620 - regex: '(NETTV/[0-9\.]{5})' 24621 model: 'NetTV Series' 24622 device: 'tv' 24623 - regex: 'Philips-FISIO ([a-z0-9]+)' 24624 model: 'Fisio $1' 24625 - regex: 'Philips[ _-]?([a-z0-9\-@]+)' 24626 model: '$1' 24627 24628# INCAR 24629INCAR: 24630 regex: '(KZCAR)(?:[);/ ]|$)' 24631 device: 'car browser' 24632 model: '$1' 24633 24634# FaRao Pro (www.faraopro.jp) 24635FaRao Pro: 24636 regex: '(FTRW100)(?:[);/ ]|$)' 24637 device: 'tablet' 24638 model: '$1' 24639 24640# Nabi 24641Nabi: 24642 regex: '(?:DMTAB-(?:IN08A|NV08B|NV2[04]A)|NBTY07SMKG|NBFP07PMKG|SNB02-NV7A|NABI2-NV7A)(?:[);/ ]|$)' 24643 device: 'tablet' 24644 models: 24645 - regex: 'DMTAB-(?:IN08A|NV08B)' 24646 model: 'Dream Tab HD 8.0"' 24647 - regex: 'DMTAB-NV(2[04])A' 24648 model: 'Big Tab HD $1.0"' 24649 - regex: 'NBTY07SMKG' 24650 model: 'Barbie Tab 7.0"' 24651 - regex: 'NBFP07PMKG' 24652 model: 'Fisher Price Learning Tab 7.0"' 24653 - regex: 'SNB02-NV7A' 24654 model: '2S Tab' 24655 - regex: 'NABI2-NV7A' 24656 model: '2 Tab' 24657 24658# StrawBerry 24659StrawBerry: 24660 regex: 'StrawBerry[ _]' 24661 device: 'smartphone' 24662 models: 24663 - regex: 'StrawBerry[ _](SX|QX15)(?:[);/ ]|$)' 24664 model: '$1' 24665 24666# STRONG (https://www.strong.tv/) 24667STRONG: 24668 regex: 'LEAP-S1' 24669 device: 'tv' 24670 models: 24671 - regex: 'LEAP-S1' 24672 model: 'LEAP-S1' 24673 24674# Gresso 24675Gresso: 24676 regex: 'Gresso[ _]|(?:REGAL R2)(?:[);/ ]|$)' 24677 device: 'smartphone' 24678 models: 24679 - regex: 'REGAL R2' 24680 model: 'Regal R2' 24681 - regex: 'Gresso[ _]Regal(?:[);/ ]|$)' 24682 model: 'Regal' 24683 24684 24685# Pendoo (pendoo.tv) 24686Pendoo: 24687 regex: 'Pendoo|A5X MAX(?:[\.-]\w+)?\.01\.d4' 24688 device: 'tv' 24689 models: 24690 - regex: 'Pendoo ?(T95Z|X10) PLUS' 24691 model: '$1 Plus' 24692 - regex: 'Pendoo ?X8PRO+' 24693 model: 'X8 Pro+' 24694 - regex: 'Pendoo[ \.]?(X9[29])' 24695 model: '$1' 24696 - regex: 'pendoo mini' 24697 model: 'Mini' 24698 - regex: 'A5X MAX(?:[\.-]\w+)?\.01\.d4' 24699 model: 'A5X Max' 24700 24701# PiPO (pipo.com) 24702PiPO: 24703 regex: 'Pipo[_ ]|PipoM9Pro' 24704 device: 'tablet' 24705 models: 24706 - regex: 'Pipo[_ ]([TP]9)' 24707 model: '$1' 24708 - regex: 'PipoM9Pro' 24709 model: 'M9 Pro' 24710 - regex: 'PIPO[_ ](X10|X9S)' # combo device tv/tablet/pc 24711 device: 'tv' 24712 model: '$1' 24713 24714# Engel or Engel Axil (www.engelaxil.com) 24715Engel: 24716 regex: '(EN1007Q)plus(?:[);/ ]|$)' 24717 device: 'tv' 24718 model: '$1 Plus' 24719 24720# Genesis 24721Genesis: 24722 regex: '(SK-Mtek GT730[15])(?:[);/ ]|$)' 24723 device: 'tablet' 24724 model: '$1' 24725 24726# InfoKit 24727InfoKit: 24728 regex: '(TVB-906X)(?:[);/ ]|$)' 24729 device: 'tv' 24730 model: '$1' 24731 24732# Blloc (blloc.com) 24733Blloc: 24734 regex: '(Zero18)(?:[);/ ]|$)' 24735 device: 'smartphone' 24736 model: '$1' 24737 24738# Huskee 24739Huskee: 24740 regex: 'VULKANO(?:[);/ ]|$)' 24741 device: 'smartphone' 24742 model: 'Vulkano' 24743 24744# SOLE 24745SOLE: 24746 regex: 'SOLE[_ ]POP[_ ]S([45]0)(?:[);/ ]|$)' 24747 device: 'smartphone' 24748 model: 'Pop S$1' 24749 24750# SOLO 24751SOLO: 24752 regex: 'SOLO[_ ](Aspire(?: M)?)(?:[);/ ]|$)' 24753 device: 'smartphone' 24754 model: '$1' 24755 24756# OINOM 24757OINOM: 24758 regex: 'OINOM[_ ](V9D|V7H|V[679])(?:[);/ ]|$)' 24759 device: 'smartphone' 24760 model: '$1' 24761 24762# Singtech (singtech.asia) 24763Singtech: 24764 regex: 'Singtech|(?:Sapphire[_ ](?:H50S|H7S?|H90)|Infinity_I(?:1|_Mix))(?:[);/ ]|$)' 24765 device: 'smartphone' 24766 models: 24767 - regex: 'Sapphire[_ ](H50S|H7S?|H90)(?:[);/ ]|$)' 24768 model: 'Sapphire $1' 24769 - regex: 'Singtech[ _](Q2|S1)(?:[);/ ]|$)' 24770 model: '$1' 24771 - regex: 'Infinity_I1(?:[);/ ]|$)' 24772 model: 'Infinity I1' 24773 - regex: 'Infinity_I_Mix(?:[);/ ]|$)' 24774 model: 'Infinity I Mix' 24775 24776# Sunny 24777Sunny: 24778 regex: '(?:SS4G9 Mira|SS4G7 Sole|SS4G1 Luna|SS4G8 Nora|SS4G6 Lola|SN7014S?)(?:[);/ ]|$)' 24779 device: 'smartphone' 24780 models: 24781 - regex: '(SS4G9 Mira|SS4G7 Sole|SS4G1 Luna|SS4G8 Nora|SS4G6 Lola)(?:[);/ ]|$)' 24782 model: '$1' 24783 - regex: '(SN7014S?)(?:[);/ ]|$)' 24784 device: 'tablet' 24785 model: '$1' 24786 24787# TEENO sub brand GOWN(HK) 24788TEENO: 24789 regex: 'TEENO' 24790 device: 'smartphone' 24791 models: 24792 - regex: 'TEENO[_ ](S9|A1|S11)(?:[);/ ]|$)' 24793 model: '$1' 24794 24795# v-mobile or Vmobile - sub brand GOWN(HK) 24796v-mobile: 24797 regex: 'Vmobile[ _]' 24798 device: 'smartphone' 24799 models: 24800 - regex: 'Vmobile[ _](J7)(?:[);/ ]|$)' 24801 model: '$1' 24802 - regex: 'Vmobile XS Pro(?:[);/ ]|$)' 24803 model: 'XS Pro' 24804 24805# OASYS (oasys.co) 24806OASYS: 24807 regex: '(TEG9300)(?:[);/ ]|$)' 24808 device: 'peripheral' 24809 model: '$1' 24810 24811# Aspera (asperamobile.com) 24812Aspera: 24813 regex: 'ASPERA|(?:Wren)(?:[);/ ]|$)' 24814 device: 'smartphone' 24815 models: 24816 - regex: 'ASPERA[ _](R5h|RT3|A4[02]|A50)(?:[);/ ]|$)' 24817 model: '$1' 24818 - regex: 'Wren(?:[);/ ]|$)' 24819 model: 'Wren' 24820 24821# Vision Touch 24822Vision Touch: 24823 regex: 'Vision ?Touch' 24824 device: 'smartphone' 24825 models: 24826 - regex: 'VisionTouchLife' 24827 model: 'Life' 24828 - regex: 'Inspire' 24829 model: 'Inspire' 24830 24831NOBUX: 24832 regex: 'SMART_VOLT_NX5(?:[);/ ]|$)' 24833 device: 'smartphone' 24834 model: 'Smart Volt NX5' 24835 24836# Hitech or Hitech Mobile (hitech-mobiles.com) 24837Hitech: 24838 regex: '(Amaze[ _](?:S2_4G|S[56] 4G|S1|S[56](?: Plus)?))(?:[);/ ]|$)' 24839 device: 'smartphone' 24840 model: '$1' 24841 24842# F150 (sub brand Oukitel) 24843F150: 24844 regex: '(?:Bison2021|B2021|R2022)(?:[);/ ]|$)' 24845 device: 'smartphone' 24846 models: 24847 - regex: '(R2022)(?:[);/ ]|$)' 24848 model: '$1' 24849 - regex: '(?:Bison2021|B2021)(?:[);/ ]|$)' 24850 model: 'B2021' 24851 24852# BilimLang (bilimlang.com) 24853BilimLand: 24854 regex: 'BilimBook mini(?:[);/ ]|$)' 24855 device: 'desktop' 24856 model: 'BilimBook Mini' 24857 24858# Greentel (greentelmobile.com) 24859Greentel: 24860 regex: 'X1_Light_Lte(?:[);/ ]|$)' 24861 device: 'smartphone' 24862 models: 24863 - regex: 'X1_Light_Lte' 24864 model: 'X1 Light LTE' 24865 24866# Gretel: 24867Gretel: 24868 regex: 'Gretel|(?:GT6000)(?:[);/ ]|$)' 24869 device: 'smartphone' 24870 models: 24871 - regex: '(GT6000)' 24872 model: '$1' 24873 - regex: 'Gretel; (A[67])' 24874 model: '$1' 24875 24876# Kyowon 24877Kyowon: 24878 regex: '(KA-E410W)(?:[);/ ]|$)' 24879 device: 'tablet' 24880 model: '$1' 24881 24882# LT Mobile or LT Electronics (lt-smartphone.com) 24883LT Mobile: 24884 regex: 'LT[ _-](?:NOTE 10[SM]|C3100|S10[ _]Lite)' 24885 device: 'smartphone' 24886 models: 24887 - regex: 'LT[- ]NOTE (10[SM])' 24888 model: 'Note $1' 24889 - regex: 'LT C3100' 24890 model: 'P9' 24891 - regex: 'LT[ _]S10[ _]Lite' 24892 model: 'S10 Lite' 24893 24894# ONYX BOOX (onyx-boox.ru) 24895ONYX BOOX: 24896 regex: 'KON_TIKI(2)?(?:[);/ ]|$)' 24897 device: 'tablet' 24898 model: 'Kon Tiki $1' 24899 24900# AIRON (airon.ua) 24901AIRON: 24902 regex: 'AIRBOOK PRO 8S(?:[);/ ]|$)' 24903 device: 'tablet' 24904 model: 'AirBook Pro 8S' 24905 24906 24907# GFive or G'Five (www.gfivepakistan.com) 24908GFive: 24909 regex: '(?:PRESIDENT_GOLD_(9|10)|President Gpower 1)(?:[);/ ]|$)' 24910 device: 'smartphone' 24911 models: 24912 - regex: 'PRESIDENT_GOLD_(9|10)' 24913 model: 'President Gold $1' 24914 - regex: 'President Gpower 1' 24915 model: 'President GPower 1' 24916 24917# KINGZONE or KING ZONE 24918KINGZONE: 24919 regex: 'KINGZONE_|K1[_ ]turbo' 24920 device: 'smartphone' 24921 models: 24922 - regex: 'KINGZONE_(N5)(?:[);/ ]|$)' 24923 model: '$1' 24924 - regex: 'K1[_ ]turbo' 24925 model: 'K1 Turbo' 24926 24927# MTech 24928M-Tech: 24929 regex: '(?:EROS 4G|MTECH ACE9)(?:[);/ ]|$)' 24930 device: 'smartphone' 24931 models: 24932 - regex: 'EROS 4G' 24933 model: 'Eros 4G' 24934 - regex: 'ACE9' 24935 model: 'Ace 9' 24936 24937# Fantec Boogy 24938Fantec: 24939 regex: 'FAN-M300H(?:[);/ ]|$)' 24940 device: 'smartphone' 24941 model: 'M300H' 24942 24943# AURIS Mobile (en.aurismobile.com.tr) 24944AURIS: 24945 regex: '(TB-703G)(?:[);/ ]|$)' 24946 device: 'tablet' 24947 model: '$1' 24948 24949# YUHO Mobile 24950YUHO: 24951 regex: 'YUHO_|(?:Netra(?:[_ ](?:Plus|Lite))?)(?:[);/ ]|$)' 24952 device: 'smartphone' 24953 models: 24954 - regex: 'YUHO_(O2|H2|Y[123])_PRO' 24955 model: '$1 Pro' 24956 - regex: 'YUHO_Vast_Plus' 24957 model: 'Vast Plus' 24958 - regex: 'YUHO_Y1_ACE' 24959 model: 'Y1 Ace' 24960 - regex: 'YUHO_Y1_STAR' 24961 model: 'Y1 Star' 24962 - regex: 'YUHO_O1_LITE' 24963 model: 'O1 Lite' 24964 - regex: '(?:YUHO_)?(Vast2?|O[12]|Y2|Netra(?:[_ ](?:Plus|Lite))?)(?:[);/ ]|$)' 24965 model: '$1' 24966 24967# F2 Mobile OR 2F Mobile (f2mexico.com) 24968F2 Mobile: 24969 regex: '(?:Z8PLUS|Z8POCKET|LT5216|F80s_plus|C8Finger|F80 PIABELLA)(?:[);/ ]|$)' 24970 device: 'smartphone' 24971 models: 24972 - regex: 'Z8PLUS' 24973 model: 'Z8 Plus' 24974 - regex: 'Z8POCKET' 24975 model: 'Z8 Pocket' 24976 - regex: 'F80s_plus' 24977 model: 'F80s Plus' 24978 - regex: 'F80 PIABELLA' 24979 model: 'F80 Piabella' 24980 - regex: '(LT5216)' 24981 model: '$1' 24982 - regex: 'C8Finger' 24983 model: 'C8 Finger' 24984 24985# Zaith 24986Zaith: 24987 regex: '(Z3211G)(?:[);/ ]|$)' 24988 device: 'tablet' 24989 model: '$1' 24990 24991# Spectralink (spectralink.com) 24992Spectralink: 24993 regex: '(Versity 9640)(?:[);/ ]|$)' 24994 device: 'smartphone' 24995 model: '$1' 24996 24997# Vega 24998Vega: 24999 regex: 'Vega (Q7128)(?:[);/ ]|$)' 25000 device: 'tablet' 25001 model: '$1' 25002 25003# Bleck (www.bleck.com.mx) 25004Bleck: 25005 regex: '(?:BE_(xl|se|o2|fr|et|dg)|BL-919845)(?:[);/ ]|$)' 25006 device: 'smartphone' 25007 models: 25008 - regex: 'BE_(xl|se|o2|fr|et|dg)(?:[);/ ]|$)' 25009 model: 'BE $1' 25010 - regex: 'BL-919845' 25011 device: 'tablet' 25012 model: 'BE clever 7.0"' 25013 25014# BS Mobile 25015BS Mobile: 25016 regex: '(?:RUNE III?)(?:[);/ ]|$)' 25017 device: 'smartphone' 25018 models: 25019 - regex: 'RUNE (III?)(?:[);/ ]|$)' 25020 model: 'Rune $1' 25021 25022# RoyQueen 25023RoyQueen: 25024 regex: 'RQ (Regal R8)(?:[);/ ]|$)' 25025 device: 'smartphone' 25026 model: '$1' 25027 25028# Revo or RevoPhone or RevoPad (revophone.com) 25029Revo: 25030 regex: 'Revo[_ ](?:Youplus|555)|RevoYou' 25031 device: 'smartphone' 25032 models: 25033 - regex: 'Revo_Youplus' 25034 model: 'You Plus' 25035 - regex: 'Revo[ _]?(You|555)' 25036 model: '$1' 25037 25038# Axioo 25039Axioo: 25040 regex: 'PICOp(?:hone|ad)_' 25041 device: 'smartphone' 25042 models: 25043 - regex: 'PICOphone_(L1|M4N|M4P_M3|M4U_M2_M)' 25044 model: 'PicoPhone $1' 25045 - regex: 'PICOphone_M2' 25046 model: 'PicoPhone M2 M' 25047 - regex: 'PICOpad_(7H_7)_3G' 25048 device: 'tablet' 25049 model: 'PicoPad $1 3G' 25050 25051# Pico (pico-interactive.com) 25052Pico: 25053 regex: 'Pico (G2 4K)(?:[);/ ]|$)' 25054 device: 'wearable' 25055 model: '$1' 25056 25057# STG Telecom (stgtelecom.com) 25058STG Telecom: 25059 regex: 'STG[ _](A[12] Pro|[AS]1|X[1-3]|S[1-3]0|B10)(?:[);/ ]|$)' 25060 device: 'smartphone' 25061 model: '$1' 25062 25063# Rivo 25064Rivo: 25065 regex: 'PHANTOM (?:PZ|RX)|RHYTHM RX' 25066 device: 'smartphone' 25067 models: 25068 - regex: 'PHANTOM PZ ?(2[05]|[13]5|4|18)(?:[);/ ]|$)' 25069 model: 'Phantom PZ$1' 25070 - regex: 'PHANTOM RX ?(298|387)(?:[);/ ]|$)' 25071 model: 'Phantom RX$1' 25072 - regex: 'RHYTHM RX ?([15-9]0|[467]5|[12]80|150|[14]00)(?:[);/ ]|$)' 25073 model: 'Rhythm RX$1' 25074 25075# Four Mobile or 4mobile 25076Four Mobile: 25077 regex: 'Four[ _]?(S600|S300I|S185|K500|S61)(?:[);/ ]|$)' 25078 device: 'smartphone' 25079 models: 25080 - regex: 'Four[ _]?(S600|S300I|K500)' 25081 model: '$1' 25082 - regex: 'Four[ _]?S185' 25083 model: 'S185 Sky 2' 25084 - regex: 'Four[ _]?S61' 25085 model: 'S61 Eco 2' 25086 25087# Seven Mobile or 7mobile (www.7mobileafrica.com) 250887 Mobile: 25089 regex: '(SWEGUE|DRENA)(?:[);/ ]|$)' 25090 device: 'smartphone' 25091 models: 25092 - regex: 'Swegue' 25093 model: 'Swegue' 25094 - regex: 'DRENA' 25095 model: 'Drena' 25096 25097# UZ Mobile or Telecom Device Pro (idevice.uz) 25098UZ Mobile: 25099 regex: 'Uzbekistan(?:[);/ ]|$)' 25100 device: 'smartphone' 25101 model: 'Uzbekistan' 25102 25103# KREZ 25104KREZ: 25105 regex: 'KREZ[_ ]' 25106 device: 'smartphone' 25107 models: 25108 - regex: 'KREZ[_ ](SL502)(?:[);/ ]|$)' 25109 model: '$1' 25110 - regex: 'KREZ[_ ](TM100[12]S8)(?:[);/ ]|$)' 25111 device: 'tablet' 25112 model: '$1 3G' 25113 25114# Kurio or KD Interactive (www.group-kd.com, kdplanet.com) 25115Kurio: 25116 regex: 'Kurio' 25117 device: 'tablet' 25118 models: 25119 - regex: 'Kurio[_ ]?(10S|7S)(?:[);/ ]|$)' 25120 model: '$1' 25121 - regex: 'Kurio[_ ]?Phone(?:[);/ ]|$)' 25122 device: 'smartphone' 25123 model: 'Phone C14500' 25124 25125# Inch 25126Inch: 25127 regex: 'Inch (?:Regulus (?:7.85|II)|Avior 3)(?:[);/ ]|$)' 25128 device: 'tablet' 25129 models: 25130 - regex: '(Regulus 7.85)' 25131 model: '$1"' 25132 - regex: '(Regulus II|Avior 3)' 25133 model: '$1' 25134 25135# UTime 25136UTime: 25137 regex: 'UTIME[ _](U6|G7|U100|[TX]1|FX)(?:[);/ ]|$)' 25138 device: 'smartphone' 25139 model: '$1' 25140 25141# L-Max or LMAX (lmax-mobile.com) 25142L-Max: 25143 regex: '(?:Sapphire 8|Sapphire[76]|Mega plus[23])(?:[);/ ]|$)' 25144 device: 'smartphone' 25145 models: 25146 - regex: 'Mega plus([23])' 25147 model: 'Mega Plus $1' 25148 - regex: 'Sapphire ?([678])' 25149 model: 'Sapphire $1' 25150 25151# Astro (astro.ua) 25152Astro: 25153 regex: 'Astro[- ](S451|S501)(?:[);/ ]|$)' 25154 device: 'smartphone' 25155 model: '$1' 25156 25157# WIWA (www.wiwa.info.pl) 25158WIWA: 25159 regex: 'WIWA DREAM PLAYER(?:[);/ ]|$)' 25160 device: 'tv' 25161 model: 'Dream Player TV' 25162 25163# FMT OR Future Mobile Technology 25164FMT: 25165 regex: '(?:16M4HI105024|FMT-NM7058-02|176HS1050(?:232|531)|175WT1050231|175HS1050231|175FT1050241)(?:[);/ ]|$)' 25166 device: 'smartphone' 25167 models: 25168 - regex: '16M4HI105024' 25169 model: 'Netsurfer Storm' 25170 - regex: 'FMT-NM7058-02' 25171 model: 'Flash' 25172 - regex: '176HS1050531' 25173 model: 'Falcon' 25174 - regex: '176HS1050232' 25175 model: 'B52' 25176 - regex: '175WT1050231' 25177 model: 'Eagle' 25178 - regex: '175HS1050231' 25179 model: 'Tomcat' 25180 - regex: '175FT1050241' 25181 model: 'Viper' 25182 25183# mPhone 25184mPhone: 25185 regex: 'mPhone ?([68]|7 Plus|7s)(?:[);/ ]|$)' 25186 device: 'smartphone' 25187 model: '$1' 25188 25189# Cobalt 25190Cobalt: 25191 regex: 'Cobalt[ _-](?:SM|T)' 25192 device: 'smartphone' 25193 models: 25194 - regex: 'Cobalt[ _-]SM_(55?|6)' 25195 model: 'SM$1' 25196 - regex: 'Cobalt[ _-]T((?:7|10))[ _]3G' 25197 device: 'tablet' 25198 model: 'T$1 3G' 25199 - regex: 'Cobalt[ _-]T((?:7|10))[ _]wifi' 25200 device: 'tablet' 25201 model: 'T$1 WiFi' 25202 25203# New Balance or NB 25204New Balance: 25205 regex: 'NB (RunIQ)(?:[);/ ]|$)' 25206 device: 'wearable' 25207 model: '$1' 25208 25209# AOYODKG 25210AOYODKG: 25211 regex: 'AOYODKG' 25212 device: 'tablet' 25213 models: 25214 - regex: 'AOYODKG[_ ](A38)(?:[);/ ]|$)' 25215 model: '$1' 25216 25217# Xtratech (xtratech.com) 25218Xtratech: 25219 regex: '(BRIO[_ ]X31)(?:[);/ ]|$)' 25220 device: 'smartphone' 25221 model: '$1' 25222 25223# XGIMI (www.xgimi.com) 25224XGIMI: 25225 regex: 'XGIMI TV(?:[);/ ]|$)' 25226 device: 'peripheral' 25227 model: '$1' 25228 25229# Raspberry (raspberrypi.org) 25230Raspberry: 25231 regex: 'Raspberry (Pi [0-9]+)(?:[);/ ]|$)' 25232 device: 'peripheral' 25233 model: '$1' 25234 25235# Tambo 25236Tambo: 25237 regex: '(TA-(?:2[_ ](?:3G|Pro)|5[05][_ ]Power|[1-4]|[1246]0))(?:[);/ ]|$)' 25238 device: 'smartphone' 25239 model: '$1' 25240 25241# Smotreshka 25242Smotreshka: 25243 regex: 'Smotreshka Box (115NA|413NA|213a?)(?:[);/ ]|$)' 25244 device: 'tv' 25245 model: '$1' 25246 25247# Gooweel (gooweel.com) 25248Gooweel: 25249 regex: 'Gooweel| M5 Pro(?:[);/ ]|$)' 25250 device: 'smartphone' 25251 models: 25252 - regex: 'Gooweel; (S7);' 25253 model: '$1' 25254 - regex: 'M5 Pro' 25255 model: 'M5 Pro' 25256 25257# Vargo or Ivargo 25258Vargo: 25259 regex: 'Vargo[; _]|(?:V210101)(?:[);/ ]|$)' 25260 device: 'smartphone' 25261 models: 25262 - regex: '(V210101)(?:[);/ ]|$)' 25263 model: '$1' 25264 25265# Elekta (elektagulf.com) 25266Elekta: 25267 regex: 'ELED-(?:4[238]S[AM]{2}RT|5[05](?:CV_)?SMART_UHD|32SMART)(?:[);/ ]|$)' 25268 device: 'tv' 25269 models: 25270 - regex: 'ELED-(4[238])S[AM]{2}RT(?:[);/ ]|$)' 25271 model: '$1" FHD LED Smart TV' 25272 - regex: 'ELED-55CV_SMART_UHD(?:[);/ ]|$)' 25273 model: '55" UHD Curved LED Smart TV' 25274 - regex: 'ELED-(50)SMART_UHD(?:[);/ ]|$)' 25275 model: '$1" UHD LED Smart TV' 25276 - regex: 'ELED-(32)SMART(?:[);/ ]|$)' 25277 model: '$1" HD LED Smart TV' 25278 25279# YASIN (yasintv.kz) 25280YASIN: 25281 regex: 'YASIN Android TV(?:[);/ ]|$)' 25282 device: 'tv' 25283 model: '' 25284 25285# Blow 25286Blow: 25287 regex: 'LaserTAB10(?:[);/ ]|$)' 25288 device: 'tablet' 25289 model: 'Laser Tab 10' 25290 25291# FNF 25292FNF: 25293 regex: 'ifive(?:[_ ]mini[_ ][43]G?S|X2|Mini3|3| Air)(?:[);/ ]|$)' 25294 device: 'tablet' 25295 models: 25296 - regex: 'ifive[_ ]mini[_ ]([43]G?S)' 25297 model: 'iFive Mini $1' 25298 - regex: 'ifive(X2|3)' 25299 model: 'iFive $1' 25300 - regex: 'ifiveMini3' 25301 model: 'iFive Mini 3' 25302 - regex: 'ifive Air' 25303 model: 'iFive Air' 25304 25305# iMan 25306iMan: 25307 regex: '(i5800C|i6800)(?:[);/ ]|$)' 25308 device: 'smartphone' 25309 model: '$1' 25310 25311# Vava 25312VAVA: 25313 regex: 'VAVA[ _](X3)(?:[);/ ]|$)' 25314 device: 'smartphone' 25315 model: '$1' 25316 25317# ivvi 25318ivvi: 25319 regex: 'ivvi[ _](F1S|F2C|V1M-S|V2|i1-S)(?:[);/ ]|$)' 25320 device: 'smartphone' 25321 model: '$1' 25322 25323# Dragon Touch (dragontouch.com) 25324Dragon Touch: 25325 regex: '(Notepad[_ ](?:K10|102))(?:[);/ ]|$)' 25326 device: 'tablet' 25327 model: '$1' 25328 25329# AOpen 25330AOpen: 25331 regex: '(WT(?:22|19)M-FI)(?:[);/ ]|$)' 25332 device: 'smart display' 25333 model: 'eTILE $1' 25334 25335# AG or AG Mobile 25336AG Mobile: 25337 regex: '(Hashtag|Shine|Chacer)(?:[);/ ]|$)' 25338 device: 'smartphone' 25339 model: '$1' 25340 25341# DIGIFORS (digifors.ru) 25342DIGIFORS: 25343 regex: 'DIGIFORS (400)(?:[);/ ]|$)' 25344 device: 'tv' 25345 model: 'Smart $1' 25346 25347# VIWA 25348VIWA: 25349 regex: '(?:LIGHT MINI|VIWA A5\+|LIGHT PLUS)(?:[);/ ]|$)' 25350 device: 'smartphone' 25351 models: 25352 - regex: 'LIGHT MINI' 25353 model: 'Light Mini' 25354 - regex: 'LIGHT PLUS' 25355 model: 'Light Plus' 25356 - regex: 'VIWA A5\+' 25357 model: 'Light A5 Plus' 25358 25359# M-Horse (www.mhorse.com) 25360M-Horse: 25361 regex: 'M-HORSE|(?:Pure (?:3|2A?)|Pure ?1)(?:[);/ ]|$)' 25362 device: 'smartphone' 25363 models: 25364 - regex: 'Pure ?([13]|2A?)(?:[);/ ]|$)' 25365 model: 'Pure $1' 25366 25367# ProVision (www.provision.co.ir/en) 25368ProVision: 25369 regex: 'ProVision (S1)(?:[);/ ]|$)' 25370 device: 'tv' 25371 model: '$1' 25372 25373# 'Sirin labs (sirinlabs.com) 25374Sirin labs: 25375 regex: '(?:FINNEY U1)(?:[);/ ]|$)' 25376 device: 'smartphone' 25377 model: 'Finney U1' 25378 25379# Perfeo (perfeo.ru) 25380Perfeo: 25381 regex: 'Perfeo' 25382 device: 'tv' 25383 models: 25384 - regex: 'Perfeo_PF_A4551' 25385 model: 'CHRONO' 25386 25387# CGV (www.cgv.fr) 25388CGV: 25389 regex: 'CGV_(Ultimate T8)' 25390 device: 'smartphone' 25391 model: '$1' 25392 25393# Telia (telia.se or telia.com) 25394Telia: 25395 regex: 'Telia box' 25396 device: 'tv' 25397 model: 'Box' 25398 25399# Canal Digital 25400Canal Digital: 25401 regex: 'S70CDS(?:[);/ ]|$)' 25402 device: 'tv' 25403 model: 'OnePlace' 25404 25405# ZIFRO 25406ZIFRO: 25407 regex: 'ZIFRO|(?:ZT-97003G)(?:[);/ ]|$)' 25408 device: 'tablet' 25409 models: 25410 - regex: '(ZT-9700)3G' 25411 model: '$1 3G' 25412 25413# SmartBook 25414SmartBook: 25415 regex: 'SMARTBOOK S' 25416 device: 'tablet' 25417 models: 25418 - regex: 'SMARTBOOK SB ?13' 25419 model: 'SB13' 25420 - regex: 'SMARTBOOK (S9Q9)' 25421 model: '$1' 25422 25423# Kiowa 25424Kiowa: 25425 regex: '(?:[AS]5|X4)_CRISTAL(?:[);/ ]|$)' 25426 device: 'smartphone' 25427 models: 25428 - regex: '(X4|[AS]5)_CRISTAL' 25429 model: '$1 Cristal' 25430 25431# Sprint 25432Sprint: 25433 regex: 'AQT(100|8[02])(?:[);/ ]|$)' 25434 device: 'tablet' 25435 model: 'AQT$1' 25436 25437# Bundy Mobile (bundy-mobile.fr) 25438Bundy: 25439 regex: '(?:BTOUCH7_PLUS|SWEET 5\+ 2019|SWEET ?[56]\+)(?:[);/ ]|$)' 25440 device: 'smartphone' 25441 models: 25442 - regex: 'SWEET 5\+ 2019' 25443 model: 'Sweet 5 Plus (2019)' 25444 - regex: 'SWEET ?([65])\+' 25445 model: 'Sweet $1 Plus' 25446 - regex: 'BTOUCH7_PLUS' 25447 device: 'tablet' 25448 model: 'B-Touch 7 Plus' 25449 25450# Covia (covia.net) 25451Covia: 25452 regex: '(CP-J55a|CP-J55aW|CP-J55aX)(?:[);/ ]|$)' 25453 device: 'smartphone' 25454 model: '$1' 25455 25456# Smart (smartgsmphone.com) 25457Smart: 25458 regex: '(Coral 4)(?:[);/ ]|$)' 25459 device: 'smartphone' 25460 model: '$1' 25461 25462# Stylo 25463Stylo: 25464 regex: 'STYLO|(?:CPE91|S57_A[ZL]URE|Ithemba|S56 MIST|S55 Nova|S40_VISTA|S64_ALPHA|S53_STARK|S40_LIFE|LIFE_2|S49[_ ](?:MONO|POISE|ECO))(?:[);/ ]|$)' 25465 device: 'smartphone' 25466 models: 25467 - regex: 'STYLO[ _](F1)' 25468 model: '$1' 25469 - regex: 'STYLO[ _]S9[_ ]TOPAZ' 25470 model: 'S9 Topaz' 25471 - regex: 'SV61 VECTOR\+' 25472 model: 'SV61 Vector Plus' 25473 - regex: 'SM61 MAGIC\+' 25474 model: 'SM61 Magic Plus' 25475 - regex: 'S57_AZURE' 25476 model: 'S57 Azure' 25477 - regex: 'S57_ALURE' 25478 model: 'S57 Alure' 25479 - regex: 'S56 MIST' 25480 model: 'S56 Mist' 25481 - regex: 'CPE91' 25482 model: 'S54 Zen' 25483 - regex: 'S55 Nova' 25484 model: 'S55 Nova' 25485 - regex: 'S40_VISTA' 25486 model: 'S40 Vista' 25487 - regex: 'Ithemba' 25488 model: 'Ithemba' 25489 - regex: 'S53_STARK' 25490 model: 'S53 Stark' 25491 - regex: 'S40_LIFE' 25492 model: 'S40 Life' 25493 - regex: 'LIFE_2' 25494 model: 'Life 2' 25495 - regex: 'S49[_ ]POISE' 25496 model: 'S49 Poise' 25497 - regex: 'S49[_ ]MONO' 25498 model: 'S49 Mono' 25499 - regex: 'S49[_ ]ECO' 25500 model: 'S49 Eco' 25501 - regex: 'S64_ALPHA' 25502 model: 'S64 Alpha' 25503 25504# galaxy innovations or GI (www.galaxy-innovations.ru) 25505Galaxy Innovations: 25506 regex: 'GI UNI2(?:[);/ ]|$)' 25507 device: 'tv' 25508 model: 'Uni 2' 25509 25510# Benzo 25511Benzo: 25512 regex: '(Class S300 LTE)(?:[);/ ]|$)' 25513 device: 'smartphone' 25514 model: '$1' 25515 25516# Vexia (www.vexia.eu) 25517Vexia: 25518 regex: '(Zippers Tab 10i 3G)' 25519 device: 'tablet' 25520 model: '$1' 25521 25522# HiMax (himaxmobilebd.com) 25523HiMax: 25524 regex: ' HIMAX[_ ]' 25525 device: 'smartphone' 25526 models: 25527 - regex: 'POLYMER( X)?' 25528 model: 'Polymer$1' 25529 - regex: 'HIMAX[_ ]PURE[_ ]3S' 25530 model: 'Pure 3S' 25531 25532# Packard Bell (sub brand Acer www.packardbell.com) 25533Packard Bell: 25534 regex: '(PB1009|M10[45]00|M7500|M7600-D|DAYTONA-G12)(?:[);/ ]|$)' 25535 device: 'tablet' 25536 models: 25537 - regex: 'DAYTONA-G12' 25538 device: 'smartphone' 25539 model: 'Daytona G12' 25540 - regex: '(PB1009|M10[45]00|M7500|M7600-D)(?:[);/ ]|$)' 25541 model: '$1' 25542 25543# Qnet Mobile (qnetmobile.com) 25544Qnet Mobile: 25545 regex: ' Passion[ _]P|Hynex plus|Stark K1|Hynex H[356]|Levin V[12]' 25546 device: 'smartphone' 25547 models: 25548 - regex: 'Passion[ _](P[0-9]+)' 25549 model: 'Passion $1' 25550 - regex: 'Hynex plus( 2)?' 25551 model: 'Hynex Plus$1' 25552 - regex: 'Stark K1' 25553 model: 'Stark K1' 25554 - regex: 'Hynex (H[356])\+' 25555 model: 'Hynex $1 Plus' 25556 - regex: 'Hynex (H[35])' 25557 model: 'Hynex $1' 25558 - regex: 'Levin (V[12])' 25559 model: 'Levin $1' 25560 25561# Bluebird (www.bluebirdcorp.com) 25562Bluebird: 25563 regex: '(VF550)(?:[);/ ]|$)' 25564 device: 'smartphone' 25565 model: '$1' 25566 25567# Mara or MaraPhones (maraphones.com) 25568Mara: 25569 regex: 'Mara(?: Phones)?[ _](Z1?|X1|S)(?:[);/ ]|$)' 25570 device: 'smartphone' 25571 model: '$1' 25572 25573# BMAX (www.bmaxit.com) 25574BMAX: 25575 regex: 'I10_EEA(?:[);/ ]|$)' 25576 device: 'tablet' 25577 model: 'MaxPad I10' 25578 25579# Geotex (geotex.tv) 25580Geotex: 25581 regex: '(GTX-R10i Pro)(?:[);/ ]|$)' 25582 device: 'tv' 25583 model: '$1' 25584 25585# DING DING 25586DING DING: 25587 regex: 'DINGDING[ _-](SK\d)(?:[);/ ]|$)' 25588 device: 'smartphone' 25589 model: '$1' 25590 25591# Trident (www.trident.com.tr) 25592Trident: 25593 regex: '(A23 Max)(?:[);/ ]|$)' 25594 device: 'smartphone' 25595 model: '$1' 25596 25597# OKSI 25598OKSI: 25599 regex: '(GEN-10)(?:[);/ ]|$)' 25600 device: 'tablet' 25601 model: '$1' 25602 25603# Taiga System or TaigaPhone (taigaphone.ru) 25604Taiga System: 25605 regex: '(?:TP_1_3000)(?:[);/ ]|$)' 25606 device: 'smartphone' 25607 model: 'TaigaPhone 1' 25608 25609# Glofiish (glofiish.ua) 25610Glofiish: 25611 regex: '(?:Gpad_U)(?:[);/ ]|$)' 25612 device: 'smartphone' 25613 model: 'G Pad U' 25614 25615# Polar (polar.ru) 25616Polar: 25617 regex: 'Polar[_ ](P24L51T2CSM)(?:[);/ ]|$)' 25618 device: 'tv' 25619 model: '$1' 25620 25621# MyGica (www.mygica.com) 25622MyGica: 25623 regex: 'MyGica[_ ]' 25624 device: 'tv' 25625 models: 25626 - regex: 'HDR (Quad Core|Smart TV) Box' 25627 model: 'HDR $1 Box' 25628 - regex: 'Quad core Enjoy tv box' 25629 model: 'Quad Core Enjoy TV Box' 25630 - regex: 'ATV(19[60]0|495 Pro 16G)' 25631 model: 'ATV$1' 25632 25633# Devices with undectable brand, but detectable model 25634Unknown: 25635 regex: 'WebTV/(\d+\.\d+)|(?:M10 Ultra)(?:[);/ ]|$)' 25636 device: 'smartphone' 25637 models: 25638 - regex: 'WebTV/(\d+\.\d+)' 25639 device: 'tv' 25640 model: 'Web TV' 25641 - regex: 'M10 Ultra(?:[);/ ]|$)' 25642 device: 'phablet' 25643 model: 'M10 Ultra' # clone xiaomi m10 ultra 25644